Разработка сложных программных изделий

Качество программного изделия


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

В приведенном определении существенными являются следую­щие три момента:

1. Требования к программному изделию — это основа, на кото­рой оценивается и измеряется качество. Нарушение или потеря каких-либо требований приводит к потере качества изделия.

2. Стандарты определяют совокупность требований и критериев разработки, указывающих, каким образом должно разрабатываться изделие. Нарушение этих требований также приводит к снижению качества.

3. Имеется также множество других (иногда и неявных) требо­ваний, на которые часто не обращают внимания, и в результате, если они упущены, качество может быть снижено.

Качество в общем случае характеризуется широким набором свойств программного изделия, который зависит от прикладной об­ласти и от категории пользователей.

Факторы, влияющие на качество изделия, классифицируются по трем аспектам программного продукта:

• рабочие характеристики;

• приспособленность к внесению изменений;

• приспособленность к изменению окружающей обстановки. К первой группе можно отнести следующие характеристики:

1. Правильность (корректность), характеризующая степень функционального соответствия программного изделия требованиям пользователя.

2. Надежность определяет вероятность того, что программное изделие будет работать без сбоев в течение определенного интерва­ла времени или при выполнении определенного объема работы, т.е. степень уверенности в том, что программа будет выполнять пред­назначенные функции с требуемой точностью.

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




4. Удобство и простота использования

программного изделия от­ражает простоту обучения работе с изделием, простоту подготовки исходных данных и интерпретации выходных сообщений програм­мы. Зачастую удобство и простота определяют, насколько "друже­ственным" является интерфейс пользователя с ЭВМ. Это свойство программного изделия характеризует:

• физические и интеллектуальные усилия, необходимые для обу­чения работе с рассматриваемым программным продуктом;

• время, необходимое для того, чтобы использование системы стало эффективным;

• повышение производительности труда при эксплуатации про­граммного изделия пользователем средней квалификации;

• субъективную оценку отношения пользователя к системе.

5. Целостность определяет степень, с которой может быть про­контролирован несанкционированный доступ к данным и програм­мам.

Перечисленные характеристики могут быть дополнены и дета­лизированы- Например, надежность программного изделия оцени­вается такими дополнительными характеристиками, как восстанав-ливаемость системы после сбоев, готовность к использованию, среднее время между отказами и т.п.

Вторая группа характеристик связана с сопровождением про­граммного изделия. В ней можно выделить следующие основные показатели:

1. Удобство и простота сопровождения в первую очередь оцени­ваются теми усилиями, которые необходимы для обнаружения и ис­правления ошибок в программном изделии. Удобство и простота сопровождения предполагает также модифицируемость,

которая оз­начает простоту внесения изменений в изделие при изменении тре­бований пользователя. Это свойство называют также

гибкостью
программного изделия.

2. Удобство и простота тестирования

отражает усилия, необхо­димые для тестирования программы, с целью гарантировать то, что программа выполняет предписанные функции.

Третья группа характеристик — возможности использования программного изделия в новых окружающих условиях, включает:

1. Переносимость (мобильность) характеризует усилия, необхо­димые для переноса программы с одного технического изделия на другое или перенос ее в другую операционную обстановку.

2. Пригодность к повторному использованию показывает, на­сколько программное изделие или его часть могут быть использо­ваны в других приложениях.

3. Совместимость определяет возможность взаимодействия с другими программными продуктами.

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


Содержание раздела