
ТСПП - Лекция 1
.pdf
проекта и некоторых инструментов управления измерениями. Результаты процесса могут касаться оценки качества продукта, продуктивности, трудозатрат на процессе и др.
Таким образом, рассмотрение моделей ЖЦ и их особенностей, анализа процесса изменения ПО и подходов к его моделированию, методов контроля, сбора данных о дефектах и моделях оценки процессов ПО позволят разработчикам овладеть рассмотренными задачами данной области знаний
SWEBOK.
1. 9. Методы и средства инженерии ПО
Методы и средства включают среду разработки, средства и методы разработки, используемые на процессах ЖЦ. Средства обеспечивают спецификацию требований, конструирование и сопровождение ПО. Методы обеспечивают проектирование, реализацию и выполнение ПО на процессах, а также достижение качества процессов и продуктов.
Область знаний «Методы и средства инженерии ПО состоит из разделов:
–инструменты (Software Tools),
–методы (Software Methods).
Инструменты ПО подразделяются на инструменты:
–работы с требованиями,
–проектирования ПО (редакторы схем и диаграмм),
–конструирования ПО (редакторы текстов, компиляторы, отладчики),
–тестирования (генераторы тестов, среды исполнения тестов),
–автоматизации процесса инженерии ПО,
–контроля качества,
–управления конфигурацией ПО (управление версиями, учет дефектов и решения этих проблем),
–управления инженерией ПО (планирование проектов, управление рисками).
Методы инженерии ПО включают эвристические (неформальные) методы – структурные, объектно-ориентированные, ориентированные на данные и на прикладную область, а также формальные методы проектирования и прототипирования.
Таким образом, данная область знаний SWEBOK предоставляет разработчикам и пользователям ПО информацию о современных методах и инструментах его проектировании и дает возможность выбрать методы и инструменты, наиболее подходящие для использования в соответствующем типе программного проекта.
21
1. 10. Качество ПО
Качество ПО – набор характеристик продукта или сервиса, которые характеризуют его способность удовлетворить установленным или предполагаемым потребностям заказчика. Понятие качества имеет разные интерпретации в зависимости от конкретной системы и требований к программному продукту. Кроме того, в разных источниках таксономия и модели качества отличаются. Каждая модель имеет различное число уровней и общее число характеристик качества.
Стандарт ISO 9126-01 рассматривает внешние и внутренние
характеристики качества.
Внешние характеристики - отображают требования к функционирующему программному продукту. Для того чтобы количественно определить критерии качества, по которым будет осуществляться проверка и подтверждение соответствия ПО заданным требованиям, определяются соответствующие внешние измеряемые свойства (внешние атрибуты)ПО и метрики, к которым относятся . модели оценки атрибутов и диапазоны изменения значений соответствующих атрибутов. Метрики, применение которых возможно только для работающего на компьютере ПО, используются на стадии тестирования или функционирования, называются внешними метриками.
Внутренние характеристики качества и внутренние атрибуты ПО используются при составлении плана достижения необходимых внешних характеристик качества для конечного программного продукта. Для квантификации внутренних характеристик качества используются метрики проверки соответствия промежуточных продуктов внутренним требованиям к качеству, которые получаются на этапах предыдущих тестированию (определение требований, проектирование, кодирование).
Внешние и внутренние характеристики качества отображают свойства самого ПО (работающего или не работающего), а также взгляд заказчика и разработчика на это ПО. Непосредственного конечного пользователя ПО интересует эксплуатационное качество ПО – совокупный эффект характеристик качества, который измеряется в сроках использования результата, а не свойств самого ПО. Это понятия шире, чем любая отдельная характеристика (например, удобство использования или надежность).
Окончательная оценка качество проводится в соответствии со стандартом ISO 15504-98 [15]. Качество может повышаться за счет постоянного улучшения используемого продукта, в связи с процессами обнаружения, устранения и предотвращения сбоев, дефектов в ПО.
Область знаний «Качество ПО (Software Quality)» состоит из следующих разделов:
–концепция качества ПО (Software Quality Concepts),
–определение и планирование качества (Definition & Planning for Quality),
–деятельности и техники гарантии качества и V&V(Activities and Techniques for Software Quality Assurance, Validation –V & Verification – V),
–измерения в анализе качества ПО (Measurement in Software Quality Analysis).
22
При рассмотрении данной области знаний представлен обширный материал по изучению проблемы качества ПО и путей его достижения в процессе проектной деятельности групп разработчиков.
Концепция качества ПО включает внешние и внутренние характеристики качества, их метрики, а также модели качества, определенные на множестве внешних и внутренних характеристик, которые определены в стандартах качества [16] – это шесть характеристик и для каждого из них 4-5 атрибутов. К характеристикам качества относятся:
–функциональность,
–надежность,
–удобства использования,
–эффективность,
–сопровождаемость,
–переносимость.
Базовая модель качества включает эти характеристики и относится к любому типу программных продуктов. При разработке требований заказчик формулирует те требования к качеству, которые наиболее подходят для заказываемого программного продукта.
Определение и планирование качества ПО основывается на положениях стандартов в этой области, составлении планов графиков работ и процедурах проверки и др. План обеспечения качества включает набор действий для проверки процессов обеспечения качества (верификация, валидация и др.) и формирование документа по управлению качеством.
Управления качеством применяется к процессам, продуктами и ресурсам, а также включает требования к процессам и их результатам. Планирование качества включает:
–определение продукта в терминах заданных характеристик качества;
–планирование процессов для получения требуемого качества;
–выбор методов оценки планируемых характеристик качества и установления соответствия продукта сформулированным требованиям.
Встандарте 12207 определены специальные процессы: обеспечения качества, верификации, аттестации (валидации), совместного анализа, аудита. Области ядра знаний SWEBOK (пп.1.7 и 1.8) предлагают методы разработки программных продуктов в организациях, занимающихся ПО.
Деятельности и техники гарантии качества включают: инспекцию,
верификацию и валидацию ПО.
Инспекция ПО – анализ и проверка различных представлений системы и ПО (спецификаций, архитектурных схем, диаграмм, исходного кода и др.) и выполняется на всех этапах ЖЦ разработки ПО.
Верификация ПО – процесс обеспечения правильной реализации ПО, которое
23

соответствует спецификациям, выполняется на протяжении всего жизненного цикла. Верификация дает ответ на вопрос, правильно ли создана система.
Валидация – процесс проверки соответствия ПО функциональным и нефункциональным требованиям и ожидаемым потребностям заказчика.
Верификация и валидация в целом начинаются выполняться на ранних стадиях ЖЦ и ориентированы на качество. Они планируются и обеспечиваются определенными ресурсами с четким распределением ролей. Проверка основывается на использовании соответствующих техник тестирования для обнаружения тех или иных дефектов и сбора статистики. В результате собранных данных проводится оценка правильности реализации требований и работы ПО в заданных условиях.
Измерение в анализе качества ПО основывается на: сборе данных при выполнении процессов создания продукта на заданных ресурсах; определении метрик оценки процессов, ПО и моделей их измерения; документировании измерений и др. Для оценки фактических характеристик качества продукта проводится тестирование ПО путем исполнения кода на тестовых данных, сбора статистики и проведения анализа выходных результатов и полученных рабочих характеристик ПО.
Тесты разрабатываются для имитации работы системы в режиме тестирования с реальными входными данными для проверки правильности работы ПО и сбора данных о числе отказов, дефектах, ошибках и т.п.
В процессе тестирования ПО обнаруживаются разного рода ошибки, которые могут повлиять на получение правильного результата. Исходя из полученных в ПО ошибок устанавливается несоответствие количества реализованных функций, заданных в спецификациях на систему, а также оцениваются нефункциональные характеристики системы, заданные в требованиях (производительность, надежность и др.) с помощью данных, собранных на этом процессе.
Проводятся также следующие типы оценок: управление планам,
инспекциями, прогонами, аудитами.
Сущность управления состоит в принятии решений о необходимости внесения изменений для устранения ошибок, определении адекватности планов и требований, оценки рисков и др.
Целью инспекций является обнаружение различных аномальных состояний в ПО независимыми специалистами команды экспертов и с привлечением авторов промежуточного или конечного продукта. Эксперты инспектирует выполнение требований, интерфейсы, входные данные и т.п., а затем документируют обнаруженные отклонения в проекте.
Назначением аудита является независимая оценка продуктов и процессов на соответствие регулирующим и регламентирующим документам (планам, стандартам и др.), формулирование отчета о случаях несоответствия и предложений для их корректировки.
Таким образом, данная область знаний SWEBOK представляет методологию
24

проведения мероприятий по достижению высокого качества ПО. Рассматриваются характеристики и атрибуты качества, согласно стандарта ISO 9126-98, и приведены способы их достижения на процессах ЖЦ ПО. Определяются виды и техники анализа ПО, прогонки системы на тестах и методы оценки показателей качества.
ВЫВОДЫ
Мы рассмотрели суть ядра знаний SWEBOK. Оно состоит из 10-ти областей , которые близки процессам ЖЦ по целям, задачам и видам деятельности. В ядре знаний SWEBOK они изложены, как фундаментальные знания и инженерные методы управления разработкой ПО.
Таким образом, программная инженерии сформировалась как инженерная дисциплина, которая базируется на теоретических и прикладных методах и средствах разработки
ПО, изложенных стандартах (ISO/IEC 12207, 15404, ISO 9126 и др.), и ядре знаний SWEBOK.
Стандарты отвечают на вопрос, как надо делать, т.е. какие действия и задачи процессов ЖЦ надо выбрать, чтобы построить конкретное ПО. Ядро знаний SWEBOK отвечает на вопрос, какими методами, средствами и
инструментами надо выполнять регламентированные действия и задачи процессов ЖЦ, чтобы построить ПО.
25