แนะนำเว็บ ความรู้เกี่ยวกับ UML

ห้องนี้ของบัณฑิตเฟรชชี่ เมื่อปีที่แล้ว

Moderators: Spadez, Mahhow

แนะนำเว็บ ความรู้เกี่ยวกับ UML

Postby bigaun » Tue Jul 03, 2007 5:26 pm

UML คือ โมเดลมาตรฐานที่ใช้หลักการออกแบบ OOP (Object oriented programming) รูป แบบของภาษา UML จะมี Notation ซึ่งเป็นสัญลักษณ์ที่นำไปใช้ใน Model ต่าง ๆ UMLจะมีข้อกำหนดกฎระเบียบต่าง ๆ ในการโปรแกรม โดยกฎระเบียบต่าง ๆ จะมีความหมายต่อการเขียนโปรแกรม ดังนั้นการใช้ UML จะต้องทราบความหมายของ Notation ต่าง ๆ เช่น Generalize, association dependency class และ package สิ่งเหล่านี้มีความจำเป็นอย่างยิ่งต่อการตีความของการออกแบบและ Design ระบบ ก่อนนำไป Implement ระบบงานจริง ในปัจจุบันมีเครื่องมือมากมายที่สามารถแปลง Model UML เป็น Code ภาษาต่าง ๆ ยกตัวอย่าง เช่น ภาษา Java, Power builder และ VB เป็นต้น
หลักการพัฒนาระบบเชิงวัตถุ ประกอบด้วยกลุ่มของวัตถุ (Object) ที่ทำงานร่วมกันโดยแบ่งบทบาทหน้าที่ความรับผิดชอบออกเป็นกลุ่ม ๆ ที่เรียกว่า คลาส (class) แต่ละคลาสจะมีสถานะ (state) รวมทั้งพฤติกรรม (behavior) ตามบทบาทของตน โดย UML ณ ที่นี้จะประกอบด้วย

1. Use-case diagram ประกอบด้วย Actor, use-case และ relationship โดย
- Use-caseใช้สัญลักษณ์รูปวงรีที่แสดงหน้าที่ต่าง ๆ ของระบบ
- Actor ใช้สัญลักษณ์รูปภาพ คือผู้ที่เกี่ยวข้องกับระบบเป็นองค์ประกอบที่แสดงถึงตัว entity ที่อยู่ภายนอกระบบ และแสดงความสัมพันธ์กับ Use-case
- Relationship แสดงความสัมพันธ์ระหว่าง use-case กับ use-case, use-case กับ actor, actor กับ actor

2. Class diagram
สิ่งที่เป็นผลผลิตที่ได้จากขั้นตอนการออกแบบระบบ โดยจะใช้อธิบายมุมมองเชิง Static View หรือ Static Structure ของระบบที่เรากำลังจะพัฒนานั้น ในแง่ของรายละเอียดของการแก้ปัญหา (Software Solution ) ของระบบ มากกว่าจะอธิบายสภาพหรือลักษณะปัญหาที่พบของระบบดังกล่าว (Problem domain) กล่าวคือ จะอธิบายว่าระบบนั้นถูกแก้ปัญหาอย่างไร มีรายละเอียดและหนทางแก้ปัญหาอย่างไรบ้าง ซึ่งสิ่งดังกล่าวก็ล้วนเกิดจากการกำหนดขึ้นมาโดยผู้พัฒนาระบบนั้นเอง (Artifact) ซึ่งเราเรียกว่าข้อกำหนดขององค์ประกอบภายในระบบ หรือเรียกว่า Specification of Software Class นั่นเอง
Class ใช้แสดง Class ต่าง ๆ ที่มีอยู่ในระบบ ซึ่งเป็นจะประกอบด้วย
- ชื่อของ Class
- Attribute ของ class หรือ คุณสมบัติของ Class
- Operation ของ Class หรือ พฤติกรรมของ Class


3. Sequence diagram
คือบทบรรยายรายละเอียดการทำงานภายใน Use Cases ใด ๆ ด้วยภาพนั้นเอง ซึ่งจะ เป็น ภาพหรือสัญลักษณ์ที่แสดงถึงการโต้ตอบกันระหว่างผู้ใช้ (Actor) กับระบบที่กำลังพัฒนา (System) ในลักษณะของการร้องขอบริการ ของ Actor) และการตอบสนอง (ของ System) ตามลำดับของเหตุการณ์ก่อน-หลัง โดยที่ตัว Sequence Diagram เองจะแสดงถึงกลุ่มของ Object ต่างๆ ที่ต้องทำงานร่วมกัน (Collaboration) เพื่อให้บรรลุเป้าหมายการทำงานของ Use Cases หนึ่ง ๆ ทั้งนี้การโต้ตอบระหว่าง Object หรือ Actor กับ Object จะอยู่ในลักษณะของผู้ส่งข่าว (Sender Object) กับผู้รับข่าวสาร (Received Object) ตามลำดับ ส่วนข่าวสาร (Message) ที่จะส่งหากันนั้นจะใช้เส้นลูกศรหัวสีดำทึบแสดงถึงการกำหนดชื่อกำกับเส้นลูกศรดังกล่าวด้วยเพื่อแสดงให้เห็นความหมายของข่าวสาร (Message) ดังกล่าว ว่าจะให้ Object ที่รับข่าวสาร (Message) นั้นทำหรือปฏิบัติอะไร
วัตถุประสงค์ของ Sequence Diagram เพื่อแสดงหรือบรรยายการทำงานโต้ตอบกันระหว่างผู้ใช้ระบบ (Actor) กับระบบ (System) ในลักษณะของภาพหรือสัญลักษณ์ ในลักษณะตามลำดับเหตุการณ์ก่อน-หลัง ซึ่งสิ่งเหล่า นี้จะมีประโยชน์ในการกำหนดหรือสร้าง Class ของกลุ่ม Object ที่มีใน Sequence diagram ตลอดจนพฤติกรรม (Behavior) หรือ Method ที่กลุ่มของ Object หรือ Class จำเป็นต้องมีในการทำงานให้บรรลุวัตถุประสงค์ของการสร้าง Class นั้นขึ้นมาใช้งานภายในระบบที่กำลังพัฒนานั้นคือ

1. Boundary Class
จะเป็นพวกฟอร์ม Class ในการรอรับข้อมูลจากผู้ใช้หรือ
รายงานที่ผู้ใช้สั่งพิมพ์ออกมาทางหน้าจอ เป็นต้น สำหรับสัญลักษณ์ของมันก็จะมีลักษณะเป็น
2. Entity Class
จะเป็นพวก Class หรือกลุ่มของ Object ที่ต้องมีการจัดการเก็บไว้อย่างถาวร (Persistence Data)ในระบบ หรือ พูดง่ายๆ คือ ข้อมูลที่ถูกเก็บไว้ในแฟ้มนั้นเอง สำหรับสัญลักษณ์ของ Entity Class จะจะมีลักษณะเป็นรูป
3. Controller Class
จะเป็นพวก Class ที่มีหน้าที่เป็นผู้ติดต่อ ประสานงาน ระหว่างชนิดของ Class ในข้อ 1. และข้อ 2. ตามลำดับหรือพูดง่าย คือเป็นนายหน้าในการที่ทำให้ ทั้ง Boundary Class และ ตัวEntity Class ทำงานร่วมกันได้นั่นเอง


ข้อความข้างบนนำมาจาก
www.cs.buu.ac.th/~47230133/pj/%E0%CD%A1 ... 7%B7%D5%E8)/%BA%B7%B7%D5%E8%202.doc -



ข้อมูลเพิ่มเติม ***เว็บเกี่ยวกับ uml ลองเข้าไปหาความรู้ในเว็บกันนะครับ อาจจะนำไปใช้ทำ assign ได้

เว็บของไทย
http://www.thaiabc.com/uml/indexo.html
http://www.itmelody.com/tu/uml1.htm


เว็บของต่างประเทศ
http://www.agilemodeling.com/artifacts/ ... iagram.htm
http://www.agilemodeling.com/style/useCaseDiagram.htm
User avatar
bigaun
Moderators
 
Posts: 2022
Joined: Wed Jun 22, 2005 3:13 pm
Location: Live in webboard

Postby HolyShadow » Fri Jul 06, 2007 11:28 pm

ขอบคุณค๊าบ เพ่อั๋น
User avatar
HolyShadow
Administrator
 
Posts: 2024
Joined: Sun May 28, 2006 11:40 pm


Return to Com-Sci#49 (CS รุ่น21)

Who is online

Users browsing this forum: No registered users and 1 guest

cron