วันพฤหัสบดีที่ 28 สิงหาคม พ.ศ. 2551

UML

หลังจากที่เข้ามาทำงานที่นี่ เรื่องแรกที่ไ้ด้ศึกษาก็คือ UML ก็เลยเอามาให้ทุกคนได้อ่านกัน

UML(Unified Modeling language) เป็นโมเดลมาตรฐานที่ใช้การออกแบบ OOP
UML จะมี Notation ซึ่งเป็นสัญลักษณ์ที่นำไปใช้ใน Model ต่างๆ UMLจะมีข้อกำหนดกฏระเบียบต่างๆ ในการโปรแกรม โดยกฎระเบียบต่างๆ จะมีความหมายต่อการเขียนโปรแกรม(Coding) ดังนั้นการใช้ UML จะต้องทราบความหมายของ Notation ต่างๆ
UML ประกอบด้วย 3 ส่วนคือ Things, relationships และ Diagrams

1. Things มี 4 ประเภท คือ Structural things, Behavioral things, Group things และ Annotational things
1.1 Structural things แบ่งออกเป็น
Logical things ได้แก่ class, interface, collabration, use case, active class
class เป็นส่วนที่อธิบายส่วนของ object ที่มีคุณสมบัติการทำงานและความสัมพันธ์ที่เหมือนกัน
interface เป็นการนำ operation หรือ method ต่าง ๆ มาจัดกลุ่มเป็น collection ทำหน้าที่อธิบายพฤติกรรมของ element หรือ method ที่ใช้ใน interface

collabration เป็นส่วนที่ใช้กำหนดบทบาท พฤติกรรมที่ method มีต่อกัน
use case เป็นส่วนที่ใช้อธิบาย การกระทำที่เกิดขึ้น เรียกว่า action และผู้ที่กระทำ action เรียกว่า actor
active class เป็น class ที่ object ใน class มีมากกว่า 1 process

physical things ได้แก่ Component, Node
Component แพกเกจของคลาสอาจมาในรูปคลาส อินเทอร์เพส หรือคลอราโบเรชั่น

Node เป็น element ที่เกิดขึ้นในช่วง runtime จะแสดงขนาดของหน่วยความจำ ความสามารถในหารประมวลผล

1.2 Behavioral things
Interaction พฤติกรรมของ objectที่มีการส่ง message ระหว่างกัน
State machine พฤติกรรมที่บอกให้รู้ ลำดับของ state ของobject ที่ตอบสนองต่อเหตุการณ์
1.3 Group things
package เป็นการนนำส่วนประกอบต่างๆมารวมกันตามเงื่อนไข
1.4 Annotational things
Note เป็นส่วนของหมายเหตุที่ใช้อธิบาย UML
2. Relationship
แบ่ง 3 ประเภท คือ Meaning, Structural และ Generalized/Specialized
2.1
Meaning
Dependency เป็นความสัมพันธ์เชิงความหมายระหว่าง things เมื่อ things หนึ่งเปลี่ยนแปลงจะส่งผลกับอีก things ด้วย
Realization เป็นความสัมพันธ์ระหว่าง Interface กับ class
2.2 Structural
Association เป็นความสัมพันธ์ที่ใช้อธิบายการเชื่อมโยงของวัตถุ ได้แก่ความสัมพันธืแบบ one-to-one หรือ one-to-many

2.3 Generalized/Specialized
Generalization เป็นความสัมพันธ์ที่สืบทอดพฤติกรรมหรือโครงสร้างจากแม่มายังลูก

3. Diagrams แบ่ง 6 ประเภท คือ Use case, Static strucure, Interaction, State, Activity และ Implementation
3.1
Use case เป็การสร้างแบบจำลองเพื่อใช้อธิบายระบบ
3.2 Static strucure
class จะประกอบด้วย class และ relationship ระหว่าง class
Class Diagram สามารถแสดงรายละเอียดของ Method และ Attribute

object ประกอบด้วย Object และ Relation ระหว่าง Object โดยแต่ละ Object จะแสดง Instance ของแต่ละ class ที่มีในระบบ และความสัมพันธ์ระหว่าง Class
3.3 Interaction
Se
quence Diagram จะแสดงลำดับการทำงานของระบบ โดยมี Object และ เวลาเป็นตัวกำหนดลำดับของงาน

Collaboration Diagram แสดงลำดับการทำงานของ วัตถุ ผู้เกี่ยวข้อง และกิจกรรม โดยลำดับการทำงาน ไม่ขึ้นกับเวลา
3.4 State Diagram ประกอบด้วย State ต่างๆ ของ Object และเหตุการณ์ต่างๆ ที่ทำให้สถานะของ Object เปลี่ยนและการกระทำที่เกิดขึ้นเมื่อสถานะของระบบเปลี่ยนไป
3.5 Activity Diagram แสดงลำดับ กิจกรรมของการทำงาน(Work Flow) สามารถแสดงทางเลือกที่เกิดขึ้นได้ จะแสดงขั้นตอนการทำงานในการปฏิบัติการ โดยประกอบไปด้วยสถานะต่างๆ ที่เกิดขึ้นระหว่างการทำงาน และผลจากการทำงานในขั้นตอนต่าง ๆ
3.6 Implementation
component แสดงโครงสร้างทางกายภาพของ Software
deployment เป็นสิ่งที่สามารถทำการแสดงระบบสถาปัตยกรรมของ Hardware/Software ตลอดจนความสัมพันธ์ระหว่าง hardware/software

เรื่องของ UML ที่จะเสนอก็คงมีเท่านี้ อาจจะไม่ค่อยละเอียดนัก ถ้าใครอยากรู้จักกับ UML มากกว่านี้ ก็ลองหาอ่านกันดูนะคะ


1 ความคิดเห็น: