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

Chapter 6 การเกิดปฏิสัมพันธ์ระหว่างออบเจ็กต์โดยใช้php.diw.go.th/centerprice/upload1/sequence_diagram.pdf ·

Embed Size (px)

Citation preview

Page 1: Chapter 6 การเกิดปฏิสัมพันธ์ระหว่างออบเจ็กต์โดยใช้php.diw.go.th/centerprice/upload1/sequence_diagram.pdf ·

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

Chapter 6

1

Page 2: Chapter 6 การเกิดปฏิสัมพันธ์ระหว่างออบเจ็กต์โดยใช้php.diw.go.th/centerprice/upload1/sequence_diagram.pdf ·

เนอหา

Sequence Diagram

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

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

จาก Use Case และ Class Diagram

Communication Diagram

2

Page 3: Chapter 6 การเกิดปฏิสัมพันธ์ระหว่างออบเจ็กต์โดยใช้php.diw.go.th/centerprice/upload1/sequence_diagram.pdf ·

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

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

Communication Diagram

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

Interaction Overview Diagram

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

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

3

Page 4: Chapter 6 การเกิดปฏิสัมพันธ์ระหว่างออบเจ็กต์โดยใช้php.diw.go.th/centerprice/upload1/sequence_diagram.pdf ·

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: Chapter 6 การเกิดปฏิสัมพันธ์ระหว่างออบเจ็กต์โดยใช้php.diw.go.th/centerprice/upload1/sequence_diagram.pdf ·

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

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

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

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

5

Page 6: Chapter 6 การเกิดปฏิสัมพันธ์ระหว่างออบเจ็กต์โดยใช้php.diw.go.th/centerprice/upload1/sequence_diagram.pdf ·

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

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

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

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

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

6

Page 7: Chapter 6 การเกิดปฏิสัมพันธ์ระหว่างออบเจ็กต์โดยใช้php.diw.go.th/centerprice/upload1/sequence_diagram.pdf ·

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

7

Page 8: Chapter 6 การเกิดปฏิสัมพันธ์ระหว่างออบเจ็กต์โดยใช้php.diw.go.th/centerprice/upload1/sequence_diagram.pdf ·

Time หรอชวงเวลา

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

8

Page 9: Chapter 6 การเกิดปฏิสัมพันธ์ระหว่างออบเจ็กต์โดยใช้php.diw.go.th/centerprice/upload1/sequence_diagram.pdf ·

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

9

Page 10: Chapter 6 การเกิดปฏิสัมพันธ์ระหว่างออบเจ็กต์โดยใช้php.diw.go.th/centerprice/upload1/sequence_diagram.pdf ·

เทคนคการสราง 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: Chapter 6 การเกิดปฏิสัมพันธ์ระหว่างออบเจ็กต์โดยใช้php.diw.go.th/centerprice/upload1/sequence_diagram.pdf ·

เทคนคการสราง 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: Chapter 6 การเกิดปฏิสัมพันธ์ระหว่างออบเจ็กต์โดยใช้php.diw.go.th/centerprice/upload1/sequence_diagram.pdf ·

เทคนคการสราง 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: Chapter 6 การเกิดปฏิสัมพันธ์ระหว่างออบเจ็กต์โดยใช้php.diw.go.th/centerprice/upload1/sequence_diagram.pdf ·

ตวอยางท 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: Chapter 6 การเกิดปฏิสัมพันธ์ระหว่างออบเจ็กต์โดยใช้php.diw.go.th/centerprice/upload1/sequence_diagram.pdf ·

Sequence Diagram ของระบบ ATM

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

14

Page 15: Chapter 6 การเกิดปฏิสัมพันธ์ระหว่างออบเจ็กต์โดยใช้php.diw.go.th/centerprice/upload1/sequence_diagram.pdf ·

Sequence Diagram ของระบบ ATM

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

15

Page 16: Chapter 6 การเกิดปฏิสัมพันธ์ระหว่างออบเจ็กต์โดยใช้php.diw.go.th/centerprice/upload1/sequence_diagram.pdf ·

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

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

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

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

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

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

16

Page 17: Chapter 6 การเกิดปฏิสัมพันธ์ระหว่างออบเจ็กต์โดยใช้php.diw.go.th/centerprice/upload1/sequence_diagram.pdf ·

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

17

Page 18: Chapter 6 การเกิดปฏิสัมพันธ์ระหว่างออบเจ็กต์โดยใช้php.diw.go.th/centerprice/upload1/sequence_diagram.pdf ·

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

18

Page 19: Chapter 6 การเกิดปฏิสัมพันธ์ระหว่างออบเจ็กต์โดยใช้php.diw.go.th/centerprice/upload1/sequence_diagram.pdf ·

Communication Diagram

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

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

ใน UML 1.x

19

Page 20: Chapter 6 การเกิดปฏิสัมพันธ์ระหว่างออบเจ็กต์โดยใช้php.diw.go.th/centerprice/upload1/sequence_diagram.pdf ·

ตวอยาง Communication Diagram

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

20

Page 21: Chapter 6 การเกิดปฏิสัมพันธ์ระหว่างออบเจ็กต์โดยใช้php.diw.go.th/centerprice/upload1/sequence_diagram.pdf ·

ตวอยาง Communication Diagram

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

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

21

Page 22: Chapter 6 การเกิดปฏิสัมพันธ์ระหว่างออบเจ็กต์โดยใช้php.diw.go.th/centerprice/upload1/sequence_diagram.pdf ·

ตวอยาง Communication Diagram

22

Page 23: Chapter 6 การเกิดปฏิสัมพันธ์ระหว่างออบเจ็กต์โดยใช้php.diw.go.th/centerprice/upload1/sequence_diagram.pdf ·

ตวอยาง Communication Diagram

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

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

23

Page 24: Chapter 6 การเกิดปฏิสัมพันธ์ระหว่างออบเจ็กต์โดยใช้php.diw.go.th/centerprice/upload1/sequence_diagram.pdf ·

ตวอยาง Communication Diagram

24

Page 25: Chapter 6 การเกิดปฏิสัมพันธ์ระหว่างออบเจ็กต์โดยใช้php.diw.go.th/centerprice/upload1/sequence_diagram.pdf ·

ตวอยาง Communication Diagram

25

Page 26: Chapter 6 การเกิดปฏิสัมพันธ์ระหว่างออบเจ็กต์โดยใช้php.diw.go.th/centerprice/upload1/sequence_diagram.pdf ·

ตวอยาง Communication Diagram

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

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

26

Page 27: Chapter 6 การเกิดปฏิสัมพันธ์ระหว่างออบเจ็กต์โดยใช้php.diw.go.th/centerprice/upload1/sequence_diagram.pdf ·

ตวอยาง Communication Diagram

27