Professional Documents
Culture Documents
Design With UML
Design With UML
Design With UML
แนวคิดเชิงวัตถุ(Object Oriented)
• แนวคิดเชิงวัตถุ(Object Oriented) หมายถึง การใช้ Object
เป็ นตัวหลักในการพิจารณาความเป็ นจริงต่างๆที่เกิดขึ้นในโลก
โดยมองทุกสิ่งในโลกเป็ นวัตถุทัง้ หมด และมองว่ากิจกรรมที่เกิด
ขึ้นในโลกนี้เกิดจากความสัมพันธ์และปฏิสัมพันธ์ระหว่างวัตถุ
ตารางเปรียบเทียบการวิเคราะห์และออกแบบระบบวิธีเดิมกับวิธีเชิง
วัตถุ
วิธีเดิม วิธีเชิงวัตถุ
เริ่มต้นจากการวิเคราะห์ เริ่มต้นการวิเคราะห์จาก
เอกสารผลลัพธ์ และการ Objects ที่ สามารถเห็นได้
ทำางานของระบบงานเดิม
ชัดเจน
แตกการทำางานออกเป็ น แบ่งกลุ่มของ Object ตาม
หน่ วยย่อยๆ
คุณลักษณะ
องค์ประกอบต่างๆของระบบ แต่ละ Object เป็ นอิสระต่อ
เช่น การประมวลผล การ
กัน การเปลี่ยนแปลงจะไม่
ออกรายงาน การคำานวณ จะ
กระทบกัน
เกี่ยวพันกัน การ
เปลี่ยนแปลงจะกระทบซึ่ง
กันและกัน
การปรับเปลี่ยนระบบต้อง การปรับเปลี่ยนระบบ ทำาได้
แก้ไข Source Code โดยการเปลี่ยน Attributes,
Functions ของ Object
Tools ที่สนั บสนุนมีน้อยลง Tools ที่สนั บสนุนมีมากขึ้น
วัตถุ (Objects)
• วัตถุ (Object) คือหน่ วยสนใจของระบบที่ทำาให้เกิดเหตุการณ์
วัตถุเป็ นได้ทัง้ สิ่งที่สามารถจับต้องได้ (เช่น โต๊ะ รถยนต์
คอมพิวเตอร์ คน) และวัตถุท่ีไม่สามารถจับต้องได้ (เช่น บริษัท
ฝ่ ายต่างๆ หลักสูตร)
• การสื่อสารระหว่าง Object เรียกว่า Message
คลาส (Class)
• Class คือกลุ่มของ Object ที่มีโครงสร้างพื้นฐานพฤติกรรม
เดียวกัน Object ที่มีคุณสมบัติเดียวกัน ก็จะรวมกลุ่มอยู่ใน
Class เดียวกัน
• Class และ Object มีความคล้ายกันมากจนทำาให้หลายคนสงสัย
ว่าเป็ นสิ่งเดียวกันหรือไม่ ในความเป็ นจริง Class ถือว่าเป็ น
นามธรรม (Abstract) ในขณะที่ Object นั ้นเป็ นสิ่งที่มีตัวตน
(Concrete) กล่าวคือ Class เป็ นเหมือนพิมพ์เขียวของ Object
โดยที่ Class จะไม่สามารถทำางานได้ แต่ Object สามารถทำางาน
ได้
• การทำางานของ Object จะเป็ นไปตามคุณสมบัติท่ีกำาหนดไว้ใน
Class และ Object ทุกตัวก็ต้องอยู่ใน Class ดังนั ้น Class และ
Object จึงเป็ นสิ่งคู่กันเสมอ
• Class นอกจากจะมีช่ ือ Class กำากับแล้ว ยังมี คุณสมบัติ
(Attributes) และ หน้ าที่การทำางาน (Operations หรือ
Methods)
การสืบทอดคุณสมบัติ (Inheritance)
Multiple Inheritance
การสืบทอดคุณสมบัติ (Inheritance)
With Inheritance
Without Inheritance
การสืบทอดคุณสมบัติ (Inheritance)
• หลักของการสืบทอดคุณสมบัติจะทำาให้ความสัมพันธ์ระหว่าง
Object มีความชัดเจนยิ่งขึ้น กล่าวคือถ้ามีความสัมพันธ์ท่ีชัดเจน
มากขึ้นเท่าใด จะส่งผลให้การออกแบบระบบงานง่ายขึ้น
• ผู้ออกแบบระบบงานเชิงวัตถุสามารถการออกแบบระบบงาน
ขนาดใหญ่ได้โดยการอาศัย Object ที่มก ี ารนิ ยามไว้ก่อนหรือที่มี
ผู้อ่ ืนทำาการออกแบบไว้ก่อนแล้ว ซึ่งเป็ นที่มาของการนำ ากลับมา
ใช้ใหม่ (Reusability)
ข้อดีของการสืบทอดคุณสมบัติ
• การสืบทอดคุณสมบัติมีข้อดี คือ
o ทำาให้มีโครงสร้างที่เป็ นระบบ สามารถปรับเปลี่ยนได้ง่าย
o ลดเวลาในการพัฒนาระบบ
o ลดค่าใช้จ่ายในการพัฒนาระบบ
Polymorphism
ความสัมพันธ์ระหว่าง Object
Association
Composition
Generalization
Structure Diagrams
o Class
o Object
o Package
o Deployment
o Component
o Composite Structure
Behavior Diagrams
o Activity
o Sequence
o Collaboration
o Interaction Overview Timing
o Behavioral State Machine
o Proxy State Machine
o Use Case
Activity Diagram
Activity Diagram
Class Diagram
Class Diagram
Sequence Diagram
Collaboration Diagram
Collaboration Diagram
ตัวอย่าง Statechart
Diagram การเปิ ดเครื่องคอมพิวเตอร์
Component Diagram
Component Diagram