· Стимулировать и поддерживать развитие двигательной активности ребенка.
· Обогащать кинестетический опыт.
· Развивать умение воспринимать и воспроизводить фигуру по плоскостному образцу.
Тема 1.2 Жизненный цикл программного продукта. Модели жизненного цикла разработки ПО
Программы любого вида характеризуются жизненным цикломсостоящим из отдельных этапов:
I.Этап.Разработка алгоритма и программы.
II.Этап. Эксплуатация и сопровождение.
III.Этап. Завершение жизненного цикла.
I.Этап. Разработка алгоритма и программы.
1) Маркетинг и спецификация ПП предназначены для изучения требований к создаваемому программному продукту, а именно:
-определяется состав и назначение функций обработки данных программного продукта;
-установление требований пользователя к характеру взаимодействия с программным продуктом, типы пользовательского интерфейса (система меню, использование манипулятора мыши, типы подсказок, виды экранных документов и т.п.)
На данном этапе необходимо выполнить формализованную постановку задачи.
Маркетинг выполняется в полном объеме: изучаются ПП – конкуренты и aналоги, обобщаются требования пользователей ПП, устанавливается потенци-альная емкость рынка сбыта, дается прогноз цены и объема продаж, оцениваются трудовые и финансовые ресурсы, ориентировочные длительности основных эта-пов жизненного цикла ПП.
2) Проектирование структуры ПП связано с алгоритмизацией процесса обработки данных, детализации функций обработки, структуры ПП, структуры информационной базы, выбор методов и средств создания ПП, т.е. технология программирования.
3) Программирование, тестирование и отладка программ – техническая реализация программных решений (алгоритмические языки, способы программирования, инструментальные среды разработчиков). Инструментальные среды влияют на трудоемкость выполнения работ, их стоимость, качество создаваемых продуктов.
4) Документирование ПП выполняется не самим разработчиком, а лицом, связанным с внедрением и распространением ПП. Документ должен содержать:
- сведения по установке и обеспечению надежной работы;
- поддерживать пользователя при выполнении функций обработки;
- определять порядок компенсирования ПП с другими программами.
II.Этап. Эксплуатация и сопровождение.
5) Выход ПП на рынок программных средств. Этот этап очень короткий для продвижения применим стандартный прием маркетинга: реклама, увеличение числа каналов реализации, создание дилерской и дистрибьютерной сети, ценовая политика – продажа со скидками, сервисное обслуживание и другое.
6,7)Эксплуатация ПП идет параллельно сопровождению. Она может начинаться и в отсутствии сопровождения или в случае завершения сопровождения. После снятия ПП с продажи, определенное время может выполняться его сопровождение.
III.Этап. Завершение жизненного цикла.
8)Снятие ПП с продаж и отказ от сопровождения происходит в случае изменения технической политики фирмы-разработчика, не эффективной работы ПП, наличие неустранимых ошибок.
Область устойчивыxпродаж
V
Начало продаж
Завершение продаж
t
рисунок 3 - Кривая продаж программного продукта
Длительность жизненного цикла для различных программных продуктотв неодинакова. Для большинства измеряется в 2-3 года.
На рисунке 3 изображены этапы жизненного цикла и показаны их временное соотношение.
Модели жизненного цикла разработки программного продукта
Под моделью жизненного цикла разработки ПП понимается структура, определяющая последовательность выполнения и взаимосвязи процессов, действий и задач, выполняемых на протяжении жизненного цикла разработки ПП. Модель жизненного цикла зависит от специфики и сложности выполняемого проекта, а также от условий, в которых создается и будет функционировать ПП.
Стандарт ISO/IEC 12207 не предлагает конкретные модель жизненного цикла и методы разработки ПП. Положения стандарта являются общими для любых моделей жизненного цикла, методов и технологий разработки ПП.
Стандарт описывает структуру процессов жизненного цикла ПП, но не уточняет, как выполнить действия и задачи, включенные в эти процессы.
Модель жизненного цикла любого конкретного ПП определяет характер процесса его создания, который представляет собой совокупность упорядоченных во времени, взаимосвязанных и объединенных в этапы работ, выполнение которых необходимо и достаточно для создания ПП, соответствующего заданным требованиям. Под этапом разработки ПП понимается часть процесса создания ПП, ограниченная некоторыми временными рамками и заканчивающаяся выпуском конкретного продукта (моделей ПП, программных компонентов, документации), определяемого заданными для данной стадии требованиями. Этапы создания ПП выделяются по соображениям рационального планирования и организации работ, заканчивающихся заданными результатами (см. гл.2).
Наибольшее распространение получили следующие модели жизненного цикла разработки ПП:
· каскадная модель, или «водопад» (Waterfallmodel);
· V-образная модель (V-shapedmodel);
· модель прототипирования (Prototypemodel);
· модель быстрой разработки приложений, или RAD-модель (RAD — RapidApplicationDevelopmentmodel);
· многопроходная модель (Incrementalmodel); спиральная модель (Spiralmodel).
Краткие характеристики каждой из перечисленных моделей приведены в таблице 1.
Таблица 1- Модели жизненного цикла разработки программного продукта
Название
Характеристики
Каскадная модель
Прямолинейная и простая в использовании. Необходим постоянный жесткий контроль за ходом работы. Разрабатываемое программное обеспечение не доступно для изменений
V-образная модель
Простая в использовании. Особое значение придается тестированию и сравнению результатов фаз тестирования и проектирования
Модель прототипирования
Создается «быстрая» частичная реализация системы до составления окончательных требований. Обеспечивается обратная связь между пользователями и разработчиками в процессе выполнения проекта. Используемые требования не полные
Модель быстрой разработки приложений
Проектные группы небольшие (3...7 человек) и составлены из высококвалифицированных специалистов. Уменьшенное время цикла разработки (до 3 мес) и улучшенная производительность. Повторное использование кода и автоматизация процесса разработки
Многопроходная модель
Быстро создается работающая система. Уменьшается возможность внесения изменений в процессе разработки. Невозможен переход от текущей реализации к новой версии в течение построения текущей частичной реализации
Спиральная модель
Охватывает каскадную модель. Расчленяет фазы на меньшие части. Позволяет гибко выполнять проектирование. Анализирует риски и управляет ими. Пользователи знакомятся с ПП на более раннем этапе благодаря прототипам
2) Каскадная модель
В однородных информационных системах 1970-х и 1980-х годов прикладные ПП представляли собой единое целое. Для разработки такого типа ПП применялась каскадная модель, или «водопад» (waterfall) показанная на рисунке 8).
Принципиальная особенность каскадного подхода: переход на следующий этап осуществляется только после того, как будет полностью завершена работа на текущем этапе, и возвратов на пройденные этапы не предусматривается. Каждый этап заканчивается получением некоторых результатов, которые служат исходными данными для следующего этапа. Требования к разрабатываемому ПП, определенные на этапе формирования требований, строго документируются в виде технического задания и фиксируются на все время разработки проекта. Каждый этап завершается выпуском полного комплекта документации, достаточной для того, чтобы разработка могла быть продолжена другой командой разработчиков. Критерием качества разработки при таком подходе является точность выполнения спецификаций технического задания. При этом основное внимание разработчиков сосредоточивается на достижении оптимальных значений технических характеристик разрабатываемого ПП — производительности, объема занимаемой памяти и др.
Преимущества каскадного способа:
на каждой стадии формируется законченный набор проектной документации, от-вечающий критериям полноты и согласованности; выполняемые в логичной по-следовательности стадии работ позволяют планировать сроки завершения всех работ и соответствующие затраты.
Каскадный подход хорошо зарекомендовал себя при построении инфор-мационных систем, для которых в самом начале разработки можно достаточно точно и полно сформулировать все требования с целью предоставить разработчикам свободу реализовать их технически как можно лучше. В эту категорию попадают сложные системы с большим числом задач вычислительного характера, системы реального времени и др.В то же время данный подход обладает рядом существенных недостатков, обусловленных прежде всего тем, что реальный процесс разработки ПП никогда полностью не укладывается в такую жесткую схему. Этот процесс носит, как правило, итерационный характер: результаты очередного этапа часто вызывают изменения в проектных решениях, выработанных на более ранних стадиях. Таким образом, постоянно возникает потребность в возврате к предыдущим этапам и уточнении или пересмотре ранее принятых решений. В результате реальный процесс разработки принимает иной вид рисунок 9.
Изображенную на рисунке.9 схему часто относят к отдельной так называемой модели с промежуточным контролем, в которой межстадийные корректировки обеспечивают большую надежность по сравнению с каскадной моделью, хотя и увеличивают весь период разработки.
Основными недостатками каскадного подхода являются существенное запаздывание с получением результатов и, как следствие, достаточно высокий риск создания системы, не удовлетворяющей изменившимся потребностям пользователей.
Практика показывает, что на начальной стадии проекта полностью и точно сформулировать все требования к будущей системе не удается.
Это объясняется следующими причинами:
пользователи не в состоянии сразу изложить все свои требования и не могут предвидеть, как они изменятся в ходе разработки;
за время разработки могут произойти изменения во внешней среде, которые повлияют на требования к системе.
В рамках каскадного подхода требования к ПП фиксируются в виде технического задания на все время создания, а согласование получаемых результатов с пользователями производится только после завершения каждого этапа (при этом возможна корректировка результатов по замечаниям пользователей, если они не затрагивают требования, изложенные в техническом задании).