lec03-1 : classification abstraction...nattapong songneam] การพัฒนาระบบ •...

162
http://www.siam2dev.com [ dr. nattapong songneam] โดย อ.ดร. นัฐพงศ งเนียม http://www.siam 2dev.com [email protected] สาขาวิชา วิทยาการคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี มหาวิทยาลัยราชภัฏพระนคร Last Update : 09/08/2561 Lec03-1 : Classification Abstraction แหล่งข ้อมูลเพิ่มเติม : : http://www.lumpaya.com/sdlc01.htm

Upload: others

Post on 16-Aug-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

http://www.siam2dev.com [ dr. nattapong songneam]

โดย อ.ดร. นฐพงศ สงเนยมhttp://[email protected]

สาขาวชา วทยาการคอมพวเตอรคณะวทยาศาสตรและเทคโนโลย มหาวทยาลยราชภฏพระนคร

Last Update : 09/08/2561

Lec03-1 : Classification Abstraction

แหลงขอมลเพมเตม : : http://www.lumpaya.com/sdlc01.htm

Page 2: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

สอบระหวางภาค 3/2560

• บททใชสอบ

– บทท 1, 2, 3.1, 3.2, 3.3, 3.4, 4 , 5

• สอบ วนท.... 31 ส.ค. 2561

• หองสอบ ...

http://www.siam2dev.com [ dr. nattapong songneam]

Page 3: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

ดร. นฐพงศ สงเนยม

• http://www.siam2dev.com

• E-mail : [email protected]

• Facebook : [email protected]

http://www.siam2dev.com [ dr. nattapong songneam]

Page 4: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

Agenda

1. Objectives

2. Problem Domain

3. Concept / ความคดรวบยอด

4. Classification Abstractions คออะไร

5. หลกการสรางแผนภาพ Classification Abstractions

6. Encapsulation

7. Information Hiding

8. ประเภทของ Attributes และ functionshttp://www.siam2dev.com [ dr.

nattapong songneam]

Page 5: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

Objectives

• วตถประสงค1. เพอใหผอานสามารถไดรหลกการในการก าหนด Problem Domain

2. เพอใหผอานไดเขาใจหลกในการหา Object ใน Problem Domain

3. เพอใหผอานสามารถใช Classification Abstraction เพอสราง Class จาก Object ทมอยได

4. เขาใจหลกการ Encapsulation และ Information Hiding ของ Class

http://www.siam2dev.com [ dr. nattapong songneam]

Page 6: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

Classification Abstraction ?

• การก าหนด Problem Domainเมอตกลงทจะพฒนาระบบคอมพวเตอรดวยหลกการของ OOAD แลว

เพอการวเคราะหความตองการของผใช (User Requirement) สงทตองพจารณาอนดบแรกกคอการก าหนดขอบเขตของสงทตองการจะพจารณา เรยกขอบเขตนวา Problem Domain เราสามารถก าหนด Problem Domain ไดจากการสอบถามความตองการ (Requirement) จากผใชระบบ (End-User) งานนน ๆ

http://www.siam2dev.com [ dr. nattapong songneam]

Problem Domain คอการก าหนดขอบเขตของระบบทจะพฒนา

Page 7: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

OOAD

• PM/CPM… Software Engineering

• SA

• DBA: Database Administrator

– ER

– Normalize

– DataDictionary

• DEV

• UXUI

• TESTER http://www.siam2dev.com [ dr. nattapong songneam]

Page 8: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

การพฒนาระบบ

• เมอไดรบมอบหมาย จาก หนวยงาน หรอ บ. ให พฒนาระบบตามแนวทางเชงวตถ คอไดก าหนดแลววาจะใชแนวทางนในการพฒนา

http://www.siam2dev.com [ dr. nattapong songneam]

ในทมงาน 8-10 คน ..........PM : Project Manager บรหารจดการโครงงาน ภายในทม ใหเสรจตามภารกจทไดรบมอบหมาย

Page 9: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

แนวทาง

• Traditional Development Process

• Object Oriented Development Process– ใชกระบวนการทงหมด

• OOA - Analysis

• OOD - Design

• OOP - Programming

• OOT= Testing

http://www.siam2dev.com [ dr. nattapong songneam]

OOSEObject-Oriented Software engineering

Page 10: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

Traditional Development Process1. ก ำหนดปญหำ ระบโครงกำร

2. วเครำะหควำมตองกำร Requirement Specification (SA)

3. DFD /

4. Process description

5. ท ำ Data Dictionary

6. ออกแบบ ER

7. ท ำฐำนขอมล MySQL , MS-SQL Server , Oracle , Access

8. ออกแบบหนำจอ Mockup, Wireframe (UXUI)

9. เขยนโปรแกรม ตดตอฐำนขอมล

10. ทดสอบระบบ (TESTER)

http://www.siam2dev.com [ dr. nattapong songneam]

Page 11: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

Object Oriented Development Process1. วเครำะหควำมตองกำร Requirement Specification.. USE CASE

2. USE CASE DIAGRAM

3. ท ำ Data Dictionary … Class Diagram

4. ออกแบบ ER … Class Diagram

5. แปลง Class Diagram >> Relational Database Management System (RDBMS)

6. เขยน Sequence diagram , Activity Diagram , …

7. ท ำฐำนขอมล MySQL , MS-SQL Server , Oracle , Access

8. ออกแบบหนำจอ Mockup, Wireframe

9. เขยนโปรแกรม ตดตอฐำนขอมล

10. ทดสอบระบบ

11. ถำยโอนงำน เขยน DEPLOYMENT DIAGRAM

http://www.siam2dev.com [ dr. nattapong songneam]

UML

Page 12: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

http://www.siam2dev.com [ dr. nattapong songneam]

การก าหนดขอบเขตของระบบ

Page 13: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

Problem Domain

• คอการก าหนดกรอบ(ขอบเขตของระบบ)ของระบบทจะพฒนา

http://www.siam2dev.com [ dr. nattapong songneam]

Page 14: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

http://www.siam2dev.com [ dr. nattapong songneam]

Page 15: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

• Entity กหมายถง object หรอ class ตามหลกการเชงวตถ

http://www.siam2dev.com [ dr. nattapong songneam]

ระบบรานสะดวกซอ

Page 16: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

ระบบการจองหองพกโรงแรม

• หองพก ...จบ

http://www.siam2dev.com [ dr. nattapong songneam]

Information Gatheringวธการทใหไดมาซงความตองการ หรอ การเกบรวบรวมขอมล- ถาม สมภาษณ- แบบสอบถาม- สงเกต- document reviews- do it- observe

หองพก ?

Page 17: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

การท า document reviewsของระบบการจองหองพกมอะไรบางทตอง

พจารณา• โบชวร .. จะดอะไร จะพจารณาเรองของ ราคา หองพก ...ตอบแคน....

• ....

• ใบเสรจ

• ใบจอง

• บตรพนกงาน

• ..ใบลงชอ

• การเชคอน เชคเอาท ...หลกฐาน

• ประวตพนกงาน

• ...http://www.siam2dev.com [ dr.

nattapong songneam]

Page 18: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

http://www.siam2dev.com [ dr. nattapong songneam]

A

B

C

กลม A ตองสอบถามความตองการของกลม Cและวเคราะหระบบตามความตองการของกลม C

กลม B ตองสอบถามความตองการของกลม Aและวเคราะหระบบตามความตองการของกลม A

Page 19: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

http://www.siam2dev.com [ dr. nattapong songneam]

Employee Customerserv

*** ค าวาระบบ กควรมมากกวา 1 หรอ 2 ตาราง/เอนทต

Page 20: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

ปญหาทส าคญ ในการวเคราะห

• มกจะขาด– สวนทส าคญ

– สวนทไมส าคญ

• เกน– ไมผดมาก

http://www.siam2dev.com [ dr. nattapong songneam]

10 ฟงกชน10

Requirements

*** ระบบจองหองพก แต ท ำกำรจองไมไดระบบตรวจสอบเกรด แต เชคเกรดไมได

เกรด นศ. อาจารย วชาสาขาภาค

*** มกฟงกชน ? 10 ฟงกชนพอหรอไม ?

Page 21: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

ระบบจองหองพกโรงแรม ?

• Functions

– 1. …………….จอง

– 2…………………

– 3……………….

– 4…………………………..

http://www.siam2dev.com [ dr. nattapong songneam]

หนาทของ SA

1. ไปรวบรวมความตองการ (Information gartering)2. จดล าดบความส าคญ3. เขยนเปนรายงานความตองการ

Requirement Specification4. อธบายใหผพฒนาระบบเขา 5. ท าความตกลงกบลกคา negation

Page 22: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

http://www.siam2dev.com [ dr. nattapong songneam]

หนาทของ SA

1. ไปรวบรวมความตองการ (Information gathering)2. จดล าดบความส าคญ3. เขยนเปนรายงานความตองการ

Requirement Specification4. อธบายใหผพฒนาระบบเขาใจ5. ออกตว Prototype คยกบ UI Designer

5. ท าความตกลงกบลกคา negation

6. Formal Acceptance

สงตอใหโปรแกรมเมอร พฒนาระบบตอไป

Use case diagram

Page 23: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

จงวเคราะหและออกแบบระบบการจองหองพก ออนไลน

http://www.siam2dev.com [ dr. nattapong songneam]

Page 24: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

24

อ.ดร. นฐพงศ สงเนยม

Page 25: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

http://www.siam2dev.com [ dr. nattapong songneam]

Page 26: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

http://www.siam2dev.com [ dr. nattapong songneam]

Page 27: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

27

•อ.ดร. นฐพงศ สงเนยม

Page 28: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

http://www.siam2dev.com [ dr. nattapong songneam]

สวนประกอบของรถยนต

*** เฉพำะหนำรำน

Page 29: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

• Integrate System : ทงระบบ

• Sub System : ระบบยอย

http://www.siam2dev.com [ dr. nattapong songneam]

Payroll System

1. HRM

2. TAX/VAT3. การเขางานออกงาน4. สวสดการ5. การจางงาน6. การขนเงนเดอน7. การอบรม8. สลปเงนเดอน9. OT10.บตรพนกงาน

Wharehourse

HRM

Inventory

POS

MIS: Management Information System

DSS : Decision Support System

TPS : Transaction Processing System

Tester

• Unit test• Integrate test

Page 30: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

รถยนต

http://www.siam2dev.com [ dr. nattapong songneam]

สวนประกอบของรถยนต อะไหล การซอม คาซอม

คาอะไหล วธการช าระเงน

บรการ

ระบบรานขายรถยนตระบบซอมรถยนตระบบคารแคร

Page 31: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

ระบบบรหารดแลรกษารถยนต

http://www.siam2dev.com [ dr. nattapong songneam]

รถ

???

มอะไรเพมเตม ถาเปนระบบรานคารแคร มแครถอยางเดยวเพยงพอไหม ?

ดดฝน

เคลอบส

Page 32: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

ระบบบรหารดแลรกษารถยนต

http://www.siam2dev.com [ dr. nattapong songneam]

รถ

ซอม

มอะไรเพมเตม ถาเปนระบบรานคารแคร มแครถอยางเดยวเพยงพอไหม ?

บรการ

ช าระเงน

อะไหล

Problem Domain

ภาษ

*** สงทเกยวของ

Page 33: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

ค าถาม

• จะท าทงระบบนนๆ

– HRM

– Purchase Order ระบบสงซอ

– ระบบสตอก Inventory System

– ระบบจอง Reservation System

– ระบบสมาชก member

– ฯลฯ

• หรอ ท าบางระบบยอย http://www.siam2dev.com [ dr. nattapong songneam]

นศ. ตองท าทงหมดขององคกรหรอ ทกระบบยอยๆ หรอไม ?ควรเอาระบบทเกยวของกน** 3 – 4 – 5

Page 34: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

Problem Domain

http://www.siam2dev.com [ dr. nattapong songneam]

Page 35: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

http://www.siam2dev.com [ dr. nattapong songneam]

อะไรท ผใช ไมตองร กใหซอนรายละเอยดไว

พวงมาลย

ลอ

*** จากตวอยาง เราสนใจแคการสตารทรถยนต จงพดถงแค เครองยนต อยางอนไมไดกลาวถงแตไมใชไมม

ค าถาม ท าไม ไมม ฟงกชน +เบรค()

Page 36: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

http://www.siam2dev.com [ dr. nattapong songneam]

Page 37: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

http://www.siam2dev.com [ dr. nattapong songneam]

คน

- ขา

+ เดนได()

*** จากตวอยาง เราสนใจแคการเดน เพราะฉะนนฟงกชน กเกยวการเดน ซงตองมขาแตไมใชไมม

ค าถาม ท าไม ไมม ฟงกชน +กน()

การกนเราไมได ใช ขา

Problem Domain

คน

- ขา

+ เดนได()+ เปลยนขา()

Page 38: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

คน

• ขา

• แขน

• หว

• ล าตว

• เดน

• กน

• นอน

• เทยว

• ฯลฯhttp://www.siam2dev.com [ dr.

nattapong songneam]

คน

- ขา

- แขน

- ล าตว

+ เดน

+ กน

+ นอน

Page 39: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

ในระบบงานธนาคาร ใครคอผใช

• คน X

– พนกงาน / เจาหนาท

– ลกคา

– ผจดการ ?

http://www.siam2dev.com [ dr. nattapong songneam]

Page 40: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

http://www.siam2dev.com [ dr. nattapong songneam]

web win

mobile

Page 41: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

Information Gathering

• แบบสอบถาม (Questionnaire)

• การสมภาษณ (Interviews)

• การสงเกต (Observe)

• การพจารณาเอกสาร (Document Review)

• ลงมอท า(Practice)

http://www.siam2dev.com [ dr. nattapong songneam]

*** การดตวอยางของเอกสารเดมไมใชการ COPY ผดกฎหมายเชน ไปเอาใบเสรจของ...ราน 7-11

Page 42: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

มอะไรทอยใน Transcript บาง สกลลกษณ

• การออกเกรดอยางเดยวไมใชระบบ ?

http://www.siam2dev.com [ dr. nattapong songneam]

การทนายคณากร ไปเอาขอมลจาก Transcript

เรยกวาการท า ?

Page 43: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

ตวอยางการเกบขอมลระบบงานการจายเงนเดอน

• ระบบจายเงนเดอน

– เอกสารเดม : สลป (Pay in slip) , ใบสมคร (Application Forms) , ใบลา , บตรพนกงาน , บตรตอก , สแกนลายนวมอ , ใบเซนชอ , ใบลาออก , แบบค ารอง , บตรประกนสงคม

– วธการท างานเดม : การเขางาน-ออก , ประเภท เปนกะ , FullTime , PartTime , OT

– กระบวนการมอะไรบาง

– ประเภทตางๆ มอะไรบาง

http://www.siam2dev.com [ dr. nattapong songneam]

Page 44: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

http://www.siam2dev.com [ dr. nattapong songneam]

ในเฟส หนงของการ design หรอขนตอนการออกแบบจะตองออกแบบหนาจอหรอออกแบบ รายงาน- ใบสมคร

-ใบลา- บตรพนกงาน

วว/ดด/ปปวว/ดด/ปป

ชอ-นามสกล

รหสพนกงาน

แผนก

อเมล

Page 45: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

http://www.siam2dev.com [ dr. nattapong songneam]

Page 46: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

การคด OT

• คนหนงท าไดไมเกน กชวโมง

– อตราตอชวโมงเทาไหร และมวธคดอยางไร?

• 1.5 ของเงนเดอน = (1.5*Salary )/ (30*8) = 1.5*SAL/240

• ต.ย. สมมตเงนเดอน 10000 = 10000*1.5/240 = 62.5 บาท / ชม.

3*20*62.5 = 3750 + SAL = 13,750 บาท

http://www.siam2dev.com [ dr. nattapong songneam]

ดจากสลป

การคด OT ดไดจากใหน ? / นโยบาย/ Business Rule

Page 47: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

จงคดเงนเดอนและโอท ของ พนง. ทชอ สมชายเงนเดอน 25000 , ท าโอท 20 วนๆ ละ 3 ชม ให คด โอท 2.5 เทาของ เงนเดอน จงหาเงนสทธท สมชาย จะไดรบ โดย หก ประกนสงคม 5% ของเงนเดอน

http://www.siam2dev.com [ dr. nattapong songneam]

Page 48: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

Fix OT ชม. ละ 40

http://www.siam2dev.com [ dr. nattapong songneam]

Page 49: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

http://www.siam2dev.com [ dr. nattapong songneam]

Page 50: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

หกอะไรบาง ?

• ลา มาสาย ขาด

• ประกนสงคม

• ส ารองเลยงชพ

• ช.พ.ค. , สหกรณ กรณเปนคร/ขาราชการ

http://www.siam2dev.com [ dr. nattapong songneam]

Page 51: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

งานกลมทตอง สง ครงท 1

• ก าหนด ชองาน

• สมาชก

• Business Rule ของ บ. ของกลม ......

• ไมนอยกวา 2-3 หนากระดาษ

http://www.siam2dev.com [ dr. nattapong songneam]

*** สง สป. หนา

Page 52: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

Classification Abstraction

• การก าหนด Problem Domain (ตอ)

– ขอควรจ าในการหาและก าหนด Problem Domain นน กคอ Problem Domain ทแนชดมกจะยงไมสามารถหาไดในข นตนของการเร มวเคราะหระบบ แตก าหนดโครงใหญ หรอภาพรวมของ Problem Domain น นตองแนชด

– เชน ถาตกลงใจจะพฒนาระบบงานใหกบฝายบญช นนแสดงวา Object ตาง ๆ ตองเปนเรองทเกยวของกบฝายบญช (ซงขณะเดยวกนอาจเกยวกบฝายบคคลกได แตตองไมม Object ใด ๆ ทไมเกยวกบฝายบญช) ซงในตอนตนอาจจะไมไดรวมเอางบการเงน เปนสวนหนงใน Domain กเปนไปได แตในอนาคตตองรวมเอางบการเงนนเปนสวนหนงของ Problem Domain กได เปนตน

http://www.siam2dev.com [ dr. nattapong songneam]

Page 53: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

ถาจะพฒนาระบบลงทะเบยน

• สงทส าคญ หรอ object ทส าคญ ของระบบลงทะเบยน มอะไรบาง– นกศกษา ...รหส ชอ รน สาขา เพศ ..

– รายวชา ...ชอวชา รหส ค าอธบาย หนวยกต ...

– อาจารย

– หอง

– ....คาลงทะเบยน / ช าระคาลงทะเบยน

http://www.siam2dev.com [ dr. nattapong songneam]

Page 54: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

http://www.siam2dev.com [ dr. nattapong songneam]

ภาษหก ณ ทจาย

HRM : Human Resource Managementระบบบรหาร ทรพยากรบคคล

พนกงานเสยภาษเอง

**** ไมเกยวของ

**** เกยวของ

Page 55: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

ในกรณระบบจายเงนเดอน

1. การรบสมคร

2. การท างาน ขาด ลา มาสาย ลาออก

3. การเลอนขน

4. การจายเงนเดอน

1. คดเงนเดอน

2. OT

3. การคดรายได

4. การหกคาใชจาย

5. การรายงาน

6. การอบรมพฒนาบคลากรhttp://www.siam2dev.com [ dr.

nattapong songneam]

สอบวดความรสอบ Certสงไปอบรม

Page 56: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

Problem Domain of Payroll System

http://www.siam2dev.com [ dr. nattapong songneam]

Module/sub system

1

Module/sub system

2

Module/sub system

3

Module/sub system

Module/sub system

5

Module/sub system

4

Page 57: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

Problem Domain of Payroll System

http://www.siam2dev.com [ dr. nattapong songneam]

1. ระบบการสมคร

2. การบรรจ3. การจายเงนเดอนและ

โอท

More…

5. การเลอนขนเงนเดอ4. การลา

Page 58: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

Classification Abstraction

• การคนหา Object ใน Problem Domain

– สงแรกทตองท าเมอเราม Problem Domain ในภาพรวมแลว คอ การพจารณาวา ม Object อะไรบางภายใน Domain นน ๆ บาง โดยยงไมตองค านงถงกจกรรมทเกดขนในระบบ (การหา Object ใน Problem Domain)

– หาค านามทงหมดทมใน Problem Domain แลวจงมาแยกแยะภายหลงวาสงใดคอ Object หรอสงใดคอ Attribute

– จากบทท 1 ถงแมวาเราจะทราบแลววา Object ในโลกนแบงออกเปน 2 ประเภทใหญคอ Tangible กบ Intangible แตเราสามารถแยกประเภท Object ไดอก

http://www.siam2dev.com [ dr. nattapong songneam]

Page 59: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

http://www.siam2dev.com [ dr. nattapong songneam]

Problem Domain

Problem Domain

Page 60: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

http://www.siam2dev.com [ dr. nattapong songneam]

Page 61: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

http://www.siam2dev.com [ dr. nattapong songneam]

Page 62: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

• →

• →

http://www.siam2dev.com [ dr. nattapong songneam]

Page 63: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

http://www.siam2dev.com [ dr. nattapong songneam]

หนงสอ

หนงสอวเคราะหและออกแบบ

ระบบเชงวตถ

หนงสอการเขยนโปรแกรมภาษา

จาวา

การออกแบบและพฒนาเวบไซตดวย Adobe

Dreamweaver

หนงสอระบบปฏบตการ

เปนสมาชกของเปนสมาชกของ

เปนสมาชกของเปนสมาชกของ

แมว

Page 64: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

Problem Domain of Payroll System

http://www.siam2dev.com [ dr. nattapong songneam]

Module/sub system

1

Module/sub system

2

Module/sub system

3

Module/sub system

Module/sub system

5

Module/sub system

4

Page 65: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

ประเภทของ Object

• สงทมตวตนสามารถจบตองได

(Tangible Objects)

– คน สนข รถยนต

• สงทไมมตวตนและไมสามารถจบตองได

(Intangible Objects)

– บทบาท เหตการณ ปฏสมพนธ

http://www.siam2dev.com [ dr. nattapong songneam]

Page 66: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

http://www.siam2dev.com [ dr. nattapong songneam]

Page 67: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

ต.ย. 3.1.1 จงพจารณา Object จากขอความตอไปน

• ขอความท 1 “หนงสอ เลมหนง ปกสเหลอง ภายในประกอบดวยเนอหาเกยวกบ Object Orientation หนงสอเลมนมจ านวน 250 หนา”

ค านาม ประเภท

หนงสอ Object

ปกสเหลอง หนงใน Attribute ของ Object หนงสอ

เนอหาเกยวกบ Object Orientation หนงใน Attribute ของ Object หนงสอ

หนา เปนลกษณะนามทบอกถงจ านวนหนาของหนงสอ ถอ เปน หนงใน Attribute ของ Object หนงสอ

http://www.siam2dev.com [ dr. nattapong songneam]

Page 68: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

http://www.siam2dev.com [ dr. nattapong songneam]

Page 69: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

http://www.siam2dev.com [ dr. nattapong songneam]

Page 70: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

Attributes

• PDT : Primitive Data Type

– Int , float ,string datetime, char ,boolean

– ไมมฟงกชน เกบขอมลไดอยางเดยว

• ADT : Abstract Data Type/ References Type / Class / Object

http://www.siam2dev.com [ dr. nattapong songneam]

Page 71: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

IPHONE ...ชลภช

• PDT …………..

• ADT ……………………

http://www.siam2dev.com [ dr. nattapong songneam]

Attributes PDT ราคา ส น าหนก รน ยหอADT ปม เคส แบต ...

Dim x as แมวDim k as ไกDim y as string

Dim j as int16Dim x as boolean

double

String

button battery

Page 72: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

http://www.siam2dev.com [ dr. nattapong songneam]

class computer{

private string hdd;

}COMPUTER

- HDD : floating-point

- RAM : int

class computer{

private HDD hdd;hdd = new HDD();

}

class HDD {

private String name;

private Model model;

private double Price;

}

public void setPrice(double price) {

Price = price;

}

Class computer{

private string hdd;}

Page 73: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

C

#include <stdio.h>

static void main() {

int x;

string color;

Colors Color;

}

http://www.siam2dev.com [ dr. nattapong songneam]

PDT

ADT

Page 74: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

java

class testOO {

public static void main(string arsg[]) {

Color color;

color = new Color();

}

}

http://www.siam2dev.com [ dr. nattapong songneam]

ประกาศตวแปร (Variables Declaration)

สรางอนสแตนซ (Create Object/Instantiate)

Page 75: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

จงให concept กบหนงสอ

• ใหความคดรวบยอด ? อะไรทเรยกวาหนงสอ

• Attribute– ชอหนงสอ

– ผเขยน

– ราคา

– วนทพมพ

– ส านกพมพ

– จ านวนหนา

– จ านวนกเลม

– ประเภท

• Function

http://www.siam2dev.com [ dr. nattapong songneam]

Page 76: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

http://www.siam2dev.com [ dr. nattapong songneam]

ชอปกหนาเนอหาอานไดเปดได

หนงสอ

หนงสอ VB

หนงสอ JAVA

Page 77: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

จงให ความคดรวบยอด

• ผลไม– ส

– ชอ

– ขนาด

– รปทรง

– กนได

http://www.siam2dev.com [ dr. nattapong songneam]

• คน– ชอ

– นามสกล

– อาย

– เพศ

– กนได

Eatable → polymorphism

Eatable()

Eatable()Eatable()

Fruit Human

Page 78: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

ผลไม

http://www.siam2dev.com [ dr. nattapong songneam]

แมว

แอปเปล

ซมซง S7

Page 79: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

http://www.siam2dev.com [ dr. nattapong songneam]

ผลไมสแดง

ผลไมสเขยว

แอปเปล

สรปทรงกลมรสชาตขนาดไดจากตนไมกนได()

องน

Page 80: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

http://www.siam2dev.com [ dr. nattapong songneam]

Page 81: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

• ขอความท 2 “การประมวลผลขอมลดานการเงนของธนาคารแหงหนงดวยเครองคอมพวเตอร มดวยกน 2 ประเภทไดแก การประมวลผลแบบ Batch (การสะสมขอมลไวชวงระยะเวลาหนงกอนแลวคอยน ามาประมวลในเวลาเดยว) และ การประมวลผลแบบRealTime (คอการประมวลผลทนททไดรบขอมล) และในการประมวลผลแตละครงจะมเวลาในการประมวลผล Elapse Time ทไมแนนอนขนอยกบปรมาณของขอมล”

ค านาม ประเภท

การประมวลผล Object

ประเภทของการประมวลผล หนงใน Attribute ของ Object การประมวลผล

ขอมล Object

ขนาดของขอมล หนงใน Attribute ของ Object ขอมล

เวลาทใชในการประมวลผล Elapse Time หนงใน Attribute ของ Object การประมวลผลขอมล

http://www.siam2dev.com [ dr. nattapong songneam]

ต.ย. 3.1.2 จงพจารณา Object จากขอความตอไปน

นามธรรม

Intangible object

Page 82: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

ประเภทของการประมวลผล

• Batch :: ในธนาคาร รายงานยอดรายได ประจ าเดอน / ประจ าป

• RealTime :: ในธนาคาร การฝาก การถอน การอพเดต ท าทนท

– Internet :: เปน Real Time แตม Delay

http://www.siam2dev.com [ dr. nattapong songneam]

Page 83: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

ATM System

• Real Time Processing

http://www.siam2dev.com [ dr. nattapong songneam]

Page 84: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

Batch Processing)

การประมวลผลแบบกลม (Batch Processing)ขอมล ของการประมวลผลแบบนจะถกเกบไวในชวงเวลาทก าหนด เชน 7 วน หรอ 1 เดอน แลวจงน าขอมลทสะสมไวมาประมวลผลรวมกนครงเดยว เชน การค านวณคาบรการน าประปา โดยขอมลปรมาณน าทใชทงหมดจะถกเกบบนทกไวในรอบ 1 เดอน แลวน ามาประมวลผลเปนคาน าประปาในครงเดยวการประมวลผลแบบนมกมความผด พลาดสง เนองจากขอมลอาจเกดความคลาดเคลอนกอนการประมวลผล แตเสยคาใชจายในการประมวลผลนอย

http://www.siam2dev.com [ dr. nattapong songneam]

Page 85: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

Real-Time Processing

การประมวลผลแบบทนท (Real-Time Processing)เปน การประมวลผลทเกดขนพรอมกบการรบขอมลหรอหลงจากไดรบขอมลทนท เชน การฝากและถอนเงนกบธนาคาร เมอลกคาฝากเงน ขอมลนนจะถกประมวลผลทนท ท าใหยอดเงนฝากในบญชนนมการเปลยนแปลงการประมวลผลแบบนจะมความผด พลาดนอย แตเสยคาใชจายในการประมวลผลมาก

http://www.siam2dev.com [ dr. nattapong songneam]

Page 86: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

การคนหา Object ใน Problem Domain

• ค านาม ถอวาเปนตวบงช (indicator) ทดในการหา Object

• Object ม 2 ประเภท

– Touchable or Tangible Object

– Intangible Object

• บทบาท (Roles) เชน คร ต ารวจ

• เหตการณ ( Incidents , Event )

• ปฏสมพนธ (Interactions) เชน ทางแยก สญญาเงนก

http://www.siam2dev.com [ dr. nattapong songneam]

Page 87: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

การคนหา Object ใน Problem Domain

• ในการพจารณา Problem Domain เราอาจจะไดพบกบ Object หรอ Class หรอทงสองอยางกได สงทเราตองท ากคอ การระบวาสงใดคอ class สงใดคอ Object แตในบางครงค านามค าหนงอาจจะเปนไดทง สอง อยาง กลาวคอ ค านามนนอาจเปนไดทง class หรอ Object ดงนนเราจงอาจตองกลบไป พจารณา Problem Domain ใหรอบคอบอกครงหนง หากเกดกรณอยางน ดงตวอยางตอไปน

http://www.siam2dev.com [ dr. nattapong songneam]

Page 88: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

ตวอยางท 3.3 จากขอความตอไปน เราสามารถจ าแนก class และ Object ไดดงน

• ขอความท 1 “พยาบาล ชอ ปราณ ฉดยาปองกนโรคบาดทะยกใหแกคนไขชอ สมชาย ”

• ค านาม– ปราณ ประเภท Object

หมายเหต ค าวา พยาบาล ถอเปนคลาส class สวนปราณถอเปน Object หนงใน Class พยาบาล

– ยาปองกนโรคบาดทะยก ประเภท Class หรอ Objectหมายเหต ถอเปน Class ไดเพราะการบอกเพยงกวาง ๆ วา เปนยาปองกนบาดทะยก ไมไดบอกยหอยา หรอ ระบวาเปนยาขวดใด แตในขณะเดยวกนกอาจถอไดวาเปน Object กไดหากจะให concept เพยงวายาปองกนบาดทะยก ซงเปน Object ของ Class ยา ทงนข นอยกบวา Problem Domain จะใหความละเอยดของการสรางคลาสมากเพยงใด

– คนไขชอ สมชาย ประเภท Objectหมายเหต ค าวา คนไข ถอเปน คลาส class และ สมชาย ถอเปน Object หนงของคลาสน http://www.siam2dev.com [ dr.

nattapong songneam]

Page 89: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

ยากนยาฉด

ยาปองกนโรคบาดทะยก ยาฉดแก

อกเสบ

ยาปองกนโรคบาดทะยก ยหอ A

ยาปองกนโรคบาดทะยก ยหอ B

http://www.siam2dev.com [ dr. nattapong songneam]

การแบงประเภทยายา

Is Member Of Is Member Of

Page 90: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

Classification Abstraction

กระบวนการในการหาวาม Objects ใดบางใน Problem Domain และ Object แตละตวอยใน class ใดนน คอ กระบวนการทเรยกวา Classification Abstraction จากทผานมาเราไดรวาสามารถสราง Class จาก Object ทมอยนโดยการให Concept กบสงนน ๆ หรอถาจะกลาวอกอยางหนงกคอเปนการตอบค าถามทวา ม Object ตวใดตวหนงเปนสมาชกของ (Is Member Of”) ของกลมของ (Class) Object ใด ในทาง Object Orientation นนการท า Classification Abstraction หรอการสราง Class จาก Object นนจะใช

สญลกษณ ลกศรประทลากจาก Object ไปยง Class ดงตวอยางตอไปน

http://www.siam2dev.com [ dr. nattapong songneam]

Page 91: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

09/08/61 http://www.siam2dev.com [ dr. nattapong songneam]

91

Classification abs.

Class AClass BClass CClass E Class N

Class A Class A1Class A2Class A3

Aggregate

จะไดคลาสตางๆ

Page 92: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

Classification Abstraction

คน

สมชาย นก สมจตร ลกเกด

Is member of

http://www.siam2dev.com [ dr. nattapong songneam]

Page 93: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

Classification Abstraction

รถ

รถเกงของแดงรถมอเตอรไซต

ของด ารถสปอรตของสมศร

รถตของสมควร

Is member of

http://www.siam2dev.com [ dr. nattapong songneam]

เครองบน

Page 94: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

Classification Abstraction

รถ

รถเกงของแดงรถมอเตอรไซต

ของด ารถสปอรตของสมศร

รถตของสมควร

Is member of

ถาเตมรถไฟ จะอยในกลมนหรอไม

http://www.siam2dev.com [ dr. nattapong songneam]

Page 95: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

Classification Abstraction

รถ

รถเกงของแดงรถมอเตอรไซต

ของด ารถสปอรตของสมศร

รถตของสมควร

Is member of

จะนยาม รถวาอยางไร จงจะจดให รถไฟ เขากลมนได

http://www.siam2dev.com [ dr. nattapong songneam]

มลอมเครองยนตใชน ามนเคลอนทได

Page 96: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

ตวอยาง Classification Abstraction

คอมพวเตอรNotebook

? ? ? ?

Is member of

http://www.siam2dev.com [ dr. nattapong songneam]

Page 97: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

ตวอยาง Classification Abstraction

คอมพวเตอรNotebook

เมาส จอ HDD Keyboard

Is member of

http://www.siam2dev.com [ dr. nattapong songneam]

Page 98: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

ตวอยาง Classification Abstraction

คอมพวเตอรNotebook

ACER HP ASUS …

Is member of

http://www.siam2dev.com [ dr. nattapong songneam]

Page 99: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

คน

นฐพงศ กลวด สมชาย

สมศรเปนสมาชกของ

เปนสมาชกของ

เปนสมาชกของเปนสมาชกของ

ตวอยาง Classification Abstraction

Page 100: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

ธนาคาร

กรงไทย กรงเทพ ทหารไทย

กสกรเปนสมาชกของ

เปนสมาชกของ

เปนสมาชกของเปนสมาชกของ

ตวอยาง Classification Abstraction

?

Page 101: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

นกศกษา

สเนตร กมลวรรณ ดวงมณ

ประมาภรณเปนสมาชกของ

เปนสมาชกของ

เปนสมาชกของเปนสมาชกของ

ตวอยาง Classification Abstraction

Page 102: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

อาจารย

นฐพงศ ภมใจ จดาภา

มณรตนเปนสมาชกของ

เปนสมาชกของ

เปนสมาชกของเปนสมาชกของ

ตวอยาง Classification Abstraction

ซไรดาเปนสมาชกของ

Page 103: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

หนงสอ

หนงสอวเคราะหและออกแบบ

ระบบเชงวตถ

หนงสอการเขยนโปรแกรมภาษา

จาวา

การออกแบบและพฒนาเวบไซตดวย Adobe

Dreamweaver

หนงสอระบบปฏบตการ

เปนสมาชกของเปนสมาชกของ

เปนสมาชกของเปนสมาชกของ

ตวอยาง Classification Abstraction

แมว

Page 104: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

Classification Abstraction

ในบางครง Object หนงสามารถ เปนสมาชกของ Class ไดมาก กวาหนง Class ไดเชนกนดงตวอยางตอไปน

แมว หมา สตวสขา สตวสด า

แมวสด า หมาสขาว ววสด าhttp://www.siam2dev.com [ dr.

nattapong songneam]

แมวสขาว

ถานกวเคราะหระบบไมด จะไดผลลพธ

Page 105: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

ถา

• หนงสมาชก อยในหนงคลาส กมกจะไมมปญหา แตในความเปนจรง มกจะไมโชคดแบบน น

http://www.siam2dev.com [ dr. nattapong songneam]

Page 106: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

Classification Abstraction

เราสามารถแกปญหาความก ากวม โดยการปรบปรง Classification ของหมาและแมว ใหมจะไดผลลพธ ดงตอไปน

แมว หมา สตวส ขามเขา

แมวสด า หมาสขาว ววสด า

สตวมเขา

http://www.siam2dev.com [ dr. nattapong songneam]

แมวสขาว

ระบบมความซบซอนมาก

Page 107: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

ขนตอน การท า Classification Abs.ขนตอนท 1 : ก าหนด Problem Domain

ขนตอนท 2 : หาค านาม

ขนตอนท 3 : แยกแยะ ค านาม วา object หรอ attributes ของ objects

ขนตอนท 4 : ให concept การใหความคดรวบยอด เพอใหได คลาสพนฐานตางๆ- วาดเปนแผนภาพเพอแสดง concept

ขนตอนท 5 : จากนน ระบ วาวตถใด อยในคลาสใด

ขนตอนท 6 : จากใสรายละเอยดของคลาส attribute , function

ขนตอนท 7 : วาดแผนภาพ แสดง classification abstractions09/08/61 http://www.siam2dev.com [ dr. nattapong songneam]

107

คอหาคลาสๆ จากวตถตางๆ ทอยใน Problem domain

Page 108: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

ตวอยางท 3.4

“หนงสอเลมหนง ปกสเหลอง ภายในประกอบดวยเนอหาเกยวกบ Object Orientation หนงสอเลมนมจ านวน 50 หนา”

http://www.siam2dev.com [ dr. nattapong songneam]

Page 109: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

ขนตอนท 1 : หาค านาม

ค านาม

1. หนงสอ

2. ปก

3. เนอหา

4. หนา

http://www.siam2dev.com [ dr. nattapong songneam]

“หนงสอเลมหนง ปกสเหลอง ภายในประกอบดวยเนอหาเกยวกบ Object

Orientation หนงสอเลมนมจ านวน 50หนา”

Page 110: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

ขนตอนท 2 : แยกประเภทของค านาม

แยกประเภทของค านาม

• หนงสอเลมหนง : Object

• ปกสเหลอง : Attribute

• เนอหาเกยวกบ Object Orientation : Attribute

• หนา : Attribute

http://www.siam2dev.com [ dr. nattapong songneam]

ค านาม Object attributes

หนงสอเลมหนง Object

ปกสเหลอง เปนattributes

Page 111: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

ขนตอนท 4. ให concept การใหความคดรวบยอด เพอใหได คลาสพนฐานตางๆ

http://www.siam2dev.com [ dr. nattapong songneam]

หนงสอ VB มชอมราคามผแตงมปก

มเนอหาอานได()ปดได()เปดได()

หนงสอ java

หนงสอ

หนงสอ OOAD

Page 112: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

ขนตอนท 5

http://www.siam2dev.com [ dr. nattapong songneam]

หนงสอ

หนงสอ Visual Basic หนงสอ javaหนงสอ OS

เปนสมาชกของ

Is member of

Page 113: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

ขนตอนท 6

http://www.siam2dev.com [ dr. nattapong songneam]

หนงสอ Visual Basic หนงสอ javaหนงสอ OS

เปนสมาชกของ

Is member of

หนงสอ-ปก-เนอหา-ผแตง-ราคา

+ อานได()

Page 114: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

การระบ Class และ Object

• ในบาง Problem Domain อาจจะไดทง Class และ Object ในเวลาเดยวกน ดงนน จ าเปนตองระบใหแนชดวาสงใดคอ Class และสงใดคอ Object

http://www.siam2dev.com [ dr. nattapong songneam]

Page 115: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

ตวอยางท 3.5

“พยาบาลชอ ปราณ ฉดยาปองกนโรคบาดทะยกใหแกคนไขชอ กตต”

ขนตอนท 1 : แยกค านาม

• พยาบาลชอ ปราณ

• ยาปองกนโรคบาดทะยก

• คนไขชอกตต

http://www.siam2dev.com [ dr. nattapong songneam]

Page 116: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

ตวอยางท 5

ขนตอนท 2 : แยกประเภทของค านาม

• พยาบาล : Class

• ปราณ : Object หนงใน Class พยาบาล

• คนไข : Class

• กตต : Object หนงใน Class คนไข

• ยาปองกนโรคบาดทะยก : Class / Object

http://www.siam2dev.com [ dr. nattapong songneam]

*** ดงนน จะม 3 คลำส 3 ออบเจกต

Page 117: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

ตวอยางท 5

• ยาปองกนโรคบาดทะยก : Class

– เพราะเปนการบอกอยางกวาง ๆ วาเปนยาปองกนบาดทะยก แตไมไดระบยหอยา

• ยาปองกนโรคบาดทะยก : Object

– ถอเปน Object หนงใน Class ยา

http://www.siam2dev.com [ dr. nattapong songneam]

Page 118: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

http://www.siam2dev.com [ dr. nattapong songneam]

พยาบาล- ชอ- ดแลคนไขได()

ปราณ

Page 119: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

http://www.siam2dev.com [ dr. nattapong songneam]

พยาบาล

ปราณ

เปนสมาชกของ

Page 120: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

http://www.siam2dev.com [ dr. nattapong songneam]

คนไข

กตต

เปนสมาชกของ

สมชาย

Page 121: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

http://www.siam2dev.com [ dr. nattapong songneam]

คนไข- ชอ- ปวย()

กตต

ใหความคดรวบยอดเกยวกบคนไข

Page 122: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

http://www.siam2dev.com [ dr. nattapong songneam]

พยาบาล

ปราณ

เปนสมาชกของ

- ชอ

+ ดแลคนไข()

Page 123: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

Classification Abstraction

• กระบวนการในการหาวาม Object ใดบางในProblem Domain และ Object แตละตวอยใน Class ใด

• การท า Classification Abstraction แสดงดวยสญลกษณ ลกศรประทลากจาก Objects ไปยง Class

http://www.siam2dev.com [ dr. nattapong songneam]

Page 124: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

Classification ของ Class คน

คน

สมศร สมควร สมจตร สมศกด

http://www.siam2dev.com [ dr. nattapong songneam]

Page 125: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

Classification ของ หมา แมว สตวสขาวและสตวสด า

แมวสด า หมาสด า แมวสขาว หมาสขาว

หมา แมว สตวสขาว สตวสด า

http://www.siam2dev.com [ dr. nattapong songneam]

Page 126: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

การปรบปรงการท า Classification Abs. ของหมาและแมว

หมาสด า หมาสขาว แมวสด า แมวสขาว

หมา แมว

http://www.siam2dev.com [ dr. nattapong songneam]

Page 127: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

Classificationของ Class คนทมการใสรายละเอยดแลว

สมศร สมควร สมจตร สมศกด

คนชอนามสกลเพศอาย

บอกชอและนามสกลบอกเพศบอกอาย

http://www.siam2dev.com [ dr. nattapong songneam]

Class name

attributes

function

Page 128: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

HDD

http://www.siam2dev.com [ dr. nattapong songneam]

Private HDD hdd;

hdd = new HDD();

hdd = new HDD();

hdd = new HDD();

hdd = new HDD();

hdd1 = new HDD();

Page 129: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

Encapsulation

• Encapsulation เปรยบเสมอนกบการน าเปลอกมาครอบ Attributes และ Function ของ Class เอาไว

• ลกษณะของเปลอก

– เปลอกใส จะสามารถมองไดจากภายนอก

– เปลอกทบ จะไมสามารถเหนไดจากภายนอก

• ภาพของ Class ทมองเหนไดจากภายนอกนนเรยกวา Outside View

http://www.siam2dev.com [ dr. nattapong songneam]

Page 130: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

Outside View ของ Class คน

คน

อาย

บอกอาย ( )

Class คน

คน

บอกอาย ( )

Outside Viewของ Class คน

http://www.siam2dev.com [ dr. nattapong songneam]

การท เรามอง จากภายคลาส เขาไปยงขางใน จะเหน/เขาถงอะไรไดบาง

Page 131: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

การเขาถงไดหรอไมได เรยกวา การท า Information Hidding

http://www.siam2dev.com [ dr. nattapong songneam]

ทเรยน

+ หนาม - เนอ ทเรยน

Outside View

+ eatable()

Inside View

# เมลด

Page 132: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

Visibility / Accessibility

http://www.siam2dev.com [ dr. nattapong songneam]

- Private

# Protected+ Public

attributes

functions

*** ซงขนอยกบควำมสำมำรถในกำรเขำ จะม 3 แบบ

Page 133: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

Outside View ของ Class คน

คน

อาย

บอกอาย ( )

Class คน

คน

บอกอาย ( )

Outside Viewของ Class คน

http://www.siam2dev.com [ dr. nattapong songneam]

+ สผว

- อาย- ล าไส

Page 134: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

Encapsulation / Information Hiding / Outside View

X

Y

Z

http://www.siam2dev.com [ dr. nattapong songneam]

เปลอกใสเปลอกทบ

Page 135: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

การเรยกด Attribute โดยการใช Function

สมศกด : คน

อาย

บอกอาย ( )

สมศร : คน

- อาย

+ บอกอาย ( )

โปรดบอกอาย

http://www.siam2dev.com [ dr. nattapong songneam]

Page 136: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

การเขยนเมอ Function ถกเรยกใชงาน

สมศกด : คน

อาย

บอกอาย ( )

สมศร : คน

- อาย

+บอกอาย ( )

สวนของ Function จะถกเขยนดวยตวเอยง

http://www.siam2dev.com [ dr. nattapong songneam]

Page 137: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

Information Hiding

• คอ คณสมบตของ Object ทเมอตองการเขาถง Attribute บางตวของ Object นน จะตองอาศยการท าผาน Function ทสามารถมองเหนและเรยกใชได เทานน

– เพราะ Attribute ถกหมดวยเปลอกทบ

– เพราะ Function ถกหมดวยเปลอกใส

http://www.siam2dev.com [ dr. nattapong songneam]

Page 138: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

ประเภทของ Attribute และ Function

• จ าแนกตามความสามารถในการเหนและเขาถง Attribute และ Function เหลานนได 3 ประเภทคอ

– Private Attributes and Functions

– Protected Attributes and Functions

– Public Attributes and Functions

http://www.siam2dev.com [ dr. nattapong songneam]

Page 139: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

VB

Java

http://www.siam2dev.com [ dr. nattapong songneam]

Public class Person

Private age as Int16

Public sub EAT()

Msgbox “Eating”

End subEnd class

public class Person {

private int age;

public void EAT() {

Sysyem.out.println( “Eating”)

}}

Page 140: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

Private Attributes and Functions

• คอ Attributes และ Functions ทไมสามารถเหนไดเลยจากภายนอก

• การเขาถง Attribute เหลานไดตองผานทาง Function ทมไวเทานน

• จะใชเครองหมาย (-) ก ากบไวหนา PrivateAttribute และ Private Function

• เชน อายของคน

http://www.siam2dev.com [ dr. nattapong songneam]

Page 141: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

Protected Attributes and Functions

• คอ Attributes และ Functions ทไมสามารถเหนไดจากภายนอกแตเปนสวนทสามารถสงตอให Inherited Class ไดเทานน

• จะใชเครองหมาย (#) ก ากบไวหนา Protected Attribute และ Protected Function

• เชน ลกษณะทางกรรมพนธทลกสบทอดมาจากพอแม

http://www.siam2dev.com [ dr. nattapong songneam]

Page 142: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

Public Attributes and Functions

• คอ Attributes และ Functions ทสามารถมองเหนไดและสามารถเรยกใชไดโดยตรงจากภายนอก

• จะใชเครองหมาย (+) ก ากบไวหนา Public Attribute และ Public Function

• เชน สผม สผว

http://www.siam2dev.com [ dr. nattapong songneam]

Page 143: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

Classification ของ Class คน

สมศร สมควร สมจตร สมศกด

คน- ชอ# นามสกล- เพศ- อาย+ บอกชอและนามสกล ()+ บอกเพศ ()+ บอกอาย ()

http://www.siam2dev.com [ dr. nattapong songneam]

Page 144: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

Classification ของ Class คน

สมศร สมควร สมจตร สมศกด

คน

- ชอ# นามสกล- เพศ- อาย

+ บอกชอและนามสกล+ บอกเพศ+ บอกอาย

สมศร

http://www.siam2dev.com [ dr. nattapong songneam]อาย = 35 อาย = 78 อาย = 78

Page 145: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

Inside view

http://www.siam2dev.com [ dr. nattapong songneam]

สมศร : คน- สมศร : ชอ# ไทยงาม : นามสกล- 25 : อาย+บอกอายได+บอกชอนามสกลได+บอกเพศได

Page 146: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

Function

• ทผานมาเราพดถงเฉพาะ Attribute ของ class เทานนแต class ก ยงมอกสงหนงทตองพจารณาดวยนนก คอ Function ซงถอวาเปนตวกระตนใหด าเนนกจกรรมตางๆ ซงหมายความวา class จะมความสามารถในการท ากจกรรมตางๆ บรรจอยภายใน class ซงถอวา Function นเองเปนตวทท าให class แตกตางจากขอมลทวไปนนเอง

http://www.siam2dev.com [ dr. nattapong songneam]

Page 147: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

Class Diagramคน

ชอนามสกลอายเพศ

บอกชอและนามสกลบอกอายบอกเพศเปลยนชอ และนามสกล

Function

Attribute

http://www.siam2dev.com [ dr. nattapong songneam]

สมจตร นก สมศร สมปอง

Is member of

Page 148: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

Class Diagramรถ

ยหอรนส

ราคา

บอกยหอบอกรนบอกส

ราคา

http://www.siam2dev.com [ dr. nattapong songneam]

Is member of

รถเกงของดร.นฐ

รถมอเตอรไซตของนายมก

รถสปอรตของสมหญง

รถตของสมชาย

Function

Attribute

Page 149: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

Encapsulation & Information Hiding

• Encapsulation คอ ความสามารถในการรวมเอา Attribute และ Function เกบไวภายใน Class เดยวกน

• Information Hiding คอ ความสามารถในการซอนรายละเอยด ของขอมลของ Class โดยไมใหผใชทไมมสทธเขาใชงานสามารถเขาถงขอมลเหลานนไดโดยตรง (หากตองอาจท าไดโดยผานทาง Function แทน )

http://www.siam2dev.com [ dr. nattapong songneam]

Page 150: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

ตวอยางท 3.6

• เมอสมศรตองการทราบอายของ สมชาย ซงอายกถอเปน Attribute หนงของสมชาย สงทสมศรจะท าไดคอตองถามจากตวสมชายเอง นนคอ การกระตนใหสมชายบอกอายของตนออกมา ซงหมายความวาหากสมชายมความสามารถในการบอกอายหรอ พอใจทจะบอก (สมชายตองม Function ในการบอกอายทเปน Public Function) สมศรกสามารถทราบอายของสมชายได

สมศร : คน

อาย

บอกอาย()

สมชาย : คน

อาย

บอกอาย()

โปรดบอกอาย

http://www.siam2dev.com [ dr. nattapong songneam]

Page 151: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

ประเภทของ Attribute และ Function

• Private (-) , Private Attribute & Function– คอ Attribute & Function จะไมสามารถมองเหนไดเลยจากภายนอก ม

วธเดยวทจะเขาถง Attribute เหลาน คอ ผานทาง Function ทเปน Public

• Protected (#)– คอ Attribute & Function จะสามารถมองเหนไดเฉพาะคลาสทสบทอด

คณสมบต ( Inherit )จากคลาสแม (Parent Class) เลยจากภายนอก

• Public (+)– คอ Attribute & Function จะสามารถมองเหนไดจากภายนอก

http://www.siam2dev.com [ dr. nattapong songneam]

Page 152: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

Class Diagram

สมปอง สมศร นก สมปอง

Is member of

คน

- ชอ# นามสกล- อาย- เพศ

+ บอกชอและนามสกล+ บอกอาย+ บอกเพศ+ เปลยนชอ และนามสกล

http://www.siam2dev.com [ dr. nattapong songneam]

Page 153: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

Class Diagram

รถเกงสด าของนายแดง

รถตสขาวของสมศร

รถกระบะสแดงของนก

รถสปอรตสด าของนายด า

รถ

- ประเภทรถ- สของรถ- รน- แรงมา

+ สตารทเครอง+ วง+ เลยว+ จอด

http://www.siam2dev.com [ dr. nattapong songneam]

Is member of

Page 154: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

ความคดรวบยอด (concept)

http://www.siam2dev.com [ dr. nattapong songneam]

มรปทรงใสน าไดปรมาตร

ขวดน าตราสงห

ขวดตรา 7 select

ขวดน า

..

Page 155: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

ความคดรวบยอด (concept)

http://www.siam2dev.com [ dr. nattapong songneam]

เคลอนทไดโดยสารได

รถ BMX

Altisยานพาหนะ

Boing 747

เรอโดยสาร

Page 156: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

ความคดรวบยอด (concept)

http://www.siam2dev.com [ dr. nattapong songneam]

Page 157: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

http://www.siam2dev.com [ dr. nattapong songneam]

ยานพาหนะทว

คน

แมว สตวปก

สนคา

พนกงาน

หองพก

บทเรยน

ปลา

ตนไม

พนกงาน

Page 158: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

http://www.siam2dev.com [ dr. nattapong songneam]

เกาอ โตะ

อาจารยเมาส

คอม

สายไฟ

แอร

โปรเจกตเตอร

F1 f2 f3 f4 f5 f6 f7 f8

หลอดไฟ

Page 159: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

Exercise I

1. สมชาย สมควร และสมศกด เปนนกเรยนในขณะทสมหญงและสมศรเปนนกกฬาทมชาต

2. สมศกด สมหญง และสมศร เปนคนผวด า ในขณะทสมชาย และสมควร เปนคนผวขาว

3. สมชาย สมควร และสมศกด เปนผชาย ในขณะท สมหญง และสมศร เปนผหญง

http://www.siam2dev.com [ dr. nattapong songneam]

จากขอความตอไปน จงเขยนแยกวาอะไรคอออบเจกต อะไรคอคลาส โดยวาดมาเปน แผนภาพ Classification Abstraction

จงวาดเปนแผนภาพแสดงClassification Abstraction

Page 160: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

เฉลย ขอ 1

1. ก าหนดค านาม

2. ให Concept

3. วาดแผนภาพ

http://www.siam2dev.com [ dr. nattapong songneam]

1. สมชาย สมควร และสมศกด เปนนกเรยนในขณะท สมหญงและสมศรเปนนกกฬาทมชาต

มชอเพศ

เกรดเฉลยเรยนได()

นกเรยนสมชาย

สมควร

สมศกดมชอเพศอาย

เลนกฬาได()

นกกฬาสมหญง

สมศร

Page 161: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

http://www.siam2dev.com [ dr. nattapong songneam]

นกเรยน นกกฬา

สมชาย สมควรสมศกด สมหญง สมศร

เปนสมาชกของ เปนสมาชกของ

Page 162: Lec03-1 : Classification Abstraction...nattapong songneam] การพัฒนาระบบ • เมื่อได รับมอบหมาย จาก หน วยงาน

Exercise II

1. คอมพวเตอรยหอ Dell ตอเชอมกบ Printer และ Scanner ยหอ Hewlett Packard ซงถกใชงานโดยนาย ก ซงเปน Programmer

2. นาย ข เปน programmer เชนเดยวกน แตเครองคอมพวเตอรทใชเปนยหอ IBM ซงเชอมกบพรนเตอร

3. นาย ค เปนนกวเคราะหระบบ รบผดชอบการวเคราะหระบบใหกบฝายการบญช และฝายสงซอของบรษทน าเขาและสงออกแหงหนง

http://www.siam2dev.com [ dr. nattapong songneam]

จงเขยน Outside view ของแตละ class ทมอยใน problem domain ตอไปน