Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
1
Information Systems ManagementUML – Unified Modeling Language
Gjuha e Unifikuar për Modelim
Përgaditi:
Mr.sc.Besim Abdullai
2
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Materiali
� Editor gratis në:– ArgoUML– http://argouml.tigris.org
3
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
UML – Unified Modeling Language
� Gjuha e Unifikuar për Modelim� Sistem shenjash grafike� Disa tipe diagramesh� Të përdorura me qëllim të krijimit dhe dokumentimit� Programimi i orientuar në objekte� I pamvarur nga gjuha dhe ambienti� I pamvarur nga metodat
4
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
UML 3.0UML 3.0
Copyright © 1997 by Rational Software Corporation
Historia e krijimit të UML
Nëntor ‘97 UML e aprovuar nga OMGUML 2.0
5
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Copyright © 1997 by Rational Software Corporation
UML përkrahë zhvillimin e aplikacioneve
Classesapplication partitioning
Business ObjectsRelationships
Business Process
Objects
Use Cases
large scale system
ScenariosComponentsMicrosoft
ActiveX/COMMicrosoft
ORDBMSOracle
CORBAOMG
6
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Copyright © 1997 by Rational Software Corporation
Konceptet e UML
� UML mund të përdoret:– Paraqitjen e kufijve të sistemit dhe funksioneve
kryesore të saja, duke përdorur rastet përdoruese dhe aktorët
– Ilustron realizimet e rasteve përdoruese me diagramet e bashkëveprimit
– Paraqet një strukturë statike të një sistemi duke përdorur diagramet e klasave
– Modelimin e sjelljes së objekteve me anë tëdiagrameve të tranzicionit të gjendjes
– Zbulimin e arkitekturës për implementim fizik me anë të diagrameve për komponentet dhe shpërndarjen
– Zgjeron funksionalitetin tuaj me stereotipe
7
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Informacione plotësuese
� Do të trajtohen elementet themelore të tipeve më të rëndësishme të diagrameve
� Normalisht disa variante të zgjedhjeve janënjëlloj të akceptueshme
� Niveli i detaleve mund të ndryshon shumëvarësisht nga rrethanat dhe shija personale
� Pamjet e përdorimit dhe domethënia ndryshojnë
8
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Çka është UML ?� UML është gjuhë për modelim, jo një metodë� Kryesisht përdoren shprehjet grafike për të
dizejnuar një sistem� Përdoren disa teknika:
– Zhvillim përsëritës– modelet : Për të paraqitur një ide kyqe– Diagramet e klasave : Çfarë lloje abstraksionesh
janë bërë– Diagrame ndërveprimi : sjelljet kyqe të sistemit– Rastet përdoruese : komunikimi me ekspertin e
domenit të caktuar� Fotografi çasti të një aspekti të sistemit tuaj� Shuma e të gjitha rasteve përdoruese është pamja e
jashtme e sistemit tuaj
– Diagramet e aktiviteteve
9
Procesi i zhvillimit
10
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Procesi i zhvillimit
� Procesi i zhvillimit (përsëritës dhe rritës)– Zhvillimi dhe lëshimi në përdorim i softverëve në pje së– Faza e konstruimit konsiston në shumë përsëritje,
çdonjëra nga to ndërton softver me kualitet prodhim i, të testuar dhe integruar, që kënaqën një tërësi kërkesash;
– Çdo përsëritje përmban fazat e zakonshme të ciklit t ëjetës.
� Përsëritja duhet gjithashtu të marë pjesë nëfazat tjera.
Fillimi Elaborimi TranzicioniKonstruimi
1 2 3 ...
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Cikli i jetës & OO
� Faktet:– Kërkesat e sistemit nuk janë plotësisht të njohura në
fillim– Njohuritë e sistemit rriten përgjatë zhvillimit-ndlrt imit– Zhvillo sistemin më mirë me intencë rritjeje– Fillo me disa funksione bazike
ModelimiNë objekte
analiza
dizajni
konstruimi
definim iplotë i sistemit
Koordinimi dhe ripërdorimi
OMGCikli jetesës
12
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
1. Fillimi
� Mund të jetë i shkurtë apo me muaj– Ide të paqarta të specifikave funksionale dhe
studimeve të fizibilitetit– psh.
ne do të ndërtojmë një gjeneratë të re sistemesh për mbështetje të konsumatorëve për kompaninë tonë. Po synojmë të përdorim teknologjinë e orientuar nëobjekte me qëllim të ndërtimit të një sistemi mëfleksibil dhe që është më i orientuar kah konsumatori, më saktësisht, një sistem i tillë që do tëmbështesë faturat e konsoliduara të konsumatorëve.
� Puna jashtë kornizave të rastit biznesor:– Analiza kost/benefit– Të fituarit e sensit për kornizën e projektit– Vlerësimi i madhësisë
� Në shumicën e rasteve mer disa ditë pune.
13
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
2. Elaborimi
� Kuptim më i mirë për problemin– Çka në fakt po mundoheni të ndërtoni aktualisht ?
– Si do ta ndërtoni?
– Çfarë teknologjie do të përdorni?
� Menaxhimi i riskut– Risku i Kërkesave: ndërtimi i sistemit të duhur
– Risku Teknologjik: eksperiencë me teknologjinë e përd orur
– Risku i aftësive: a është i disponueshëm stafi i kër kuar?
– Risku politik
Fillimi Elaborimi TranzicioniKonstruimi
1 2 3 ...
14
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Risku i kërkesave� Mjetet për mbledhjen e kërkesave
– Rastet përdoruese: bazat e komunikimit ndërmjet spo nzorëve dhe zhvilluesëve në planifikimin e projektit
– Modeli konceptual i domenit: ‘bota’ të cilën e mbësht etë sistemi kompjuterik (funksionet, fjalori, … ), nivel i lartë, pa detale
– Modeli i analizës: vetëm në projektet më të mëdhaja, p ër tëeksploruar konsekuencat e kërkesave të jashtme-ekste rne
– Modeli i dizejnit: realizimi i informatave në objekt et e domenit dhe sjellja në rastet përdoruese� Shton klasat me qëllim që të bëj punën� Ofron një arkitetkurë të sipërdorueshme për shtimet e
ardhshme
� Inkrementuesi ( pa përafrimin Waterfall )– Diagramet e klasës: për të kuptuar gjuhën e biznesit– Diagramet e aktiviteteve: përshkruajnë rrjedhën e pu nës së
biznesit– Diagramet e bashkëveprimit
15
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Risku teknologjik� Ndërtimi i prototipeve që provojnë pjesët e
teknologjive që planifikojmë t’i përdorim – Teknologjitë që evoluojnë shpejtë– Risku i madh në lidhjen e komponenteve të dizajnit së
bashku– Vendimet për dizajn arkitekturor– Vëmendje e posaçme sistemeve të shpërndara
� Risku– Çka ndodh nëqoftëse një pjesë e teknologjisë nuk punon ?– Çka nëse nuk mund të zgjedhim enigmën ?– Çka janë gjasat që diçka të shkojë keq ?
� Teknikat e përdorura– Diagramet e klasave, diagramet e paketave, diagrame t e
shpërndarjes
16
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Risku i aftësive
� Mungesë eksperience dhe trajnimi
� Aplikohet menjëherë pas zgjedhjes
� Të organizuarit e debateve për projektin
� Komuniteti model
http://st-www.cs.uiuc.edu/users/patterns/patterns.h tml
17
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Arkitektura bazike
Rezultati i elaborimit (±20% e kohës totale të projek tit)
� Lista e rasteve përdoruese� Modeli i domenit� Platforma e teknologjisë
Planifikimi� Përdoruesit: nivel prioriteti për secilin rast� Dizajnuesit: konsiderojnë riskun e arkitekturës për
secilin rast përdorues� Dizajnuesit: orar i obligimeve
18
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
3. KonstruimiKonstruimi ndërton sistemin në një numër përsëritjesh
– Çdo përsëritje është një mini projekt– Analiza, dizajni, kodimi, testimi dhe integrimi për secilin rast
përdorues që i adresohet përsëritjes
� Testimi është proces i vazhdueshëm– Asnjë kod nuk duhet të shkruhet përpara se të dimë si t a
testojmë– Shkruaje tekstin në mënyrë imediate (shpejt)– Rruaje testin e kodit përgjithmonë– Njësinë e testit (white box) dhe sistemin e testit ( black box)
� Përsëritjet janë rritëse dhe përsëritëse njëkohësish t– Rritës në funksion– Përsëritës në terme të bazës së kodit: rifabrikimi (të eliminon
degjenerimin e kodit)
19
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Rifabrikimi
� Rifabrikimi u lehtësua me hapat e mëposhtëm:
– Mos rifabriko dhe shto funksionalitetet në të njejtën kohë
– Përgadit teste të mira përpara se të fillosh rifabrik imin
– Mbaj hapat të vogla
� Duhet të rifabrikojmë kur:
– Nëse duket e vështirë të shtojmë funksionalitete të rre ja
– Kur kemi vështirësi të kuptojmë kodin
20
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Dokumentimi në konstruim
1. Një ose dy fleta për të shpjeguar disa klasa në diagramin e klasave
2. Disa diagrame bashkëpunimi me qëllim të tregimit se si bashkëpunojnë klasat
3. Pak text që t’i lidh diagramet ndërmjet
4. Diagram gjendjeje nëse klasa ka cikël jetësor kompleks
5. Modele që të kuptojmë idetë bazike
21
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Modelet
� Shiqo në rezultatin e procesit� Ato paraqesin mënyra të zakonshme se si duhet bërë
gjërat� Është shumë më shumë sesa model
– Patjetër të përfshinë arsyetimin se pse është ashtu si q është– Është një zgjidhje problemi– Modelet duhet patjetër të bëjnë problemin të qartë– Shpjegon pse e zgjedh problemin– Shpjegon se në çfarë rrethanash e zgjedh problemin
� Informata për modelet– http://st-www.cs.uiuc.edu/users/patterns/patterns.h tml– http://c2.com/ppr/index.html
22
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
4. Tranzicioni
� Gjërat që nuk duhet të bëhen herët
– Psh. optimalizimi
� Gjatë tranzicionit nuk ekziston zhvillim i atillë që shton funksionalitet
� Ekziston zhvillim për fiksimin e buxhetit
Fillimi Elaborimi TranzicioniKonstruimi
1 2 3 ...
23
UML
Diagramet e Rasteve PërdorueseUse Case Diagrams
24
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Definicioni
� Një ‘diagrami i rasteve përdoruese’ angl. use case diagram - paraqet interaksionin ndërmjet sistemeve dhe përdoruesve të tij
25
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Përdorimi
� Për zbulimin e përdoruesve� Për zbulimin e funksionaliteteve që
nevoiten� Për fitimin e përshtypjes së plotë të firmës
për tërë sistemin
26
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Elementet bazike
� Aktorët -Actors� Raste përdorimi - Use Cases� Përfshij - Include
27
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Aktori - Actor
� Një Aktor paraqet tipin e përdoruesit
Actor Name
Emri i aktorit
28
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Rast përdorimi - Use case
� Një Rast përdorimi përshkruan njëfunksionalitet të sistemit
Use Case NameEmri i Rastit përd.
29
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Përfshij - Include
� Relacioni ‘include’ paraqet përdorimin e një Rasti përdorues-‘use case’ nga njëtjetër
<<include>>
30
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Shembull: Notepad
� Zgjedhja 1
Përdoruesi i fajllit tekstual
Trajton Fajllat Tekstual
31
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Shembull: Notepad
� Zgjedhja 2
Lexuesi i Fajllit Tekstual
Shkruesi i FajllitTekstual
LexonFajllin
Tekstual
NdryshonF. T.
KrijonF.T.
HapFajllin
T.
Ruaj Fajllin
T.
ShtypëTekstin
<<include>>
<<include>>
<<include>>
<<include>>
<<include>>
<<include>>
32
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Shembuj diagramesh përdoruese
Trading Mgr
Trader
Accountingsystem
SalespersonCapture dealLimits
Exceeded
Capture Deal
Price Deal
Analyze Risk
Set Limits
Valuation
UpdateAccounts
Actor
Use Case
“uses”
“uses”
Example :
“extends”
33
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Detyra
� Krijo një ‘use case’ diagrame për– Një email program– Sistemin e TI për një librari– Sistemin e ndjekjes së pakove në një kompani
transportuese– Sistemin e TI për një shitës me shumicë në
internet – on line
34
UML
Diagramet e KlasaveClass Diagrams
35
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Klasat dhe Objektet
� Një klasë paraqet një entitet të një sistemi të dhënë, i cili ofron një implementim tëenkapsiluar(fshehur) të një funksionaliteti të një entiteti të dhënë
� Një objekt është një instancë e klasës
36
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Shembuj
� “Student” është një klasë. Ajo definon karakteristikat që i posedon çdo student (emrin, mbiemrin, email adresën, ...). Ju jeni një instancë e kësajë klase ‘Student’ (= një objekt).
� “Button” është një klasë, e cila definon karakteristikat e të gjithë butonave në një sistem operativ (si duken ato, se ato mund të klikohen, ... ). Të gjitha butonat që ju i shihni përderisa punoni nëkompjuter janë instanca të kësajë klase (=objekte)
37
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Atributet dhe operacionet
� Atributet janë të dhënat interne të njëklase
� Operacionet janë proceset të cilat din ti bën klasa
38
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Shënim
Operacionet
Atributet
Emri i klasës
39
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Shënim
� Shënim për atributetvisibility name: type = default-value
� Shënim për operacionetvisibility name (parameter-list) : return-type
40
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Disa tipe
� Integer – për numra pozitiv� Double – për numra me presje dhjetor� String – për shprehje tekstuale� Boolean – për shprehje logjike
41
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Dukshm ëria - Visibility
� Public (+): i dukshëm kudoqoftë nëprogram
� Protected (#): i dukshëm mbrenda klasës dhe nënklasat e veta
� Private (-): i dukshëm mbrenda klasës
42
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Përdorimi i dukshm ërisë� Atributet
– Public (nuk përdoret): në vend të kësajë përdoren operacionet punlike get dhe set
– Protected (nuk përdoret): në vend të kësajë përdoren operacionet e mbrojtura–protected, get dhe set
– Private (i zakonshëm-default): gjithnjë i përdorë atr ibutet private
� Operacionet– Public (default): operacionet publike-public mund t ë
përdoren kudo në program– Protected (rallë): operacionet e mbrojtura-protecte d u japin
qasje atributeve apo janë operacione ndihmëse për subklasat
– Private (jo të zakonshme): janë operacione ndihmëse
43
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Shembuj
+ Draw (Canvas)+ GetSurface () : Double
- X : Integer- Y : Integer- Radius : Integer
Rreth
44
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Shembuj
+ Draw (Canvas)+ GetSurface : Integer+ GetLeft : Integer+ GetTop : Integer+ GetRight : Integer+ GetBottom : Integer+ GetWidth : Integer+ GetHeight : Integer- DrawLine (Canvas, X1, Y1, X2, Y2)
- X : Integer- Y : Integer- Width : Integer- Height : Integer
KatërkëndëshiTip1
+ Draw (Canvas)+ GetSurface : Integer+ GetLeft : Integer+ GetTop : Integer+ GetRight : Integer+ GetBottom : Integer+ GetWidth : Integer+ GetHeight : Integer
- X1 : Integer- Y1 : Integer- X2 : Integer- Y2 : Integer
KatërkëndëshiTip2
45
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Detyra
� Formoni klas diagramet për objektet e mëposhtme:– Katrorin– Butonat– Trekëndëshin
46
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Inheritanca - Trashigimia
� Trashigimia ndoshë kur një klasë(nënklasa) ka një lidhje të tipit “është - is a” me një klasë tjetër (me superklasën). Në këtë rast subklasa trashigon të gjitha atributet dhe operacionet e superklasës.
� Mos i ngatëroni subklasat me objektet
47
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Shënim
Superklasa
Nënklasa
48
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Shembull
Person Student
Femër Mashkull
49
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Shembull
+ Draw (Canvas)+ GetSurface : Double# GetX : Integer# GetY : Integer
- X : Integer- Y : Integer
FormaMatematikore
+ MerNumrinKëndeve : Integer# JepNumrinKëndeve (NOC)# DrawLine (Canvas, X1, Y1, X2, Y2)
- NumriKëndeve : Integer
Shumëkëndëshi
- Radius : Integer
Reth
+ GetWidth : Integer+ GetHeight : Integer
- Width : Integer- Height : Integer
Katërkëndëshi
- X2 : Integer- Y2 : Integer- X3 : Integer- Y3 : Integer
Trekëndëshi
50
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Asocimet
� Asocimet paraqesin relacionet ndërmjet instancave të klasave
Klasa1 Klasa2
51
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Shembull
TabelëShahu Kalorësi
52
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Multipliciteti - Shum ëfishimi
� Tregon se sa objekte mund të participojnënë një relacion të dhënë:
n ose më shumën..*
0 ose më shumë*
n deri m objekten..m
n objekten
53
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Shembull
TabelëShahu Kalorësi1 0..4
54
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Drejtueshm ëria
� Le të zëmë se kemi definuar një asocim, atëherë drejtueshmëria-navigability tregon se a është e mundshme të kalojmë nga objektet e një lloji në objekte të një lloji tjetër
Klasa1 Klasa2
55
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Shembull
+ MerPjesën (X, Y): PjesëShahu
TabelëShahu Kalorësi1 0..4
PjesëShahu
56
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Agregacioni - grumbullimi
� Agregacioni tregon një relacion të tipit ‘pjesë e’ - angl. A “part of”
Klasa1 Klasa2Klasa1 ështëpjesë e Klasës2
57
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Shembull
+ MerPjesën (X, Y): PjesëShahu
TabelëShahu Kalorësi1 0..4
PjesëShahuStrukturëShahu
PjesëShahuNjëngjyrë1
1
1
1
2
2
58
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Kompozicioni (përbërja)- Composition
� Përbërja tregon një lidhje të tipit ‘pjesë e fortë e ‘ ; pjesët priten të jetojnë dhe vdesin me tërësinë
Klasa1 Klasa2
59
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Çka është hirearkia?
� Nivel abstraksioni
Rritje
abstraksioni
Ulje
Abstraksioni
Asetet
Konto bankare Siguria Paluajtshmëri
Kursimet ÇekimiAkcionet Obligacionet
60
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Çka është Polimorfizmi?
� Aftësia e fshehjes së shumëimplementimeve të ndryshme mbrapa njëinterfejsi të vetëm.
Prodhuesi A Prodhuesi B Prodhuesi C
61
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Shembull
+ MerPjesën (X, Y): PjesëShahu
TabelëShahu Kalorësi1 0..4
PjesëShahuStrukturëShahu
PjesëShahuNjëngjyrë1
1
1
1
2
2
KatëroriPjesësShahut164
62
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Detyrë
� Kompleto diagramin e klasës për lojën e shahut
� Krijo një diagram klase që prezenton universitetin
63
UML
Diagramet e AktivitetitActivity Diagrams
64
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Definicioni
� Një diagram aktivitetesh paraqet sekuencat e aktiviteteve, duke u mbështetur në sjelljen paralele dhe atë tëkushtëzuar
65
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Elementet bazike
� Start� End� Activity� Fork� Join� Branch� Merge
66
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Start
� Simboli start tregon pikën startuese tëdiagramit të aktiviteteve
67
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Fundi - End
� Ky simbol tregon pikën e fundit tëdiagramit të aktiviteteve
68
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Aktiviteti - Activity
� Një aktivitet është një gjendje e të bërit diçka: ndoshta një proces real i përditshëm, apo ekzekutim i një rutine softverike
Activity
69
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Shembull
Bën shpageti
Bërtit:“Dreka është gati!”
70
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Sfurk - Fork
� Sfurku ka një kalim hyrës dhe disa kalime paralele dalëse
71
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Join (grumbulluesi)
� Një xhoin ka disa kalime hyrëse paralele dhe një kalim dalës
72
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Shembull
GatuajShpageti
Bërtit:“Dreka është gati!”
BënSos
73
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Dega - Branch
� Një degë ka një kalim të vetëm hyrës dhe disa kalime dalëse të kushtëzuara. Vetëm një nga kalimet dalëse mund të përdoret
[kushti 1] [kushti 2]
74
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Bashkimi - Merge
� Një simbol i këtillë tregon fundin e sjelljes së kushtëzuar të filluar nga dega
75
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Shembull
GatuajShpageti
Bërtit:“Dreka është gati!”
Bën sosMe mish
Bën sosPa mish
[vegjetarian] [jo vegjetarian]
76
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Detyra
� Bën diagrame aktivitetesh për:– Aktivitetet në një librari– Aktivitetet e një kompanie për dërgimin e
paketave
77
UML
Diagramet e gjendjesState Diagrams
78
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Definicioni
� Diagramet e gjendjes përshkruajnë tëgjitha gjendjet e mundshme që mund ti ketë një objekt i caktuar,
� dhe tregon se si ndryshon gjendja si rezulltat i ngjarjeve që e arijnë objektin.
79
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Elementet bazike
� Start� State� Transition
80
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Fillimi - Start
� Simboli i fillimit tregon pikën fillestare tëdiagramit të gjendjes
81
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Gjendja - State
� Gjendja paraqet gjendjen të cilën mund ta ketë një objekt i caktuar
State
82
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Kalimi
� KAlimi paraqet një ngjarje e cila bën njëobjekt të ndryshon nga një gjendje nëtjetrën
Ngjarja (Event)
83
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Shembull
Hunting
Transparent
Blinking
Just Eyes
Start Pacman
Pacman eats big ball
Transparent time elapsed
Ghost reaches caveBlinkingtim
eelapsedGhost
got eaten
Ghost got eaten
84
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Detyrë
� Krijo diagramin e gjendjes për:– Bankomatin– Shëndruesin e parave letër në monedha
Disa shembuj në vazhdim:
85
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Class Diagram:Typical example
Order
dateReceivedIs prepaidnumber:stringprice: Money
Dispatch( )Close( )
Customer
NameAddress
CreditRating: string
PersonalCustomer
CreditCard#
CorporateCustomer
contactNamecreditRatingcreditLimit
Remind ( )billForMonth
Order Line
Quantity:intPrice:MoneyIsSatisfied
Employee
Product
* 1
Multiplicity mandatory
Association
Generalization
Class
Constraint1
(If Order.customer.creditRatingis “poor” then Order.isPrepaidmust be true)
*Lineitems
RoleName
Multiplicity:many-valued
0..1 *
Multiplicity:optional
* 1
Salesrep.
{creditRating()==“poor”}
86
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Interaction: Sequence DiagramAn Order
Entry WindowAn Order an Order Line A Stock Item
Prepare ( )* Prepare ( )
check ( )
[check=“true”]remove ( )
needs ToReorder ( )
a ReorderItem
a DeliveryItem
New
[check=“true”]new
Object
Message
Iteration
Return
Condition
Self-Delegation
Creation
Object’slifeline
87
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
State Diagram Example: An Order
Waiting Delivered
Checking
do/checkitem
Dispatching
do/initiatedelivery
Get next item[not all items checked]
Item received[some items not in stock]
Item re
ceived
[all items availa
ble]
[All items checked &&all items available]
Delivered
start
/get first item
[All items checked &&some items not in stock]
Self transition
Activity
transition
state
event
action
88
State University of TetovaMr.sc.Besim Abdullai, Assistant Lecturer
Example of Activity DiagramFind Beverage
Get can of colaGet cupsAdd waterPut coffee in filter
Put Filter
Turn on machine
Brew coffee
Pour coffeee Drink beverage
Person
[no coffee] [no cola]
[found cola]
^coffeePot.TurnOn
Light goes out
Decisionactivity
Guard
Activity
End
Synchronization bar [found coffee]