«Введение в Унифицированный процесс разработки ПО». Лекция № 7. Надо с чего-то начинать. С. Макдак Фаза Начало (Inception). Девиз фазы: Необходимо понять, а что мы собираемся разрабатывать? Мы тут! Начало Проектирование Реализация Тестирование Контрольная точка. Целей ЖЦ. Наши цели на стартовую фазу: Понять, а что мы, собственно говоря, собираемся разрабатывать? Расставить функции системы по приоритетам. Выявить хотя бы одно возможное решение. Оценить стоимость, сроки и риски связанные с проектом. Решить, какому процессу следовать и какие средства использовать. Фаза Начало (Inception). Девиз фазы: Необходимо понять, а что мы собираемся разрабатывать? Цель №1. А что мы будем делать? Самое интересное: во многих проектах ответ на этот вопрос для многих членов команды не является очевидным. Ответ, конечно, есть, но он у каждого свой. Для того, чтобы сделать успешный проект стоит с самого начала определить, а что считать успехом? Следовательно, нужно каким-то образом обеспечить, чтобы представители заказчиков, менеджеры, аналитики, разработчики, тестеры -, короче, все договорились между собой о том, какую систему планируется реализовать. Для этих целей предлагается выполнить три субзадачи: Разработать высокоуровневую «Концепцию» (Vision). Необходимо сформировать широкое, но неглубокое описание системы. Составить подробные описания ключевых актеров и вариантов использования так, чтобы заинтересованные стороны могли их понять, а члены команды использовать эти описания как готовую к употреблению информацию для работы. Фаза Начало (Inception). Девиз фазы: Необходимо понять, а что мы собираемся разрабатывать? Разработать высокоуровневую «Концепцию» (Vision): Для Концепции важен не формат, а ответы на следующие вопросы: возможности и преимущества, которые обеспечит создание приложения; проблему (ы), которое оно решает; кто будет конечными пользователями; что оно будет делать на самом высоком уровне (определение высокоуровневых свойств или обзор вариантов использования с обобщенным уровнем цели); некоторые наиболее существенные нефункциональные требования, например, операционные системы, которые будет поддерживать приложение, базы данных, лицензирование и т.д. Фаза Начало (Inception). Девиз фазы: Необходимо понять, а что мы собираемся разрабатывать? Концепция - центр для общего понимания мотивов разработки именно этой системы, и обеспечивает ее высокоуровневое определение: Первое, что стоит сделать в начале первой фазы, это попробовать написать концепцию. Критически ее оценить. Распределить задачи, обеспечивающие ее реализацию. Концепция должна стать полной и стабильной к концу первой фазы. Но ее можно продолжать совершенствовать в ходе всего проекта, (мертвых артефактов не будет!) особенно в ходе фазы Проектирования и первых итераций фазы Реализации Фаза Начало (Inception). Девиз фазы: Необходимо понять, а что мы собираемся разрабатывать? Глоссарий План управления требованиями Фиксация терминов и т.д Управление зависимостями Инвестор Пользователь Разработка концепции Системный аналитик Другие ЗС Атрибуты требований Выявление ЗЗС Поиск вариантов использования и актеров Запросы заинтересованных сторон Концепция Указания по моделировани ю вариантов использования (стандарты, CASE и т.д.) Атрибуты требований (уточненные) Концепция (уточненная) Модель вариантов использования Дополнительные спецификации (наброски) Фаза Начало (Inception). Девиз фазы: Необходимо понять, а что мы собираемся разрабатывать? Сформировать широкое, но неглубокое описание системы: «Широкое и неглубокое» – нам необходимо кратко описать что система должна делать и, пока не вдаваться в детали. Как составляется такое описание: Определить и кратко описать актеров; Определить и кратко описать варианты использования; Вопрос для самоконтроля: Какой артефакт содержит эту информацию? Контекстная диаграмма вариантов использования Фаза Начало (Inception). Девиз фазы: Необходимо понять, а что мы собираемся разрабатывать? Необходимо составить подробные описания ключевых актеров и вариантов использования так, что заинтересованные стороны могли их понять, а члены команды использовать эти описания как готовую к употреблению информацию для работы. Примерно в середине фазы: черновая оценка вариантов использования с точки зрения их привлекательности для ЗС; черновая оценка вариантов использования с точки зрения технологической рискованности их реализации. Наши действия: Начинаем специфицировать верхнюю часть списка; Параллельно с этим описанием можно также сделать наброски интерфейса пользователя ; Не забываем про режим нехватки времени. Фаза Начало (Inception). Девиз фазы: Необходимо понять, а что мы собираемся разрабатывать? Цель №2. Разобраться с ключевыми функциями системы. Время выполнения примерно середина фазы - точнее, тот момент, когда появляются более или менее отчерченные контуры модели вариантов использования. Идея выделить тот набор функциональных требований, который образует архитектурно-значимое подмножество вариантов использования: Функциональное требование, выраженное в рамках варианта использования, является критическим для приложения и (или) использует критические интерфейсы системы. Эта функциональность должна быть реализована обязательно. Функциональность охватывает область архитектуры, которая не задействована никаким другим критичным вариантом использования.