Denis Pasechnik

advertisement
Denis Pasechnik
Microsoft
UML Моделирование в VS2012
Denis Pasechnik
Certified PMP Level B, MSFP
depa@microsoft.com
Содержание доклада: Часть 1
• Проведение "Мозгового-Штурма" с использованием Visual Studio
2012
• Организация основных функциональных возможностей системы в
виде Use Case Моделей.
• Моделирование бизнес содержания в виде концептуальной
диаграммы классов.
• Описание бизнес процессов с использованием диаграмм
активности.
Проведение "Мозгового-Штурма" с использованием Visual
Studio 2012
Начинаем с Бизнес Контекста
Tailspin Toys
•Небольшой магазин по продаже разнообразных
моделей самолетов для коллекционеров.
(Собираемых или уже Готовых)
•Необходим Онлайн ресурс через который можно
существенно расширить канал продаж.
Что необходимо учесть в оценке
Формируем Vision
• Определиться с границами нашего решения
• Кто будет влиять на наше решение
• Что будет автоматизировано в рамках решения
• Идентифицировать существующие ограничения для нашего решения
Далее - > Стартуем с процессом сбора требований и формируем
функциональную спецификацию
Модель – первый вариант
Модель
Замечания
•Стараться ограничивать время сессии проведения до 1 часа.
•Всегда стартовать с Vision нашего решения (Контекста)
•Четко идентифицировать, ”кто живет внутри системы а кто
снаружи” (Scope)
•Описание целей с пользовательской точки зрения (Бизнес
Ценности)
•Стараться сгенерировать как можно больше идей и охватить
все.
Организация основных функциональных
возможностей системы в виде Use Case Модели
Базовые принципы:
•Разбиваем пользовательские цели и задачи на
раздельные небольшие по размеру и
соответственно легко воспринимаемые диаграммы
•Используем диаграммы, как структурное
руководство для описания требований в виде use
case документов
Несколько слов о Актерах
•Актеры всегда ВНЕШНИЕ участники
•Актеры взаимодействуют НАПРЯМУЮ с системой
•Актеры представляют РОЛИ
•Use Cases ВСЕГДА инициируется актером
Модель
Замечания
•Думайте о актерах как о ролях, а не названиях
должностей 
•Используйте специфичную для бизнеса терминологию
•Фокусируйтесь на целях актеров, а не на деталях
реализации
•Используйте продуманные глагольные формы в
наименованиях
•Фокусируйтесь на одной конкретной “функциональной
области” в каждой диаграмме
•Упорядочивайте use cases на диаграммах для
отображения идентифицированной
последовательности
•Используйте при документировании важных моментов
и деталей
Моделирование бизнес содержания в виде
концептуальной диаграммы классов
domain model или analysis class model
•Анализ предметной области и определение
ответственностей
•Выработка согласованного целостного словаря терминов
предметной области
• Используемого в модели требований
• Используемого в коммуникационной модели между
приложением и пользователями
•Описать типы информации используемые в системе и те
которыми она обменивается с другими системами
•Независимый механизм сбора требований
Шаги анализа
•Идентифицировать ключевые термины
используемые как данные или типы элементов
•Использовать “существительные” в описании
требований как классы
•Использовать enumerations для определения
литеральных значений или состояний в которых
может находиться обьект в рамках бизнес процесса
•Итерируем и уточняем в случае появления или
выявления новых требований
Модели
Замечания
• Используйте адекватные названия ( без абревиатур )
• Отражайте только те классы которые нужны для описания
требований
• Фокус на именах и простых связях (ассоциациях)
• Не волнуемся о агрегировании или композиции – это мы выявим позднее в рамках
детального проектирования
• Выявляйте множественность в рамках связей
• Добавляем атрибуты и типы только если они нужны для
повышения прозрачности восприятия требования
• Придерживаемся стандартных типов для атрибутов: Boolean, Integer, String
• Добавляем специфичные только если это повышает понимание (Temperature :
Celsius, Duration : Weeks)
• Оставаться имплементационно независимыми
• Не уточнять видимость – это в рамках детального дизайна
• Избегать моделирования - keys или IDs – это детали реализации
• А также - verbs/actions/operations/functions
Описание бизнес процессов с использованием
диаграмм активности.
•Следующее поколение блок-схем
•Используется для отображения процессов
•Бизнес процессов
•Работо-потоков
•Алгоритмов
•Расширяет использование use cases
•Показывает поток задач вместо структуры
Модели
Рекомендации
•Используем их для идентификации и валидации
бизнес процессов
•Думаем в терминах пользовательских действий
•Фокусируемся на действиях которые видны извне по
отношению к системе
•Используем для отображения потока активностей
который охватывает несколько use cases
•Наилучшая диаграмма для отображения
параллельных операций
•Фокусировка только на одной “активности” в рамках
каждой диаграммы
Вопросы?
Download