พื้นฐานการวิเคราะห์และออกแบบระบบเชิงวัตถุด้วย...

38
พพพพพพพพพพพพพพพพพพพพพพ พพพพพพพพพพพพพพพพพพพพพพ พพพพพพพพพพพพพพพพพพพพพพพ พพพพพพพพพพพพพพพพพพพพพพพ UML UML Chapter 11 Chapter 11

description

พื้นฐานการวิเคราะห์และออกแบบระบบเชิงวัตถุด้วย UML. Chapter 11. บทนำ. การมองปัญหาในภาพรวมด้วยการตัดรายละเอียดทิ้งไปเพื่อลดความซับซ้อนลง โดยเรียกเทคนิคนี้ว่า Abstraction หัวข้อการเรียนรู้ - PowerPoint PPT Presentation

Transcript of พื้นฐานการวิเคราะห์และออกแบบระบบเชิงวัตถุด้วย...

Page 1: พื้นฐานการวิเคราะห์และออกแบบระบบเชิงวัตถุด้วย  UML

พื้��นฐานการวิเคราะห์�และออกแบบระบบพื้��นฐานการวิเคราะห์�และออกแบบระบบเชิงวิ�ตถุ�ด้�วิย เชิงวิ�ตถุ�ด้�วิย UMLUMLChapter 11Chapter 11

Page 2: พื้นฐานการวิเคราะห์และออกแบบระบบเชิงวัตถุด้วย  UML

บทน�าบทน�าการมองปั�ญหาในภาพรวมด้�วยการตั�ด้รายละเอ�ยด้

ทิ้��งไปัเพ��อลด้ความซั�บซั�อนลง โด้ยเร�ยกเทิ้คน�คน��ว$า Abstraction

ห์�วิข้�อการเร!ยนร"�1 .ออบเจ็&กตั' (Object), คลาส (Class), การส�บทิ้อด้

ค)ณสมบ�ตั� (Inheritance), โพล�มอร'ฟิ,สซั-ม (Polymorphism), เอ&นแคปัซั/เลชั�น และการซั$อนราย

ละเอ�ยด้ (Encapsulation and Information Hiding)

2. ความส�มพ�นธ์'ของออกเจ็&กตั' และการม�ส$วนร$วม (Object Relationships and Associations)

3. หล�กการพ�ฒนาระบบเชั�งว�ตัถุ) และ UML (Unified Modeling Language)

Page 3: พื้นฐานการวิเคราะห์และออกแบบระบบเชิงวัตถุด้วย  UML

ออบเจ็$กต� ออบเจ็$กต� (Object)(Object)

ออบเจ็&กตั'หร�อว�ตัถุ) ค�อหน$วยสนใจ็ของระบบทิ้��ทิ้5าให�เก�ด้เหตั)การณ'บางอย$าง ไม$ว$าจ็ะเปั6นบ)คคล สถุานทิ้�� ส��งของ หร�อเหตั)การณ' ส5าหร�บออบเจ็&กตั'ในโลกของเทิ้คโนโลย�เชั�ง

ว�ตัถุ) จ็ะเน�นทิ้��ตั�วปัฏิ�บ�ตั�การมากกว$าการปัฏิ�บ�ตั�

Page 4: พื้นฐานการวิเคราะห์และออกแบบระบบเชิงวัตถุด้วย  UML

คลาส คลาส (Class)(Class)

คลาสถุ�อว$าเปั6นนามธ์รรม (Abstract) ในขณะทิ้��ออบเจ็&กตั'น��นเปั6นส��งทิ้��ม�ตั�วตัน (Concrete) คลาสก&ค�อ

แบบพ�มพ'เข�ยวของออบเจ็&กตั'โด้ยทิ้��คลาสไม$สามารถุทิ้5างานได้� ในขณะทิ้��ออบเจ็&กตั'สามารถุทิ้5างานได้� การทิ้5างานของออบเจ็&กตั'จ็ะเปั6นไปัตัามค)ณสมบ�ตั�ทิ้��ก5าหนด้ไว�ในคลาส และออบเจ็&กตั'ทิ้)กตั�วก&จ็ะตั�องอย/$ในคลาส โด้ยเราสามารถุด้/

ค)ณสมบ�ตั� (Characteristic) ของออบเจ็&กตั'ได้�ด้�วยการด้/ทิ้��คลาส

คลาสค�อกล)$มของออบเจ็&กตั'ทิ้��ม�โครงสร�างพ��นฐานพฤตั�กรรมเด้�ยวก�น ด้�งน��นออบเจ็&กตั'ทิ้��ม�ค)ณสมบ�ตั�ล�กษณะ

เด้�ยวก�น ก&จ็ะรวมกล)$มอย/$ในคลาสเด้�ยวก�น จ็-งสร)ปัได้�ว$าคลาสก&ค�อตั�นแบบข�อม/ล ทิ้��ม�ไว�เพ��อสร�างออบเจ็&กตั'

Page 5: พื้นฐานการวิเคราะห์และออกแบบระบบเชิงวัตถุด้วย  UML

คลาส คลาส (Class)(Class)

คลาส นอกจ็ากจ็ะม�ชั��อคลาสก5าก�บแล�ว ย�งม�แอตัตัร�บ�วตั' (Attribute) ทิ้��ใชั�อธ์�บายค)ณสมบ�ตั� และโอเปัอเรชั�น

(Operation) ทิ้��ใชั�อธ์�บายถุ-งพฤตั�กรรมของคลาสว$าม�ตั�วปัฏิ�บ�ตั�การอะไรบ�าง ซั-�งโอ

เปัอเรชั�นบางคร��งอาจ็เร�ยกว$าเมธ์อด้ (Method) ก&ได้� โด้ยทิ้��งคลาส แอตัตัร�

บ�วตั' และโอเปัอเรชั�น สามารถุแสด้งในล�กษณะเทิ้&ม เพลตัได้�

Page 6: พื้นฐานการวิเคราะห์และออกแบบระบบเชิงวัตถุด้วย  UML

การส�บทอด้ค�ณสมบ�ต การส�บทอด้ค�ณสมบ�ต (Inheritance)(Inheritance)

ข�อด้�1 .ทิ้5าให�ม�โครงสร�างเปั6นระบบ ระเบ�ยบ ปัร�บเปัล��ยนได้�ง$าย

2 .ลด้เวลาในการพ�ฒนาระบบ3 .ลด้ค$าใชั�จ็$ายในการพ�ฒนา

การก5าหนด้ค)ณสมบ�ตั�ของออบเจ็&กตั'แตั$ละตั�วในระบบ จ็ะใชั�ว�ธ์�การส�บทิ้อด้ (Inheritance) โด้ยอาศั�ยค)ณสมบ�ตั�

ของออบเจ็&กตั'ทิ้��ม�อย/$แล�วใส$ลงในออบเจ็&กตั'ตั�วใหม$ แนวความค�ด้เชั�งว�ตัถุ)จ็ะถุ�อว$าการส�บทิ้อด้เปั6นส��งส5าค�ญ เพราะว$า

ไม$ม�ส��งใด้ในโลกทิ้��เก�ด้ข-�นเอง ตั�องม�การส�บทิ้อด้

Page 7: พื้นฐานการวิเคราะห์และออกแบบระบบเชิงวัตถุด้วย  UML

การส�บทอด้ค�ณสมบ�ต การส�บทอด้ค�ณสมบ�ต (Inheritance)(Inheritance)

Animal

Cat Dog Person

Page 8: พื้นฐานการวิเคราะห์และออกแบบระบบเชิงวัตถุด้วย  UML

การส�บทอด้ค�ณสมบ�ต การส�บทอด้ค�ณสมบ�ต (Inheritance)(Inheritance)

Page 9: พื้นฐานการวิเคราะห์และออกแบบระบบเชิงวัตถุด้วย  UML

การส�บทอด้ค�ณสมบ�ต การส�บทอด้ค�ณสมบ�ต (Inheritance)(Inheritance)

Page 10: พื้นฐานการวิเคราะห์และออกแบบระบบเชิงวัตถุด้วย  UML

การส�บทอด้ค�ณสมบ�ต การส�บทอด้ค�ณสมบ�ต (Inheritance)(Inheritance)

การส�บทิ้อด้ค)ณสมบ�ตั�ของ Subclass ย�งสามารถุส�บทิ้อด้จ็าก Superclass มากกว$าหน-�งก&เปั6นได้� ทิ้��เร�ยกว$า

Multiple Inheritance

Page 11: พื้นฐานการวิเคราะห์และออกแบบระบบเชิงวัตถุด้วย  UML

โพล�มอร'ฟิ,สซั-ม (Polymorphism) หมายถุ-ง การบอกแบบเด้�ยว แตั$ได้�ร�บการตัอบสนองหลายร/ปัแบบ

ค)ณสมบ�ตั�ของ Polymorphism ทิ้5าให�สามารถุวาด้ร/ปัได้�หลายร/ปัแบบ ด้�วยการส$งผ่$านฟิ�งก'ชั�น

DrawChart() เพ�ยงฟิ�งก'ชั�นเด้�ยว

โพื้ลมอร�ฟิ*สซึ,ม โพื้ลมอร�ฟิ*สซึ,ม (Polymorphism)(Polymorphism)

DrawChart

Page 12: พื้นฐานการวิเคราะห์และออกแบบระบบเชิงวัตถุด้วย  UML

เอ$นแคปซึ"เลชิ�น และการซึ.อนรายละเอ!ยด้ เอ$นแคปซึ"เลชิ�น และการซึ.อนรายละเอ!ยด้ (Encapsulation and Information (Encapsulation and Information

Hiding)Hiding)การซั$อนรายละเอ�ยด้ (Information Hiding) เปั6นพ��นฐานของการปักปั,ด้ข�อม/ลภายใน และว�ธ์�การทิ้5างานของอ

อบเจ็&กตั' โด้ยค5าว$าเอ&นแคปัซั/เลตั ม�ความหมายว$าผ่/�ใชั�ไม$สามารถุเห&นรายละเอ�ยด้ (ข�อม/ลและฟิ�งก'ชั�น ) ภายใน

เน��องจ็ากถุ/กซั$อนและบรรจ็)ไว�ในแคปัซั/ล แตั$สามารถุใชั�งานออบเจ็&กตั'ได้�ด้�วยเมธ์อด้ กล$าวค�อ ในการเข�าถุ-งข�อม/ลน��น จ็ะไม$สามารถุเข�าถุ-งได้�โด้ยตัรง ตั�องม�การตัอบร�บจ็ากเมธ์อด้ใน

ออบเจ็&กตั'ปัลายทิ้างน��นว$า จ็ะอน)ญาตัหร�อไม$ทิ้��จ็ะให�ออบเจ็&กตั'ทิ้��ส$งเมสเสจ็ร�องขอเข�าถุ-งข�อม/ลตัน

ส5าหร�บใน UML การก5าหนด้ให�การมองเห&น (Visibility) ของแอตัตัร�บ�วตั'หร�อ เมธ์อด้ว$าเปั6น Public,

Protected หร�อ Private จ็ะใชั�ส�ญล�กษณ'ด้�งตั$อไปัน�� + ค�อ ส�ญล�กษณ' Public Visibility # ค�อ

ส�ญล�กษณ' Protected Visibility

- ค�อ ส�ญล�กษณ' Private Visibility

Page 13: พื้นฐานการวิเคราะห์และออกแบบระบบเชิงวัตถุด้วย  UML

1. Association ค�อ ความส�มพ�นธ์'ระหว$างออบเจ็&กตั'

ควิามส�มพื้�นธ์�ข้องออบเจ็$กต� และการม!ส.วินควิามส�มพื้�นธ์�ข้องออบเจ็$กต� และการม!ส.วินร.วิม ร.วิม

(Object Relationships and (Object Relationships and Associations)Associations)

Person Company

* WorksFor 0..1Employees employer

PrintServer

User Request of printing

แสด้งความส�มพ�นธ์'ระหว$างพน�กงาน และบร�ษ�ทิ้ ในร/ปัแบบ Bidirectional Association

แสด้งความส�มพ�นธ์'ระหว$างผ่/�ใชั� และเคร��องพ�มพ' ในร/ปัแบบ Consumer-Producer Association

Page 14: พื้นฐานการวิเคราะห์และออกแบบระบบเชิงวัตถุด้วย  UML

2. Aggregation เปั6นความส�มพ�นธ์'แบบเปั6นส$วนหน-�งของ ซั-�งม�กเร�ยกว$าความส�มพ�นธ์'แบบ “Whole-Part” หร�อ “is part of” โด้ยจ็ะม�คลาสทิ้��ใหญ$ทิ้��ส)ด้ทิ้��เปั6นออบเจ็&กตั'

หล�ก และม�คลาสหร�อออบเจ็&กตั'ส$วนอ��น ๆ เปั6นส$วนหน-�งของออบเจ็&กตั'หล�ก

ควิามส�มพื้�นธ์�ข้องออบเจ็$กต� และการม!ส.วินควิามส�มพื้�นธ์�ข้องออบเจ็$กต� และการม!ส.วินร.วิม ร.วิม

(Object Relationships and (Object Relationships and Associations)Associations)

Page 15: พื้นฐานการวิเคราะห์และออกแบบระบบเชิงวัตถุด้วย  UML

2. Aggregation เปั6นความส�มพ�นธ์'แบบเปั6นส$วนหน-�งของ ซั-�งม�กเร�ยกว$าความส�มพ�นธ์'แบบ “Whole-Part” หร�อ “is part of” โด้ยจ็ะม�คลาสทิ้��ใหญ$ทิ้��ส)ด้ทิ้��เปั6นออบเจ็&กตั'

หล�ก และม�คลาสหร�อออบเจ็&กตั'ส$วนอ��น ๆ เปั6นส$วนหน-�งของออบเจ็&กตั'หล�ก

ควิามส�มพื้�นธ์�ข้องออบเจ็$กต� และการม!ส.วินควิามส�มพื้�นธ์�ข้องออบเจ็$กต� และการม!ส.วินร.วิม ร.วิม

(Object Relationships and (Object Relationships and Associations)Associations)

Page 16: พื้นฐานการวิเคราะห์และออกแบบระบบเชิงวัตถุด้วย  UML

3. Composition เปั6นความส�มพ�นธ์'แบบข-�นตั$อก�น และม�ความเก��ยวข�องก�นเสมอ

ควิามส�มพื้�นธ์�ข้องออบเจ็$กต� และการม!ส.วินควิามส�มพื้�นธ์�ข้องออบเจ็$กต� และการม!ส.วินร.วิม ร.วิม

(Object Relationships and (Object Relationships and Associations)Associations)

Classroom

Student

แสด้งความส�มพ�นธ์'แบบ Composition ระหว$างห�องเร�ยน และน�กศั-กษา

Page 17: พื้นฐานการวิเคราะห์และออกแบบระบบเชิงวัตถุด้วย  UML

3. Generalization เปั6นความส�มพ�นธ์'ระหว$างคลาสในล�กษณะของการส�บทิ้อด้ค)ณสมบ�ตั�จ็ากโครงสร�างคลาส

หน-�งไปัย�งโครงสร�างอ�กคลาสหน-�ง โด้ยทิ้�� Generalization/Specialization ก&ค�อเทิ้คน�คการน5าค)ณสมบ�ตั� และพฤตั�กรรมของ Supperclass ถุ$ายทิ้อด้

ค)ณสมบ�ตั�ไปัย�งออบเจ็&กตั'คลาสหร�อ Subclass

ควิามส�มพื้�นธ์�ข้องออบเจ็$กต� และการม!ส.วินควิามส�มพื้�นธ์�ข้องออบเจ็$กต� และการม!ส.วินร.วิม ร.วิม

(Object Relationships and (Object Relationships and Associations)Associations)

Page 18: พื้นฐานการวิเคราะห์และออกแบบระบบเชิงวัตถุด้วย  UML

3. Generalization

ควิามส�มพื้�นธ์�ข้องออบเจ็$กต� และการม!ส.วินควิามส�มพื้�นธ์�ข้องออบเจ็$กต� และการม!ส.วินร.วิม ร.วิม

(Object Relationships and (Object Relationships and Associations)Associations)

Page 19: พื้นฐานการวิเคราะห์และออกแบบระบบเชิงวัตถุด้วย  UML

ห์ล�กการพื้�ฒนาระบบเชิงวิ�ตถุ�ห์ล�กการพื้�ฒนาระบบเชิงวิ�ตถุ�หล�กการจ็�ด้แบ$งปัระเภทิ้ของว�ตัถุ)ในล�กษณะทิ้าง

นามธ์รรม (Abstract) ออกเปั6นกล)$ม ๆ ทิ้��เร�ยกว$าคลาส (Class) แตั$ละคลาสก&จ็ะม�สถุานะ (States) รวมทิ้��ง

พฤตั�กรรม (Behavior) ตัามบทิ้บาทิ้ของตัน โด้ยม�ข�อม/ลรายละเอ�ยด้หร�อค)ณสมบ�ตั� (Characteristic) ทิ้��เก&บซั$อน (Encapsulate) ในคลาสของตัน และไม$ม�การปัะปันก�บคลาสอ��น ๆ แตั$ในด้�านการตั�ด้ตั$อส��อสารหร�อการร�องขอใชั�บร�การ จ็ะสามารถุตั�ด้ตั$อส��อสารก�นได้�ด้�วยข$าวสารหร�อเมส

เสจ็ (Message)

Page 20: พื้นฐานการวิเคราะห์และออกแบบระบบเชิงวัตถุด้วย  UML

ห์ล�กการพื้�ฒนาระบบเชิงวิ�ตถุ�ห์ล�กการพื้�ฒนาระบบเชิงวิ�ตถุ�OOADI (Object-Oriented Analysis, Design and

Implementation)

OOA (Object-Oriented Analysis) ค�อ ว�ธ์�การว�เคราะห'ถุ-งความตั�องการระบบ จ็ากรายละเอ�ยด้ของคลาส (Class)

และว�ตัถุ) (Object) ทิ้��ค�นพบได้�จ็ากปั�ญหาทิ้��เราม)$งสนใจ็ เพ��อทิ้5าความเข�าใจ็ในรายละเอ�ยด้ของปั�ญหาเหล$าน��น

OOD (Object-Oriented Design) ค�อ ว�ธ์�การออกแบบกระบวนการ ด้�วยการสร�างแบบจ็5าลองเชั�งว�ตัถุ)ทิ้��สามารถุ

แสด้งความหมาย (Notation) ออกมาในร/ปัแบบเชั�งลอจ็�ค�ล (Class and Object) และฟิ,ส�ค�ลจ็องระบบ

OOI (Object-Oriented Implementation) ค�อ ว�ธ์�การสร�างโปัรแกรมเพ��อน5าไปัใชั�งานให�เก�ด้ผ่ล ด้�วยการจ็�ด้การ

กล)$มของว�ตัถุ)ตั$าง ๆ ให�ทิ้5างานร$วมก�น ซั-�งอาจ็เร�ยกว$า OOP (Object-Oriented Programming)

Page 21: พื้นฐานการวิเคราะห์และออกแบบระบบเชิงวัตถุด้วย  UML

UML (Unified Modeling UML (Unified Modeling Language)Language)

UML เปั6นส�ญล�กษณ' (Notation) ทิ้��ใชั�อธ์�บาย แสด้งรายละเอ�ยด้ จ็5าลองการสร�าง และจ็�ด้การก�บเอกสาร

ตั$าง ๆ ในระบบ เพ��อให�การออกแบบซัอฟิตั'แวร'สามารถุทิ้5าได้�โด้ยง$าย และปัร�ปับร)งว�ธ์�การทิ้5างานให�ด้�ข-�นUML Diagram ปัระกอบไปัด้�วยแบบจ็5าลองทิ้าง

สถุาปั�ตัยกรรมของระบบในม)มมองตั$าง ๆ การพ�ฒนาระบบงานอาจ็ไม$จ็5าเปั6นตั�องใชั�ทิ้)กได้อะแกรมก&ได้� อาจ็พ�จ็ารณาเพ�ยงได้อะแกรมทิ้��เหมาะสมตั$อความตั�องการ

Page 22: พื้นฐานการวิเคราะห์และออกแบบระบบเชิงวัตถุด้วย  UML

UML (Unified Modeling UML (Unified Modeling Language)Language)

UML ปัระกอบด้�วย1. Use Case Diagram

2. Class Diagram (Static)

3. Behavior Diagram (Dynamic):

3.1 Iteration Diagram

3.1.1 Sequence Diagram

3.1.2 Collaboration

Diagram3.2 Statechart

Diagram3.3 Activity

Diagram4. Implementation

Diagram:

Page 23: พื้นฐานการวิเคราะห์และออกแบบระบบเชิงวัตถุด้วย  UML

UML (Unified Modeling UML (Unified Modeling Language)Language)

Models

StatechartDiagrams

Use Case Diagrams

Class Diagrams Object

Diagrams

Component Diagrams

DeploymentDiagrams

Activity Diagrams

SequenceDiagrams

Collaboration Diagrams

Page 24: พื้นฐานการวิเคราะห์และออกแบบระบบเชิงวัตถุด้วย  UML

Use CaseUse Case

เปั6นการบ$งบอก และเน�นผ่/�ใชั�งานว$าตั�องการทิ้5าอะไรในระบบ เปั6นการพ�จ็ารณาจ็ากม)มมองของผ่/�ใชั�งานทิ้��ม�ตั$อ

ระบบ Use Case Diagram ปัระกอบด้�วย Actor ม�ส�ญล�กษณ'เปั6นร/ปัคน หมายถุ-งผ่/�เก��ยวข�อง

ทิ้��ใชั�งานระบบ องค'ปัระกอบทิ้��แสด้งเอ&นตั�ตั��ทิ้��อย/$ภายนอกระบบ และม�ปัฏิ�ส�มพ�นธ์'ก�บระบบ รวมถุ-งแสด้งความส�มพ�นธ์'

ก�บ Use Case

Use Case ใชั�ส�ญล�กษณ'ร/ปัวงร� ทิ้��แสด้งถุ-งฟิ�งก'ชั�นหน�าทิ้��ตั$าง ๆ ในระบบ หร�อส��งทิ้��ระบบตั�องทิ้5าในม)ม

มองของผ่/�ใชั�งานRelationship แสด้งความส�มพ�นธ์'ระหว$าง Use

Case, Use Case ก�บ Actor หร�อ Actor ก�บ Actor โด้ยความส�มพ�นธ์'ก&จ็ะเปั6นไปัตัามความส�มพ�นธ์'ในร/ปัแบบ

ตั$าง ๆ เชั$น Association, Aggregation หร�อ Composition และ Generalization

Page 25: พื้นฐานการวิเคราะห์และออกแบบระบบเชิงวัตถุด้วย  UML

Use CaseUse Case

Page 26: พื้นฐานการวิเคราะห์และออกแบบระบบเชิงวัตถุด้วย  UML

Sequence DiagramSequence Diagram

เปั6นได้อะแกรมทิ้��ใชั�อธ์�บายการทิ้5างานของ Use Case เพ��อแสด้งถุ-งข��นตัอนการทิ้5างานและแสด้งล5าด้�บของเมสเสจ็ทิ้��ส$งผ่$านระหว$างคลาสทิ้��โตั�ตัอบก�น นอกจ็ากน��แล�ว Sequence Diagram ย�งรวมถุ-งเง��อนไขเวลาทิ้��ใชั�ในการ

ทิ้5างานด้�วยSequence Diagram จ็ะแสด้งในร/ปัแบบ 2 ม�ตั�

โด้ยเส�นปัระแนวตั��ง (Vertical) จ็ะน5าเสนอในด้�านเวลา และเส�นแนวนอน (Horizontal) จ็ะน5าเสนอเก��ยวก�บการ

โตั�ตัอบระหว$างออบเจ็&กตั'หร�อคลาสตั$าง ๆ เส�นแนวตั��งหร�อแนวด้��งทิ้��เปั6นเส�นปัระน��จ็ะเร�ยกว$า เส�นอาย)ข�ย (Lifeline) ทิ้��ใชั�แสด้งชั$วงเวลาตั��งแตั$เร��มถุ/กสร�างจ็นกระทิ้��งถุ/กทิ้5าลายทิ้��ใชั�

แตั$ละคลาสโตั�ตัอบก�น โด้ยส�ญล�กษณ'ตั$าง ๆ ทิ้��ใชั�ใน Sequence Diagram

Page 27: พื้นฐานการวิเคราะห์และออกแบบระบบเชิงวัตถุด้วย  UML

Sequence DiagramSequence Diagram

Page 28: พื้นฐานการวิเคราะห์และออกแบบระบบเชิงวัตถุด้วย  UML

Sequence DiagramSequence Diagram

Page 29: พื้นฐานการวิเคราะห์และออกแบบระบบเชิงวัตถุด้วย  UML

Class DiagramClass Diagram

จ็ะปัระกอบด้�วยคลาสตั$าง ๆ และ

ความส�มพ�นธ์'

ระหว$างคลาส โด้ยแตั$ละคลาสจ็ะ

แสด้งองค'ปัระกอบทิ้��ม�ในระบบ และ

ม�ความส�มพ�นธ์'

(Relationship) ใน

ล�กษณะตั$าง ๆ

Page 30: พื้นฐานการวิเคราะห์และออกแบบระบบเชิงวัตถุด้วย  UML

Collaboration DiagramCollaboration Diagram

เปั6นได้อะแกรมชัน�ด้เด้�ยวก�น Sequence Diagram โด้ย Sequence Diagram จ็ะเปั6นได้อะแกรมทิ้��แสด้งถุ-งการแลกเปัล��ยนข$าวสาร แตั$

Collaboration Diagram จ็ะน5าเสอนแผ่นภาพการทิ้5างานร$วมก�นระหว$างออบเจ็&กตั'เปั6นส5าค�ญ นอกจ็ากน��ก&ย�ง

แสด้งล5าด้�บการทิ้5างานก$อนและหล�งด้�วย ซั-�งจ็ะเห&นได้�ว$า Collaboration Diagram จ็ะแสด้งให�เห&นภาพ

โครงสร�างระบบมากกว$าการเน�นเพ�ยงข$าวสารทิ้��ส��อสารก�น หากตั�องการแผ่นภาพทิ้��ม)$งเน�นด้�านเวลาเปั6นส5าค�ญ และ

แสด้งล5าด้�บก$อนหล�ง ให�เล�อกใชั� Sequence Diagram แตั$หากตั�องการแผ่นภาพทิ้��ให�ความส�มพ�นธ์'ภายในออบ

เจ็&กตั' ก&ให�เล�อกใชั� Collaboration Diagram

Page 31: พื้นฐานการวิเคราะห์และออกแบบระบบเชิงวัตถุด้วย  UML

Collaboration DiagramCollaboration Diagram

Page 32: พื้นฐานการวิเคราะห์และออกแบบระบบเชิงวัตถุด้วย  UML

Statechart DiagramStatechart Diagram

เปั6นได้อะแกรมทิ้��แสด้งเหตั)การณ'ตั$าง ๆ ของแตั$ละ State ทิ้��ม�ผ่ลทิ้5าให�สถุานะของออบเจ็&กตั'เปัล��ยนแปัลง และ

ผ่ลจ็ากการกระทิ้5าทิ้��เก�ด้ข-�นเม��อสถุานะของออบเจ็&กตั'น��นเปัล��ยน โด้ยส�ญล�กษณ'ตั$าง ๆ ทิ้��ใชั�ใน Statechart

Diagram

Page 33: พื้นฐานการวิเคราะห์และออกแบบระบบเชิงวัตถุด้วย  UML

Statechart DiagramStatechart Diagram

Page 34: พื้นฐานการวิเคราะห์และออกแบบระบบเชิงวัตถุด้วย  UML

Activity DiagramActivity Diagram

เปั6นได้อะแกรมแสด้งข��นตัอนของการปัฏิ�บ�ตั�งาน หร�อก�จ็กรรมในการปัฏิ�บ�ตั�งาน โด้ยจ็ะเก�ด้สถุานะ (State)

ตั$าง ๆ ทิ้��เก�ด้ข-�นในระหว$างการทิ้5างาน และผ่ลจ็ากการทิ้5างาน และผ่ลจ็ากการทิ้5างานในข��นตัอนตั$าง ๆ ในระบบ

Page 35: พื้นฐานการวิเคราะห์และออกแบบระบบเชิงวัตถุด้วย  UML

Activity DiagramActivity Diagram

Page 36: พื้นฐานการวิเคราะห์และออกแบบระบบเชิงวัตถุด้วย  UML

Component DiagramComponent Diagram

เปั6นได้อะแกรมแสด้งโครงสร�างทิ้างกายภาพ และความส�มพ�นธ์'ระหว$างองค'ปัระกอบตั$าง ๆ ของซัอฟิตั'แวร'

ชั)ด้ค5าส��ง (Source Code) โปัรแกรมทิ้��สามารถุเอ&กซั'ค�วตั'ได้�ตั�วเอง (Executable Program) โปัรแกรมแบบ

ไบนาร� (Binary) รวมถุ-งข�อความ (Text) และย/สเซัอร'อ�นเตัอร'เฟิซั

Page 37: พื้นฐานการวิเคราะห์และออกแบบระบบเชิงวัตถุด้วย  UML

Deployment DiagramDeployment Diagram

เปั6นได้อะแกรมทิ้��แสด้งทิ้��ตั��ง ของส$วนปัระมวลผ่ล รวมทิ้��ง Software Component ตั$าง ๆ ซั-�งอาจ็กล$าวได้�

ว$า Deployment Diagram เปั6นแผ่นภาพแสด้งสถุาปั�ตัยกรรมของฮาร'ด้แวร'และซัอฟิตั'แวร'ในระบบ รวมถุ-ง

ความส�มพ�นธ์'ระหว$างฮาร'ด้แวร'และซัอฟิตั'แวร'

Page 38: พื้นฐานการวิเคราะห์และออกแบบระบบเชิงวัตถุด้วย  UML

The End