Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ПКС / ПКС. Материалы лекций

.pdf
Скачиваний:
6
Добавлен:
19.09.2023
Размер:
3.23 Mб
Скачать

UML-диаграмма объектов (Object)

class "_debug2:DebugLogger" as _debug2 <<stereotype_object>>{

# nextLogger = _error2

}

class "_error1:ErrorLogger" as _error1 <<stereotype_object>>{

# nextLogger = null

}

class "_error2:ErrorLogger" as _error2 <<stereotype_object>>{

# nextLogger = null

}

class "_error3:ErrorLogger" as _error3 <<stereotype_object>>{

# nextLogger = null

}

81

ChainPattern -down-> _info1 _info1 -right-> _debug1 _debug1 -right-> _error1 ChainPattern -right-> _debug2

_debug2 -right-> _error2

ChainPattern --> _error3

@enduml

UML-диаграмма объектов

82

(Object): пример скрипта и диаграммы в PlantUML

@startuml

object "default.aspx" as def_page { usernameTextBox.Text : string = av passwordTextBox.Text : string = 123

}

object "registration.aspx" as reg_page { firstnameTextBox.Text : string = a lastnameTextBox.Text : string = p middlenameTextBox.Text : string = v emailTextBox.Text : string = @ usernameTextBox.Text : string = av passwordTextBox.Text : string = 123

}

object "loggedIn.aspx" as log_page { userLabel.Text : string = av

}

def_page --> reg_page def_page --> log_page reg_page ..> log_page

@enduml

UML-диаграмма объектов (Object): пример фрагментов работы веб-

83

приложения (ASP.NET)

UML-диаграмма объектов

84

(Object): пример скрипта и диаграммы в PlantUML

@startuml

object "WebForm_main.aspx" as web_main {

}

object "Select.aspx" as ins_page { tbox_ot.Text : string = 10000 tbox_do.Text : string = 20000

checkBox_front_camera.checked : bool = false

}

object "Insert.aspx" as sel_page { tbox_name_telephone.Text : string = Samsung k961 tbox_insert_prise.Text : string = 33000 chbox_mainCamera.checked : string = true chbox_faceCamera.checked : string = true chbox_defenition.checked : string = false

}

web_main ---> sel_page web_main <--- sel_page web_main ---> ins_page web_main <--- ins_page ins_page ---> sel_page sel_page ---> ins_page @enduml

UML-диаграмма классов (Class)

 

85

Диаграмма классов (Class) определяет абстрактный метакласс (высокоуровневый класс), для которого конкретные подклассы используются, чтобы классифицировать различные виды значений.

class (класс) – блок, определяющий класс в виде совокупности данных (_level и nextLogger

на слайде 5) и методов (main(), write() и setNext() на слайде 5);

template (шаблон, параметризованный класс) определяет типизированный класс, как правило, абстрактный (AbstractLogger на слайде 5);

attribute (атрибут класса) определяет уровни доступа к элементам класса: «+» – общедоступные (public) данные и методы, «-» – приватные (private) элементы класса, «#» – защищенные (protected) данные и методы класса; спецификация самих данных и параметров методов определяется как для диаграммы объектов;

generalization (обобщение) определяет взаимосвязь наследования классов (<<inherit>>), при этом особым образом указывается наследование параметризованного класса (<<implement>>: реализация наследуемых интерфейсов);

bind (связывание) определяет степень взаимосвязи данного класса с другими объектами: различают «жесткую» (rigid: указывается в виде составного элемента или взаимосвязи с закрашенным ромбом: например, <<derive>> на слайде 5: типизированная взаимосвязь извлечения данных) и «гибкую» связи (flexible: указывается в виде взаимосвязи без закрашенного ромба: например, <<use>> на слайде 5: типизированная взаимосвязь обращения к данным).

UML-диаграмма классов (Class)

 

86

Details Suppressed, Analysis-level Details,

Implementation-level Details

UML-диаграмма классов (Class)

 

87

Composition class

UML-диаграмма классов (Class)

 

88

Graphical Adornments on Association Roles

UML-диаграмма классов (Class)

 

89

UML-диаграмма классов (Class)

 

90