Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Модель программного процесса




Понятие жизненного цикла ПО

Одним из основных понятий программной инженерии является понятие жизненного цикла программного продукта и программного процесса.

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

Процесс (пш^ргосезяш — течение, ход, продвижение) — последовательная смена состояний чего-либо, стадий развития рассматриваемого явления, а также определённая совокупность последовательных действий, направленных на достижение некоторой цели. Структура жизненного цикла

Основными процессами (этапами или фазами) жизненного цикла являются:

- разработка спецификации (результат - описания требований к программе, которые обязательны для выполнения — описание того, что программа должна делать) < (зресфсайо, от лат. $реаей - род, вид, разновидность и Гасю - делаю) инженерный термин, обозначающий набор требований и параметров, которым удовлетворяет некоторая сущность>;

- разработка проекта программы (результат — описание того, как программа будет работать);

- кодирование (результат - исходный код и файлы конфигурации);

- тестирование программы (результат - контроль соответствия программы требованиям);

- документирование (результат - документация к программе).

Кроме основных, существует много дополнительных и вспомогательных процессов, связанных не с созданием продукта, а с организацией работ (нефункциональные процессы): создание инфраструктуры, управление конфигурацией, управление качеством, обучение, разрешение противоречий,...

Процесс должен быть установлен. Полное установление процесса предполагает:

• Описание процесса - детальное описание действий и операций процесса

• Обучение процессу - проведение занятий с персоналом по освоению процесса

• Введение метрик - установление количественных показателей хода выполнения

• Контроль выполнения — измерение метрических показателей и оценка хода выполнения

• Усовершенствование — изменение процесса при меняющихся условиях применения

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

Модель программного процесса это упрощенное описание

программного процесса, представленное с некоторой точки зрения. Модель задается в виде практических этапов, необходимых для создания ПО. В модели мы говорим, что и как мы будем делать - т.е. какие процессы, с какой степенью конкретизации и в какой последовательности мы будем выполнять.

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

В соответствии с двумя типами процессов — основных и дополнительных - можно говорить о двух типах моделей процесса: моделипроцесса разработки (модели жизненного цикла) и модели организации работ по выполнению разработки.

Модели жизненного цикла

К первым типам моделей (модели жизненного цикла) относятся модели, в которых описывается порядок выполнения действий по созданию продукта. В настоящее время можно выделить следующие основные подходы к организации процесса создания и использования ПС.

Водопадная (каскадная) модель процесс разбивается но последовательное выполнение стадий; каждая стадия начинается после полного завершения предыдущей, продукт создается завершением последней стадии и должен полностью соответствовать изначально установленным требованиям.

Спиральная (циклическая) модель — процесс также разбивается на стадии, но стадии выполняются циклическим повторением. На первом цикле создается прототип продукта, выполняющий часть требований. Дальнейшие циклы связаны с наращиванием прототипа до полного удовлетворения требований.

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

• Формальная модель основана на формальном описании требований с последующим преобразованием (трансляцией) требований в исходный код. Применение формальной модели гарантирует соответствие кода описанным требованиям. На этом подходе базируется компьютерная технология (СА8Е-технология) разработки ПС.

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

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

первом приближении требуемые функции. После экспериментального применения реализованных программ производится их модификация с целью сделать их более полезными для пользователей. Этот процесс повторяется до тех пор, пока ПС не будет достаточно приемлемо для пользователей. Такой подход применялся на ранних этапах развития программирования, когда технологии программирования не придавали большого значения (использовалась интуитивная технология). В настоящее время этот подход применяется для разработки таких ПС, для которых пользователи не могут точно сформулировать требования (например, для разработки систем искусственного интеллекта).

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

Модели организации работ

Ко второму типу моделей - моделей организации работ относятся:

• Модель потока работ (\уогкЯо^ тос!е1) показывает последовательность действий, выполняемых людьми на различных этапах разработки ПО. Для каждого действия указываются входы, выходы (результаты) и связи по входам и выходам.

• Модель потоков данных (ёа1а Нош тос1е1) - представляет процесс в виде последовательного преобразования данных. Каждое преобразование может выполняться одним или несколькими действиями.

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

Стадии жизненного цикла

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

В рамках водопадного подхода различают следующие стадии жизненного цикла ПО (см. рис.): разработку ПО, производство программных изделий (ПИ) и эксплуатацию ПО.

 

 

 

1. Стадия разработки (с1еуе1ортеп1) ПС состоит из этапа его внешнего описания, этапа конструирования ПС, этапа кодирования (программирование в узком смысле) ПС и этапа аттестации ПС. Всем этим этапам сопутствуют процессы документирования и управления (тапа§етеп1) ПС. Этапы конструирования и кодирования часто перекрываются, иногда довольно сильно. Это означает, что кодирование некоторых частей программного средства может быть начато до завершения этапа конструирования.

1.1 Этап внешнего описания ПС включает процессы, приводящие к созданию некоторого документа, который мы будем называть внешним описанием (геци.1гетеп!я а'оситепС) ПС. Этот документ являемся описанием поведения ПС с точки зрения внешнего по отношению к нему наблюдателя с фиксацией требований относительно его качества. Внешнее описание ПС начинается с анализа и определения требований к ПС со стороны пользователей (заказчика), а также включает процессы спецификации этих требований.

1.2 Конструирование (а'ех^п) ПС охватывает процессы: разработку архитектуры ПС (функционального и компонентного состава), разработку структур программ ПС и их детальную спецификацию.

1.3 Кодирование (соат%) ПС включает процессы создания текстов программ на языках программирования, их отладку с тестированием ПС.

1.4 На этапе аттестации (ассер(апсе) ПС производится оценка качества ПС. Если эта оценка оказывается приемлемой для практического использования ПС, то разработка ПС считается законченной. Это обычно оформляется в виде некоторого документа, фиксирующего решение комиссии, проводящей аттестацию ПС. 2. Стадия производства. На этой стадии производится программное изделие. Программное изделие (ПИ) экземпляр или копия разработанного ПС. Изготовление ПИ - это процесс генерации и/или воспроизведения (снятия копии) программ и программных документов ПС с целью их поставки пользователю для применения по назначению. Производство ПИ -- это совокупность работ по обеспечению изготовления требуемого количества ПИ в установленные сроки. Стадия производства ПИ в жизненном цикле ПС является, по существу, вырожденной (не существенной), так как представляет рутинную работу, которая может быть выполнена автоматически и без ошибок. Этим она принципиально отличается от стадии производства различной техники. В связи с этим в литературе эту стадию, как правило, не включают в жизненный цикл ПС.

3. Стадия эксплуатации ПС охватывает процессы хранения, внедрения и соп/юаолсдсния ПС, а также транспортировки и применения ПИ по своему назначению. Она состоит из двух параллельно проходящих фаз: фазы применения ПС и фазы сопровождения \ 1С.

3.1 Применение (орегаИоп) ПС - это использование ПС для решения практических задач на компьютере путем выполнения ее программ.

3.2 Сопровождение (та'т/спапсе) ПС - это процесс сбора информации о качестве ПС в эксплуатации, устранения обнаруженных в нем ошибок, его доработки и модификации, а также извещения пользователей о внесенных в него изменениях.




Поделиться с друзьями:


Дата добавления: 2014-11-29; Просмотров: 992; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.015 сек.