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 วิชา การวิเคราะห์ และ ออกแบบระบบเชิงวัตถุ สมบูร

วิชา การวิเคราะห์ และ ออกแบบระบบเชิงวัตถุ สมบูร

Published by thanutcha_2540, 2022-11-20 02:58:17

Description: วิชา การวิเคราะห์ และ ออกแบบระบบเชิงวัตถุ สมบูร

Search

Read the Text Version

วชิ า การวิเคราะห์ และ ออกแบบระบบเชิงวตั ถุ หัวขอ้ โมเดลท่ใี ชอ้ อกแบบเชงิ วตั ถุ จัดทาํ โดย 1.นายภาสวิทย์ ศรีเลิศ เลขที่2 2.นายธนัชชา สารใจคาํ เลขท3่ี 3.ยุรนันท์ ขวดมา เลขท่ี42 ปวส.1/6 สาขาคอมพิวเตอร์ธรุ กิจ นาํ ส่ง อาจารยส์ ุรีพร เมอื งมงุ คณุ

คาํ นํา หนงั สือเรียนรายวชิ า การวเิ คราะห์และออกแบบเชิงวตั ถุ เล่มน้ไี ดเ้ รียบเรียงข้ึนตาม จดุ ประสงคร์ ายวชิ า สมรรถนะรายวิชาและคาํ อธิบายรายวิชา ตามหลกั สูตรประกาศนยี บัตร วิชาชพี ช้ันสูง (ปวส.) พทุ ธศกั ราช 2563 ของสาํ นักงานคณะกรรมการอาชวี ศกึ ษา และหลกั สูตร ระดับปริญญาตรี กระทรวงศึกษาธิการ ซ่งึ มีเนอื้ หาประกอบดว้ ย ข้นั ตอนการพฒั นาระบบ สารสนเทศ หลักการพ้ืนฐานและแนวคดิ เชงิ วตั ถุ กระบวนการวเิ คราะห์และออกแบบเชิงวตั ถุ หลักการของ UML Modeling โมเดลท่ใี ช้ออกแบบเชิงวตั ถุ Use Case Diagram การออกแบบ Operation และแผนภาพ Interaction Diagram การออกแบบการ โต้ตอบระหว่างออ็ บเจกต์ การสร้าง Class และการสรา้ ง Object ในโปรแกรม การ วิเคราะห์และออกแบบโปรแกรมทางธุรกจิ โดยเนอื้ หาดงั กลา่ วจะมีตวั อย่างและรูปแบบประกอบ เพอื่ ให้ผูเ้ รียนได้ฝึกปฏิบัตติ าม สภาพเป็นจริงและสามารถผลสาํ ฤทธ์ไิ ปประยกุ ต์ใชไ้ ดต้ ามความเหมาะสม เนอื่ งจากระบบตา่ ง ๆ ในปัจจุบันและในอนาคตไดม้ ีการเปลี่ยนแปลงรูปแบบให้มีการ พฒั นามากข้ึนเร่ือย ผจู้ ัดทาํ หวงั เป็นอย่างย่ิงว่าทุกทา่ นทเี่ กี่ยวขอ้ งจะได้นําไปประยุกต์ใช้ไดต้ าม ความเหมาะสมและมีการร่วมมอื กนั ในการศกึ ษาค้นควา้ เพ่มิ เตมิ และออกแบบไดส้ มบรู ณ์ มากกวา่ เน้อื หาท่ผี จู้ ดั ทาํ ไดเ้ รียบเรียงข้นึ

สารบญั หน่วยที่ 5 โมเดลทใี่ ชอ้ อกแบบเชิงวตั ถุ . ความนาํ 1. ยูสเคสไดอะแกรม 2. คลาสไดอะแกรม 3. ความสมั พนั ธร์ ะหว่างคลาส 4. ความสัมพนั ธ์ระหวา่ งอ็อบเจกต์ 5. หลักในการสร้างคลาสไดอาอะแกรม 6. สเตตชารต์ ไดอะแกรม 7. การออกแบบสเตตไดอะแกรม 8. ซีแควนซไ์ ดอะแกรม 10. คอลลาบอเรนซันไดอะแกรม 11. แอ็กทิวิตีไดอะแกรม 12. ขน้ั ตอนในการเขียนแอก็ ทิวติ ีไดอะแกรม 13. คณุ สมบตั ิของแอก็ ทวิ ิตีไดอะแกรมทด่ี ี 14. คอมโพเนนตไ์ ดอะแกรม 15. ดพี ลอยเมนตไ์ ดอะแกรม

ความนาํ โมเดลทใ่ี ช้ออกแบบเชิงวตั ถุ ศึกษาความหมายของไดอะแกรมตา่ งๆ ซ่ึงประกอบด้วย ยูสเคสไดอะแกรม คลาสไดอะแกรม สเตตชาร์ตไดอะแกรม ซีเควนซ์ไดอะแกรม คอลลาบอเรช่นั ไดอะแกรม แอ็กทิวิตีไดอะแกรม คอมโพเนนตไ์ ดอะแกรม ดีพลอยเมนต์ ไดอะแกรม ซ่ึงจะบอกลักษณะการทาํ งานของโมเดลของไดอะแกรมต่างๆ ลักษณะ ความสมั พนั ธ์ การสร้างไดอะแกรมสัญลักษณ์ในการใช้งานของแต่ละไดอะแกรมเพ่อื นาํ ไป พฒั นาระบบเชิงวตั ถอุ ย่างมีประสทิ ธภิ าพ 1. ยูสเคสไดอะแกรม เม่ือเริ่มต้นการพฒั นาระบบทุกคร้ังผูพฒั นาจะตอ้ งเร่ิมต้นที่ขน้ั ตอนแรก คือ การค้นหา และเก็บรวบรวมข้อมลู ความสามารถของระบบท่ผี ใู้ ช้ตอ้ งการ ซ่งึ ถอื วา่ สําคญั มากในการพฒั นา ระบบในมาตฐาน UML จะไดใ้ ชย้ ูสเคสไดอะแกรมเพ่ือเป็นเทคนิคในการจําลองความต้องการ ของผใู้ ช้ รวมถึงแสดงความสามารถของระบบ ยสู เคสไดอะแกรมเป็นไดอะแกรมมาตรฐานท่ี สามารถเขา้ ใจได้โดยง่าย 1.1 ส่วนประกอบสาํ คญั ในยูสเคสไดอะแกรม สว่ นประกอบที่สาํ คญั ของยูสเคส ไดอะแกรมมี 3 ส่วน คือ ยสู เคส(Use Case) แอ็กเตอร(์ Actor) เสน้ แสดงความสมั พนั ธ์ (Relationship) ในการสรา้ งยูสเคสไดอะแกรม สง่ิ สําคญั คอื การค้นหาว่าระบบทาํ อะไร ไดบ้ ้าง โดยไมส่ นวา่ จะทาํ งานอยา่ งไรหรือใชเ้ ทคนิคการสรา้ งอยา่ งไร 1.1.1 ยสู เคส คอื ความสามารถหรือฟังกช์ ันทีร่ ะบบจะต้องทาํ ได้จงึ จะถือวา่ ระบบ ไมม่ ขี อ้ ผิดขอ้ ผดิ พลาดซ่งึ มคี ณุ สมบตั ิ ดังน้ี 1) ตอ้ งถูกกระทาํ โดยแอ็กเตอร์และแอก็ เตอรเ์ ป็นผู้ ติดต่อกับระบบตามยูสเคสทก่ี าํ หนด 2) ยูสเคสรบั ขอ้ มูลจากแอก็ เตอร์และส่งข้อมูลใหแ้ อก็ เตอร์ นัน่ คือ แอ็กเตอรก์ ระทาํ กับยสู เคสโดยการสง่ ขอ้ มูลเขา้ สูร่ ะบบตามยสู เคสหรือรอรับคา่ ทรี่ ะบบส่งกลบั ใหม่ 3) ยสู เคสถอื วา่ เป็นการรวบรวมคณุ ลักษณะความ

ตอ้ งการในระบบอย่างสมบูรณ์ เปรียบเสมอื นเป็นการสรุปความต้องการของลกู คา้ เป็นขอ้ ๆ ยสู เคสใน UML แทนดว้ ยรูปวงรี มีช่อื ยูสเคสอยขู่ า้ งใน และทกุ ยูสเคสจะอยู่ภายใต้ กรอบสเี่ หลยี่ มซ่ึงหมายถึงระบบ Registration System Register Check Course 1.1.2 แอก็ เตอร์ คือ ผูท้ ก่ี ระทาํ กับยูสเคสหรือใชง้ านยูสเคส อาจเป็นคนหรือไมก่ ็ ได้ ซ่ึงจะเป็นผูท้ ี่สง่ ข้อมลู หรือรบั ข้อมลู หรือแลกเปล่ียนขอ้ มลู ขา่ วสารกับระบบท่กี าํ ลัง พฒั นาผูท้ ก่ี ระทาํ ชื่ออะไร เป็นใคร แต่จะบอกถงึ ประเภทของแอ็กเตอร์หรือบทบาทและ หนา้ ทต่ี อ่ ระบบ ในการหาแอ็กเตอร์ของระบบจะดูที่ว่าใครเป็นผูใ้ ช้ระบบในฟังก์ชันท่ี สาํ คัญ ใครเป็นผดู้ ูแลระบบข้างนอกใดบา้ งท่ีเชือ่ มต่อรับส่งขอ้ มลู กบั ระบบทส่ี รา้ ง แอ็ก เตอรใ์ น UML แทนด้วยรูปคน (Stick Man) เจ้าหน้าทีพ่ ัสดุ

1.1.3 เสน้ แสดงความสมั พนั ธ์ เป็นการเชื่องโยงระหว่างยสู เคสและแอก็ เตอร์ เป็น เส้นทีแ่ สดงความสัมพนั ธ์ระหว่างยสู เคส มี 2 ชนิด คอื 1) ความสมั พนั ธ์แบบขยาย(Extend Reiationship) ยูสเคส หน่ึงอาจถกู ช่วยเหลอื โดยการทาํ งานจากยสู เคสอืน่ เชน่ ยูสเคสการใส่ รหสั อาจถกู ชว่ ยเหลอื โดยยูสเคสคาํ อธบิ ายการใส่รหสั สัญลักษณ์ใน UML คอื ลูกศรเส้นประท่ีช้จี ากยูสเคสแรกไปยงั ยสู เคสทถี่ กู ช่วยเหลอื หรือถกู ขยาย โดยมีคาํ ว่า “Extrnd” อยใู่ นเครื่องหมายสเต อริโอไทป์ (Stereotype) <> อยทู่ ก่ี ่งึ กลางลกู ศร 2)ความสมั พนั ธ์แบบรวม (Include Relationship) ยูสเคส หน่ึงอาจต้องอาศัยการทาํ งานของยูสเคสอื่น สาํ หรับยสู เคสท่ีถูก เรียกใช้โดยยูสเคสอื่น สญั ลกั ษณใ์ น UML ของความสมั พนั ธ์ คอื ลกู ศรเส้นประช้ไี ปยงั ยสู เคสท่ีถกู เรียกใช้หรือถูกรวมไว้ โดยมคี าํ วา่ “Uses” อยใู นเคร่ืองหมายสเตอริโอไทป์ (Stereotype) <> อย่ทู ก่ี ่งึ กลางลกู ศร ตวั อยา่ ง ระบบสารสนเทศจดั ซ้อื จดั จา้ งพสั ดมุ ีวิธกี ารทาํ งาน คอื เม่ือเจา้ หน้าท่ีพสั ดไุ ดร้ ับ เอกสารขอจดั ซ้ือจดั จา้ งจากหน่วยงาน เจ้าหน้าท่จี ะจดั ทาํ เอกสารจดั ซ้ือจัดจ้างซ่งึ มี ประเภทพสั ดุ 2 กล่มุ คือ วสั ดแุ ละครุภัณฑ์ การทาํ เอกสารจัดซ้อื จดั ซ้อื จดั จา้ ง เจ้าหนา้ ท่ี พสั ดุต้องพจิ ารณาว่าการจัดซ้อื จดั จา้ งพสั ดุน้ันมีวตั ถุประสงค์เพื่อนํามาใชใ้ นแผนงานใด ใช้งบประมาณจากหมวดใดจากเจา้ หนา้ ท่ีพสั ดุจะพิจารณาวา่ ใชว้ ิธกี ารใดในการจดั ซ้อื จดั จา้ ง โดยแบ่งเป็น 5 วธิ ี คือ รใดในการจดั ซ้อื จัดจ้าง โดยแบ่งเป็น 5 วิธี คอื (1) วิธีจดั ซ้ือจดั จ้างวธิ ีตกลงราคา วงเงินน้อยกว่า 100,000 บาท (2) วธิ ีจดั ซ้ือจัดจ้างวธิ ีสอบราคา วงเงนิ น้อยกวา่ 100,000 บาท แตไ่ มเ่ กิน 2,000,000 บาท

(3) วธิ จี ัดซ้อื จัดจา้ งวิธีประกวดราคา วงเงนิ น้อยกว่า 2,000,000 บาท (4) วธิ ีจดั ซ้ือจัดจ้างวธิ พี เิ ศษ วงเงินน้อยกวา่ 100,000 บาท โดยมเี งอื่ นไข พเิ ศษ เชน่ เป็นพสั ดุท่ตี ้องซ้ือเร่งด่วนหรือพสั ดทุ ่ีใชใ้ นราชการลับ ฯลฯ (5) วธิ จี ดั ซ้ือจดั จา้ งวธิ กี รณีพิเศษ ไมม่ ีกําไรกาํ หนดวงเงนิ แต่ตอ้ งเป็น กาํ ไรจัดซ้ือหรือจัดจ้างหนว่ ยงานราชการ รฐั วสิ าหกจิ 1.2 ประโยชนข์ องยสู เคสไดอะแกรม ยสู เคสไดอะแกรมจะจาํ ลองการทาํ งานต่าง ๆ ของ ระบบ ซ่ึงจะชว่ ยให้สามารถมองระบบได้อยา่ งชดั เจนข้นึ ยูสเคสไดอะแกรมมีประโยชน์ ดงั น้ี 1.2.1 เพือ่ ใหผ้ พู้ ฒั นาทราบถงึ ความสามารถของระบบว่าต้องทาํ อะไรไดบ้ า้ ง 1.2.2 เพื่อทราบถึงผูใ้ ชง้ านในแต่ละสว่ นของระบบ 1.2.3 ทาํ ให้การติดตอ่ สือ่ สารระหว่างผูพ้ ฒั นากบั ลกู ค้าหรือระหว่างผพู้ ฒั นา ดว้ ยกนั ทาํ ไดง้ า่ ย 1.2.4 ใช้ในการทดสอบระบบซอฟต์แวรว์ ่าทาํ งานได้ครบถ้วนตามความต้องการ หรือไม่ เนอื่ งจากนกั พฒั นาสว่ นใหญม่ ักไม่มีแนวทางหรือขั้นตอนในการทดสอบอย่าง เป็นระบบระเบยี บชัดเจนไมร่ ู้จะตอ้ งเร่ิมทดสอบสว่ นใดกอ่ น 2. คลาสไดอะแกรม คลาสไดอะแกรม (Class Diagram) เป็นไดอะแกรมทแ่ี สดงการใช้งานคลาส อ็อบ เจกต์ และมีการสร้างความสัมพนั ธร์ ะหวา่ งคลาสหรือออ็ บเจกต์เหลา่ น้ัน เชน่ การสืบสอด คุณสมบัติของคลาส ฯลฯ การหาคลาสของอ็อบเจกตไ์ ด้ต้องสามารถจดั หมวดหมู่ของอ็อบเจกต์ ได้ การหาคลาสจากออ็ บเจกต์ควรให้อยใู่ นระบบทกี่ าํ ลังสรา้ ง เช่น ระบบจดั ซ้ือสามารถหาคลาส ของระบบได้ คือ คลาสลกู ค้า คลาสใบสั่งซ้อื คลาสใบเสนอราคา คลาสใบเสร็จรับเงนิ ฯลฯ 2.1 การสร้างคลาสไดอะแกรม วตั ถปุ ระสงคข์ องการสร้างคลาสไดอะแกรม คอื เพอื่ แสดงถึง โครงสร้างของระบบทปี่ ระกอบดว้ ยคลาสและความสมั พนั ธร์ ะหวา่ งคลาส คลาสไดอะแกรมถอื เป็นไดอะแกรมทมี่ ีความสัมคญั มากเพราะถกู ใชเ้ ป็นไดอะแกรมหลกั ในการสรา้ งไดอะแกรมอ่ืน

อกี หลายประเภท สิ่งสาํ คัญในการสรา้ งคลาสไดอะแกรม คือ การคน้ หาแนวคิดต่างๆ ที่อยู่ใน ขอบขา่ ยของระบบทก่ี ําลงั สนใจ มวี ิะ◌๊การคน้ หาคลาส ดงั น้ี 2.1.1 คาํ นามทป่ี รากฎอยใู่ นคาํ บรรยายยูสเคสจะถกู สรา้ งเป็นคลาส เชน่ คลาส รถยนต์ คลาสวิชาเรียน คลาสหนงั สือ คลาสสินค้า ฯลฯ 2.1.2 คาํ วิเศษณ์ทป่ี รากฎอยู่ในคาํ บรรยายยสู เคสจะถกู สร้างเป็นคณุ ลักษณะ เช่น สรี ถ รุ่นรถ ย่หี อ้ รถ ฯลฯ 2.1.3 คาํ กริยาทปี่ รากฎอยู่ในคาํ บรรยายยสู เคสจะถกู สรา้ งเป็นโอเปอเรชนั เชน่ สตารต์ รถ เบรก ลงทะเบียน ยกเลิกรายวิชา ฯลฯ 2.2 สญั ลกั ษณ์ ตามมาตรฐาน UML คลาสไดอะแกรมประกอบดว้ ยสญั ลกั ษณ์ของ คลาสและเสน้ แสดงความสัมพนั ธ์ สญั ลกั ษณข์ องคลาสประกอบดว้ ย 3 สว่ น คอื ช่อื คลาส (Class Name) คุณลักษณะและโอเปอเรชันความสมั พนั ธร์ ะหว่างคลาสซ่ึงความสัมพนั ธ์ เหล่าน้สี ามารถแบ่งได้ 3 รูปแบบ ดงั น้ี 2.2.1 ความสมั พนั ธ์แบบพง่ึ พงิ (Dependency) ความสมั พนั ธแ์ บบน้ี เกดิ ข้นึ เมื่อการเปล่ยี นแปลงที่เกดิ ข้นึ กับคลาสทถี่ ูกพงึ่ พงิ (lndependent Class) สง่ ผล ตอ่ คลาสท่ีพ่ึงพิง (Dependent Class) การจาํ ลองความสมั พนั ธแ์ บบน้สี ามารถทาํ ไดโ้ ดย วาดเส้นตรงประทม่ี หี ัวลกู ศรเป็นเส้นโปร่ง ช้ีจากคลาสรองท่ีพง่ึ พงิ ไปยิงคลาสหลกั ทถ่ี กู พง่ึ พงิ 2.2.2 ความสมั พนั ธแ์ บบถา่ ยทอด (Generalization) คอื ความสัมพนั ธ์ ระหวา่ งคลาสหลักและคลาสรองการจาํ ลองความสมั พนั ธ์แบบน้สี ามารถทาํ ไดโ้ ดยวาดเสน้ ตรง ทบึ ทม่ี หี ัวลูกศรเป็นเสน้ โปร่ง ช้ีจากคลาสรองไปยงั คลาสหลัก 2.2.3 ความสัมพนั ธแ์ บบเชอื่ มโยง (Association) เป็นความสมั พนั ธ์อีก ชนิดหน่งึ ระหวา่ งคลาสตา่ งๆ 3. ความสัมพนั ธ์ระหวา่ งคลาส ความสมั พนั ธ์ระหวา่ งคลาสคอื ความสมั พนั ธร์ ะหว่างคลาสท่ีทาํ งานร่วมกัน 3.1 ความสัมพนั ธแ์ บบพึ่งพา (Dependency) เช่น “คลาสลูกคา้ ” กับ “คลาสขาย สินคา้ ” กล่าวไดว้ ่า “คลาสขายสินค้า” ข้นึ อยกู่ ับ “คลาสลูกค้า”

เพราะเม่ือลูกคา้ มีการเปลยี่ นแปลงคาํ สัง่ ซ้อื หรือคาํ สง่ั ผลติ รายการขายจะต้องถูกเปล่ยี นแปลง (Update) ตามลูกคา้ 3.2 ความสัมพนั ธ์แบบสืบทอดคณุ สมบัติ (Inheritance) เช่น “คลาสแม่” (Super Cass) สบื ทอดคุณสมบตั ิเฉพาะทต่ี นมอี ยูไ่ ปยงั “คลาสลกู ” (Subclass) 3.3 ความสมั พนั ธ์แบบร่วม (Association) คอื ความสมั พนั ธท์ ่ีเก่ยี วเนอื่ งซ่ึงกนั และ กัน “คลาสนักเรียน” สมั พนั ธ์กบั “คลาสรายวิชา” ในเรื่องของการลงทะเบยี นเรียน การเขียนสญั ลักษณ์แทนคลาสส่งิ ที่ต้องคาํ นงึ ถงึ คอื ระดบั การเขา้ ถึง เรียกสัญลักษณท์ ใ่ี ช้ แทนการเขา้ ถึงน้วี า่ Visibility แบง่ ออกได้เป็น 3 ประเภท 1) Private เขียนแทนด้วยสัญลักษณ์ - หมายถงึ คุณลกั ษณะ หรือฟังกช์ นั ที่ไม่สามารถมองเหน็ ได้จากภายนอก แต่สามารถมองเหน็ ไดจ้ ากภายในตวั ของ คลาสเท่าน้นั 2) Protect เขียนด้วยสัญลกั ษณ์ # หมายถงึ คณุ ลกั ษณะหีือฟังกช์ ันทส่ี งวน ไวส้ าํ หรับการทาํ Inheritance โดยเฉพาะคุณลักษณะหรือฟงั ก์ช่นั เหลา่ น้จี ะเป็นของ Super Class เมอื่ ทาํ Inheritance แล้วคณุ ลกั ษณะหรือฟังกช์ นั ท่ีมี Visibility แบบ Protect จะกลายไปเป็น Private Attribute/ฟงั ก์ชัน หรือ Protected ข้นึ อยู่ ภาษา Programming ท่ีนาํ ไปใช้ 3) Public เขียนแทนดว้ ยสัญลกั ษณ์ + หมายถึง คุณลักษณะหรือฟงั ก์ชนั ที่ สามารถมองเห็นได้จากภายนอก และสามารถเขา้ ไปเปลี่ยนค่า อ่านค่า หรือเรยกใชง้ าน คุณลกั ษณะหรือฟังกช์ ัน่ น้ันไดท้ ันทโี ดยอิสระจากภายนอก (โดยทัว่ ไปแลว้ Visibility แบบ Public มักจะใชก้ บั ฟงั ก์ชนั มากกวา่ Attribute)

4. ความสัมพนั ธร์ ะหวา่ งอ็อบเจกต์ ความสมั พนั ธ์ระหว่างออ็ บเจกต์ ประกอบดว้ ย 4.1 Association เป็นความสัมพนั ธร์ ะหวา่ งออ็ บเจกต์ หรือคลาสแบบ 2 ทิศทาง 4.2 Aggregation เป็นความสมั พนั ธร์ ะหว่างออ็ บเจกตห์ รือคลาสแบบ “Whole- Part” หรือ “is part of” โดยจะมคี ลาสทใ่ี หญ่ท่สี ดุ เป็นออ็ บเจกตห์ ลัก และมคี ลาสอ่ืนเป็น สว่ นประกอบ 4.3 Composition เป็นความสัมพนั ธ์ระหว่างออ็ บเจกต์หรือคลาสแบบข้นึ ต่อกนั และมคี วามเก่ยี วข้องกนั เสมอโดยจะมคี ลาสซ่งึ เป็นองค์ประกอบของคลาสอน่ื ทใ่ี หญ่กว่า เมื่อ คลาสท่ใี หญ่กวา่ ถกู ทาํ ลายคลาสที่เป็นองคป์ ระกอบจะถูกทาํ ลายไปดว้ ย 4.4 Generalization เป็นความสัมพนั ธ์ระหวา่ งออ็ บเจกตห์ รือคลาสในลักษณะ การสบื ทอดคณุ สมบัตจิ ากคลาสหน่งึ (Super Class) ไปยงั คลาสหน่ึง (Subclass) 4.5 Specialization คอื กระบวนการทต่ี รงกันขา้ มกับกระบวนการ Generalization Abstraction กล่าวคอื ถ้าต้องการสร้างคลาสใหม่โดย อาศยั แนวคดิ ของคลาสเกา่ บางสว่ น ต้องเพิ่มเตมิ คลาสใหมบ่ างส่วนจนเกดิ เป็นคลาสใหม่ 5. หลักในการสรา้ งคลาสไดอะแกรม สิง่ ทีต่ ้องคาํ นงึ ถึงสําหรับการจาํ ลองคลาสและความสมั คญั ตา่ งๆ ในคลาสไดอะแกรมใน OOA คือ 5.1 กําหนดกรอบของ Problem Domain ใหช้ ัดเจน 5.1.1 ใหย้ ดึ ถือ Problem Domain น้ีเป็นบรรทัดฐานในการวเิ คราะห์ ระบบ 5.1.2 เขียน Use Case Diagram ของ Problem Domain 5.1.3 พิจารณาว่าในแตล่ ะ Use Case จะมอี อ็ บเจกต์อะไรอยู่บา้ ง 5.2 พิจารณาหาอ็อบเจกต์ทส่ี ามารถจบั ต้องได้ ซ่ึงเรียกว่า Tangible Objects 5.3 พิจารณาหาออ็ บเจกต์ที่ไมส่ ามารถจับต้องได้ ซ่ึงเรียกวา่ Intangible Objects

5.4 ใช้ Classification Abstraction เพื่อแยกแยะและสรา้ งคลาสจากออ็ บ เจกต์ท่มี ีอยู่ 5.4.1 พยายามหาคณุ ลักษณะและฟังกช์ นั ของคลาสเทา่ ทีจ่ ะหาได้ 5.4.2 วาดคลาสท้งั หมดที่ไดล้ งในไดอะแกรม 5.5 Aggregation Abstraction (โดยพจิ ารณาการเป็นสว่ นประกอบ) 5.5.1 เพ่มิ เตมิ สัญลกั ษณ์ 5.5.2 ใส่ Cardinality ใหถ้ ูกต้อง 5.6 ใช้ Generalization มาพิจารณา 5.6.1 เพ่ิมเติมสญั ลักษณ์ 5.6.2 อาจเกดิ คลาสใหมเ่ พอ่ื เป็น Generalized Class ได้ 5.7 ใช้ Association มาพจิ ารณา 5.7.1 เพ่มิ เติมสัญลักษณ์ 5.7.2 พิจารณาประเภทของความสัมพนั ธแ์ ละ Cardinality 5.8 พจิ ารณาคลาสไดอะแกรมวา่ มคี ลาสหรือกล่มุ ของคลาสทไ่ี ม่มคี วามสัมพนั ธก์ บั คลาส อนื่ ๆ หรือไม่ 5.8.1 อาจจะพบคลาสทไี่ มจ่ าํ เป็นสําหรบั ระบบ 5.8.2 อาจจะขาดคลาสอืน่ ๆ ทจ่ี ําเป็นในระบบ

6. สเตตชาร์ตไดอะแกรม สเตตชาร์ตไดอะแกรม (Statechart Diagram) บอกถึงพฤตกิ รรมของคลาส ต่างๆ ในระบบว่ามีสถานะอะไรบา้ งจะเปลย่ี นสถานะเมื่อเกดิ เหตกุ ารณ์อะไร สเตตชารต์ ไดอะแกรมของแต่ละคลาสประกอบไปดว้ ยสถานะที่สามารถเกดิ ข้นึ ได้ เช่น คนอย่ใู นสถานะ กาํ ลังเดนิ รถอยู่ในสถานะกําลังวิ่ง ฯลฯ เมื่อเวลาผ่านไปหรือมีเหตกุ ารณ์บางอย่างเกิดข้ึนยอ่ มทาํ ให้เกิดการเปลย่ี นสถานะหรือพฤตกิ รรมได้ สเตตชาร์ตไดอะแกรมใน UML มจี ุดเริ่มต้น สถานะและจดุ สน้ิ สุดสถานะ โดยจุดเริ่มต้นมีสญั ลักษณเ์ ป็นรูปวงกลมทึบและจุดสน้ิ สุดสถานะ เป็นรูปวงกลมโปร่งลอ้ มรอบวงกลมทบึ ข้างใน สว่ นสถานะในไดอะแกรมแสดงเป็นรูปสเี่ หลย่ี ม หัวมนรูปร่างเหมอื นแคปซูล และเชือ่ มกันดว้ ยเสน้ ลูกศรช้ีจากสถานะหน่ึงไปยงั อีกสถานะหน่งึ สามารถเขยี นคาํ อธบิ ายเหตุการณท์ ่ีทาํ ให้เปลยี่ นสถานะตรงเสน้ ลกู ศรได้ ตัวอยา่ ง สถานะของการรอชาํ ระเงิน คอื เมอ่ื มีการชาํ ระเงินและปอ้ นลายระเอยี ดตา่ ง ๆ สถานะ จะเปล่ยี นจากการรอเป็นปรังปรุงข้อมูลและเสรจ็ สมบรู ณ์ สเตตไดอะแกรม (State Diagram) เป็นวิธกี ารชว่ ยในการออกแบบลอจกิ แลด เดอรอ์ กี แบบหน่งึ ทส่ี ามารถใช้กับงานทีซ่ ับซ้อนมากข้นึ ส่วนใหญ่ไมม่ กี ารกล่าวถึงวิธีการน้ีใน ประเทศไทย ทัง้ ทวี่ ธิ กี ารน้ีจะชว่ ยพฒั นาโปรแกรมไดด้ กี วา่ การใช้บติ ซีเควนซท์ ัว่ ไป อกี ทง้ั ยงั ชว่ ยใหก้ ารแก้ปญั หาระบบทาํ ไดง้ ่ายด้วยการอ่านสเตตไดอะแกรม แทนท่ีจะอา่ นวงจรแลดเดอร์ สเตตไดอะแกรมมคี วามยืดหยุ่นสูงกว่าโฟลวช์ ารต์ ท่ีมเี สน้ ทางการไหลของกระบวนการ เพียงทางเดยี ว ขณะทสี่ เตตไดอะแกรมจะคาํ นงึ ถึงสภาวะการทาํ งานของระบบเป็นหลัก โดย สภาวะหน่งึ ๆ ของระบบ คอื โหมดการทาํ งาน ซ่งึ ต่อไปจะใชค้ าํ ว่า “สเตต” (State) แทน โหมดการทาํ งาน โดยลองพจิ ารณาดูตัวอยา่ งง่าย ๆ ของระบบการทาํ งานของเคร่ือง ATM ซ่งึ จะประกอบไปด้วยหลายสเตต โดยมีลาํ ดบั ข้นั ตอนของแตล่ ะสเตต ดงั น้ี 1) เครื่องว่างหรือรอการทาํ งาน (lble) 2) สแกนบตั ร 3) ปอ้ นรหสั

4) เลอื กประเภทธุรกรรม 5) รบั การใสจ่ าํ นวนเงนิ 6) นบั เงนิ 7) สง่ มอบเงนิ พรอ้ มคืนบัตร 8) กลบั ไปทสี่ เตตเครื่องว่าง จะเห็นวา่ เคร่ือง ATM จะแบง่ สเตตการทาํ งานเป็นหลายสเตตจากสเตตหน่งึ ไปยงั อกี ส เตตหน่ึงจะตอ้ งมตี วั กระตนุ้ หรือเรียกวา่ ทรานซชิ ัน (Transition) จากตวั อยา่ งเคร่ือง ATM เมื่อสอดบตั รจะมีเซนเซอร์ตรวจสอบ ซ่ึงเป็นตวั สัง่ ให้เปล่ียนจากสเตตวา่ งไปเป็นสเตต สแกนบัตร อกี ตัวอยา่ งหน่ึงทใี่ ช้ในงานอตุ สาหกรรมเป็นระบบควมคมุ “ถงั ผสมเคมี” ซ่งึ จะ ประกอบดว้ ยสเตตต่าง ๆ ดงั น้ี 1) เครื่องวา่ ง (lble) รอโอเปอเรเตอรก์ ดปุ่ม Start 2) ป้มั สบู เคมีและวดั การไหลของสารเคมี A และ B เข้าถังผสม 3) หลังจากเตมิ สารเคมีสบู เสรจ็ แล้ว ตัวผสมจะทาํ งานและอุณหภมู ิในถังจะสูงข้นึ เม่อื อุณหภูมิถงึ 90 ◌cํ 4) ตวั ผสมจะหยุดทาํ งานและรักษาอณุ หภมู ไิ ว้10 นาที 5) ป้มั สารเคมที ่ีผสมแลว้ เข้าถังเกบ็ (EmptyTank) 6) กลบั ไปทสี่ เตตวา่ ง (lble) 7. การออกแบบสเตตไดอะแกรม การออกแบบโปรแกรมแลดเดอร์ดว้ ยสเตตไดอะแกรมจะต้องอธบิ ายระบบทาํ งานได้ ด้วยสเตต (State) และการส่งผ่าน (Transition : ทรานซชิ นั ) ระหวา่ งสเตตเหลา่ น้ัน ไดอะแกรมสเตตทแ่ี สดงในรูปที่ 2 จะมี 2 สเตต คอื สเตต 1 และ เสตต 2 ถา้ ระบบทาํ งานอยู่ ในสเตต 1 และทรานซิชัน A เกิดทาํ งานข้ึนมา ระบบจะสง่ ผา่ นไปทส่ี เตต 2 ถา้ ระบบอยใู่ นสเตต 2 และทรานซชิ นั B เกดิ ทาํ งานระบบจะสง่ ผ่านกลับไปสเตต 1 ส่วน Else Loop ใช้แสดงวา่

เสตหน่ึงๆ จะยงั คงอยใู่ นสเตตน้ัน ถา้ ไม่มีการสง่ ผ่าน (Transition) เกิดข้นึ ซ่งึ โดยท่วั ไปจะ ละไวแ้ ละไม่เขยี นลงในสเตตไดอะแกรม พจิ ารณาตัวอยา่ งระบบควบคุมหลอดไฟอตั โนมัติเพื่อใช้ประหยดั พลังงานในห้องทาํ งาน เม่อื แหล่งจา่ ยไฟใหก้ ับระบบ (Power on) จะเข้าส่สู เตตปิดไฟ (Light off) ถ้าเซนเซอร์ ตรวจจบั การเคล่ือนไหวได้หรือมกี ารกดสวติ ชเ์ ปิด (On_PB) ระบบจะส่งผ่านส่สู เตตเปิดไฟ (Light on) ถ้าระบบอยใู่ นสเตตเปิดไฟ (Light on) เป็นเวลา 1 ช่วั โมงหรือมกี ารกดสวติ ช์ ปิด (Off_PB) จะทาํ ใหร้ ะบบสง่ ผ่านสสู่ เตตปิดไฟ (Light off) ไดอะแกรม สว่ นทเ่ี ป็นหัวใจสําคญั ของการสรา้ งเสตตไดอะแกรม คอื การแบง่ แยกสเตตต่างๆ โดย คาํ ถามหลกั ทตี่ อ้ งพจิ ารณาคอื 1) พิจารณาระบบ (1) ปกตอระบบน้ันๆ ทาํ หนา้ ทีอ่ ะไร (2) ลกั ษณะของระบบมกี ารเปลยี่ นแปลงหรือไม่ (3) ถา้ มีบางสิง่ เปล่ียนแปลง ระบบจะทาํ งานอยา่ งไร (4) มีลาํ ดบั ขัน้ ตอนการทาํ งานหรือไม่ 2) ให้ลาํ ดบั รายการ โหมดการทาํ งานทแี่ ยกเป็นกิจกรรมหน่ึงๆ ท่จี ะทาํ งานและหยดุ ทาํ งานในกจิ กรรมน้ันบางกจิ กรรมอาจเป็นการรอเท่าน้ัน (Waiter Idle) ตวั อย่าง จงสรา้ งสเตตไดอะแกรมของเคร่ืองขายกาแฟอตั โนมัติ ขั้นตอนแรกใหแ้ ยกแยะสเตต ของเครื่องขายกาแฟเป็นสเตตตา่ งๆ ตามรายละเอียดข้างลา่ งน้ี ซ่งึ จะเร่ิมจากสเตตวา่ ง (Idle State) จากน้ันสเตตการหยอดเหรียญ (Inserting Coin State) ซ่ึงจะแสดงจาํ วนเงิน ท่ีหยอด เม่ืเหรียญท่ียอดมีจํานวนเพยี งพอแลว้ ผซู้ ้ือสามารถเลือกประเภทของกาแฟทช่ี อบได้ หลงั จากน้ันสเตตชงกาแฟ (Make Coffee State) จะทาํ งาน ขณะที่กําลังชงกาแฟ ถา้ มี (Error) เกดิ ข้ึน สเตตบริการฉกุ เฉิน (Service Needed State) จะทาํ งาน

รายละเอยี ดสเตต Idle — เคร่ืองวา่ ง Inserting Coin — เหรียญถกู หยอดและนับจาํ นวนเหรียญพรอ้ มการ แสดงผล User Choose — เหรียญทหี่ ยอดเพียงพอและผซู้ ้ือเลือกกาแฟที่ ต้องการ Make Coffee — ชงกาแฟท่ถี กู เลือก Service Needed — เคร่ืองต้องการบริการฉุกเฉนิ เชน่ ถว้ ยหรือกาแฟ หมด สเตตต่างๆสามารถนํามาสรา้ งเป็นไดอะแกรม ทรานซิชนั (Transition) จะถูกเพ่มิ เขา้ ไปในระหว่างสเตต ดงั น้ัน จะเห็นวา่ เมอื่ จา่ ยไฟเขา้ เครื่อง (Power on) จะเริ่มตน้ ทาํ งาน ในสเตตว่าง (Idle) ทรานซิชันของสเตตตา่ งๆจะเป็นไปตามอนิ พุตและเซนเซอร์ของเคร่ือง สเตตไดอะแกรมจะแตกตา่ งกนั ไปตามความยากงา่ ยของระบบไดอะแกรมเหลา่ น้จี ะ แสดงให้เหน็ กระบวนการทาํ งานของระบบควบคมุ ไดอ้ ย่างชดั เจนเมือ่ เทยี บกบั การสรา้ ง โปรแกรมด้วยบติ ซีเควนซ์ ตวั อยา่ งเชน่ เครื่องชงกาแฟทาํ งานอย่างไรและถ้าเปลีย่ นไปทาํ งาน ด้วยสเตตอ่ืนจะมที รานซิชนั อะไรเกย่ี วขอ้ ง ลองพิจารณาสถานการณด์ ังตอ่ ไปน้ี สมมตวิ า่ เคร่ืองชงกาแฟเสร็จแลว้ จะยงั คงคา้ งอยู่ทีส่ เตตน้จี นกวา่ จะมีคนหยบิ แกว้ กาแฟ ออก ถา้ คนไมห่ ยบิ แก้วออกเครื่องจะไม่วา่ ง หรือถา้ มีคนหยิบแก้วออกแต่เซนเซอร์เสยี เคร่ืองจะ ค้างท่ีสเตตน้ีต่อไปโดยไม่ยอมเขา้ สสู่ เตตเครื่องว่าง ในกรณนี ้ีชา่ งซ่อมเครื่องจะรู้ทนั ทวี ่า เซนเซอร์เสยี จากไดอะแกรมมขี ้อดอ้ ยทีส่ เตตบริการฉกุ เฉนิ สมมตวิ ่ากาแฟหมดเครื่อง จะเข้าสสู่ เตตบ ริการฉกุ เฉิน ถา้ แก้ไขด้วยการปิดไฟเข้าเคร่ืองและเปิดใหม่ การแจง้ ขอ้ ผดิ พลาดของสเตตบริการ ฉุกเฉนิ (Service Needed) จะหายไป เพราะเมือ่ เปิดไฟเคร่ืองจะเขา้ ส่เู สตตว่าง จนกว่าจะ

มีรลกู คา้ คนถดั ไปหยอดเหรียญและพบว่าไม่ได้รับกาแฟจึงเข้าสสู่ เตตบริการฉุกเฉนิ อีกคร้ังหน่ึง ในการออกแบบจริงจะตอ้ งแก้ไขปัญหาน้ี การออกแบบแลดเดอร์ ลองพิจารณาสัญญาณไฟจราจร ซ่ึงรถบนถนนเดยี วกันจะวงิ่ สวนกันเม่อื เป็นไฟเขยี วจะ ไม่ใช่การเดนิ รถทลี ะแยก ลาํ ดบั การทาํ งานปกตขิ องไฟจราจร คอื มไี ฟเขยี วทดี่ ้านหน่ึงเป็น ชว่ งเวลาหน่งึ เช่น 15 วนิ าที จะเปล่ยี นเป็นไฟเหลืองประมาณ 4 วินาที ก่อนทจ่ี ะเปลีย่ นเป็นไฟ แดง ลาํ ดบั เหตุการณเ์ ชน่ น้ีจะเกิดข้นึ กับสัญญาณไฟในอีกทศิ ทางนึงดว้ ยเช่นกัน เป็นที่ทราบ กนั ดวี ่าถา้ มีไฟเขยี นวหรือไฟเหลืองทีท่ ศิ ทางหน่ึง อกี ทิศทางหน่งึ จะเป็นไฟแดง สัญญาณไฟ จราจรบางแห่งอาจมีสวิตซ์กดขอข้ามถนน (Walk Button) เพือ่ ใหค้ นกดเม่ือต้องการข้าม ถนน ไฟข้ามถนน (Cross Walk) จะตดิ ขั้นตอนแรกของการออกแบบระบบ คอื กาํ หนดอินพตุ และเอาตพ์ ุตของระบบกอ่ น ต่อไปคอื การอธิบายรายละเอยี ดการทาํ งานของระบบจากสเตตหน่งึ สอู่ กี สเตตหน่ึง อินพตุ จะถูก ใช้เพ่อื กาํ หนดทรานซชิ ัน (Transition) ส่วนเอาต์พตุ อาจใช้เพอ่ื กาํ หนดเสตตของระบบ (System State) 8. ซเี ควนซไดอะแกรม ซีเควนซไ ดอะแกรม (Sequence Diagram) บงบอกถงึ ในยสู เคสนั้นวตั ถแุ ตล ะตัวจะ ติดตอสื่อสารกันอยางไรมีขัน้ ตอนการทำงานอยางไร โดยเนน ไปทแี่ กนเวลาเปนสำคัญ ถา เวล เปลีย่ นขนั้ ตอนการทำงานจะเปลย่ี นโดยมแี อ็กเตอรเปน ผูกระทำเรมิ่ ตน ใน UML ซีเควนซ ไดอะแกรมมแี กนสมมติ 2 แกน คือ แกนนอนและแกนตั้งแกนนอนและแกนตง้ั ตอ งสมั พนั ธกนั ในซี เควนซไ ดอะแกรมมสี ัญลกั ษณของวตั ถุหรือคลาสแทนรปู สี่เหลย่ี มเรียกกนั ตามแนวนอน ภายใน บรรจชุ อื่ อ็อบเจกตตามดวยเครอ่ื งหมายทวิภาค (:) และชื่อคลาส เสนประทอ่ี ยใู นแนวแกนเวลา แสดงถงึ ชวี ิตของวตั ถุสเี่ หลี่ยมแนวตงั้ ท่อี ยูตำแหนงเดียวกบั วัตถุหรอื คลาสเรียกวาแอก็ ทิเวชัน (Activation) ซึ่งใชแสดงชว งเวลาทว่ี ัตถกุ ำลงั ปฏบิ ัตงิ าน และเสนทีท่ ำหนาทส่ี งขอ มลู ระหวางวัตถุ

9. ขอสังเกตของซเี ควนไ ดอะแกรม ขอสงั เกตของซเี ควนซไ ดอะแกรม มดี ังนี้ 9.1 ซีเควนซไ ดอะแกรม ชว ยใหนกั วิเคราะหระบบทราบวา คลาสใดควรจะมโี อเปอเรชัน/เมท็ อดใดบา ง (ใหด จู ากอ็อบเจกตของคลาสที่เปนฝา ยรับขาวสาร หากรับขาวสารใดมาจะตองรับผิดชอบการ ดำเนนิ การขาวสารนัน้ หรือ ตองมโี อเปอเรชัน/เมท็อดนั้นในคลาส) 9.2 การเขยี นลำดบั กิจกรรมในแตละยสู เคสสามารถเขียนไดอ กี ลกั ษณะหน่ึง คือ แบง การปฏบิ ตั งิ านออก เปน 2 สว น ไดแ ก สว นของแอ็กเตอรป ฏิบตั ิ และสวนของระบบปฏบิ ัติ 10. คอลลาบอเรชันไดอะแกรม มีหนาทเ่ี ดียวกับซีเควนซไดอะแกรมแตไ มแสดงถึงแกนเวลาอยางชัดเจนยกเวน การโตตอบกัน ระหวา ง อ็อบเจกต สัญลักษณที่ใชประกอบดวยวัตวุหรือคลาสแทนดวยรูปสี่เหลี่ยมคลายซีเควนซ ไดอะแกรมมรี ปู แบบ คือ ชอื่ ออ็ บเจกต/บทบาท : ชื่อคลาสและขีดเสนใตเ พือ่ แสดงวาเปนอิรส แตนซ แตไมจำเปนตองเรยี งตามแนวนอนเหมือนในซีเควนซไ ดอะแกรม มเี สนเชื่อมกันระหวาง วตั ถุ เรียกวา ลิงก (Link) ซงึ่ แตล ะลงิ กม คี ำอธิบายแสดงข้ันตอนการทำงานตามทศิ ทางลูกศรโดยมี ตัวเลขลำดบั กำกบั ไวเ พ่อื บอกวาข้ันตอนใดทำกอ นทำหลงั ซ่ึงแทนแกนเวลาตามดว ยเคร่ืองหมาย ทวิภาคและขา วสาร ในสวนของลำดับยอย คอลลาบอเรชันใดอะแกรมจะใชตวั เลขและเตมิ จุดยอ ยและใสตัวเลข ตอ ทา ยเหมือนทศนิยมเพอ่ื ใหร ูว า ขั้นตอนนเี้ ปนการทำงานยอยของเลขลำดับใด คอลลาบอเรชัน ไดอะแกรมใฃในการออกแบบกระบวนการทำงานทแ่ี สดงถึงลำดับของการโตต อบกันระหวางอ็อบ เจกต นั่นคือ แสดงถึงกลุมของอ็อบเจกตที่ทำงานรวมกัน สอดคลองกับความหมายของชอื่ ไดอะแกรม ลูกศรท่ีชไ้ี ปในทิศทางเดียวไมมีการชี้ยอนกลับในเสน เดียวกนั ตัวเลขทก่ี ำกบั ขางหนา เปนอนกุ รม คือ ตองทำขัน้ ตอนนเ้ี สร็จกอ นจึงสามารถทำขนั้ ตอไปได ตัวเลขท่กี ำกับขางหนาถูก

แบง ยอยเปน ทศนยิ ม แตถากระบวนการใดสามารถทำพรอมกนั ไดไ มตองแยกยอยเปนทสนิยม เพ่ิมขึ้นอีก ใหอ ยูในระดบั เดยี วกนั 1:Message 1 Object 1 Object 2 3:Message 3 2:Message 2 Object 3 11. แอก็ ทวิ ิตไี ดอะแกรม แอก็ ทิวิตไี ดอะแกรม (Activity Diagram) แสดงลำดบั กจิ กรรมของการทำงาน (Work Flow) โดยการแสดงทางเลือกท่ีเกิดขน้ึ และข้นั ตอนการทำงาน โดยประกอบไปดวยสถานะตา งๆ ทเี่ กดิ ข้ึน ระหวา งการทำงานและผลจากการทำงานในขั้นตอนตางๆ วงกลมสีดำ คือ จดุ เริม่ ตน เรียกวา Initial state วงกลมสีดำมวี งลอ มอีกชนั้ คือ จุดสิ้นสุด เรียกวา Final Start โดยจะอธบิ ายกิจกรรม ในลกั ษณะของการกระทำโดยใชไ ดอะแกรมใน UML ซง่ึ มลี กั ษณะคลา ย Flow Chart 12. ขน้ั ตอนในการเขยี นแอ็กทิวติ ไี ดอะแกรม ขน้ั ตอนในการเขียนแอก็ ทิวติ ีไดอะแกรม มีดงั น้ี 12.1 พิจารณากจิ กรรมตา งๆ ท่ีไดจากผลการวิเคราะหท ่คี วรอธบิ าย 12.2 พิจารณากจิ กรรมยอยท่ีเกิข้ึน เงอื่ นไขหรือกรณีตางๆ ท่เี กดิ ขน้ึ เม่ือเปน ไปตามเง่อื นไข 12.3 เรยี งลำดบั กิจกรรมทเ่ี กิดกอน-หลงั 12.4 เขียนกิจกรรมยอ ยดวยสัญลกั ษณแ สดงกิจกรรม 12.5 เขยี นจดุ เร่ิมตน 12.6 เขยี นจดุ สนิ้ สุด

13. คุณสมบตั ขิ องแอก็ ทวิ ิตีไดอะแกรมทด่ี ี. คณุ สมบัตชิ องแอ็กทวิ ิตไี ดอะแกรมทีด่ ี มดี งั น้ี 13.1 มุ่งเนน้ การติดตอิ ส่ือสารของระบบในเชงิ ไดนามิก เฉพาะส่วนย่อยทมี่ คี วามสําคัญ ตอ่ กระบวนการทาํ งานเทา่ นัน้ 13.2 แสดงรายละเอยี ดแต่ละระดับการทาํ งาน โดยเลือกแสดงเฉพาะท่มี ีความสาํ คญั ตอ่ การ เขา้ ใจการทาํ งานของระบบเท่าน้นั 13.3 ถ้าการทาํ งานส่วนใดมีความสําคญั ควรเขียนแอก็ ทิวิตไี ดอะแกรม ไทค่ วรละเอาไวห้ รือ แสดงเพียงอย่างยอ่ ๆ Iogin Select problemtype Select urgency Fill tittle Select Fill category description Select Submit subcategory Select producttype

14. คอมโพเนนต์ไดอะแกรม คอมโพเนนตไ์ ดอาแกรม (Component Diagram) เป็นไดอาแกรมทแี่ สดงโครงสรา้ งทาง กายภาพของซอฟแวรโ์ ดยจะประกอบซ่ึงอยใู่ นรูปตา่ งๆ เชน่ Binary, Text และ Executable ภายในคอมโพเนนต์ไดอพชะแกรมจะมคี วามสัมพนั ธ์แสดงอยเู่ ช่นเดยี วกบั คลาสไดอะแกรม อ็อบเจกตไ์ ดอะแกรม เป็นไดอะแกรมท่ีแสดงโครงสร้างและความเก่ยี วข้องซอฟแวร์ โดย คอมโพเนนต์ประกอบด้วย Source Code และระยะเวลาดาํ เนนิ งานหรือ Executable Component ประโยชน์สําคัญของคอมโพเนนตไ์ ดอะแกรม คือ สามารถแบ่งระบบงาน (System) ขนาด ใหญอ่ อกเป็นระบบยอ่ ย ๆ (Subsystem) ซ่ึงแต่ละระบบยอ่ ยจะมคี อมโพเนนต์ต่าง ๆ ประกอบอยู่ การแบง่ ระบบออกเป็นระย่อยเป็นทยี่ อมรบั วา่ สามารถทาํ ไหก้ ารพฒั นาระบบมีประสิทธิภาพ และสนบั สนุนหลักการพฒั นาระบบงานแบบเป็นทีมงานทีส่ ามารถแบ่งส่วนย่อยตา่ ง ๆ ใหแ้ ต่ละ สว่ นงานย่อยไปรบั ผิดชอบได้ Component Name Calculator .java

15. ดีพลอยเมนต์ไดอะแกรม แสดงการเชอ่ื มต่อของอุปกรณ์ฮารด์ แวร์ในระบบและมกั ใชร้ ่วมกัยคอมโพเนนตไ์ ดอะแกรม โดยข้างในฮารด์ แวร์อาจประกอบไปด้วยซอฟแวร์คอมโพเนนต์ ดีพลอยต์ไดอะแกรมแสดงอยู่ ในรูปอินแทนซแ์ ละแสดงในช่วงเวลาของการดาํ เนินงานหรือระหวา่ ง Execute ดงั น้ัน ไฟล์ คอมโพเนนตข์ องระบบทไ่ี ม่ได้ใชส้ าํ หรับการดเนนิ งานจะไมป่ รากฏในไดอะแกรมน้ีแต่มใี น คอมโพเนนต์ของงไฟล์ทีใ่ ช้ทาํ งานจริงเท่าน้ัน สัญลักษณ์ของดพี ลอยเมนตไ์ ดอะแกรมเป็นการเชอ่ื มระหว่างโหนด ซ่ึงก็คือฮาร์ดแวร์จะ บรรจอุ นิ สแทนตช์ องซอฟแวร์คอมโพเนนตท์ ีถ่ กู แสดงด้วยสัญลักษณ์ของคอมโพเนนตไ์ วข้ า้ ง ใน แต่ละคอมโพเนนตเ์ ช่อื มตอ่ กนั โดยใชค้ วามสัมพนั ธ์แบบพง่ึ พาโดยช้จี ากคอมโพเนนต์ทขี่ อ ใช้บริการไปยงั คอมโพเนนต์อนื่ เหมอื นกับคอมโพเนนตไ์ ดอะแกรม โดยบนลกู ศรอาจมีคาํ กํากบั อยภู่ ายใต้เคร่ืองหมาย สเตริโอไทป์ เพื่อสร้างความกระจ่งายิ่งข้นึ หากจาํ เป็น สัญลักษณ์ของ โหนดแสดงด้วยร฿ปบาศก์ 3 มิติ ภายในบรรจุชอ่ื ทแ่ี สดงถึงประเภทของโหนดถา้ เป็นโหนด อนิ สแทนซ์จะมีทั้งชอ่ื จริงและประเภทของโหนด และขดี เสน้ ใตท้ ชี่ อื่ โหนดเพือ่ แสดงวา่ เป็นอนิสแทนซ์หรืออ็อบเจกต์ ชอ่ื ของโหนดเป็นชอื่ เฉพาะ สว่ นประเภทของโหนดเป็นการบง่ บอกว่าโหนดน้นั คอื อปุ กรณช์ นดิ อะไร โหนดอาจถูกเชื่อมตอ่ กัยโหนดอื่นได้ ซ่งึ แสดงวา่ อปุ กรณแ์ ตล่ ะตัวมกี ารติดตอ่ ส่ือสารกันอย่างไรผา่ นระบบเครือข่าย อาจมคี าํ กํากบั ภายใต้ สัญลกั ษณส์ เตรโอไทป์ เพ่ือบอกว่าทง้ั 2 โหนดน้ีเช่ือมต่อกนั ด้วยวธิ ใี ดซ่ึงกค็ อื ชนิดของ ชอ่ งสญั ญาณของเครือข่ายหรือโพรโทคอลเช่น ตวั อยา่ ง จากระบบสารสนเทศจดั จัดซ้ือจัดจ้างพสั ดุ สามารถสรา้ งดพี ลอยเมนตไ์ ดอะแกรมที่ แสดงการออกแบบสถาปตั ยกรรมทางกายภาพของระบบที่เป็นไคลเอนต์/เซิร์ฟเวอร์


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