9.1 Жизненный цикл кис. Модели жизненного цикла кис: каскадная, спиральная.
Понятие жизненного цикла программного обеспечения (ЖЦ ПО) является одним из базовых в программной инженерии. Жизненный цикл программного обеспечения определяется как период времени, который начинается с момента принятия решения о необходимости создания ПО и заканчивается в момент его полного изъятия из эксплуатации.
Основным нормативным документом, регламентирующим состав процессов ЖЦ ПО, является международный стандарт ISO/IEC 12207: 1995 "Information Technology -Software Life Cycle Processes" (ISO - International Organization for Standardization - Международная организация по стандартизации, IEC – International Electrotechnical Commission — Международная комиссия по электротехнике). Он определяет структуру ЖЦ, содержащую процессы, действия и задачи, которые должны быть выполнены во время создания ПО. В данном стандарте ПО (или программный продукт) определяется как набор компьютерных программ, процедур и, возможно, связанной с ними документации и данных. Процесс определяется как совокупность взаимосвязанных действий, преобразующих некоторые входные данные в выходные. Каждый процесс характеризуется определенными задачами и методами их решения, исходными данными, полученными от других процессов, и результатами. Каждый процесс разделен на набор действий, каждое действие — на набор задач. Каждый процесс, действие или задача инициируется и выполняется другим процессом по мере необходимости, причем не существует заранее определенных последовательностей выполнения (естественно, при сохранении связей по входным данным).
В соответствии со стандартом ISO/IEC 12207 все процессы ЖЦ ПО разделены на три группы:
пять основных процессов (приобретение, поставка, разработка, эксплуатация, сопровождение);
восемь вспомогательных процессов, обеспечивающих выполнение основных процессов (документирование, управление конфигурацией, обеспечение качества, верификация, аттестация, совместная оценка, аудит, разрешение проблем);
четыре организационных процесса (управление, создание инфраструктуры, усовершенствование, обучение).
Под моделью ЖЦ ПО понимается структура, определяющая последовательность выполнения и взаимосвязи процессов, действий и задач на протяжении ЖЦ. Модель ЖЦ зависит от специфики, масштаба и сложности проекта и специфики условий, в которых система создается и функционирует.
Стандарт ISO/IEC 12207 не предлагает конкретную модель ЖЦ и методы разработки ПО. Его положения являются общими для любых моделей ЖЦ, методов и технологий разработки ПО. Стандарт Жизненный цикл описывает структуру процессов ЖЦ ПО, но не конкретизирует в деталях, как реализовать или выполнить действия и задачи, включенные в эти процессы.
Модель ЖЦ любого конкретного ПО ЭИС определяет характер процесса его создания, который представляет собой совокупность упорядоченных во времени, взаимосвязанных и объединенных в стадии работ, выполнение которых необходимо и достаточно для создания ПО, соответствующего заданным требованиям. Под стадией создания ПО понимается часть процесса создания ПО, ограниченная некоторыми временными рамками и заканчивающаяся выпуском конкретного продукта (моделей ПО, программных компонентов, документации), определяемого заданными для данной стадии требованиями. Стадии создания ПО выделяются по соображениям рационального планирования и организации работ, заканчивающихся заданными результатами. В состав жизненного цикла ПО обычно включаются следующие стадии:
1. Формирование требований к ПО.
2. Проектирование.
3. Реализация.
4. Тестирование.
5. Ввод в действие.
6. Эксплуатация и сопровождение.
7. Снятие с эксплуатации.
В однородных КИС 70-х и 80-х гг. прикладное ПО представляло собой единое целое. Для разработки такого типа ПО применялся каскадный подход (другое название — водопад (waterfall)). Принципиальной особенностью каскадного подхода является следующее: переход на следующую стадию осуществляется только после того, как будет полностью завершена работа на текущей стадии, и возвратов на пройденные стадии не предусматривается. Каждая стадия заканчивается получением некоторых результатов, которые служат в качестве исходных данных для следующей стадии. Требования к разрабатываемому ПО, определенные на стадии формирования требований, строго документируются в виде технического задания и фиксируются на все время разработки проекта. Каждая стадия завершается выпуском полного комплекта документации, достаточной для того, чтобы разработка могла быть продолжена другой командой разработчиков. Критерием качества разработки при таком подходе является точность выполнения спецификаций технического задания.
При этом основное внимание разработчиков сосредоточивается на достижении оптимальных значений технических характеристик разрабатываемого ПО: производительности, объема занимаемой памяти и др.
Преимущества применения каскадного способа заключаются в следующем:
• на каждой стадии формируется законченный набор проектной документации, отвечающий критериям полноты и согласованности;
• выполняемые в логичной последовательности стадии работ позволяют планировать сроки завершения всех работ и соответствующие затраты.
В то же время этот подход обладает рядом недостатков, вызванных прежде всего тем, что реальный процесс создания ПО никогда полностью не укладывался в такую жесткую схему. Процесс создания ПО носит, как правило, итерационный характер: результаты очередной стадии часто вызывают изменения в проектных решениях, выработанных на более ранних стадиях. Таким образом, постоянно возникает потребность в возврате к предыдущим стадиям и уточнении или пересмотре ранее принятых решений. В результате реальный процесс создания ПО принимает иной вид.
Для преодоления перечисленных проблем в середине 80-х гг.была предложена спиральная модель ЖЦ.
Ее принципиальной особенностью является следующее: прикладное ПО создается не сразу, как в случае каскадного подхода, а по частям с использованием метода прототипирования. Под прототипом понимается действующий программный компонент, реализующий отдельные функции и внешние интерфейсы разрабатываемого ПО. Создание прототипов осуществляется в несколько итераций, или витков спирали. Каждая итерация соответствует созданию фрагмента или версии ПО, на ней уточняются цели и характеристики проекта, оценивается качество полученных результатов и планируются работы следующей итерации. На каждой итерации производится тщательная оценка риска превышения сроков и стоимости проекта, чтобы определить необходимость выполнения еще одной итерации, степень полноты и точности понимания требований к системе, а так-же целесообразность прекращения проекта. Спиральная модель избавляет пользователей и разработчиков ПО от необходимости полного и точного формулирования требований к системе на начальной стадии, поскольку они уточняются на каждой итерации. Таким образом, углубляются и последовательно конкретизируются детали проекта, и в результате выбирается обоснованный вариант, который доводится до реализации.
Спиральная модель не исключает использования каскадного подхода на завершающих стадиях проекта в тех случаях, когда требования к системе оказываются полностью определенными. Основная проблема спирального цикла — определение момента перехода на следующую стадию. Для ее решения необходимо ввести временные ограничения на каждую из стадий жизненного цикла. Переход осуществляется в соответствии с планом, даже если не вся запланированная работа закончена. План составляется на основе статистических данных, полученных в предыдущих проектах, и личного опыта разработчиков.
- Г.Г. Волков, о.Ю. Глинский
- Тема 9. Проектирование кис. 74
- Тема 1. Предмет и основные понятия корпоративных информационных систем.
- 1.1 Компьютерные информационные технологии в управлении экономическим объектом. Классификация систем управления.
- 1.2 Понятие информационной системы
- 1.3 Корпоративные информационные системы. Принципы организации корпоративных информационных систем.
- 1.4. Корпоративные информационные технологии. Технологии клиент/сервер. Управление распределенными вычислениями.
- 1.5. Структура корпоративной информационной системы. Требования к кис.
- Тема 2. Информационные ресурсы корпоративных информационных систем
- 2.1 Источники информации в информационной системе. Информационные модели объекта правления. Информационные массивы и потоки.
- 2.2 Информационное обеспечение корпоративных информационных систем.
- 2.3 Информационные ресурсы. Роль информационных ресурсов в управлении экономикой. Информационные ресурсы Республики Беларусь.
- Тема 3. Техническое обеспечение систем обработки экономической информации
- 3.1 Технические средства корпоративных информационных систем, их классификация
- 3.2 Технические средства автоматизации производственных процессов.
- 3.3 Системное программное обеспечение. Переносимость, масштабируемость, мобильность, режимы обработки информации и другие характеристики операционных систем. Стандарты в области операционных систем.
- 3.4 Операционная среда.
- Тема 4. Сетевое обеспечение корпоративных информационных систем.
- 4.1 Корпоративные сети. Характеристики корпоративных компьютерных сетей.
- 4.2 Администрирование компьютерных сетей.
- 4.3 Internet/Intranet в корпоративных информационных системах.
- 4.4 Развитие телекоммуникационных и сетевых технологий.
- Тема 5. Корпоративные базы данных
- 5.1 Корпоративные базы данных. Основные требования к базам данных в рамках корпоративных информационных систем.
- 5.2 Масштабируемость и другие характеристики корпоративных баз данных. Хранилища данных.
- 5.3 Субд и структурные решения в корпоративных системах.
- 5.4 Технологии Internet/Intranet и корпоративные решения по доступу к базам данных.
- Тема 6. Прикладное программное обеспечение в корпоративных информационных системах
- 6.1 Обеспечение совместимости программного обеспечения в корпоративных системах.
- 6.2 Открытость, модульность, мобильность и масштабируемость программного обеспечения.
- 6.3 Концепции управления компьютеризированными предприятиями. Cio-менеджмент на современном предприятии.
- 6.4 Mrp-системы. Erp-системы. Crm-системы.
- 6.5 Электронный бизнес, его классификация. Геоинформационные системы в экономике.
- 6.6 Стандартизация и сертификация прикладного программного обеспечения.
- Тема 7. Системы искусственного интеллекта.
- 7.1 Направления использования систем искусственного интеллекта (ит).
- 7.2 Математические модели и аппаратно-программная реализация систем ии.
- 7.3 Понятие и назначение экспертной системы (эс). Классификация эс.
- Экспертные системы имеют дело с предметами реального мира, операции с которыми обычно требуют наличия значительного опыта, накопленного человеком.
- Экспертная система должна за приемлемое время (достаточно малое) найти решение, которое было бы не хуже, чем то, которое может предложить специалист в этой предметной области.
- 7.4 Понятие системы поддержки принятия решений (сппр).
- Тема. 8. Обеспечение безопасности корпоративных информационных систем.
- 8.1 Понятие информационной безопасности.
- 8.2 Угрозы безопасности. Факторы угроз.
- 8.3 Понятие компьютерной преступности. Этапы развития компьютерной преступности.
- 8.4 Программно-техническое обеспечение безопасности информационных систем.
- 8.5 Организационно-экономическое обеспечение безопасности информационных систем.
- 8.6 Правовое обеспечение безопасности информационных систем.
- Глава V состоит из 6 статей: 22-27.
- Тема 9. Проектирование кис.
- 9.1 Жизненный цикл кис. Модели жизненного цикла кис: каскадная, спиральная.
- 9.2 Этапы проектирования кис.
- 9.3 Реинжиниринг бизнес-процессов.
- 9.4 Моделирование бизнес-процессов.
- 9.5 Обзор систем автоматизированного проектирования кис. Case-технологии.
- Вопросы к экзамену
- Литература