You are on page 1of 31

หนวยที่ 8: การออกแบบภาพรวมของระบบ

(System Design)

ดร.สุขสถิต มีสถิตย
การวิเคราะหและออกแบบเชิงวัตถุ
2/2550

1 OOAD 2/2550 ดร.สุขสถิต มีสถิตย


วัตถุประสงค

z เพื่อใหนก
ั ศึกษาตระหนักถึงความสําคัญของการ
ออกแบบระบบ
z เพื่อใหนก
ั ศึกษาเขาใจกิจกรรม และพื้นฐานของการ
ออกแบบระบบ
z เพื่อใหนก
ั ศึกษาเขาใจและสามารถออกแบบ
สถาปตยกรรมของระบบได

2 OOAD 2/2550 ดร.สุขสถิต มีสถิตย


การวิเคราะห กับ การออกแบบ

z การวิเคราะห (Analysis) คือ การทําความเขาใจกับ


ปญหา
– อะไร (What) คือสิ่งที่ตองการ
z การออกแบบ (Design) คือ การกําหนดแบบ
สําหรับสรางระบบที่แกปญ
 หา
– ใชวิธีการอยางไร (How) ในการกระทําสิ่งที่ตองการ

3 OOAD 2/2550 ดร.สุขสถิต มีสถิตย


กระบวนการออกแบบ

ขอกําหนดความตองการ
(Requirements
specification)

แบบจําลองความ
ตองการ การออกแบบ แบบจําลองการ
(Requirements ออกแบบ
(Design)
model) (Design model)

แบบจําลองการ
วิเคราะห
(Analysis model)
4 OOAD 2/2550 ดร.สุขสถิต มีสถิตย
ความสําคัญของการออกแบบ

z ทําใหแนใจวาระบบสามารถสรางได (Buildable)
z ทําใหงายตอการจัดการของผูจัดการโครงการ
(Project manager) (manageable)
z ชวยสงเสริมการใชงานซ้ําในกระบวนการเขียน
โปรแกรม (Reusable)
z ทําใหมนั่ ใจวาไดระบบทีด
่ ี
– ตรงตามความตองการของผูใช
– งายตอการบํารุงรักษา

5 OOAD 2/2550 ดร.สุขสถิต มีสถิตย


หลักในการออกแบบ

z ความสม่ําเสมอ (Consistency)
– เปนมาตรฐานเดียวกันทุกสวนของระบบ
z ฟงกชันการใชงานของระบบ (Functionality)
– ถูกตองสมบูรณ
z ความมีประสิทธิภาพ (Efficiency)
– เวลาและทรัพยากร
z ความนาเชือ
่ ถือ (Reliability)
– ทนตอความผิดพลาดหรือขอขัดของทางฮารดแวรและซอฟตแวร
– รักษาความถูกตองของขอมูล

6 OOAD 2/2550 ดร.สุขสถิต มีสถิตย


หลักในการออกแบบ

• ความสามารถในการเคลื่อนยาย (Portability)
• ความปลอดภัย (Security)
– ปองการบุกรุกจากภายนอก และการใชงานโดยไมไดรับอนุญาตการ
จากผูใชใน
z ความยืดหยุน
 (Flexibility)
– การสะดวกในการปรับเปลี่ยนรูปแบบการใชระบบ (Configuration)
z ความสะดวกการบํารุงรักษา (Maintainability)
– ระบบที่งายตอการแกไข และตอเติม
– การออกแบบที่ดี + การบันทึกที่ดี

7 OOAD 2/2550 ดร.สุขสถิต มีสถิตย


หลักในการออกแบบ

z การพอใจในใชงาน (Usability)
– ระบบที่ผูใชมีความสุขในการใช
– งายตอการเรียนรู งายตอการใช
– ลดโอกาสการทํางานผิดพลาด
z การใชงานซ้ํา (Reuse)
– การออกแบบเพื่อใหสวนตางๆ ของระบบใชงานซ้ําได
– ใชสิ่งที่สรางไวแลว
z การเกีย
่ วพันภายในโมดูล (Cohesion)
z การเกีย่ วพันระหวางโมดูล (Coupling)

8 OOAD 2/2550 ดร.สุขสถิต มีสถิตย


System / Architectural Design และ
Detailed Design

z System Design / Architectural Design


– ออกแบบสถาปตยกรรมของระบบ และกําหนดมาตรฐาน
ที่ใชรว มกันทั้งระบบ
z Detailed Design
– การออกแบบแตละสวนของระบบใหเขากับ
สถาปตยกรรมและเปนไปตามมาตรฐาน
– สําหรับ OO เนนที่การออกแบบคลาส และออบเจ็ค

9 OOAD 2/2550 ดร.สุขสถิต มีสถิตย


Logical Design และ Physical Design

z Logical / Implementation-independent Design


– การออกแบบสวนที่ไมยด
ึ ติดกับแพลตฟอรม
z Physical / Implementation-dependent Design
– การออกแบบสวนที่ยึดติดกับแพลตฟอรม

10 OOAD 2/2550 ดร.สุขสถิต มีสถิตย


การออกแบบภาพรวมของระบบ

z System Design / Architectural Design


z แบงเปน
– การสรางแบบจําลองเชิงสถาปตยกรรม (Architectural
model)
z Logical System Design
z Physical System Design
– การกําหนดมาตรฐานในการสรางระบบ

11 OOAD 2/2550 ดร.สุขสถิต มีสถิตย


รูปแบบสถาปตยกรรมของระบบ

z ระบบยอย (Subsystem)
z เลเยอร (Layer)
z พารติชัน (Partition)

12 OOAD 2/2550 ดร.สุขสถิต มีสถิตย


ระบบยอย (Subsystem)

z ระบบยอย คือ คอมโพเนนตของระบบทีเ่ กิดจากการ


แตกระบบใหญออกเปนหนวยยอย
z ระบบยอย มักประกอบดวยกลุม  ขององคประกอบ
ของระบบที่มลี ก
ั ษณะรวมกัน
z ระบบยอยมีขอบเขตและอินเตอรเฟส
z อาจมีการทํางานรวมกันระหวางระบบยอย

13 OOAD 2/2550 ดร.สุขสถิต มีสถิตย


ระบบยอย (Subsystem)

z ประโยชน
– แบงระบบเปนหนวยยอยซึ่งงายและสะดวกในของการ
พัฒนา
– สงเสริมการใชซ้ํา
– ชวยจัดการกับความซับซอนของระบบ
– เพิ่มความสะดวกในการบํารุงรักษา
– เอื้อตอการเคลื่อนยาย

14 OOAD 2/2550 ดร.สุขสถิต มีสถิตย


การแบงระบบยอย

z ออบเจ็คที่ทํางานรวมกันควรอยูในระบบยอย
เดียวกัน
z จํานวนเมสเสจหรือ contracts ระหวางออบเจ็คยิ่ง
มากระหวาง ยิ่งเปนไปไดมากที่จะอยูในระบบยอย
เดียวกัน

15 OOAD 2/2550 ดร.สุขสถิต มีสถิตย


การแบงเลเยอร (Layering)

z การจัดสถาปตยกรรมของระบบเปนลําดับชัน ้ ของระบบยอย
z ระบบยอยในแตละระดับมีบริการใหระบบยอยในระดับที่อยู
เหนือขึ้นไป โดยใชบริการของระบบยอยที่อยูร ะดับลาง
z ระบบยอยแสดงระดับของแอ็บสแตร็กชันที่ตางกัน
z แตละเลเยอรสอดคลองกับหนึง่ ระบบยอยหรือมากกวา ซึ่ง
ตางกันทีร่ ะดับของแอ็บสแตร็กชัน หรือฟงกชน
ั ที่เนน

16 OOAD 2/2550 ดร.สุขสถิต มีสถิตย


รูปแบบสถาปตยกรรมแบบแบงเลเยอร

z สถาปตยกรรมแบบ Model-view-controller (MVC)


– Models อิมพลีเมนต application logic
– Views และ controllers จัดการ user interfaces
z View Æ output
z Controllers Æ input

17 OOAD 2/2550 ดร.สุขสถิต มีสถิตย


รูปแบบสถาปตยกรรม

Application

Data formatting

Data management

18 OOAD 2/2550 ดร.สุขสถิต มีสถิตย


รูปแบบสถาปตยกรรม

19 OOAD 2/2550 ดร.สุขสถิต มีสถิตย


รูปแบบสถาปตยกรรม

20 OOAD 2/2550 ดร.สุขสถิต มีสถิตย


Layers

21 OOAD 2/2550 ดร.สุขสถิต มีสถิตย


การแบงพารตช
ิ ัน (Partition)

z การจัดสถาปตยกรรมของระบบที่จัดระบบยอยเปน
ระดับเดียวกัน (peer) โดยแตละระบบยอยมีบริการ
แตกตางกันใหระบบยอยอื่นใช
z แตระบบยอยจะเนนฟงกชน
ั ดานที่ตางกันของระบบ
z บางเลเยอรอาจมีการแบงเปนพารติชน ั

22 OOAD 2/2550 ดร.สุขสถิต มีสถิตย


การออกแบบสถาปตยกรรมโดยใช
ยูเอ็มแอล

23 OOAD 2/2550 ดร.สุขสถิต มีสถิตย


รูปแบบสัญลักษณ

A PACKAGE Package

A DEPENDENCY RELATIONSHIP

24 OOAD 2/2550 ดร.สุขสถิต มีสถิตย


แพคเก็จ (Packages)

z ระบบยอยแสดงในรูปของแพคเก็จ (Packages) ใน
ยูเอ็มแอลไดอะแกรม
z แพคเก็จ = การรวมกลุม
 ของ UML อีลีเมนต
(element)
z ทําใหลดความซับซอนของ UML diagrams
– จัดกลุมของ elements ที่เกี่ยวของกันไวใน higher-level
element อันเดียว
z Dependency relationships
– แสดงการขึ้นตอกันระหวาง packages
25 OOAD 2/2550 ดร.สุขสถิต มีสถิตย
การขึน
้ ตอกัน (Dependency)

z แสดงวาการเปลี่ยนแปลงที่เกิดขึ้นในแพคเก็จหนึ่ง สงผลใหอีกแพคเก็จ
หนึ่งตองเปลี่ยนแปลงตามไปดวย
z การเปลี่ยนแปลงที่สงผลจํากัดที่ระดับอินเตอรเฟสของแพคเก็จ

26 OOAD 2/2550 ดร.สุขสถิต มีสถิตย


ตัวอยางแสดง Package และ Dependency
Relationships

27 OOAD 2/2550 ดร.สุขสถิต มีสถิตย


การออกแบบ Logical System Design

1. กําหนดบริบท
2. จับกลุมคลาสตามความสัมพันธทมี่ ีรวมกัน (ระบบ
ยอย)
3. กําหนดกลุมคลาสเปนแพคเก็จ
4. กําหนดความสัมพันธแบบขึ้นตอกันระหวางแพค
เก็จ
5. วาดความสัมพันธนน
ั้ ในไดอะแกรม

28 OOAD 2/2550 ดร.สุขสถิต มีสถิตย


ตัวอยาง

29 OOAD 2/2550 ดร.สุขสถิต มีสถิตย


ตัวอยาง

30 OOAD 2/2550 ดร.สุขสถิต มีสถิตย


มาตรฐานในการพัฒนา

z แนวทางในการออกแบบสวนติดตอผูใช
– Human-computer interface (HCI)
z แนวทางในการออกแบบอุปกรณอน
ิ พุต-เอาทพุต
z แนวทางในการสราง
– เชน การตั้งชื่อ การใชคุณสมบัติของซอฟตแวร
โครงสรางของโคด

31 OOAD 2/2550 ดร.สุขสถิต มีสถิตย

You might also like