Object Oriented Analysis And Design

31
Object Oriented Analysis And Design 8311302 กกกกกกกกกกกกกกกกกกกกกกกกก กกกกก Introduction to Object-Oriented Systems Analysis and Design 1 Department of Informatics Faculty of Science and Technology Phuket Rajabhat University 1/2553

description

Object Oriented Analysis And Design. 8311302 การวิเคราะห์และออกแบบเชิง วัตถุ Introduction to Object-Oriented Systems Analysis and Design. Department of Informatics Faculty of Science and Technology Phuket Rajabhat University 1/2553. หัวข้อที่จะกล่าวถึง. - PowerPoint PPT Presentation

Transcript of Object Oriented Analysis And Design

Page 1: 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

Page 2: Object Oriented Analysis   And  Design

ห์�วิข้�อที่��จะกล�าวิถุ�ง• Introduction to Systems Analysis and

Design • Introduction to Object-Oriented Systems

Analysis and Design

2

Page 3: Object Oriented Analysis   And  Design

Information System Development Models (ISD Models)

• มี�แนวิที่างในการพั�ฒนาระบบห์ลากห์ลายแนวิที่าง แต�ไมี�วิ�าจะเป็&นที่างใดก(ใชิ�วิงจรการพั�ฒนาระบบ (System Development Life Cycle: SDLC) ในการวิ�เคราะห์และออกแบบ

• SDLC พั�ฒนาข้�)นบนรากฐานข้องการแก�ป็+ญห์าเชิ�งวิ�ที่ยาศาสตร (Scientific Management) มี� 7 ข้�)นตอน

3

Introduction to Systems Analysis and Design

Page 4: Object Oriented Analysis   And  Design

Adapted Waterfall SDLC

4

1

2

3

4

5

6

7

1. ค�นห์าและเล/อกสรรโครงการ

2. เร��มีต�นและวิางแผนโครงการ3. วิ�เคราะห์ระบบ

4. ออกแบบเชิ�งตรรกะ5. ออกแบบเชิ�งกายภาพั

6. พั�ฒนาและต�ดต�)งระบบ

7. ซ่�อมีบ4าร�งระบบ

Page 5: Object Oriented Analysis   And  Design

วงจรการพั�ฒนาระบบ (SDLC)

• วิงจรการพั�ฒนาระบบ ค/อ กระบวินการที่างควิามีค�ด (Logical Process) ในการพั�ฒนาระบบสารสนเที่ศ เพั/�อแก�ป็+ญห์าที่างธุ�รก�จและตอบสนองควิามีต�องการข้องผ6�ใชิ�ได� โดยภายในวิงจรน�)นจะแบ�งกระบวินการพั�ฒนาออกเป็&นระยะ (Phase) ป็ระเภที่ข้องวิงจรการพั�ฒนาระบบในร6ป็แบบต�าง ๆ มี�ด�งน�)– Waterfall SDLC – Adapted Waterfall SDLC– Evolutionary SDLC– Incremental SDLC– Spiral SDLC

5

Page 6: Object Oriented Analysis   And  Design

Waterfall SDLC

6

1

2

3

4

5

6

Feasibility Study

System Investigation

System Analysis

System Design

Implementation

Review andMaintenance

ใชิ�ในการพั�ฒนาระบบที่��ตายต�วิอย6�แล�วิ ที่�)งน�)เพัราะไมี�สามีารถุกล�บมีาแก�ไข้ -ข้�อผ�ดพัลาดได�

Page 7: Object Oriented Analysis   And  Design

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 ได�

Page 8: Object Oriented Analysis   And  Design

Evolutionary SDLC

8

Analysis

Design

Implementation

Analysis

Design

Implementation

Analysis

Design

Implementation

Product 1 Product 2 Product 3

ระบบพั�ฒนาข้�)นจากข้�อด� ข้�อเส�ยที่��พับข้อง – -แต�ละรอบข้องการพั�ฒนา

Page 9: Object Oriented Analysis   And  Design

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

Page 10: Object Oriented Analysis   And  Design

Spiral SDLC

10

Plan first iteration

ออกแบบ

วางแผน

ทดสอบและประเมิ�นผลว�เ

คราะ

ห์�และ

ออกแ

บบระ

บบ สร�างต�นแบบรอบที่�� 4

สร�างต�นแบบรอบที่�� 3

สร�างต�นแบบรอบที่�� 2

สร�างต�นแบบรอบที่�� 1

Page 11: Object Oriented Analysis   And  Design

แนวทางปฏิ�บ�ติ� (Methodologies)

• Methodology ค/อ วิ�ธุ�การห์ร/อแนวิที่างที่��จะน4ากระบวินการที่างควิามีค�ดข้องวิงจรการพั�ฒนาระบบสารสนเที่ศที่าป็ฏิ�บ�ต�จร�ง จนกลายเป็&นระบบสารสนเที่ศที่��สามีาระใชิ�งานได� ส��งจ4าเป็&นส4าห์ร�บ Methodology ได�แก� – แบบจ4าลอง (Model)– เคร/�องมี/อในการพั�ฒนาระบบ (Tools) – เที่คน�ค (Techniques)

11

Page 12: Object Oriented Analysis   And  Design

ติ�วอย่�างของ 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

Page 13: Object Oriented Analysis   And  Design

ห์ล�กการในการพั�ฒนาระบบ• ค4าน�งถุ�งเจ�าข้องระบบและผ6�ใชิ�ระบบ• พัยายามีเข้�าถุ�งป็+ญห์าให์�ตรงจ�ด• ก4าห์นดข้�)นตอนห์ร/อก�จกรรมีในการที่4างาน• ก4าห์นดมีาตรฐานในระห์วิ�างการพั�ฒนาระบบและจ�ด

ที่4าเอกสารป็ระกอบในที่�กข้�)นตอน• การพั�ฒนาระบบค/อการลงที่�น• เตร�ยมีควิามีพัร�อมีห์ากแผนงานห์ร/อโครงการต�อง

ถุ6กยกเล�กห์ร/อต�องที่บที่วินให์มี�• แตกระบบให์ญ�ให์�เป็&นระบบย�อย• ออกแบบระบบเพั/�อรองร�บการเต�บโตและการ

เป็ล��ยนแป็ลงในอนาคต13

Page 14: Object Oriented Analysis   And  Design

Introduction to Object-Oriented Systems Analysis and Design

Object ค/อห์น�วิยสนใจข้องระบบที่��ที่4าให์�เก�ดเห์ต�การณ์บางอย�าง ส4าห์ร�บออบเจ(กตในโลกข้องเที่คโนโลย�เชิ�งวิ�ตถุ� จะเน�นที่��ต�วิป็ฏิ�บ�ต�การมีากกวิ�าการป็ฏิ�บ�ต�

Window

Click (Icon MS-Word)

MS-Word

Object Oriented ค"ออะไร?

Page 15: Object Oriented Analysis   And  Design

Object

Object แบ�งได� 2 ป็ระเภที่ ค/อ ส��งที่��เป็&นร6ป็ธุรรมี และนามีธุรรมี

-ส��งที่��มี�ล�กษณ์ะเป็&นร6ป็ธุรรมี (จ�บต�องได�) เชิ�น จ�กรยาน รถุ ส�น�ข้ องคกร ใบรายการส�นค�า เป็&นต�น

-ส��งที่��มี�ล�กษณ์ะเป็&นนามีธุรรมี (จ�บต�องไมี�ได�) เชิ�น ควิามีเป็&นเจ�าข้อง เที่��ยวิบ�น การวิ��ง แสง เป็&นต�น

Object จะป็ระกอบด�วิย 2 ส�วินป็ฎิ�บ�ต�การค/อ Attribute และ Method โดย Attribute เร�ยกอ�กอย�างวิ�า Data และ Method เร�ยกอ�กอย�างวิ�า Behavior

Page 16: Object Oriented Analysis   And  Design

Object

Object Data : จะเป็&นส�วินข้�อมี6ลล�บข้อง Object ที่��จะที่ราบเฉพัาะภายใน Object เที่�าน�)น เชิ�น

Object คน จะมี� attribute ค/อ ห์มีายเลข้บ�ตรป็ระชิาชิน, วิ�นเก�ด, เพัศ, ที่��อย6� เป็&นต�นObject ส�น�ข้ จะมี� attribute ค/อ ชิ/�อ, ส�, พั�นธุ�, เป็&นต�นObject จ�กรยาน จะมี� attribute ค/อ gear, ค�นเร�ง, ล�อ เป็&นต�น

ฉะน�)นจะเห์(นค4าวิ�า Attribute และ Data มี�ควิามีห์มีายใกล�เค�ยงก�น เชิ�นถุ�า ส�Attribute ค/อ ส�Data ค/อ แดง, ด4า, เข้�ยวิ เป็&นต�น

Page 17: Object Oriented Analysis   And  Design

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 มี�ควิามีห์มีายเห์มี/อนก�น

Page 18: Object Oriented Analysis   And  Design

ObjectObject แป็ลวิ�าวิ�ตถุ�ที่�)งที่��จ�บต�องได� และจ�บต�องไมี�ได� Orientation ซ่��งมีาจากค4าวิ�า Orient แป็ลวิ�า น4าที่าง น4าไป็

Object Orientation ห์มีายถุ�ง การใชิ� Object เป็&นต�วิห์ล�กเพั/�อการพั�จารณ์าควิามีเป็&นจร�งต�างๆที่��เก�ดข้�)นในโลก

การส/�อสารระห์วิ�าง Object ด�งร6ป็

Method Method

Attribute Attribute

Sender Receiver

Return Value

Message

Page 19: Object Oriented Analysis   And  Design

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

Page 20: Object Oriented Analysis   And  Design

Class

Class นอกจากจะมี�ชิ/�อ Class ที่��บอกค�ณ์สมีบ�ต�ข้อง Class น�)น ย�งมี� Attribute และ Operation ต�างๆ ซ่��งเป็&นต�วิอธุ�บายรายละเอ�ยด และห์น�าที่��ต�างๆ โดยแสดงในล�กษณ์ะ Template ด�งน�) Name

Attributes

Opertaions

Resposibilities

Page 21: Object Oriented Analysis   And  Design

Class

ติ�วอย่�าง Class ข้อง Student

Student{abstract}

StudentIDNumberFirstNameLastNameAddressCityState

RegisterForCourseDropCourseChangeAddress

Page 22: Object Oriented Analysis   And  Design

Encapsulation(Protection)

Encapsulation : ค/อรากฐานอย�างห์น��งข้องแนวิค�ดในเชิ�ง Object-Oriented ซ่��งข้�อด�ข้องEncapsulation ค/อการป็>องก�น Attribute ข้อง Object จากควิามีเส�ยห์าย

Encapsulation ค/อการห์�อห์��มี Attribute และ Methods เข้�าไวิ�ด�วิยก�น

Encapsulation จะที่4าห์น�าที่��ป็>องก�นมี�ให์� Object อ/�นที่��อย6�ภายนอก เข้�าถุ�ง Object ห์น��งๆ ได�อย�างอ�สระจะมี�เฉพัาะ Methods ที่��อย6�ใน Object เที่�าน�)นจะสามีารถุต�ดต�อก�บ Attribute ที่��อย6�ใน Object เด�ยวิก�นได�

Page 23: Object Oriented Analysis   And  Design

Inheritance การส"บทอดค$ณสมิบ�ติ�

Inheritance : ค/อ ค�ณ์สมีบ�ต�ที่�� Class ๆ ห์น��งสามีารถุส/บล�กษณ์ะข้อง Attribute และ Method ข้องอ�ก Class ห์น��งได�การที่4าเชิ�นน�)ที่4าให์�ค�ณ์สามีารถุ Create Class ให์มี�ข้�)นโดยน4าสาระส4าค�ญ ที่��เห์มี/อนก�นข้อง Attribute และ Behavior (Method) จาก Class อ/�นมีาใชิ�ได�Animal

Cat Dog Person

Page 24: Object Oriented Analysis   And  Design

การส"บทอดค$ณสมิบ�ติ� (Inheritance)

การส"บทอดค$ณสมิบ�ติ� (Inheritance) มิ&ข'อด&ด�งน&(1. ท)าให์'มิ&โครงสร'างท&+เป,นระบบ ระเบ&ย่บ ปร�บเปล&+ย่นได'ง�าย่2. ลดเวลาในการพั�ฒนาระบบ3. ลดค�าใช้'จ�าย่ในการพั�ฒนา

การส/บที่อดโดยอาศ�ยค�ณ์สมีบ�ต�ข้องออบเจ(กตที่��มี�อย6�แล�วิใส�ลงในออบเจ(กตต�วิให์มี� ห์ล�กข้องการส/บที่อดค�ณ์สมีบ�ต�เป็&นล4าด�บชิ�)น จะที่4าให์�ควิามีส�มีพั�นธุระห์วิ�างออบเจ(กตมี�ควิามีชิ�ดเจนย��งข้�)น

Page 25: Object Oriented Analysis   And  Design

โพัล�มิอร�ฟิ/สซึ1มิ (Polymorphism)

ห์มีายถุ�ง การบอกแบบเด�ยวิ แต�ได�ร�บการตอบสนองห์ลายร6ป็แบบ (Poly = “many”, morph = “form”) ซ่��งเป็&นไป็ตามีห์ล�กการข้องเที่คโนโลย�เชิ�งวิ�ตถุ� เชิ�น ฟั+งกชิ�นการวิาด DrawChart( )DrawChart( )

PaySlip

:HourlyPaidEmployee

:WeeklyPaidEmployee

:MonthlyPaidEmployee

2a:=cal()

2b:=cal()

2c:=cal()

Page 26: Object Oriented Analysis   And  Design

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าได�อย�างอ�สระ

Page 27: Object Oriented Analysis   And  Design

Composition

ช้น�ดของ Composition สามิารถแบ�งออกได'เป,น 2 ประเภทด�งน&(

1. Aggregation2. AssociationAggregation : การน4าส�วินป็ระกอบย�อยๆ ห์ลายๆ

อย�างมีาป็ระกอบเป็&นห์น��ง Object ที่��สามีารถุใชิ�งานได�อย�างสมีบ6รณ์ ถุ�าข้าดส�วินห์น��งส�วินใดจะเก�ดการผ�ดพัลาดได�

Association : จะแสดงส�วินข้อง Object ที่�)งห์มีดที่��เป็&นอ�สระต�อก�น ที่��มี�การที่4างานไมี�ข้�)นก�บส�วินข้อง Object อ/�นๆ

Page 28: Object Oriented Analysis   And  Design

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าการออกแบบและการวิ�เคราะห์ข้องการออกแบบวิ�ธุ�ใดเห์มีาะสมีมีากกวิ�าก�น

Page 29: Object Oriented Analysis   And  Design

แบบฝึ5กห์�ด• ให์�แยกแยะวิ�าส��งต�อไป็น�) ค/อ Class ส��งใด ค/อ

Object• ห์น�งส/อ ชิ�ดวิ�ายน4)า คอมีพั�วิเตอรคอมีแพั(ค

รถุยนตย��ห์�อToyota• แวิ�นตา นาย ก ด�นสอส�ด4าที่��อย6�ในกระเป็@าข้อง

เด(กชิาย ข้

Page 30: Object Oriented Analysis   And  Design

แบบฝึ5กห์�ด• จากสถุานการณ์ต�อไป็น�) ให์�แยกแยะวิ�ามี�

Object อะไรบ�าง และ Function ที่�� Object แต�ละต�วิต�องมี�ค/ออะไร1 .นาย ง อ�านห์น�งส/อการต6นข้ายห์�วิเราะ2. นาย ป็ ชิวินนางสาวิ ข้ เต�นร4า3. นาย ชิ ถุอนเง�นจากต6� ATM ธุนาคารที่ห์ารไที่ย4. นาย ต เต�มีน4)ามี�นให์�ก�บรถุยนตย��ห์�อ Nisson

Page 31: Object Oriented Analysis   And  Design

แบบฝึ5กห์�ด1 .ถ'าน�กศึ1กษาเป,นน�กว�เคราะห์�ระบบแล'ว

เมิ"+อติ'องการออกแบบท&+มิ&การค)านวณด'วย่ส8ติร (-b+ b2-4ac)/2aค"อส8ติรคณ�ติศึาสติร�ห์ารากท&+สองของเลขจ)านวนจร�งเมิ"+อติ'องการน)ามิาสร'างเป,นโปรแกรมิในการห์ารากท&+สองจะเล"อกใช้'ว�ธี&ใดระห์ว�างAggregation ห์ร"อ Association เพัราะเห์ติ$ใดจ1งเล"อกว�ธี&ด�งกล�าว

2. แนวความิค�ดการพั�ฒนาระบบงานเช้�งโครงสร'างและว�ถติ$ มิ&ความิแติกติ�างก�นอย่�างไร