Здавалка
Главная | Обратная связь

Эволюция моделей жизненного цикла программного обеспечения



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

Каскадная модель.Первоначально (1970-1985 годы) была предложена и использовалась каскадная схема разработки программного обеспечения (рис. 1.10), которая предполагала, что переход на следующую стадию осуще­ствляется после того, как полностью будут завершены проектные операции предыдущей стадии и получены все исходные данные для следующей ста­дии. Достоинствами такой схемы являются:

• получение в конце каждой стадии законченного набора проектной до­кументации, отвечающего требованиям полноты и согласованности;

• простота планирования процесса разработки.

Именно такую схему и используют обычно при блочно-иерархическом подходе к разработке сложных технических объектов, обеспечивая очень вы­сокие параметры эффективности разработки. Однако данная схема оказалась применимой только к созданию систем, для которых в самом начале разра­ботки удавалось точно и полно сформулировать все требования. Это умень­шало вероятность возникновения в процессе разработки проблем, связанных с принятием неудачного решения на предыдущих стадиях. На практике такие разработки встречается крайне редко

Рис. 1.10.Каскадная схема разработки программного обеспечения

В целом необходимость возвратов на предыдущие стадии обусловлена следующими причинами:

• неточные спецификации, уточнение которых в процессе разработки
может привести к необходимости пересмотра уже принятых решений;

• изменение требований заказчика непосредственно в процессе разра­ботки;

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

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

Отказ от уточнения (изменения) спецификаций приведет к тому, что за­конченный продукт не будет удовлетворять потребности пользователей. При отказе от учета смены оборудования и программной среды пользователь по­лучит морально устаревший продукт. А отказ от пересмотра неудачных про­ектных решений приводит к ухудшению структуры программного продукта и, соответственно, усложнит, растянет по времени и удорожит процесс его создания. Реальный процесс разработки, таким образом, носит итерацион­ный характер.

Модель с промежуточным контролем.Схема, поддерживающая ите­рационный характер процесса разработки, была названа схемой с промежу­точным контролем (рис. 1.11). Контроль, который выполняется по данной схеме после завершения каждого этапа, позволяет при необходимости вер­нуться на любой уровень и внести необходимые изменения.

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

Рис. 1.11. Схема разработки программного обеспечения с промежуточным контролем

Примечание. Народная мудрость в подобных случаях говорит «лучшее - враг хорошего». Осталось только понять, что можно считать «хорошим» и как все-таки добиться лучшего...

Спиральная модель. Для преодоления перечисленных проблем в сере­дине 80-х годов XX в. была предложена спиральная схема (рис. 1.12). В со­ответствии с данной схемой программное обеспечение создается не сразу, а итерационно с использованием метода прототипирования, базирующегося на создании прототипов. Именно появление прототипирования привело к то­му, что процесс модификации программного обеспечения перестал воспри­ниматься, как «необходимое зло», а стал восприниматься как отдельный важ­ный процесс.

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

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

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

• сократить время до появления первых версий программного продукта;

• заинтересовать большое количество пользователей, обеспечивая быстрое продвижение следующих версий продукта на рынке;

Рис. 1.12.Спиральная или итерационная схема разработки программного обеспечения

• ускорить формирование и уточнение спецификаций за счет появления
практики использования продукта;

• уменьшить вероятность морального устаревания системы за время
разработки.

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

-------------------------------------------------------------------------------------------------------

Б-28-29. Изменение жизненного цикла программного обеспечения при использовании CASE-технологий. Понятие CASE-технологий, парадигма методология/метод/нотация/средство, CASE-I, CASE-II.

CASE-технологии представляют собой со­вокупность методологий анализа, проектирования, разработки и сопровож­дения сложных программных систем, основанных как на структурном, так и на объектном подходах, которые поддерживаются комплексом взаимосвязан­ных средств автоматизации. В основе любой CASE-технологии лежит пара­дигма методология/метод/нотация/средство.

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

Нотацией называют систему обозначений, используемых для описания некоторого класса моделей. Нотации бывают графические (предоставление моделей в виде графов, диаграмм, таблиц, схем и т. п.) и текстовые (описа­ния моделей на формальных и естественных языках). В CASE-технологиях нотации используют для описания структуры проектируемой системы, эле­ментов данных, этапов обработки и т. п.

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

• CASE-средства анализа требований, проектирования спецификаций и
структуры, редактирования интерфейсов (первое поколение CASE-I);

• CASE-средства генерации исходных текстов и реализации интегрированного окружения поддержки полного жизненного цикла разработки программного обеспечения (второе поколение CASE-II).

CASE-I в основном включают средства для поддержки графических мо­делей, проектирования спецификаций, экранных редакторов и словарей дан­ных. CASE-II отличается существенно большими возможностями, обеспечи­вая: контроль, анализ и связывание системной информации и информации по управлению процессом проектирования, построение прототипов и моделей системы, тестирование, верификацию и анализ сгенерированных программ.

Автоматизируя трудоемкие операции, современные CASE-средства су­щественно повышают производительность труда программистов и улучша­ют качество создаваемого программного обеспечения. Они:

• обеспечивают автоматизированный контроль совместимости спецификаций проекта;

• уменьшают время создания прототипа системы;

• ускоряют процесс проектирования и разработки;

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

частично генерируют коды программ для различных платформ разработки;

• поддерживают технологии повторного использования компонентов системы;

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

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

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

Использование CASE-средств позволяет существенно снизить трудозат­раты на разработку сложного программного обеспечения (табл. 1.2 [30]) в ос­новном за счет автоматизации процессов документирования и контроля. Од­нако следует иметь в виду, что современные CASE-средства дороги, а их ис­пользование требует более высокой квалификации разработчиков. Следова­тельно, их имеет смысл использовать в сложных проектах, причем, чем сложнее разрабатываемое программное обеспечение, тем больше выигрыш от использования CASE-технологий. На сегодняшний день практически все промышленно-производимое сложное программное обеспечение разрабаты­вается с использованием CASE-средств

-------------------------------------------------------------------------------------------------------







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.