- •Структура uml. Строительные блоки uml. Общие механизмы uml. Архитектура языка.
- •Унифицированный процесс разработки (up). Аксиомы up (итерация и инкремент). Структура up. Фазы up.
- •Метамодель требований предъявляемых к по. Моделирование прецедентов.
- •Обобщение актеров. Обобщение прецедентов. Отношения «include» и «extend».
- •Выявление классов анализа. Деятельность up: анализ прецедента. Основные и альтернативные потоки анализа прецедента.
- •Отношения между: а) актерами и прецедентами б) прецедентами и прецедентами (обобщение, «include» и «extend») в) актерами и актерами (обобщение).
- •Архитектурный анализ. Пакеты и пространства имен. Вложенные пакеты. Зависимости пакетов.
- •Вложенные пакеты:
- •Реализация прецедентов. Элементы прецедента. Взаимодействия. Линии жизни. Сообщения. Диаграммы взаимодействия (коммуникационные диаграммы).
- •Диаграммы взаимодействий.
- •Проектирование класса, атрибуты, операции. Наследование, шаблоны, вложенные классы.
- •Отношения уровня проектирования. Агрегация и композиция.
- •Отношения классов уровня анализа. Ассоциации: один-к-одному, один-ко-многим, многие-к-одному, многие-ко-многим.
- •Подсистемы. Подсистемы и интерфейсы. Шаблон «Facade».
- •Трехуровневая архитектура системы (схема архитектуры). Преимущества и недостатки интерфейсов.
- •Диаграммы взаимодействия при проектировании прецедента (добавить курс «uml» в бд ).
- •Диаграммы состояний объекта.
Подсистемы. Подсистемы и интерфейсы. Шаблон «Facade».
Подсистема – это компонент, действующий как единица декомпозиции большой системы. Подсистемы изображаются как компонент со стереотипом «subsystem». Подсистема – это логическая конструкция, используемая для декомпозиции большой системы в управляемые части. Экземпляры самих
подсистем не могут создаваться во время выполнения, но могут создаваться экземпляры их содержимого.
Интерфейсы используются для сокрытия деталей реализации подсистем. Интерфейсы идут рука об руку с подсистемами. Интерфейсы объединяют подсистемы, создавая архитектуру системы.
Сокрытие сложных подсистем за хорошо структурированным простым интерфейсом известно как шаблон Фасад (Faсade) Структурирование системы
в подсистемы помогает снизить сложность. Общая цель проектирования – свести до минимума общение и зависимости между подсистемами. Один из способов достижения этой цели – введение фасадного объекта, предоставляющего единственный упрощенный интерфейс для наиболее общих возможностей подсистемы.Шаблон Фасад обеспечивает возможность сокрытия информации и разделения задач – сложные детали внутренней работы подсистемы можно спрятать за простым интерфейсом.
Трехуровневая архитектура системы (схема архитектуры). Преимущества и недостатки интерфейсов.
Проектирование с использованием интерфейсов позволяет сократить число зависимостей между классами, подсистемами и компонентами и, следовательно, предоставляет возможность управлять количеством взаимосвязей в модели. Связанность (coupling) на самом деле является злейшим врагом разработчика объектов, поскольку высоко взаимосвязанные системы тяжело понимать, обслуживать и развивать. Соответствующее использование интерфейсов может помочь сократить связанность и разбить модель на связные подсистемы.
Однако в использовании интерфейсов есть и недостатки. Как правило, если что то становится более гибким, оно становится и более сложным. Поэтому при проектировании с использованием интерфейсов необходимо искать компромисс между гибкостью и сложностью. В принципе, сделать интерфейсом можно каждую операцию каждого класса, но понять такую систему было бы просто невозможно! Кроме того, часто жертвой гибкости становится производительность, но обычно ее потери малы в сравнении с увеличением сложности.
Диаграммы взаимодействия при проектировании прецедента (добавить курс «uml» в бд ).
Проектная реализация прецедента – это взаимодействие проектных объектов и проектных классов, реализующих прецедент. Между аналитической и проектной реализациями прецедента установлено отношение «trace». Проектирование реализации прецедента определяет решения уровня реализации и реализует нефункциональные требования. Проектная реализация прецедента состоит из:
• проектных диаграмм взаимодействий;
• диаграмм классов, включающих участвующие в ней проектные
классы.
Важно помнить, что моделирование осуществляется лишь для того, чтобы облегчить понимание создаваемой системы. Объем работы дол жен быть ограничен лишь тем, что на самом деле представляет интерес. Такой подход называют стратегическим проектированием. Существует также тактическое проектирование, которое можно без ущерба перенести в фазу реализации. По сути, полное проектирование осуществляется только тогда, когда предполагается генерировать большую
часть кода из модели. И даже в этом случае проектные реализации прецедентов редко активно используются в генерировании кода.