- •Введение
- •1 Основные понятия программной инженерии как промышленной технологии создания программных продуктов
- •1.1 Определение и особенности программного продукта
- •2.2 Объектно-ориентированная методология построения моделей бизнес-процессов
- •3 Модели разработки программного продукта
- •3.1 Каскадная модель
- •3.2 Модель прототипирования
- •3.3 Модель быстрой разработки приложений
- •4 Жизненный цикл разработки программного продукта
- •4.1 Стандарты на процессы жизненного цикла разработки программного продукта
- •4.2 Разработка и анализ требований
- •4.2.1 Понятие и классификация требований
- •4.2.2 Процессы работы с требованиями
- •4.3 Проектирование программных продуктов
- •4.3.1 Содержание этапа проектирования
- •4.3.2 Типовые архитектуры программных систем
- •4.3.3 Процессы проектирования программных продуктов
- •4.3.4 Моделирование процессов разработки архитектуры программной системы управления и контроля работы скорой помощи
- •4.4 Конструирование программного продукта
- •4.4.1 Процессы и инструментальные средства конструирования
- •Раздел 1. «Выпустить»
- •Раздел 2. «Лучший продукт»
- •Раздел 3. «Выпустить точно в срок»
- •4.5 Тестирование программного продукта
- •5 Жизненный цикл вывода на рынок программного продукта
- •5.1 Ввод в эксплуатацию и сопровождение программного продукта
- •5.2 Продвижение тиражного программного продукта на рынок
- •6 Управление программными проектами
- •6.1 Основные понятия и определения
- •6.2 Этапы жизненного цикла программного проекта
- •6.3 Управление содержанием и сроками реализации программного проекта
- •6.4 Управление качеством программного проекта
- •6.5 Управление рисками программного проекта
- •6.5.1 Риски и рискообразующие факторы программного проекта
- •6.5.2 Качественный и количественный анализ рискообразующих факторов
- •6.5.3 Стратегии управления рисками
- •Заключение
- •Литература
- •Глоссарий
44
4 Жизненный цикл разработки программного продукта
4.1 Стандарты на процессы жизненного цикла разработки программного продукта
· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·
Основными стандартами, регламентирующими последовательность и содержание процессов жизненного цикла разработки программного продукта, являются:
Единая система программной документации (ЕСПД): ГОСТ 19.102–77 ЕСПД «Стадии разработки»;
IEEE-1074–1997 «Процессы и действия жизненного цикла про-
граммного обеспечения» (Developing software life cycle processes);
ГОСТ Р ИСО/МЭК 12207–2010 «Информационная технология. Системная и программная инженерия. Процессы жизненного цикла программных средств».
· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·
Стандарт «Единая система программной документации» (ЕСПД) представляет собой комплект из 23 документов, составляющих систему межгосударственных стандартов стран СНГ (ГОСТ 19), действующих на территории Российской Федерации, на основе межгосударственного соглашения по стандартизации. Несмотря на то что большая часть комплекса ЕСПД была разработана в 1970–1980-е гг., стандарт пользуется большой популярностью как у разработчиков ПП, так и у организаций, планирующих участие в конкурсе (тендере) на разработку ПП.
В стандарте все действия по разработке программных продуктов и программной документации независимо от их назначения и области применения подразделяются на стадии, этапы и работы. В качестве основных этапов в стандарте выделены: разработка технического задания, разработка эскизного проекта, разработка технического проекта, разработка рабочего проекта, приемка-сдача ПП заказчику.
45
· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·
Основным достоинством стандарта является то, что в нем четко и компактно прописаны виды программных документов и их краткое содержание, которые должны быть представлены заказчиками по окончании контракта: техническое задание, исходный текст программы, описание программы, ведомость эксплуатационных документов, руководство системного программиста, руководство программиста, руководство пользователя, руководство по технической поддержке пользователя. Обязательным документом, определенным стандартом, является хорошо задокументированный исходный текст программы. Все остальные документы оговариваются в контракте на разработку (поставку).
·· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·
Встандарте IEEE1 1074–1997 «Процессы и действия жизненного цикла программного обеспечения» (Developing a software project life cycle processes) со-
держание ЖЦ разработки ПП описывается набором из 6 фаз, 17 процессов и 65 действий.
Фаза определяется как группа логически связанных процессов, в ходе осуществления которых выполняется вполне конкретная часть проекта. Процесс представляет собой ряд действий (работ), выполнение которых приводит к конкретному результату. Действие (работа) – деятельность, выполняемая в процессе реализации проекта. При этом каждое действие характеризуется продолжительностью, стоимостью и потребностями в ресурсах и может быть детализировано командой разработчиков на более мелкие составляющие (задачи). Содержание стандарта не отождествляется с конкретной моделью ЖЦ разработки ПП и не предполагает использование определенной методологии разработки. Последовательность фаз, рекомендуемых стандартом: выбор модели ЖЦ разработки ПП, управление проектом, предварительная разработка проекта (концепции проекта), разработка проекта, сопровождение проекта, интеграция проекта.
Основу стандарта ГОСТ Р ИСО/МЭК 12207–2010 «Информационная технология. Системная и программная инженерия. Процессы жизненного цикла программных средств» составляют следующие базовые понятия:
стадия – период в пределах ЖЦ ПП, который относится к описанию или реализации одного из конкретных состояний;
1Читается «ай-трипл-и».
46
процесс – совокупность взаимосвязанных или взаимодействующих видов деятельности, преобразующих исходные данные о ПП либо его отдельных компонентах в выходные результаты;
деятельность – совокупность действий, используемых для получения конкретных выходных результатов;
задача – элементарное действие, предназначенное для достижения одного или более выходных результатов процесса, при выполнении которого можно однозначно назначить исполнителя и определить требуемые ресурсы. Задача формулируется в форме требования, рекомендации или допустимого действия, при этом используются глаголы: «должен» – для выражения условия, требующего проверки на соответствие чему-либо; «следует» – выражение рекомендации среди других возможностей; «может» – чтобы отразить направление допустимых дей-
ствий.
· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·
Модель жизненного цикла ПП – структура, состоящая из про-
цессов, действий и задач, включающих разработку, эксплуатацию и сопровождение программного продукта, охватывающая период существования ПП – от установления требований к ПП до полного прекращения его использования.
· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·
Стандарт содержит полный набор описания процессов ЖЦ ПП для некоторого типового проекта с максимально возможным составом процессов, действий и задач, которые используются: при приобретении системы, содержащей программные средства, или отдельно поставляемого ПП; при оказании программной услуги; при поставке, разработке, эксплуатации и сопровождении ПП. Последовательность действий или задач в каждом процессе не является жесткой и определяется как логическими связями между ними, так и используемой при создании ПП модели разработки.
· · · · · · · · · · · · · · · · · · · · · · · · · |
|
Пример · · · · · · · · · · · · · · · · · · · · · · · · · |
|
|
|
На рисунке 4.1 представлен один из возможных вариантов ЖЦ создания ПП, характерного для каскадной модели разработки.