รายงานเรอื่ ง Component Diagram จัดทาโดย นาย ชินวฒั น์ ทศดี นาย ชนาธิป พลเสน นาย พชั รพล เดชเทศ ระดบั ชนั้ ประกาศนียบัตรวชิ าชพี ชัน้ สูง (ปวส.) หอ้ ง 1.2 สาขาวชิ าการเทคโนโลยี สารสนเทศ รายงานนีเ้ ป็ นส่วนหนึ่งของรายวชิ าการวเิ คราะหแ์ ละออกแบบเชงิ วตั ถุ รหสั วชิ า 30901 – 2002 วทิ ยาลัยอาชวี ศึกษาพษิ ณุโลก ภาคเรียนที่ 2 ปี การศกึ ษา 2563
1 คานา รายงานนี้ เป็นสว่ นหนงึ่ ของการเรยี นการสอนวชิ าการวิเคราะหแ์ ละออกแบบเชิงวตั ถโุ ดยคณะผจู้ ดั ทาไดศ้ กึ ษาคน้ ควา้ เรอื่ ง components digram เพ่ือเป็นแนวทางในการศกึ ษาพฒั นาทกั ษะการเขยี นโปรแกรมใหม้ ี ความเขา้ ใจและสามารถนาไป ประยกุ ตใ์ ชไ้ ดอ้ ยา่ งถกู ตอ้ ง คณะผจู้ ดั ทาไดศ้ กึ ษาคน้ ควา้ เรอื่ ง components digram จากแหลง่ เว็บไซตต์ า่ ง ๆ ซงึ่ สามารถ นามาสรุปความรูไ้ ดด้ งั รายงานเลม่ นี้ ณ โอกาสนคี้ ณะผจู้ ดั ทาหวงั เป็นอยา่ งยง่ิ วา่ รายงานนจี้ ะเป็นประโยชนใ์ หแ้ กผ่ ทู้ สี่ นใจไดศ้ กึ ษาคน้ ควา้ เรอ่ื ง components digramไมม่ ากก็นอ้ ยและสามารถน าไปประยกุ ตใ์ ชไ้ ดอ้ ยา่ งถกู ตอ้ งทงั้ กบั ตนเองและผอู้ ่ืนตอ่ ไป
สารบญั 2 เรอ่ื ง หนา้ คานา สารบญั 1 เนอื้ หา 2 3 Component Diagram คืออะไร? 3 สญั ลกั ษณ์และสญั กรณ์แผนภาพส่วนประกอบพ้นื ฐาน 3 - อนิ เตอรเ์ ฟซ 3 -การพง่ึ พา 4 -ทา่ เรอื 4 วธิ ีการวาด Component Diagram 4 UML – แผนภาพสว่ นประกอบ 5 วตั ถปุ ระสงคข์ องแผนภาพสว่ นประกอบ 6 จะใช้ Component Diagrams ไดท้ ไี่ หน? 6 สญั กรณ์ 7 พนื้ ฐาน 7 การสรา้ งโมเดลอนิ เทอรเ์ ฟซของคอมโพเนนตท์ ีร่ ะบุ / จาเป็น 8 อีกวธิ ีหนง่ึ ในการสรา้ งโมเดลอินเทอรเ์ ฟซของสว่ นประกอบ 9 การสรา้ งแบบจาลองความสมั พนั ธข์ องสว่ นประกอบ 9 ระบบยอ่ ย 10 นอกเหนอื จากพืน้ ฐาน 11 แสดงโครงสรา้ งภายในของสว่ นประกอบ 11 สรุป 12 อา้ งองิ 13
3 Component Diagram คอื อะไร? แผนภาพคอมโพเนนตห์ รือท่ีเรียกว่าแผนภาพคอมโพเนนต์ UML อธิบายองคก์ รและการเดินสายของส่วนประกอบทางกายภาพในระบบ แผนภาพ คอมโพเนนตม์ กั ถูกวาดข้ึนเพ่อื ช่วยในการจาลองรายละเอียดการใชง้ านและตรวจสอบอีกคร้ังวา่ ทุกส่วนของฟังกช์ นั ที่จาเป็นของระบบครอบคลุมโดย การพฒั นาตามแผน ใน UML เวอร์ชนั แรกส่วนประกอบท่ีรวมอยใู่ นไดอะแกรมเหล่าน้ี ไดแ้ ก่ เอกสารตารางฐานขอ้ มูลไฟลแ์ ละไฟลป์ ฏิบตั ิการ องคป์ ระกอบทางกายภาพท้งั หมดที่มีตาแหน่ง ในโลกของ UML 2 ส่วนประกอบเหล่าน้ีเป็นองคป์ ระกอบการออกแบบแบบสแตนดอ์ ะโลนที่มีอยู่ จริงน้อยกวา่ และมีแนวคิดมากกวา่ เช่นกระบวนการทางธุรกิจที่จดั หาหรือตอ้ งใชอ้ ินเทอร์เฟซเพ่อื โตต้ อบกบั โครงสร้างอ่ืน ๆ ในระบบ องคป์ ระกอบ ทางกายภาพท่ีอธิบายไวใ้ น UML 1 เช่นไฟลแ์ ละเอกสารปัจจบุ นั เรียกวา่ สิ่งประดิษฐ์คอมโพเนนต์ UML 2 อาจมีสิ่งประดิษฐท์ างกายภาพหลาย ชิ้นหากอยรู่ ่วมกนั ตามธรรมชาติ สัญลกั ษณ์และสัญกรณ์แผนภาพส่วนประกอบพืน้ ฐาน ส่วนประกอบ ส่วนประกอบคือบลอ็ กหน่วยตรรกะของระบบซ่ึงเป็ นนามธรรมท่ีสูงกวา่ คลาสเลก็ นอ้ ย จะแสดงเป็นรูปสี่เหล่ียมผนื ผา้ โดยมี สี่เหล่ียมผืนผา้ เลก็ ๆ ท่ีมมุ ขวาบนพร้อมดว้ ยแท็บหรือคา เขียนไวเ้ หนือชื่อของส่วนประกอบเพ่อื ช่วยแยกความแตกต่างจากคลาส -อนิ เตอรเ์ ฟซ อินเทอรเ์ ฟซ (วงกลมเลก็ หรอื ครง่ึ วงกลมบนแทง่ ไม)้ อธิบายถงึ กลมุ่ ของการดาเนินการทใี่ ช้ (จาเป็น) หรอื สรา้ งขนึ้ (ให)้ โดย สว่ นประกอบ วงกลมเตม็ แสดงถงึ อนิ เทอรเ์ ฟซท่ีสรา้ งหรอื จดั หาโดยคอมโพเนนต์ ครง่ึ วงกลมแสดงถึงอนิ เทอรเ์ ฟซทีจ่ าเป็นเช่น ขอ้ มลู ของบคุ คล
4 -การพง่ึ พา วาดการอา้ งองิ ระหวา่ งสว่ นประกอบโดยใชล้ กู ศรประ -ท่าเรือ พอรต์ จะแสดงโดยใชส้ เี่ หลย่ี มตามขอบของระบบหรอื สว่ นประกอบ มกั ใชพ้ อรต์ เพอ่ื ชว่ ยในการแสดงสว่ นตอ่ ประสานทีจ่ าเป็น และจดั เตรยี มไวใ้ หข้ องสว่ นประกอบ วธิ ีการวาด Component Diagram แผนภาพคอมโพเนนตใ์ ชเ้ พอ่ื อธิบายสง่ิ ประดษิ ฐ์ทางกายภาพของระบบ สงิ่ ประดษิ ฐ์นรี้ วมถงึ ไฟลไ์ ฟลป์ ฏิบตั ิการไลบรารี ฯลฯ วตั ถปุ ระสงคข์ องแผนภาพนแี้ ตกตา่ งกนั แผนภาพคอมโพเนนตถ์ กู ใชร้ ะหวา่ งขนั้ ตอนการใชง้ านแอปพลเิ คชนั อยา่ งไรก็ตามมี การเตรยี มการลว่ งหนา้ เพื่อใหเ้ หน็ ภาพรายละเอยี ดการใชง้ าน ในขนั้ ตน้ ระบบไดร้ บั การออกแบบโดยใชไ้ ดอะแกรม UML ท่ีแตกตา่ งกนั และเม่ือสงิ่ ประดษิ ฐ์พรอ้ มใชง้ านจะใชไ้ ดอะแกรม คอมโพเนนตเ์ พอ่ื รบั แนวคดิ ในการนาไปใชง้ าน แผนภาพนมี้ ีความสาคญั มากเนอ่ื งจากไมส่ ามารถใชง้ านแอปพลเิ คชนั ไดอ้ ยา่ งมปี ระสทิ ธิภาพ แผนภาพสว่ นประกอบที่ จดั เตรยี มไวอ้ ยา่ งดยี งั มคี วามสาคญั สาหรบั ดา้ นอ่ืน ๆ เชน่ ประสทิ ธิภาพของแอปพลเิ คชนั การบารุงรกั ษาเป็นตน้ ก่อนวาดแผนภาพสว่ นประกอบจะตอ้ งระบสุ ง่ิ ประดษิ ฐต์ อ่ ไปนใี้ หช้ ดั เจน - ไฟลท์ ี่ใชใ้ นระบบ ไลบรารแี ละสง่ิ ประดษิ ฐ์อืน่ ๆ ท่เี กี่ยวขอ้ งกบั แอปพลเิ คชนั ความสมั พนั ธร์ ะหวา่ งสงิ่ ประดิษฐ์
5 หลงั จากระบสุ ง่ิ ประดษิ ฐ์แลว้ จะตอ้ งคานงึ ถงึ ประเดน็ ตอ่ ไปนี้ ใชช้ ื่อทมี่ คี วามหมายเพ่ือระบสุ ว่ นประกอบที่จะวาดไดอะแกรม เตรยี มเคา้ โครงจติ ใจกอ่ นทจี่ ะผลติ เครอ่ื งมือโดยใช้ ใชบ้ นั ทกึ เพอ่ื ชีแ้ จงประเดน็ สาคญั ตอ่ ไปนเี้ ป็นแผนภาพสว่ นประกอบสาหรบั ระบบจดั การคาส่งั ซือ้ ทน่ี ี่สงิ่ ประดิษฐ์คือไฟล์ แผนภาพแสดงไฟลใ์ นแอปพลเิ คชนั และ ความสมั พนั ธ์ ในความเป็นจรงิ แผนภาพคอมโพเนนตย์ งั มี dlls ไลบรารโี ฟลเดอรแ์ ละอ่นื ๆ ในแผนภาพตอ่ ไปนมี้ กี ารระบไุ ฟลส์ ไี่ ฟลแ์ ละสรา้ งความสมั พนั ธ์ แผนภาพคอมโพเนนตไ์ มส่ ามารถจบั คโู่ ดยตรงกบั ไดอะแกรม UML อนื่ ๆ ทีก่ ลา่ วถึงไดจ้ นถงึ ขณะทีว่ าดดว้ ยวตั ถปุ ระสงคท์ ่ีแตกตา่ งกนั อยา่ งสนิ้ เชิง แผนภาพสว่ นประกอบตอ่ ไปนถี้ กู วาดขนึ้ โดยพจิ ารณาจากประเด็นทงั้ หมดทีก่ ลา่ วมาขา้ งตน้ UML – แผนภาพส่วนประกอบ แผนภาพสว่ นประกอบมีความแตกตา่ งกนั ในแง่ของลกั ษณะและพฤติกรรม แผนภาพคอมโพเนนตใ์ ชเ้ พอ่ื จาลองลกั ษณะทาง กายภาพของระบบ คาถามคือลกั ษณะทางกายภาพเหลา่ นคี้ อื อะไร? ลกั ษณะทางกายภาพคอื องคป์ ระกอบตา่ งๆเชน่ ไฟล์ ปฏบิ ตั ิการไลบรารไี ฟลเ์ อกสาร ฯลฯ ซง่ึ อยใู่ นโหนด แผนภาพคอมโพเนนตใ์ ชเ้ พอื่ แสดงภาพองคก์ รและความสมั พนั ธร์ ะหวา่ งสว่ นประกอบตา่ งๆในระบบ ไดอะแกรมเหลา่ นยี้ งั ใช้ เพอื่ สรา้ งระบบปฏิบตั ิการ
6 วตั ถุประสงคข์ องแผนภาพส่วนประกอบ แผนภาพคอมโพเนนตเ์ ป็นแผนภาพชนิดพเิ ศษใน UML จดุ ประสงคย์ งั แตกตา่ งจากไดอะแกรมอนื่ ๆ ทงั้ หมดทก่ี ลา่ วถงึ ไมไ่ ด้ อธิบายถงึ การทางานของระบบ แตอ่ ธิบายถงึ สว่ นประกอบที่ใชใ้ นการสรา้ งฟังกช์ นั เหลา่ นนั้ ดงั นนั้ จากมมุ มองดงั กลา่ วแผนภาพคอมโพเนนตจ์ ึงถกู ใชเ้ พ่อื แสดงภาพสว่ นประกอบทางกายภาพในระบบ สว่ นประกอบ เหลา่ นี้ ไดแ้ ก่ ไลบรารแี พก็ เกจไฟล์ ฯลฯ แผนภาพคอมโพเนนตย์ งั สามารถอธิบายเป็นมมุ มองการใชง้ านแบบคงทข่ี องระบบ การใชง้ านแบบคงท่แี สดงถงึ การจดั ระเบยี บ ของสว่ นประกอบในชว่ งเวลาหนง่ึ แผนภาพองคป์ ระกอบเดยี วไมส่ ามารถแสดงถงึ ระบบทงั้ หมดได้ แตจ่ ะใชช้ ดุ ของไดอะแกรมเพือ่ แสดงภาพรวม วตั ถปุ ระสงคข์ องแผนภาพสว่ นประกอบสามารถสรุปไดด้ งั นี้ - -แสดงภาพสว่ นประกอบของระบบ -สรา้ งไฟลป์ ฏิบตั ิการโดยใชว้ ิศวกรรมเดินหนา้ และยอ้ นกลบั -อธิบายองคก์ รและความสมั พนั ธข์ องสว่ นประกอบ จะใช้ Component Diagrams ได้ทไี่ หน? เราไดอ้ ธิบายไวแ้ ลว้ วา่ แผนภาพคอมโพเนนตใ์ ชเ้ พอื่ แสดงภาพมมุ มองการใชง้ านแบบคงทีข่ องระบบ แผนภาพคอมโพเนนตเ์ ป็น ไดอะแกรม UML ชนดิ พเิ ศษทใี่ ชเ้ พื่อวตั ถปุ ระสงคท์ ี่แตกตา่ งกนั แผนภาพเหลา่ นแี้ สดงสว่ นประกอบทางกายภาพของระบบ เพอื่ ใหช้ ดั เจนเราสามารถพดู ไดว้ า่ แผนภาพสว่ นประกอบอธิบาย การจดั ระเบยี บของสว่ นประกอบในระบบ องคก์ รสามารถอธิบายเพม่ิ เตมิ ไดว้ า่ เป็นที่ตงั้ ของสว่ นประกอบในระบบ สว่ นประกอบเหลา่ นไี้ ดร้ บั การจดั ระเบยี บดว้ ยวธิ ีพเิ ศษ เพอ่ื ใหเ้ ป็นไปตามขอ้ กาหนดของระบบ ดงั ท่เี ราไดก้ ลา่ วไปแลว้ สว่ นประกอบเหลา่ นนั้ ไดแ้ ก่ ไลบรารไี ฟลไ์ ฟลป์ ฏิบตั ิการ ฯลฯ กอ่ นทจ่ี ะใชง้ านแอปพลเิ คชนั สว่ นประกอบ เหลา่ นจี้ ะตอ้ งไดร้ บั การจดั ระเบยี บ องคก์ รองคป์ ระกอบนไี้ ดร้ บั การออกแบบแยกตา่ งหากเป็นสว่ นหนงึ่ ของการดาเนินโครงการ แผนภาพสว่ นประกอบมคี วามสาคญั มากจากมมุ มองของการนาไปใชง้ าน ดงั นนั้ ทมี งานของแอปพลเิ คชนั ควรมคี วามรูท้ ่ี เหมาะสมเกีย่ วกบั รายละเอียดสว่ นประกอบ แผนภาพคอมโพเนนตส์ ามารถใชเ้ พ่อื - สรา้ งแบบจาลองสว่ นประกอบของระบบ จาลองสคมี าฐานขอ้ มลู สรา้ งแบบจาลองไฟลป์ ฏบิ ตั ิการของแอปพลเิ คชนั จาลองซอรส์ โคด้ ของระบบ
7 สัญกรณ์ ตอนน้ีชุดสญั กรณ์แผนภาพส่วนประกอบทาใหเ้ ป็ นหน่ึงในไดอะแกรม UML ท่ีง่ายที่สุดในการวาด รูปท่ี 1 แสดงแผนภาพ ส่วนประกอบอยา่ งง่ายโดยใชส้ ญั กรณ์ UML 1.4 เดิม ตวั อยา่ งแสดงความสมั พนั ธร์ ะหวา่ งสององคป์ ระกอบ: คอมโพเนนตร์ ะบบ สงั่ ซ้ือที่ใชค้ อมโพเนนตร์ ะบบสินคา้ คงคลงั อยา่ งท่ีคุณเห็นส่วนประกอบใน UML 1.4 ถูกวาดเป็ นรูปส่ีเหล่ียมผนื ผา้ โดยมี ส่ีเหลี่ยมเลก็ ๆ สองอนั ยน่ื ออกมาจากดา้ นซา้ ย รูปท่ี 1: แผนภาพส่วนประกอบอยา่ งง่ายน้ีแสดงการพ่ึงพาทวั่ ไปของระบบสงั่ ซ้ือโดยใชส้ ญั กรณ์ UML 1.4 แผนภาพส่วนประกอบอยา่ งง่ายแสดงการพ่ึงพาทว่ั ไปของระบบสงั่ ซ้ือโดยใชส้ ญั กรณ์ UML 1.4 สญั กรณ์ UML 1.4 ขา้ งตน้ ยงั คงไดร้ ับการสนบั สนุนใน UML 2 อยา่ งไรกต็ ามชุดสญั กรณ์ UML 1.4 ไม่ไดป้ รับขนาดไดด้ ีใน ระบบที่ใหญก่ วา่ ดว้ ยเหตุน้ี UML 2 จึงปรับปรุงชุดสญั กรณ์ของแผนภาพส่วนประกอบอยา่ งมากดงั ที่เราจะเห็นตลอดส่วนท่ี เหลือของบทความน้ี ชุดสญั กรณ์ UML 2 ปรับขนาดไดด้ ีข้ึนและชุดสญั กรณ์ยงั ใหข้ อ้ มูลมากกวา่ ในขณะท่ียงั คงความเขา้ ใจง่าย มาดูขอ้ มูลเบ้ืองตน้ เกี่ยวกบั แผนภาพส่วนประกอบตาม UML 2 พืน้ ฐาน การวาดส่วนประกอบใน UML 2 ตอนน้ีคลา้ ยกบั การวาดคลาสบนแผนภาพคลาส ในความเป็นจริงใน UML 2 คอมโพเนนตเ์ ป็ น เพียงเวอร์ชนั พเิ ศษของแนวคิดคลาส ซ่ึงหมายความวา่ กฎสญั กรณ์ที่ใชก้ บั ตวั จาแนกคลาสจะนาไปใชก้ บั ลกั ษณนาม คอมโพเนนตด์ ว้ ย (หากคุณอา่ นและทาความเขา้ ใจบทความก่อนหนา้ ของฉนั เกี่ยวกบั แผนภาพโครงสร้างโดยทวั่ ไปและ โดยเฉพาะอยา่ งยง่ิ คลาสไดอะแกรมคุณก็สามารถทาความเขา้ ใจไดอะแกรมส่วนประกอบไดด้ ี)
8 ใน UML 2 องคป์ ระกอบจะถกู วาดเป็นรูปส่ีเหลี่ยมผนื ผา้ โดยมีช่องเสริมซอ้ นกนั ในแนวต้งั มุมมองระดบั สูงที่เป็นนามธรรมของ ส่วนประกอบใน UML 2 สามารถจาลองเป็นเพียงรูปส่ีเหล่ียมผืนผา้ ท่ีมีชื่อของส่วนประกอบและขอ้ ความและ / หรือไอคอน ตายตวั ของส่วนประกอบ ขอ้ ความตายตวั ของคอมโพเนนตค์ ือ«คอมโพเนนต»์ \"และไอคอน stereotype ของคอมโพเนนตค์ ือรูป สี่เหล่ียมผืนผา้ ที่มีรูปส่ีเหลี่ยมขนาดเลก็ สองอนั ยนื่ ออกมาทางดา้ นซา้ ย (องคป์ ระกอบสญั กรณ์ UML 1.4 สาหรับคอมโพเนนต)์ รูปท่ี 2 แสดงสามวธิ ีท่ีแตกตา่ งกนั ในการวาดส่วนประกอบโดยใชข้ อ้ กาหนด UML 2 รูปท่ี 2: วธิ ีตา่ งๆในการวาดช่องช่ือส่วนประกอบ วธิ ีต่างๆในการวาดช่องช่ือส่วนประกอบ เมื่อวาดส่วนประกอบบนไดอะแกรมส่ิงสาคญั คือคุณตอ้ งรวมขอ้ ความตายตวั ของส่วนประกอบ (คาวา่ \"ส่วนประกอบ\" ไวใ้ น วงเลบ็ สองมมุ ดงั แสดงในรูปที่ 2) และ / หรือไอคอน เหตุผล? ใน UML รูปส่ีเหลี่ยมผืนผา้ ท่ีไมม่ ีตวั จาแนกแบบตายตวั จะถกู ตีความวา่ เป็ นองคป์ ระกอบของคลาส องคป์ ระกอบตายตวั และ / หรือไอคอนแยกความแตกตา่ งของสี่เหลี่ยมน้ีเป็ นองคป์ ระกอบ ขององคป์ ระกอบ การสร้างโมเดลอนิ เทอร์เฟซของคอมโพเนนต์ที่ระบุ / จาเป็ น ส่วนประกอบคาสงั่ ที่วาดในรูปที่ 2 ท้งั หมดแสดงถึงองคป์ ระกอบสญั กรณ์ท่ีถกู ตอ้ ง อยา่ งไรก็ตามแผนภาพส่วนประกอบทว่ั ไปมี ขอ้ มลู เพิ่มเติม องคป์ ระกอบส่วนประกอบสามารถมีช่องเพ่ิมเติมซอ้ นกนั ดา้ นลา่ งช่องช่ือ ดงั ท่ีไดก้ ล่าวไวก้ ่อนหนา้ น้ี คอมโพเนนตค์ ือยนู ิตอิสระท่ีมีอินเทอร์เฟซสาธารณะอยา่ งนอ้ ยหน่ึงรายการ อินเทอร์เฟซท่ีจดั เตรียมไวแ้ สดงถึงสญั ญาอยา่ งเป็ น ทางการในการใหบ้ ริการท่ีส่วนประกอบใหก้ บั ผบู้ ริโภค / ลกู คา้ รูปที่ 3 แสดงคอมโพเนนต์ Order ที่มีช่องท่ีสองซ่ึงแสดงถึงสิ่งที่ เชื่อมตอ่ ที่คอมโพเนนต์ Order จดั เตรียมและตอ้ งการ (หมายเหตุ: แมว้ า่ ส่วนประกอบจะเป็ นหน่วยอสิ ระ แต่ก็ยงั อาจข้ึนอยกู่ บั บริการที่จดั เตรียมโดยส่วนประกอบอ่ืน ๆ ดว้ ยเหตุน้ีการบนั ทึกอินเทอร์เฟซที่จาเป็ นของคอมโพเนนตจ์ ึงมีประโยชน)์ รูปที่ 3: ช่องเพ่ิมเติมที่น่ีแสดงอินเทอร์เฟซท่ีคอมโพเนนตค์ าสงั่ จดั หาและตอ้ งการ ช่องเพิม่ เติมแสดงอินเทอร์เฟซที่คอมโพเนนตก์ ารสงั่ ซ้ือมีใหแ้ ละตอ้ งการ
9 ในตวั อยา่ งคอมโพเนนตค์ าสง่ั ท่ีแสดงในรูปท่ี 3 คอมโพเนนตม์ ีอินเทอร์เฟซของ OrderEntry และ AccountPayable นอกจากน้ี คอมโพเนนตย์ งั ตอ้ งการส่วนประกอบอื่นท่ีใหอ้ ินเตอร์เฟส Person (หมายเหตุ: รูปท่ี 3 ไมแ่ สดงคอมโพเนนต์ Order ในบริบทท่ี สมบูรณ์ในแบบจาลองที่ใชง้ านจริงอินเทอร์เฟซ OrderEntry, AccountPayable และ Person จะปรากฏในโมเดลของระบบ) อกี วธิ ีหนึ่งในการสร้างโมเดลอนิ เทอร์เฟซของส่วนประกอบ UML 2 ไดแ้ นะนาวธิ ีอื่นในการแสดงอินเทอร์เฟซที่ใหม้ าและจาเป็นของส่วนประกอบ วธิ ีที่สองน้ีสร้างจากรูปสี่เหล่ียมผนื ผา้ เด่ียวโดยมีช่ือของส่วนประกอบอยแู่ ละวางส่ิงท่ีขอ้ กาหนด UML 2 เรียกวา่ สญั ลกั ษณ์อินเทอร์เฟซ” เช่ือมตอ่ กบั ดา้ นนอกของ ส่ีเหลี่ยมผืนผา้ แนวทางที่สองน้ีแสดงในรูปที่ 4 รูปที่ 4: แนวทางอน่ื (เปรียบเทียบกบั รูปท่ี 3) เพอื่ แสดงอินเทอร์เฟซท่ีใหม้ า / จาเป็ นของส่วนประกอบโดยใชส้ ญั ลกั ษณ์ อินเตอร์เฟส ในแนวทางท่ีสองน้ีสญั ลกั ษณ์ของอินเทอร์เฟซที่มีวงกลมสมบูรณ์ที่ส่วนทา้ ยหมายถึงอินเทอร์เฟซที่คอมโพเนนตม์ ีให้ - สญั ลกั ษณ์ \"อมยมิ้ \" น้ีเป็ นชวเลขสาหรับความสมั พนั ธท์ ี่เป็นจริงของตวั จาแนกอินเทอร์เฟซ สญั ลกั ษณ์อินเทอร์เฟซท่ีมีเพยี งคร่ึง วงกลมท่ีปลาย (aka ซ็อกเก็ต) แสดงถึงอินเทอร์เฟซที่คอมโพเนนตต์ อ้ งการ (ในท้งั สองกรณีช่ือของอินเทอร์เฟซจะอยใู่ กลก้ บั สญั ลกั ษณ์อินเทอร์เฟซน้นั เอง) แมว้ า่ รูปที่ 4 จะดูแตกตา่ งจากรูปที่ 3 มาก แตต่ วั เลขท้งั สองกใ็ หข้ อ้ มลู ที่เหมือนกนั กลา่ วคือ คอมโพเนนต์ Order มีอินเทอร์เฟซสองแบบ: OrderEntry และ AccountPayable และส่วนประกอบ Order ตอ้ งการอินเทอร์เฟซ บุคคล การสร้างแบบจาลองความสัมพนั ธ์ของส่วนประกอบ เมื่อแสดงความสมั พนั ธ์ของคอมโพเนนตก์ บั คอมโพเนนตอ์ ่นื สญั กรณ์อมยมิ้ และซ็อกเกต็ ตอ้ งมีลกู ศรอา้ งอิงดว้ ย (ตามท่ีใชใ้ น คลาสไดอะแกรม) ในแผนภาพส่วนประกอบท่ีมีอมยมิ้ และซ็อกเกต็ โปรดสงั เกตวา่ ลูกศรพ่ึงพาออกมาจากซ็อกเกต็ ท่ีใช้ (ตอ้ งใช)้ และหวั ลูกศรเชื่อมต่อกบั อมยมิ้ ของผใู้ หบ้ ริการดงั แสดงในรูปที่ 5
10 รูปท่ี 5: แผนภาพส่วนประกอบท่ีแสดงใหเ้ ห็นวา่ ส่วนประกอบของระบบการสงั่ ซ้ือข้ึนอยกู่ บั ส่วนประกอบอ่ืน ๆ อยา่ งไร แผนภาพคอมโพเนนตท์ ่ีแสดงใหเ้ ห็นวา่ คอมโพเนนตร์ ะบบสง่ั ซ้ือข้ึนอยกู่ บั ส่วนประกอบอ่ืน ๆ อยา่ งไร รูปที่ 5 แสดงใหเ้ ห็นวา่ คอมโพเนนตร์ ะบบการสงั่ ซ้ือข้ึนอยกู่ บั ส่วนประกอบของที่เก็บลูกคา้ และระบบสินคา้ คงคลงั สงั เกตในรูป ท่ี 5 ชื่อท่ีซ้ากนั ของอนิ เทอร์เฟซ CustomerLookup” และ ProductAccessor” แมว้ า่ ส่ิงน้ีอาจดูซ้าซากโดยไม่จาเป็นในตวั อยา่ ง น้ีสญั กรณ์อนุญาตใหใ้ ชอ้ ินเทอร์เฟซที่แตกต่างกนั (และช่ือท่ีแตกตา่ งกนั ) ในแต่ละองคป์ ระกอบข้ึนอยกู่ บั ความแตกตา่ งของการ นาไปใชง้ าน (เช่นส่วนประกอบหน่ึงมีอินเทอร์เฟซที่เป็ นคลาสยอ่ ยของอินเทอร์เฟซท่ีตอ้ งการขนาดเลก็ กวา่ ) ระบบย่อย ใน UML 2 ลกั ษณนามของระบบยอ่ ยเป็ นเวอร์ชนั พิเศษของตวั จาแนกคอมโพเนนต์ ดว้ ยเหตุน้ีองคป์ ระกอบสญั กรณ์ระบบยอ่ ย จึงสืบทอดกฎเดียวกนั ท้งั หมดเป็นองคป์ ระกอบสญั กรณ์ ขอ้ แตกตา่ งเพียงอยา่ งเดียวคอื องคป์ ระกอบสญั กรณ์ระบบยอ่ ยมีคียเ์ วริ ์ด ของระบบยอ่ ย \"แทนที่จะเป็ นคอมโพเนนต\"์ ดงั แสดงในรูปท่ี 6 รูปท่ี 6: ตวั อยา่ งขององคป์ ระกอบระบบยอ่ ย ตวั อยา่ งขององคป์ ระกอบระบบยอ่ ย ขอ้ กาหนด UML 2 ค่อนขา้ งคลุมเครือวา่ ระบบยอ่ ยแตกตา่ งจากส่วนประกอบอยา่ งไร ขอ้ กาหนดไมป่ ฏิบตั ิตอ่ ส่วนประกอบหรือ ระบบยอ่ ยใด ๆ ท่ีแตกต่างจากมมุ มองการสร้างแบบจาลอง เมื่อเทียบกบั UML 1.x ความไมช่ ดั เจนของการสร้างแบบจาลอง UML 2 น้ีเป็ นเร่ืองใหม่ แตม่ ีเหตผุ ล ใน UML 1.x ระบบยอ่ ยถือเป็นแพก็ เกจและสญั กรณ์แพก็ เกจน้ีสร้างความสบั สนใหก้ บั ผปู้ ฏิบตั ิงาน UML จานวนมาก ดว้ ยเหตนุ ้ี UML 2 จึงจดั ระบบยอ่ ยใหเ้ ป็ นองคป์ ระกอบพเิ ศษเนื่องจากน่ีคือวธิ ีท่ีผใู้ ช้ UML 1.x
11 ส่วนใหญ่เขา้ ใจ การเปลี่ยนแปลงน้ีทาใหเ้ กิดความไม่ชดั เจนในภาพ แต่ความเลือนลางน้ีเป็ นการสะทอ้ นความเป็ นจริงมากกวา่ ความผิดพลาดในขอ้ กาหนด UML 2 ตอนน้ีคุณอาจจะเกาหวั สงสยั วา่ เม่ือใดควรใชอ้ งคป์ ระกอบคอมโพเนนตเ์ ทียบกบั องคป์ ระกอบระบบยอ่ ย ค่อนขา้ งตรงไปตรงมา ฉนั ไม่มีคาตอบโดยตรงสาหรบั คุณ ฉนั สามารถบอกคุณไดว้ า่ ขอ้ กาหนด UML 2 บอกวา่ การตดั สินใจวา่ จะใชส้ ่วนประกอบ เมื่อใดกบั ระบบยอ่ ยน้นั ข้ึนอยกู่ บั วธิ ีการของผสู้ ร้างแบบจาลอง ฉนั ชอบคาตอบน้ีเป็ นการส่วนตวั เพราะช่วยใหม้ นั่ ใจไดว้ า่ UML ยงั คงระเบียบวธิ ีการท่ีเป็นอิสระซ่ึงช่วยใหส้ ามารถใชง้ านไดใ้ นระดบั สากลในการพฒั นาซอฟตแ์ วร์ นอกเหนือจากพืน้ ฐาน แผนภาพคอมโพเนนตเ์ ป็ นหน่ึงในไดอะแกรมที่เขา้ ใจง่ายกวา่ ดงั น้นั จึงไมม่ ีอะไรจะครอบคลุมมากไปกวา่ พ้นื ฐาน อยา่ งไรกต็ าม มีพ้นื ท่ีหน่ึงที่คุณอาจพจิ ารณาข้นั สูง แสดงโครงสร้ างภายในของส่ วนประกอบ จะมีบางคร้ังที่ควรแสดงโครงสรา้ งภายในของส่วนประกอบ ในบทความก่อนหนา้ ของฉนั เก่ียวกบั แผนภาพคลาสฉนั ไดแ้ สดง วธิ ีการสร้างแบบจาลองโครงสร้างภายในของคลาส ในที่น้ีฉนั จะเนน้ ไปท่ีวธิ ีการสร้างแบบจาลองโครงสร้างภายในของ ส่วนประกอบเมื่อประกอบดว้ ยส่วนประกอบอ่ืน ๆ ในการแสดงโครงสร้างดา้ นในของส่วนประกอบคุณเพียงแคว่ าดส่วนประกอบใหใ้ หญก่ วา่ ปกติและวางชิ้นส่วนดา้ นในไวใ้ น ช่องชื่อของส่วนประกอบที่ลอ้ มรอบ รูปท่ี 7 แสดงโครงสร้างดา้ นในส่วนประกอบของ Store รูปท่ี 7: โครงสร้างดา้ นในของส่วนประกอบน้ีประกอบดว้ ยส่วนประกอบอ่ืน ๆ
12 แสดงโครงสร้างดา้ นในของส่วนประกอบประกอบดว้ ยส่วนประกอบอ่ืน ๆ จากตวั อยา่ งท่ีแสดงในรูปที่ 7 ส่วนประกอบ Store จดั เตรียมอินเทอร์เฟซของ OrderEntry และตอ้ งใชอ้ ินเทอร์เฟซของบญั ชี ส่วนประกอบ Store ประกอบดว้ ยส่วนประกอบสามส่วน ไดแ้ ก่ คาสงั่ ซ้ือลูกคา้ และส่วนประกอบของผลิตภณั ฑ์ สงั เกตวา่ สญั ลกั ษณ์อินเทอร์เฟซ OrderEntry และ Account ของ Store มีรูปส่ีเหลี่ยมจตั รุ ัสที่ขอบของส่วนประกอบอยา่ งไร จตั รุ ัสน้ีเรียกวา่ ท่าเรือ ในแง่ที่เขา้ ใจง่ายพอร์ตเป็นวธิ ีในการจาลองวา่ อินเทอร์เฟซท่ีใหม้ า / จาเป็นของคอมโพเนนตเ์ กี่ยวขอ้ งกบั ชิ้นส่วนภายใน อยา่ งไร (หมายเหตุ: ตามความเป็นจริงพอร์ตสามารถใชไ้ ดก้ บั ตวั จาแนกประเภทใด ๆ (เช่นกบั คลาสหรือตวั จาแนกอ่ืน ๆ ท่ี โมเดลของคุณอาจม)ี เพื่อใหบ้ ทความน้ีเรียบง่ายฉนั อา้ งถึงพอร์ตท่ีใชก้ บั ตวั แยกประเภทส่วนประกอบ) ดว้ ยการใชพ้ อร์ตแผนภาพของเราสามารถยกเลิกการจบั คูภ่ ายในของส่วนประกอบ Store จากเอนทิตภี ายนอกได้ ในรูปที่ 7 พอร์ต OrderEntry จะมอบสิทธ์ิใหก้ บั อินเทอร์เฟซ OrderEntry ของคอมโพเนนต์ Order สาหรับการประมวลผล นอกจากน้ี อินเทอร์เฟซบญั ชีที่จาเป็นของส่วนประกอบลูกคา้ ภายในยงั ถกู มอบหมายใหก้ บั พอร์ตอินเทอร์เฟซบญั ชีที่จาเป็ นของ ส่วนประกอบ Store ดว้ ยการเช่ือมต่อกบั พอร์ตบญั ชีภายในของส่วนประกอบ Store (เช่นส่วนประกอบของลูกคา้ ) สามารถมี ตวั แทนในพ้นื ที่ของเอนทิตีภายนอกที่ไม่รู้จกั ซ่ึงใชอ้ ินเทอร์เฟซของพอร์ต อินเทอร์เฟซบญั ชีท่ีจาเป็นจะถกู นาไปใชโ้ ดย ส่วนประกอบภายนอกส่วนประกอบ Store (หมายเหตุ: โดยทวั่ ไปเมื่อคุณวาดความสมั พนั ธ์แบบพ่ึงพาระหวา่ งพอร์ตและ อินเทอร์เฟซอินเทอร์เฟซท่ีตอ้ งพ่ึงพา (จาเป็น) จะจดั การตรรกะการประมวลผลท้งั หมดในเวลาดาเนินการอยา่ งไรก็ตามน่ีไมใ่ ช่ กฎท่ียากและรวดเร็ว - เป็ นท่ียอมรับอยา่ งสมบูรณ์สาหรับส่วนประกอบท่ีครอบคลุม (เช่นส่วนประกอบ Store ในตวั อยา่ งของ เรา) ที่จะมีตรรกะการประมวลผลของตวั เองแทนท่ีจะเป็ นเพียงการมอบหมายการประมวลผลไปยงั อนิ เทอร์เฟซท่ีข้ึนตอ่ กนั ) คุณจะสงั เกตเห็นในรูปท่ี 7 วา่ การเชื่อมตอ่ ระหวา่ งส่วนประกอบภายในน้นั แตกต่างจากท่ีแสดงในรูปท่ี 5 เนื่องจากการแสดง โครงสร้างภายในเหล่าน้ีเป็ นไดอะแกรมการทางานร่วมกนั ที่ซอ้ นอยภู่ ายในลกั ษณนาม (ในกรณีของเรา) เนื่องจากการทางาน ร่วมกนั ไดอะแกรมแสดงอินสแตนซห์ รือบทบาทของตวั แยกประเภท ความสมั พนั ธท์ ่ีจาลองข้ึนระหวา่ งส่วนประกอบภายในถูก วาดดว้ ยสิ่งท่ี UML เรียกวา่ ตวั เชื่อมตอ่ แอสเซมบลี” ข้วั ตอ่ แอสเซมบลีจะเชื่อมโยงอินเทอร์เฟซท่ีใหม้ าของคอมโพเนนตห์ น่ึงกบั อินเทอร์เฟซที่จาเป็ นของส่วนประกอบอื่น ตวั เช่ือมตอ่ ประกอบถูกวาดเป็ นสญั ลกั ษณ์อมยมิ้ และซ็อกเก็ตติดกนั การวาดตวั เช่ือม ตอ่ แอสเซมบลีเหลา่ น้ีในลกั ษณะน้ีทาใหส้ ญั ลกั ษณ์อมยมิ้ และซ็อกเกต็ อ่านง่ายมาก สรุป แผนภาพส่วนประกอบเป็ นแผนภาพท่ีสาคญั มากที่สถาปนิกมกั จะสร้างข้ึนในช่วงตน้ ของโครงการ อยา่ งไรกต็ ามประโยชนข์ อง แผนภาพคอมโพเนนตค์ รอบคลมุ ตลอดอายกุ ารใชง้ านของระบบ แผนภาพคอมโพเนนตม์ ีคา่ มากเน่ืองจากเป็นแบบจาลองและ จดั ทาเอกสารสถาปัตยกรรมของระบบ เน่ืองจากไดอะแกรมคอมโพเนนตบ์ นั ทึกสถาปัตยกรรมของระบบนกั พฒั นาและผดู้ ูแล ระบบในท่ีสุดของระบบจึงพบวา่ ผลิตภณั ฑง์ านน้ีมีความสาคญั ในการช่วยใหพ้ วกเขาเขา้ ใจระบบ
13 อ้างองิ 1. https://translate.google.com/translate?hl=th&sl=en&u=https://developer.ib m.com/articles/the-component-diagram/&prev=search&pto=aue 2. https://translate.google.com/translate?hl=th&sl=en&u=https://www.smartdr aw.com/component-diagram/&prev=search&pto=aue
Search
Read the Text Version
- 1 - 14
Pages: