พื้นฐานการวิเคราะห์และออกแบบระบบเชิงวัตถุด้วย...
-
Upload
janna-ryan -
Category
Documents
-
view
46 -
download
0
description
Transcript of พื้นฐานการวิเคราะห์และออกแบบระบบเชิงวัตถุด้วย...
พื้��นฐานการวิเคราะห์�และออกแบบระบบพื้��นฐานการวิเคราะห์�และออกแบบระบบเชิงวิ�ตถุ�ด้�วิย เชิงวิ�ตถุ�ด้�วิย UMLUMLChapter 11Chapter 11
บทน�าบทน�าการมองปั�ญหาในภาพรวมด้�วยการตั�ด้รายละเอ�ยด้
ทิ้��งไปัเพ��อลด้ความซั�บซั�อนลง โด้ยเร�ยกเทิ้คน�คน��ว$า Abstraction
ห์�วิข้�อการเร!ยนร"�1 .ออบเจ็&กตั' (Object), คลาส (Class), การส�บทิ้อด้
ค)ณสมบ�ตั� (Inheritance), โพล�มอร'ฟิ,สซั-ม (Polymorphism), เอ&นแคปัซั/เลชั�น และการซั$อนราย
ละเอ�ยด้ (Encapsulation and Information Hiding)
2. ความส�มพ�นธ์'ของออกเจ็&กตั' และการม�ส$วนร$วม (Object Relationships and Associations)
3. หล�กการพ�ฒนาระบบเชั�งว�ตัถุ) และ UML (Unified Modeling Language)
ออบเจ็$กต� ออบเจ็$กต� (Object)(Object)
ออบเจ็&กตั'หร�อว�ตัถุ) ค�อหน$วยสนใจ็ของระบบทิ้��ทิ้5าให�เก�ด้เหตั)การณ'บางอย$าง ไม$ว$าจ็ะเปั6นบ)คคล สถุานทิ้�� ส��งของ หร�อเหตั)การณ' ส5าหร�บออบเจ็&กตั'ในโลกของเทิ้คโนโลย�เชั�ง
ว�ตัถุ) จ็ะเน�นทิ้��ตั�วปัฏิ�บ�ตั�การมากกว$าการปัฏิ�บ�ตั�
คลาส คลาส (Class)(Class)
คลาสถุ�อว$าเปั6นนามธ์รรม (Abstract) ในขณะทิ้��ออบเจ็&กตั'น��นเปั6นส��งทิ้��ม�ตั�วตัน (Concrete) คลาสก&ค�อ
แบบพ�มพ'เข�ยวของออบเจ็&กตั'โด้ยทิ้��คลาสไม$สามารถุทิ้5างานได้� ในขณะทิ้��ออบเจ็&กตั'สามารถุทิ้5างานได้� การทิ้5างานของออบเจ็&กตั'จ็ะเปั6นไปัตัามค)ณสมบ�ตั�ทิ้��ก5าหนด้ไว�ในคลาส และออบเจ็&กตั'ทิ้)กตั�วก&จ็ะตั�องอย/$ในคลาส โด้ยเราสามารถุด้/
ค)ณสมบ�ตั� (Characteristic) ของออบเจ็&กตั'ได้�ด้�วยการด้/ทิ้��คลาส
คลาสค�อกล)$มของออบเจ็&กตั'ทิ้��ม�โครงสร�างพ��นฐานพฤตั�กรรมเด้�ยวก�น ด้�งน��นออบเจ็&กตั'ทิ้��ม�ค)ณสมบ�ตั�ล�กษณะ
เด้�ยวก�น ก&จ็ะรวมกล)$มอย/$ในคลาสเด้�ยวก�น จ็-งสร)ปัได้�ว$าคลาสก&ค�อตั�นแบบข�อม/ล ทิ้��ม�ไว�เพ��อสร�างออบเจ็&กตั'
คลาส คลาส (Class)(Class)
คลาส นอกจ็ากจ็ะม�ชั��อคลาสก5าก�บแล�ว ย�งม�แอตัตัร�บ�วตั' (Attribute) ทิ้��ใชั�อธ์�บายค)ณสมบ�ตั� และโอเปัอเรชั�น
(Operation) ทิ้��ใชั�อธ์�บายถุ-งพฤตั�กรรมของคลาสว$าม�ตั�วปัฏิ�บ�ตั�การอะไรบ�าง ซั-�งโอ
เปัอเรชั�นบางคร��งอาจ็เร�ยกว$าเมธ์อด้ (Method) ก&ได้� โด้ยทิ้��งคลาส แอตัตัร�
บ�วตั' และโอเปัอเรชั�น สามารถุแสด้งในล�กษณะเทิ้&ม เพลตัได้�
การส�บทอด้ค�ณสมบ�ต การส�บทอด้ค�ณสมบ�ต (Inheritance)(Inheritance)
ข�อด้�1 .ทิ้5าให�ม�โครงสร�างเปั6นระบบ ระเบ�ยบ ปัร�บเปัล��ยนได้�ง$าย
2 .ลด้เวลาในการพ�ฒนาระบบ3 .ลด้ค$าใชั�จ็$ายในการพ�ฒนา
การก5าหนด้ค)ณสมบ�ตั�ของออบเจ็&กตั'แตั$ละตั�วในระบบ จ็ะใชั�ว�ธ์�การส�บทิ้อด้ (Inheritance) โด้ยอาศั�ยค)ณสมบ�ตั�
ของออบเจ็&กตั'ทิ้��ม�อย/$แล�วใส$ลงในออบเจ็&กตั'ตั�วใหม$ แนวความค�ด้เชั�งว�ตัถุ)จ็ะถุ�อว$าการส�บทิ้อด้เปั6นส��งส5าค�ญ เพราะว$า
ไม$ม�ส��งใด้ในโลกทิ้��เก�ด้ข-�นเอง ตั�องม�การส�บทิ้อด้
การส�บทอด้ค�ณสมบ�ต การส�บทอด้ค�ณสมบ�ต (Inheritance)(Inheritance)
Animal
Cat Dog Person
การส�บทอด้ค�ณสมบ�ต การส�บทอด้ค�ณสมบ�ต (Inheritance)(Inheritance)
การส�บทอด้ค�ณสมบ�ต การส�บทอด้ค�ณสมบ�ต (Inheritance)(Inheritance)
การส�บทอด้ค�ณสมบ�ต การส�บทอด้ค�ณสมบ�ต (Inheritance)(Inheritance)
การส�บทิ้อด้ค)ณสมบ�ตั�ของ Subclass ย�งสามารถุส�บทิ้อด้จ็าก Superclass มากกว$าหน-�งก&เปั6นได้� ทิ้��เร�ยกว$า
Multiple Inheritance
โพล�มอร'ฟิ,สซั-ม (Polymorphism) หมายถุ-ง การบอกแบบเด้�ยว แตั$ได้�ร�บการตัอบสนองหลายร/ปัแบบ
ค)ณสมบ�ตั�ของ Polymorphism ทิ้5าให�สามารถุวาด้ร/ปัได้�หลายร/ปัแบบ ด้�วยการส$งผ่$านฟิ�งก'ชั�น
DrawChart() เพ�ยงฟิ�งก'ชั�นเด้�ยว
โพื้ลมอร�ฟิ*สซึ,ม โพื้ลมอร�ฟิ*สซึ,ม (Polymorphism)(Polymorphism)
DrawChart
เอ$นแคปซึ"เลชิ�น และการซึ.อนรายละเอ!ยด้ เอ$นแคปซึ"เลชิ�น และการซึ.อนรายละเอ!ยด้ (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
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
2. Aggregation เปั6นความส�มพ�นธ์'แบบเปั6นส$วนหน-�งของ ซั-�งม�กเร�ยกว$าความส�มพ�นธ์'แบบ “Whole-Part” หร�อ “is part of” โด้ยจ็ะม�คลาสทิ้��ใหญ$ทิ้��ส)ด้ทิ้��เปั6นออบเจ็&กตั'
หล�ก และม�คลาสหร�อออบเจ็&กตั'ส$วนอ��น ๆ เปั6นส$วนหน-�งของออบเจ็&กตั'หล�ก
ควิามส�มพื้�นธ์�ข้องออบเจ็$กต� และการม!ส.วินควิามส�มพื้�นธ์�ข้องออบเจ็$กต� และการม!ส.วินร.วิม ร.วิม
(Object Relationships and (Object Relationships and Associations)Associations)
2. Aggregation เปั6นความส�มพ�นธ์'แบบเปั6นส$วนหน-�งของ ซั-�งม�กเร�ยกว$าความส�มพ�นธ์'แบบ “Whole-Part” หร�อ “is part of” โด้ยจ็ะม�คลาสทิ้��ใหญ$ทิ้��ส)ด้ทิ้��เปั6นออบเจ็&กตั'
หล�ก และม�คลาสหร�อออบเจ็&กตั'ส$วนอ��น ๆ เปั6นส$วนหน-�งของออบเจ็&กตั'หล�ก
ควิามส�มพื้�นธ์�ข้องออบเจ็$กต� และการม!ส.วินควิามส�มพื้�นธ์�ข้องออบเจ็$กต� และการม!ส.วินร.วิม ร.วิม
(Object Relationships and (Object Relationships and Associations)Associations)
3. Composition เปั6นความส�มพ�นธ์'แบบข-�นตั$อก�น และม�ความเก��ยวข�องก�นเสมอ
ควิามส�มพื้�นธ์�ข้องออบเจ็$กต� และการม!ส.วินควิามส�มพื้�นธ์�ข้องออบเจ็$กต� และการม!ส.วินร.วิม ร.วิม
(Object Relationships and (Object Relationships and Associations)Associations)
Classroom
Student
แสด้งความส�มพ�นธ์'แบบ Composition ระหว$างห�องเร�ยน และน�กศั-กษา
3. Generalization เปั6นความส�มพ�นธ์'ระหว$างคลาสในล�กษณะของการส�บทิ้อด้ค)ณสมบ�ตั�จ็ากโครงสร�างคลาส
หน-�งไปัย�งโครงสร�างอ�กคลาสหน-�ง โด้ยทิ้�� Generalization/Specialization ก&ค�อเทิ้คน�คการน5าค)ณสมบ�ตั� และพฤตั�กรรมของ Supperclass ถุ$ายทิ้อด้
ค)ณสมบ�ตั�ไปัย�งออบเจ็&กตั'คลาสหร�อ Subclass
ควิามส�มพื้�นธ์�ข้องออบเจ็$กต� และการม!ส.วินควิามส�มพื้�นธ์�ข้องออบเจ็$กต� และการม!ส.วินร.วิม ร.วิม
(Object Relationships and (Object Relationships and Associations)Associations)
3. Generalization
ควิามส�มพื้�นธ์�ข้องออบเจ็$กต� และการม!ส.วินควิามส�มพื้�นธ์�ข้องออบเจ็$กต� และการม!ส.วินร.วิม ร.วิม
(Object Relationships and (Object Relationships and Associations)Associations)
ห์ล�กการพื้�ฒนาระบบเชิงวิ�ตถุ�ห์ล�กการพื้�ฒนาระบบเชิงวิ�ตถุ�หล�กการจ็�ด้แบ$งปัระเภทิ้ของว�ตัถุ)ในล�กษณะทิ้าง
นามธ์รรม (Abstract) ออกเปั6นกล)$ม ๆ ทิ้��เร�ยกว$าคลาส (Class) แตั$ละคลาสก&จ็ะม�สถุานะ (States) รวมทิ้��ง
พฤตั�กรรม (Behavior) ตัามบทิ้บาทิ้ของตัน โด้ยม�ข�อม/ลรายละเอ�ยด้หร�อค)ณสมบ�ตั� (Characteristic) ทิ้��เก&บซั$อน (Encapsulate) ในคลาสของตัน และไม$ม�การปัะปันก�บคลาสอ��น ๆ แตั$ในด้�านการตั�ด้ตั$อส��อสารหร�อการร�องขอใชั�บร�การ จ็ะสามารถุตั�ด้ตั$อส��อสารก�นได้�ด้�วยข$าวสารหร�อเมส
เสจ็ (Message)
ห์ล�กการพื้�ฒนาระบบเชิงวิ�ตถุ�ห์ล�กการพื้�ฒนาระบบเชิงวิ�ตถุ�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)
UML (Unified Modeling UML (Unified Modeling Language)Language)
UML เปั6นส�ญล�กษณ' (Notation) ทิ้��ใชั�อธ์�บาย แสด้งรายละเอ�ยด้ จ็5าลองการสร�าง และจ็�ด้การก�บเอกสาร
ตั$าง ๆ ในระบบ เพ��อให�การออกแบบซัอฟิตั'แวร'สามารถุทิ้5าได้�โด้ยง$าย และปัร�ปับร)งว�ธ์�การทิ้5างานให�ด้�ข-�นUML Diagram ปัระกอบไปัด้�วยแบบจ็5าลองทิ้าง
สถุาปั�ตัยกรรมของระบบในม)มมองตั$าง ๆ การพ�ฒนาระบบงานอาจ็ไม$จ็5าเปั6นตั�องใชั�ทิ้)กได้อะแกรมก&ได้� อาจ็พ�จ็ารณาเพ�ยงได้อะแกรมทิ้��เหมาะสมตั$อความตั�องการ
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:
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
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
Use CaseUse Case
Sequence DiagramSequence Diagram
เปั6นได้อะแกรมทิ้��ใชั�อธ์�บายการทิ้5างานของ Use Case เพ��อแสด้งถุ-งข��นตัอนการทิ้5างานและแสด้งล5าด้�บของเมสเสจ็ทิ้��ส$งผ่$านระหว$างคลาสทิ้��โตั�ตัอบก�น นอกจ็ากน��แล�ว Sequence Diagram ย�งรวมถุ-งเง��อนไขเวลาทิ้��ใชั�ในการ
ทิ้5างานด้�วยSequence Diagram จ็ะแสด้งในร/ปัแบบ 2 ม�ตั�
โด้ยเส�นปัระแนวตั��ง (Vertical) จ็ะน5าเสนอในด้�านเวลา และเส�นแนวนอน (Horizontal) จ็ะน5าเสนอเก��ยวก�บการ
โตั�ตัอบระหว$างออบเจ็&กตั'หร�อคลาสตั$าง ๆ เส�นแนวตั��งหร�อแนวด้��งทิ้��เปั6นเส�นปัระน��จ็ะเร�ยกว$า เส�นอาย)ข�ย (Lifeline) ทิ้��ใชั�แสด้งชั$วงเวลาตั��งแตั$เร��มถุ/กสร�างจ็นกระทิ้��งถุ/กทิ้5าลายทิ้��ใชั�
แตั$ละคลาสโตั�ตัอบก�น โด้ยส�ญล�กษณ'ตั$าง ๆ ทิ้��ใชั�ใน Sequence Diagram
Sequence DiagramSequence Diagram
Sequence DiagramSequence Diagram
Class DiagramClass Diagram
จ็ะปัระกอบด้�วยคลาสตั$าง ๆ และ
ความส�มพ�นธ์'
ระหว$างคลาส โด้ยแตั$ละคลาสจ็ะ
แสด้งองค'ปัระกอบทิ้��ม�ในระบบ และ
ม�ความส�มพ�นธ์'
(Relationship) ใน
ล�กษณะตั$าง ๆ
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
Collaboration DiagramCollaboration Diagram
Statechart DiagramStatechart Diagram
เปั6นได้อะแกรมทิ้��แสด้งเหตั)การณ'ตั$าง ๆ ของแตั$ละ State ทิ้��ม�ผ่ลทิ้5าให�สถุานะของออบเจ็&กตั'เปัล��ยนแปัลง และ
ผ่ลจ็ากการกระทิ้5าทิ้��เก�ด้ข-�นเม��อสถุานะของออบเจ็&กตั'น��นเปัล��ยน โด้ยส�ญล�กษณ'ตั$าง ๆ ทิ้��ใชั�ใน Statechart
Diagram
Statechart DiagramStatechart Diagram
Activity DiagramActivity Diagram
เปั6นได้อะแกรมแสด้งข��นตัอนของการปัฏิ�บ�ตั�งาน หร�อก�จ็กรรมในการปัฏิ�บ�ตั�งาน โด้ยจ็ะเก�ด้สถุานะ (State)
ตั$าง ๆ ทิ้��เก�ด้ข-�นในระหว$างการทิ้5างาน และผ่ลจ็ากการทิ้5างาน และผ่ลจ็ากการทิ้5างานในข��นตัอนตั$าง ๆ ในระบบ
Activity DiagramActivity Diagram
Component DiagramComponent Diagram
เปั6นได้อะแกรมแสด้งโครงสร�างทิ้างกายภาพ และความส�มพ�นธ์'ระหว$างองค'ปัระกอบตั$าง ๆ ของซัอฟิตั'แวร'
ชั)ด้ค5าส��ง (Source Code) โปัรแกรมทิ้��สามารถุเอ&กซั'ค�วตั'ได้�ตั�วเอง (Executable Program) โปัรแกรมแบบ
ไบนาร� (Binary) รวมถุ-งข�อความ (Text) และย/สเซัอร'อ�นเตัอร'เฟิซั
Deployment DiagramDeployment Diagram
เปั6นได้อะแกรมทิ้��แสด้งทิ้��ตั��ง ของส$วนปัระมวลผ่ล รวมทิ้��ง Software Component ตั$าง ๆ ซั-�งอาจ็กล$าวได้�
ว$า Deployment Diagram เปั6นแผ่นภาพแสด้งสถุาปั�ตัยกรรมของฮาร'ด้แวร'และซัอฟิตั'แวร'ในระบบ รวมถุ-ง
ความส�มพ�นธ์'ระหว$างฮาร'ด้แวร'และซัอฟิตั'แวร'
The End