Требования к ПС является исходным документом разработки ПС - он отражает потребности пользователя, определяют замысел ПС и др.
Известны три способа разработки требований к ПС:
1. Управляемая пользователем разработка требований к ПС определяются заказчиком, представляющим организацию пользователей.
2. Контролируемая пользователем разработка требований к ПС формулируются разработчиком при участии представителя пользователей. Роль пользователя в этом случае - информирование разработчика о своих потребностях, а также к контролю своих потребностей к ПС.
3. Независимая от пользователя разработка требований – без какого-либо участия пользователя (на полную ответственность разработчика). Это происходит обычно тогда, когда разработчик решает создать ПС широкого применения в расчете на то, разработанное им ПС найдет спрос на рынке ПС.
С точки зрения обеспечения надежности ПС предпочтительным является «контролируемая пользователем разработка требований».
Спецификация:
— инженерный термин, обозначающий набор требований и параметров, которым удовлетворяет некоторая сущность.
— основной конструкторский документ, определяющий состав сборочной единицы, комплекса, комплекта.
Разработка спецификации качества сводится к построению своеобразной модели качества требуемого ПС. В этой модели должен быть перечень всех тех элементарных свойств, которые необходимо обеспечить ПС. Они в совокупности образуют качество ПС.
Для описания качества ПС по каждому из критериев используется стандартизованный набор простых свойств ПС, которые называются примитивами качества ПС.
Итак, примитивы качества ПС:
1. Завершенность (completeness) - свойство, характеризующее степень обладания ПС всеми необходимыми частями для выполнения своих функций.
3. Автономность (self-containedness) - свойство, характеризующее способность ПС выполнять свои функции без помощи или поддержки других компонент программного обеспечения.
4. Устойчивость (robustness) - свойство, характеризующее способность ПС продолжать корректное функционирование, несмотря на задание неправильных (ошибочных) входных данных.
5. Защищенность (defensiveness) - свойство, характеризующее способность ПС противостоять преднамеренным или нечаянным разрушающим действиям пользователя.
6. П-документированность (u. documentation) - свойство, характеризующее наличие, полноту, понятность, доступность, наглядность учебной, инструктивной и справочной документации, необходимой для применения ПС.
7. С-документировапнность (documentation) - наличие документации, отражающей требования к ПС и результаты различных этапов разработки данного ПС.
8. Информативность (accountability) - свойство, характеризующее наличие в составе ПС информации для понимания назначения ПС, существующих ограничений, входных данных и результатов работы отдельных компонент.
9. Коммуникабельность (communicativeness) - свойство, характеризующее степень, в которой ПС облегчает описание входных данных, и способность выдавать полезные сведения в достаточно простой форме.
10. Временнáя эффективность (time efficiency) - мера, характеризующая способность ПС выполнять возложенные на него функции в течение определенного отрезка времени.
11. Эффективность по ресурсам (resource efficiency) - мера, характеризующая способность ПС выполнять возложенные на него функции при определенных ограничениях на используемые ресурсы (т.е. используемую память).
12. Эффективность по устройствам (device efficiency)* - мера, характеризующая экономичность использования устройств машины для решения поставленной задачи.
13. Понятность (understandability) - свойство, характеризующее степень, в которой ПС позволяет изучающему его лицу понять его назначение, входные данные и результаты работы его программ, и тексты этих программ.
14. Структурированность (structuredness) - свойство, характеризующее программы ПС с точки зрения организации взаимосвязанных их частей в единое целое (например, в соответствии с принципами структурного программирования).
15. Читаемость (readability) - свойство, характеризующее легкость восприятия текста программ ПС.
16. Изучаемость - это характеристики ПС, которые позволяют минимизировать усилия по изучению и пониманию программ и документации ПС.
17. Модифицируемость (modifiability) - мера, характеризующая ПС с точки зрения простоты внесения необходимых изменений и доработок на всех этапах и стадиях жизненного цикла ПС.
18. Модульность (modularity) - свойство, характеризующее ПС с точки зрения организации его программ из таких компонент, что изменение одной из них оказывает минимальное воздействие на другие компоненты.
19. Независимость от устройств (device independence) - свойство, характеризующее способность ПС работать на разнообразном аппаратном обеспечении (различных типах, марках, моделях компьютеров).