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 รายงานเรื่องUML

รายงานเรื่องUML

Published by Zero No.0, 2021-02-19 04:10:48

Description: รายงานเรื่องUML

Search

Read the Text Version

รายงาน เรื่อง UML (Unified Modeling Language) จดั ทำโดย นายธนกร ดอนพรม เลขที่ 4 ปวส.1.1 6339010004 นายมังกร ปานฟัก เลขท่ี 5 ปวส.1.1 6339010006 นายธีรวฒั น์เดชแพ เลขท่ี 10 ปวส.1.1 6339010017 เสนอ ครูพวงมาลยั จันทรเสนา รายงานนีเ้ ป็นส่วนหนงึ่ ของการเรยี นรวู้ ิชาการวิเคราะห์และ ออกแบบเชิงวตั ถุ รหสั วิชา 30901-2002 ภาคเรยี นท่ี 2 ปีการศกึ ษา 2563 วทิ ยาลัยอาชีวศึกษาพิษณโุ ลก

คำนำ รายงานเร่อื ง UML (Unified Modeling Language) เปน็ ส่วนหนงึ่ ของวชิ าวชิ าการวิเคราะหแ์ ละ ออกแบบเชงิ วัตถุ รหัสวชิ า 30901-2002 มีวัตถปุ ระสงค์เพื่อการศกึ ษาโมเดลมาตรฐานท่ีใช้กับหลักการ ออกแบบ OOP (Object oriented programming) ซงึ่ รายงานฉบับน้ีมเี น้ือหาเกี่ยวข้องกับประเภทวชิ าการ วเิ คราะห์และออกแบบเชิงวัตถุ เพอื่ ใหไ้ ด้ศกึ ษาหาความรู้ในเรือ่ ง UML (Unified Modeling Language) และได้ศกึ ษาอย่างเขา้ ใจเพ่ือเป็นประโยชนก์ ับการเรียน ผู้จดั ทำหวงั วา่ รายงานเลม่ นจ้ี ะเป็นประโยชนก์ ับผู้อ่าน หรือนักเรียน นกั ศึกษา ทกี่ ำลงั หาขอ้ มูลเร่ือง นอ้ี ยู่หากมีข้อแนะนำหรอื ข้อผิดพลาดประการใด ผ้จู ัดทำขอนอ้ มรับไวแ้ ละขออภัยมาณ ที่นด้ี ้วย คณะผู้จดั ทำ 20 ม.ค. 64

สารบัญ หนา้ เรื่อง 1 คำนำ 1 สารบัญ 1 UML Unified Modeling Language 2 ประโยชน์ของยเู อ็มแอล (UML Advantage) 6 ทำไมต้อง UML (Why UML?) 8 Thing(สว่ นประกอบของ UML) 13 Relationship(รูปแบบความสมั พันธ์) Diagram บรรณานุกรม

1 UML Unified Modeling Language UML คือ โมเดลมาตรฐานที่ใชก้ ับหลักการออกแบบ OOP (Object oriented programming) รูปแบบของภาษา UML จะมี Notation ซึง่ เป็นสญั ลกั ษณ์ท่นี ำไปใชใ้ น Model ต่างๆ UMLจะมขี ้อกำหนดกฏระเบยี บตา่ งๆ ในการโปรแกรม โดยกฎระเบยี บต่างๆ จะมี ความหมายต่อการเขยี นโปรแกรม(Coding) ประโยชนข์ องยเู อ็มแอล (UML Advantage) 1. วงจรการพัฒนาท่ีสั้นทส่ี ดุ (Shortest Development life cycle) 2. เพ่มิ ผลผลิต (Increase productivity) 3. ปรับปรุงคณุ ภาพซอฟต์แวร์ (Improve software quality) 4. สนบั สนนุ ระบบสืบทอดมรดก (Support legacy system) 5. ปรบั ปรงุ การเช่อื มต่อทีมงาน (Improve team connectivity) ทำไมต้อง UML (Why UML?) 1. UML สามารถแสดงสว่ นประกอบในการสร้างProject ในรปู ของ OOP 2. เชื่อมแนวคิดกบั การออกแบบระบบโดยใชร้ หัสเชิงวตั ถุ (Object Oriented Code) 3. งา่ ยตอ่ การทำความเข้าใจและสามารถแปลงเปน็ ภาษาคอมพิวเตอร์ (Computer Language)

2 Thing(ส่วนประกอบของ UML) 1.Class เปน็ สิ่งที่ใชอ้ ธบิ ายกลมุ่ ของ object หรือ method ท่ีมคี ุณสมบตั ิ การทำงาน และความสมั พนั ธท์ ี่เหมือนกนั โดยสญั ลักษณท์ ใี่ ชว้ าด Class จะแบง่ เปน็ 3 สว่ นคือ ช่อื คลาส (Name), แอตทริบรวิ ต(์ Attribute) และโอเปอรเ์ รชัน(Operation) ตัวอย่างสัญลักษณค์ ลาส << คำอธิบายลกั ษณะวตั ถุ >> ชว่ ยอธิบายลักษณะเฉพาะ ของวตั ถุ (Object) เชน่ utility, redirect, build, link, target link, include, communicate 2.Interface เป็นการนำ operation หรอื method ต่าง ๆ มาจดั กลุ่มเปน็ collection โดยกลมุ่ ของ operation หรอื interface จะทำหน้าท่ีอธิบายพฤติกรรมของ element หรือ method ทีใ่ ชใ้ น interface อาจเปน็ การอธิบายบางส่วน หรอื ท้ังหมด สัญลักษณ์ของ Interface ตวั อย่างการใชง้ าน interface

3 3.Collaboration การรวมเปน็ กลมุ่ ขององคป์ ระกอบย่อยทีส่ มั พันธ์ ใชก้ ำหนดบทบาท และปฏสิ มั พันธ์ที่ element หรือ method มีตอ่ กัน เป็นการหาพฤติกรรมในภาพรวม ของกลมุ่ ของ element ใน class หน่งึ ๆ อาจมไี ดห้ ลาย collaboration เช่น collaboration ของ การลงทะเบยี น สัญลักษณ์ของ Collabaration 4.Use case ลำดับการปฏบิ ัติการของผ้กู ระทำ ใช้อธิบาย action ทเ่ี กดิ ขน้ึ โดยเรียก ผูก้ ระทำ action วา่ actor สำหรับช่ือของ use case ท่เี ขียนในรูปวงรี มกั เปน็ กิจกรรม เชน่ ซือ้ ขาย ยมื คืน พิมพ์รายงานยอดค้างชำระ จ่ายค่าปรับ เปน็ ต้น สัญลักษณ์ use case 5. Active class คลาสทส่ี ามารถเริ่มthread หรอื process class ท่ี object ใน class มีมากกว่า 1 process หรือมากกวา่ 1 thread สามารถวาดสญั ลกั ษณ์ได้ เหมือนกับ class แตเ่ ส้นรอบ class วาดดว้ ยเส้นทีห่ นากวา่ ตวั อย่าง Active Class

4 6. Component แพกเกจของคลาสอาจมาในรปู คลาส อินเทอร์เพส หรือคลอราโบเรชั่นเป็น ส่วนประกอบทม่ี ตี ัวตนจรงิ (Physical things) ไมใ่ ช่ thing ท่ีเปน็ logical thing แบบ thing ที่ กลา่ วมาข้างตน้ เพราะ Component เปน็ ส่ิงทีม่ ีในระบบ เชน่ COM+, Java beans หรอื ไฟล์ ทีเ่ ป็น source code เป็นต้น สัญลกั ษณ์ Component 7. Node องค์ประกอบขณะประมวลผลเปน็ element ทเ่ี กิดข้ึนในช่วง runtime เท่าน้ัน โดยแสดงขนาดของทรัพยากร เชน่ หน่วยความจำ หรือความสามารถในการ ประมวลผล เป็นต้น สัญลกั ษณ์ node 8. Interaction กรยิ าของขา่ วสารระหว่างวัตถุ เป็นพฤติกรรมของ object ที่มกี าร แลกเปลี่ยนข่าวสาร(Messages) สำหรับสงิ่ ทต่ี อ้ งคำนึงถงึ ในการใช้ interaction คือ จำนวนของ element ข่าวสารทส่ี ง่ ถงึ กัน และลำดบั การทำงาน เป็นตน้ สัญลักษณ์Interaction

5 9. State machine สถานะของลำดบั และวตั ถุ เปน็ พฤติกรรมท่ีบอกให้ทราบลำดบั ขั้นตอนของ state ที่ object ตอบสนองต่อ เหตุการณ์ตา่ ง ๆ สัญลกั ษณ์ State 10. Package กลุ่มก้อนทห่ี อ่ รวมกนั อย่างมโี ครงสรา้ งและพฤติกรรม Grouping things คือการนำสว่ นประกอบตา่ ง ๆ มารวมกันภายใตเ้ งอื่ นไขบางประการ โดย เรยี กกลุม่ ๆ นี้ว่า Package สญั ลักษณ์ Package 11.Note หรอื Page ส่วนอธบิ าย หรอื หมายเหตเุ ป็นสว่ นอธบิ ายรายละเอยี ดของ UML ซึ่งเป็น หมายเหตุ เพ่ือใชอ้ ธิบาย element อื่น ๆ ใน model สามารถใช้ Note กับ Model ใด ๆ กไ็ ด้ หรือใชแ้ สดงความสัมพนั ธข์ อง page สญั ลักษณ์ Note หรือ Page

6 Relationship(รูปแบบความสัมพนั ธ)์ 1. Dependency ความสัมพนั ธ์เชงิ ความหมาย สนใจเร่อื ง ความสัมพันธข์ องความหมาย เม่ือ thing หนึ่งเกิดการ เปล่ียนแปลงจะส่งผลกระทบตอ่ อีก thing หนึ่ง เช่น ความสมั พนั ธ์ของการรบั คำสงั่ ซ้ือของลกู ค้า และการจดั ซื้อวัตถุดิบ เป็นต้น สัญลักษณ์ Dependency ตัวอย่างความสัมพนั ธแ์ บบ dependency 2. Realization ความสัมพันธเ์ ชงิ ความหมาย ระหวา่ ง interfaces กับ class เป็น ตน้ ตัวอย่างความสัมพนั ธแ์ บบ Realization เส้นความสมั พันธ์แบบ Realization 3. Association หรือ ความสมั พนั ธ์จะแสดงถงึ ความสัมพันธ์ระหวา่ ง Object ความสัมพนั ธ์ น้ียงั สามารถแยกออกเปน็ ความสัมพันธแ์ บบธรรมดา ความสมั พันธ์แบบ Aggregration , Composite ทิศทางความสัมพนั ธ์ นอกจากนน้ั ยังสามารถกำหนด multiplicity ให้กบั ความสัมพันธ์ไดอ้ ีกด้วย

7 Aggregration –เป็นความสัมพนั ธแ์ บบ whole/part relationship ทส่ี ามารถแยกจาก กนั ได้ หมายความว่า มีสว่ นหนงึ่ เป็น whole และสว่ นหนึง่ เปน็ part ที่สามารถแยกออก จากกันแล้วทำงานของตวั เองได้ สัญลกั ษณ์ที่ใช้ Composition – เป็นความสมั พันธ์แบบ whole/part relationship แบบท่ี part ถูก ควบคุมโดย whole คือ เม่อื part ถกู แยกออกจาก whole มันก็จะหมดประโยชน์ไป ในทันที สญั ลกั ษณ์ท่ีใช้ 4. Generalization ความสมั พนั ธ์เชิงสบื ทอด ซึ่งเป็นความสัมพันธข์ องแม่กับลูก อาจสืบทอดพฤติกรรม หรือ โครงสร้างของแม่ มาใชใ้ นลกู หรือการสบื ทอดคุณสมบตั ิ (Inheritance) สัญลักษณ์ความสัมพนั ธแ์ บบ Generalization ตวั อยา่ งความสัมพนั ธ์แบบ Generalization

8 Diagram 1. Deployment Diagram เป็นเคร่ืองมือท่ีใชใ้ นการทำการออกแบบ ระบบสถาปตั ยกรรม ของ Hardware/Software ตลอดจนความสมั พนั ธ์ระหว่าง hardware/software ซง่ึ Deployment Diagram เปน็ Diagram ท่มี ลี ักษณะเหมือนกับ Class Diagram โดย สว่ นประกอบทาง Hardware (Hardware Module) ตวั หนง่ึ ๆ ใน Deployment Diagram ก็จะเปรียบเทียบได้กับ Class หนึ่ง ใน Class Diagram น่นั เอง ตัวอย่าง Deployment Diagram

9 2. Use case Diagram ในการพฒั นาระบบงานใดๆ นั้น การเก็บรวบรวมความต้องการของผู้ใชม้ คี วามสำคญั มาก และ จะทำในระยะแรกๆ ของการพฒั นาระบบงานเสมอ Use case diagram เปน็ Diagram ท่ที ำ หน้าท่ี Capture requirement • เปน็ เทคนิคในการสร้างแบบจำลองเพื่อใช้อธบิ ายหน้าที่ของระบบใหม่ หรือระบบปัจจบุ ัน • กระบวนการสรา้ ง Use case เป็นแบบวนซ้ำ Iteration • ความต้องการของระบบจะได้จาก ลูกคา้ /ผูใ้ ช้ + ผูพ้ ัฒนาระบบ • องคป์ ระกอบจะมี Use case, Actor, Use case Relation และ System ตัวอย่าง Use case diagram

10 3. Class diagram Class Diagram ประกอยด้วย Class และความสมั พนั ธ์ระหว่าง Class เช่น Dependency, Generalization, Association เปน็ ตน้ Class Diagram สามารถ แสดงรายละเอยี ดว่ามี Method และ Attribute อยา่ งไร ตวั อยา่ ง class diagram 4. Sequence Diagram จะแสดงลำดับการทำงานของระบบ โดยมี Object และ เวลาเปน็ ตัวกำหนดลำดับของงาน และเนน้ ไปที่ instant ของ Object Sequence Diagram เป็น Diagram ซึ่งแสดงปฏสิ มั พนั ธ(์ Interaction) ระหวา่ ง Object ตามลำดบั ของเหตุการณ์ทเ่ี กดิ ข้นึ ณ เวลาทกี่ ำหนด message ทเี่ กดิ ขนึ้ ระหวา่ ง class จะสามารถ นำไปสกู่ ารสร้าง method ใน class ทเี่ ก่ียวข้องได้ ตัวอยา่ ง Sequence Diagram

11 5. Collaboration Diagram ทำหนา้ ทเ่ี ชน่ เดียวกบั Sequence diagram แตร่ ูปแบบ และลักษณะการเขียนจะต่างกัน หรอื อาจกล่าวไดว้ ่า Collaboration diagram ก็คือรูป อีกรปู แบบหน่ึงของ Sequence diagram ตวั อย่าง Collaboration Diagram 6. State Diagram ประกอบดว้ ย State ต่างๆ ของ Object และเหตกุ ารณ์ต่างๆ ทีท่ ำ ให้สถานะของ Object เปลยี่ นและการกระทำทีเ่ กดิ ข้นึ เมอ่ื สถานะของระบบเปลย่ี นไป สามารถบอกสถานะของ Object ได้ โดยจะให้ความสนใจว่า ณ เวลาใดๆ Object นั้นมี status เป็นแบบใด ตวั อย่าง State Diagram

12 7. Activity Diagram แสดงลำดับ กจิ กรรมของการทำงาน(Work Flow) สามารถแสดง ทางเลือกทเี่ กิดขึ้นได้ Activity Diagram จะแสดงข้นั ตอนการทำงานในการปฏิบัตกิ าร โดย ประกอบไปด้วยสถานะต่างๆ ทเ่ี กดิ ขน้ึ ระหวา่ งการทำงาน และผลจากการทำงานใน ขน้ั ตอนตา่ ง ๆ วงกลมสีดำ คอื จุดเริ่มต้นเรยี ก Initial State วงกลมสดี ำมีวงล้อมอกี ชน้ั คือ จุดสิ้นสดุ เรยี ก Final State 8. Component Diagram เป็น Diagram ซงึ่ แสดงโครงสรา้ งทางกายภาพของ Software โดยจะประกอบด้วยองค์ประกอบซ่ึงอยู่ในรูปตา่ งๆ เชน่ Binary, text และ executable ภายใน Component Diagram ก็จะมีความสมั พนั ธแ์ สดงอย่เู ชน่ เดยี วกบั Class Diagram, Object Diagram ตัวอย่าง Component Diagram

13 บรรณานุกรม ขอบคุณเว็บไซต์ http://www.narisa.com/forums/index.php?showtopic=18749 ขอบคุณเวบ็ ไซต์ http://www.itmelody.com/tu/uml1.html ขอบคุณเวบ็ ไซต์ http://www.thaiall.com/uml/indexo.html


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