Лекция 3
Процесс разработки программ СПС в соответствии СТБ ИСО/МЭК 12207-2003
Определяет работы и задачи разработчика. Данный процесс включает работы по анализу требований, проектированию, программированию, сборке, тестированию, вводу в действие и приемке ПП или системы. Он состоит из 13 работ. Одна из первых работ - анализ требований(центральное понятие).
Понятие функции и требования к ПС(ПО) или системе.
Очевидно что невозможно создать ПО, если не понимать реальные потребности заказчика. В общем потребности заказчика неконкретны и неоднозначны. Обычно заказчик описывает свои пожелания в абстрактной форме, например:
- Необходимо чтобы ПС имело дружественный интерфейс.
- Необходимо чтобы разрабатываемое ПС предоставляло текущую информацию о вкладах клиентов банка и т.п.
Таким образом пользователь описывает свойства разрабатываемого ПС, которые ему необходимы. На данном уровне детализации требования к ПС называются пользовательскими требованиями или функциями (feature). В общем функции представляют собой описание желаемого поведения разрабатываемого ПС и служат основой для формирования требований разработчика ПС. В общем случае каждая пользовательская функция порождает одно или несколько требований разработчика, которые представляют собой детализированные описание пользовательских функций. Очевидно что вторая функция (про банк) является функцией и не является требованием разработчика к ПС, так как здесь ничего не говорится о формате выводимых данный, количеству атрибутов, типу валюты, т.п. В общем такую функцию можно представить набором требований разработчика, например информацию о текущих клиентах банка предоставлять в виде печатной формы, представленной в виде следующей таблицы, где все расписано до мелочей.
Документом, в котором представлены требования к разрабатываемому ПС является спецификация требований к программному средству. В ней прописывается что должно выполнять разрабатываемое ПС, но не как.
1-я работа
Разработчик должен определить или выбрать модель ЖЦПС, соответствующую области реализации, величине и сложности проекта. Также он должен выбрать или адаптировать те стандарты, методы, языки программирования для выполнения работ в процессе разработки.
2-я работа - анализ требований к системе.
Разработчик должен выполнить анализ области применения разрабатываемой системы, с точки зрения определения требования к ней. Требования к системе должны охватывать:
- Функции системы.
- Коммерческие и организационные требования.
- Требования пользователя.
- Требования безопасности и защиты.
- Эргономические требования.
- Требования к интерфейсам.
- Эксплуатационные требования.
- Требования к сопровождению.
- Проектные ограничения.
При этом требования к системе должны быть оценены с учетом следующих критериев:
- Учет потребностей заказчика.
- Соответствие потребностям заказчика.
- Тестируемость.
- Выполнимость проектирования системной архитектуры.
- Возможность эксплуатации и сопровождения.
Результатом данной работы является спецификация требований к системе (System requirements specification)
3-я работа - проектирование системной архитектуры.
Должна быть определена общая архитектура системы(архитектура верхнего уровня). В ней должны быть указаны объекты технических и программных средств и ручных операций. Ручные операции - те операции, которые пользователь выполняет вручную, т.к. большинство разрабатываемых систем являются автоматизированными (требуют оператор ввода). Затем должно быть обеспечено распределение всех требований к системе между объектами архитектуры. Должны быть определены конфигурации технических и программных средств, ручных операций на объекты программных и технических средств. Разработанная системная архитектура и требования к объектам архитектуры должны быть оценены с учетом следующих критериев:
- Учет требований к системе.
- Соответствие требований к системе.
- Соответствие используемых стандартов к методам проектирования.
- Возможность программных объектов выполнять установленные для них требования.
- Возможности эксплуатации и сопровождения.
4-я работа - анализ требований к ПС.
Данная работа состоит из следующих задач, применительно к каждому объекту программному архитектуры:
-
Разработчик должен установить и документально оформить следующие требования к ПС:
- Функциональные и не функциональные (технические) требования.
- Требования к внешним интерфейсам программного объекта архитектуры.
- Квалификационные требования.
- Требования безопасности и защиты.
- Эргономические требования, включая требования относящиеся к ручным операциям (человек -машина).
- Требования к определению данных и базам данных.
- Требования по вводу в действие и приемке поставляемого ПП на объектах эксплуатации и сопровождения.
- Требования к документации пользователя.
- Требования к эксплуатации объекта пользователя.
- Требования к обслуживанию.
-
Разработчик должен оценить требования к ПС по следующим критериям:
- Учет требований к системе и проекту системы.
- Согласованность требований к системе.
- Согласованность требований объектов между собой.
- Тестируемость требований.
- Выполнимость программного проекта.
- Возможность эксплуатации и сопровождения.
Результатом 4-й работы является SRS (software requirement specification).
5-я работа - проектирование программной архитектуры.
Разработчик должен трансформировать требования к программному объекту в архитектуру, которая описывает общую структуру объекта и определяет компоненты программного объекта. При этом должно быть обеспечено распределение всех требований к программному объекту между его компонентами и дальнейшее их уточнение с точки зрения облегчения технического проектирования.