Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Лабораторная работа №18. Проектирование структур данных и построение диаграмм классов





Под классом в UML понимается группа объектов, обладающая общими свойствами (атрибутами), поведением (функциями), семантикой и связями с другими объектами.

Описание класса состоит из описания его атрибутов и операций (функций, процедур, методов).

Атрибут – это элемент информации, связанной с классом. Атрибутом может быть некоторая характеристика класса, свойство. Атрибут может иметь тип, как простой (число, строка, дата, булиева величина), так и сложный (когда значение атрибута является объектом другого класса). Атрибут может иметь различные значения видимости:

- Public (общий, открытый) обозначается знаком «+», доступен для чтения и изменения другими классами.

- Private (закрытый, секретный) обозначается знаком «-», доступен для чтения и изменения только внутри своего класса.

- Protected (защищенный) обозначается знаком «#»,доступен для чтения и изменения только для подклассов своего класса.

- Package or implementation (пакетный) - атрибут является общим, но в пределах пакета, не обозначается никаким специальным значком.

Операции представляют собой процессы, реализуемые классами, и отражают связанное с классом поведение. Операции имеют такие же значения видимости, как и атрибуты.

Выделяют следующие типы операций:

- Операции реализации (implementer operations) реализуют бизнес-функции.

- Операции управления (manager operations) управляют созданием и уничтожением объектов.

- Операции доступа (access operations) существуют для того, чтобы просматривать или изменять значения атрибутов других классов.

- Вспомогательные операции (helper operations) – операции класса, необходимые для выполнения других операций класса.

На диаграмме классов (Class Diagram) классы обозначаются в виде прямоугольников, разделенных горизонтальными линиями на разделы, в которых отображается имя класса, перечень атрибутов, перечень операций (см. Рисунок 17).

Рисунок 17 – Нотация описания классов

Также на диаграмме классов могут присутствовать классы со стереотипом «interface» - интерфейсы, которые представляют собой абстрактные классы без атрибутов с наличием абстрактных операций (т.е. операций без указания особенностей их реализации). Интерфейсы используются для определения совокупности операций, которые обеспечивают необходимый набор сервисов или функциональности для активных субъектов (акторов). Формально каждому варианту использования может быть привязан соответствующий интерфейс. Интерфейс, как и класс, именуется как существительное, например, «датчик температуры», «пенсионный калькулятор», «терминал приема платежей» и т.п.

Виды связей между классами представлены в таблице.

Таблица 16 – Виды связей между классами

Графическое обозначение Описание
Обобщение – связь для обозначения наследственности классов (класс 1 является «потомком» класса 2 и наследует все его свойства).
Двусторонняя ассоциация – ассоциативная связь между классами. Например, класс «товар» и класс «заказ». Под стрелкой может быть указана кратность связи (один к одному, один к многим, многие ко многим), над стрелкой – роли, которые выполняют классы в этой ассоциации. Например, ассоциация между классами «компания» и «сотрудник» - класс «компания» выполняет роль работодателя.
Однонаправленная ассоциация, направление стрелки указывает порядок следования классов.
Агрегация - форма ассоциации, представляющая собой связь "часть-целое" (объект класса 2 является частью объекта класса 1)
Направленная агрегация, направление стрелки указывает порядок следования классов.
Композиция – разновидность связи «часть-целое», в которой жизненный цикл «части» и «целого» совпадают, а «часть» может быть частью только одного «целого» (объект класса 2 является частью объекта класса 1).
Зависимость – связь показывает, как определения, сделанные в одном классе, зависят от другого (класс 1 зависит от класса 2). Стереотипы зависимости: «access» – служит для обозначения доступности открытых атрибутов и операций класса‑источника для классов‑клиентов; «bind» – класс‑клиент может использовать некоторый шаблон для своей последующей параметризации; «derive» – атрибуты класса‑клиента могут быть вычислены по атрибутам класса‑источника; «import» – открытые атрибуты и операции класса‑источника становятся частью класса‑клиента, как если бы они были объявлены непосредственно в нем; «refine» – указывает, что класс‑клиент служит уточнением класса‑источника.
Ассоциативный класс – позволяет указывать свойства ассоциации.
Реализация – связь обозначает, что класс реализует соответствующий интерфейс.

Основываясь на результатах лабораторной работы №16, сформируйте перечень классов для своей предметной области, определите состав их атрибутов, операций, связей. Постройте диаграмму классов.

Для выявления классов:

- Создайте класс для каждого активного субъекта диаграммы вариантов использования. Если атрибуты и операции полученных классов повторяются, выделяйте классы-обобщения.

- Создайте класс для каждого бизнес-объекта, над которым производятся действия или информация о котором обрабатывается.

- Создайте класс для каждого классификатора, используемого в рассматриваемой вами предметной области.

- Создайте интерфейс и реализующий его класс для каждого варианта использования.

Рисунок 18 – Пример диаграммы классов

Date: 2015-07-24; view: 654; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.007 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию