ood lesson10 sequence
DESCRIPTION
TRANSCRIPT
Object-oriented System Analysis and Design
Лекц №8. Sequence diagram
Улаанбаатар Их Сургууль 2013
2
Sequence diagram /Äàðààëëûí äèàãðàì/
• UML çàãâàð÷ëàëûí íýã õýñýã áîëîõ äàðààëëûí äèàãðàì íü Use Case –ä çààãäñàí ¿éëäëèéã äýëãýðýíã¿é òàéëáàðëàñàí áàéäàã. Òýäãýýð ñõåì¿¿äýä ä¿ð¿¿ä áà use case –¿¿äèéí õîîðîíäûí õàðèëöààíû äàðààëëûã õàðóóëàõààñ ãàäíà use case –ä çààãäñàí ¿¿ðãèéã á¿ðýí ã¿éöýòãýæ äóóñãàõàä êëàññóóä ÿìàð ¿¿ðýãòýé îðîëöîõûã õàðóóëíà.
3
Sequence diagram /Äàðààëëûí äèàãðàì/
UML-ийн динамик диаграмууд:•Sequence diagram•Collaboration diagram•Activity diagram•Statechart diagram
4
Sequence diagram /Äàðààëëûí äèàãðàì/
• Sequence Diagram буюу Дарааллын диаграмм
•Ямар объектоос хэн рүү ямар мэдээг хэзээ дамжуулагдсан
• Зориулалт нь Colloboration Diagram-тай төстэй.
• Ялгаатай тал нь гэвэл хугацааны хүчин зүйлсийг тооцдог
5
: A : B : C Sequence diagram íü ñèñòåìèéí äèíàìèê øèíæèéã ä¿ðñëýõ áºãººä îáúåêòóóä õîîðîíäûí ìýäýý äàìæóóëàëòûã õóãàöààíû äàðààëàëòàéãààð ä¿ðñýëäýã.
Á¿ðýëäýõ¿¿í õýñã¿¿ä:•Actor•Object
•Message•Activation
•Lifeline
Press button
operator
doIt()
doThat()
doThis()
Sequence diagram /Äàðààëëûí äèàãðàì/
6
Sequence diagram-í á¿ðýëäýõ¿¿í õýñýã: Object
Îáúåêòûí òýìäýãëýãýý
Object name:Class name
: Class name Object name
myAccount:Account : Account myAccount
Òóõàéëáàë:
7
Message áóþó Ìýäýý äàìæóóëàëò
: A : B
1. Message-èéí íýð (ïàðàìåòð) : áóöàõ òºðºë
Áóöààõ óòãà
íýìýëò
8
Lifeline áóþó Activation
: ALifeline: Îáúåêòûí àìüäðàõ õóãàöàà
Activation: Îáúåêòîä óäèðäëàãà øèëæèõ õóãàöàà( ýíý òóõàé çîõèîìæèéí øàòàíä èë¿¿ èõ ÿðèãäàíà)
Îáúåêò óñòàõ
9
Sequence diagram /Äàðààëëûí äèàãðàì/
• Sequence diagram юунд хэрэгтэй вэ?– Шинжилгээ ба зохиомжийн шатанд
ашигладаг.– Usecase-ийг биелүүлэхийн тулд объектууд нь
хэзээ, хэрхэн холбогдон ажиллахыг тодорхойлоход хэрэгтэй
– Системийн төвөгтэй комплекс байдлыг ойлгоход дөхөмтэй болгодог.
– Объектууд хоорондын хамаарал, бие даасан байдлыг нээн харуулдаг
10
Sequence diagram /Äàðààëëûí äèàãðàì/
• Sequence diagram-ийг хэрхэн ашиглах вэ?– Объектуудыг диаграмын оройд тэгш өнцөгтөөр
дүрсэлдэг.– Босоо чиглэлд дүрслэгдэх тасархай шугамууд нь объект
бүрийн амьдрах хугацааг илэрхийлдэг.– Объектууд хоорондын мэдээ дамжуулалтыг сумтай
шугамаар дүрсэлдэг. Заримдаа объект нь өөрөө өөрийгөө дуудах шаардлага гарах үед энэ шугамын сум нь өөр рүүгээ чиглэсэн байна.
– Дамжигдаж буй мэдээ бүр нь классын гишүүн функц байх тул мэдээ дамжуулалтыг гишүүн функцын нэрээр нэрлэхээс гадна тухайн гишүүн функцын авах аргумент болон буцаах утгыг мөн тодорхойлох боломжтой.
11
Sequence diagram /Äàðààëëûí äèàãðàì/Тайлбар:
1. CheckOutController класс нь PatronDB –ийн объект руу getPatron()мэдээг дамжуулж байна
2. Дараа нь Patron объект руу getBalance() мэдээ дамжуулсаны үр дүнд нь CheckOutController руу “balance” утгыг буцаана.
3. Дараа нь CheckOutController объект нь OverdueFineController объект руу payFine()гэсэн мэдээг дамжуулна.
4. Эцэст нь OverdueFineController нь өөрөө өөрийгөө устгана.
12
Sequence diagram /Äàðààëëûí äèàãðàì/
Санамж:• Асинхрон мэдээ дамжуулалт
– Асинхрон буюу хугацааны зэрэг агшинд хийгдэх үйлдлүүдийг асинхрон мэдээ дамжуулалт гэнэ.
• Тухайн классын объектыг үүсгэх функц болох байгуулагч функцыг дуудах мэдээ дамжуулалтаар үүссэн тэгш өнцөгт нь тухайн классынхаа тэгш өнцөгттэй залгаа байрладаг.
13
A
B
C
Äèàãðàìóóäûí õîîðîíäûí õàìààðàë
:ab :cd :ef
Use case
Class diagram Sequence diagramÑòàòèê øèíæèéã ä¿ðñýëíý Äèíàìèê øèíæèéã ä¿ðñýëíý
Ýäãýýð 2 äèàãðàìûí íýã íü ñèñòåìèéã ôóíêö òàëààñ íü, íºãºº íü ºãºãäºë òàëààñ íü ä¿ðñëýõ áºãººä õîîðîíäîî ñàëøã¿é õîëáîîòîéãîîð ä¿ðñëýãääýã.
14
Êëàññûí îáúåêòóóäûã òîäîðõîéëîõ íü
A
B
C ab:A
cd:B
ef:C
1. Êëàññûí îáúåêòóóäûã îðõèãäóóëàõã¿é òîäîðõîéëîõ
2. Îáúåêò íü ìýäýý õ¿ëýýí àâàõ ýñâýë ìýäýý äàìæóóëàõ ¿åä êëàññóóäûí õîîðîíäûí ¿¿ñýæ áóé õîëáîî õàìààðëûã òîãòîîõ
ab, cd, ef ãýñýí îáúåêòóóä íü õàðãàëçàí À,Â,Ñ êëàññóóäàä òîäîðõîéëîãäñîí
Cd îáúåêò ef îáúåêò ðóó ìýäýý äàìæóóëñíààð Â, Ñ êëàññóóäûí õîîðîíä õîëáîî òîãòîíî.
15
Ìýäýý äàìæóóëàëòûã êëàññûí äèàãðàìûí ôóíêöýýð òîäîðõîéëîõ
start
ab:A cd:B ef:C
Á¿õ Ìýäýý äàìæóóëàëò íü êëàññûí äèàãðàìä ôóíêö áîëæ ä¿ðñëýãäýíý.
doSomething
doAnything
doEverything
A
B
start
doSomething
C
doEverythingdoAnything
C êëàññä doAnything ôóíêö íýìýãäñýí.
16
17
18
19
20
21
22
23