Разработка программного обеспечения

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

Рубрика Программирование, компьютеры и кибернетика
Вид лекция
Язык русский
Дата добавления 24.08.2013
Размер файла 1,6 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

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

· когда затраты и соблюдение графика не являются самым важным вопросом (например при разработке внутренних инструментальных средств);

Модель RAD часто используется при создании информационных систем.

9.Спиральная модель жизненного цикла разработки ПО

Основатели теории управления разработкой программного обеспечения, в том числе Уинстон Ройс (Winston Royce) и Барри Боэм (Barry Boehm), изначально понимали, какая проблема кроется в классическом каскадном процессе. Для преодоления этих проблем в середине 80-х годов была предложена спиральная модель жизненного цикла (мини-водопад или спираль Боэма), обеспечивающая большую степень взаимосвязи с потребителем. Данный термин ввел Барри Боэм, который в 1988 году описал спиральную модель, определив ее как итеративный водопадный процесс, при котором на каждой итерации увеличивается производительность программного обеспечения.

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

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

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

Рис. 5.8. Спиральная модель жизненного цикла

Как показано на рис. 5.8, в каждый квадрант модели входят целевые и вспомогательные действия. Ниже перечислены эти квадранты.

· Определение целей, альтернативных вариантов и ограничений.

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

· Оценка альтернативных вариантов, идентификация и разрешение рисков.

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

· Разработка продукта следующего уровня.

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

· Планирование следующей фазы.

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

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

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

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

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

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

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

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

В случае использования спиральной модели при выполнении проекта, для которого она в достаточной мере подходит, проявляются ее следующие преимущества:

· спиральная модель позволяет пользователям «увидеть» систему на ранних этапах разработки, что обеспечивается посредством использования ускоренного прототипирования в жизненном цикле разработки ПО;

· модель обеспечивает возможность разработки сложного проекта «по частям», выделяя на первых этапах наиболее значимые требования. Это позволяет в случае необходимости, прекратить работу над проектом, и уменьшить непроизводительные расходы;

· в модели предусмотрена возможность гибкого проектирования, поскольку в ней воплощены преимущества каскадной модели, и в тоже время, разрешены итерации по всем фазам этой же модели;

· модель позволяет идентифицировать непреодолимые риски без особых дополнительных затрат;

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

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

· модель обеспечивает повышение эффективности разработки благодаря использованию пригодных для повторного использования свойств;

· при использовании спиральной модели повышается вероятность предсказуемого поведения системы за счет неоднократного уточнения поставленных целей;

· модель позволяет выполнять частую оценку совокупных затрат, и, как следствие, контролировать степень риска.

В то же время спиральная модель не лишена недостатков, которые особенно ярко проявляются при ее использовании в проектах, для которых она не слишком подходит:

· модель имеет усложненную структуру, поэтому может быть затруднено ее применение разработчиками, менеджерами и заказчиками;

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

· сложность поддержания версий продукта (хранение версий, возврат к ранним версиям, комбинация версий);

· сложность оценки точки перехода на следующий цикл;

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

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

· пользователи не уверены в своих потребностях или когда требования к системе слишком сложны и могут меняться в процессе выполнения проекта и необходимо прототипирование для анализа и оценки требований;

· достижение успеха не гарантировано и необходима оценка рисков продолжения проекта;

· проект является сложным, дорогостоящим и обосновать объемы финансирования возможно только в процессе его выполнения;

· речь идет о применении новых технологий, что связано с риском их освоения и достижения ожидаемого результата;

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

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

10.Инкрементная модель жизненного цикла разработки ПО

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

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

Инкрементная разработка представляет собой процесс поэтапной реализации всей системы и поэтапного наращивания (приращения) ее функциональных возможностей. На первом шаге необходим полный заранее сформулированный набор требований, которые делятся по некоторому признаку на части. Далее выбирается первая группа требований и выполняется полный проход по каскадной модели Инкрементная модель для внутренней итерации может использовать не только каскадную, но и другие типы моделей.. После того, как первый вариант системы, выполняющий первую группу требований, сдан заказчику, разработчики переходят к следующему шагу (второму инкременту) по разработке варианта, выполняющего вторую группу требований (см. рис. 5.9). Как правило, со временем инкременты уменьшаются и реализуют каждый раз меньшее количество требований. Каждая последующая версия системы добавляет к предыдущей определенные функциональные возможности до тех пор, пока не будут реализованы все запланированные функции. Уменьшение затрат и сроков разработки обеспечиваются в этом случае за счет применения принципа компоновки из стандартных блоков.

Рис. 5.9. Инкрементная модель жизненного цикла

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

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

Преимущества инкрементной модели:

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

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

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

· заказчик располагает возможностью высказаться по поводу каждой разработанной версии системы;

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

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

· ускоряется начальный график поставки (что позволяет соответствовать возросшим требованиям рынка);

· риск распределяется на несколько меньших по размеру инкрементов (не сосредоточен в одном большом проекте разработки);

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

· возможность начать построение следующей версии проекта на переходном этапе предыдущей версии сглаживает изменения, вызванные сменой персонала;

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

· потребности клиента лучше поддаются управлению, поскольку время разработки каждого инкремента очень незначительно;

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

Недостатки инкрементной модели:

· в модели не предусмотрены итерации в рамках каждого инкремента;

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

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

· заказчик должен осознавать, что общие затраты на выполнение проекта не будут снижены;

· поскольку создание некоторых модулей будет завершено значительно раньше других, возникает необходимость в четко определенных интерфейсах;

· для модели необходимо хорошее планирование и проектирование;

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

Менеджер проекта может быть уверен в целесообразности применения инкрементной модели, если для этого имеются следующие причины:

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

· рыночное окно слишком «узкое» и существует потребность быстро поставить на рынок продукт, имеющий функциональные базовые свойства;

· на выполнение проекта предусмотрен большой период времени разработки, как правило, не меньше года;

· степени важности различных свойств системы распределяется равномерно;

· при разработке программ, связанных с низкой или средней степенью риска;

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

· когда однопроходная разработка системы связана с большой степенью риска;

11.Выбор приемлемой модели жизненного цикла разработки ПО

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

1. Проанализировать следующие отличительные категории проекта, помещенные в таблицах 5.1 - 5.4.

2. Ответить на вопросы, приведенные для каждой категории, выбрав в качестве ответа слова «да» или «нет».

3. Расположить по степени важности вопросы, относящиеся к каждой категории, относительно проекта, для которого выбирается приемлемая модель.

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

Требования. Категория требований (таблица 5.1) состоит из вопросов относительно требований, которые предъявляет пользователь к проекту. В терминологии их иногда называют свойствами системы, которая будет создаваться в ходе данного проекта.

Табл. 5.1. Выбор модели жизненного цикла на основе характеристик требований

Требования

Каскадная

V-образная

Прототипирование

Спиральная

RAD

Инкрементная

Являются ли треб. легко опред. и/или хорошо известными?

Да

Да

Нет

Нет

Да

Нет

Могут ли требования заранее определяться в цикле?

Да

Да

Нет

Нет

Да

Да

Часто ли будут изменяться требования в цикле?

Нет

Нет

Да

Да

Нет

Нет

Нужно ли демонстрировать требования с целью определения?

Нет

Нет

Да

Да

Да

Нет

Требуется ли для дем. возможностей проверка концепции?

Нет

Нет

Да

Да

Да

Нет

Будут ли требования отражать сложность системы?

Нет

Нет

Да

Да

Нет

Да

Обладает ли требование функц. свойствами на раннем этапе?

Нет

Нет

Да

Да

Да

Да

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

Табл. 5.2. Выбор модели жизненного цикла на основе характеристик участников команды разработчиков

Команда разработчиков проекта

Каскадная

V-образная

Протот.

Спир.

RAD

Инкрем.

Являются ли проблемы предметной области проекта новыми для большинства разработчиков?

Нет

Нет

Да

Да

Нет

Нет

Является ли технология предметной области проекта новой для большинства разработчиков?

Да

Да

Нет

Да

Нет

Да

Являются ли инструменты, используемые проектом, новыми для большинства разработчиков?

Да

Да

Нет

Да

Нет

Нет

Изм. ли роли участников проекта во время жизненного цикла?

Нет

Нет

Да

Да

Нет

Да

Могут ли разработчики проекта пройти обучение?

Нет

Да

Нет

Нет

Да

Да

Является ли структура более значимой для раз., чем гибкость?

Да

Да

Нет

Нет

Нет

Да

Будет ли мен. проекта строго отслеживать прогресс команды?

Да

Да

Нет

Да

Нет

Да

Важна ли легкость распределения ресурсов?

Да

Да

Нет

Нет

Да

Да

Приемлет ли команда равноправные обзоры и инспекции?

Да

Да

Да

Да

Нет

Да

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

Табл. 5.3. Выбор модели жизненного цикла на основе характеристик коллектива пользователей

Коллектив пользователей

Каскад.

V-образ.

Прототип.

Спирал.

RAD

Инкремен.

Будет ли присутствие пользователей ограничено в жизненном цикле?

Да

Да

Нет

Да

Нет

Да

Будут ли пользователи знакомы с определением системы?

Нет

Нет

Да

Да

Нет

Да

Буду ли пользователи ознакомлены с проблемами предметной области?

Нет

Нет

Да

Нет

Да

Да

Будут ли пользователи вовлечены во все фазы жизненного цикла?

Нет

Нет

Да

Нет

Да

Нет

Будет ли заказчик отслеживать ход выполнения проекта?

Нет

Нет

Да

Да

Нет

Нет

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

Табл. 5.4. Выбор модели жизненного цикла на основе характеристик типа проектов и рисков

Тип проекта и риски

Каскадная

V-образ.

Протот.

Спирал.

RAD

Инкрем.

Будет ли проект идентифицировать новое направление продукта для организации?

Нет

Нет

Да

Да

Нет

Да

Будет ли проект иметь тип системной интеграции?

Нет

Да

Да

Да

Да

Да

Будет ли проект являться расширением существующей системы?

Нет

Да

Нет

Нет

Да

Да

Будет ли финансирование проекта стабильным на всем прот. жизненного цикла?

Да

Да

Да

Нет

Да

Нет

Ожидается ли длительная эксплуатация продукта в организации?

Да

Да

Нет

Да

Нет

Да

Должна ли быть высокая степень надежности?

Нет

Да

Нет

Да

Нет

Да

Будет ли система изм., возм., с прим. непред. методов, на этапе сопровождения?

Нет

Нет

Да

Да

Нет

Да

Является ли график ограниченным?

Нет

Нет

Да

Да

Да

^ J

Являются ли «прозрачными» интерфейсные модули?

Да

Да

Нет

Нет

Нет

Да

Доступны ли повторное используемые компоненты?

Нет

Нет

Да

Да

Да

Нет

Являются ли достаточными ресурсы (время, деньги, инструменты, персонал)?

Нет

Нет

Да

Да

Нет

Нет

12.Подгонка модели жизненного цикла разработки ПО

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

Согласно модели SEI СММ «определенный процесс разработки ПО в рамах данного проекта является адаптированной версией стандартного процесса разработки ПО для данной организации».

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

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

Стадии процесса выбора жизненного цикла разработки ПО и его последующей подгонки можно определить следующим образом.

1. Ознакомьтесь с различными моделями.

2. Просмотрите и проанализируйте возможные виды работ: разработка, модернизация, сопровождение и т.д.

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

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

5. Сформулируйте набор фаз и действий, образующих каждую фазу.

6. Определите внутренние и внешние производимые продукты.

7. Определите шаблоны и внутреннее содержимое поставляемых продуктов.

8. Определите действия по обзору, инспектированию, верификации и аттестации, а также стадии проекта.

9. Выполните оценку эффективности схемы жизненного цикла и проведите ее модернизацию там, где это необходимо.

13.Полученные уроки

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

Вместо того, чтобы начинать разработку каждой системы «с нуля», менеджер программного проекта и его команда должны отобрать и адаптировать под конкретную ситуацию одну из моделей жизненного цикла. Тем более что в некоторых популярных, обобщенных моделях обеспечиваются готовые начальные схемы. Модель, выбранная для какого-либо проекта, должна обеспечивать потребности организации, соответствовать типу выполняемых работ, а также навыкам и инструментальным средствам, которые имеются у специалистов-практиков.

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

Размещено на Allbest.ru

...

Подобные документы

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

    презентация [159,1 K], добавлен 27.12.2013

  • Понятие технологии разработки программы. Основа проектирования программного обеспечения. Модели жизненного цикла, возникшие исторически в ходе развития теории проектирования программного обеспечения. Спиральная (spiral), каскадная и итерационная модели.

    презентация [1,0 M], добавлен 11.05.2015

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

    доклад [33,5 K], добавлен 06.04.2015

  • Требования к технологии проектирования программного обеспечения (ПО). Состав и описание стадий полного жизненного цикла ПО. Классификация моделей жизненного цикла ПО, их особенности. Методологии разработки ПО, приёмы экстремальный программирование.

    презентация [874,4 K], добавлен 19.09.2016

  • Особенности основных, вспомогательных и организационных процессов жизненного цикла автоматизированных информационных систем. Основные методологии проектирования АИС на основе CASE-технологий. Определение модели жизненного цикла программного продукта.

    курсовая работа [1,8 M], добавлен 20.11.2010

  • Понятие жизненного цикла программного обеспечения. Два вида деятельности, различаемые в технических проектах: проектирование и производство. Основные постулаты манифеста последователей гибких методологий. Базовые принципы экстремального программирования.

    презентация [170,8 K], добавлен 14.08.2013

  • Стадии жизненного цикла ИС и его стандарты. Методологии, поддерживающие спиральную модель. Каскадная и инкрементная модели, их достоинства и недостатки. Основные, вспомогательные и организационные процессы жизненного цикла. Сравнительный анализ моделей.

    курсовая работа [186,4 K], добавлен 21.05.2015

  • Схемы взаимодействия между заказчиком и разработчиком программного обеспечения. Качество программного обеспечения и определение основных критериев его оценка на современном этапе, особенности управления на стадиях жизненного цикла, анализ достаточности.

    презентация [114,7 K], добавлен 14.08.2013

  • Сферы применения методологии RAD. Особенности создания программного продукта, предназначенного для редактирования тестов. Рассмотрение моделей жизненного цикла: каскадная, спиральная. Этапы построения начальной контекстной диаграммы. Анализ DFD-диаграммы.

    курсовая работа [1,9 M], добавлен 19.09.2012

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

    курсовая работа [886,9 K], добавлен 30.05.2015

  • Анализ информационных потоков. Разработка структуры таблиц базы данных. Выбор CASE-средства для проектирования информационной системы и среды программирования. Разработка программных модулей (программного обеспечения). Подготовка справочных баз данных.

    дипломная работа [6,8 M], добавлен 19.11.2013

  • Основные области проектирования информационных систем: базы данных, программы (выполнение к запросам данных), топология сети, конфигурации аппаратных средств. Модели жизненного цикла программного обеспечения. Этапы проектирования информационной системы.

    реферат [36,1 K], добавлен 29.04.2010

  • Методология структурного анализа и проектирования информационных систем. Базовый стандарт процессов жизненного цикла программного обеспечения. Цели и принципы формирования профилей информационных систем. Разработка идеальной модели бизнес-процессов.

    презентация [152,1 K], добавлен 07.12.2013

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

    курсовая работа [262,5 K], добавлен 10.07.2014

  • Анализ этапов и особенностей разработки оптимальной и функциональной ARIS-модели - программного продукта компании IDS Scheer для моделирования бизнес-процессов компании. Изучение основных концепций, методологий и подходов экстремального программирования.

    контрольная работа [119,9 K], добавлен 04.06.2011

  • Алфавит языка программирования C#. Лексемы языка программирования. Область действия переменных. Понятие классов и объектов. Структура программного модуля на С#. Управление процессом повторения вычислений. Продолжение цикла и модификация параметра цикла.

    курсовая работа [557,1 K], добавлен 10.03.2014

  • Основы методологии проектирования информационных систем, понятие их жизненного цикла. Основные модели жизненного цикла. Методология функционального моделирования SADT. Состав функциональной модели. Моделирование данных, характеристика case-средств.

    реферат [327,5 K], добавлен 28.05.2015

  • Цементирование обсадных колонн нефтяных скважин. Состав информационного обеспечения программного комплекса автоматизированного проектирования. Реализация инфологической модели и организация взаимодействия программного обеспечения с базой данных.

    дипломная работа [2,3 M], добавлен 22.07.2013

  • Анализ решений по автоматизации предметной области. Выбор методологии проектирования информационной системы. Обоснование выбора платформы. Взаимодействие приложения с источниками данных. Выбор жизненного цикла разработки программного обеспечения.

    дипломная работа [3,7 M], добавлен 18.12.2010

  • Понятие, сущность и структура жизненного цикла программного обеспечения, описание технологии его проектирования, разработки и сопровождения. Сущность и основные положения международного стандарта ISO/IEC 12207. Перечень основных принципов методологии RAD.

    реферат [39,3 K], добавлен 30.11.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.