11 - Процесс разработки программной системы.pps

advertisement
11. Процесс разработки
программной системы
11.1. Последовательный и
итеративный процессы
разработки
• Процесс разработки программной системы
является бизнес процессом.
• Поэтому, как и любой другой бизнес процесс,
разработка программной системы
представляется как последовательность
действий или активностей, которая приводит
к созданию конечного продукта, в данном
случае программной системы.
Этапы разработки программной
системы
• Разработка программной системы включает
следующие этапы:
– определение требований, которым должна
удовлетворять программная система;
– проектирование (моделирование) системы;
– реализация (программирование) системы;
– тестирование системы;
– внедрение (опытная эксплуатация) системы.
Диаграмма активности
процесса разработки
act Chapter 11
Определение
функциональных
требований к системе
Проектирование системы
Функциональные
требования
Реализация системы
Модель системы
Тестирование системы
Программная
система
Внедрение системы
Протестированная
программная
система
Установленная
программная
система
Различия в процессах
разработки
• На практике существуют различные подходы к
исполнению процесса разработки программного
обеспечения, которые отличаются в следующих двух
аспектах:
– каким-то этапам разработки программной системы может
уделяться больше внимания и соответственно времени, чем
другим;
– этапы разработки могут исполняться последовательно один
раз или итеративно повторяться несколько раз.
• Второй аспект исполнения процесса разработки
программной системы делит все такие процессы на
две группы: последовательные (водопадные или
каскадные) и итеративные процессы разработки
программного обеспечения.
11.2. Итеративный процесс
разработки
• Наиболее известным итеративным процессом разработки
программного обеспечения является RUP (Rational Unified
Process) – унифицированный процесс разработки,
предложенный фирмой Rational.
• Основными характеристиками этого процесса разработки
являются:
– акцент на использование вариантов использования при разработке
системы (Use-Case Driven);
– наиболее важные статические и динамические аспекты
программной системы определяются в терминах её архитектуры,
при этом архитектура программной системы опирается на
варианты использования (Architecture-Centric);
– процесс разработки имеет итеративный характер, на каждой
следующей итерации наращивается реализация системы, при этом
итерации планируются на основании вариантов использования
(Iterative and Incremental).
Унифицированный процесс
• Унифицированный процесс включает
четыре фазы разработки программной
системы, при исполнении которых
выполняется итеративное повторение этапов
разработки системы.
• Эти фазы носят следующие названия:
–
–
–
–
«Начало» (Inception);
«Развитие» (Elaboration);
«Конструирование» (Construction);
«Внедрение» (Transition).
Графическое представление
RUP
11.3. Фаза «Начало»
•
•
•
Основным назначением фазы «Начало» является формирование
начального видения проблемы и оценка ресурсов и рисков, связанных
с разработкой программной системы.
Результатом исполнения этой фазы должно быть решение о
возможности или невозможности продолжать разработку проекта.
Для принятия такого решения на фазе «Начало» рассматриваются
следующие вопросы:
–
–
–
–
достигается общее понимания границ и целей проекта;
определяются основные функциональные возможности системы;
определяется подходящая архитектура системы;
определяется стоимость, время исполнения и риски, связанные с
разработкой системы;
– определяются средства и способы разработки системы.
•
При завершении фазы «Начало» заинтересованные стороны
принимают решение о целесообразности продолжения проекта.
Результаты фазы «Начало»
– Проспект программной системы, описывающий требования к
системе, основные её возможности и ограничения.
– Предварительная функциональная модель системы, в
которой 10%-20% вариантов использования проработаны
полностью.
– Предварительный глоссарий проекта.
– Предварительная экономическая оценка проекта, которая
включает оценку затрат на разработку и прибыли, которая
будет получена в результате реализации проекта.
– Предварительную оценку рисков, связанных с разработкой
программной системы.
– План проекта, содержащий фазы и итерации процесса
разработки.
– Бизнес модель прикладной области.
– Один или несколько прототипов программной системы.
11.4. Фаза «Развитие»
• Фаза «Развитие» является наиболее важной фазой в
унифицированном процессе разработки
программного обеспечения.
• На этой фазе достигается более полное видение
проблемы, что обеспечивается решением
следующих вопросов:
– уточняются функциональные и другие требования;
– итеративно реализуется базовая архитектура;
– разрабатываются наиболее критические компоненты
программной системы;
– разрешаются высокие риски, связанные с разработкой
программной системы;
– определяются более реалистичные оценки стоимости,
времени разработки и прибыли.
Результаты фазы «Развитие»
– Функциональная модель системы, в которой около 80%
вариантов использования проработаны полностью.
– Нефункциональные требования к программной системе.
– Глоссарий проекта.
– Описание программной архитектуры.
– Работающий прототип системы.
– Проработанная экономическая оценка проекта.
– Уточненная оценка рисков, связанных с разработкой
программной системы.
– Проработанный план реализации проекта.
– Предварительный вариант руководства пользователя
программной системы.
11.5. Фаза «Конструирование»
• На фазе «Конструирование» завершается
разработка программной системы.
• На этой фазе выполняются следующие
работы:
– реализуются оставшиеся компоненты системы;
– выполняется интеграция всех разработанных
компонентов в конечный продукт;
– разработанная программная система тестируется.
Результаты фазы
«Конструирование»
– Завершенная программная система.
– Руководство пользователя программной
системы.
– Описание текущей версии программной
системы.
11.6. Фаза «Внедрение»
• Целью фазы «Внедрение» является передача программной
системы заказчику или подготовка этой системы к
распространению.
• Для решения этих задач на этой фазе выполняются следующие
работы:
– бета-тестирование системы, т.е. проверка системы на
удовлетворение требованиям заказчиков или потребителей;
– доработка конечной версии системы;
– обучение пользователей и персонала, поддерживающего
эксплуатацию системы;
– маркетинг продукта и его передача распространителям и
продавцам.
• Результатом фазы «Внедрение» является законченная версия
программной системы, готовая к к использованию заказчиком
или распространению.
Download