- •Содержание
- •Лекция 1. Введение. Группа проекта. Жизненный цикл. Предварительные замечания Предварительные замечания
- •Группа проекта
- •Жизненный цикл Предварительные замечания
- •Последовательный тип
- •Эволюционный тип
- •Выбор типа жизненного цикла
- •Лекция 2. Архитектура программных систем Предварительные замечания
- •Структурные сущности
- •Архитектурные виды
- •Лекция 3. Рациональный унифицированный процесс Предварительные замечания
- •Характеристики процесса
- •Фазы, итерации и циклы разработки
- •Рабочие процессы
- •Артефакты
- •Другие артефакты
- •Лекция 4. Анализ и проектирование. Стадия анализа Предварительные замечания
- •Стадия анализа Стандарты семейства idef
- •Анализ на базе семейства idef
- •Объектно-ориентированный анализ и проектирование
- •Лекция 5. Модель анализа прецедентов Предварительные замечания
- •Поток событий, сценарий, кооперация
- •Организация прецедентов
- •Лекция 6. Типичные приемы анализа прецедентов Поведение элемента
- •Диаграмма прецедентов
- •Моделирование контекста системы
- •Моделирование требований к системе
- •Лекция 7. Введение в унифицированный процесс моделирования Предварительные замечания
- •Сущности uml
- •Отношения uml
- •Диаграммы uml
- •Правила языка uml
- •Общие механизмы языка uml
- •Лекция 8. Системы и модели Предварительные замечания
- •Системы и подсистемы. Модели и представления
- •Моделирование системной архитектуры
- •Различные представления системы
- •Лекция 9. Информационные технологии и средства анализа и проектирования информационных систем Предварительные итоги
- •Компонентная архитектура
- •Краткий перечень производителей и программных продуктов
- •Сравнительный обзор возможностей Rational Rose и paradigm plus
- •Поддерживаемая нотация
- •Методологии
- •Компонентно-базируемое проектирование
- •Ведение репозитария объектов
- •Построение диаграмм моделей. Пользовательский интерфейс
- •Генерирование программного кода
- •Наличие реинжиниринга
- •Проектирование баз данных. Поддержка sql и мостов для реляционных баз данных, idl для corba
- •Создание экранного интерфейса
- •Возможность групповой работы
- •Наличие Script-языка
- •Генерирование отчетов и формирование проектной документации
- •Поддерживаемые платформы
- •Место в общем цикле разработки программной системы
Моделирование системной архитектуры
Наиболее распространенный случай применения систем и моделей - это организация элементов, используемых с целью визуализации, специфицирования, конструирования и документирования архитектуры системы. При этом затрагиваются практически все артефакты, встречающиеся в процессе разработки программного обеспечения. Моделируя системную архитектуру, вы собираете в единое целое решения, принятые относительно требований к системе, ее логических и физических элементов. Моделируются структурные и поведенческие аспекты системы, образцы, формирующие ее различные представления. Наконец, следует обратить внимание на стыковку подсистем и трассировку решений, начиная от формирования требований до этапа развертывания.
Моделирование системной архитектуры производится следующим образом:
Идентифицируйте сущности, которые вы будете использовать для представления архитектуры. Чаще всего это виды с точки зрения прецедентов. Процессов, реализации и развертывания.
Специфицируйте контекст системы, включая окружающих ее актеров.
При необходимости разложите систему на элементарные подсистемы.
При моделировании системы в целом и ее подсистем выполняются следующие действия:
Специфицируйте вид системы с точки зрения вариантов ее использования или прецедентов, которые описывают поведение системы таким образом, каким оно представляется конечным пользователям, аналитикам и тестеров. Для моделирования статических аспектов примените диаграммы прецедентов, а для моделирования динамических - диаграммы взаимодействия, состояний и деятельности.
Специфицируйте вид системы с точки зрения проектирования, в который входят классы, интерфейсы и кооперации, формирующие словарь предметной области и предлагаемого решения. Для моделирования статических аспектов применяйте диаграммы классов и объектов, а для моделирования динамических - диаграммы последовательностей, состояний и деятельности.
Специфицируйте вид системы с точки процессов, в который входят процессы и нити, формирующие механизмы параллельности и синхронизации в системе. Используйте те же диаграммы, что и для вида с точки зрения проектирования, но основной внимание уделите активным классам и объектам, которыми, собственно говоря, в UML и представлены процессы и нити.
Специфицируйте вид системы с точки зрения реализации, в который входят компоненты, используемые для сборки и выпуска готовой физической системы. Для моделирования статических аспектов примените диаграммы компонентов, а для моделирования динамических - диаграммы взаимодействия, состояний и деятельности.
Специфицируйте вид системы с точки зрения развертывания, который содержит узлы, формирующие топологию аппаратных средств, на которых выполняется система. Для моделирования статических аспектов примените диаграммы развертывания, а для моделирования динамических - диаграммы взаимодействия, состояний и деятельности.
Смоделируйте архитектурные образцы (паттерны) и образцы проектирования с помощью коопераций. Образец (pattern) - это типичное решение типичной проблемы в данном контексте.
Помните, что системная архитектура не рождается в ходе единичного акта творения. Напротив, хорошо структурированный процесс применения UML подразумевает последовательное уточнение архитектуры на основе анализа прецедентов, итеративное и инкрементное (вспомните основные положения Рационального Унифицированного Процесса).
Если не брать в расчет простейшие системы, вам необходимо будет управлять версиями системных артефактов. Для представления решений о версиях каждого элемента можно воспользоваться механизмами расширения UML, в частности помеченными значениями.