Тема1.2. Стратегии разработки программного обеспечения. Анализ предметной области и проектирование.


План:

1. Модель «Делать, пока не будет сделано»

2. Три базовые стратегии разработки

3. Основными достоинствами каскадной стратегии

4. Области применения каскадной стратегии

5. Основными достоинствами инкрементной стратегии

6. Недостатки инкрементной стратегии

На начальном этапе развития вычислительной техники программное обеспечение разрабатывалось по принципу«кодирование – устранение ошибок». Модель такого процесса разработки ПС иллюстрирует


Рис. 2.1 – Модель «Делать, пока не будет сделано»

Очевидно, что недостатками такой модели являются:

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

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

•сложность управления и планирования проекта;

•большая длительность и стоимость разработки;

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

•высокий уровень рисков проекта.

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

•каскадная;

•инкрементная;

•эволюционная.

Некоторые характеристики каскадной, инкрементной и эволюционной стратегий разработки ПС и предъявляемые к ним требования приведены в стандарте ГОСТ Р ИСО/МЭК ТО 15271-2002 – Информационная технология

Выбор той или иной стратегии определяется характеристиками:

•проекта;

•требований к продукту;

•команды разработчиков;

•команды пользователей.

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

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

Три базовых стратегии могут быть реализованы различными моделями ЖЦ.

Каскадная стратегия разработки программных средств и систем

Каскадная стратегия представляет собой однократный проход этапов разработки.

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

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

1) стабильность требований в течение всего жизненного цикла разработки;

2) простота применения стратегии; необходимость только одного прохода этапов разработки

3) простота планирования, контроля и управления проектом

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

5)доступность для понимания заказчиками.

К недостаткам каскадной стратегии, проявляемым при ее выборе к несоответствующему проекту, следует отнести:

1)сложность четкого формулирования требований в начале жизненного цикла ПС и невозможность их динамического изменения на протяжении ЖЦ ПС;

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

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

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

5)недостаточное участие пользователя в разработке системы или ПС– только в самом начале(при разработке требований) и в конце(во время приемочных испытаний), что приводит к невозможности предварительной оценки пользователем качества ПС или системы.

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

1)при разработке проектов с четкими, неизменяемыми в течение ЖЦ требованиями, понятными реализацией и техническими методиками;

2)при разработке проекта, ориентированного на построение системы или продукта такого же типа, как уже разрабатывались разработчиками ранее;

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

4)при разработке проекта, связанного с переносом уже существующего продукта на новую платформу;

5) при выполнении больших проектов, которых задействовано несколько больших команд разработчиков (например, см. рисунок 2.5).

Инкрементная стратегия разработки программных средств и систем

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

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

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

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

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

2)короткая продолжительность создания инкремента (за счет небольших

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

3) предотвращение реализации громоздких перечней требований;

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

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

5)включение в процесс пользователей, что позволяет оценить самые

важные функциональные возможности продукта на более ранних этапах

разработки и в конечном итоге приводит к повышению качества программного

продукта, снижению затрат и времени на его разработку;

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

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

8) упрощение тестирования инкрементов по сравнению

Промежуточными продуктами, создаваемыми при каскадной стратегии разработки.

К недостаткам инкрементной стратегии, проявляемым при ее выборе к несоответствующему проекту, следует отнести:

1)необходимость полного функционального определения системы или

Программного средства в начале жизненного цикла для обеспечения определения инкрементов, планирования и управления проектом;

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

3)необходимость хорошего планирования и проектирован, грамотного распределения работы;

4)непредусмотренность итераций в рамках каждого инкремента модели;

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

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

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

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

2)при необходимости быстро поставить на рынок продукт, имеющий функциональные базовые свойства;

3)для выполнения проектов с большим периодом разработки (один год и

более);

This site was made on Tilda — a website builder that helps to create a website without any code
Create a website