Похожие презентации:
Задача регистрации курсов (class diagram)
1.
Задача регистрации курсов(диаграмма классов)
1
2.
Стереотипы классов• При моделировании программного обеспечения могут
использоваться различные стереотипы классов.
• Использование стереотипов позволяет расширить
элементы модели UML, в данном случае классы.
• Существуют три стереотипа классов:
• entity - класс, используемый для моделирования
объектов реального мира;
• boundary - класс, используемый в качестве
посредника между актерами,
взаимодействующими с системой, и самой
системой;
• control - класс, реализующий поведение
некоторого варианта использования.
2
3.
Классы-сущности• Класс-сущность (entity class) используется для
моделирования данных и поведения с длинным
жизненным циклом.
• Данный тип классов может представлять сущности
реального мира или внутренние элементы системы.
• Такие классы обычно не зависят от окружения, то
есть они не чувствительны к взаимодействию
окружающей среды с системой.
• Они не зависят от приложения и могут
использоваться в различных приложениях.
• Их часто называют классами предметной области,
потому что они представляют собой абстракции
предметов реального мира.
3
4.
Классы-сущности• В университете по каждому
из предметов может читаться
несколько курсов лекций.
• Курс лекций – это учебный
курс.
• Например, по предмету
Математика могут читаться
несколько курсов:
(Математика, раздел 1),
(Математика, раздел 2).
• Между этими классами
существует отношение
агрегации.
4
5.
Классы-сущности• Учебные курсы
читают
преподаватели.
• Преподаватель
связан с учебным
курсом отношением
ассоциации.
• Преподаватель
играет роль учителя.
5
6.
Рефлексивные отношения• Ассоциация или агрегация называется рефлексивной или
возвратной (reflexive), если она связывает класс с самим
собой.
• Прежде чем прослушать некоторый курс студент должен
прослушать один или несколько вводных курсов по
другим предметам.
• Например, курсу по предмету “Технологии
программирования” предшествуют курсы по предметам
“Информатика” и “Программирование”.
6
7.
Граничные классы• Граничные классы (boundary class) обеспечивают
взаимодействие между окружающей средой и
внутренними элементами системы.
• Такие классы предоставляют интерфейс для пользователя
или другой системы (то есть для актера). Они составляют
внешне зависимую часть системы и используются для
моделирования интерфейсов системы.
• Для обнаружения граничных классов изучают пары
актер/сценарий. Такие классы, определенные на
начальном этапе моделирования, обычно являются
классами верхнего уровня. Например, можно
смоделировать окно, но не моделировать его
диалоговые элементы и кнопки.
• На этапе проектирования такие классы совершенствуются
и выносятся на обсуждение вопросов реализации
пользовательского интерфейса.
7
8.
Граничные классы дляпреподавателя
• Реализация варианта использования «Выбор курсов для
преподавания» представляет собой несколько интерфейсов
(диалоговых окон на экране).
• Преподаватель вводит пароль для входа в систему в
специальном окне.
• На экране появляется окно Параметры курса
преподавателя.
• В окне имеется ряд кнопок, используя которые можно
выполнить ряд операций:
– Проверить пароль,
– Добавить курс,
– Удалить курс,
– Просмотр расписания,
– Печать расписания.
• Для реализации каждой из операций предусмотрено свое
диалоговое окно, которое реализуется с помощью
граничного класса.
8
9.
Граничные классы9
10.
Добавить курс• Операция Добавить курс подразумевает добавление
преподавателя к учебному курсу в качестве учителя.
• Данный сценарий требует отдельного окна для ввода
преподавателем необходимой информации.
• Окно содержит следующие элементы:
– поле ввода Название предмета;
– поле ввода Номер предмета;
– список Учебные курсы;
– кнопку ОК;
– кнопку Отмена;
– кнопку Выход.
• После того как преподаватель ввел название и номер
предмета, система получит и отобразит список учебных
курсов. Затем преподаватель может выбрать учебный курс.
По кнопке ОК учебный курс закрепляется за
преподавателем.
10
11.
Добавить курс11
12.
Управляющие классыУправляющие классы (control class) служат для моделирования
последовательного поведения одного или нескольких вариантов
использования и координации событий, реализующих заложенное в них
поведение.
Управляющие классы можно представить как классы, «исполняющие»
вариант использования и определяющие его динамику. Они обычно
зависят от приложения.
На ранней стадии проработки управляющие классы добавляются для
каждой пары актер/вариант использования.
Управляющие классы определяют поток событий в вариантах
использования.
Вопрос использования управляющих классов очень субъективный.
Многие авторы утверждают, что их применение приводит к отделению
данных от поведения. Это может случиться, если управляющие классы
выбраны неаккуратно. Если управляющий класс реализует что-то
большее, чем последовательное действие, то он делает слишком
много.
Управляющий класс для каждой пары актер/вариант использования
создается на начальном этапе. При дальнейшем анализе и
проектировании управляющие классы могут исключаться, разделяться
или объединяться.
12
13.
Управляющий класс• Управляющий класс «Менеджер курсов
преподавателя» служит для обработки потока
событий варианта использования «Выбор курсов
для преподавания».
13
14.
Добавить курс14
15.
Главная диаграмма• Главная диаграмма классов обычно представляет собой
диаграмму пакетов.
• В UML Designer - это диаграмма Package Hierarchy.
• Каждый пакет со своими классами рисуется на диаграмме классов.
15
16.
Пакет "Интерфейсы"16
17.
Пакет "Объекты университета"17
18.
Пакет "Сведения о людях"18
19.
Атрибуты классов19
20.
Операции и атрибуты классов20
21.
Пример ассоциативного класса• Студент посещает курсы лекций (в
количестве от 0 до 4).
• Каждый курс посещают студенты (в
количестве от 3 до 10).
• По итогам курса студенту выставляется
оценка.
• Студенту выдается отчет о прослушанных
курсах с указанием полученных оценок.
• Ассоциативный класс может иметь
отношения с другими классам, как
обычный класс.
21
22.
Ассоциативный класс Оценка22