Object Oriented Analysis And Design
description
Transcript of Object Oriented Analysis And Design
Object Oriented Analysis And Design
8311302 การวิ�เคราะห์และออกแบบเชิ�งวิ�ตถุ�Introduction to Object-Oriented Systems Analysis and Design
1
Department of InformaticsFaculty of Science and TechnologyPhuket Rajabhat University1/2553
ห์�วิข้�อที่��จะกล�าวิถุ�ง• Introduction to Systems Analysis and
Design • Introduction to Object-Oriented Systems
Analysis and Design
2
Information System Development Models (ISD Models)
• มี�แนวิที่างในการพั�ฒนาระบบห์ลากห์ลายแนวิที่าง แต�ไมี�วิ�าจะเป็&นที่างใดก(ใชิ�วิงจรการพั�ฒนาระบบ (System Development Life Cycle: SDLC) ในการวิ�เคราะห์และออกแบบ
• SDLC พั�ฒนาข้�)นบนรากฐานข้องการแก�ป็+ญห์าเชิ�งวิ�ที่ยาศาสตร (Scientific Management) มี� 7 ข้�)นตอน
3
Introduction to Systems Analysis and Design
Adapted Waterfall SDLC
4
1
2
3
4
5
6
7
1. ค�นห์าและเล/อกสรรโครงการ
2. เร��มีต�นและวิางแผนโครงการ3. วิ�เคราะห์ระบบ
4. ออกแบบเชิ�งตรรกะ5. ออกแบบเชิ�งกายภาพั
6. พั�ฒนาและต�ดต�)งระบบ
7. ซ่�อมีบ4าร�งระบบ
วงจรการพั�ฒนาระบบ (SDLC)
• วิงจรการพั�ฒนาระบบ ค/อ กระบวินการที่างควิามีค�ด (Logical Process) ในการพั�ฒนาระบบสารสนเที่ศ เพั/�อแก�ป็+ญห์าที่างธุ�รก�จและตอบสนองควิามีต�องการข้องผ6�ใชิ�ได� โดยภายในวิงจรน�)นจะแบ�งกระบวินการพั�ฒนาออกเป็&นระยะ (Phase) ป็ระเภที่ข้องวิงจรการพั�ฒนาระบบในร6ป็แบบต�าง ๆ มี�ด�งน�)– Waterfall SDLC – Adapted Waterfall SDLC– Evolutionary SDLC– Incremental SDLC– Spiral SDLC
5
Waterfall SDLC
6
1
2
3
4
5
6
Feasibility Study
System Investigation
System Analysis
System Design
Implementation
Review andMaintenance
ใชิ�ในการพั�ฒนาระบบที่��ตายต�วิอย6�แล�วิ ที่�)งน�)เพัราะไมี�สามีารถุกล�บมีาแก�ไข้ -ข้�อผ�ดพัลาดได�
Adapted Waterfall SDLC
7
1
2
3
4
5
6
7
Project Identification And Selection
Project Initiating And Planning
Analysis
Logical Design
Physical Design
Implementation
Maintenance
ป็ร�บป็ร�งมีาจาก Waterfall SDLCให์�สามีารถุกล�บมีาแก�ไข้ข้�อผ�ดพัลาดในแต�ละ Phase ได�
Evolutionary SDLC
8
Analysis
Design
Implementation
Analysis
Design
Implementation
Analysis
Design
Implementation
Product 1 Product 2 Product 3
ระบบพั�ฒนาข้�)นจากข้�อด� ข้�อเส�ยที่��พับข้อง – -แต�ละรอบข้องการพั�ฒนา
Incremental SDLC
9
Part 3Part 3Part 2Part 2
Analysis
Design
Implementation
Analysis
Design
Implementation
Analysis
Design
Implementation
Part 1Part 1Part 1Part 1
Part 2Part 2
Part 1Part 1
Spiral SDLC
10
Plan first iteration
ออกแบบ
วางแผน
ทดสอบและประเมิ�นผลว�เ
คราะ
ห์�และ
ออกแ
บบระ
บบ สร�างต�นแบบรอบที่�� 4
สร�างต�นแบบรอบที่�� 3
สร�างต�นแบบรอบที่�� 2
สร�างต�นแบบรอบที่�� 1
แนวทางปฏิ�บ�ติ� (Methodologies)
• Methodology ค/อ วิ�ธุ�การห์ร/อแนวิที่างที่��จะน4ากระบวินการที่างควิามีค�ดข้องวิงจรการพั�ฒนาระบบสารสนเที่ศที่าป็ฏิ�บ�ต�จร�ง จนกลายเป็&นระบบสารสนเที่ศที่��สามีาระใชิ�งานได� ส��งจ4าเป็&นส4าห์ร�บ Methodology ได�แก� – แบบจ4าลอง (Model)– เคร/�องมี/อในการพั�ฒนาระบบ (Tools) – เที่คน�ค (Techniques)
11
ติ�วอย่�างของ Methodology
• Structured System Analysis and Design Methodology (SSADM)– เห์มีาะก�บการที่4างานที่��มี�ร6ป็แบบการที่4างานที่��เป็&น
ข้�)นตอน *• Rapid Application Development-
based Methodology (RAD)– เห์มีาะก�บงานที่��ต�องการควิามีรวิดเร(วิ ใชิ� CASE
และ JAD• Object-Oriented Analysis and
Design Methodology– เห์มีาะก�บงานออกแบบที่��อ�างอ�งก�บ Process-
Centered Approach*
12
ห์ล�กการในการพั�ฒนาระบบ• ค4าน�งถุ�งเจ�าข้องระบบและผ6�ใชิ�ระบบ• พัยายามีเข้�าถุ�งป็+ญห์าให์�ตรงจ�ด• ก4าห์นดข้�)นตอนห์ร/อก�จกรรมีในการที่4างาน• ก4าห์นดมีาตรฐานในระห์วิ�างการพั�ฒนาระบบและจ�ด
ที่4าเอกสารป็ระกอบในที่�กข้�)นตอน• การพั�ฒนาระบบค/อการลงที่�น• เตร�ยมีควิามีพัร�อมีห์ากแผนงานห์ร/อโครงการต�อง
ถุ6กยกเล�กห์ร/อต�องที่บที่วินให์มี�• แตกระบบให์ญ�ให์�เป็&นระบบย�อย• ออกแบบระบบเพั/�อรองร�บการเต�บโตและการ
เป็ล��ยนแป็ลงในอนาคต13
Introduction to Object-Oriented Systems Analysis and Design
Object ค/อห์น�วิยสนใจข้องระบบที่��ที่4าให์�เก�ดเห์ต�การณ์บางอย�าง ส4าห์ร�บออบเจ(กตในโลกข้องเที่คโนโลย�เชิ�งวิ�ตถุ� จะเน�นที่��ต�วิป็ฏิ�บ�ต�การมีากกวิ�าการป็ฏิ�บ�ต�
Window
Click (Icon MS-Word)
MS-Word
Object Oriented ค"ออะไร?
Object
Object แบ�งได� 2 ป็ระเภที่ ค/อ ส��งที่��เป็&นร6ป็ธุรรมี และนามีธุรรมี
-ส��งที่��มี�ล�กษณ์ะเป็&นร6ป็ธุรรมี (จ�บต�องได�) เชิ�น จ�กรยาน รถุ ส�น�ข้ องคกร ใบรายการส�นค�า เป็&นต�น
-ส��งที่��มี�ล�กษณ์ะเป็&นนามีธุรรมี (จ�บต�องไมี�ได�) เชิ�น ควิามีเป็&นเจ�าข้อง เที่��ยวิบ�น การวิ��ง แสง เป็&นต�น
Object จะป็ระกอบด�วิย 2 ส�วินป็ฎิ�บ�ต�การค/อ Attribute และ Method โดย Attribute เร�ยกอ�กอย�างวิ�า Data และ Method เร�ยกอ�กอย�างวิ�า Behavior
Object
Object Data : จะเป็&นส�วินข้�อมี6ลล�บข้อง Object ที่��จะที่ราบเฉพัาะภายใน Object เที่�าน�)น เชิ�น
Object คน จะมี� attribute ค/อ ห์มีายเลข้บ�ตรป็ระชิาชิน, วิ�นเก�ด, เพัศ, ที่��อย6� เป็&นต�นObject ส�น�ข้ จะมี� attribute ค/อ ชิ/�อ, ส�, พั�นธุ�, เป็&นต�นObject จ�กรยาน จะมี� attribute ค/อ gear, ค�นเร�ง, ล�อ เป็&นต�น
ฉะน�)นจะเห์(นค4าวิ�า Attribute และ Data มี�ควิามีห์มีายใกล�เค�ยงก�น เชิ�นถุ�า ส�Attribute ค/อ ส�Data ค/อ แดง, ด4า, เข้�ยวิ เป็&นต�น
Object
Object Behavior : ส��งที่�� Object น�)นๆ สามีารถุที่4าได� ในที่าง Procedural language จะเร�ยก behavior เป็&น procedure, function ห์ร/อ subroutine ส�วินในที่าง o-o programming จะเร�ยก behavior เป็&น method เชิ�น
Object คน จะมี� methods ค/อ การเด�น, ย/น, มี�รถุ เป็&นต�นObject ส�น�ข้ จะมี� methods ค/อ การเห์�า, การห์ายใจ, การกระด�กห์าง เป็&นต�นObject จ�กรยาน จะมี� methods ค/อ การเบรค, การเร�ง, การชิลอ เป็&นต�น
ฉะน�)นจะเห์(นค4าวิ�า method และ behavior มี�ควิามีห์มีายเห์มี/อนก�น
ObjectObject แป็ลวิ�าวิ�ตถุ�ที่�)งที่��จ�บต�องได� และจ�บต�องไมี�ได� Orientation ซ่��งมีาจากค4าวิ�า Orient แป็ลวิ�า น4าที่าง น4าไป็
Object Orientation ห์มีายถุ�ง การใชิ� Object เป็&นต�วิห์ล�กเพั/�อการพั�จารณ์าควิามีเป็&นจร�งต�างๆที่��เก�ดข้�)นในโลก
การส/�อสารระห์วิ�าง Object ด�งร6ป็
Method Method
Attribute Attribute
Sender Receiver
Return Value
Message
ClassObject ที่�กต�วิจะต�องอย6�ใน class ซ่��ง class ก�บ object เป็&นส��งที่��ค6�ก�นเสมีอ สามีารถุที่ราบรายละเอ�ยดและค�ณ์สมีบ�ต� ข้อง Object ได�ด�วิยการด6ที่�� Class
Class ค/อ กล��มีข้อง Object ที่��มี�โครงสร�างพั/)นฐานพัฤต�กรรมีเด�ยวิก�น น��นค/อ class ค/อต�นแบบข้�อมี6ลที่��มี�ไวิ�เพั/�อสร�าง object น��นเอง ฉะน�)นก�อนที่��จะที่4าการสร�าง object จะต�องสร�าง class ข้�)นมีาก�อน ด�งร6ป็Class
TemplateObject 1
Object 2
Object 3
Class
Class นอกจากจะมี�ชิ/�อ Class ที่��บอกค�ณ์สมีบ�ต�ข้อง Class น�)น ย�งมี� Attribute และ Operation ต�างๆ ซ่��งเป็&นต�วิอธุ�บายรายละเอ�ยด และห์น�าที่��ต�างๆ โดยแสดงในล�กษณ์ะ Template ด�งน�) Name
Attributes
Opertaions
Resposibilities
Class
ติ�วอย่�าง Class ข้อง Student
Student{abstract}
StudentIDNumberFirstNameLastNameAddressCityState
RegisterForCourseDropCourseChangeAddress
Encapsulation(Protection)
Encapsulation : ค/อรากฐานอย�างห์น��งข้องแนวิค�ดในเชิ�ง Object-Oriented ซ่��งข้�อด�ข้องEncapsulation ค/อการป็>องก�น Attribute ข้อง Object จากควิามีเส�ยห์าย
Encapsulation ค/อการห์�อห์��มี Attribute และ Methods เข้�าไวิ�ด�วิยก�น
Encapsulation จะที่4าห์น�าที่��ป็>องก�นมี�ให์� Object อ/�นที่��อย6�ภายนอก เข้�าถุ�ง Object ห์น��งๆ ได�อย�างอ�สระจะมี�เฉพัาะ Methods ที่��อย6�ใน Object เที่�าน�)นจะสามีารถุต�ดต�อก�บ Attribute ที่��อย6�ใน Object เด�ยวิก�นได�
Inheritance การส"บทอดค$ณสมิบ�ติ�
Inheritance : ค/อ ค�ณ์สมีบ�ต�ที่�� Class ๆ ห์น��งสามีารถุส/บล�กษณ์ะข้อง Attribute และ Method ข้องอ�ก Class ห์น��งได�การที่4าเชิ�นน�)ที่4าให์�ค�ณ์สามีารถุ Create Class ให์มี�ข้�)นโดยน4าสาระส4าค�ญ ที่��เห์มี/อนก�นข้อง Attribute และ Behavior (Method) จาก Class อ/�นมีาใชิ�ได�Animal
Cat Dog Person
การส"บทอดค$ณสมิบ�ติ� (Inheritance)
การส"บทอดค$ณสมิบ�ติ� (Inheritance) มิ&ข'อด&ด�งน&(1. ท)าให์'มิ&โครงสร'างท&+เป,นระบบ ระเบ&ย่บ ปร�บเปล&+ย่นได'ง�าย่2. ลดเวลาในการพั�ฒนาระบบ3. ลดค�าใช้'จ�าย่ในการพั�ฒนา
การส/บที่อดโดยอาศ�ยค�ณ์สมีบ�ต�ข้องออบเจ(กตที่��มี�อย6�แล�วิใส�ลงในออบเจ(กตต�วิให์มี� ห์ล�กข้องการส/บที่อดค�ณ์สมีบ�ต�เป็&นล4าด�บชิ�)น จะที่4าให์�ควิามีส�มีพั�นธุระห์วิ�างออบเจ(กตมี�ควิามีชิ�ดเจนย��งข้�)น
โพัล�มิอร�ฟิ/สซึ1มิ (Polymorphism)
ห์มีายถุ�ง การบอกแบบเด�ยวิ แต�ได�ร�บการตอบสนองห์ลายร6ป็แบบ (Poly = “many”, morph = “form”) ซ่��งเป็&นไป็ตามีห์ล�กการข้องเที่คโนโลย�เชิ�งวิ�ตถุ� เชิ�น ฟั+งกชิ�นการวิาด DrawChart( )DrawChart( )
PaySlip
:HourlyPaidEmployee
:WeeklyPaidEmployee
:MonthlyPaidEmployee
2a:=cal()
2b:=cal()
2c:=cal()
Composition
Composition ค/อ Object ที่��ไมี�ได�เป็&น Object ห์น�วิยย�อยที่��ส�ด ห์ร/อเป็&น Object ที่��ป็ระกอบข้�)นจาก Object อ/�นห์ลายๆ Object อย6�ภายใน เชิ�น
Object Computer ป็ระกอบไป็ด�วิย Object video card, object keyboards, object drive, object power supply เป็&นต�น
ข'อด&ของ Composition มิ&ด�งน&(1 .ที่4าให์�ระบบมี�ควิามีซ่�บซ่�อนน�อยที่��ส�ด2. Composition มี�ส�วินชิ�วิยในการ reuse3. การแบ�งระบบออกเป็&นส�วินการที่4างานย�อยๆน�)น ส�วิน
ต�างๆ จะสามีารถุที่4างานได�เป็&นอ�สระต�อก�นส�งผลให์�การที่ดสอบและป็ร�บป็ร�งแก�ไข้แต�ละส�วินสามีารถุที่4าได�อย�างอ�สระ
Composition
ช้น�ดของ Composition สามิารถแบ�งออกได'เป,น 2 ประเภทด�งน&(
1. Aggregation2. AssociationAggregation : การน4าส�วินป็ระกอบย�อยๆ ห์ลายๆ
อย�างมีาป็ระกอบเป็&นห์น��ง Object ที่��สามีารถุใชิ�งานได�อย�างสมีบ6รณ์ ถุ�าข้าดส�วินห์น��งส�วินใดจะเก�ดการผ�ดพัลาดได�
Association : จะแสดงส�วินข้อง Object ที่�)งห์มีดที่��เป็&นอ�สระต�อก�น ที่��มี�การที่4างานไมี�ข้�)นก�บส�วินข้อง Object อ/�นๆ
Compositionความิเห์มิ"อนและติ�างก�นระห์ว�าง Association และ
Aggregationความิเห์มิ"อนระห์ว�าง Association และ Aggregation : - แต�ละส�วินจะได�ร�บการสร�างเป็&น Object ที่4าให์�ง�ายในการ reuse - จะมี�การที่4างานข้องแต�ละ Object เป็&นล�กษณ์ะเฉพัาะที่��สามีารถุ
ป็ร�บเป็ล��ยน ห์ร/อแก�ไข้ โครงสร�างภายใน Object น�)นได�โดยสะดวิก ไมี�กระที่บต�อการที่4างานข้อง Object อ/�น
ความิแติกติ�างก�นระห์ว�าง Association และ Aggregation :
- ควิามีส�มีพั�นธุระห์วิ�าง Object ส�วินข้อง Aggregation น�)นวิ�ตถุ�แต�ละชิ�)นจะที่4าโดยพั��งพัาอาศ�ยก�น ซ่��งถุ�าวิ�ตถุ�ชิ�)นใดข้าดห์ายไป็จะที่4าให์�การที่4างานที่�)งห์มีดกระที่บกระเที่/อนไป็ด�วิย
- ส�วินข้อง Association วิ�ตถุ�แต�ละส�วินจะที่4างานในแบบข้อบร�การซ่��งก�นและก�น ด�งน�)นถุ�าข้าดวิ�ตถุ�ชิ�)นใด อาจที่4าให์�ไมี�สมีบ6รณ์แต�ไมี�ถุ�งก�บการที่4างานที่�)งห์มีดห์ย�ดชิะง�ก
- ซ่��งจะเล/อกวิ�ธุ�ใดข้�)นอย6�ก�บระบบที่��จะที่4าการออกแบบและการวิ�เคราะห์ข้องการออกแบบวิ�ธุ�ใดเห์มีาะสมีมีากกวิ�าก�น
แบบฝึ5กห์�ด• ให์�แยกแยะวิ�าส��งต�อไป็น�) ค/อ Class ส��งใด ค/อ
Object• ห์น�งส/อ ชิ�ดวิ�ายน4)า คอมีพั�วิเตอรคอมีแพั(ค
รถุยนตย��ห์�อToyota• แวิ�นตา นาย ก ด�นสอส�ด4าที่��อย6�ในกระเป็@าข้อง
เด(กชิาย ข้
แบบฝึ5กห์�ด• จากสถุานการณ์ต�อไป็น�) ให์�แยกแยะวิ�ามี�
Object อะไรบ�าง และ Function ที่�� Object แต�ละต�วิต�องมี�ค/ออะไร1 .นาย ง อ�านห์น�งส/อการต6นข้ายห์�วิเราะ2. นาย ป็ ชิวินนางสาวิ ข้ เต�นร4า3. นาย ชิ ถุอนเง�นจากต6� ATM ธุนาคารที่ห์ารไที่ย4. นาย ต เต�มีน4)ามี�นให์�ก�บรถุยนตย��ห์�อ Nisson
แบบฝึ5กห์�ด1 .ถ'าน�กศึ1กษาเป,นน�กว�เคราะห์�ระบบแล'ว
เมิ"+อติ'องการออกแบบท&+มิ&การค)านวณด'วย่ส8ติร (-b+ b2-4ac)/2aค"อส8ติรคณ�ติศึาสติร�ห์ารากท&+สองของเลขจ)านวนจร�งเมิ"+อติ'องการน)ามิาสร'างเป,นโปรแกรมิในการห์ารากท&+สองจะเล"อกใช้'ว�ธี&ใดระห์ว�างAggregation ห์ร"อ Association เพัราะเห์ติ$ใดจ1งเล"อกว�ธี&ด�งกล�าว
2. แนวความิค�ดการพั�ฒนาระบบงานเช้�งโครงสร'างและว�ถติ$ มิ&ความิแติกติ�างก�นอย่�างไร