
Задания ЛР (по Маше) / lab_tp_4
.docТехнологии проектирования, 2011г.
Лабораторная работа №4
«Создание модели проектирования с применением паттернов
в среде IBM Software Architect»
по курсу Технологии проектирования
Цель работы:
Изучить существующие паттерны проектирования и принципы их выбора и использования при проектировании СОИУ по технологии RUP с применением CASE средств.
Исходные данные для выполнения работы:
-
Модель анализа (диаграммы классов и взаимодействия), полученная при выполнении лабораторной работы №3.
-
Описания паттернов проектирования [4], а также [5],[6],[7].
-
Средство автоматизированного проектирования IBM Software Architect.
-
Методическое пособие по IBM Software Architect [2].
-
Описание диаграмм развертывания UML [1, стр. 186-189].
-
Описание принципов применения паттернов [1, стр. 161-169].
Порядок и время проведения работы:
Время проведения работы 2 часа. Работа проводится в компьютерном зале и выполняется группой студентов от 1 до 3 человек в том составе, в котором выполнялась 2-ая лабораторная работа. При изменении состава группы исполнителей необходимо согласование с преподавателем.
Задание:
-
Открыть в среде Software Architect проект, созданный в лабораторной работе №3. Добавить к нему модель проектирования (из шаблона Enterprise IT Design Model) [2]. Определить базовый уровень архитектуры:
-
узлы и сетевые конфигурации [3, стр.260],
-
подсистемы (прикладного, среднего и уровня системного ПО, внешних систем) и интерфейсы между ними [3, стр.262],
-
обобщенные механизмы проектирования (длительное хранение, скрытое распределение, безопасность, транзакции, ошибки) [3, стр.260]
По итогам проектирования базового уровня архитектуры построить:
-
диаграмму размещения (узлы, устройства и линии связи),
-
диаграмму размещения с указанием подсистем прикладного, среднего и системного уровней и их взаимодействия,
-
спецификацию архитектуры (перечень выбранных решений и обоснования выбора).
-
(выполняется параллельно с п.3) Выбрать структурный(ые) паттерн(ы) (например, MVC, PCMEF, PCMEF+) для прикладного уровня СОИУ и/или ее подсистем (узлов). На основе модели анализа и выбранной технологии разработки определить для каждой подсистемы прикладного уровня:
-
набор классов проектирования ,
-
взаимодействие классов для реализации основных прецедентов,
-
взаимодействие подсистем.
По итогам проектирования прикладного уровня СОИУ построить:
-
диаграмму размещения с указанием подсистем и их зависимостей,
-
диаграмму классов проектирования (с учетом выбранной технологии реализации) для каждой подсистемы,
-
диаграмму взаимодействия классов для реализации прецедентов,
-
диаграмму взаимодействия подсистем для реализации прецедентов.
-
(выполняется параллельно с п.2) Определить паттерны проектирования для СОИУ:
-
бизнес-логики (например, модуль таблицы или слой служб),
-
взаимодействия с БД (например, шлюз таблицы или шлюз записи),
-
дополнительные механизмы (например, организации транзакций или пула соединений).
По итогам проектирования подсистем прикладного уровня СОИУ построить:
-
диаграмму классов проектирования (с учетом выбранной технологии реализации) для каждой подсистемы,
-
диаграмму взаимодействия классов для реализации прецедентов,
-
диаграмму размещения с указанием подсистем прикладного уровня и их зависимостей.
-
Провести исследование модели проектирования и определить:
-
перечень проблем [3], которые должны решить паттерны,
-
перечень элементов проекта, которые должны быть изменяемыми [3].
Просмотреть каталог паттернов [4]- [7], схему взаимосвязей паттернов [4], перечень изменяемых элементов проекта и перечень проблем, решаемых паттернами. Выбрать набор паттернов (возможно, взаимосвязанных) для проектирования СОИУ:
-
>= 1 структурных паттернов,
-
>= 1 паттерна поведения,
-
>= 1 порождающих паттернов.
Применить выбранные паттерны к модели проектирования СОИУ. Уточнить модель проектирования СОИУ, содержащую:
-
диаграмму(ы) классов,
-
диаграмму(ы) последовательностей,
-
описание классов проектирования (краткое описание, атрибуты, сигнатуры и алгоритмы операций),
-
описание проектов коопераций.
Составить перечень результатов [4]- [7], полученных при использовании паттернов.
-
Уточнить модель проектирования, по итогам которой построить:
-
диаграмму развертывания (узлы и линии связи, подсистемы и интерфейсы, активные классы),
-
диаграмму классов для каждой подсистемы (зависимости и интерфейсы),
-
диаграмму классов для подсистем (уровни, интерфейсы и зависимости),
-
диаграмму взаимодействия подсистем для реализации основных прецедентов.
Отчет:
После выполнения работы составляется отчет, который содержит:
-
титульный лист,
-
описание исходных требований и модель проектирования,
-
модель проекта главного прецедента (все диаграммы),
-
модель базового уровня архитектуры (все диаграммы),
-
перечни проблем и изменяемых элементов проекта,
-
перечень выбранных паттернов (обоснование выбора и взаимосвязь паттернов),
-
диаграммы классов проектирования (и их описание),
-
диаграммы последовательностей (с пояснениями),
-
результаты применения паттернов для проекта СОИУ.
Литература:
-
Орлов С.А. Технологии разработки программного обеспечения. - СПб: Питер, -2002 г. (материалы сервера http://wmate.ru).
-
Методическое пособие по IBM Software Architect.
-
Якобсон А, Дуч Г., Рамбо Дж. Унифицированный процесс разработки программного обеспечения. - Спб.: Питер. - 2002 г.
-
Гамма Э. и др. Приемы объектно-ориентированного проектирования. Паттерны проектирования. - СПб.: Питер. - 2009 г.
-
Шаблоны проектирования. - Википедия. - http://ru.wikipedia.org/wiki/Pattern
-
Дубина О. Обзор паттернов проектирования. - http://citforum.ru/SE/project/pattern/
-
Фаулер М. Архитектура корпоративных программных приложений. - М.: Издательский дом «Вильямс». - 2008 г.