
Задания ЛР (по Маше) / lab_tp_3
.docТехнологии проектирования, 2012 г.
Лабораторная работа №3
«Создание модели анализа в среде IBM Software Architect»
по курсу Технологии проектирования
Цель работы:
Получить навыки выполнения анализа СОИУ по технологии RUP с применением CASE средств.
Исходные данные для выполнения работы:
-
Модель требований, полученная в результате выполнения лабораторной работы №2.
-
Средство автоматизированного проектирования IBM Software Architect.
-
Методическое пособие по IBM Software Architect http://narod.ru/disk/43589804001/analysis.zip.html.
-
Описание последовательности выполнения проектирования [1, стр. 266-280].
-
Описание диаграмм классов UML [1, стр. 131-140].
-
Описание диаграмм последовательностей UML [1, стр. 149-151].
Порядок и время проведения работы:
Время проведения работы 2 часа. Работа проводится в компьютерном зале и выполняется группой студентов от 1 до 3 человек. По итогам работы составляется и защищается отчет в бумажном виде. Если студент отсутствовал по уважительной причине, то он может выполнить работу с другой группой.
Задание:
-
Открыть в среде Software Architect проект, созданный в лабораторной работе 2. Добавить к нему модель анализа (из шаблона) [3]. Выполнить анализ архитектуры [4]:
-
определить набор пакетов на основе функционально-близких прецедентов (или прецедентов одного актера, или прецедентов одного бизнес-процесса),
-
определить зависимости (использования) между пакетами,
-
выделить общие части пакетов в отдельные пакеты,
-
определить сервисные пакеты (на основе необязательных сервисов),
-
определить очевидные классы сущностей (на основе модели предметной области).
По итогам анализа архитектуры построить:
-
«обзорную» диаграмму классов (пакеты и зависимости между ними),
-
«обзорную» диаграмму классов очевидных сущностей [3] (классы, их атрибуты, связи ассоциации, роли, множественность, арность).
-
Добавить в модель анализа кооперации (из строительных блоков [3]) для реализации основных прецедентов, определенных в лабораторной работе 2. Для каждой кооперации определить набор классов [3], например:
-
граничные: по одному на каждую внешнюю систему, уровень протокола, внешнее устройство; экранную форму актера (на основе эскиза пользовательского интерфейса),
-
сущностей,
-
управляющих (по одному на прецедент).
По итогам определения коопераций построить:
-
диаграмму реализации прецедентов (прецеденты из модели определения требований и реализующие их кооперации),
-
«обзорную» диаграмму граничных классов (только набор классов),
-
«обзорную» диаграмму управляющих классов (только набор классов),
-
«обзорную» диаграмму классов сущностей (уточнение приведенной выше).
-
Выполнить анализ коопераций. Для каждой кооперации составить:
-
диаграмму классов (из набора определенных ранее классов) данной кооперации и их связи (ассоциации и/или использование), отражающие взаимодействие объектов классов при реализации прецедента [3] [4];
-
диаграмму/ы последовательности для реализации базового и альтернативных потоков (если отличия незначительны, то строится одна диаграмма; в противном случае — несколько) [3] [4].
По итогам анализа кооперации построить:
-
диаграмму классов кооперации (из определенных ранее),
-
диаграмму/ы последовательностей (на основе классов кооперации).
-
Выполнить анализ классов. На основе диаграмм последовательностей уточнить диаграммы классов:
-
определить операции класса (на основе всех входящих сигналов) по всем кооперациям, в которых класс участвует,
-
определить атрибуты класса: для граничного — на основе полей ввода, свойств протокола и настроек устройства; для сущности — на основе хранимых реквизитов; для управляющего — на основе вычисляемых и промежуточных значений,
-
уточнить ассоциации и агрегации классов (указать роли, множественность, арность),
-
определить обобщение (абстрактные классы),
-
уточнить набор классов, их атрибутов и операций.
По итогам анализа класса уточнить:
-
«обзорную» диаграмму граничных классов (классы, их атрибуты и операции, ассоциации, агрегации и обобщения, свойства связей),
-
«обзорную» диаграмму управляющих классов (классы, их атрибуты и операции, ассоциации, агрегации и обобщения, свойства связей),
-
«обзорную» диаграмму классов сущностей (классы, их атрибуты и операции, ассоциации, агрегации и обобщения, свойства связей).
-
Выполнить анализ пакетов [4]:
-
распределить классы анализа по пакетам (определенным ранее) на основе принадлежности классов кооперациям,
-
уточнить связи пакетов (на основе связей классов),
-
уточнить состав пакетов и распределение по ним классов ориентируясь на:
-
однонаправленность связей между пакетами,
-
отсутствие дублирования классов в пакетах,
-
максимум связности классов в пакете,
-
минимум сцепления классов между пакетами.
По итогам анализа пакетов построить:
-
«обзорную» диаграмму классов (пакеты, их классы и зависимости между ними).
Отчет:
После выполнения работы составляется отчет, который содержит:
-
титульный лист,
-
описание исходных требований,
-
все построенные диаграммы.
Литература:
-
Орлов С.А. Технологии разработки программного обеспечения. - СПб: Питер, -2002 г.
-
Материалы сервера http://wmate.ru
-
Методическое пособие по IBM Software Architect http://narod.ru/disk/43589804001/analysis.zip.html
-
Якобсон А, Дуч Г., Рамбо Дж. Унифицированный процесс разработки программного обеспечения. - Спб.: Питер. - 2002 г.