วันอังคารที่ 20 มกราคม พ.ศ. 2558

Sequence Diagram


          Sequence Diagram เป็นแผนภาพที่แสดงให้เห็นถึงการปฏิสัมพันธ์ (Interaction)ระหว่างอ็อบเจ็กต์ของคลาส โดยเฉพาะการส่ง message ระหว่างอ็อบเจ็กต์ตามลำดับของเวลา(Sequence) ที่เกิเหตุการณ์ขึ้นจากน้อยไปมาก โดยจะมีสัญลักษณ์แสดงให้เห็นล าดับของการส่งmessage ตามเวลาส่งอย่างชัดเจน แสดงลักษณะของ Sequence Diagram ดังรูปที่ 1




          จากตัวอย่าง Sequence Diagram ในรูปที่ 1 เป็นการแสดงให้เห็นการส่ง messageระหว่างอ็อบเจ็กต์  “Order”, “Customer”  และ “Product” โดย Actor  “Officer”  ต้องการทราบรายละเอียดรายการซื้อสินค้า จึงส่ง message  “getOrderInfo( )”  เข้าสู่ระบบมายังอ็อบเจ็กต์  “Order”  จากนั้นอ็อบเจ็กต์  “Order”   ส่ง message  “getCustInfo( )”  ไปที่อ็อบเจ็กต์“Customer” เพื่อขอรายละเอียดลูกค้า พร้อมกับส่ง message  “getProductInfo( )”  ไปที่อ็อบเจ็กต์ “Product”  เพื่อขอรายละเอียดสินค้า แล้วนำมาคำนวณหาราคาสินค้าที่สั่งซื้อทั้งหมด  (calcGtotal( ))  และแสดงผลทางจอภาพต่อ  Actor “Officer”

          จากรูปที่ 1 จะเห็นคุณลักษณะของ Sequence Diagram ได้อย่างชัดเจนว่า เป็นแผนภาพที่สามารถแสดงให้เห็นถึงการปฏิสัมพันธ์ระหว่างอ็อบเจ็กต์ของคลาสตามลาดับของเวลาเป็นสำคัญทำให้ทราบว่า message ใดเกิดก่อน message ใดเกิดหลัง


สัญลักษณ์ใน Sequence Diagram

          จากรูปที่ 1 แสดงลักษณะของ Sequence Diagram โดยทั่วไป ซึ่งประกอบไปด้วยสัญลักษณ์ต่างๆ ดังนี้

ตารางที่ 1 สัญลักษณ์ภายใน Sequence Diagram



          สัญลักษณ์ที่แสดงใน Sequence Diagram รูปที่ 1 และในตารางที่ 1 เป็นสัญลักษณ์ของ Sequence Diagram โดยทั่วไปของภาษา UML แต่สำหรับในที่นี้จะเพิ่มเติมสัญลักษณ์ของคลาสพิเศษทั้ง 3 ซึ่งได้แก่ Entity Class, Boundary Class และ Control Class มาวางในแผนภาพแทนตำแหน่งของ “อ็อบเจ็ค” (จะไม่ใช้สัญลักษณ์ของอ็อบเจ็ค) สำหรับสัญลักษณ์อื่นในที่นี้จะยังคงใช้เหมือนเดิม ดังตัวอย่างในรูปที่ 2




          สำหรับ Sequence Diagram ตามลักษณะที่หนังสือเล่มนี้เลือกใช้ เป็น Sequence Diagram ที่ใช้ประโยชน์จาก Class Diagram (หรือ Object Relation) ที่ปรับปรุงแล้วภายหลังจากการทำ Normalization โดยนำมาใช้ร่วมกับ Use Case Diagram ทั้งนี้เพราะ Class Diagram ที่ได้หลังจากการทำ Normalization แล้วนั้น ประกอบไปด้วยคลาสที่ได้รับการปรับปรุงโครงสร้างทางด้านข้อมูลให้เหมาะสม และลดปัญหาการจัดเก็บข้อมูลที่ซ้ าซ้อนแล้ว ดังนั้น เมื่อน ามาสร้าง Analysis Class หรือนำมาใช้เพื่อค้นหา Operation/Method จะทำให้ง่ายและถูกต้องยิ่งขึ้น






ไม่มีความคิดเห็น:

แสดงความคิดเห็น