Модели жизненного цикла программных средств. Требования к ПО, страница 2

2)  Вспомогательные процессы, обеспечивающие выполнение основных процессов (документирование, управление конфигурацией, обеспечение качества ПО, верификация, аттестация, оценка, аудит и т.д.)

3)  Организационные процессы (управление проектами, создание инфраструктуры проекта, оценка и улучшение ЖЦ ПО, обучение)

Качество ПО

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

Качество ПО – это совокупность его черт и характеристик, кт влияют на его способность удовлетворять заданные потребности пользователей.

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

Совокупность свойств ПО зависит от условия и характера эксплуатации ПО. Поэтому при описании качества ПО должны быть зафиксированы критерии отбора требуемых свойств ПО. В настоящее время критериями качества ПО принято считать:

1)  Функциональность – это способность ПО выполнять набор функций, удовлетворяющих заданным потребностям пользователей. Набор указанных функций определяется во внешнем описании ПО.

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

3)  Легкость применения – это характеристики ПО кт позволяют минимизировать усилия пользователя по подготовке исходных данных, применению ПО и оценке полученных результатов, а также вызывать положительные эмоции пользователя.

4)  Эффективность – это отношение уровня услуг, предоставляемых ПО пользователю при заданных условиях, к объему используемых ресурсов.

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

6)  Мобильность – это способность ПО быть перенесенным из одной среды окружения в другую.

Функциональность и надежность являются обязательными критериями качества ПО, причем обеспечение надежности проходит по всем этапам и процессам разработки ПО. Остальные критерии используются в зависимости от потребностей пользователей в соответствии с техническим заданием. Для конкретизации качества ПО по каждому из критериев используется стандартный набор простых свойств ПО, однозначно интерпретируемые разработчиком. Такие свойства мы будем называть примитивами качества ПО. Некоторые из примитивов могут использоваться по нескольким критериям, ниже приводится зависимость критериев качества от примитивов качества ПО:

1)  Функциональность

2)  Надежность- Завершенность, точность, автономность, устойчивость

3)  Легкость применения- П-документированность, коммуникабельность, защищенность

4)  Эффективность: 1) Временная 2) По распределению ресурсов 3) По устройствам

5)  Сопровождаемость- с данным критерием связанно много различных примитивов качества, однако их можно разбить на 2 группы: Изучаемость, Модифицируемость