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 plesploy12325, 2021-02-19 04:44:51

Description: https://docs.google.com/presentation/d/1IAJA7u00m9VCIolm73t0hBvgSJoviLvTC1bKBAY9Mxw/edit?usp=sharing

Search

Read the Text Version

State Diagram

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

การเปด เคร่ืองคอมพิวเตอร เรมิ่ ตนท่เี ครือ่ งคอมพิวเตอร ที่อยใู น State Off ไดรับการเปด (Switch is turned on) จึง ทาํ ใหค อมพวิ เตอรเ ปลีย่ นไปอยทู ่ี State On และเมอ่ื เปดเคร่ือง เสร็จเรยี บรอย การ Boot จึงเกดิ ข้ึน จนทําใหค อมพวิ เตอรมาอยู ท่ี State Boot และเมือ่ Boot เสรจ็ เรียบรอ ยแลว เคร่อื ง คอมพวิ เตอรจ ึงมาอยูใน State Ready ซ่ึงรอรบั คาํ สงั่ และพรอ ม จะทาํ งานตอ ไป Turn On (เปดเคร่อื ง)

Shut Down (ปด เครื่อง) ในการปด เคร่ืองคอมพวิ เตอรคือ การเปล่ยี น State จาก Ready ซ่ึงไมม กี ารทาํ งานใดๆ ไปยงั State Off ซึ่งการจะเปลี่ยน State เชนน้ีไดตอ งใช Transition การปด เครอื่ ง (Switch is turned off)

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

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 ตามเดมิ

เงือ่ นไขของการเขา และออกจาก 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 ครง้ั เปน ตน

สญั ลกั ษณแ ละสญั ลักษณแ ผนภาพ สหรฐั อเมริกาแทนสถานการณในชวงชวี ติ ของวตั ถุ คุณสามารถ แผนภมู ิสถานะพืน้ ฐาน แสดงสถานะใน SmartDraw ไดอ ยางงายดายโดยใชส ่ีเหล่ยี มผนื ผา ท่มี มี มุ โคง มน

การซิงโครไนซและการแยกการควบคมุ แถบหนาสน้ั ๆ ทม่ี ีการเปลีย่ นสองชว งเขามาแสดงถึงการซงิ โครไนซก าร ควบคมุ แถบแรกมักเรยี กวาสอมซง่ึ การเปลีย่ นแปลงเดยี วจะแบงออกเปน หลายชว งการเปลี่ยนพรอ มกัน แถบทสี่ องเรยี กวา การรวมซงึ่ การเปลี่ยนท่ี เกิดขน้ึ พรอมกันจะลดกลบั เปน หน่งึ วิธีท่ดี ีท่สี ดุ ในการทาํ ความเขา ใจแผนภาพสถานะคอื การดตู วั อยางบางสวน ของแผนภาพสถานะ คลิกที่แผนภาพสถานะใด ๆ เหลานที้ ่รี วมอยใู น SmartDraw และแกไข

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

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 ()\" ความหมายคือการเปดใชง านการเปล่ียนแปลงเมือ่ ขอ จํากดั เปนจริง

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


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