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

31
OOAD 2/2550 ดร.สุขสถิต มีสถิตย 1 หนวยที8: การออกแบบภาพรวมของระบบ (System Design) ดร.สุขสถิต มีสถิตย การวิเคราะหและออกแบบเชิงวัตถุ 2/2550

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

Page 1: หน วยท ี่ 8: การออกแบบภาพรวมของ ...cs.snru.ac.th/UserFiles/File/OOAD_2_50/Unit08.pdf1 OOAD 2/2550 ดร.ส ขสถ ต ม สถ

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

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

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

Page 2: หน วยท ี่ 8: การออกแบบภาพรวมของ ...cs.snru.ac.th/UserFiles/File/OOAD_2_50/Unit08.pdf1 OOAD 2/2550 ดร.ส ขสถ ต ม สถ

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

วัตถุประสงค

เพื่อใหนกัศึกษาตระหนกัถึงความสําคัญของการออกแบบระบบ

เพื่อใหนกัศึกษาเขาใจกิจกรรม และพื้นฐานของการออกแบบระบบ

เพื่อใหนกัศึกษาเขาใจและสามารถออกแบบสถาปตยกรรมของระบบได

Page 3: หน วยท ี่ 8: การออกแบบภาพรวมของ ...cs.snru.ac.th/UserFiles/File/OOAD_2_50/Unit08.pdf1 OOAD 2/2550 ดร.ส ขสถ ต ม สถ

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

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

การวิเคราะห (Analysis) คือ การทําความเขาใจกับปญหา– อะไร (What) คือสิ่งที่ตองการ

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

Page 4: หน วยท ี่ 8: การออกแบบภาพรวมของ ...cs.snru.ac.th/UserFiles/File/OOAD_2_50/Unit08.pdf1 OOAD 2/2550 ดร.ส ขสถ ต ม สถ

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

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

การออกแบบ (Design)

แบบจําลองการออกแบบ

(Design model)

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

แบบจําลองการวิเคราะห

(Analysis model)

แบบจําลองความตองการ

(Requirements model)

Page 5: หน วยท ี่ 8: การออกแบบภาพรวมของ ...cs.snru.ac.th/UserFiles/File/OOAD_2_50/Unit08.pdf1 OOAD 2/2550 ดร.ส ขสถ ต ม สถ

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

ความสําคัญของการออกแบบ

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

Page 6: หน วยท ี่ 8: การออกแบบภาพรวมของ ...cs.snru.ac.th/UserFiles/File/OOAD_2_50/Unit08.pdf1 OOAD 2/2550 ดร.ส ขสถ ต ม สถ

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

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

ความสม่ําเสมอ (Consistency)– เปนมาตรฐานเดียวกันทุกสวนของระบบ

ฟงกชันการใชงานของระบบ (Functionality)– ถูกตองสมบูรณ

ความมีประสิทธิภาพ (Efficiency)– เวลาและทรัพยากร

ความนาเชือ่ถอื (Reliability)– ทนตอความผิดพลาดหรือขอขัดของทางฮารดแวรและซอฟตแวร– รักษาความถูกตองของขอมูล

Page 7: หน วยท ี่ 8: การออกแบบภาพรวมของ ...cs.snru.ac.th/UserFiles/File/OOAD_2_50/Unit08.pdf1 OOAD 2/2550 ดร.ส ขสถ ต ม สถ

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

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

• ความสามารถในการเคลื่อนยาย (Portability)• ความปลอดภัย (Security)

– ปองการบุกรุกจากภายนอก และการใชงานโดยไมไดรับอนุญาตการจากผูใชใน

ความยืดหยุน (Flexibility)– การสะดวกในการปรับเปลี่ยนรูปแบบการใชระบบ (Configuration)

ความสะดวกการบํารุงรกัษา (Maintainability)– ระบบที่งายตอการแกไข และตอเติม– การออกแบบที่ดี + การบันทึกที่ดี

Page 8: หน วยท ี่ 8: การออกแบบภาพรวมของ ...cs.snru.ac.th/UserFiles/File/OOAD_2_50/Unit08.pdf1 OOAD 2/2550 ดร.ส ขสถ ต ม สถ

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

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

การพอใจในใชงาน (Usability)– ระบบที่ผูใชมีความสุขในการใช– งายตอการเรียนรู งายตอการใช– ลดโอกาสการทํางานผิดพลาด

การใชงานซ้ํา (Reuse)– การออกแบบเพื่อใหสวนตางๆ ของระบบใชงานซ้ําได– ใชสิ่งที่สรางไวแลว

การเกีย่วพนัภายในโมดลู (Cohesion)การเกีย่วพนัระหวางโมดูล (Coupling)

Page 9: หน วยท ี่ 8: การออกแบบภาพรวมของ ...cs.snru.ac.th/UserFiles/File/OOAD_2_50/Unit08.pdf1 OOAD 2/2550 ดร.ส ขสถ ต ม สถ

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

System / Architectural Design และ Detailed Design

System Design / Architectural Design– ออกแบบสถาปตยกรรมของระบบ และกําหนดมาตรฐานที่ใชรวมกนัทั้งระบบ

Detailed Design– การออกแบบแตละสวนของระบบใหเขากับสถาปตยกรรมและเปนไปตามมาตรฐาน

– สําหรับ OO เนนที่การออกแบบคลาส และออบเจ็ค

Page 10: หน วยท ี่ 8: การออกแบบภาพรวมของ ...cs.snru.ac.th/UserFiles/File/OOAD_2_50/Unit08.pdf1 OOAD 2/2550 ดร.ส ขสถ ต ม สถ

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

Logical Design และ Physical Design

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

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

Page 11: หน วยท ี่ 8: การออกแบบภาพรวมของ ...cs.snru.ac.th/UserFiles/File/OOAD_2_50/Unit08.pdf1 OOAD 2/2550 ดร.ส ขสถ ต ม สถ

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

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

System Design / Architectural Designแบงเปน– การสรางแบบจําลองเชิงสถาปตยกรรม (Architectural

model)Logical System Design Physical System Design

– การกาํหนดมาตรฐานในการสรางระบบ

Page 12: หน วยท ี่ 8: การออกแบบภาพรวมของ ...cs.snru.ac.th/UserFiles/File/OOAD_2_50/Unit08.pdf1 OOAD 2/2550 ดร.ส ขสถ ต ม สถ

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

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

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

Page 13: หน วยท ี่ 8: การออกแบบภาพรวมของ ...cs.snru.ac.th/UserFiles/File/OOAD_2_50/Unit08.pdf1 OOAD 2/2550 ดร.ส ขสถ ต ม สถ

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

ระบบยอย (Subsystem)

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

Page 14: หน วยท ี่ 8: การออกแบบภาพรวมของ ...cs.snru.ac.th/UserFiles/File/OOAD_2_50/Unit08.pdf1 OOAD 2/2550 ดร.ส ขสถ ต ม สถ

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

ระบบยอย (Subsystem)

ประโยชน– แบงระบบเปนหนวยยอยซึ่งงายและสะดวกในของการพัฒนา

– สงเสริมการใชซ้ํา– ชวยจัดการกับความซับซอนของระบบ– เพิ่มความสะดวกในการบํารุงรกัษา– เอื้อตอการเคลื่อนยาย

Page 15: หน วยท ี่ 8: การออกแบบภาพรวมของ ...cs.snru.ac.th/UserFiles/File/OOAD_2_50/Unit08.pdf1 OOAD 2/2550 ดร.ส ขสถ ต ม สถ

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

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

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

Page 16: หน วยท ี่ 8: การออกแบบภาพรวมของ ...cs.snru.ac.th/UserFiles/File/OOAD_2_50/Unit08.pdf1 OOAD 2/2550 ดร.ส ขสถ ต ม สถ

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

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

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

Page 17: หน วยท ี่ 8: การออกแบบภาพรวมของ ...cs.snru.ac.th/UserFiles/File/OOAD_2_50/Unit08.pdf1 OOAD 2/2550 ดร.ส ขสถ ต ม สถ

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

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

สถาปตยกรรมแบบ Model-view-controller (MVC)– Models อิมพลีเมนต application logic– Views และ controllers จัดการ user interfaces

View outputControllers input

Page 18: หน วยท ี่ 8: การออกแบบภาพรวมของ ...cs.snru.ac.th/UserFiles/File/OOAD_2_50/Unit08.pdf1 OOAD 2/2550 ดร.ส ขสถ ต ม สถ

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

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

Application

Data formatting

Data management

Page 19: หน วยท ี่ 8: การออกแบบภาพรวมของ ...cs.snru.ac.th/UserFiles/File/OOAD_2_50/Unit08.pdf1 OOAD 2/2550 ดร.ส ขสถ ต ม สถ

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

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

Page 20: หน วยท ี่ 8: การออกแบบภาพรวมของ ...cs.snru.ac.th/UserFiles/File/OOAD_2_50/Unit08.pdf1 OOAD 2/2550 ดร.ส ขสถ ต ม สถ

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

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

Page 21: หน วยท ี่ 8: การออกแบบภาพรวมของ ...cs.snru.ac.th/UserFiles/File/OOAD_2_50/Unit08.pdf1 OOAD 2/2550 ดร.ส ขสถ ต ม สถ

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

Layers

Page 22: หน วยท ี่ 8: การออกแบบภาพรวมของ ...cs.snru.ac.th/UserFiles/File/OOAD_2_50/Unit08.pdf1 OOAD 2/2550 ดร.ส ขสถ ต ม สถ

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

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

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

Page 23: หน วยท ี่ 8: การออกแบบภาพรวมของ ...cs.snru.ac.th/UserFiles/File/OOAD_2_50/Unit08.pdf1 OOAD 2/2550 ดร.ส ขสถ ต ม สถ

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

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

Page 24: หน วยท ี่ 8: การออกแบบภาพรวมของ ...cs.snru.ac.th/UserFiles/File/OOAD_2_50/Unit08.pdf1 OOAD 2/2550 ดร.ส ขสถ ต ม สถ

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

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

A PACKAGE Package

A DEPENDENCY RELATIONSHIP

Page 25: หน วยท ี่ 8: การออกแบบภาพรวมของ ...cs.snru.ac.th/UserFiles/File/OOAD_2_50/Unit08.pdf1 OOAD 2/2550 ดร.ส ขสถ ต ม สถ

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

แพคเก็จ (Packages)

ระบบยอยแสดงในรปูของแพคเก็จ (Packages) ในยูเอม็แอลไดอะแกรมแพคเก็จ = การรวมกลุมของ UML อลีีเมนต (element)ทําใหลดความซับซอนของ UML diagrams– จัดกลุมของ elements ที่เกี่ยวของกนัไวใน higher-level

element อนัเดยีวDependency relationships– แสดงการขึ้นตอกนัระหวาง packages

Page 26: หน วยท ี่ 8: การออกแบบภาพรวมของ ...cs.snru.ac.th/UserFiles/File/OOAD_2_50/Unit08.pdf1 OOAD 2/2550 ดร.ส ขสถ ต ม สถ

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

การขึน้ตอกัน (Dependency)

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

Page 27: หน วยท ี่ 8: การออกแบบภาพรวมของ ...cs.snru.ac.th/UserFiles/File/OOAD_2_50/Unit08.pdf1 OOAD 2/2550 ดร.ส ขสถ ต ม สถ

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

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

Page 28: หน วยท ี่ 8: การออกแบบภาพรวมของ ...cs.snru.ac.th/UserFiles/File/OOAD_2_50/Unit08.pdf1 OOAD 2/2550 ดร.ส ขสถ ต ม สถ

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

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

1. กําหนดบริบท2. จับกลุมคลาสตามความสัมพนัธทีม่ีรวมกัน (ระบบ

ยอย)3. กําหนดกลุมคลาสเปนแพคเก็จ4. กําหนดความสัมพันธแบบขึ้นตอกนัระหวางแพค

เก็จ5. วาดความสัมพนัธนัน้ในไดอะแกรม

Page 29: หน วยท ี่ 8: การออกแบบภาพรวมของ ...cs.snru.ac.th/UserFiles/File/OOAD_2_50/Unit08.pdf1 OOAD 2/2550 ดร.ส ขสถ ต ม สถ

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

ตัวอยาง

Page 30: หน วยท ี่ 8: การออกแบบภาพรวมของ ...cs.snru.ac.th/UserFiles/File/OOAD_2_50/Unit08.pdf1 OOAD 2/2550 ดร.ส ขสถ ต ม สถ

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

ตัวอยาง

Page 31: หน วยท ี่ 8: การออกแบบภาพรวมของ ...cs.snru.ac.th/UserFiles/File/OOAD_2_50/Unit08.pdf1 OOAD 2/2550 ดร.ส ขสถ ต ม สถ

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

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

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