Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
OOAD 2/2550 ดร.สุขสถิต มสีถติย1
หนวยที่ 8: การออกแบบภาพรวมของระบบ (System Design)
ดร.สุขสถิต มีสถิตยการวิเคราะหและออกแบบเชิงวัตถุ2/2550
OOAD 2/2550 ดร.สุขสถิต มสีถติย2
วัตถุประสงค
เพื่อใหนกัศึกษาตระหนกัถึงความสําคัญของการออกแบบระบบ
เพื่อใหนกัศึกษาเขาใจกิจกรรม และพื้นฐานของการออกแบบระบบ
เพื่อใหนกัศึกษาเขาใจและสามารถออกแบบสถาปตยกรรมของระบบได
OOAD 2/2550 ดร.สุขสถิต มสีถติย3
การวิเคราะห กบั การออกแบบ
การวิเคราะห (Analysis) คือ การทําความเขาใจกับปญหา– อะไร (What) คือสิ่งที่ตองการ
การออกแบบ (Design) คือ การกําหนดแบบสําหรับสรางระบบที่แกปญหา– ใชวิธีการอยางไร (How) ในการกระทําสิ่งที่ตองการ
OOAD 2/2550 ดร.สุขสถิต มสีถติย4
กระบวนการออกแบบ
การออกแบบ (Design)
แบบจําลองการออกแบบ
(Design model)
ขอกําหนดความตองการ(Requirements specification)
แบบจําลองการวิเคราะห
(Analysis model)
แบบจําลองความตองการ
(Requirements model)
OOAD 2/2550 ดร.สุขสถิต มสีถติย5
ความสําคัญของการออกแบบ
ทําใหแนใจวาระบบสามารถสรางได (Buildable)ทําใหงายตอการจัดการของผูจัดการโครงการ (Project manager) (manageable)ชวยสงเสริมการใชงานซ้ําในกระบวนการเขียนโปรแกรม (Reusable)ทําใหมัน่ใจวาไดระบบทีด่ี– ตรงตามความตองการของผูใช– งายตอการบํารุงรกัษา
OOAD 2/2550 ดร.สุขสถิต มสีถติย6
หลกัในการออกแบบ
ความสม่ําเสมอ (Consistency)– เปนมาตรฐานเดียวกันทุกสวนของระบบ
ฟงกชันการใชงานของระบบ (Functionality)– ถูกตองสมบูรณ
ความมีประสิทธิภาพ (Efficiency)– เวลาและทรัพยากร
ความนาเชือ่ถอื (Reliability)– ทนตอความผิดพลาดหรือขอขัดของทางฮารดแวรและซอฟตแวร– รักษาความถูกตองของขอมูล
OOAD 2/2550 ดร.สุขสถิต มสีถติย7
หลกัในการออกแบบ
• ความสามารถในการเคลื่อนยาย (Portability)• ความปลอดภัย (Security)
– ปองการบุกรุกจากภายนอก และการใชงานโดยไมไดรับอนุญาตการจากผูใชใน
ความยืดหยุน (Flexibility)– การสะดวกในการปรับเปลี่ยนรูปแบบการใชระบบ (Configuration)
ความสะดวกการบํารุงรกัษา (Maintainability)– ระบบที่งายตอการแกไข และตอเติม– การออกแบบที่ดี + การบันทึกที่ดี
OOAD 2/2550 ดร.สุขสถิต มสีถติย8
หลกัในการออกแบบ
การพอใจในใชงาน (Usability)– ระบบที่ผูใชมีความสุขในการใช– งายตอการเรียนรู งายตอการใช– ลดโอกาสการทํางานผิดพลาด
การใชงานซ้ํา (Reuse)– การออกแบบเพื่อใหสวนตางๆ ของระบบใชงานซ้ําได– ใชสิ่งที่สรางไวแลว
การเกีย่วพนัภายในโมดลู (Cohesion)การเกีย่วพนัระหวางโมดูล (Coupling)
OOAD 2/2550 ดร.สุขสถิต มสีถติย9
System / Architectural Design และ Detailed Design
System Design / Architectural Design– ออกแบบสถาปตยกรรมของระบบ และกําหนดมาตรฐานที่ใชรวมกนัทั้งระบบ
Detailed Design– การออกแบบแตละสวนของระบบใหเขากับสถาปตยกรรมและเปนไปตามมาตรฐาน
– สําหรับ OO เนนที่การออกแบบคลาส และออบเจ็ค
OOAD 2/2550 ดร.สุขสถิต มสีถติย10
Logical Design และ Physical Design
Logical / Implementation-independent Design– การออกแบบสวนที่ไมยดึติดกบัแพลตฟอรม
Physical / Implementation-dependent Design – การออกแบบสวนที่ยึดตดิกับแพลตฟอรม
OOAD 2/2550 ดร.สุขสถิต มสีถติย11
การออกแบบภาพรวมของระบบ
System Design / Architectural Designแบงเปน– การสรางแบบจําลองเชิงสถาปตยกรรม (Architectural
model)Logical System Design Physical System Design
– การกาํหนดมาตรฐานในการสรางระบบ
OOAD 2/2550 ดร.สุขสถิต มสีถติย12
รูปแบบสถาปตยกรรมของระบบ
ระบบยอย (Subsystem)เลเยอร (Layer)พารติชัน (Partition)
OOAD 2/2550 ดร.สุขสถิต มสีถติย13
ระบบยอย (Subsystem)
ระบบยอย คือ คอมโพเนนตของระบบทีเ่กิดจากการแตกระบบใหญออกเปนหนวยยอยระบบยอย มกัประกอบดวยกลุมขององคประกอบของระบบที่มลีกัษณะรวมกันระบบยอยมีขอบเขตและอินเตอรเฟสอาจมกีารทํางานรวมกันระหวางระบบยอย
OOAD 2/2550 ดร.สุขสถิต มสีถติย14
ระบบยอย (Subsystem)
ประโยชน– แบงระบบเปนหนวยยอยซึ่งงายและสะดวกในของการพัฒนา
– สงเสริมการใชซ้ํา– ชวยจัดการกับความซับซอนของระบบ– เพิ่มความสะดวกในการบํารุงรกัษา– เอื้อตอการเคลื่อนยาย
OOAD 2/2550 ดร.สุขสถิต มสีถติย15
การแบงระบบยอย
ออบเจ็คที่ทํางานรวมกันควรอยูในระบบยอยเดียวกันจํานวนเมสเสจหรือ contracts ระหวางออบเจ็คยิ่งมากระหวาง ยิ่งเปนไปไดมากที่จะอยูในระบบยอยเดียวกัน
OOAD 2/2550 ดร.สุขสถิต มสีถติย16
การแบงเลเยอร (Layering)
การจัดสถาปตยกรรมของระบบเปนลําดบัชัน้ของระบบยอยระบบยอยในแตละระดบัมีบรกิารใหระบบยอยในระดบัที่อยูเหนือขึ้นไป โดยใชบรกิารของระบบยอยที่อยูระดับลางระบบยอยแสดงระดับของแอ็บสแตรก็ชนัที่ตางกนัแตละเลเยอรสอดคลองกับหนึง่ระบบยอยหรือมากกวา ซึ่งตางกันทีร่ะดับของแอ็บสแตร็กชนั หรือฟงกชนัที่เนน
OOAD 2/2550 ดร.สุขสถิต มสีถติย17
รูปแบบสถาปตยกรรมแบบแบงเลเยอร
สถาปตยกรรมแบบ Model-view-controller (MVC)– Models อิมพลีเมนต application logic– Views และ controllers จัดการ user interfaces
View outputControllers input
OOAD 2/2550 ดร.สุขสถิต มสีถติย18
รูปแบบสถาปตยกรรม
Application
Data formatting
Data management
OOAD 2/2550 ดร.สุขสถิต มสีถติย19
รูปแบบสถาปตยกรรม
OOAD 2/2550 ดร.สุขสถิต มสีถติย20
รูปแบบสถาปตยกรรม
OOAD 2/2550 ดร.สุขสถิต มสีถติย21
Layers
OOAD 2/2550 ดร.สุขสถิต มสีถติย22
การแบงพารตชิัน (Partition)
การจัดสถาปตยกรรมของระบบที่จัดระบบยอยเปนระดับเดียวกัน (peer) โดยแตละระบบยอยมบีริการแตกตางกนัใหระบบยอยอื่นใชแตระบบยอยจะเนนฟงกชนัดานที่ตางกนัของระบบบางเลเยอรอาจมกีารแบงเปนพารติชนั
OOAD 2/2550 ดร.สุขสถิต มสีถติย23
การออกแบบสถาปตยกรรมโดยใชยูเอ็มแอล
OOAD 2/2550 ดร.สุขสถิต มสีถติย24
รูปแบบสญัลักษณ
A PACKAGE Package
A DEPENDENCY RELATIONSHIP
OOAD 2/2550 ดร.สุขสถิต มสีถติย25
แพคเก็จ (Packages)
ระบบยอยแสดงในรปูของแพคเก็จ (Packages) ในยูเอม็แอลไดอะแกรมแพคเก็จ = การรวมกลุมของ UML อลีีเมนต (element)ทําใหลดความซับซอนของ UML diagrams– จัดกลุมของ elements ที่เกี่ยวของกนัไวใน higher-level
element อนัเดยีวDependency relationships– แสดงการขึ้นตอกนัระหวาง packages
OOAD 2/2550 ดร.สุขสถิต มสีถติย26
การขึน้ตอกัน (Dependency)
แสดงวาการเปลี่ยนแปลงที่เกิดขึ้นในแพคเกจ็หนึ่ง สงผลใหอีกแพคเก็จหนึ่งตองเปลี่ยนแปลงตามไปดวยการเปลี่ยนแปลงที่สงผลจํากัดที่ระดับอินเตอรเฟสของแพคเก็จ
OOAD 2/2550 ดร.สุขสถิต มสีถติย27
ตัวอยางแสดง Package และ Dependency Relationships
OOAD 2/2550 ดร.สุขสถิต มสีถติย28
การออกแบบ Logical System Design
1. กําหนดบริบท2. จับกลุมคลาสตามความสัมพนัธทีม่ีรวมกัน (ระบบ
ยอย)3. กําหนดกลุมคลาสเปนแพคเก็จ4. กําหนดความสัมพันธแบบขึ้นตอกนัระหวางแพค
เก็จ5. วาดความสัมพนัธนัน้ในไดอะแกรม
OOAD 2/2550 ดร.สุขสถิต มสีถติย29
ตัวอยาง
OOAD 2/2550 ดร.สุขสถิต มสีถติย30
ตัวอยาง
OOAD 2/2550 ดร.สุขสถิต มสีถติย31
มาตรฐานในการพัฒนา
แนวทางในการออกแบบสวนติดตอผูใช– Human-computer interface (HCI)แนวทางในการออกแบบอุปกรณอนิพุต-เอาทพุตแนวทางในการสราง– เชน การตั้งชื่อ การใชคุณสมบัติของซอฟตแวร โครงสรางของโคด