Sequence Diagram

27
การเกิดปฏิสัมพันธ์ระหว่างออบเจ็กต์โดยใช้ SEQUENCE DIAGRAM Chapter 6 1

description

Sequence Diagram

Transcript of Sequence Diagram

Page 1: Sequence Diagram

การเกดปฏสมพนธระหวางออบเจกตโดยใช SEQUENCE DIAGRAM

Chapter 6

1

Page 2: Sequence Diagram

เนอหา

Sequence Diagram

สญลกษณมาตรฐานของ Sequence Diagram

เทคนคการสราง Sequence Diagram

จาก Use Case และ Class Diagram

Communication Diagram

2

Page 3: Sequence Diagram

Interaction Diagramไดอะแกรมทใชแสดงปฎสมพนธระหวางออบเจกต Sequence Diagram

◦ ปฏสมพนธทเนนชวงเวลา

Communication Diagram

◦ ปฏสมพนธทเนนล าดบ

Interaction Overview Diagram

◦ ปฏสมพนธภาพรวม

Timing Diagram◦ ปฏสมพนธระหวางตอชวงเวลา

3

Page 4: Sequence Diagram

Sequence Diagram

เปนแผนภาพทแสดงใหเหนถงการปฏสมพนธระหวาง Object ณ เวลาตางๆ ประกอบดวย

◦ Class/Object

◦ เสนเพอใชแสดงล าดบเวลา◦ เสนเพอแสดงกจกรรมทเกดขนจาก Object/Class

ใชสเหลยมแทน Class/Object ภายในกรอบสเหลยมมชอของ Object/Class ประกอบอยในรปแบบ {Object}:Class

กจกรรมทเกดขนแทนดวยลกศรแนวนอนจาก Class/Object หนงไปยงอก Class/Object ตวตอไป ระบชอกจกรรมในรปแบบ {[Conditional]}

Operation

ชอของกจกรรมตองเปน Operation ทอยใน Class/Object ทลกศรชไป

4

Page 5: Sequence Diagram

องคประกอบของ Object

Object name◦ บอกชอของออบเจกต◦ ออบเจกตทอยทางซายมอจะท างานกอนออบเจกตทอยทางขวามอ

Lifeline◦ เสนประทลากในแนวดงจากออบเจกต

Activation◦ สเหลยมเลกๆ ทอยบนเสน lifeline ◦ แทนการท างานตางๆ ของออบเจกตของ activation นนตองกระท า◦ ความยาวของรปทใชแทน activation เปนตวทบอกถงระยะเวลาของการท างานของออบเจกต

5

Page 6: Sequence Diagram

การสงเมสเสจระหวางออบเจกต

Synchronous◦ เปนการสงเมสเสจหรอตดตอแบบรอคอยค าตอบ หรอการตอบกลบกอนทจะท างานอนๆ ตอไป

Asynchronous◦ เปนการสงเมสเสจหรอตดตอแบบไมรอคอยค าตอบ ◦ ไมมการหยดท างานของผสง ผสงสามารถท างานตอได

Return◦ เปนเมสเสจทเกดขนในกรณทตนทางเรมการตดตอแลวปลายทางตองมการตดตอกลบดวย

◦ การสงเมสเสจจะเขยนขอความก ากบไวดวย ◦ ถาหากเปนเมสเสจเงอนไข จะเขยนเงอนไขไวในวงเลบกามป [ ] โดยเมสเสจจะถกสงกตอเมอเงอนไขนนเปนจรง

6

Page 7: Sequence Diagram

สญลกษณทใชแทนเมสเสจทงสามแบบ

7

Page 8: Sequence Diagram

Time หรอชวงเวลา

เปนการแสดงเวลาในลกษณะแนวตง หรอจากบนลงลาง เมสเสจทอยดานบนจะเปนสวนทเกดขนกอนเมสเสจทอยดานลาง

8

Page 9: Sequence Diagram

สญลกษณมาตรฐานของ Sequence Diagram

9

Page 10: Sequence Diagram

เทคนคการสราง 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

Page 11: Sequence Diagram

เทคนคการสราง Sequence Diagram

จาก Use Case และ Class Diagram (ตอ)

4. หาก Use Case นนม Actor โดยปกตแลวกจกรรมแรกทถกเรยกมกจะเกดจาก Actor กอนเสมอ ดงนนเมอเกดกจกรรมทไปยง Class/Object ใด ใหยาย Class/Object นนมาทางซาย ท าเชนนไปเรอยๆ จนกระทงกจกรรมทงหมดครบถวน

5. กรณทมกจกรรมเกดขนใหม แต Operation ทเกดขนไมมใน Class/Object ทลกศรชไป ใหเขาไปเพม Operation นนๆ ลงไปท Class นนใน Class Diagram

11

Page 12: Sequence Diagram

เทคนคการสราง 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

Page 13: Sequence Diagram

ตวอยางท 1Sequence Diagram ของระบบ ATM

ระบบ ATM ประกอบดวย Use Case ตางๆ ดงน◦ การถอนเงน◦ การดยอดเงน

ระบบประกอบดวย Class ตางๆ ดงน◦ เครอง ATM

◦ ปมหมายเลข บนเครอง ATM (เปน Aggregate ของเครอง ATM)

◦ หนาจอบนเครอง ATM (เปน Aggregate ของเครอง ATM)

◦ เครองจายเงน หรอ Cash Dispenser (เปน Aggregate ของเครอง ATM)

◦ เครองพมพ Slip (เปน Aggregate ของเครอง ATM)

◦ ผใชเครอง (Actor)

◦ เงนสด◦ บญชเงนฝาก

13

Page 14: Sequence Diagram

Sequence Diagram ของระบบ ATM

ส าหรบ Use Case การดยอดเงน

14

Page 15: Sequence Diagram

Sequence Diagram ของระบบ ATM

ส าหรบ Use Case การถอนเงน

15

Page 16: Sequence Diagram

ตวอยางท 2Sequence Diagram ของการคยโทรศพท

ประกอบดวย Use Case ตางๆ ดงน◦ การตอโทรศพท◦ การคยโทรศพท

◦ การมสายซอน (เปน Use Case ท Extends การคยโทรศพท)

ประกอบดวย Class ตางๆ ดงน◦ ผตดตอโทรศพท (Actor)

◦ ผรบโทรศพท (Actor)

◦ เครองโทรศพท

16

Page 17: Sequence Diagram

Sequence Diagram ของการคยโทรศพทส าหรบ Use Case การตอโทรศพท

17

Page 18: Sequence Diagram

Sequence Diagram ของการคยโทรศพทส าหรบ Use Case การคยโทรศพทและมสายเรยกซอน

18

Page 19: Sequence Diagram

Communication Diagram

เนนทการแสดงการท างานของเมสเสจตางๆ ในระบบ อธบายการโตตอบในระบบ

เปนไดอะแกรมทน ามาแทน Collaboration Diagram

ใน UML 1.x

19

Page 20: Sequence Diagram

ตวอยาง Communication Diagram

การก าหนดล าดบการท างานของเมสเสจควรเรมตนดวยการสรางลงกระหวางออบเจกตกอน

20

Page 21: Sequence Diagram

ตวอยาง Communication Diagram

ระบเมสเสจตางๆ ของระบบทเราก าลงสนใจ ระบล าดบใหกบเมสเสจเหลานน

◦ โดยการใชตวเลขจ านวนเตม เชน 1.1, 3.2, 3.2.4 เปนตน◦ ใชตวอกษรรวมดวย เพอแสดงระดบการทงานทเทากนของเมสเสจมากวา 1 เมสเสจ เชน 1.1a และ 1.1b เปนเมสเสจทอยระดบเดยวกน

21

Page 22: Sequence Diagram

ตวอยาง Communication Diagram

22

Page 23: Sequence Diagram

ตวอยาง Communication Diagram

ในกรณตองการระบวาเมสเสจใดมการท าซ า (ภายใตเงอนไข) ใหใชสญลกษณดอกจน (*) ตามดวยเงอนไขการท าซ า และเมสเสจทตองการใหท าซ า

การก าหนดใหเมสเสจทมการท าซ าใหท างานไปพรอมๆ กนแบบคขนาน ใหใชสญลกษณ | | ตามหลงเครองหมายดอกจน

23

Page 24: Sequence Diagram

ตวอยาง Communication Diagram

24

Page 25: Sequence Diagram

ตวอยาง Communication Diagram

25

Page 26: Sequence Diagram

ตวอยาง Communication Diagram

กรณตองการก าหนดเงอนไขการท างานใหกบเมสเสจ ดวย Guard-Condition ซงเปนเงอนไขทเปนจรงหรอเทจชวยเราในการก าหนดเงอนไขดงกลาว

สญลกษณทใช จะเหมอนสญลกษณการวนซ าแตไมมเครองหมายดอกจนน าหนา

26

Page 27: Sequence Diagram

ตวอยาง Communication Diagram

27