ЁЯУШ рдкрд░рд┐рдЪрдп: рдЕрд▓рдЧ-рдЕрд▓рдЧ рдШрдЯрдХреЛрдВ рд╕реЗ рдЬреБрдбрд╝реЗ рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рддрдХ тАФ рдХреНрд▓рд╛рд╕ рдЖрд░реЗрдЦреЛрдВ рдХрд╛ рд╡рд┐рдХрд╛рд╕
рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╡рд┐рдХрд╛рд╕ рдХреА рджреБрдирд┐рдпрд╛ рдореЗрдВ, рдХреНрд▓рд╛рд╕ рдЖрд░реЗрдЦ рд╕рд┐рд░реНрдл рд╕реНрдерд┐рд░ рдЪрд┐рддреНрд░рдг рд╕реЗ рдЕрдзрд┐рдХ рд╣реИрдВ тАФ рд╡реЗ рдЙрд╕ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд╕рд╛рде рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрддреЗ рд░рд╣рдиреЗ рд╡рд╛рд▓реЗ рдЬреАрд╡рдВрдд рдирдХреНрд╢реЗ рд╣реИрдВ рдЬрд┐рдирдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╣рд░ рдЪрд░рдг рдореЗрдВ, рд╢реБрд░реБрдЖрддреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рд╕реЗ рд▓реЗрдХрд░ рд░рд┐рд▓реАрдЬ рдХреЗ рдмрд╛рдж рд░рдЦрд░рдЦрд╛рд╡ рддрдХ, рдХреНрд▓рд╛рд╕ рдЖрд░реЗрдЦ рдХреЗ рдкреАрдЫреЗ рд╡рд┐рд╕реНрддрд╛рд░, рд╕рдВрд░рдЪрдирд╛ рдФрд░ рдЙрджреНрджреЗрд╢реНрдп рдореЗрдВ рднрд╛рд░реА рдмрджрд▓рд╛рд╡ рдЖрддрд╛ рд╣реИред рдлрд┐рд░ рднреА, рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдЧрд▓рддреА рдмрдиреА рд░рд╣рддреА рд╣реИ: рдЕрд▓рдЧ-рдЕрд▓рдЧ рдШрдЯрдХ.
рд╕рд╛рдорд╛рдиреНрдп рднреБрдЧрддрд╛рди рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреНрд▓рд╛рд╕ рдХреЛ рджреЗрдЦреЗрдВ тАФ рдХреНрд░реЗрдбрд┐рдЯ рдХрд╛рд░реНрдб рдкреНрд░реЛрд╕реЗрд╕рд░, рдкреЗ рдкреИрд▓ рдкреНрд░реЛрд╕реЗрд╕рд░, рдФрд░ рд╕реНрдЯреНрд░рд╛рдЗрдк рдкреНрд░реЛрд╕реЗрд╕рд░ тАФ рдЕрдХреНрд╕рд░ рдХреНрд▓рд╛рд╕ рдЖрд░реЗрдЦ рдореЗрдВ рд╕реНрд╡рддрдВрддреНрд░, рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЗрдХрд╛рдЗрдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдореЙрдбрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрдм рддрдХ рд╢реБрд░реБрдЖрддреА рдбрд┐рдЬрд╛рдЗрди рдореЗрдВ рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдЧрд╣рд░реА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рддрд╛ рд╣реИ: рдПрдХреАрдХрд░рдг рдФрд░ рд╡реНрдпрд╡рд╣рд╛рд░ рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреА рдХрдореАред рдЗрди рдХреНрд▓рд╛рд╕реЗрд╕ рдХрд╛ рдЕрд▓рдЧрд╛рд╡ рдореЗрдВ рдЕрд╕реНрддрд┐рддреНрд╡ рд╣реИ, рдЪрдпрди, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдпрд╛ рд░рдирдЯрд╛рдЗрдо рд▓рдЪреАрд▓рд╛рдкрди рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕реНрдкрд╖реНрдЯ рддрдВрддреНрд░ рдирд╣реАрдВ рд╣реИред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдбрд┐рдЬрд╛рдЗрди рдХрдареЛрд░ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рдХрдард┐рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
рдпрд╣ рд▓реЗрдЦ рдпрд╣ рдЬрд╛рдВрдЪрддрд╛ рд╣реИ рдХрд┐ рдХреНрд▓рд╛рд╕ рдЖрд░реЗрдЦреЛрдВ рдХреЛ рдХреИрд╕реЗ рд╡рд┐рдХрд╛рд╕ рдЪрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП тАФ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПрд╡рд┐рдХрд╛рд╕ рдЪрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде тАФ рдЙрдЪреНрдЪ рд╕реНрддрд░реАрдп рдЕрд╡рдзрд╛рд░рдгрд╛рддреНрдордХ рдореЙрдбрд▓ рд╕реЗ рд▓реЗрдХрд░ рд╡рд┐рд╕реНрддреГрдд, рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рддреИрдпрд╛рд░ рдбрд┐рдЬрд╛рдЗрди рддрдХ тАФ рдФрд░ рдпрд╣ рдХреИрд╕реЗ рд░рдгрдиреАрддрд┐рдХ рд╕рдВрдмрдВрдзрдШрдЯрдХреЛрдВ рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдз рдПрдХ рдЯреВрдЯреА рд╣реБрдИ рдкреНрд░рдгрд╛рд▓реА рдХреЛ рдПрдХ рдПрдХреАрдХреГрдд, рд╕реНрдХреЗрд▓ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдореЗрдВ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдо рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░реЗрдВрдЧреЗ: рднреБрдЧрддрд╛рди рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдЙрдкрдкреНрд░рдгрд╛рд▓реА тАФ рдФрд░ рджрд┐рдЦрд╛рдПрдВрдЧреЗ рдХрд┐ рдХреИрд╕реЗ рд░рдгрдиреАрддрд┐ рдкреИрдЯрд░реНрди, рдлреИрдХреНрдЯреНрд░реА рдкреИрдЯрд░реНрди, рдФрд░ рдирд┐рд░реНрднрд░рддрд╛ рдирд┐рд╡реЗрд╢рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХреНрд▓рд╛рд╕реЗрд╕ рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЧрддрд┐рд╢реАрд▓, рд░рдЦрд░рдЦрд╛рд╡ рдпреЛрдЧреНрдп рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдмреАрдЪ рдХреЗ рдЕрдВрддрд░ рдХреЛ рдкрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд▓рд╛рдВрдЯрдпреВрдПрдордПрд▓ рдЖрд░реЗрдЦрдФрд░ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдбрд┐рдЬрд╛рдЗрди рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рдЖрдк рд╕реАрдЦреЗрдВрдЧреЗ рдХрд┐ рдХреИрд╕реЗ:
- рд╕реНрдерд┐рд░ рдХреНрд▓рд╛рд╕ рд╕рдВрдмрдВрдзреЛрдВ рд╕реЗ рдЖрдЧреЗ рдмрдврд╝реЗрдВред
- рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдФрд░ рд░рдирдЯрд╛рдЗрдо рдЧрддрд┐рд╢реАрд▓рддрд╛ рдХреЛ рдореЙрдбрд▓ рдХрд░реЗрдВред
- рд▓рдЪреАрд▓реЗ, рд╡рд┐рд╕реНрддрд╛рд░реНрдп рдФрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХрд╛ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд░реЗрдВред
рдЕрдВрдд рддрдХ, рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдПрдХ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рдХреНрд▓рд╛рд╕ рдбрд╛рдпрдЧреНрд░рд╛рдо рдХреЗрд╡рд▓ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдЙрдкрдХрд░рдг рдирд╣реАрдВ рд╣реИ тАФ рдпрд╣ рдПрдХ рд╣реИрдЖрдкрдХреЗ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреА рджреГрд╖реНрдЯрд┐.
рдХреНрд▓рд╛рд╕ рдбрд╛рдпрдЧреНрд░рд╛рдо рд╡рд╕реНрддреБ-рдЕрднрд┐рдореБрдЦреА рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдореЙрдбрд▓рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА UML рдЙрдкрдХрд░рдгреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рдЙрдирдХрд╛┬ард╡рд┐рд╕реНрддрд╛рд░ рдХрд╛ рд╕реНрддрд░┬ардХрд╛рдлреА рддрд░реАрдХреЗ рд╕реЗ рдмрджрд▓рддрд╛ рд╣реИ, рдЬреЛ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ┬ард╡рд┐рдХрд╛рд╕ рдЪрд░рдгред рдЗрд╕ рдЧрд╛рдЗрдб рдореЗрдВ рдЖрдкрдХреЛ рдЪрд╛рд░ рдореБрдЦреНрдп рдЪрд░рдгреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓реЗ рдЬрд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛рдЪрд╛рд░ рдореБрдЦреНрдп рдЪрд░рдгреЛрдВ┬ард╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдФрд░ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреНрд▓рд╛рд╕ рдбрд╛рдпрдЧреНрд░рд╛рдо рдХреИрд╕реЗ рдЗрд╕рдХреЗ рдЕрдиреБрд░реВрдк рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрддреЗ рд╣реИрдВред
ЁЯзй 1.┬ардЪрд░рдг 1: рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ рдФрд░ рдЕрд╡рдзрд╛рд░рдгрд╛рддреНрдордХ рдбрд┐рдЬрд╝рд╛рдЗрди (рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЪрд░рдг)
ЁЯОп рдЙрджреНрджреЗрд╢реНрдп:
-
рдЙрдЪреНрдЪ рд╕реНрддрд░ рдХреА рдХреНрд╖реЗрддреНрд░ рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦреЗрдВред
-
рдореБрдЦреНрдп рдПрдВрдЯрд┐рдЯреАрдЬрд╝ рдФрд░ рдЙрдирдХреЗ рд╕рдВрдмрдВрдзреЛрдВ рдХреЛ рдкрд╣рдЪрд╛рдиреЗрдВред
-
рд╕реНрдЯреЗрдХрд╣реЛрд▓реНрдбрд░реНрд╕ рдФрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдмреАрдЪ рд╕рдВрдЪрд╛рд░ рдХреЛ рд╕реБрдЧрдо рдмрдирд╛рдПрдВред
ЁЯФН рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ:
-
рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░реЗрдВ┬ардХреНрд╖реЗрддреНрд░ рдПрдВрдЯрд┐рдЯреАрдЬрд╝┬ардФрд░┬ард╕рдВрдмрдВрдз.
-
рдХреЛрдИ рд╡рд┐рдзрд┐рдпрд╛рдБ рдпрд╛ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рдирд╣реАрдВ (рдпрд╛ рдиреНрдпреВрдирддрдо)ред
-
рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ┬ард╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг,┬ард╕рдВрдмрдВрдз,┬ардПрдЧреНрд░реАрдЧреЗрд╢рди, рдФрд░┬ард╕рдВрдпреЛрдЬрди.
-
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рд╡рд░рдг (рдЬреИрд╕реЗ, рдкрд╣реБрдБрдЪ рд╕рдВрд╢реЛрдзрдХ, рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░) рд╕реЗ рдмрдЪреЗрдВред
ЁЯУМ рдЙрджрд╛рд╣рд░рдг: рдИ-рдХреЙрдорд░реНрд╕ рд╕рд┐рд╕реНрдЯрдо (рдЕрд╡рдзрд╛рд░рдгрд╛рддреНрдордХ рд╕реНрддрд░)
@startuml
' рдЕрд╡рдзрд╛рд░рдгрд╛рддреНрдордХ рдХреНрд▓рд╛рд╕ рдЖрд░реЗрдЦ - рдЪрд░рдг 1: рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ
class рдЧреНрд░рд╛рд╣рдХ {
+рдирд╛рдо: String
+рдИрдореЗрд▓: String
}
class рдЙрддреНрдкрд╛рдж {
+рдирд╛рдо: String
+рдореВрд▓реНрдп: Decimal
}
class рдЖрджреЗрд╢ {
+рдЖрджреЗрд╢ рддрд┐рдерд┐: Date
+рд╕реНрдерд┐рддрд┐: String
}
рдЧреНрд░рд╛рд╣рдХ "1" -- "0..*" рдЖрджреЗрд╢ : рд░рдЦрддрд╛ рд╣реИ
рдЖрджреЗрд╢ "1" -- "1..*" рдЙрддреНрдкрд╛рдж : рд╕рдорд╛рд╡реЗрд╢ рдХрд░рддрд╛ рд╣реИ
рдЙрддреНрдкрд╛рдж "1" -- "0..*" рдЖрджреЗрд╢ : рдмреЗрдЪрд╛ рдЬрд╛рддрд╛ рд╣реИ
note right of рдЧреНрд░рд╛рд╣рдХ
рдЙрддреНрдкрд╛рдж рдЦрд░реАрджрдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИ
end note
note right of рдЙрддреНрдкрд╛рдж
рднреМрддрд┐рдХ рдпрд╛ рдбрд┐рдЬрд┐рдЯрд▓ рдмрд┐рдХреНрд░реА рдХреЗ рд▓рд┐рдП рд╡рд╕реНрддреБ
end note
note right of рдЖрджреЗрд╢
рдПрдХ рд▓реЗрдирджреЗрди рд░рд┐рдХреЙрд░реНрдб
end note
@enduml
тЬЕ┬ардЙрдкрдпреЛрдЧ рдХреЗрд╕: рд╕реНрдЯреЗрдХрд╣реЛрд▓реНрдбрд░реНрд╕ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░реЗрдВ, рдбреЛрдореЗрди рдореЙрдбрд▓ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдПрдВ, рд╡реНрдпрд╛рдкрд╛рд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдХреЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХрд░реЗрдВред
ЁЯз▒ 2.┬ардЪрд░рдг 2: рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдФрд░ рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рдбрд┐рдЬрд╛рдЗрди (рдордзреНрдп рдЪрд░рдг)
ЁЯОп рдЙрджреНрджреЗрд╢реНрдп:
-
рдбреЛрдореЗрди рдореЙрдбрд▓ рдХреЛ рдЕрдзрд┐рдХ рд╕рдВрд░рдЪрд┐рдд рдбрд┐рдЬрд╛рдЗрди рдореЗрдВ рдмрджрд▓реЗрдВред
-
рдкрд░рд┐рдЪрдп рджреЗрдВ┬ард▓рдХреНрд╖рдг,┬ардореВрд▓ рд╕рдВрдЪрд╛рд▓рди, рдФрд░┬ард╕рдВрдмрдВрдз.
-
рдкрд╣рдЪрд╛рдирдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВ┬ардЗрдВрдЯрд░рдлреЗрд╕,┬ардЕрдореВрд░реНрдд рдХреНрд▓рд╛рд╕реЗрд╕, рдФрд░┬ардбрд┐рдЬрд╛рдЗрди рдкреИрдЯрд░реНрди.
ЁЯФН рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ:
-
рдЬреЛрдбрд╝реЗрдВ┬ард▓рдХреНрд╖рдг┬ардФрд░┬ардСрдкрд░реЗрд╢рди┬а(рдиреНрдпреВрдирддрдо рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде)ред
-
рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ┬ардПрдмрд╕реНрдЯреНрд░реИрдХреНрдЯ рдХреНрд▓рд╛рд╕реЗрд╕┬ардФрд░┬ардЗрдВрдЯрд░рдлреЗрд╕.
-
рдкрд░рд┐рдЪрдп рджреЗрдВ┬ардмрд╣реБрд▓рддрд╛┬ардФрд░┬ардиреЗрд╡рд┐рдЧреЗрдмрд┐рд▓рд┐рдЯреА.
-
рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВ┬ардЬрд┐рдореНрдореЗрджрд╛рд░рд┐рдпрд╛рдБ┬ардФрд░┬ард╕рдВрдЧрдарди.
ЁЯУМ рдЙрджрд╛рд╣рд░рдг: рдИ-рдХреЙрдорд░реНрд╕ рд╕рд┐рд╕реНрдЯрдо (рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╕реНрддрд░)
@startuml
' рдЙрдЪреНрдЪ рд╕реНрддрд░реАрдп рдХреНрд▓рд╛рд╕ рдбрд╛рдпрдЧреНрд░рд╛рдо - рдЪрд░рдг 2: рд╡рд┐рд╢реНрд▓реЗрд╖рдг
@startuml
' рдЙрдЪреНрдЪ рд╕реНрддрд░реАрдп рдХреНрд▓рд╛рд╕ рдбрд╛рдпрдЧреНрд░рд╛рдо - рдЪрд░рдг 2: рд╡рд┐рд╢реНрд▓реЗрд╖рдг
рдПрдмрд╕реНрдЯреНрд░реИрдХреНрдЯ рдХреНрд▓рд╛рд╕ рдСрд░реНрдбрд░ {
- orderID: String
- orderDate: Date
- status: String
+calculateTotal(): Decimal
+validate(): Boolean
+save(): void
}
class рдЧреНрд░рд╛рд╣рдХ {
- customerID: String
- name: String
- email: String
+addOrder(order: Order): void
+getOrders(): List<Order>
}
class рдЙрддреНрдкрд╛рдж {
- productID: String
- name: String
- price: Decimal
- stockQuantity: Integer
+isInStock(): Boolean
+updateStock(amount: Integer): void
}
class рдСрд░реНрдбрд░рдЖрдЗрдЯрдо {
- quantity: Integer
- unitPrice: Decimal
+getSubtotal(): Decimal
}
рдЧреНрд░рд╛рд╣рдХ "1" -- "0..*" рдСрд░реНрдбрд░ : рд░рдЦрддрд╛ рд╣реИ
рдСрд░реНрдбрд░ "1" -- "1..*" рдСрд░реНрдбрд░рдЖрдЗрдЯрдо : рд╕рдорд╛рд╡реЗрд╢ рдХрд░рддрд╛ рд╣реИ
рдСрд░реНрдбрд░рдЖрдЗрдЯрдо "1" -- "1" рдЙрддреНрдкрд╛рдж : рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ
рдЙрддреНрдкрд╛рдж "1" -- "0..*" рдСрд░реНрдбрд░рдЖрдЗрдЯрдо : рдЙрдкрд╕реНрдерд┐рдд рд╣реЛрддрд╛ рд╣реИ
рдЗрдВрдЯрд░рдлреЗрд╕ рдкреЗрдореЗрдВрдЯ рдкреНрд░реЛрд╕реЗрд╕рд░ {
+processPayment(amount: Decimal): Boolean
}
рдСрд░реНрдбрд░ "1" -- "1" рдкреЗрдореЗрдВрдЯ рдкреНрд░реЛрд╕реЗрд╕рд░ : рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ
@enduml
тЬЕ┬ардЙрдкрдпреЛрдЧ рдХреЗрд╕: рдбрд┐рдЬрд╝рд╛рдЗрди рд╕рдореАрдХреНрд╖рд╛, рдЯреАрдо рд╕рдордиреНрд╡рдп, рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдирд┐рд░реНрдгрдпред
ЁЯФз 3.┬ардЪрд░рдг 3: рд╡рд┐рд╕реНрддреГрдд рдбрд┐рдЬрд╝рд╛рдЗрди рдФрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди (рдЕрдВрддрд┐рдо рдЪрд░рдг)
ЁЯОп рдЙрджреНрджреЗрд╢реНрдп:
-
рдХреЛрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░реА рдХрд░реЗрдВред
-
рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ┬ард╕рдЯреАрдХ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ,┬ард╡рд┐рдзрд┐рдпрд╛рдБ,┬ардбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░,┬ардкрд╣реБрдБрдЪ рд╕рдВрд╢реЛрдзрдХ.
-
рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ┬ард╕реАрдорд╛рдПрдБ,┬ардирд┐рд░реНрднрд░рддрд╛рдПрдБ,┬ард╕рдВрдмрдВрдз, рдФрд░┬ард╕рдВрдпреЛрдЬрди.
-
рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ┬ардбрд┐рдЬрд╝рд╛рдЗрди рдкреИрдЯрд░реНрди┬а(рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдлреИрдХреНрдЯреНрд░реА, рд░рдгрдиреАрддрд┐, рд╕рд┐рдВрдЧрд▓рдЯрди)ред
ЁЯФН рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ:
-
рдкреВрд░реНрдг рд╡рд┐рдзрд┐ рд╕рд┐рдЧреНрдиреЗрдЪрд░ рдФрд░ рд▓реМрдЯрд╛рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рдХрд╛рд░ред
-
рдХрд╛ рдЙрдкрдпреЛрдЧ┬ардкрд╣реБрдБрдЪ рд╕рдВрд╢реЛрдзрдХ┬а(
+,┬а-,┬а#). -
рдирд┐рд░реНрднрд░рддрд╛рдПрдБ,┬ард╡рд┐рд░рд╛рд╕рдд,┬ардЗрдВрдЯрд░рдлреЗрд╕рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИрдВред
-
рд╢рд╛рдорд┐рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ┬ард╕реАрдорд╛рдПрдБ┬а(рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,┬а
<<рд╕реАрдорд╛>>).
ЁЯУМ рдЙрджрд╛рд╣рд░рдг: рдИ-рдХреЙрдорд░реНрд╕ рд╕рд┐рд╕реНрдЯрдо (рд╡рд┐рд╕реНрддреГрдд рдбрд┐рдЬрд╝рд╛рдЗрди)
@startuml
' рд╡рд┐рд╕реНрддреГрдд рдХреНрд▓рд╛рд╕ рдбрд╛рдпрдЧреНрд░рд╛рдо - рдЪрд░рдг 3: рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
@startuml
' рд╡рд┐рд╕реНрддреГрдд рдХреНрд▓рд╛рд╕ рдбрд╛рдпрдЧреНрд░рд╛рдо - рдЪрд░рдг 3: рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
class Customer {
- customerID: String
- name: String
- email: String
- address: String
+addOrder(order: Order): void
+getOrders(): List<Order>
+validateEmail(): Boolean
}
class Order {
- orderID: String
- orderDate: Date
- status: OrderStatus
- total: Decimal
+calculateTotal(): Decimal
+validate(): Boolean
+save(): void
+cancel(): void
}
class OrderItem {
- quantity: Integer
- unitPrice: Decimal
+getSubtotal(): Decimal
}
class Product {
- productID: String
- name: String
- price: Decimal
- stockQuantity: Integer
+isInStock(): Boolean
+updateStock(amount: Integer): void
+getPrice(): Decimal
}
class PaymentProcessor {
+processPayment(amount: Decimal): Boolean
}
class CreditCardProcessor {
+processPayment(amount: Decimal): Boolean
}
class Payment {
- paymentID: String
- amount: Decimal
- method: String
- timestamp: Date
+confirm(): Boolean
}
' рд╡рд┐рд░рд╛рд╕рдд
Customer <|-- PremiumCustomer
' рдЗрдВрдЯрд░рдлреЗрд╕
PaymentProcessor <|-- CreditCardProcessor
PaymentProcessor <|-- PayPalProcessor
' рд╕рдВрдмрдВрдз
Customer "1" -- "0..*" Order : рд░рдЦрддрд╛ рд╣реИ
Order "1" -- "1..*" OrderItem : рд╕рдорд╛рд╡реЗрд╢ рдХрд░рддрд╛ рд╣реИ
OrderItem "1" -- "1" Product : рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ
Order "1" -- "1" Payment : рд░рдЦрддрд╛ рд╣реИ
PaymentProcessor "1" -- "1" Payment : рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рддрд╛ рд╣реИ
' рд╕реАрдорд╛рдПрдБ
note right of Order
рд╕реНрдерд┐рддрд┐: [рдкреНрд░рддреАрдХреНрд╖рд╛, рдкреБрд╖реНрдЯрд┐, рднреЗрдЬрд╛ рдЧрдпрд╛, рд░рджреНрдж рдХрд┐рдпрд╛ рдЧрдпрд╛]
end note
note right of Product
рдмрд┐рдХреНрд░реА рдХреЗ рд▓рд┐рдП рд╕реНрдЯреЙрдХ > 0 рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
end note
@enduml
тЬЕ┬ардЙрдкрдпреЛрдЧ рдХреЗрд╕: рдбреЗрд╡рд▓рдкрд░ рд╣реИрдВрдбрдСрдл, рдХреЛрдб рдЬрдирд░реЗрд╢рди, рдбрд┐рдЬрд╝рд╛рдЗрди рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдгред
ЁЯЫая╕П 4.┬ардЪрд░рдг 4: рд░рдЦрд░рдЦрд╛рд╡ рдФрд░ рд╡рд┐рдХрд╛рд╕ (рд░рд┐рд▓реАрдЬрд╝ рдХреЗ рдмрд╛рдж)
ЁЯОп рдЙрджреНрджреЗрд╢реНрдп:
-
рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдХрд░реЗрдВ┬ард╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдХреЗ рдкрд░рд┐рд╡рд░реНрддрди┬ард╕рд┐рд╕реНрдЯрдо рдореЗрдВред
-
рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХрд░реЗрдВ┬ард░рд┐рдлреИрдХреНрдЯрд░рд┐рдВрдЧ,┬ардЕрдкреНрд░рдЪрд▓рди,┬ардирдП рдлреАрдЪрд░.
-
рд╕рдорд░реНрдерди рдХрд░реЗрдВ┬арддрдХрдиреАрдХреА рдЛрдг рдЯреНрд░реИрдХрд┐рдВрдЧ┬ардФрд░┬ардкреНрд░рдгрд╛рд▓реА рд╕рдордЭ.
ЁЯФН рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ:
-
рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ┬ардЕрдкреНрд░рдЪрд▓рд┐рдд┬ард╡рд░реНрдЧ/рд╡рд┐рдзрд┐рдпрд╛рдБред
-
рджрд┐рдЦрд╛рдПрдБ┬ардирдП рд╡рд░реНрдЧ,┬ардкреБрдирд░реНрдирд╛рдорд┐рдд рддрддреНрд╡,┬ард╣рдЯрд╛рдП рдЧрдП рдШрдЯрдХ.
-
рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ┬ард╕реНрдЯреЗрд░рд┐рдпреЛрдЯрд╛рдЗрдкреНрд╕┬а(
<<рдЕрдкреНрд░рдЪрд▓рд┐рдд>>,┬а<<рдПрдХрд▓рддрд╛>>,┬а<<рдХрд╛рд░рдЦрд╛рдирд╛>>). -
рдЕрдХреНрд╕рд░┬ард╕рд░рд▓реАрдХреГрдд┬ардкрдардиреАрдпрддрд╛ рдХреЗ рд▓рд┐рдПред
ЁЯУМ рдЙрджрд╛рд╣рд░рдг: рдИ-рдХреЙрдорд░реНрд╕ рдкреНрд░рдгрд╛рд▓реА (рд░рдЦрд░рдЦрд╛рд╡ рдЪрд░рдг)
@startuml
тАШ рдкреБрдирд░реНрдирд┐рд░реНрдорд┐рдд рднреБрдЧрддрд╛рди рдкреНрд░рдгрд╛рд▓реА: рд░рдгрдиреАрддрд┐ + рдХрд╛рд░рдЦрд╛рдирд╛ рдкреИрдЯрд░реНрди
@startuml
тАШ рдирд╡реАрдиреАрдХреГрдд рднреБрдЧрддрд╛рди рдкреНрд░рдгрд╛рд▓реА: рд░рдгрдиреАрддрд┐ + рдлреИрдХреНрдЯрд░реА рдкреИрдЯрд░реНрди
тАШ рдЗрдВрдЯрд░рдлреЗрд╕
class рднреБрдЧрддрд╛рди рдкреНрд░реЛрд╕реЗрд╕рд░ {
+рднреБрдЧрддрд╛рди рдкреНрд░реЛрд╕реЗрд╕ (рд░рд╛рд╢рд┐: рджрд╢рдорд▓рд╡): рдмреВрд▓рд┐рдпрди
}
тАШ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд░рдгрдиреАрддрд┐рдпрд╛рдБ
class рдХреНрд░реЗрдбрд┐рдЯ рдХрд╛рд░реНрдб рдкреНрд░реЛрд╕реЗрд╕рд░ {
+рднреБрдЧрддрд╛рди рдкреНрд░реЛрд╕реЗрд╕ (рд░рд╛рд╢рд┐: рджрд╢рдорд▓рд╡): рдмреВрд▓рд┐рдпрди
}
class рдкреЗрд░реЙрд▓ рдкреНрд░реЛрд╕реЗрд╕рд░ {
+рднреБрдЧрддрд╛рди рдкреНрд░реЛрд╕реЗрд╕ (рд░рд╛рд╢рд┐: рджрд╢рдорд▓рд╡): рдмреВрд▓рд┐рдпрди
}
class рд╕реНрдЯреНрд░рд╛рдЗрдк рдкреНрд░реЛрд╕реЗрд╕рд░ {
+рднреБрдЧрддрд╛рди рдкреНрд░реЛрд╕реЗрд╕ (рд░рд╛рд╢рд┐: рджрд╢рдорд▓рд╡): рдмреВрд▓рд┐рдпрди
}
тАШ рдлреИрдХреНрдЯрд░реА рдкреИрдЯрд░реНрди
class рднреБрдЧрддрд╛рди рдкреНрд░реЛрд╕реЗрд╕рд░ рдлреИрдХреНрдЯрд░реА {
+рдкреНрд░реЛрд╕реЗрд╕рд░ рдмрдирд╛рдПрдБ (рдкреНрд░рдХрд╛рд░: рд╕реНрдЯреНрд░рд┐рдВрдЧ): рднреБрдЧрддрд╛рди рдкреНрд░реЛрд╕реЗрд╕рд░
+рдЙрдкрд▓рдмреНрдз рдкреНрд░рдХрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ(): рд╕реВрдЪреА<рд╕реНрдЯреНрд░рд┐рдВрдЧ>
}
тАШ рд░рдгрдиреАрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╕реЗрд╡рд╛
class рдСрд░реНрдбрд░ рд╕реЗрд╡рд╛ {
тАУ рдкреНрд░реЛрд╕реЗрд╕рд░: рднреБрдЧрддрд╛рди рдкреНрд░реЛрд╕реЗрд╕рд░
+рдСрд░реНрдбрд░ рдмрдирд╛рдПрдБ (рдЧреНрд░рд╛рд╣рдХ: рдЧреНрд░рд╛рд╣рдХ, рдЖрдЗрдЯрдо: рд╕реВрдЪреА<рдСрд░реНрдбрд░ рдЖрдЗрдЯрдо>): рдСрд░реНрдбрд░
+рднреБрдЧрддрд╛рди рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕реЗрдЯ рдХрд░реЗрдВ (рдкреНрд░реЛрд╕реЗрд╕рд░: рднреБрдЧрддрд╛рди рдкреНрд░реЛрд╕реЗрд╕рд░): рдирд╣реАрдВ
}
тАШ рднреБрдЧрддрд╛рди рдПрдВрдЯрд┐рдЯреА
class рднреБрдЧрддрд╛рди {
тАУ рднреБрдЧрддрд╛рдирдЖрдИрдбреА: рд╕реНрдЯреНрд░рд┐рдВрдЧ
тАУ рд░рд╛рд╢рд┐: рджрд╢рдорд▓рд╡
тАУ method: String
тАУ timestamp: Date
+confirm(): Boolean
}
тАШ рдЧреНрд░рд╛рд╣рдХ рдФрд░ рдЖрджреЗрд╢ (рд╕рд░рд▓реАрдХреГрдд)
class Customer {
тАУ customerID: String
тАУ name: String
тАУ email: String
+addOrder(order: Order): void
+getOrders(): List<Order>
}
class Order {
тАУ orderID: String
тАУ orderDate: Date
тАУ status: OrderStatus
тАУ total: Decimal
+calculateTotal(): Decimal
+validate(): Boolean
+save(): void
+cancel(): void
}
тАШ рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреЗрд░рд┐рдпреЛрдЯрд╛рдЗрдк
PaymentProcessor <<interface>>
CreditCardProcessor <<strategy>>
PayPalProcessor <<strategy>>
StripeProcessor <<strategy>>
PaymentProcessorFactory <<factory>>
OrderService <<service>>
тАШ рд╡рд┐рд░рд╛рд╕рдд: рд░рдгрдиреАрддрд┐ рдкреИрдЯрд░реНрди
рдХреНрд░реЗрдбрд┐рдЯ рдХрд╛рд░реНрдб рдкреНрд░реЛрд╕реЗрд╕рд░ <|тАУ рдкреЗрдореЗрдВрдЯ рдкреНрд░реЛрд╕реЗрд╕рд░
PayPal рдкреНрд░реЛрд╕реЗрд╕рд░ <|тАУ рдкреЗрдореЗрдВрдЯ рдкреНрд░реЛрд╕реЗрд╕рд░
рд╕реНрдЯреНрд░рд╛рдЗрдк рдкреНрд░реЛрд╕реЗрд╕рд░ <|тАУ рдкреЗрдореЗрдВрдЯ рдкреНрд░реЛрд╕реЗрд╕рд░
тАШ рдлреИрдХреНрдЯреНрд░реА рдкреНрд░реЛрд╕реЗрд╕рд░ рдмрдирд╛рддреА рд╣реИ
рдкреЗрдореЗрдВрдЯ рдкреНрд░реЛрд╕реЗрд╕рд░ рдлреИрдХреНрдЯреНрд░реА тАЬ1тАЭ тАФ тАЬ1тАЭ рдкреЗрдореЗрдВрдЯ рдкреНрд░реЛрд╕реЗрд╕рд░ : рдмрдирд╛рддрд╛ рд╣реИ
тАШ рдСрд░реНрдбрд░ рд╕реЗрд╡рд╛ рдПрдХ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИ (рдирд┐рд░реНрднрд░рддрд╛ рдЗрдВрдЬреЗрдХреНрд╢рди)
рдСрд░реНрдбрд░ рд╕реЗрд╡рд╛ тАЬ1тАЭ тАФ тАЬ1тАЭ рдкреЗрдореЗрдВрдЯ рдкреНрд░реЛрд╕реЗрд╕рд░ : рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИ
тАШ рдСрд░реНрдбрд░ рд╕реЗрд╡рд╛ рдлреИрдХреНрдЯреНрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕реЗрдЯ рдХрд░рддреА рд╣реИ
рдСрд░реНрдбрд░ рд╕реЗрд╡рд╛ тАЬ1тАЭ тАФ тАЬ1тАЭ рдкреЗрдореЗрдВрдЯ рдкреНрд░реЛрд╕реЗрд╕рд░ рдлреИрдХреНрдЯреНрд░реА : рджреНрд╡рд╛рд░рд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреА рд╣реИ
тАШ рдкреЗрдореЗрдВрдЯ рдкреНрд░реЛрд╕реЗрд╕рд░ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИ
рдкреЗрдореЗрдВрдЯ тАЬ1тАЭ тАФ тАЬ1тАЭ рдкреЗрдореЗрдВрдЯ рдкреНрд░реЛрд╕реЗрд╕рд░ : рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ
тАШ рд╕рдВрдмрдВрдз
рдЧреНрд░рд╛рд╣рдХ тАЬ1тАЭ тАФ тАЬ0..*тАЭ рдСрд░реНрдбрд░ : рд░рдЦрддрд╛ рд╣реИ
рдСрд░реНрдбрд░ тАЬ1тАЭ тАФ тАЬ1..*тАЭ рдСрд░реНрдбрд░ рдЖрдЗрдЯрдо : рд╕рдорд╛рд╡реЗрд╢ рдХрд░рддрд╛ рд╣реИ
рдСрд░реНрдбрд░ рдЖрдЗрдЯрдо тАЬ1тАЭ тАФ тАЬ1тАЭ рдЙрддреНрдкрд╛рдж : рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ
рдСрд░реНрдбрд░ тАЬ1тАЭ тАФ тАЬ1тАЭ рдкреЗрдореЗрдВрдЯ : рд╣реИ
тАШ рд╕реАрдорд╛рдПрдБ
рдиреЛрдЯ рдСрд░реНрдбрд░ рдХреЗ рджрд╛рдПрдВ рдУрд░
рд╕реНрдерд┐рддрд┐: [рдЗрдВрддрдЬрд╛рд░, рдкреБрд╖реНрдЯрд┐, рднреЗрдЬрд╛ рдЧрдпрд╛, рд░рджреНрдж]
рдиреЛрдЯ рд╕рдорд╛рдкреНрдд
рдиреЛрдЯ рдкреЗрдореЗрдВрдЯ рдХреЗ рджрд╛рдПрдВ рдУрд░
рд╡рд┐рдзрд┐: тАЬрдХреНрд░реЗрдбрд┐рдЯ рдХрд╛рд░реНрдбтАЭ, тАЬPayPalтАЭ, тАЬрд╕реНрдЯреНрд░рд╛рдЗрдктАЭ
рдиреЛрдЯ рд╕рдорд╛рдкреНрдд
рдиреЛрдЯ рдкреЗрдореЗрдВрдЯ рдкреНрд░реЛрд╕реЗрд╕рд░ рдлреИрдХреНрдЯреНрд░реА рдХреЗ рджрд╛рдПрдВ рдУрд░
рд╕рдорд░реНрдерд┐рдд рдкреНрд░рдХрд╛рд░: тАЬрдХреНрд░реЗрдбрд┐рдЯ рдХрд╛рд░реНрдбтАЭ, тАЬPayPalтАЭ, тАЬрд╕реНрдЯреНрд░рд╛рдЗрдктАЭ
рдСрд░реНрдбрд░ рд╕реЗрд╡рд╛ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
рдиреЛрдЯ рд╕рдорд╛рдкреНрдд
@enduml
тЬЕ┬ардЙрдкрдпреЛрдЧ рдХреЗрд╕: рдирдП рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХрд╛ рдСрдирдмреЛрд░реНрдбрд┐рдВрдЧ, рд╕рд┐рд╕реНрдЯрдо рд░реАрдлреИрдХреНрдЯрд░рд┐рдВрдЧ, рдСрдбрд┐рдЯ рдЯреНрд░реЗрд▓реНрд╕ред
ЁЯФД рд╕рд╛рд░рд╛рдВрд╢: рдХреНрд▓рд╛рд╕ рдбрд╛рдпрдЧреНрд░рд╛рдо рдХрд╛ рд╡рд┐рдХрд╛рд╕
| рдЪрд░рдг | рдлреЛрдХрд╕ | рд╡рд┐рд╡рд░рдг рд╕реНрддрд░ | рдореБрдЦреНрдп рддрддреНрд╡ |
|---|---|---|---|
| 1. рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ | рдбреЛрдореЗрди рдЕрд╡рдзрд╛рд░рдгрд╛рдПрдБ | рдЙрдЪреНрдЪ рд╕реНрддрд░ | рдПрдВрдЯрд┐рдЯреАрдЬ, рд╕рдВрдмрдВрдз |
| 2. рд╡рд┐рд╢реНрд▓реЗрд╖рдг | рд╕рд┐рд╕реНрдЯрдо рд╕рдВрд░рдЪрдирд╛ | рдордзреНрдпрдо | рдЧреБрдг, рд╕рдВрдЪрд╛рд▓рди, рдЗрдВрдЯрд░рдлреЗрд╕ |
| 3. рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди | рдХреЛрдб рддреИрдпрд╛рд░ | рдЙрдЪреНрдЪ | рдкреНрд░рдХрд╛рд░, рдПрдХреНрд╕реЗрд╕ рдореЙрдбрд┐рдлрд╛рдпрд░, рдкреИрдЯрд░реНрди |
| 4. рд░рдЦрд░рдЦрд╛рд╡ | рд╕рд┐рд╕реНрдЯрдо рд╡рд┐рдХрд╛рд╕ | рдЕрдиреБрдХреВрд▓рд┐рдд | рд╕реНрдЯреЗрд░рд┐рдпреЛрдЯрд╛рдЗрдкреНрд╕, рдЕрдкреНрд░рдЪрд▓рд┐рддрддрд╛, рд╕рд░рд▓реАрдХрд░рдг |
ЁЯЫая╕П PlantUML рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдЯрд┐рдкреНрд╕
-
рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ┬а
@startuml┬ардФрд░┬а@enduml┬ардбрд╛рдпрдЧреНрд░рд╛рдо рдХреЛ рдШреЗрд░рдиреЗ рдХреЗ рд▓рд┐рдПред -
рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ┬а
<<рд╕реНрдЯреЗрд░рд┐рдпреЛрдЯрд╛рдЗрдк>>┬ардбрд┐рдЬрд╝рд╛рдЗрди рдкреИрдЯрд░реНрди рдпрд╛ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдПред -
рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ┬а
right of рдХреЗ рдиреЛрдЯ┬арджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреЗ рд▓рд┐рдПред -
рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ┬а
+,┬а-,┬а#┬арджреГрд╢реНрдпрддрд╛ рдХреЗ рд▓рд┐рдП (рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ,┬ардирд┐рдЬреА,┬ард╕реБрд░рдХреНрд╖рд┐рдд). -
рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ┬а
<<рдЗрдВрдЯрд░рдлрд╝реЗрд╕>>,┬а<<рдЕрдореВрд░реНрдд>>,┬а<<рд╕рд┐рдВрдЧрд▓рдЯрди>>┬ард╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдПред -
рдЪрд┐рддреНрд░реЛрдВ рдХреЛ рдЬрдирд░реЗрдЯ рдХрд░реЗрдВ┬ардкреНрд▓рд╛рдВрдЯрдпреВрдПрдордПрд▓ рдСрдирд▓рд╛рдЗрди┬ардпрд╛ рдЖрдИрдбреАрдИ рдкреНрд▓рдЧрдЗрди (рд╡реАрдПрд╕ рдХреЛрдб, рдЗрдВрдЯреЗрд▓рдЬреА)ред
ЁЯУЪ рдЕрдВрддрд┐рдо рд╡рд┐рдЪрд╛рд░
рдХреНрд▓рд╛рд╕ рдЖрд░реЗрдЦ рд╣реИрдВ┬ард╕реНрдерд┐рд░ рдирд╣реАрдВ┬атАФ рд╡реЗ┬ардкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ. рдЙрдиреНрд╣реЗрдВ рд░рдгрдиреАрддрд┐рдХ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:
-
рдкреНрд░рд╛рд░рдВрднрд┐рдХ: рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ рдЕрдкрд░рд┐рдЪрд┐рдд рд╕реНрдЯреЗрдХрд╣реЛрд▓реНрдбрд░реНрд╕ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рдХрд░реЗрдВред
-
рдордзреНрдп: рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдкрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдПрдХ рд╕рд╛рде рд▓рд╛рдПрдВред
-
рдЕрдВрддрд┐рдо: рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдФрд░ рдХреЛрдб рдЧреБрдгрд╡рддреНрддрд╛ рдХрд╛ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдХрд░реЗрдВред
-
рд░рд┐рд▓реАрдЬ рдХреЗ рдмрд╛рдж: рд╕рд┐рд╕реНрдЯрдо рдЬреНрдЮрд╛рди рдХреЛ рдмрдирд╛рдП рд░рдЦреЗрдВред
тЬЕ┬ардкреНрд░реЛ рдЯрд┐рдк: рдЕрдкрдиреЗ PlantUML рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдХреЛрдб рдХреЗ рд╕рд╛рде рд╕рд╛рде рд╡рд░реНрдЬрди рдирд┐рдпрдВрддреНрд░рдг рдореЗрдВ рд░рдЦреЗрдВ тАФ рд╡реЗ рдЬреАрд╡рдВрдд рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╣реИрдВ!
тЬЕ рдирд┐рд╖реНрдХрд░реНрд╖: рдХреЗрд╡рд▓ рдХреНрд▓рд╛рд╕реЗрд╕ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХрд╛ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд░рдирд╛
рдХреНрд▓рд╛рд╕ рдбрд╛рдпрдЧреНрд░рд╛рдо рдмрд╕ рдбрд╛рдпрдЧреНрд░рд╛рдо рд╕реЗ рдЕрдзрд┐рдХ рд╣реИрдВ тАФ рд╡реЗ рд╣реИрдВрдЗрд░рд╛рджреЛрдВ рдХреЗ рдирдХреНрд╢реЗ, рд╕рд╣рдпреЛрдЧ рдХреЗ рдмреНрд▓реВрдкреНрд░рд┐рдВрдЯ, рдФрд░рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рд▓ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдЬреАрд╡рдВрдд рд░рд┐рдХреЙрд░реНрдбред рдЬреИрд╕рд╛ рдХрд┐ рд╣рдордиреЗ рджреЗрдЦрд╛, рдЙрдирдХрд╛ рдореВрд▓реНрдп рдЙрдирдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд░реВрдк рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рдЙрдирдХреЗ рдЗрд╕ рддрд░реАрдХреЗ рдореЗрдВ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╡реЗрдЕрдиреБрдХреВрд▓рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ рд╡рд┐рдХрд╛рд╕ рдЪрдХреНрд░ рдХреЗ рджреМрд░рд╛рди тАФ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЙрдЪреНрдЪ рд╕реНрддрд░реАрдп рдЕрдореВрд░реНрддрддрд╛ рд╕реЗ рд▓реЗрдХрд░ рдЕрдВрддрд┐рдо рдЪрд░рдг рдХреЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдХреЗ рд╕рдЯреАрдХ, рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдореЙрдбрд▓ рддрдХред
рдЖрдЗрд╕реЛрд▓реЗрдЯреЗрдб рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреНрд▓рд╛рд╕реЗрд╕ рд╕реЗ рдПрдХ рдЬреБрдбрд╝реЗ, рд░рдгрдиреАрддрд┐-рдЖрдзрд╛рд░рд┐рдд рдкреНрд░рдгрд╛рд▓реА рддрдХ рдХрд╛ рд╕рдлрд░ рдПрдХ рдореВрд▓рднреВрдд рд╕рддреНрдп рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ:рдЕрдЪреНрдЫрд╛ рдбрд┐рдЬрд╝рд╛рдЗрди рдХреЗрд╡рд▓ рдШрдЯрдХреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИ тАФ рдпрд╣ рдпрд╣ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ рдХрд┐ рд╡реЗ рдПрдХ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВрдЬрдмрдХреНрд░реЗрдбрд┐рдЯ рдХрд╛рд░реНрдб рдкреНрд░реЛрд╕реЗрд╕рд░, рдкреЗ рдкреИрд▓ рдкреНрд░реЛрд╕реЗрд╕рд░, рдФрд░ рд╕реНрдЯреНрд░рд╛рдЗрдкрдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛ рдЖрдкрд╕ рдореЗрдВ рдмрджрд▓реЗ рдЬрд╛ рд╕рдХрдиреЗ рд╡рд╛рд▓реЗ рд░рдгрдиреАрддрд┐рдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ тАФ рдПрдХ рдлреИрдХреНрдЯреНрд░реА рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдФрд░ рд╕реЗрд╡рд╛рдУрдВ рдореЗрдВ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ тАФ рдЖрд░реЗрдЦ рдПрдХ рд╕реНрдерд┐рд░ рд╕реНрдиреИрдкрд╢реЙрдЯ рдирд╣реАрдВ рд░рд╣рддрд╛ред рдпрд╣ рдПрдХ рдмрди рдЬрд╛рддрд╛ рд╣реИ рд▓рдЪреАрд▓рд╛рдкрди рдХрд╛ рдЧрддрд┐рд╢реАрд▓ рдореЙрдбрд▓, рд╕реНрдХреЗрд▓реЗрдмрд┐рд▓рд┐рдЯреА, рдФрд░ рд░рдЦрд░рдЦрд╛рд╡ рдХреНрд╖рдорддрд╛ред
рдЬреИрд╕реЗ рдкреИрдЯрд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд░рдгрдиреАрддрд┐, рдлреИрдХреНрдЯреНрд░реА, рдФрд░ рдирд┐рд░реНрднрд░рддрд╛ рдирд┐рд╡реЗрд╢рди, рд╣рдо рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХреНрд▓рд╛рд╕реЗрд╕ рдХреЛ рдПрдХ рд╕реБрд╕рдВрдЧрдд, рд╡рд┐рд╕реНрддрд╛рд░реНрдп рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдореЗрдВ рдмрджрд▓ рджреЗрддреЗ рд╣реИрдВред рдпрд╣ рдХреЗрд╡рд▓ рдмреЗрд╣рддрд░ рдЖрд░реЗрдЦреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИ тАФ рдпрд╣ рдмреЗрд╣рддрд░ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред рдпрд╣ рдЯреАрдореЛрдВ рдХреЛ рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:
- рдореМрдЬреВрджрд╛ рдХреЛрдб рдХреЛ рдЫреВрдП рдмрд┐рдирд╛ рдирдП рднреБрдЧрддрд╛рди рддрд░реАрдХреЗ рдЬреЛрдбрд╝реЗрдВред
- рдЖрдЗрд╕реЛрд▓реЗрд╢рди рдореЗрдВ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВред
- рд▓реЙрдиреНрдЪ рдХреЗ рдмрд╛рдж рднреА рд╡рд░реНрд╖реЛрдВ рддрдХ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХреЗ рд╕рд╛рде рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдХрд░реЗрдВред
рдЕрдВрддрддрдГ, рд╕рдмрд╕реЗ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдХреНрд▓рд╛рд╕ рдЖрд░реЗрдЦ рд╡реЗ рдирд╣реАрдВ рд╣реИрдВ рдЬреЛ рд╣рд░ рдлреАрд▓реНрдб рдФрд░ рд╡рд┐рдзрд┐ рдХреЛ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ тАФ рдмрд▓реНрдХрд┐ рд╡реЗ рд╣реИрдВ рдЬреЛ рдПрдХ рдХрд╣рд╛рдиреА рд╕реБрдирд╛рддреЗ рд╣реИрдВ: рд╕рд╣рдпреЛрдЧ, рдЕрдиреБрдХреВрд▓рди рдФрд░ рднрд╡рд┐рд╖реНрдп рдХреА рдУрд░ рдмрдврд╝рддреА рдбрд┐рдЬрд╝рд╛рдЗрди рдХреА рдПрдХ рдХрд╣рд╛рдиреАред
рддреЛ рдЬрдм рдЖрдк рдЕрдЧрд▓рд╛ рдХреНрд▓рд╛рд╕ рдЖрд░реЗрдЦ рдмрдирд╛рдПрдВ, рддреЛ рдЦреБрдж рд╕реЗ рдкреВрдЫреЗрдВ:
рдХреНрдпрд╛ рдореЗрд░реА рдХреНрд▓рд╛рд╕реЗрд╕ рдХреЗрд╡рд▓ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реИрдВ тАФ рдпрд╛ рд╡реЗ рдЬреБрдбрд╝реА рд╣реБрдИ рд╣реИрдВ?
рдХреНрдпрд╛ рд╡реЗ рдЕрд▓рдЧ рд╣реИрдВ тАФ рдпрд╛ рд╡реЗ рдПрдХ рдРрд╕реА рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИрдВ рдЬреЛ рдмрдврд╝ рд╕рдХрддреА рд╣реИ?
рдХреНрдпреЛрдВрдХрд┐ рдЕрдВрддрддрдГ, рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреЗ рдХреНрд▓рд╛рд╕ рдЖрд░реЗрдЦ рдХреЗрд╡рд▓ рдпрд╣ рд╡рд░реНрдгрди рдирд╣реАрдВ рдХрд░рддреЗ рдХрд┐ рдкреНрд░рдгрд╛рд▓реА рдХреНрдпрд╛ рд╣реИ тАФ рд╡реЗ рдЗрд╕реЗ рдХреИрд╕реЗ рдмрдирдирд╛ рдЪрд╛рд╣рд┐рдП, рдЙрд╕рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд░рдгрд╛ рджреЗрддреЗ рд╣реИрдВ.







