Разработка объектно-ориентированной модели информационной подсистемы для деканата ВУЗа (учет успеваемости студентов)
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
были нанесены классы на диаграмму. Наша диаграмма классов содержит три класса: Account, RegInfo, DataBase.
2.Возможен выбор класса из уже существующих.
.Класс Account представляет собой интерфейс приложения с полями для ввода ФИО студента, таким образом он предоставляет возможность для доступа в систему, а также задает ограничения для пользователя. Класс RegInfo содержит всю учетную информацию об успеваемости студента, получаемую из базы данных. Класс DataBase отвечает за работу с базой данных, в которой хранится информация обо всех студентах данного факультета.
6. ДОБАВЛЕНИЕ ДЕТАЛЕЙ К ОПИСАНИЯМ ОПЕРАЦИЙ И ОПРЕДЕЛЕНИЕ АТРИБУТОВ КЛАССОВ. ДОБАВЛЕНИЕ СВЯЗЕЙ МЕЖДУ КЛАССАМИ
Для последующего правильного отображения на диаграмме классов всей необходимой информации по операциям и атрибутам необходимо произвести настройку диаграмм. Алгоритм выполнения настройки:
1)В меню модели выбрать пункт Tools > Options.
2)Перейти на вкладку Diagram.
)Убедиться, что переключатель Show Visibility отмечен.
)Убедиться, что переключатель Show Stereotypes отмечен.
)Убедиться, что переключатель Show Operation Signatures отмечен.
)Убедиться, что переключатели Show All Attributes и Show All Operations отмечены.
7)Убедиться, что переключатели Suppress Attributes и Suppress Operations не отмечены.
)Перейти на вкладку Notation.
)Убедиться, что переключатель 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 - название диiиплины Attestation: String - аттестация студента Admission: String - допуск к экзаменам/зачетам Exam: String - оценка по экзамену/зачетОперацииEnterFIO() - получает от пользователя ФИО студента EnterCardNumber () - получает номер зачетной книжки студента EnterSubject () - сохраняет название диiиплины 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. Между всеми классами диаг