Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
otvety_MiSPISiT_ekzamen.docx
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
12.46 Mб
Скачать
  1. Модели жизненных циклов

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

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

  • модели на основе инженерного подхода;

  • модели, учитывающие специфику разработки ПО;

  • современные модели.

Модели на основе инженерного подхода.

  • Модель «кодирование устранение ошибок»

  • поставить задачу;

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

  • проверить результат;

  • повторить при необходимости с 1 шага.

  • Каскадная (водопадная) модель

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

Была создана в конце 60 годов.

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

  • Поэтапная модель с промежуточным контролем

  • V – образная модель

Модели, учитывающие специфику разработки ПО.

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

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

  • Спиральная модель.

Спиральная модель была предложена в 1988 г. Это объединение каскадной модели и модели на основании прототипа. Позволила взглянуть по новому на процесс создания и проектирования ИС. (этапы спиральной модели)

  1. план требований и ЖЦ

  2. анализ рисков

  3. прототип

  4. концепция функционирования

  5. анализ рисков

  6. прототип

  7. эмуляция

  8. требования

  9. план разработки

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

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

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

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

  • Привычка - многие ИТ-специалисты получали образование в то время, когда изучалась только каскадная модель, поэтому она используется ими и в наши дни.

  • Иллюзия снижения рисков участников проекта (заказчика и исполнителя). Каскадная модель предполагает разработку законченных продуктов на каждом этапе: технического задания, технического проекта, программного продукта и пользовательской документации. Разработанная документация позволяет не только определить требования к продукту следующего этапа, но и определить обязанности сто- рон, объем работ и сроки, при этом окончательная оценка сроков и стоимости про- екта производится на начальных этапах, после завершения обследования. Очевид- но, что если требования к информационной системе меняются в ходе реализации проекта, а качество документов оказывается невысоким (требования неполны и/или противоречивы), то в действительности использование каскадной модели создает лишь иллюзию определенности и на деле увеличивает риски, уменьшая лишь от- ветственность участников проекта. При формальном подходе менеджер проекта реализует только те требования, которые содержатся в спецификации, опирается на документ, а не на реальные потребности бизнеса. Есть два основных типа контрак- тов на разработку ПО. Первый тип предполагает выполнение определенного объе- ма работ за определенную сумму в определенные сроки (fixed price). Второй тип предполагает повременную оплату работы (time work). Выбор того или иного типа контракта зависит от степени определенности задачи. Каскадная модель с опреде- ленными этапами и их результатами лучше приспособлена для заключения кон- тракта с оплатой по результатам работы, а именно этот тип контрактов позволяет получить полную оценку стоимости проекта до его завершения. Более вероятно за- ключение контракта с повременной оплатой на небольшую систему, с относительно небольшим весом в структуре затрат предприятия. Разработка и внедрение ин- тегрированной информационной системы требует существенных финансовых за- трат, поэтому используются контракты с фиксированной ценой, и, следовательно, каскадная модель разработки и внедрения. Спиральная модель чаще применяется при разработке информационной системы силами собственного отдела ИТ пред- приятия.

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

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

Современные модели

  • Объектно-ориентированная модель.

Данная методология предполагает конструирование программного решения из готовых объектов, для которых определяются правила их взаимодействия, переводящие объекты из одного состояния в другое. Такая модель, предусматривающая полное соответствие процесса разработки положениям объектно-ориентированной методологии (объектно-ориентированный анализ, проектирование, программирование), эффективна в крупных проектах, а также там, где применяются так называемые средства быстрой разработки (RAD, Rapid Application Development), основанные на этих технологиях и содержащие готовые библиотеки классов.

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

  • Итеративная модель.

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

Итеративная модель предлагает использование итераций на всех этапах жизненного цикла

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

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

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

  • Модели быстрой разработки.

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

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

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

Фазы:

  • этап планирования требований

  • пользовательское описание

  • фаза конструирования («до полного завершения»)

  • перевод на новую систему эксплуатации

  • Адаптированные и комбинированные модели.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]