การโต้ตอบ การทำงานร่วมกัน และไดอะแกรมลำดับพร้อมตัวอย่าง
แผนภาพปฏิสัมพันธ์คืออะไร?
แผนภาพปฏิสัมพันธ์ ใช้ใน UML เพื่อสร้างการสื่อสารระหว่างวัตถุ มันไม่ได้จัดการข้อมูลที่เกี่ยวข้องกับเส้นทางการสื่อสารโดยเฉพาะ ไดอะแกรมโต้ตอบส่วนใหญ่มุ่งเน้นไปที่การส่งข้อความและวิธีที่ข้อความเหล่านี้ประกอบเป็นฟังก์ชันหนึ่งของระบบ แผนภาพปฏิสัมพันธ์ได้รับการออกแบบมาเพื่อแสดงว่าวัตถุจะตระหนักถึงข้อกำหนดเฉพาะของระบบได้อย่างไร องค์ประกอบที่สำคัญในแผนภาพการโต้ตอบคือเส้นชีวิตและข้อความ
องค์ประกอบ UML ต่างๆ มักจะมีไดอะแกรมการโต้ตอบ รายละเอียดของการโต้ตอบสามารถแสดงได้โดยใช้สัญลักษณ์ต่างๆ เช่น ไดอะแกรมลำดับ ไดอะแกรมเวลา ไดอะแกรมการสื่อสาร/การทำงานร่วมกัน ไดอะแกรมการโต้ตอบจะบันทึกพฤติกรรมไดนามิกของระบบใดๆ ก็ได้
ต่อไปนี้เป็นประเภทต่างๆ ของไดอะแกรมการโต้ตอบที่กำหนดไว้ใน UML:
- แผนภาพลำดับ
- แผนภาพการทำงานร่วมกัน
- แผนภาพเวลา
จุดประสงค์ของแผนภาพลำดับใน แผนภาพ UML คือการแสดงภาพลำดับการไหลของข้อความในระบบ แผนภาพลำดับในวิศวกรรมซอฟต์แวร์แสดงปฏิสัมพันธ์ระหว่างสองเส้นชีวิตเป็นลำดับเหตุการณ์ตามเวลา
แผนภาพการทำงานร่วมกันใน UML เรียกอีกอย่างว่าแผนภาพการสื่อสาร วัตถุประสงค์ของแผนภาพการทำงานร่วมกันคือการเน้นลักษณะโครงสร้างของระบบ เช่น วิธีการเชื่อมต่อสายใยต่างๆ ในระบบ
ไดอะแกรมการกำหนดเวลามุ่งเน้นไปที่อินสแตนซ์ที่มีการส่งข้อความจากวัตถุหนึ่งไปยังอีกวัตถุหนึ่ง
วัตถุประสงค์ของแผนภาพปฏิสัมพันธ์
แผนภาพการโต้ตอบช่วยให้คุณเห็นภาพพฤติกรรมการโต้ตอบของระบบ แผนภาพปฏิสัมพันธ์ใช้เพื่อแสดงวิธีที่อ็อบเจ็กต์ตั้งแต่หนึ่งรายการขึ้นไปในระบบเชื่อมต่อและสื่อสารระหว่างกัน
แผนภาพปฏิสัมพันธ์มุ่งเน้นไปที่พฤติกรรมไดนามิกของระบบ แผนภาพปฏิสัมพันธ์จะให้บริบทของการโต้ตอบระหว่างสายใยตั้งแต่หนึ่งสายขึ้นไปในระบบ
In UMLแผนภาพการโต้ตอบใช้เพื่อวัตถุประสงค์ต่อไปนี้:
- แผนภาพปฏิสัมพันธ์ใช้เพื่อสังเกตพฤติกรรมไดนามิกของระบบ
- แผนภาพโต้ตอบแสดงภาพการสื่อสารและลำดับของข้อความที่ส่งผ่านในระบบ
- แผนภาพการสร้างแบบจำลองปฏิสัมพันธ์แสดงถึงลักษณะโครงสร้างของออบเจ็กต์ต่างๆ ในระบบ
- แผนภาพปฏิสัมพันธ์แสดงถึงลำดับของการโต้ตอบภายในระบบ
- แผนภาพโต้ตอบเป็นวิธีการแสดงภาพข้อมูลแบบเรียลไทม์ผ่าน UML
- ไดอะแกรมการโต้ตอบ UML สามารถใช้เพื่ออธิบายสถาปัตยกรรมของระบบเชิงวัตถุหรือระบบแบบกระจายได้
คำศัพท์ที่สำคัญ
ไดอะแกรมการโต้ตอบประกอบด้วยเส้นชีวิต ข้อความ ตัวดำเนินการ ค่าคงที่ของสถานะ และข้อจำกัด
เส้นชีวิต
เส้นชีวิตแสดงถึงผู้เข้าร่วมเพียงคนเดียวในการโต้ตอบ โดยอธิบายว่าอินสแตนซ์ของตัวแยกประเภทเฉพาะมีส่วนร่วมในการโต้ตอบอย่างไร
เส้นชีวิตแสดงถึงบทบาทที่อินสแตนซ์ของตัวจำแนกประเภทอาจเล่นในการโต้ตอบ ต่อไปนี้คือคุณลักษณะต่างๆ ของเส้นชีวิต
- Name
- ใช้เพื่ออ้างอิงถึงเส้นชีวิตภายในปฏิสัมพันธ์เฉพาะ
- ชื่อของเส้นชีวิตเป็นทางเลือก
- ประเภท
- เป็นชื่อของตัวแยกประเภทที่เส้นชีวิตแสดงถึงอินสแตนซ์
- เลือก
- เป็นเงื่อนไขบูลีนที่ใช้เพื่อเลือกอินสแตนซ์เฉพาะที่ตรงตามความต้องการ
- แอ็ตทริบิวต์ตัวเลือกก็เป็นทางเลือกเช่นกัน
สัญกรณ์ของเส้นชีวิตอธิบายไว้ในส่วนสัญกรณ์
Messages
ข้อความเป็นรูปแบบการสื่อสารที่เฉพาะเจาะจงระหว่างเส้นชีวิตสองเส้นในการโต้ตอบ ข้อความเกี่ยวข้องกับกิจกรรมต่อไปนี้
- ข้อความการโทรที่ใช้ในการโทรออกการดำเนินการ
- ข้อความเพื่อสร้างอินสแตนซ์
- ข้อความที่จะทำลายอินสแตนซ์
- เพื่อส่งสัญญาณ.
เมื่อเส้นชีวิตได้รับข้อความเรียกเข้า เส้นชีวิตจะทำหน้าที่เป็นคำขอให้เรียกใช้งานการดำเนินการที่มีลายเซ็นคล้ายกับที่ระบุไว้ในข้อความ เมื่อเส้นชีวิตดำเนินการข้อความ เส้นชีวิตจะมีจุดควบคุม เมื่อการโต้ตอบดำเนินไปตามเวลา จุดควบคุมจะเคลื่อนที่ไปมาระหว่างเส้นชีวิตต่างๆ การเคลื่อนไหวนี้เรียกว่าการไหลของการควบคุม
ต่อไปนี้เป็นข้อความที่ใช้ในแผนภาพการโต้ตอบระบบ:
ชื่อข้อความ | ความหมาย |
---|---|
Syncข้อความที่น่ารังเกียจ | ผู้ส่งข้อความคอยรอให้ผู้รับกลับการควบคุมจากการดำเนินการข้อความ |
ข้อความอะซิงโครนัส | ผู้ส่งไม่รอการส่งคืนจากผู้รับ แต่จะดำเนินการต่อไปกับข้อความถัดไปแทน |
ข้อความตอบกลับ | ผู้รับข้อความก่อนหน้านี้จะส่งคืนโฟกัสของการควบคุมไปยังผู้ส่ง |
การสร้างวัตถุ | ผู้ส่งสร้างอินสแตนซ์ของตัวแยกประเภท |
การทำลายวัตถุ | ผู้ส่งทำลายอินสแตนซ์ที่สร้างขึ้น |
พบข้อความ | ผู้ส่งข้อความอยู่นอกขอบเขตของการโต้ตอบ |
ข้อความที่หายไป | ข้อความไม่เคยไปถึงปลายทาง และจะหายไปในการโต้ตอบ |
ค่าคงที่และข้อจำกัดของรัฐ
เมื่ออินสแตนซ์หรือเส้นชีวิตได้รับข้อความ อาจทำให้สถานะเปลี่ยนแปลงได้ สถานะคือเงื่อนไขหรือสถานการณ์ตลอดอายุการใช้งานของอ็อบเจ็กต์ที่ตอบสนองเงื่อนไขบางอย่าง ดำเนินการบางอย่าง และรอเหตุการณ์บางอย่าง
ในแผนภาพการโต้ตอบ ไม่ใช่ทุกข้อความที่ทำให้เกิดการเปลี่ยนแปลงสถานะของอินสแตนซ์ ข้อความบางข้อความไม่มีค่าของแอตทริบิวต์บางอย่าง ไม่มีผลข้างเคียงต่อสถานะของวัตถุ
OperaTor
ตัวดำเนินการจะระบุการดำเนินการเกี่ยวกับวิธีดำเนินการตัวดำเนินการ ตัวดำเนินการใน UML รองรับการดำเนินการกับข้อมูลในรูปแบบของการแยกสาขาและการวนซ้ำ ตัวดำเนินการต่างๆ สามารถใช้เพื่อรับรองการใช้การวนซ้ำและการแยกสาขาในโมเดล UML ตัวดำเนินการ opt และ alt ใช้สำหรับการดำเนินการแยกสาขา ตัวดำเนินการลูปใช้เพื่อให้แน่ใจว่าการดำเนินการวนซ้ำซึ่งเงื่อนไขจะถูกดำเนินการซ้ำๆ จนกว่าจะได้ผลลัพธ์ที่น่าพอใจ ตัวดำเนินการ Break จะใช้ภายในลูปหรือการดำเนินการวนซ้ำ ตัวดำเนินการ Break จะทำให้แน่ใจว่าลูปจะสิ้นสุดเมื่อพบตัวดำเนินการ break หากไม่ได้ระบุเงื่อนไข break ลูปจะดำเนินการซ้ำจำนวนไม่จำกัด ซึ่งส่งผลให้โปรแกรมหยุดทำงาน
ต่อไปนี้เป็นตัวดำเนินการที่ใช้ในไดอะแกรมการโต้ตอบ:
OperaTor | Name | ความหมาย |
---|---|---|
เลือก | ตัวเลือกเสริม (Option) | ตัวดำเนินการจะถูกดำเนินการถ้าเงื่อนไขเป็นจริง เช่น ถ้าเป็นอย่างอื่น |
อื่น ๆ | ทางเลือก | ตัวดำเนินการที่มีเงื่อนไขเป็นจริงจะถูกดำเนินการ เช่น สลับ |
ห่วง | ห่วง | ใช้ในการวนรอบคำสั่งตามระยะเวลาที่กำหนด |
ทำลาย | ทำลาย | มันจะตัดการวนซ้ำหากเงื่อนไขเป็นจริงหรือเท็จ และคำสั่งถัดไปจะถูกดำเนินการ |
อ้าง | อ้างอิง | ใช้เพื่ออ้างถึงการโต้ตอบอื่น |
โดย | Parallel | ตัวดำเนินการทั้งหมดจะถูกดำเนินการแบบขนาน |
การย้ำ
ในแผนภาพโต้ตอบ เรายังสามารถแสดงการวนซ้ำโดยใช้นิพจน์การวนซ้ำได้ นิพจน์การวนซ้ำประกอบด้วยตัวระบุการวนซ้ำและอนุประโยคการวนซ้ำที่เป็นทางเลือก ไม่มีไวยากรณ์ที่กำหนดไว้ล่วงหน้าสำหรับการวนซ้ำ UML
ในการวนซ้ำเพื่อแสดงว่ามีการส่งข้อความแบบขนาน จะใช้ตัวระบุการวนซ้ำแบบขนาน ตัวระบุการวนซ้ำแบบขนานจะแสดงด้วย *// การวนซ้ำใน UML ทำได้โดยใช้ตัวดำเนินการวนซ้ำ
การแตกแขนง
ในไดอะแกรมการโต้ตอบ เราสามารถแสดงการแยกสาขาได้โดยการเพิ่มเงื่อนไขการป้องกันลงในข้อความ เงื่อนไขการป้องกันใช้เพื่อตรวจสอบว่าข้อความสามารถส่งต่อได้หรือไม่ ข้อความจะถูกส่งต่อเมื่อเงื่อนไขการป้องกันเป็นจริงเท่านั้น ข้อความสามารถมีเงื่อนไขการป้องกันได้หลายรายการ หรือข้อความหลายรายการสามารถมีเงื่อนไขการป้องกันเดียวกันได้ การแยกสาขาใน UML ทำได้ด้วยความช่วยเหลือของตัวดำเนินการ alt และ opt
เหล่านี้คือบางส่วนของ สำคัญที่สุด คำศัพท์ที่ใช้ในแผนภาพโต้ตอบ UML
ประเภทของแผนภาพปฏิสัมพันธ์และสัญลักษณ์
ต่อไปนี้เป็นประเภทต่างๆ ของไดอะแกรมการโต้ตอบที่กำหนดไว้ใน UML:
- แผนภาพลำดับ
- แผนภาพการทำงานร่วมกัน
- แผนภาพเวลา
สัญกรณ์พื้นฐานของการโต้ตอบคือสี่เหลี่ยมผืนผ้าที่มีรูปห้าเหลี่ยมอยู่ที่มุมซ้ายบนของกล่องสี่เหลี่ยมผืนผ้า
แผนภาพลำดับคืออะไร?
A แผนภาพลำดับ เพียงแสดงปฏิสัมพันธ์ระหว่างวัตถุตามลำดับ วัตถุประสงค์ของแผนภาพลำดับใน UML คือการแสดงภาพลำดับของการไหลของข้อความในระบบ แผนภาพลำดับแสดงปฏิสัมพันธ์ระหว่างสายใยสองสายเป็นลำดับเหตุการณ์ตามเวลา
- แผนภาพลำดับแสดงการใช้งานสถานการณ์จำลองในระบบ สายใยในระบบจะมีส่วนร่วมระหว่างการดำเนินการของระบบ
- ในแผนภาพลำดับ เส้นชีวิตจะแสดงด้วยแถบแนวตั้ง
- การไหลของข้อความระหว่างวัตถุสองชิ้นขึ้นไปจะแสดงโดยใช้เส้นประแนวตั้งซึ่งขยายไปทั่วด้านล่างของหน้า
- ในแผนภาพลำดับ จะใช้ข้อความและตัวดำเนินการประเภทต่างๆ ตามที่อธิบายไว้ข้างต้น
- ในแผนภาพลำดับ ยังใช้การวนซ้ำและการแตกแขนงด้วย
ไดอะแกรมลำดับด้านบนประกอบด้วยสัญลักษณ์เส้นชีวิตและสัญลักษณ์ข้อความต่างๆ ที่ใช้ในไดอะแกรมลำดับ เช่น การสร้าง การตอบกลับ ข้อความอะซิงโครนัส ฯลฯ
ตัวอย่างแผนภาพลำดับ
ตัวอย่างแผนภาพลำดับต่อไปนี้แสดงระบบการสั่งซื้อของแมคโดนัลด์:
ลำดับเหตุการณ์ตามลำดับในแผนภาพลำดับที่กำหนดมีดังนี้:
- สั่งซื้อสินค้า.
- จ่ายเงินที่เคาน์เตอร์เงินสด
- ยืนยันการสั่งซื้อ.
- การเตรียมการสั่งซื้อ
- สั่งเสิร์ฟ.
หากมีการเปลี่ยนแปลงลำดับการทำงาน อาจทำให้โปรแกรมหยุดทำงาน และอาจทำให้ได้ผลลัพธ์ที่ไม่ถูกต้องหรือมีจุดบกพร่อง ลำดับแต่ละลำดับในไดอะแกรมลำดับข้างต้นจะแสดงด้วยข้อความประเภทต่างๆ กัน ไม่สามารถใช้ข้อความประเภทเดียวกันเพื่อระบุปฏิสัมพันธ์ทั้งหมดในไดอะแกรมได้ เนื่องจากจะทำให้ระบบมีความซับซ้อน
คุณต้องใช้ความระมัดระวังในการเลือกสัญลักษณ์ของข้อความสำหรับการโต้ตอบใดๆ สัญกรณ์ต้องตรงกับลำดับเฉพาะภายในแผนภาพ
ประโยชน์ของแผนภาพลำดับ
- แผนภาพลำดับใช้เพื่อสำรวจแอปพลิเคชันหรือระบบจริงใดๆ
- แผนภาพลำดับใช้เพื่อแสดงการไหลของข้อความจากวัตถุหนึ่งไปยังอีกวัตถุหนึ่ง
- ไดอะแกรมลำดับง่ายต่อการบำรุงรักษา
- ไดอะแกรมลำดับนั้นสร้างได้ง่ายกว่า
- ไดอะแกรมลำดับสามารถอัปเดตได้อย่างง่ายดายตามการเปลี่ยนแปลงภายในระบบ
- แผนภาพลำดับช่วยให้สามารถย้อนกลับและวิศวกรรมไปข้างหน้าได้
ข้อเสียของแผนภาพลำดับ
- ไดอะแกรมลำดับอาจมีความซับซ้อนหากมีเส้นชีวิตเกี่ยวข้องอยู่ในระบบมากเกินไป
- หากลำดับของข้อความเปลี่ยนไป ผลลัพธ์ที่ไม่ถูกต้องก็จะถูกสร้างขึ้น
- แต่ละลำดับจะต้องแสดงโดยใช้รูปแบบข้อความที่ต่างกัน ซึ่งอาจซับซ้อนเล็กน้อย
- ประเภทของข้อความจะกำหนดประเภทของลำดับภายในไดอะแกรม
แผนภาพความร่วมมือคืออะไร?
แผนภาพความร่วมมือ อธิบายความสัมพันธ์และการโต้ตอบระหว่างวัตถุซอฟต์แวร์ ใช้เพื่อทำความเข้าใจสถาปัตยกรรมของวัตถุภายในระบบ แทนที่จะทำความเข้าใจกระแสของข้อความตามไดอะแกรมลำดับ ไดอะแกรมเหล่านี้เรียกอีกอย่างหนึ่งว่า “ไดอะแกรมการสื่อสาร”
ตามการเขียนโปรแกรมเชิงวัตถุ (OOP) เอนทิตีของวัตถุจะมีแอตทริบิวต์ต่างๆ ที่เกี่ยวข้อง โดยปกติแล้วจะมีวัตถุหลายรายการอยู่ภายในระบบเชิงวัตถุ โดยวัตถุแต่ละรายการสามารถเชื่อมโยงกับวัตถุอื่นๆ ในระบบได้ ไดอะแกรมการทำงานร่วมกันใช้เพื่อสำรวจสถาปัตยกรรมของวัตถุภายในระบบ การไหลของข้อความระหว่างวัตถุสามารถแสดงได้โดยใช้ไดอะแกรมการทำงานร่วมกัน
ประโยชน์ของแผนภาพการทำงานร่วมกัน
- มันถูกเรียกว่าเป็นแผนภาพการสื่อสาร
- โดยเน้นลักษณะโครงสร้างของแผนภาพปฏิสัมพันธ์ – วิธีการเชื่อมโยงเส้นชีวิต
- รูปแบบโครงสร้างของมันจะคล้ายกับไดอะแกรมลำดับ ยกเว้นว่าเส้นชีวิตไม่มีหาง
- ข้อความที่ส่งต่อตามลำดับจะระบุโดยการนับหมายเลขข้อความแต่ละข้อความตามลำดับชั้น
- เมื่อเปรียบเทียบกับแผนภาพลำดับแผนภาพการสื่อสารจะอ่อนแอทางความหมาย
- แผนภาพวัตถุเป็นกรณีพิเศษของแผนภาพการสื่อสาร
- ช่วยให้คุณมุ่งเน้นไปที่องค์ประกอบต่างๆ แทนที่จะมุ่งเน้นไปที่การไหลของข้อความตามที่อธิบายไว้ในแผนภาพลำดับ
- ไดอะแกรมลำดับสามารถแปลงเป็นไดอะแกรมการทำงานร่วมกันได้อย่างง่ายดาย เนื่องจากไดอะแกรมการทำงานร่วมกันไม่ชัดเจนมากนัก
- ในขณะที่การสร้างแบบจำลองไดอะแกรมการทำงานร่วมกันด้วยไดอะแกรมลำดับ ข้อมูลบางอย่างอาจสูญหาย
สัญลักษณ์ไดอะแกรมการทำงานร่วมกันข้างต้นประกอบด้วยเส้นชีวิตพร้อมกับตัวเชื่อมต่อ ข้อความวนซ้ำเอง ส่งต่อและย้อนกลับที่ใช้ในไดอะแกรมการทำงานร่วมกัน
ข้อเสียของแผนภาพการทำงานร่วมกัน
- ไดอะแกรมการทำงานร่วมกันอาจมีความซับซ้อนเมื่อมีวัตถุมากเกินไปภายในระบบ
- เป็นการยากที่จะสำรวจแต่ละวัตถุภายในระบบ
- ไดอะแกรมการทำงานร่วมกันใช้เวลานาน
- วัตถุจะถูกทำลายหลังจากการสิ้นสุดโปรแกรม
- สถานะของออบเจ็กต์เปลี่ยนแปลงไปชั่วขณะ ซึ่งทำให้ยากต่อการติดตามทุกการเปลี่ยนแปลงที่เกิดขึ้นภายในออบเจ็กต์ของระบบ
ตัวอย่างแผนภาพการทำงานร่วมกัน
แผนภาพต่อไปนี้แสดงลำดับขั้นตอนในระบบการจัดการนักเรียน:
แผนภาพความร่วมมือข้างต้นแสดงถึงระบบการจัดการข้อมูลของนักเรียน การไหลของการสื่อสารในแผนภาพด้านบนกำหนดโดย
- นักเรียนขอเข้าสู่ระบบผ่านระบบเข้าสู่ระบบ
- กลไกการรับรองความถูกต้องของซอฟต์แวร์จะตรวจสอบคำขอ
- หากมีรายการนักเรียนอยู่ในฐานข้อมูล ระบบจะอนุญาตให้เข้าถึงได้ หากไม่มี ระบบจะแสดงข้อผิดพลาด
ไทม์มิ่งไดอะแกรมคืออะไร?
ไดอะแกรมกำหนดเวลา เป็นรูปแบบคลื่นหรือกราฟที่ใช้เพื่ออธิบายสถานะของเส้นชีวิตในช่วงเวลาใดเวลาหนึ่ง ใช้เพื่อระบุการเปลี่ยนแปลงของวัตถุจากรูปแบบหนึ่งไปเป็นอีกรูปแบบหนึ่ง ไดอะแกรมเวลาไม่มีสัญลักษณ์ตามที่จำเป็นในไดอะแกรมลำดับและการทำงานร่วมกัน การไหลระหว่างโปรแกรมซอฟต์แวร์ในช่วงเวลาต่างๆ จะแสดงโดยใช้รูปแบบคลื่น
- เป็นการนำเสนอปฏิสัมพันธ์ที่เหมาะสมซึ่งเน้นไปที่การกำหนดเวลาเฉพาะของข้อความที่ส่งระหว่างออบเจ็กต์ต่างๆ
- แผนภาพเวลาใช้เพื่ออธิบายการประมวลผลเวลาโดยละเอียดของวัตถุเฉพาะ
- แผนภาพเวลาใช้เพื่ออธิบายว่าวัตถุเปลี่ยนแปลงไปอย่างไรภายในอายุการใช้งาน
- ไดอะแกรมกำหนดเวลาส่วนใหญ่จะใช้กับระบบแบบกระจายและระบบฝังตัว
- ใน UML ไดอะแกรมกำหนดเวลาจะถูกอ่านจากซ้ายไปขวาตามชื่อของเส้นชีวิตที่ระบุที่ขอบด้านซ้าย
- แผนภาพเวลาใช้เพื่อแสดงการเปลี่ยนแปลงต่างๆ ที่เกิดขึ้นภายในเส้นชีวิตเป็นครั้งคราว
- แผนภาพเวลาใช้เพื่อแสดงภาพกราฟิกของสถานะต่างๆ ของเส้นชีวิตต่อหน่วยเวลา
- UML มีสัญลักษณ์ต่างๆ เพื่อทำให้สถานะการเปลี่ยนแปลงระหว่างสองสายใยต่อหนึ่งหน่วยเวลาง่ายขึ้น
ตัวอย่างแผนภาพเวลา
แผนภาพเวลาที่ระบุด้านล่างแสดงถึงระยะต่างๆ ของ a วงจรชีวิตการพัฒนาซอฟต์แวร์.
ในไดอะแกรมด้านบน ขั้นแรกซอฟต์แวร์จะผ่านขั้นตอนการกำหนดความต้องการ จากนั้นจึงผ่านขั้นตอนการออกแบบ และขั้นตอนการพัฒนาในภายหลัง ผลลัพธ์ของขั้นตอนก่อนหน้าในช่วงเวลาที่กำหนดนั้นจะถูกส่งไปยังขั้นตอนที่สองเป็นอินพุต ดังนั้น ไดอะแกรมกำหนดเวลาจึงสามารถใช้เพื่ออธิบาย SDLC (วงจรชีวิตการพัฒนาซอฟต์แวร์) ใน UML ได้
ประโยชน์ของแผนภาพเวลา
- แผนภาพเวลาใช้เพื่อแสดงสถานะของวัตถุในช่วงเวลาใดเวลาหนึ่ง
- แผนภาพเวลาช่วยให้สามารถย้อนกลับและวิศวกรรมไปข้างหน้าได้
- แผนภาพเวลาสามารถใช้เพื่อติดตามทุกการเปลี่ยนแปลงภายในระบบ
ข้อเสียของ Timing Diagram
- แผนภาพเวลาเป็นเรื่องยากที่จะเข้าใจ
- ไดอะแกรมกำหนดเวลานั้นยากต่อการบำรุงรักษา
จะวาดแผนภาพปฏิสัมพันธ์ได้อย่างไร?
แผนภาพการโต้ตอบใช้เพื่อแสดงพฤติกรรมการโต้ตอบของระบบ แผนภาพปฏิสัมพันธ์มุ่งเน้นไปที่พฤติกรรมไดนามิกของระบบ แผนภาพปฏิสัมพันธ์จะให้บริบทของการโต้ตอบระหว่างสายใยตั้งแต่หนึ่งสายขึ้นไปในระบบ
ในการวาดไดอะแกรมปฏิสัมพันธ์ คุณต้องกำหนดสถานการณ์ที่จะต้องใช้ไดอะแกรมปฏิสัมพันธ์เสียก่อน หลังจากกำหนดสถานการณ์แล้ว ให้ระบุเส้นชีวิตต่างๆ ที่จะเกี่ยวข้องกับการโต้ตอบ จัดหมวดหมู่องค์ประกอบเส้นชีวิตทั้งหมดและสำรวจองค์ประกอบเหล่านี้เพื่อระบุความเชื่อมโยงที่เป็นไปได้และความสัมพันธ์ระหว่างเส้นชีวิตแต่ละเส้น ในการวาดไดอะแกรมปฏิสัมพันธ์ จำเป็นต้องทำสิ่งต่อไปนี้:
- จำนวนสายใยทั้งหมดที่จะเป็นส่วนหนึ่งของการโต้ตอบ
- คือลำดับการไหลของข้อความภายในวัตถุต่างๆ ของระบบ
- ตัวดำเนินการต่างๆ เพื่อลดความยุ่งยากในการทำงานของไดอะแกรมการโต้ตอบ
- ข้อความประเภทต่างๆ เพื่อแสดงการโต้ตอบได้ชัดเจนและแม่นยำยิ่งขึ้น
- ลำดับข้อความตามลำดับ
- การจัดองค์กรและโครงสร้างของวัตถุ
- โครงสร้างวัตถุในช่วงเวลาต่างๆ
การใช้แผนภาพโต้ตอบ
แผนภาพการโต้ตอบประกอบด้วยแผนภาพลำดับ แผนภาพความร่วมมือ และแผนภาพกำหนดเวลา ต่อไปนี้คือจุดประสงค์เฉพาะของแผนภาพการโต้ตอบ:
- แผนภาพลำดับใช้เพื่อสำรวจแอปพลิเคชันหรือระบบจริงใดๆ
- แผนภาพปฏิสัมพันธ์ใช้เพื่อสำรวจและเปรียบเทียบการใช้ลำดับ การทำงานร่วมกัน และแผนภาพเวลา
- แผนภาพปฏิสัมพันธ์ใช้เพื่อบันทึกพฤติกรรมของระบบ มันแสดงโครงสร้างไดนามิกของระบบ
- แผนภาพลำดับใช้เพื่อแสดงการไหลของข้อความจากวัตถุหนึ่งไปยังอีกวัตถุหนึ่ง
- ไดอะแกรมการทำงานร่วมกันใช้เพื่อทำความเข้าใจสถาปัตยกรรมวัตถุของระบบมากกว่าการไหลของข้อความ
- แผนภาพปฏิสัมพันธ์ใช้ในการจำลองระบบเป็นลำดับเหตุการณ์ตามเวลา
- แผนภาพปฏิสัมพันธ์ใช้ทั้งในด้านวิศวกรรมย้อนกลับและวิศวกรรมไปข้างหน้า
- แผนภาพปฏิสัมพันธ์ใช้เพื่อจัดระเบียบโครงสร้างขององค์ประกอบเชิงโต้ตอบ
สรุป
- การโต้ตอบเป็นเพียงหน่วยของพฤติกรรมของลักษณนาม
- องค์ประกอบที่สำคัญในแผนภาพการโต้ตอบคือเส้นชีวิตและข้อความ
- แผนภาพโต้ตอบส่วนใหญ่จะเน้นไปที่การส่งข้อความ
- แผนภาพโต้ตอบจะบันทึกพฤติกรรมไดนามิกของระบบใดๆ
- แผนภาพปฏิสัมพันธ์ประกอบด้วยแผนภาพลำดับ แผนภาพเวลา แผนภาพการสื่อสาร/การทำงานร่วมกัน
- แผนภาพ UML ลำดับคือการแสดงภาพลำดับการไหลของข้อความในระบบ
- วัตถุประสงค์ของแผนภาพความร่วมมือคือการเน้นประเด็นด้านโครงสร้าง
- ไดอะแกรมการกำหนดเวลามุ่งเน้นไปที่อินสแตนซ์ที่มีการส่งข้อความจากวัตถุหนึ่งไปยังอีกวัตถุหนึ่ง