Динамические техники (Dynamic techniques)
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

В процессе разработки и сопровождения программного обеспечения приходится обращаться к различным видам динамических техник. В основном, это техники тестирования. Однако, в качестве динамических техник могут рассматриваться техники симуляции, проверки моделей и т.п. Просмотр (чтение) кода обычно рассматривается как статическая техника, но опытный инженер может исполнять код непосредственно “в процессе” его чтения (например, используя диалоговые средства пошаговой отладки для ознакомления или оценки чужого кода). Таким образом, данная техника вполне может обсуждаться и как динамическая. Такие расхождения в классификации техник ясно показывают, что в зависимости от роли человека в организации, он может принимать и применять одни и те же техники по-разному.

В зависимости от организации <ведения> проекта, определенные работы по тестированию могут выполняться при разработке программных систем в процессах обеспечения качества и процессах валидации и верификации. В силу того, что план SQM адресуется вопросам тестирования, данная тема включает некоторые комментарии по тестированию.

Тестирование (Testing)

Процессы подтверждения качества, описанные в планах обеспечения качества (SQA) и валидации и верификации (V&V), исследуют и оценивают любой выходной продукт, связанный со спецификацией требований к программному обеспечению, на предмет трассируемости, согласованности, полноты/завершенности, корректности и непосредственно выполнения требований. Такое подтверждение также охватывает любые выходные артефакты процессов разработки и сопровождения, сбора, анализа и количественной оценки результатов. Деятельность по обеспечению качества ПО обеспечивает гарантию того, что соответствующие типы тестов спланированы, разработаны и реализованы, а валидация и верификация – разработку планов тестов, стратегий, сценариев и процедур тестирования.

 

10.3.4 Количественная оценка качества программного обеспечения (Software Quality Measurement)

Модели качества программных продуктов часто включают метрики для определения уровня каждой характеристики качества, присущей продукту.

Если характеристики качества выбраны правильно, такие измерения могут поддержать уровень качества многими способами. Метрики могут помочь в управлении процессом принятия решений. Метрики могут способствовать поиску проблемных аспектов и узких мест в процессах. Метрики являются инструментом оценки качества своей работы самими инженерами – как в целях, определенных SQA, так и с точки зрения более долгосрочного процесса совершенствования достигаемого качества.

С увеличением внутренней сложности, изощренности программного обеспечения, вопросы качества выходят далеко за рамки констатации факта – работает или не работает программное обеспечение. Вопрос ставится – насколько хорошо достигаются количественно оцениваемые цели качества.

Стоимость процесса SQM является одним из проблемных вопросов, который всегда всплывает в процессе принятия решения о том, как будут организованы проектные работы. Часто, используются общие модели стоимости, основанные на определении того, когда именно дефект обнаружен и как много усилий необходимо затратить на его исправление по сравнению с ситуацией, если бы дефект был найден на более ранних этапах жизненного цикла. Проектные данные могут помочь в получении более четкой картины стоимости.

Наконец, сама по себе SQM-отчетность обладает полезной информацией не только о самих процессах, но и о том, как можно улучшить все процессы жизненного цикла. Обсуждение этой темы, в частности, представлено в стандарте IEEE 1012-98 “Software Verification and Validation”.

Анализ Парето получил свое название по имени итальянского экономиста Вильфредо Парето, который в 1897 году сформулировал принцип «неправильного распределения благосостояния в обществе». Он утверждал, что большая часть капитала (80%) находится в руках у незначительного количества людей (20%). Парето разработал логарифмические математические модели, описывающие это неоднородное распределение.
Хотя результаты количественных оценок характеристик качества могут быть полезны сами по себе (например, число неудовлетворенных требований и пропорция таких требований), могут эффективно применяться математические и графические техники, облегчающие интерпретацию значений метрик. Такие техники вполне естественно классифицируются, например, следующим образом:

· Основанные на статистических методах (например, анализ Pareto, нормальное распределение и т.п.).

· Статистические тесты.

· Анализ тенденций.

· Предсказание (например, модели надежности).

Техники, основанные на статистических методах и статистические тесты часто предоставляют “снимок” наиболее проблемных областей исследуемого программного продукта (и, кстати, то же часто верно и в отношении процессов). Результирующие графики и диаграммы визуально помогают лицам, принимающим решения, в определении аспектов, на которых необходимо сфокусировать ресурсы <проекта>. Результаты анализа тенденций могут демонстрировать, что нарушается расписание, например, при тестировании; или что сбои определенных классов становятся все более частыми до тех пор, пока не предпринимаются корректирующие действия в процессе разработки. Техники предсказания помогают в планировании времени тестов и в предсказании сбоев.

SWEBOK предоставляет ссылки на источники, в которых более подробно рассматриваются аспекты анализа дефектов (defect analysis), количественной оценки возникновения дефектов и последующего применения статистических методов для формирования понимания типов наиболее часто встречающихся типов дефектов и отвечая на вопрос соответствующей оценки плотности дефектов <различных типов>. Они могут, также, помочь в понимании тенденций и оценке того, насколько хорошо работают техники обнаружения дефектов и насколько успешно развиваются (как в плане выполнения, так и в контексте совершенствования) процессы разработки и сопровождения.

Оценка покрытия тестами (test coverage) облегчает формирование ожиданий в отношении оставшегося объема тестирования и предсказании возможного количества дефектов, которые будут еще обнаружены <до окончания процесса тестирования>. На основе этих методов количественной оценки могут быть сформированы, так называемые профили дефектов (defect profiles) для конкретных прикладных областей (application domains). В дальнейшем, для будущих программных систем в данной организации, такие профили могут направлять процессы SQM, увеличивая усилия, направленные на наиболее вероятные источники проблем в создаваемых продуктах. Аналогично этому, результаты эталонных сравнений (benchmarks) или типовое для данной прикладной области количество дефектов могут служить в качестве вспомогательных средств для определения момента, когда продукт готов для передачи в эксплуатацию (помните обсуждение концепции “приемлемого качества”?).

 

11. Инструменты и методы

 

Перечень сокращений

ПО – программное обеспечение

ПС – программная система

ПИ – программная инженерия

ПП – программный продукт

ПС – программное средство

Список литературы

Бармин Александр Управление требованиями к IT-проектам [В Интернете] // Хабрахабр. - 2011 г.. - 2015 г.. - http://habrahabr.ru/post/114571/.

Батоврин В.К. Образование в системной инженерии – проблемы подготовки специалистов для создания конкурентоспособных систем [В Интернете] // http://www.e-joe.ru/. - 02 2010 г.. - 08 2015 г.. - http://www.e-joe.ru/i-joe/i-joe_02/files/batovrin.pdf.

ГОСТ Р ИСО/МЭК 12207-2010 – Системная и программная инженерия. Процессы жизненного цикла программных средств. - 2010 г..

Карл Вигерс Джой Битти Разработка требований к программному обеспечению [Книга]. - М. : Издательство "Русская редакция" ; СПб. : БХВ-Петербург, 2014. - 3-е изд., дополненное : стр. 736.

Липаев В. Программная инженерия. Методологические основы [Книга]. - М. : Издательство «Теис», 2006.

Липаев В.В. Проблемы образования в программной инженерии [Журнал] // Открытое образование. - 2010 г.. - 3 (80). - стр. 91-100.

Макконел Стив Совершенный код. Мастер-класс / Пер. с англ. [Книга]. - СПб. : Питер, 2005. - стр. 896.

Орлик Сергей Основы программной инженерии (по SWEBOK) [Книга]. - 2004.

Программная инженерия – Википедиа [В Интернете]. - 2015 г.. - 2015 г.. - https://ru.wikipedia.org/wiki/Программная_инженерия.

Рябикин В. Модель зрелости процессов разработки программного обеспечения - перевод стандарта [Книга]. - 2003.

Соммервилл Иан Инженерия программного обеспечения [Книга]. - М. : Издетельский дом "Вильямс", 2002. - 6-е издание : стр. 624.

Э. Гамма Р. Хелм, Р. Джонсон, Д. Влиссидес Приемы объектно-ориентированного проектирования. Паттерны проектирования [Книга]. - СПб. : Питер, 2010.

ISO/IEC 15939:2007 Systems and software engineering — Measurement process

Гради-Буч «Объектно-ориентированный анализ и проектирование»

Дата: 2019-02-19, просмотров: 189.