Professional Documents
Culture Documents
(System Design)
ดร.สุขสถิต มีสถิตย
การวิเคราะหและออกแบบเชิงวัตถุ
2/2550
z เพื่อใหนก
ั ศึกษาตระหนักถึงความสําคัญของการ
ออกแบบระบบ
z เพื่อใหนก
ั ศึกษาเขาใจกิจกรรม และพื้นฐานของการ
ออกแบบระบบ
z เพื่อใหนก
ั ศึกษาเขาใจและสามารถออกแบบ
สถาปตยกรรมของระบบได
ขอกําหนดความตองการ
(Requirements
specification)
แบบจําลองความ
ตองการ การออกแบบ แบบจําลองการ
(Requirements ออกแบบ
(Design)
model) (Design model)
แบบจําลองการ
วิเคราะห
(Analysis model)
4 OOAD 2/2550 ดร.สุขสถิต มีสถิตย
ความสําคัญของการออกแบบ
z ทําใหแนใจวาระบบสามารถสรางได (Buildable)
z ทําใหงายตอการจัดการของผูจัดการโครงการ
(Project manager) (manageable)
z ชวยสงเสริมการใชงานซ้ําในกระบวนการเขียน
โปรแกรม (Reusable)
z ทําใหมนั่ ใจวาไดระบบทีด
่ ี
– ตรงตามความตองการของผูใช
– งายตอการบํารุงรักษา
z ความสม่ําเสมอ (Consistency)
– เปนมาตรฐานเดียวกันทุกสวนของระบบ
z ฟงกชันการใชงานของระบบ (Functionality)
– ถูกตองสมบูรณ
z ความมีประสิทธิภาพ (Efficiency)
– เวลาและทรัพยากร
z ความนาเชือ
่ ถือ (Reliability)
– ทนตอความผิดพลาดหรือขอขัดของทางฮารดแวรและซอฟตแวร
– รักษาความถูกตองของขอมูล
• ความสามารถในการเคลื่อนยาย (Portability)
• ความปลอดภัย (Security)
– ปองการบุกรุกจากภายนอก และการใชงานโดยไมไดรับอนุญาตการ
จากผูใชใน
z ความยืดหยุน
(Flexibility)
– การสะดวกในการปรับเปลี่ยนรูปแบบการใชระบบ (Configuration)
z ความสะดวกการบํารุงรักษา (Maintainability)
– ระบบที่งายตอการแกไข และตอเติม
– การออกแบบที่ดี + การบันทึกที่ดี
z การพอใจในใชงาน (Usability)
– ระบบที่ผูใชมีความสุขในการใช
– งายตอการเรียนรู งายตอการใช
– ลดโอกาสการทํางานผิดพลาด
z การใชงานซ้ํา (Reuse)
– การออกแบบเพื่อใหสวนตางๆ ของระบบใชงานซ้ําได
– ใชสิ่งที่สรางไวแลว
z การเกีย
่ วพันภายในโมดูล (Cohesion)
z การเกีย่ วพันระหวางโมดูล (Coupling)
z ระบบยอย (Subsystem)
z เลเยอร (Layer)
z พารติชัน (Partition)
z ประโยชน
– แบงระบบเปนหนวยยอยซึ่งงายและสะดวกในของการ
พัฒนา
– สงเสริมการใชซ้ํา
– ชวยจัดการกับความซับซอนของระบบ
– เพิ่มความสะดวกในการบํารุงรักษา
– เอื้อตอการเคลื่อนยาย
z ออบเจ็คที่ทํางานรวมกันควรอยูในระบบยอย
เดียวกัน
z จํานวนเมสเสจหรือ contracts ระหวางออบเจ็คยิ่ง
มากระหวาง ยิ่งเปนไปไดมากที่จะอยูในระบบยอย
เดียวกัน
z การจัดสถาปตยกรรมของระบบเปนลําดับชัน ้ ของระบบยอย
z ระบบยอยในแตละระดับมีบริการใหระบบยอยในระดับที่อยู
เหนือขึ้นไป โดยใชบริการของระบบยอยที่อยูร ะดับลาง
z ระบบยอยแสดงระดับของแอ็บสแตร็กชันที่ตางกัน
z แตละเลเยอรสอดคลองกับหนึง่ ระบบยอยหรือมากกวา ซึ่ง
ตางกันทีร่ ะดับของแอ็บสแตร็กชัน หรือฟงกชน
ั ที่เนน
Application
Data formatting
Data management
z การจัดสถาปตยกรรมของระบบที่จัดระบบยอยเปน
ระดับเดียวกัน (peer) โดยแตละระบบยอยมีบริการ
แตกตางกันใหระบบยอยอื่นใช
z แตระบบยอยจะเนนฟงกชน
ั ดานที่ตางกันของระบบ
z บางเลเยอรอาจมีการแบงเปนพารติชน ั
A PACKAGE Package
A DEPENDENCY RELATIONSHIP
z ระบบยอยแสดงในรูปของแพคเก็จ (Packages) ใน
ยูเอ็มแอลไดอะแกรม
z แพคเก็จ = การรวมกลุม
ของ UML อีลีเมนต
(element)
z ทําใหลดความซับซอนของ UML diagrams
– จัดกลุมของ elements ที่เกี่ยวของกันไวใน higher-level
element อันเดียว
z Dependency relationships
– แสดงการขึ้นตอกันระหวาง packages
25 OOAD 2/2550 ดร.สุขสถิต มีสถิตย
การขึน
้ ตอกัน (Dependency)
z แสดงวาการเปลี่ยนแปลงที่เกิดขึ้นในแพคเก็จหนึ่ง สงผลใหอีกแพคเก็จ
หนึ่งตองเปลี่ยนแปลงตามไปดวย
z การเปลี่ยนแปลงที่สงผลจํากัดที่ระดับอินเตอรเฟสของแพคเก็จ
1. กําหนดบริบท
2. จับกลุมคลาสตามความสัมพันธทมี่ ีรวมกัน (ระบบ
ยอย)
3. กําหนดกลุมคลาสเปนแพคเก็จ
4. กําหนดความสัมพันธแบบขึ้นตอกันระหวางแพค
เก็จ
5. วาดความสัมพันธนน
ั้ ในไดอะแกรม
z แนวทางในการออกแบบสวนติดตอผูใช
– Human-computer interface (HCI)
z แนวทางในการออกแบบอุปกรณอน
ิ พุต-เอาทพุต
z แนวทางในการสราง
– เชน การตั้งชื่อ การใชคุณสมบัติของซอฟตแวร
โครงสรางของโคด