Студопедия

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

Разделы сайта

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






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






 

Для последующего правильного отображения на диаграмме классов всей необходимой информации по операциям и атрибутам необходимо произвести настройку диаграмм. Алгоритм выполнения настройки:

1) В меню модели выбрать пункт Tools > Options.

2) Перейти на вкладку Diagram.

3) Убедиться, что переключатель Show Visibility отмечен.

4) Убедиться, что переключатель Show Stereotypes отмечен.

5) Убедиться, что переключатель Show Operation Signatures отмечен.

6) Убедиться, что переключатели Show All Attributes и Show All Operations отмечены.

7) Убедиться, что переключатели Suppress Attributes и Suppress Operations не отмечены.

8) Перейти на вкладку Notation.

9) Убедиться, что переключатель Visibility as Icons не отмечен.

Добавим к каждому классу атрибуты и операции. Откроем окно спецификации отдельного класса, нажав правой кнопкой мыши по классу на диаграмме и затем Open Specification (Рисунок 6.1).

Перейдем на вкладку Operations, правой кнопкой по полю, затем Insert. Вводим имя новой операции в поле Name, а также задаем ее тип в поле Return type (рисунок 6.2). Далее, переходим на вкладку Attributes, правой кнопкой по полю, затем Insert. Задаем имя атрибута и его тип, в нашем случае String – строковый (рисунок 6.3).


Рисунок 6.1 - Окно спецификации класса «Account»

 

Рисунок 6.2 - Окно спецификации операции

Рисунок 6.3 - Окно спецификации атрибута «Фамилия»

 

Выполняя аналогичные операции, заполним классы «RegInfo» и «DataBase».

В таблице 6.1 представлено описание каждого класса диаграммы.

 

Таблица 6.1 – Описание классов разрабатываемой информационной подсистемы

Класс «Account»
Параметр Значение
Атрибуты Фамилия: String – фамилия студента Имя: String – имя студента Отчество: String – отчество студента
Операции EnterSystem() – позволяет войти в систему ExitSystem() – позволяет выйти из системы SearchStudent() – осуществляет поиск студента в списке
Класс «RegInfo»
Атрибуты FIO: String – ФИО студента CardNumber: String – номер зачетной книжки Subject: String – название дисциплины Attestation: String – аттестация студента Admission: String – допуск к экзаменам/зачетам Exam: String – оценка по экзамену/зачет
Операции EnterFIO() – получает от пользователя ФИО студента EnterCardNumber () – получает номер зачетной книжки студента EnterSubject () – сохраняет название дисциплины EnterAttestation () – получает от пользователя информацию об аттестации студента EnterAdmission () – получает от пользователя информацию о допуске студента EnterExam () – получает от пользователя информацию об оценках студента по экзамену Update() – изменяет записи в полях SendToDB() – отправляет запрос в базу данных
Класс «Database»
Атрибуты DBName: String – имя базы данных DBServerName: String – имя сервера базы данных DBPassword: String – пароль к базе данных
Операции Connect() – получает доступ к базе данных Disconnect() – разрывает связь с базой данных GetRecord() – получить запись из базы данных CheckRecord() – найти запись в базе данных UpdateRecord() – сохранить данные SendData() – отправить ответ на запрос

 

После того как классы полностью созданы, необходимо установить между ними отношения:

а) связь между классами «Account» и «RegInfo» - ассоциативная, т.к. один класс вызывает метод другого, здесь другой тип связи неуместен. Аккаунтов может быть много, т.к. много студентов, а учетная система всего лишь одна, поэтому кратность связи со стороны класса «Account» - 1..n, а со стороны «RegInfo» - 1;

б) связь между классами «RegInfo» и «DataBase» - ассоциативная, т.к. один класс вызывает метод другого, здесь другой тип связи неуместен. И учетная система со стандартными полями одна, также и база данных одна. Следовательно, кратность связи со стороны обоих классов – 1;

в) связь между классами «Account» и «DataBase» - ассоциативная, т.к. один класс вызывает метод другого, здесь другой тип связи неуместен. Аккаунтов может быть много, т.к. много студентов, а база данных одна. Следовательно, кратность связи со стороны класса «Account» - 1..n, а со стороны «DataBase» - 1.

Процесс связывания классов отношениями аналогичен процессу связывания объектов на диаграмме состояний, или диаграмме последовательности. Для начала необходимо выбрать тип отношения, выберем «Unidirectional Association», зажмем левую кнопку мыши на классе «Account» и протянем связь к классу «RegInfo». Теперь необходимо установить кратность связей. Для этого открываем спецификацию связи двойным щелчком на связи, представленную на рисунке 6.4.

Переходим на вкладку «Role A Detail» и в поле «Multiplicity» выбираем цифру один. На вкладке «Role B Detail» в поле «Multiplicity» выбираем «1..n».

 

Рисунок 6.4 – Окно спецификации связи между классами


Аналогичным образом необходимо установить кратности связей для остальных связей на диаграмме классов.

Законченный вариант диаграммы классов представлен на рисунке 6.5.

 

Рисунок 6.5 – Диаграмма классов разрабатываемой информационной подсистемы

 

Выводы

1. Между всеми классами диаграммы установлены отношения ассоциации. В результате выполнения этапов были добавлены атрибуты и операции к трем классам диаграммы классов.

2. Кратность связи между классами «Account – DataBase» - многие-к-одному. Кратность связи между классами «Account – RegInfo» - многие-к-одному. Кратность связи между классами «RegInfo – DataBase» - один-к-одному.







© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.