Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Пример выполнения. Создание диаграмм классовСтр 1 из 2Следующая ⇒ Цель работы Получить навыки построения диаграмм классов, создания пакетов и группировки классов в пакеты в среде визуального объектно-ориентированного моделирования систем IBM Rational Rose Enterprise. Темы для предварительной проработки - Классы, их атрибуты, операции и параметры, отношения зависимости, ассоциации, агрегации, композиции, обобщения и реализации. - Работа с диаграммами классов в IBM Rational Rose (см. Справочные данные IBM Rational Rose). Подготовка к работе - Изучить ER-диаграмму предметной области индивидуального задания, добавив необходимые данные. - Определить классы, их атрибуты и отношения между классами. - Утвердить результаты предварительной подготовки у преподавателя. Выполнение работы - Запустить среду IBM Rational Rose Enterprise. - Создать диаграмму классов для одного из сценариев диаграммы прецедентов, созданной в лабораторной работе №1. Для каждого класса необходимо задать атрибуты и операции. Каждый класс должен быть подробно документирован - необходимо задать текстовое описание самого класса, описания его атрибутов и операций. - Создать пакеты для группировки созданных в предыдущем пункте классов. - Сгруппировать ранее созданные классы в пакеты. - Для каждого пакета создать свою диаграмму классов. - Разработать главную диаграмму классов. - Выполнить количественную оценку созданных диаграмм классов. Содержание отчета - Протокол создания диаграмм классов в среде IBM Rational Rose Enterprise. - Созданные диаграммы классов с указанием сценария, для которого данные диаграммы построены. - Краткое описание каждого созданного класса и отношений между классами. - Расчет количественной оценки созданных диаграмм классов. - Краткие выводы о навыках, приобретенных в ходе выполнения работы. Пример выполнения. Создание диаграмм классов Примечание: рассматривать диаграмму классов рекомендуется с концептуальной точки зрения, которая используется на начальных этапах моделирования и разработки.
Создание диаграммы классов для сценария "Добавить новый заказ" прецедента "Работа с заказом"
Диаграммы классов будем рассматривать с концептуальной точки зрения. Для упрощения задачи и чтобы не загромождать диаграммы несущественными деталями методы setX, getX для каждого атрибута Х классов задавать не будем. Создадим в Логическом представлении браузера новую диаграмму классов и назовем ее " Add New Order ". В поле документации запишем для нее следующий текст: " Диаграмма классов для сценария "Добавить новый заказ" прецедента "Работа с заказом". Заполнение диаграммы начнем с определения классов-сущностей. Рассматриваемый сценарий состоит из: - самого заказа; - клиента, который делает заказ; - комплектующих изделий, которые входят в заказ.
Создадим классы-сущности Client (Клиент), Order (Заказ) и ComponentPart (Комплектующее изделие). Поскольку в один заказ может входить много разных комплектующих изделий, и одно комплектующее изделие может входить во много заказов, то введем еще один класс-сущность OrderItem (Состав заказа). Опишем каждый класс. Таблица 2.1 Класс Client
Класс Order
Таблица 2.3 Класс ComponentPart
Таблица 2.4 Класс OrderItem
Результат создания классов-сущностей показан на рис. 2.1:
Добавим отношения между классами (рис. 2.2): - класс Client и Order - отношение ассоциации, поскольку данные два класса просто связаны друг с другом и никакие другие типы связей здесь применить нельзя. Один клиент может сделать несколько заказов, каждый заказ поступает только от одного клиента, поэтому кратность связи со стороны класса Client - 1, со стороны Order - 1..n; - класс Order и OrderItem - отношение композиции, поскольку строка заказа является частью заказа, и без него существовать не может. В один заказ может входить несколько строк заказа, строка заказа относится только к одному заказу, поэтому кратность связи со стороны Order - 1, со стороны OrderItem - 1..n; - класс OrderItem и ComponentPart - отношение агрегации, поскольку комплектующие изделия являются частями строки заказа, но и те, и другие, являются самостоятельными классами. Одно комплектующее изделие может входить во много строк заказа, в одну строку заказа входит только одно комплектующее изделие, поэтому кратность связи со стороны ComponentPart - 1, со стороны OrderItem - 1..n.
Рис. 2.2. Классы-сущности и отношения между ними
Добавим теперь на диаграмму граничные (стереотип boundary) и управляющие (стереотип control) классы (рис. 2.3). Рассматриваемый сценарий - это только одно из действий, которые обеспечивает прецедент "Работа с заказом". Прецедент также позволяет просмотреть, отредактировать или удалить заказ. Это означает, что необходимо предусмотреть механизм, который позволяет выбирать необходимое действие. Создадим для этого граничный класс OrderOptions (Параметры работы с заказом) с комментарием " Класс, обеспечивающий механизм работы с заказами ". Также создадим граничный класс AddNewOrder (Добавление нового заказа), который будет служить для добавления новых заказов (комментарий - " Класс служит для добавления новых заказов "). Отношение между этими классами - агрегация, поскольку в данном случае класс AddNewOrder рассматривается как часть класса OrderOptions, частями которого также будут классы для просмотра, редактирования и удаления заказов. Кратность связи 1 к 1, поскольку в состав класса OrderOptions входит только один класс AddNewOrder. Перейдем теперь к управляющим классам. Добавим управляющий класс OrderManager (Менеджер по работе с заказами) с комментарием " Управляющий класс для обработки потока событий прецедента "Работа с заказами", который будет обеспечивать обработку потока событий для рассматриваемого прецедента. Данный класс будет связан с классами AddNewOrder и Order. Отношение между классами AddNewOrder и OrderManager - однонаправленная ассоциация с кратностью связи 1 к 1, поскольку один экземпляр класса AddNewOrder взаимодействует только с одним экземпляром класса OrderManager. Отношение между классами OrderManager и Order - однонаправленная ассоциация с кратностью связи 1 к 1..n, поскольку один класс OrderManager может взаимодействовать с несколькими классами Order. Окончательный вариант диаграммы классов показан на рис. 2.3:
Рис. 2.3. Итоговая диаграмма классов
Пакеты предназначены для группировки элементов в группы по определенным критериям. В простейшем случае классы можно группировать по их стереотипам. Создадим три пакета: Entities (классы-сущности), Boundaries (граничные классы) и Control (управляющие классы). Для этого необходимо щелкнуть правой кнопкой мыши на Logical View (Логическое представление) браузера, в появившемся контекстном меню выбрать пункт New > Package (Создать > Пакет), и ввести имя пакета. Результат создания пакетов показан на рис.2.4: В поле документации (Documentation) для каждого пакета зададим комментарий: - для пакета Boundaries комментарий: пакет содержит граничные классы; - для пакета Control комментарий: пакет содержит управляющие классы; - для пакета Entities комментарий: пакет содержит классы-сущности.
|