Лабораторная работа №25. Понятие графа. Алгоритмы поиска кратчайших путей


Сценарий удаления чего-либо из библиотеки по идентификатору


Download 1.45 Mb.
bet38/39
Sana13.09.2023
Hajmi1.45 Mb.
#1677325
TuriЛабораторная работа
1   ...   31   32   33   34   35   36   37   38   39
Bog'liq
Blok 5

Сценарий удаления чего-либо из библиотеки по идентификатору
Клиент библиотеки посылает библиотеке запрос на удаление элемента из библиотеки. Класс библиотеки просматривает весь список своих элементов и ищет такой элемент, ID которого совпадает с запрашиваемым. Если такой элемент находится (используется фрейм alt), то из списка этот элемент удаляется, а клиенту возвращается значение true (элемент на самом деле удален). Если же в списке не было найдено никакого подходящего элемента, то никакого элемента не было удалено, и клиенту возвращается значение 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


Download 1.45 Mb.

Do'stlaringiz bilan baham:
1   ...   31   32   33   34   35   36   37   38   39




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling