Sequence Diagram
-
Upload
ajchai-meenorngwar -
Category
Documents
-
view
230 -
download
2
description
Transcript of Sequence Diagram
การเกดปฏสมพนธระหวางออบเจกตโดยใช SEQUENCE DIAGRAM
Chapter 6
1
เนอหา
Sequence Diagram
สญลกษณมาตรฐานของ Sequence Diagram
เทคนคการสราง Sequence Diagram
จาก Use Case และ Class Diagram
Communication Diagram
2
Interaction Diagramไดอะแกรมทใชแสดงปฎสมพนธระหวางออบเจกต Sequence Diagram
◦ ปฏสมพนธทเนนชวงเวลา
Communication Diagram
◦ ปฏสมพนธทเนนล าดบ
Interaction Overview Diagram
◦ ปฏสมพนธภาพรวม
Timing Diagram◦ ปฏสมพนธระหวางตอชวงเวลา
3
Sequence Diagram
เปนแผนภาพทแสดงใหเหนถงการปฏสมพนธระหวาง Object ณ เวลาตางๆ ประกอบดวย
◦ Class/Object
◦ เสนเพอใชแสดงล าดบเวลา◦ เสนเพอแสดงกจกรรมทเกดขนจาก Object/Class
ใชสเหลยมแทน Class/Object ภายในกรอบสเหลยมมชอของ Object/Class ประกอบอยในรปแบบ {Object}:Class
กจกรรมทเกดขนแทนดวยลกศรแนวนอนจาก Class/Object หนงไปยงอก Class/Object ตวตอไป ระบชอกจกรรมในรปแบบ {[Conditional]}
Operation
ชอของกจกรรมตองเปน Operation ทอยใน Class/Object ทลกศรชไป
4
องคประกอบของ Object
Object name◦ บอกชอของออบเจกต◦ ออบเจกตทอยทางซายมอจะท างานกอนออบเจกตทอยทางขวามอ
Lifeline◦ เสนประทลากในแนวดงจากออบเจกต
Activation◦ สเหลยมเลกๆ ทอยบนเสน lifeline ◦ แทนการท างานตางๆ ของออบเจกตของ activation นนตองกระท า◦ ความยาวของรปทใชแทน activation เปนตวทบอกถงระยะเวลาของการท างานของออบเจกต
5
การสงเมสเสจระหวางออบเจกต
Synchronous◦ เปนการสงเมสเสจหรอตดตอแบบรอคอยค าตอบ หรอการตอบกลบกอนทจะท างานอนๆ ตอไป
Asynchronous◦ เปนการสงเมสเสจหรอตดตอแบบไมรอคอยค าตอบ ◦ ไมมการหยดท างานของผสง ผสงสามารถท างานตอได
Return◦ เปนเมสเสจทเกดขนในกรณทตนทางเรมการตดตอแลวปลายทางตองมการตดตอกลบดวย
◦ การสงเมสเสจจะเขยนขอความก ากบไวดวย ◦ ถาหากเปนเมสเสจเงอนไข จะเขยนเงอนไขไวในวงเลบกามป [ ] โดยเมสเสจจะถกสงกตอเมอเงอนไขนนเปนจรง
6
สญลกษณทใชแทนเมสเสจทงสามแบบ
7
Time หรอชวงเวลา
เปนการแสดงเวลาในลกษณะแนวตง หรอจากบนลงลาง เมสเสจทอยดานบนจะเปนสวนทเกดขนกอนเมสเสจทอยดานลาง
8
สญลกษณมาตรฐานของ Sequence Diagram
9
เทคนคการสราง Sequence Diagram
จาก Use Case และ Class Diagram
1. พจารณาทละ Use Case โดยยงไมตองค านงถงความสมพนธทแตละ Use Case มตอกน
2. พจารณาแตละ Use Case วาม Class/Object ใดรวมท าใหเกดกจกรรมใน Use Case นนๆ บาง
3. น าเอา Class/Object ตางๆ มาเรยงตอกนในแนวนอน โดยน า Actor (ในกรณท Use Case นนม Actor
ดวย) ไวทดานซายมอสดเสมอ แลวน า Class/Object ตางๆ เรยงตอกนจากซายไปขวาตามความเหมาะสม
10
เทคนคการสราง Sequence Diagram
จาก Use Case และ Class Diagram (ตอ)
4. หาก Use Case นนม Actor โดยปกตแลวกจกรรมแรกทถกเรยกมกจะเกดจาก Actor กอนเสมอ ดงนนเมอเกดกจกรรมทไปยง Class/Object ใด ใหยาย Class/Object นนมาทางซาย ท าเชนนไปเรอยๆ จนกระทงกจกรรมทงหมดครบถวน
5. กรณทมกจกรรมเกดขนใหม แต Operation ทเกดขนไมมใน Class/Object ทลกศรชไป ใหเขาไปเพม Operation นนๆ ลงไปท Class นนใน Class Diagram
11
เทคนคการสราง Sequence Diagram
จาก Use Case และ Class Diagram (ตอ)7. หากตองมการเพม Class ใหมเขาไปใน Sequence Diagram ตองเขา
ไปเพมเตม Class นน และ Relationship ทมทงหมดใน Class
Diagram ดวย (แต Class ทเพมเขาไปนนเปน Class เพอจ าลองกจกรรมทเกดขนจรงๆ ของระบบเทานน ไมใช Class ทเพมเขาไปเพอการ Implement เชน User Interface ตางๆ)
8. ท าขนตอน 1 – 6 จนครบทก Use Case
9. การสรางความสมพนธของ Sequence Diagram จาก Use Case
ทมการ Uses/Extends ท าไดโดยการน า Class และกจกรรมทเกดขนใน Use Case ทถก Uses/Extends มาแทรกเขาไปใน Use Case ทเรยกใช และใชกจกรรมเพอเชอมโยง Sequence Diagram ทงสอง
12
ตวอยางท 1Sequence Diagram ของระบบ ATM
ระบบ ATM ประกอบดวย Use Case ตางๆ ดงน◦ การถอนเงน◦ การดยอดเงน
ระบบประกอบดวย Class ตางๆ ดงน◦ เครอง ATM
◦ ปมหมายเลข บนเครอง ATM (เปน Aggregate ของเครอง ATM)
◦ หนาจอบนเครอง ATM (เปน Aggregate ของเครอง ATM)
◦ เครองจายเงน หรอ Cash Dispenser (เปน Aggregate ของเครอง ATM)
◦ เครองพมพ Slip (เปน Aggregate ของเครอง ATM)
◦ ผใชเครอง (Actor)
◦ เงนสด◦ บญชเงนฝาก
13
Sequence Diagram ของระบบ ATM
ส าหรบ Use Case การดยอดเงน
14
Sequence Diagram ของระบบ ATM
ส าหรบ Use Case การถอนเงน
15
ตวอยางท 2Sequence Diagram ของการคยโทรศพท
ประกอบดวย Use Case ตางๆ ดงน◦ การตอโทรศพท◦ การคยโทรศพท
◦ การมสายซอน (เปน Use Case ท Extends การคยโทรศพท)
ประกอบดวย Class ตางๆ ดงน◦ ผตดตอโทรศพท (Actor)
◦ ผรบโทรศพท (Actor)
◦ เครองโทรศพท
16
Sequence Diagram ของการคยโทรศพทส าหรบ Use Case การตอโทรศพท
17
Sequence Diagram ของการคยโทรศพทส าหรบ Use Case การคยโทรศพทและมสายเรยกซอน
18
Communication Diagram
เนนทการแสดงการท างานของเมสเสจตางๆ ในระบบ อธบายการโตตอบในระบบ
เปนไดอะแกรมทน ามาแทน Collaboration Diagram
ใน UML 1.x
19
ตวอยาง Communication Diagram
การก าหนดล าดบการท างานของเมสเสจควรเรมตนดวยการสรางลงกระหวางออบเจกตกอน
20
ตวอยาง Communication Diagram
ระบเมสเสจตางๆ ของระบบทเราก าลงสนใจ ระบล าดบใหกบเมสเสจเหลานน
◦ โดยการใชตวเลขจ านวนเตม เชน 1.1, 3.2, 3.2.4 เปนตน◦ ใชตวอกษรรวมดวย เพอแสดงระดบการทงานทเทากนของเมสเสจมากวา 1 เมสเสจ เชน 1.1a และ 1.1b เปนเมสเสจทอยระดบเดยวกน
21
ตวอยาง Communication Diagram
22
ตวอยาง Communication Diagram
ในกรณตองการระบวาเมสเสจใดมการท าซ า (ภายใตเงอนไข) ใหใชสญลกษณดอกจน (*) ตามดวยเงอนไขการท าซ า และเมสเสจทตองการใหท าซ า
การก าหนดใหเมสเสจทมการท าซ าใหท างานไปพรอมๆ กนแบบคขนาน ใหใชสญลกษณ | | ตามหลงเครองหมายดอกจน
23
ตวอยาง Communication Diagram
24
ตวอยาง Communication Diagram
25
ตวอยาง Communication Diagram
กรณตองการก าหนดเงอนไขการท างานใหกบเมสเสจ ดวย Guard-Condition ซงเปนเงอนไขทเปนจรงหรอเทจชวยเราในการก าหนดเงอนไขดงกลาว
สญลกษณทใช จะเหมอนสญลกษณการวนซ าแตไมมเครองหมายดอกจนน าหนา
26
ตวอยาง Communication Diagram
27