Змеев О.А. Фаза начала. Часть 3

advertisement
«Введение в Унифицированный
процесс разработки ПО».
Лекция № 8.
Надо с чего-то начинать.
С. Макдак
Фаза Начало (Inception).
Девиз фазы: Необходимо понять, а что мы собираемся
разрабатывать?
Мы тут!
Начало
Проектирование
Реализация
Тестирование
Контрольная точка.
Целей ЖЦ.
Наши цели на стартовую фазу:
 Понять, а что мы, собственно говоря, собираемся
разрабатывать?
 Расставить функции системы по приоритетам.
 Выявить хотя бы одно возможное решение.
 Оценить стоимость, сроки и риски связанные с проектом.
 Решить, какому процессу следовать и какие средства
использовать.
Фаза Начало (Inception).
Девиз фазы: Необходимо понять, а что мы собираемся
разрабатывать?
Цель №2. Разобраться с ключевыми функциями системы.
Время выполнения примерно середина фазы - точнее, тот
момент, когда появляются более или менее отчерченные
контуры модели вариантов использования.
Идея выделить тот набор функциональных требований, который
образует архитектурно-значимое подмножество вариантов
использования:
 Функциональное требование, выраженное в рамках варианта
использования, является критическим для приложения и (или)
использует критические интерфейсы системы.
 Эта функциональность должна быть реализована обязательно.
 Функциональность охватывает область архитектуры, которая
не задействована никаким другим критичным вариантом
использования.
Фаза Начало (Inception).
Девиз фазы: Необходимо понять, а что мы собираемся
разрабатывать?
Цель № 3. Выявить хотя бы одно возможное решение.
Тоньше клиент, толще сервер
Клиент А
Приложение
Объектно-реляционная
служба
Клиент В
Приложение
Клиент С
Браузер WWW
Объектно-реляционная
служба
Объектно-реляционное
ядро
Web-сервер
Сервер бизнес-объектов
Сервер(ы) реляционной или
объектной базы данных
HTML
CGI
HTML
ISAPI
Java
Объектно-реляционный
ORB
Объектно-реляционная
служба
Объектно-реляционное
служба
Объектно-реляционное
ядро
Фаза Начало (Inception).
Девиз фазы: Необходимо понять, а что мы собираемся
разрабатывать?
Поиск архитектуры:
 Какие другие похожие системы мы создавали? Какие
технологии, и какую архитектуру использовали?
 То, что есть сейчас с точки зрения эволюции системы
удовлетворительно, или это решение приходится развивать?
 Какие технологии будут использоваться? Диктует ли заказчик
системы этот выбор? Стоит ли опробовать что-то новое?
 Какие программные компоненты потребуются? Можно ли их
просто купить? Можно ли их будет использовать в следующих
проектах? Какова будет стоимость и свеянные с этим риски?
Когда нужно реализовывать архитектуру?
Фаза Начало (Inception).
Девиз фазы: Необходимо понять, а что мы собираемся
разрабатывать?
Цель № 4. Оценить все, что можно оценить:
Естественно понять что создавать важно, не вызывает сомнений,
что прикинуть как создавать тоже важно, но не менее важно
знать, а за сколько создавать?
 Ресурсы и время.
 Представление о функциональности.
 Ценность функциональности для клиента.
Бизнес-план проекта описывает его экономическую
составляющую, выражая ценность проекта в количественных
единицах (уровень рентабельности, окупаемость инвестиций и
т.д.).
В бизнес-плане можно также зафиксировать главные еще не
снятые риски, и, связанная с ними, степень неопределенности,
которая на текущий момент присутствует в проекте.
В некоторых случаях бюджет устанавливается еще до того
момента, когда проект попадает в подразделение.
Фаза Начало (Inception).
Девиз фазы: Необходимо понять, а что мы собираемся
разрабатывать?
Цель № 5. Какой процесс будет использоваться?:
Очевидный ответ – Унифицированный . На самом деле не все
так просто, очень важно обеспечить, чтобы все члены команды
имели общий взгляд на ее разработку, то есть на то, какому
процессу следовать. Точнее на то, как этот процесс
использовать.
В рамках любого проекта процесс разработки можно, а самое
главное, НУЖНО настраивать:
1. Во-первых, обязательно упростить его там, где это не приведет
к снижению качества. Эта деятельность позволит снизить
накладные расходы.
2. Во-вторых, необходимо убедиться, что процесс учитывает
специфичные стороны вашего проекта. В мелких проектах эту
работу можно выполнить по ходу пьесы, но если проект
крупный, то на осуществление этой деятельности может
потребоваться некоторое время.
Фаза Начало (Inception).
Девиз фазы: Необходимо понять, а что мы собираемся
разрабатывать?
Цель № 5. Какой процесс будет использоваться?:
Технология примерно следующая:
1.
2.
3.
4.
5.
Берем тот процесс и ту инструментальную среду, которые,
исходя из вашего опыта, будут работать в рамках первой
итерации.
Процесс и инструменты развертываются.
В рамках первой итерации вы выясняете, что работает, а что
нет.
На основе полученного опыта процесс и инструментальная
среда обновляется.
Эта процедура повторяется до тех пор, пока все не встанет на
свои места.
Системный
аналитик
Найти актеров и
варианты
использования
Планировать
тестирование
Структурировать
модель ВИ
Разработать
тест
Оценить результаты
тестирования
Инженер по
тестированию
Определение
требований
Спецификатор ВИ
Тестирование
Детализировать
варианты
использования
Интегрировать
систему
Определение области
деятельности системы
Системный
интегратор
Реализация
Разработать
интерфейс
пользователя
Разработчик GUI
Определение возможной
архитектуры
Проектирование
Архитектор
Раставить ВИ по
приоритетам
Анализировать
архитектуру
Провести
тестирование
целостности
Проектировать
архитектуру
Тестер
целостности
Провести
системные
тесты
Реализовать
архитектуру
Системный
тестор
Анализ
Аналитик ВИ
Анализировать
вариант
использования
Анализировать
класс
Разработчик ПО
Анализировать
пакет
Проектировать
вариант
использования
Проектировать
класс
Реализовать
класс
Проектировать
подсистему
Реализовать
подсистему
Реализовать
тест
Провести
тестирование
модулей
Фаза Начало (Inception).
Девиз фазы: Необходимо понять, а что мы собираемся
разрабатывать?
Критерии для контрольной точки фазы Начала:
1.
Определение назначения и области применения системы.
Первое, что стоит сделать в начале первой фазы, это
попробовать написать концепцию.
 Ясно ли, что происходит внутри системы?
 Все ли актеры определены?
 Удалось ли установить общую природу интерфейсов
(пользовательских интерфейсов для актеров людей и
коммуникационных протоколов для актеров систем)?
 Можно ли вы делить некоторую часть области действия
системы в отдельную полнофункциональную систему?
Фаза Начало (Inception).
Девиз фазы: Необходимо понять, а что мы собираемся
разрабатывать?
Критерии для контрольной точки фазы Начала:
2.
Разрешение неоднозначности в требованиях, необходимых
для этой фазы.
 Было ли выделено и детализировано ограниченное число
требований (функциональных и нефункциональных),
связанных с вариантами использования, необходимое для
достижения целей этой фазы?
 Были ли выделены и детализированы дополнительные
требования (требования, которые не удалось привязать к
вариантам использования)?
Фаза Начало (Inception).
Девиз фазы: Необходимо понять, а что мы собираемся
разрабатывать?
Критерии для контрольной точки фазы Начала:
3.
Создание потенциальной архитектуры.
 Соответствует ли она требованиям пользователей?
 Удобно ли ее использовать? (Этот критерий необходимо
рассматривать с точки зрения дальнейшего развития этой
архитектуры. Так как чаще всего на первой фазе прототип
обычно не создается, то при описании потенциальной
архитектуры оцениваются предположения того, что она
обещает).
Чтобы ответить на вопросы, представленные в критериях необходимо
рассмотреть ряд спорных моментов. Может ли потенциальная
архитектура соответствующим образом использовать технологии (базы
данных, сети и т.д.), которые предполагается с ней использовать?
Будет ли она эффективной? И что считать для этого конкретного
проекта эффективностью? Как она использует ресурсы? Будет ли она
надежной? будет ли она устойчивой и гибкой? Можно ли ее дополнить,
если появятся новые требования?
Фаза Начало (Inception).
Девиз фазы: Необходимо понять, а что мы собираемся
разрабатывать?
Критерии для контрольной точки фазы Начала:
4.
Снижение наиболее опасных рисков.
 Обо всех ли наиболее опасных рисках мы имеем
представление?
 Снижены ли найденные риски или имеется ли план
деятельности на случай их возникновения?
5.
Обсуждение ценности исходного бизнес-плана.
Download