Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore รายงานเรื่องState-Diagram

รายงานเรื่องState-Diagram

Published by Chatchaphon Oumkrai, 2021-02-19 05:23:44

Description: State-Diagram

Search

Read the Text Version

1 เรอ่ื ง State Diagram จดั ทำโดย นาย ยศวรรธน์ สรุ ินทร์ ปวส 1.1 แผนก เทคโนโลยีสารสนเทศ เลขที่ 6 นาย อัคควัตฒ์ บัวศรี ปวส 1.1 แผนก เทคโนโลยีสารสนเทศ เลขที่ 7 นายชัชพล อมุ่ ไกร ปวส 1.2 แผนก เทคโนโลยีสารสนเทศ เลขที่ 6 เสนอ นางสาว พวงมาลัย จันทรเสนา รางงานฉบบั น้เี ป็นสว่ นหน่ึงของรายวชิ า วชิ า โครงสร้างขอ้ มูลและอัลกอริทมึ วิทยาลัยอาชีวศกึ ษาพษิ ณุโลก ภาคเรียนท่ี 2 ปกี ารศกึ ษา 2564

2 คำนำ รายงานฉบับนี้เป็นส่วนหนึ่งของวิชา โครงสร้างข้อมูลและอัลกอริทึม โดยมีจุดประสงค์ เพื่อการศึกษา ความรู้ที่ได้จากเรื่อง StateDiagram ซึ่งรายงานนี้มีเนื้อหาเกี่ยวกับความรู้จาหนังสือ โครงสร้างข้อมูล ห้องสมุด และแหล่งความรู้จากเว็บไซต์ต่างๆ โดยรายงานเล่มนีต้ อ้ งมีเนื้อหาเกี่ยวกับ State Diagram และความสำคัญของ ระบการทำงานตา่ งๆ ผู้จัดทำคาดหวังเป็นอย่างยิ่งว่าการจัดทำเอกสารฉบับนี้จะมีข้อมูลที่เป็นประโยชน์ต่อผู้ที่สนใจศึกษา วรรณกรรมไทยเป็นอยา่ งดี นาย ยศวรรธน์ สรุ ินทร์ นาย อัคควตั ฒ์ บวั ศรี นายชัชพล อุม่ ไกร

สารบญั 3 เร่ือง หน้า 1. State Diagram 4 2. หลกั ในการเขยี น State Diagram 4 3. Turn On (เปิดเคร่ือง) 5 6 4. Read Instruction (อ่านคำสง่ั จากหน่วยความจำ) 7 7 5. Decode (การถอดรหสั คำสงั่ ) 8 9 6. Execute (การประมวลผล) 9 10 7. เงอื่ นไขของการเขา้ และออกจาก State ตา่ งๆ ใน State Diagram 11 12 8. สญั ลกั ษณแ์ ละสัญลกั ษณ์แผนภาพแผนภมู สิ ถานะพ้นื ฐาน 9. Store Data (การบันทกึ ผลลพั ธส์ หู่ น่วยความจำ) 10. สญั ลกั ษณ์สถานะพน้ื ฐาน 11. Store Data (การบนั ทกึ ผลลพั ธ์สหู่ น่วยความจำ) 12. ซบั สเตท – Substates

4 State Diagram แผนภาพแสดงสถานะ หรือ สเตตไดอะแกรม (state diagram) ใช้เพื่อแสดงสถานะของวัตถุ รวมไปถึง เหตุการณ์ต่าง ๆ ที่สามารถทำให้สถานะของวัตถุนั้นเปลีย่ นแปลงไปและการกระทำท่ีเกิดขึน้ เมื่อสถานะของระบบ เปล่ียนไป สามารถบอกสถานะของวัตถุได้ โดยใช้หลกั การใหค้ วามสนใจ ณ เวลาต่าง ๆ กนั น้นั วัตถจุ ะมีสถานะเป็น แบบใดบ้าง การเขยี น State Diagram เพื่อการทำ Object Oriented Analysis and Design นน้ั จะแทนด้วยสญั ลกั ษณ์ สี่เหลี่ยมมุมมน ซึ่งแทน State โดยมีชื่อของ State ระบุอยู่ และจะใช้เครื่องหมายลูกศรเพ่ือแทน Transition โดย ลากจาก State เริ่มต้นไปยัง State ที่ต้องการ โดยบนลูกศรจะมีชื่อของ Transition หรือกิจกรรมกำกับอยู่ด้วย การเขียนชอื่ ของกจิ กรรมกำกับบนลูกศร มีรูปแบบดังน้ี หลักในการเขียน State Diagram 1. จาก Class Diagram ใหด้ วู ่ามี State Diagram กต่ี ัวท่ตี อ้ งเขียน ไมจ่ ำเป็นทีจ่ ะต้องเขียน State Diagram ของ ทุก Function ทุก Class Diagram ในบาง Function ที่ไม่ได้มีกิจกรรมที่ซับซ้อนมากมาย ก็ไม่จำเป็นต้องมี StateDiagram 2. ในแต่ละ Class ให้พจิ ารณาวา่ จะมี State อะไรบา้ ง โดยยังไม่ตอ้ งคำนึงว่ามี Function อะไรอยู่บา้ ง 3. จาก State ทีม่ อี ยู่ใหเ้ ขียน State Diagram ของแตล่ ะ Function 4. หากพบวา่ มี State ใดที่จะต้องเพิ่ม ให้เพม่ิ เข้าไป เพ่ือทำให้ State Diagram สมบูรณ์ขึ้น 5. ทำขอ้ 3 และ 4 จนกวา่ จะได้ State Diagram ของ 1 Class ทสี่ มบูรณ์ 6. ทำจนครบทกุ ๆ Class ใน Class Diagram

5 Turn On (เปดิ เคร่ือง) การเปิดเครื่องคอมพิวเตอร์ เริ่มต้นที่เครื่องคอมพิวเตอร์ที่อยู่ใน State Off ได้รับการเปิด (Switch is turned on) จึงทำให้คอมพิวเตอร์เปลี่ยนไปอยู่ที่ State On และเมื่อเปิดเครื่องเสร็จเรียบร้อย การ Boot จึง เกดิ ขนึ้ จนทำใหค้ อมพิวเตอร์มาอยู่ท่ี State Boot และเมื่อ Boot เสร็จเรยี บร้อยแลว้ เครื่องคอมพิวเตอร์จึงมาอยู่ ใน State Ready ซง่ึ รอรบั คำสง่ั และพรอ้ มจะทำงานตอ่ ไป Shut Down (ปิดเคร่ือง) ในการปิดเครื่องคอมพิวเตอร์คอื การเปล่ยี น State จาก Ready ซงึ่ ไม่มกี ารทำงานใดๆ ไปยงั State Off ซงึ่ การจะเปล่ยี น State เชน่ นไ้ี ด้ตอ้ งใช้ Transition การปิดเคร่อื ง (Switch is turned off)

6 Read Instruction (อา่ นคำสง่ั จากหน่วยความจำ) ในการอ่านคำสั่งใดๆ จากหน่วยความจำของคอมพิวเตอร์น้ันจะเร่ิมต้นใน State Ready ก่อน เมื่อมีคำสง่ั เข้ามาในหน่วยความจำแล้วตาม Transition Instruction Coming คอมพิวเตอร์จะเริ่มเข้าไปยัง State reading ซึ่งจะอ่านคำสั่งจาก Memory ทีละคำสั่งไปจนกว่าจะเสร็จสิ้น (Reading Complete) ซึ่งเมื่ออ่านเสร็จแล้ว คอมพิวเตอร์จะส่งคำสั่งที่อ่านได้ไปยัง CPU ดังระบุไว้ใน State Sending และคอมพิวเตอร์จะวนอยู่ใน State น้ี (ดังจะเห็นจาก Transition Sending not Complete) จนกว่าจะเสร็จส้ิน จึงกลับเขา้ ไปยัง State Ready

7 Decode (การถอดรหัสคำส่ัง) ในการถอดรหัสคำสั่ง โดยไม่ต้องมีเงื่อนไขใดๆ คอมพิวเตอร์จะเปลี่ยนจากสถานะ Readyมายังสถานะ Decoding ซึ่งใน State นี้ เครื่องคอมพิวเตอร์จะถอดรหัสคำสั่งทีละคำสั่งจนกว่าจะหมด และเมื่อการถอดรหัส เสรจ็ ส้ินแล้ว (Decoding Complete) จงึ กลบั ไปอย่ใู นสถานะ Ready เพือ่ รอคำส่งั ใหม่ตอ่ ไป Execute (การประมวลผล) การประมวลผลทางคอมพิวเตอร์จะเริ่มต้นที่ State Ready เข้าไปยัง State Executing ซึ่งจะวนอยู่ใน State น้ี จนกระทั่งคำสั่งถูกประมวลผลเสร็จสิ้น ซึ่งแบ่งออกเป็น 2 แบบคือ การประมวลผลคำสั่งเกี่ยวกับ Memory และการ ประมวลผลทาง Input/Output ซึ่งการเสร็จสิ้นการประมวลผลทาง Memory นั้นคอมพิวเตอร์จะย้ายกลับไปยัง State Ready ในขณะท่ี เมื่อการประมวลทาง Input/Output เสรจ็ สิ้น คอมพิวเตอร์จะยา้ ยไป state Buffering ซ่ึงเปน็ การบันทกึ ผล การประมวลผลไว้ใน Memory เพื่อรอการนำออกไปยังอุปกรณ์ Output หลังจากที่การทำ Buffering เสร็จเรียบรอ้ ย จะเข้า ไปยัง State Output ซึ่งเมื่อเข้าไปยัง State นี้ จะนำผลที่ได้ออกทางอุปกรณ์ และเมื่อการนำข้อมูลออกแสดงทางอุปกรณ์ Output แลว้ จึงกลบั มาสู่ State Ready ตามเดมิ

8 เงือ่ นไขของการเข้าและออกจาก State ต่างๆ ใน State Diagram Entry/ Action หมายถึงเมื่อเข้ามายัง State นี้ ให้ทำกิจกรรมAction เช่น Entry/ Count=0 หมายถึง เมื่อเขา้ มายัง State ใหค้ า่ Count เป็น 0 Do/ Action หมายถึงหลังจากเข้ามายัง State นี้แล้ว หากไม่มีเงื่อนไขอื่นใด ให้ทำกิจกรรม Action เชน่ Do/Count=Count+1 หมายถงึ เม่ือเขา้ มายงั State นี้ใหเ้ พม่ิ คา่ Count ทีละ 1 Exit/ Action หมายถึงขณะที่จะออกจาก State นี้ ให้ทำกิจกรรม Action เช่น Exit/Show “Good Bye” Message หมายถึง หากออกจาก State ใหแ้ สดงข้อความ “Good Bye” Condition/ Action หมายถึงขณะที่ยังอยู่ใน State นี้เมื่อเกิดเงื่อนไขใดๆ ที่กำหนดโดย Condition ให้ทำกิจกรรม Action เช่น every 2 seconds/phone ring หมายถึง ทุกๆ 2 วินาทีให้ เสยี งโทรศพั ท์ดงั 1 ครั้ง เปน็ ต้น

9 สญั ลักษณ์และสัญลักษณแ์ ผนภาพแผนภมู ิสถานะพนื้ ฐาน สหรัฐอเมริกาแทนสถานการณ์ในช่วงชีวิตของวัตถุ คุณสามารถแสดงสถานะใน SmartDraw ได้อย่าง ง่ายดายโดยใชส้ เี่ หลี่ยมผนื ผา้ ที่มีมมุ โค้งมน การซิงโครไนซแ์ ละการแยกการควบคุม แถบหนาสั้น ๆ ที่มีการเปลี่ยนสองช่วงเข้ามาแสดงถึงการซิงโครไนซ์การควบคุม แถบแรกมักเรียกว่าส้อมซึ่งการ เปลย่ี นแปลงเดียวจะแบ่งออกเป็นหลายชว่ งการเปล่ียนพร้อมกัน แถบที่สองเรยี กว่าการรวมซ่ึงการเปลี่ยนท่ีเกิดข้ึน พรอ้ มกันจะลดกลบั เปน็ หน่งึ วธิ ีท่ดี ีทสี่ ุดในการทำความเข้าใจแผนภาพสถานะคือการดูตัวอยา่ งบางสว่ นของแผนภาพสถานะ คลิกท่แี ผนภาพสถานะใด ๆ เหล่านี้ท่ีรวมอยูใ่ น SmartDraw และแกไ้ ข

10 สัญลกั ษณ์สถานะพืน้ ฐาน เปลย่ี นแปลง ลูกศรทบึ แสดงเส้นทางระหว่างสถานะตา่ งๆของวัตถุ ติดปา้ ยกำกับการเปลี่ยนแปลงด้วยเหตุการณ์ท่ีทริกเกอร์และ การกระทำท่เี ปน็ ผลจากเหตุการณน์ ั้น สถานะสามารถมีการเปลีย่ นแปลงทช่ี ีก้ ลบั มาทตี่ วั เอง สถานะเริ่มตน้ วงกลมทเ่ี ตมิ ตามดว้ ยลกู ศรแสดงถงึ สถานะเริ่มต้นของวัตถุ สถานะสุด ลกู ศรทชี่ ี้ไปยังวงกลมทเ่ี ต็มแล้วซ่งึ ซ้อนอยู่ในวงกลมอน่ื แสดงถงึ สถานะสุดท้ายของวัตถุ

11 Store Data (การบันทกึ ผลลพั ธ์สู่หน่วยความจำ) การ Store Data เริ่มต้นที่ State Ready แล้วเข้าสู่ State Storing Data ซึ่งจะบันทึกข้อมูลลงใน Memory จนกว่าจะครบถ้วนในทกุ ๆ หนว่ ยข้อมูล หลงั จากนนั้ จงึ กลับเขา้ สู่ State Ready ตามเดมิ ข้อควรคำนึงในการเขยี น State Diagram ใน Analysis Phase นน้ั คือ ตอ้ งเขยี น State ใหค้ รบในภาพรวมทัง้ หมด ก่อน โดยยังไม่ต้องคำนึงถึงรายละเอียดของแต่ละ State และ Transitionมากนัก แต่ที่สำคัญคือต้องไม่มี State และ Transition ใดตกหล่น หรือหายไป State Machine Diagram - แนวคิดขนั้ สงู เป็นไปไดท้ ี่จะเพิ่มข้อ จำกัด ในการเปลีย่ น พิจารณารปู ด้านล่าง ข้อ จำกดั \"[ไม่ใช่สำเนาสดุ ท้าย]\" และ \"[สำเนา สดุ ทา้ ย]\" ใช้เพ่ือแยกความแตกต่างของชว่ งการเปลย่ี นภาพทัง้ สองกับเหตกุ ารณ์ \"copyBorrowed ()\" ความหมาย คอื การเปิดใชง้ านการเปล่ียนแปลงเมือ่ ขอ้ จำกัด เปน็ จรงิ

12 ซับสเตท – Substates สถานะง่ายๆคือสถานะทไ่ี มม่ ีโครงสรา้ งย่อย สถานะทม่ี ีสารต้ังต้น (สถานะซอ้ นกนั ) เรยี กวา่ สถานะผสม ซับสเตท อาจซ้อนกนั ในระดับใดกไ็ ด้ เครอ่ื งสถานะทซ่ี ้อนกันอาจมสี ถานะเร่มิ ตน้ ไดส้ ูงสดุ หนงึ่ สถานะและสถานะสดุ ทา้ ยหนึ่ง สถานะ Substates ถกู ใชเ้ พ่อื ลดความซับซอ้ นของเครอื่ งสเตตแบบแบนท่ีซบั ซอ้ นโดยการแสดงวา่ บางสถานะ เปน็ ไปไดภ้ ายในบริบทเฉพาะเท่านั้น (สถานะปดิ ล้อม) ตวั อยา่ งพนื้ ผวิ - เคร่ืองทำความร้อน State Machine Diagrams มกั ใช้สำหรับการหากรณีการทดสอบน่คี อื รายการของแนวคดิ การทดสอบทเี่ ปน็ ไปได้

13 บรรณณานกุ รม https://www.geeksforgeeks.org/unified-modeling-language-uml-state-diagrams/ https://www.glurgeek.com/education/software-engineering/state-diagram- %E0%B8%84%E0%B8%B7%E0%B8%AD%E0%B8%AD%E0%B8%B0%E0%B9%8 4%E0%B8%A3/ https://en.wikipedia.org/wiki/State_diagram https://warren2lynch.medium.com/state-diagram-comprehensive-guide-with- examples-e08b6d1c70fe


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook