State Diagram
จากวิกิพีเดีย สารานุกรมเสรี
- บทความนี้มีชื่อเป็นภาษาอังกฤษ เนื่องจากยังไม่มีชื่อภาษาไทยที่กระชับ เหมาะสม หรือไม่รู้วิธีอ่านในภาษาไทย
State Diagram คือ แผนภาพแสดงสถานะ ใช้เพื่อแสดงสถานะของวัตถุ รวมไปถึงเหตุการณ์ต่าง ๆ ที่สามารถทำให้สถานะของวัตถุนั้นเปลี่ยนแปลงไปและการกระทำที่เกิดขึ้นเมื่อสถานะของระบบเปลี่ยนไป สามารถบอกสถานะของวัตถุได้ โดยใช้หลักการให้ความสนใจ ณ เวลาต่าง ๆ กันนั้น วัตถุจะมีสถานะเป็นแบบใดบ้าง
การเขียน State Diagram เพื่อการทำ Object Oriented Analysis and Design นั้นจะแทนด้วยสัญลักษณ์ สี่เหลี่ยมมุมมน ซึ่งแทน State โดยมีชื่อของ State ระบุอยู่ และจะใช้เครื่องหมายลูกศรเพื่อแทน Transition โดยลากจาก State เริ่มต้นไปยัง State ที่ต้องการ โดยบนลูกศรจะมีชื่อของ Transition หรือกิจกรรมกำกับอยู่ด้วย การเขียนชื่อของกิจกรรมกำกับบนลูกศร มีรูปแบบดังนี้
โดยที่
- Condition หมายถึง เงื่อนไขในการเข้าหรือออกจาก State
- Action หมายถึง กิจกรรมที่ทำระหว่างการเปลี่ยน State
- ทั้งนี้ในลูกศรจะมี Condition หรือ Action หรือไม่มีก็ได้ แต่ต้องมีตัวใดตัวหนึ่งเป็นอย่างน้อย
- จุดเริ่มต้นของกิจกรรมต่าง ๆ ใน State diagram เรียกว่า Initial state
- จุดสิ้นสุดของกิจกรรมทั้งหมดใน State diagram เรียกว่า End State
[แก้] หลักในการเขียน State Diagram ให้มีประสิทธิภาพ
- จาก Class Diagram ดูว่ามีจำนวนของ State Diagram กี่ตัวที่ต้องเขียน ปกติจะเท่ากับจำนวน Function ของแต่ละ Class รวมกัน
- ไม่จำเป็นที่จะต้องเขียน State Diagram ของทุก ๆ Function ของทุก ๆ Class Diagram ก็ได้
- ในบาง Function ที่กิจกรรมไม่ซับซ้อนมากมาย ไม่จำเป็นต้องมี State Diagram
- ให้พิจารณาว่าในแต่ละ Class จะมี State อะไรบ้าง (โดยยึดจากหลักการของความเป็นจริง) ไม่ต้องคำนึงว่ามี Function อะไรอยู่
- จาก State ที่มีอยู่ให้เขียน State Diagram ของแต่ละ Function
- เพิ่ม state ที่จำเป็นเพิ่มเติม เพื่อให้ state diagram สมบูรณ์ยิ่งขึ้น
- ทำจนกว่าจะได้ State Diagram ของ 1 Class ที่สมบูรณ์
- ทำซ้ำจนครบทุก ๆ Class ใน Class Diagram
![]() |
State Diagram เป็นบทความเกี่ยวกับ คอมพิวเตอร์ อุปกรณ์คอมพิวเตอร์ หรือ เครือข่าย ที่ยังไม่สมบูรณ์ ต้องการตรวจสอบ เพิ่มเนื้อหา หรือเพิ่มแหล่งอ้างอิง คุณสามารถช่วยเพิ่มเติมหรือแก้ไข เพื่อให้สมบูรณ์มากขึ้น ข้อมูลเกี่ยวกับ State Diagram ในภาษาอื่น อาจสามารถหาอ่านได้จากเมนู ภาษาอื่น ด้านซ้ายมือ |