ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 16.03.2024
Просмотров: 94
Скачиваний: 0
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
не было найдено никакого подходящего элемента, то никакого элемента не было удалено, и клиенту возвращается значение false.
@startuml
LibraryClient > Library : deleteEntity(id : long) loop all elements in list
Library > LibraryEntityList : getEntity LibraryEntityList > Library : anEntity alt anEntity.id == id
Library > LibraryEntityList : deleteFromList(entity : LibraryEntity) Library > LibraryClient : true
end
end
Library > LibraryClient : false @enduml
После создания диаграмм последовательностей, стало ясно, что диаграмма классов нуждается в доработке: появился класс LibraryClient, который связан отношением зависимости с классом Library.
Изменились возвращаемые значения в операциях поиска в классе Library.
@startuml
skinparam classAttributeIconSize 0
interface LibraryEntity {
+getID() : long
+getName() : String
}
abstract class AbstractBook {
ID : long
name : String
}
class Book {
ISBN : String
author : String [1..*]
year : int
}
class Magazine {
datePublication: LocalDate
publisher : String
}
note right: LocalDate is from DateTime API in Java 8
class Library {
numberOfEntities : long
name : String
+findEntityByName(name : String) : ResultEntityList
+findEntityByID(id : long) : ResultEntityList
+addNewEntity(entity : LibraryEntity) : boolean
+deleteEntity(id : long) : boolean
}
class LibraryClient
LibraryEntity "0..*" <> "1" Library
LibraryEntity <|.. AbstractBook AbstractBook <| Book AbstractBook <| Magazine
LibraryClient ..> Library @enduml
В каждом варианте необходимо разработать начальную архитектуру проекта. Архитектура должна быть представлена в виде диаграммы классов и двух диаграмм последовательности, представляющих наиболее сложные к пониманию взаимодействия составляющих проект сущностей.
Проект “Управление магазином сладостей”.
Проект “Расписание железнодорожной станции”.
Проект “Рисование геометрических фигур”.
Проект “Редактирование видеофайлов”.
Проект “Электронная зачетная книжка”.
Проект “Хранитель паролей”.
Проект “Расчет скидок” для магазина электронной техники.
Проект “Управление установленными приложениями”.
Проект “Модель Солнечной системы”.
Проект “Магазин электронных книг”.
Проект “Расписание школьных уроков”.
Проект “Электронный школьный дневник”.
Проект “Текстовый редактор”.
Проект “Справочник болезней”.
Проект “Управление закладками”.
@startuml
LibraryClient > Library : deleteEntity(id : long) loop all elements in list
Library > LibraryEntityList : getEntity LibraryEntityList > Library : anEntity alt anEntity.id == id
Library > LibraryEntityList : deleteFromList(entity : LibraryEntity) Library > LibraryClient : true
end
end
Library > LibraryClient : false @enduml
Коррекция диаграммы классов
После создания диаграмм последовательностей, стало ясно, что диаграмма классов нуждается в доработке: появился класс LibraryClient, который связан отношением зависимости с классом Library.
Изменились возвращаемые значения в операциях поиска в классе Library.
@startuml
skinparam classAttributeIconSize 0
interface LibraryEntity {
+getID() : long
+getName() : String
}
abstract class AbstractBook {
ID : long
name : String
}
class Book {
ISBN : String
author : String [1..*]
year : int
}
class Magazine {
datePublication: LocalDate
publisher : String
}
note right: LocalDate is from DateTime API in Java 8
class Library {
numberOfEntities : long
name : String
+findEntityByName(name : String) : ResultEntityList
+findEntityByID(id : long) : ResultEntityList
+addNewEntity(entity : LibraryEntity) : boolean
+deleteEntity(id : long) : boolean
}
class LibraryClient
LibraryEntity "0..*" <> "1" Library
LibraryEntity <|.. AbstractBook AbstractBook <| Book AbstractBook <| Magazine
LibraryClient ..> Library @enduml
Задания для самостоятельной работы
В каждом варианте необходимо разработать начальную архитектуру проекта. Архитектура должна быть представлена в виде диаграммы классов и двух диаграмм последовательности, представляющих наиболее сложные к пониманию взаимодействия составляющих проект сущностей.
Вариант №1, 16
Проект “Управление магазином сладостей”.
Вариант №2, 17
Проект “Расписание железнодорожной станции”.
Вариант №3, 18
Проект “Рисование геометрических фигур”.
Вариант №4, 19
Проект “Редактирование видеофайлов”.
Вариант №5, 20
Проект “Электронная зачетная книжка”.
Вариант №6, 21
Проект “Хранитель паролей”.
Вариант №7, 22
Проект “Расчет скидок” для магазина электронной техники.
Вариант №8, 23
Проект “Управление установленными приложениями”.
Вариант №9, 24
Проект “Модель Солнечной системы”.
Вариант №10, 25
Проект “Магазин электронных книг”.
Вариант №11, 26
Проект “Расписание школьных уроков”.
Вариант №12, 27
Проект “Электронный школьный дневник”.
Вариант №13, 28
Проект “Текстовый редактор”.
Вариант №14, 29
Проект “Справочник болезней”.
Вариант №15, 30
Проект “Управление закладками”.
Литература, ссылки
-
Фаулер M. UML. Основы, 3е издание. – Пер. с англ. – СПб: СимволПлюс, 2004. – 192 с., ил. -
Иванов Д. Ю., Новиков Ф. А. Основы моделирования на UML: Учеб. пособие. – СПб.: Издво Политехн. унта, 2010. – 249с. -
https://ru.wikipedia.org/wiki/UML -
https://ru.wikipedia.org/wiki/%C4%E8%E0%E3%F0%E0%EC%EC%E0_%EA%EB%E0%F1%F1% EE%E2 -
https://ru.wikipedia.org/wiki/IntelliJ_IDEA -
http://blog.gelin.ru/2014/02/plantuml.html -
http://plantuml.sourceforge.net/PlantUML_Language_Reference_Guide.pdf