Upload
ilina-litajkovska
View
218
Download
0
Embed Size (px)
Citation preview
8/16/2019 UML_ClassDijagrami_Cas4_ (7)
http://slidepdf.com/reader/full/umlclassdijagramicas4-7 1/27
8/16/2019 UML_ClassDijagrami_Cas4_ (7)
http://slidepdf.com/reader/full/umlclassdijagramicas4-7 2/27
Класи Класа (class) = колекција, множество од објекти со заедничка:
- структура,- однесување, - врски, - семантика
на пример Licn!"#
Објект $ поединечна инстанца од некоја класа, на пример %&"',(i")&
*е+инирање на класа:
$ ме $ пис .коментар/
$ 0трибути $ структура со која се одредени особините наобјектот$ 1етоди - процеси2опслужувања кои класата .објектот/ можеда 3и извр4и, со кои се одредува однесувањето на објектот
567!! Licn!" 8 9)i7"& !")in; <&>
9)i7"& !")in; %)&?i&> 9@A6ic !")in; %)&?i&<& ./ 8 )&"@)n %)&?i& B C C B <&
DD
8/16/2019 UML_ClassDijagrami_Cas4_ (7)
http://slidepdf.com/reader/full/umlclassdijagramicas4-7 3/27
Класни дијаграми
26/05/16
– Ги прикажува статичките структури на системот, односно неговите елементи
(класи и типови) т.е. нивните меусе!ни односи.
– "ласниот ди#аграм може да содржи и интер$е#си (%&'*+), пакети (-++),
релаии (+'%3&4%-) т.е. инстани како то сео!#екти (378') и врски (%&)
– 9сто така се нарекува и :статички структурен; ди#аграм ('+'% '<'<+ =%++>).
7&е/ен" на 38а9ра/$"
– класи, нивна структура и однесува?е (атри!ути и методи)
0"а"', $3н$1
– @!ична врска или асои#аи#а (+3%+'%3&)
пример :корисникот поседува повеAе видео касети;.
– агрегаи#а (++'%3&),
на пример;мотор е дел од авионот;.
– Bависност (=-&=&C) и наследува?е (%&4%'+&)
на пример.:студентот е личност:.
Д$*$&н"е&н $!на,
– Dногукрантост (><'%-%%'C) E кардиналност
– Fавига!илност (&+G%+7%%'C) – насока на поврHува?е – Iлоги (3 &+>)
8/16/2019 UML_ClassDijagrami_Cas4_ (7)
http://slidepdf.com/reader/full/umlclassdijagramicas4-7 4/27
8/16/2019 UML_ClassDijagrami_Cas4_ (7)
http://slidepdf.com/reader/full/umlclassdijagramicas4-7 5/27
26/05/16
Операција (метода) е не4то 4то класата може да прави, или 4то ти може4 данаправи4 со класата#
Листа од методи, доаEа под линија 4то 3и дели методите .9&)7"in/ со атрибутите#
сто така за операциите може да се дадат дополнителни информации# Fо за3радата4то следи после името на операција се ставаат параметри заедно со нивниот тип#
Ако операцијата е функција, то3а4 мора да се специ+ицира типот на вредноста 4то ја враGа#
Nруги додатни ин$ормаии то може да !идат дадени Hа атри!утите на
класите се ;on<=>ain ?$9ран'-ва@а no=e ?!а4е&еB,5
9ран'-ва@е"$ е текст во големи Hагради. Oекстот во Hагради
спеи$иира едно или повеAе правила (ограничува?а) то класата тре!а
да ги почитува.
Dа4е&еB, може да има Hа атри!ути или Hа операии. Oие даваат
дополнителни ин$ормаии Hа класата.
8/16/2019 UML_ClassDijagrami_Cas4_ (7)
http://slidepdf.com/reader/full/umlclassdijagramicas4-7 6/27
Видлиост на атрибути и методи
@Hнака Oип на видливост @д каде може да сепристапи до нив
P Qавни (-<7%)Eметоди Nостапни се од !ило
каде
R Bатитени(-3''=)Eметоди
Jнатре вокласата/под класите
E Sриватни(-%G+')Eатри!ути
Jнатре во класата
TU 9мплементаиони Jнатре во пакетот
26/05/16
Sраво на пристап
-%G+'
Sраво на пристап-3''=
Sраво на пристап
-<7%
Kтри!ути
Dетоди
Kтри!ути
Dетоди
Визуелизација на класа
8/16/2019 UML_ClassDijagrami_Cas4_ (7)
http://slidepdf.com/reader/full/umlclassdijagramicas4-7 7/2726/05/16
:р/ер Nа се нарта класата Hа опиува?е на сметките во
одредена продавниа. Bа секо#а сметка тре!а да се води !ро# на
сметката, наHив на продавниата, датум на сметката, листа на
купени проиHводи (се претпоставува дека веAе постои класа
V3%WG3=), листа на количини од купените проиHводи, вкупна сума
ко#а тре!а да се плати. Sретпоставената вредност на атри!утот
наHив на продавниата е XY%&Z – ['%-:.
Репрезентација на класа за опишување на сметка во продавница
8/16/2019 UML_ClassDijagrami_Cas4_ (7)
http://slidepdf.com/reader/full/umlclassdijagramicas4-7 8/27
!ример" *а се моделира класа за раHота со прозорци од IinJI!-HазиранараHотна околина#
#а се о$е%$едат следните методи"
- метода за промена на за3лавје на прозорецот
- враGање на 3олемината на прозорот,
- поставување на 3олемината на прозорецот,
- методи за приказ на прозорецот,
- враGање на листа со компоненти .во прозорецот/,
- метода за поставување на видливоста на прозорот,
Класи потребни за моделирање на windowsбазиран интер!ејс
8/16/2019 UML_ClassDijagrami_Cas4_ (7)
http://slidepdf.com/reader/full/umlclassdijagramicas4-7 9/27
26/05/16
K(L дозволува приказ на врски,релации, помеEу класите вокласниот дија3рам#
остојат следниве начини на поврзување на класите помеEусеHе:
$ %аисност .dependency /
$ асоцијација .association/
$ генерали%ација .generalization/
$ агрегација .aggregation/
\елаии ка# класи во класен ди#аграм
8/16/2019 UML_ClassDijagrami_Cas4_ (7)
http://slidepdf.com/reader/full/umlclassdijagramicas4-7 10/27
Асоцијација
26/05/16
Mо3а класите се поврзани заедно идејно, то3а4 врската енаречена асоцијација& Fизуелно се претставува со линијакоја 4то поврзува две класи, при 4то името на асоцијацијата
е над линијата#
"ога една класа е поврHана со друга со асои#аи#а, секо#а од нив игра -&$9а (3) во
асои#аи#ата. @вие улоги се прикажуваат на ди#аграмот !лиHу до класата Hа ко#а сеоднесуваат.
Kсои#аи#а може да !иде многу покомлексна, повеAе класи може да !идат поврHани со
една класа.
Dногукратност(><'%-%%'C) (индикатор Hа многукратност) покажува !ро#от на о!#екти од
едната класа то се поврHани со !ро#от на о!#екти на другата класа. – кардиналност
9ндикатор (насока]]]) (&+G%+7%%'C)
– стрелката со ко#а се оHначува насоката
– еднонасочна се препорачува таму,мора да се навести ако постои улога
– двонасочна (стандардно)
E може да вклучува стереотипи(на пр. ^^*%&=__)
8/16/2019 UML_ClassDijagrami_Cas4_ (7)
http://slidepdf.com/reader/full/umlclassdijagramicas4-7 11/27
Кардиналност (многу кратност)
Nо означува бројот на објектитекои се вклучени во врската
рикажува со колку објектиO*OP објект може да се поврзе
Qе 3леда независно за секојастрана на врската
Pајчесто употребувани ознакиза мно3укратност во пракса сеR,S,T##R#
Uа приказ на мно3укратностможе да се користи дискретенброј
- пример RR#.за број начленови на +удбалска екипа/
$ низа од броеви .пр# V##W/ $ комбинација од дискретни
броеви или низи од броеви
9ндикатор Bначе?е
0..1 Fиту еден илиеден
1 `амо еден
0..a или a Fиту еден илиповеAе
1..a bден или повеAе
+,7, +,7 или о!#екти
c c о!#екти каде c_1
0..c @д 0 до c о!#ектикаде c_1
1..c @д 1 до c о!#ектикаде c_1
26/05/16
8/16/2019 UML_ClassDijagrami_Cas4_ (7)
http://slidepdf.com/reader/full/umlclassdijagramicas4-7 12/27
26/05/16
Oдна класа може да биде поврзана со дру3а на еден од следнивеначини:
' еден спрема еден
' еден спрема поее
' еден спрема еден или поее' еден спрема еден или ниту еден
' еден спрема ограниен интерал
' еден спрема тоно *
' еден спрема (мно+есто од и%бори) (еден спрема , или -)
Oдна класа може да биде во асоцијација со самата себе# Xоа може да се случи ко3а класата има објекти 4то и3раат повеGеуло3и#
ваа асоцијација се нарекува рефлексина асоцијација&
8/16/2019 UML_ClassDijagrami_Cas4_ (7)
http://slidepdf.com/reader/full/umlclassdijagramicas4-7 13/27
!ример
26/05/16
//Lичноста има едноHначна врска спрема компани#ата, па W>%d3>-+&%8+ може
да врати вредност од тип компани#а
//"омпани#ата има повеAе Hнача#на врска спрема личноста, па W>%e%&3' AевраAа о!#ект од класата e%&3'.
8/16/2019 UML_ClassDijagrami_Cas4_ (7)
http://slidepdf.com/reader/full/umlclassdijagramicas4-7 14/27
.енерали%ација и наследуа/е
26/05/16
@днос помеу :надреден; и нему :подреден; елемент.
Eнадреден класа или над тип (<- +, <- 'C-) E родителска класа
Eподредена класа или под тип (<7 +, <7 'C-) E класа дете
bдна класа (под класата) може да ги наследи атри!утите и методите од друга
класа (над класа).
\одителската класа е многу поопта од класата дете.
Jо fge, генералиHаи#а е претставена со лини#а то #а поврHува родителскатакласа со класата дете, и од страна на класа родител има триаголник.
hто тре!а аналитичарот да направи Hа да го открие наследува?е]
Kналитичарот тре!а да препоHнае кои атри!ути и методи од една класа се опти
и да ги додели на некои други класи.
Nруга можност е аналитичарот да Hа!ележи дека две или повеAе класи имаатHаеднички атри!ути и методи.
"ласите то немаат свои сопствени о!#екти се нарекуваат а*1"ра,"н ,&а15
Oие се користат само како основа Hа наследува?е. bдна класа се оHначува дека е
апстрактна, со тоа то не#Hиното име се пиува со i"#$i%
8/16/2019 UML_ClassDijagrami_Cas4_ (7)
http://slidepdf.com/reader/full/umlclassdijagramicas4-7 15/27
26/05/16
8/16/2019 UML_ClassDijagrami_Cas4_ (7)
http://slidepdf.com/reader/full/umlclassdijagramicas4-7 16/27
26/05/16
:р/ер !а EерарE8а на на1&е3-ва@е в$ жв$"н1,$"$ ,ра&1"в$
8/16/2019 UML_ClassDijagrami_Cas4_ (7)
http://slidepdf.com/reader/full/umlclassdijagramicas4-7 17/27
Агрегација (a00120a345*)
26/05/16
Sонегока класата може да се е составена од неколку компоненти класи.
Oоа е спеи$ичен вид на релаи#а наречена а9ре9а%8а5
`пеи#ален вид на асои#аи#а врска :елина дел;, :дел од;.
Kгрегаи#ата е претставена, е претствена како iиерарiи#а со :елата; класа на
едната страна и компонентите на другата.
jелата класа со компонентите се поврHува со лини#а и ди#амант !лиHу до класата
"омпоненти се делови E агрегати, така да
E делот може да настане и да постои неHависно од елината
E со унитува?е на елината не се унитуваат не#Hините делови
E о!#ектот може да припаа во повеAе елини
E иста инстана од неко# о!#ект може да дели повеAе агрегати
8/16/2019 UML_ClassDijagrami_Cas4_ (7)
http://slidepdf.com/reader/full/umlclassdijagramicas4-7 18/27
26/05/16
:р/ер !а а9ре9а%8а в$н FG 11"е/
8/16/2019 UML_ClassDijagrami_Cas4_ (7)
http://slidepdf.com/reader/full/umlclassdijagramicas4-7 19/27
Компо%иција (c5675s4345*)
26/05/16
E строга вари#анта на агрегаи#а
E о!#ектот може да припаа само на една елина
E елементите посто#ат само додека постои о!#ектот.E се оHначува со полн ди#амант.
8/16/2019 UML_ClassDijagrami_Cas4_ (7)
http://slidepdf.com/reader/full/umlclassdijagramicas4-7 20/27
!ример агрегација и рекур%ија
8/16/2019 UML_ClassDijagrami_Cas4_ (7)
http://slidepdf.com/reader/full/umlclassdijagramicas4-7 21/27
26/05/16
8аисност (9272*92*c:)
8/16/2019 UML_ClassDijagrami_Cas4_ (7)
http://slidepdf.com/reader/full/umlclassdijagramicas4-7 22/27
8адаа ;" *а се нацрта класниот дија3рам за опи4ување на компјутер# *асе претпостави дека секој компјутер е составен од монитор, тастатура,3лувче и централна единица# Fо централната единица може да има еденили повеGе Yард дискови и неколку Z[Z читачи
8/16/2019 UML_ClassDijagrami_Cas4_ (7)
http://slidepdf.com/reader/full/umlclassdijagramicas4-7 23/27
26/05/16
онеко3а4 може да се стават о3раничувања во припадноста на составнитеделови во целината#
3раничувањата се претставуваат со испрекинати линии помеEу асоцијациите,а во 3олеми за3ради се става типот на о3раничувањето 87nJ, ), n",\D#
H&а1ен 38а9ра/ 1$ а9ре9а%8а ,$р1"е@е на $9ран'-ва@а
8/16/2019 UML_ClassDijagrami_Cas4_ (7)
http://slidepdf.com/reader/full/umlclassdijagramicas4-7 24/27
Асоцијатина класа
26/05/16
онеко3а4, асоцијацијата може да има некоја уло3а# Uатоа севоведени асоцијативни класи# 0социјативните класи се асоцијациикои имаат име и атриHути, како и нормалните класи# 0социјативнатакласа се прикажува исто како и оHичните класи, само 4то со
испрекината линија се поврзува со асоцијацијата на која се однесува#
8/16/2019 UML_ClassDijagrami_Cas4_ (7)
http://slidepdf.com/reader/full/umlclassdijagramicas4-7 25/27
26/05/16
8/16/2019 UML_ClassDijagrami_Cas4_ (7)
http://slidepdf.com/reader/full/umlclassdijagramicas4-7 26/27
26/05/16
8адаа<*а се нацрта класниот дија3рам составен од класите коипроизле3уваат од ор3анизацијата и начинот на раHота на некојакомпанија# Qе знае дека компанијата е составена од оддели, при 4то
во секој оддел може да има неколку под-оддели# Uа одделот треHада се чуваат ин+ормации за името на одделот, раководителот наодделот, како и Hројот на враHотени# Mомпанијата распола3а соповеGе канцеларии на различни локации# Uа секоја канцеларија севодат податоци за адресата на канцеларијата, како и теле+онскиотHрој# Fо една канцеларија може да се сместениповеGе оддели одкомпанијата#
FраHотените се карактеризираат со нивното име и презиме,матичниот Hрој, датумот на враHотување, Hодовите за плата, како инивната плата# Qекој од враHотените во одреден момент може даHиде .или не Hиде/ ан3ажиран на некоја задача# 0ко е ан3ажиранто3а4 треHа да се знае од ко3а почнал да раHоти на задачата, доко3а треHа да ја завр4и и приоритетот на задачата која ја вр4и# Uазадачите треHа да се води име на задачата, краток опис и статус назадачата# Qтатусот на задачата може да Hиде еден од следните:почеток, во тек, завр4ена#
*а се оHезHедат методи кои Gе проверуваат дали даден враHотенраHоти во даденоддел, дали враHотениот е 4е+ на одреден оддел,дали враHотениот раHоти на задача на која и 3о пречекорил рокот зазавр4ување#
8/16/2019 UML_ClassDijagrami_Cas4_ (7)
http://slidepdf.com/reader/full/umlclassdijagramicas4-7 27/27