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

Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

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

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

Last Update : 28/04/2562

Lec03-1 : Classification Abstraction

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

Page 2: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

• บททใชสอบ

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

• สอบ วนท.... .......2562

• หองสอบ ...

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

**** 19 หรอ 26 พ.ค. 2562 สอบระหวางภาค 3/2561

Page 3: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

• http://www.siam2dev.net

• E-mail : [email protected]

• Facebook : [email protected]

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

Page 4: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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 Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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 Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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 Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

OOAD

• PM:Project Manager /CPM… Software Engineering

• SA: System Analyst

• DBA: Database Administrator

– ER

– Normalize

– Data Dictionary

– SQL

• DEV: Developer / Programmer

• UX/UI Designer

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

nattapong songneam]

ผทเกยวของกบการพฒนาระบบ

Page 8: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

• PM:Project Manager /CPM… Software Engineering

• SA: System Analyst

– Database

– SA

– OOAD

– OOP

– Programming

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

Page 9: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

การพฒนาระบบ

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

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

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

In house Out source

Page 10: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

แนวทาง

• Traditional Development Process

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

• OOA - Analysis

• OOD - Design

• OOP - Programming

• OOT= Testing

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

OOSE / OOAD

Object-Oriented Software engineeringวศวกรรมซอฟตแวรเชงวตถ

Page 11: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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 12: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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. เขยนโปรแกรม ตดตอฐำนขอมล Component Diagram

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

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

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

UML

Page 13: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

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

รายงานขอก าหนดของความตองการ

Page 14: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

Problem Domain

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

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

• คอ การพจารณา สงทเกยวของกบระบบ หรอ สงทมลตตออระบบ

Page 15: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

Page 16: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

Entity ในระบบรานเซเวน มอะไรบาง

• พนกงาน

• ตกคา

• สนคา

• ราคา

• ใบเสรจ

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

Page 17: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

แหลงขอมล มาจาก ใบสมคร

• Entity 1 entity อาจจะมหตายตารางได เชอน

• พนกงาน– ขอมตพนกงาน

– ขอมตประวตการศกษา

– ขอมตประวตการท างาน

– ขอมตประวตการตา

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

พนกงาน

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

ประวตการลา

Page 18: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

DFD

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

0

ระบบการรกษาพยาบาลในโรงพยาบาล ABC

แคร

คนไข

Page 19: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

TbPatient

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

Page 20: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

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

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

Page 21: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

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

ระบบคารแครอนเตอร

เนชนเนต

Page 22: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

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

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

Page 23: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

บารโคดสนคา (… , …. , …. , …. , …..)

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

รหสบารคดสนคา

ชอบารโคด ทอยบารโคด เบอรโทรบารโคด

อเมลบารโคด จ านวนบารโคด

ราคาบารโคด

Page 24: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

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

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

sofitel

ลกคา

พนกงาน

หอง ประเภทหอง

เซคอน

เซคเอาท

ตาราง หรอ ฟลด

ราคา ตาราง หรอ ฟลด

Page 25: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

หองพก

ราคา หมายเลขหอง

รหสประเภทหอง

Page 26: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

• หองพก ...จบ

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

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

หองพก ?

Page 27: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

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

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

ลกคา

พนกงาน

หองพก........สวรรณ

เจาของโรงแรม

ขอมลการจอง

Page 28: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

ลกคา จอง

หองพก ม

วนท

รหส ชอ ทอย

...

รหส

ชอ ทอย

...

ออก

ใบเสรจ

วนท

เลขท

รหส ประเภทรายละเอยด

...

ประเภทหองพก

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

Relationship

- Unary

- Binary- N-ary , Ternaryทอย 1

ทอย 2

Multi-value attributes

เบอรโทร

Page 29: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

จงอธบายค าศพท ตอไปน

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

• Relationship

– Unary

– Binary

– N-ary , Ternary

• Attributes– Multi-value attributes

• Entity

– Combination Entity

– Weak Entity

Entity

พนกงาน พนกงาน

ผจดการ

พนกงานลก

พอแม

Page 30: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

ลกคา พนกงาน1 1

ลกคา พนกงาน1 N

ลกคา พนกงานM N

ลกคา พนกงานN 1

Page 31: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

ลกคา สนคาซอN N

พนกงาน

N

1

Combination Entity

Page 32: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

ลกคา สนคาซอN N

พนกงาน

N

1

รหส

ชอ-นามสกลMulti-Value Attribute

Combination Attribute

เบอรโทร

PKFK

ทอย

เบอรโทร -1

เบอรโทร -2

เบอรโทร -3

Combination Entity

Page 33: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

Multi-value attributes

Cust_id Cust_name Cust_address

c001 หม า กรงเทพ

c001 หม า เชยงใหม

c001 หม า เชยงราย

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

Page 34: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

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

• ....

• ใบเสรจ

• ใบจอง

• บตรพนกงาน

• ..ใบลงชอ

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

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

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

nattapong songneam]

Page 35: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

จงออกแบบใบสมครพนกงาน ของโรงแรม ABC Hotel

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

รป

( )

Page 36: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

จงออกแบบบตรพนกงาน ของโรงแรม ABC Hotel

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

รป

( )

Page 37: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

จงออกแบบใบเสรจ ของโรงแรม ABC Hotel

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

Page 38: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

A

B

C

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

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

Page 39: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

Employee Customerserv

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

Page 40: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

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

– สวนทไมส าคญ

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

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

10 ฟงกชน10

Requirements

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

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

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

Page 41: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

• Functions

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

– 2…………………

– 3……………….

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

– …

– 10 ….

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

หนาทของ SA

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

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

10 functions

Function : 1. ระบบสามารถท าการจองหองพกได

Page 42: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

DFD Level 1 ระบบการจองหองพกโรงแรมออนไลน

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

ตรวจสอบสถานะหองพก

1.0

2.0

เลอกหองพก

D1 ขอมลหองพก

ลกคา / พนกงาน

External Source / Boudary

2.0

จดการหองพก

สถานะหองพก

หมายเลขหอง

Page 43: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

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

Function : 1. ระบบสามารถท าการจองหองพกได / เกบขอมลการจองFunction : 2. ระบบสามารถยกเลกการจองไดFunction : 3. ระบบสามารถ ...เกบขอมลลกคาไดFunction : 4. ระบบสามารถ ...เปลยนขอมลการจองได เชนเปลยน วน จ านวนหองFunction : 5. ระบบสามารถ ...เปลยนแปลงขอมลผจองไดFunction : 6. ระบบสามารถ ...เชค/ตรวจสอบหองวาง ไดFunction : 7. ระบบสามารถ ...เกบขอมลพนกงาน ไดFunction : 8. ระบบสามารถ ...เกบขอมลหองพกไดFunction : 9. ระบบสามารถ ...ออกใบจองไดFunction : 10. ระบบสามารถ ...ตรวจสอบราคาหองพก

Page 44: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

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

Requirement Specification4. อธบายใหผพฒนาระบบเขาใจ5. ออกตว Prototype คยกบ UI Designer5. ท าความตกลงกบลกคา negation6. Formal Acceptance

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

Use case diagram

Page 45: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

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

Page 46: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

46

• ระบบการจองหองพกโรงแรม .....กรณศกษา ...........โรงแรมพระนครแกรนดวว........อมรชย

• การพฒนาระบบการบรหารจดการหองพกโรงแรม ....รจนศกด

• การพฒนาระบบการเชาหองพก อพารตเมนท ..กรณศกษา..ปทองอพารตเมนท บรนทร

• การพฒนาระบบการเชาวดโอ เพญนภา

• การพฒนาระบบการเชาหนงสอ ศรวรรณ

• การพฒนาระบบซอ-ขาย รานขายดอกไม กลยรตน

• การพฒนาระบบรานขายโทรศพทมอถอ นรภทร

• การพฒนาระบบรานขายคอมพวเตอรและอปกรณไอท ณฐวต

• การพฒนาระบบคลนก วชราภรณ

• การพฒนาระบบโรงพยาบาล สมชาย

• การพฒนาระบบงานธนาคาร มลตรา

• การพฒนาระบบการจายเงนเดอนใหพนกงาน (Payroll System) พลลภอ.ดร. นฐพงศ สงเนยม

Page 47: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

จงเขยนฟงกชนมา 10 ฟงกชน ของระบบตอไปน

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

1. การพฒนาระบบการเชาหองพก อพารตเมนท ..กรณศกษา..( กานดา , ดจฤด)

2. การพฒนาระบบการเชาวดโอ (อบลวรรณ , ณฐพล)

3. การพฒนาระบบการเชาหนงสอ

4. การพฒนาระบบซอ-ขาย รานขายดอกไม (นนทวฒน ,สธรา)

5. การพฒนาระบบรานขายโทรศพทมอถอ (เงนสร,จรายส)

6. การพฒนาระบบรานขายคอมพวเตอรและอปกรณไอท (ธนวฒน สงขร)

7. การพฒนาระบบคลนก (นพวรรณ ศราวฒ)

8. การพฒนาระบบโรงพยาบาล (วรวท ธนท)

9. การพฒนาระบบงานธนาคาร (ชนนรตน สรวศ)

10. การพฒนาระบบการจายเงนเดอนใหพนกงาน(Payroll System) (พรธช)

*** ทกระบบ ท ำเปนออนไลน (Online)

Page 48: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

Business Rule แตละองคกรไมเหมอนกน

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

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

โรงแรม ธนาคาร โรงงาน มหาวทยาลย

โรงพยาบาล

ERP: Enterprise Resource Planning

Page 49: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

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

Page 50: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

การพฒนาระบบการจายเงนเดอน ของ บ. ABC จ ากด

• การพฒนาระบบการจายเงนเดอนออนไลนของ บ. ABC จ ากด

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

Page 51: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

Page 52: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

52

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

Page 53: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

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

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

Page 54: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

• 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 55: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

รถยนต

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

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

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

บรการ

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

Page 56: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

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

รถ

???

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

ดดฝอ น

เคตอบส

Page 57: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

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

รถ

ซออม

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

บรการ

ช าระเงน

อะไหต

Problem Domain

ภาษ

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

Page 58: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

ค าถาม

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

– HRM

– Purchase Order ระบบสงซอ

– ระบบสตอก Inventory System

– ระบบจอง Reservation System

– ระบบสมาชก member

– ฯลฯ

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

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

Page 59: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

Problem Domain

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

Page 60: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

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

พวงมาลย

ลอ

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

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

Page 61: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

Page 62: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

Outside view

- Private

# Protected

+ Public

Page 63: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

Page 64: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

คน

- ขา

+ เดนได()

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

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

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

Problem Domain

คน

- ขา

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

Page 65: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

คน

• ขา

• แขน

• หว

• ล าตว

• เดน

• กน

• นอน

• เทยว

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

nattapong songneam]

คน

- ขา

- แขน

- ล าตว

+ เดน

+ กน

+ นอน

Page 66: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

• คน X

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

– ลกคา

– ผจดการ ?

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

Page 67: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

web win

mobile

Page 68: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

Information Gathering

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

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

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

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

• ลงมอท า(Practice)

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

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

Page 69: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

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

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

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

เรยกวำกำรท ำ ?

Page 70: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

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

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

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

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

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

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

Page 71: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

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

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

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

ชอ-นามสกล

รหสพนกงาน

แผนก

อเมล

Page 72: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

Page 73: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

การคด 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 74: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

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

Page 75: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

Fix OT ชม. ละ 40

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

Page 76: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

Page 77: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

หกอะไรบาง ?

• ลา มาสาย ขาด

• ประกนสงคม

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

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

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

Page 78: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

• ก าหนด ชองาน

• สมาชก

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

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

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

*** สง สป. หนำ

Page 79: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

Classification Abstraction

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

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

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

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

Page 80: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

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

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

– อาจารย

– หอง

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

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

Page 81: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

ภาษหก ณ ทจาย

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

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

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

**** เกยวของ

Page 82: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

1. การรบสมคร

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

3. การเลอนขน

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

1. คดเงนเดอน

2. OT

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

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

5. การรายงาน

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

nattapong songneam]

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

Page 83: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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 84: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

Problem Domain of Payroll System

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

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

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

โอท

More…

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

Page 85: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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 86: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

Problem Domain

Problem Domain

Page 87: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

Page 88: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

Page 89: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

• →

• →

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

Page 90: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

หนงสอ

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

ระบบเชงวตถ

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

จาวา

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

Dreamweaver

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

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

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

แมว

Page 91: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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 92: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

ประเภทของ Object

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

(Tangible Objects)

– คน สนข รถยนต

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

(Intangible Objects)

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

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

Page 93: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

Page 94: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

ต.ย. 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 95: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

Page 96: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

Page 97: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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 98: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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 99: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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 100: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

C

#include <stdio.h>

static void main() {

int x;

string color;

Colors Color;

}

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

PDT

ADT

Page 101: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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 102: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

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

• Attribute– ชอหนงสอ

– ผเขยน

– ราคา

– วนทพมพ

– ส านกพมพ

– จ านวนหนา

– จ านวนกเลม

– ประเภท

• Function

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

Page 103: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

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

หนงสอ

หนงสอ VB

หนงสอ JAVA

Page 104: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

• ผลไม– ส

– ชอ

– ขนาด

– รปทรง

– กนได

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

• คน– ชอ

– นามสกล

– อาย

– เพศ

– กนได

Eatable → polymorphism

Eatable()

Eatable()Eatable()

Fruit Human

Page 105: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

ผลไม

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

แมว

แอปเปล

ซมซง S7

Page 106: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

ผลไมสแดง

ผลไมสเขยว

แอปเปล

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

องน

Page 107: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

Page 108: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

• ขอความท 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 109: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

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

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

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

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

Page 110: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

ATM System

• Real Time Processing

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

Page 111: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

Batch Processing)

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

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

Page 112: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

Real-Time Processing

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

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

Page 113: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

การคนหา 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 114: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

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

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

Page 115: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

ตวอยางท 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 116: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

ยากนยาฉด

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

อกเสบ

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

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

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

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

Is Member Of Is Member Of

Page 117: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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 118: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

118

Classification abs.

Class AClass BClass CClass E Class N

Class A Class A1Class A2Class A3

Aggregate

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

Page 119: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

Classification Abstraction

คน

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

Is member of

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

Page 120: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

Classification Abstraction

รถ

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

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

รถตของสมควร

Is member of

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

เครองบน

Page 121: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

Classification Abstraction

รถ

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

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

รถตของสมควร

Is member of

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

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

Page 122: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

Classification Abstraction- ลอ- เครองยนต

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

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

รถตของสมควร

Is member of

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

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

รถ

+ วงไปบนถนน

Page 123: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

Classification Abstraction

รถ

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

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

รถตของสมควร

Is member of

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

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

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

Page 124: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

ตวอยาง Classification Abstraction

คอมพวเตอรNotebook

? ? ? ?

Is member of

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

Page 125: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

ตวอยาง Classification Abstraction

คอมพวเตอรNotebook

เมาส จอ HDD Keyboard

Is member of

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

Page 126: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

ตวอยาง Classification Abstraction

คอมพวเตอรNotebook

ACER HP ASUS …

Is member of

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

Page 127: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

คน

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

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

เปนสมาชกของ

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

ตวอยาง Classification Abstraction

Page 128: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

ธนาคาร

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

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

เปนสมาชกของ

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

ตวอยาง Classification Abstraction

?

Page 129: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

นกศกษา

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

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

เปนสมาชกของ

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

ตวอยาง Classification Abstraction

Page 130: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

อาจารย

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

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

เปนสมาชกของ

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

ตวอยาง Classification Abstraction

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

Page 131: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

หนงสอ

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

ระบบเชงวตถ

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

จาวา

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

Dreamweaver

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

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

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

ตวอยาง Classification Abstraction

แมว

Page 132: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

Classification Abstraction

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

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

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

nattapong songneam]

แมวสขาว

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

Page 133: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

ถา

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

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

Page 134: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

Classification Abstraction

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

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

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

สตวมเขา

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

แมวสขาว

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

Page 135: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

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

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

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

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

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

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

135

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

Page 136: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

ตวอยางท 3.4

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

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

Page 137: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

ค านาม

1. หนงสอ

2. ปก

3. เนอหา

4. หนา

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

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

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

Page 138: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

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

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

• ปกสเหลอง : Attribute

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

• หนา : Attribute

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

ค านาม Object attributes

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

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

Page 139: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

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

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

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

หนงสอ java

หนงสอ

หนงสอ OOAD

Page 140: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

ขนตอนท 5

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

หนงสอ

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

เปนสมาชกของ

Is member of

Page 141: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

ขนตอนท 6

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

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

เปนสมาชกของ

Is member of

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

+ อานได()

Page 142: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

การระบ Class และ Object

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

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

Page 143: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

ตวอยางท 3.5

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

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

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

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

• คนไขชอกตต

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

Page 144: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

ตวอยางท 5

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

• พยาบาล : Class

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

• คนไข : Class

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

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

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

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

Page 145: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

ตวอยางท 5

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

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

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

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

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

Page 146: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

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

ปราณ

Page 147: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

พยาบาล

ปราณ

เปนสมาชกของ

Page 148: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

คนไข

กตต

เปนสมาชกของ

สมชาย

Page 149: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

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

กตต

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

Page 150: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

พยาบาล

ปราณ

เปนสมาชกของ

- ชอ

+ ดแลคนไข()

Page 151: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

Classification Abstraction

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

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

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

Page 152: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

Classification ของ Class คน

คน

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

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

Page 153: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

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

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

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

Page 154: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

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

หมา แมว

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

Page 155: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

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

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

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

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

Class name

attributes

function

Page 156: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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 157: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

Encapsulation

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

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

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

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

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

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

Page 158: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

Outside View ของ Class คน

คน

อาย

บอกอาย ( )

Class คน

คน

บอกอาย ( )

Outside Viewของ Class คน

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

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

Page 159: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

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

ทเรยน

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

Outside View

+ eatable()

Inside View

# เมลด

Page 160: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

Visibility / Accessibility

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

- Private

# Protected+ Public

attributes

functions

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

Page 161: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

Outside View ของ Class คน

คน

อาย

บอกอาย ( )

Class คน

คน

บอกอาย ( )

Outside Viewของ Class คน

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

+ สผว

- อาย- ล าไส

Page 162: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

Encapsulation / Information Hiding / Outside View

X

Y

Z

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

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

Page 163: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

สมศกด : คน

อาย

บอกอาย ( )

สมศร : คน

- อาย

+ บอกอาย ( )

โปรดบอกอาย

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

Page 164: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

สมศกด : คน

อาย

บอกอาย ( )

สมศร : คน

- อาย

+บอกอาย ( )

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

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

Page 165: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

Information Hiding

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

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

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

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

Page 166: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

ประเภทของ 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 167: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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 168: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

Private Attributes and Functions

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

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

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

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

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

Page 169: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

Protected Attributes and Functions

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

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

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

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

Page 170: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

Public Attributes and Functions

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

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

• เชน สผม สผว

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

Page 171: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

Classification ของ Class คน

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

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

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

Page 172: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

Classification ของ Class คน

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

คน

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

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

สมศร

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

Page 173: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

Inside view

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

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

Page 174: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

Function

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

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

Page 175: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

Class Diagramคน

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

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

Function

Attribute

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

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

Is member of

Page 176: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

Class Diagramรถ

ยหอรนส

ราคา

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

ราคา

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

Is member of

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

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

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

รถตของสมชาย

Function

Attribute

Page 177: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

Encapsulation & Information Hiding

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

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

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

Page 178: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

ตวอยางท 3.6

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

สมศร : คน

อาย

บอกอาย()

สมชาย : คน

อาย

บอกอาย()

โปรดบอกอาย

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

Page 179: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

ประเภทของ 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 180: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

Class Diagram

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

Is member of

คน

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

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

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

Page 181: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

Class Diagram

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

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

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

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

รถ

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

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

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

Is member of

Page 182: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

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

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

ขวดน าตราสงห

ขวดตรา 7 select

ขวดน า

..

Page 183: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

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

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

รถ BMX

Altisยานพาหนะ

Boing 747

เรอโดยสาร

Page 184: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

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

Page 185: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

ยานพาหนะทว

คน

แมว สตวปก

สนคา

พนกงาน

หองพก

บทเรยน

ปลา

ตนไม

พนกงาน

Page 186: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

เกาอ โตะ

อาจารยเมาส

คอม

สายไฟ

แอร

โปรเจกตเตอร

F1 f2 f3 f4 f5 f6 f7 f8

หลอดไฟ

Page 187: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

Exercise I

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

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

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

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

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

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

Page 188: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

เฉลย ขอ 1

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

2. ให Concept

3. วาดแผนภาพ

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

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

มชอเพศ

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

นกเรยนสมชาย

สมควร

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

เลนกฬาได()

นกกฬาสมหญง

สมศร

Page 189: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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

นกเรยน นกกฬา

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

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

Page 190: Lec03-1 : Classification Abstractionsiam2dev.net/E_Learning/OOAD/Lec03_1_Classification... · 2019. 4. 29. · Objectives • วัตถุประสงค์ 1. เพื่อให้ผู้อ่านสามารถได้รู้หลักการในการก

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 ตอไปน