Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
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
สอบระหวางภาค 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
ดร. นฐพงศ สงเนยม
• http://www.siam2dev.net
• E-mail : [email protected]
• Facebook : [email protected]
http://www.siam2dev.com [ dr. 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]
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]
Classification Abstraction ?
• การก าหนด Problem Domainเมอตกลงทจะพฒนาระบบคอมพวเตอรดวยหลกการของ OOAD แลว
เพอการวเคราะหความตองการของผใช (User Requirement) สงทตองพจารณาอนดบแรกกคอการก าหนดขอบเขตของสงทตองการจะพจารณา เรยกขอบเขตนวา Problem Domain เราสามารถก าหนด Problem Domain ไดจากการสอบถามความตองการ (Requirement) จากผใชระบบ (End-User) งานนน ๆ
http://www.siam2dev.com [ dr. nattapong songneam]
Problem Domain คอการก าหนดขอบเขตของระบบทจะพฒนา
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]
ผทเกยวของกบการพฒนาระบบ
• PM:Project Manager /CPM… Software Engineering
• SA: System Analyst
– Database
– SA
– OOAD
– OOP
– Programming
http://www.siam2dev.com [ dr. nattapong songneam]
การพฒนาระบบ
• เมอไดรบมอบหมาย จาก หนวยงาน หรอ บ. ให พฒนาระบบตามแนวทางเชงวตถ คอไดก าหนดแลววาจะใชแนวทางนในการพฒนา
http://www.siam2dev.com [ dr. nattapong songneam]
ในทมงาน 8-10 คน .......... แลวแตขนาดของระบบPM : Project Manager บรหารจดการโครงงาน ภายในทม ใหเสรจตามภารกจทไดรบมอบหมาย
In house Out source
แนวทาง
• 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วศวกรรมซอฟตแวรเชงวตถ
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]
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
•
–
–
http://www.siam2dev.com [ dr. nattapong songneam]
การก าหนดขอบเขตของระบบ
รายงานขอก าหนดของความตองการ
Problem Domain
• คอการก าหนดกรอบ(ขอบเขตของระบบ)ของระบบทจะพฒนา
http://www.siam2dev.com [ dr. nattapong songneam]
• คอ การพจารณา สงทเกยวของกบระบบ หรอ สงทมลตตออระบบ
•
•
–
–
–
•
http://www.siam2dev.com [ dr. nattapong songneam]
Entity ในระบบรานเซเวน มอะไรบาง
• พนกงาน
• ตกคา
• สนคา
• ราคา
• ใบเสรจ
http://www.siam2dev.com [ dr. nattapong songneam]
แหลงขอมล มาจาก ใบสมคร
• Entity 1 entity อาจจะมหตายตารางได เชอน
• พนกงาน– ขอมตพนกงาน
– ขอมตประวตการศกษา
– ขอมตประวตการท างาน
– ขอมตประวตการตา
http://www.siam2dev.com [ dr. nattapong songneam]
พนกงาน
ประวตพนกงาน ประวตการท างาน
ประวตการลา
DFD
http://www.siam2dev.com [ dr. nattapong songneam]
0
ระบบการรกษาพยาบาลในโรงพยาบาล ABC
แคร
คนไข
TbPatient
http://www.siam2dev.com [ dr. nattapong songneam]
• Entity กหมายถง object หรอ class ตามหลกการเชงวตถ
http://www.siam2dev.com [ dr. nattapong songneam]
ระบบรานสะดวกซอ
• Entity กหมายถง object หรอ class ตามหลกการเชงวตถ
http://www.siam2dev.com [ dr. nattapong songneam]
ระบบคารแครอนเตอร
เนชนเนต
• Entity กหมายถง object หรอ class ตามหลกการเชงวตถ
http://www.siam2dev.com [ dr. nattapong songneam]
ระบบรานสะดวกซอ
บารโคดสนคา (… , …. , …. , …. , …..)
http://www.siam2dev.com [ dr. nattapong songneam]
รหสบารคดสนคา
ชอบารโคด ทอยบารโคด เบอรโทรบารโคด
อเมลบารโคด จ านวนบารโคด
ราคาบารโคด
• Entity กหมายถง object หรอ class ตามหลกการเชงวตถ
http://www.siam2dev.com [ dr. nattapong songneam]
ระบบจองหองพกโรงแรม
sofitel
ลกคา
พนกงาน
หอง ประเภทหอง
เซคอน
เซคเอาท
ตาราง หรอ ฟลด
ราคา ตาราง หรอ ฟลด
http://www.siam2dev.com [ dr. nattapong songneam]
หองพก
ราคา หมายเลขหอง
รหสประเภทหอง
ระบบการจองหองพกโรงแรม
• หองพก ...จบ
http://www.siam2dev.com [ dr. nattapong songneam]
Information Gatheringวธการทใหไดมาซงความตองการ หรอ การเกบรวบรวมขอมล- ถาม สมภาษณ- แบบสอบถาม- สงเกต- document reviews- do it- observe
หองพก ?
• Entity กหมายถง object หรอ class ตามหลกการเชงวตถ
http://www.siam2dev.com [ dr. nattapong songneam]
ระบบจองหองพกโรงแรม
ลกคา
พนกงาน
หองพก........สวรรณ
เจาของโรงแรม
ขอมลการจอง
http://www.siam2dev.com [ dr. nattapong songneam]
ลกคา จอง
หองพก ม
วนท
รหส ชอ ทอย
...
รหส
ชอ ทอย
...
ออก
ใบเสรจ
วนท
เลขท
รหส ประเภทรายละเอยด
...
ประเภทหองพก
มพนกงาน ประวตพนกงาน
Relationship
- Unary
- Binary- N-ary , Ternaryทอย 1
ทอย 2
Multi-value attributes
เบอรโทร
จงอธบายค าศพท ตอไปน
http://www.siam2dev.com [ dr. nattapong songneam]
• Relationship
– Unary
– Binary
– N-ary , Ternary
• Attributes– Multi-value attributes
• Entity
– Combination Entity
– Weak Entity
Entity
พนกงาน พนกงาน
ผจดการ
พนกงานลก
พอแม
http://www.siam2dev.com [ dr. nattapong songneam]
ลกคา พนกงาน1 1
ลกคา พนกงาน1 N
ลกคา พนกงานM N
ลกคา พนกงานN 1
http://www.siam2dev.com [ dr. nattapong songneam]
ลกคา สนคาซอN N
พนกงาน
N
1
Combination Entity
http://www.siam2dev.com [ dr. nattapong songneam]
ลกคา สนคาซอN N
พนกงาน
N
1
รหส
ชอ-นามสกลMulti-Value Attribute
Combination Attribute
เบอรโทร
PKFK
ทอย
เบอรโทร -1
เบอรโทร -2
เบอรโทร -3
Combination Entity
Multi-value attributes
Cust_id Cust_name Cust_address
c001 หม า กรงเทพ
c001 หม า เชยงใหม
c001 หม า เชยงราย
http://www.siam2dev.com [ dr. nattapong songneam]
การท า document reviewsของระบบการจองหองพกมอะไรบางทตอง
พจารณา• โบชวร .. จะดอะไร จะพจารณาเรองของ ราคา หองพก ...ตอบแคน....
• ....
• ใบเสรจ
• ใบจอง
• บตรพนกงาน
• ..ใบลงชอ
• การเชคอน เชคเอาท ...หลกฐาน
• ประวตพนกงาน
• ...http://www.siam2dev.com [ dr.
nattapong songneam]
จงออกแบบใบสมครพนกงาน ของโรงแรม ABC Hotel
http://www.siam2dev.com [ dr. nattapong songneam]
รป
( )
จงออกแบบบตรพนกงาน ของโรงแรม ABC Hotel
http://www.siam2dev.com [ dr. nattapong songneam]
รป
( )
จงออกแบบใบเสรจ ของโรงแรม ABC Hotel
http://www.siam2dev.com [ dr. nattapong songneam]
http://www.siam2dev.com [ dr. nattapong songneam]
A
B
C
กลม A ตองสอบถามความตองการของกลม Cและวเคราะหระบบตามความตองการของกลม C
กลม B ตองสอบถามความตองการของกลม Aและวเคราะหระบบตามความตองการของกลม A
•
http://www.siam2dev.com [ dr. nattapong songneam]
Employee Customerserv
*** ค าวาระบบ กควรมมากกวา 1 หรอ 2 ตาราง/เอนทต
ปญหาทส าคญ ในการวเคราะห
• มกจะขาด– สวนทส าคญ
– สวนทไมส าคญ
• เกน– ไมผดมาก
http://www.siam2dev.com [ dr. nattapong songneam]
10 ฟงกชน10
Requirements
*** ระบบจองหองพก แต ท ำกำรจองไมไดระบบตรวจสอบเกรด แต เชคเกรดไมได
เกรด นศ. อาจารย วชาสาขาภาค
*** มกฟงกชน ? 10 ฟงกชนพอหรอไม ?
ระบบจองหองพกโรงแรม ?
• 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. ระบบสามารถท าการจองหองพกได
DFD Level 1 ระบบการจองหองพกโรงแรมออนไลน
http://www.siam2dev.com [ dr. nattapong songneam]
ตรวจสอบสถานะหองพก
1.0
2.0
เลอกหองพก
D1 ขอมลหองพก
ลกคา / พนกงาน
External Source / Boudary
2.0
จดการหองพก
สถานะหองพก
หมายเลขหอง
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. ระบบสามารถ ...ตรวจสอบราคาหองพก
http://www.siam2dev.com [ dr. nattapong songneam]
หนาทของ SA1. ไปรวบรวมความตองการ (Information gathering)2. จดล าดบความส าคญ3. เขยนเปนรายงานความตองการ
Requirement Specification4. อธบายใหผพฒนาระบบเขาใจ5. ออกตว Prototype คยกบ UI Designer5. ท าความตกลงกบลกคา negation6. Formal Acceptance
สงตอใหโปรแกรมเมอร พฒนาระบบตอไป
Use case diagram
จงวเคราะหและออกแบบระบบการจองหองพก ออนไลน
http://www.siam2dev.com [ dr. nattapong songneam]
46
• ระบบการจองหองพกโรงแรม .....กรณศกษา ...........โรงแรมพระนครแกรนดวว........อมรชย
• การพฒนาระบบการบรหารจดการหองพกโรงแรม ....รจนศกด
• การพฒนาระบบการเชาหองพก อพารตเมนท ..กรณศกษา..ปทองอพารตเมนท บรนทร
• การพฒนาระบบการเชาวดโอ เพญนภา
• การพฒนาระบบการเชาหนงสอ ศรวรรณ
• การพฒนาระบบซอ-ขาย รานขายดอกไม กลยรตน
• การพฒนาระบบรานขายโทรศพทมอถอ นรภทร
• การพฒนาระบบรานขายคอมพวเตอรและอปกรณไอท ณฐวต
• การพฒนาระบบคลนก วชราภรณ
• การพฒนาระบบโรงพยาบาล สมชาย
• การพฒนาระบบงานธนาคาร มลตรา
• การพฒนาระบบการจายเงนเดอนใหพนกงาน (Payroll System) พลลภอ.ดร. นฐพงศ สงเนยม
จงเขยนฟงกชนมา 10 ฟงกชน ของระบบตอไปน
http://www.siam2dev.com [ dr. nattapong songneam]
1. การพฒนาระบบการเชาหองพก อพารตเมนท ..กรณศกษา..( กานดา , ดจฤด)
2. การพฒนาระบบการเชาวดโอ (อบลวรรณ , ณฐพล)
3. การพฒนาระบบการเชาหนงสอ
4. การพฒนาระบบซอ-ขาย รานขายดอกไม (นนทวฒน ,สธรา)
5. การพฒนาระบบรานขายโทรศพทมอถอ (เงนสร,จรายส)
6. การพฒนาระบบรานขายคอมพวเตอรและอปกรณไอท (ธนวฒน สงขร)
7. การพฒนาระบบคลนก (นพวรรณ ศราวฒ)
8. การพฒนาระบบโรงพยาบาล (วรวท ธนท)
9. การพฒนาระบบงานธนาคาร (ชนนรตน สรวศ)
10. การพฒนาระบบการจายเงนเดอนใหพนกงาน(Payroll System) (พรธช)
*** ทกระบบ ท ำเปนออนไลน (Online)
Business Rule แตละองคกรไมเหมอนกน
ระบบจายเงนเดอนพนกงาน
http://www.siam2dev.com [ dr. nattapong songneam]
โรงแรม ธนาคาร โรงงาน มหาวทยาลย
โรงพยาบาล
ERP: Enterprise Resource Planning
• SAP คอ โปรแกรมทชวยจดการสายงานทกสายงานของธรกจใหสามารถเขาถงขอมลได อยางรวดเรว และไดขอมลทถกตองแมนย า สามารถน าไปใชประกอบการด าเนนกจกรรมของธรกจได และผบรหารสามารถเรยกดขอมลและตรวจสอบขอมลสถานะของบรษทได โดยท าหนาทจดการเกยวกบทรพยากรขององคเพอใหเกดประโยชนสงสด
http://www.siam2dev.com [ dr. nattapong songneam]
การพฒนาระบบการจายเงนเดอน ของ บ. ABC จ ากด
• การพฒนาระบบการจายเงนเดอนออนไลนของ บ. ABC จ ากด
http://www.siam2dev.com [ dr. nattapong songneam]
•
•
http://www.siam2dev.com [ dr. nattapong songneam]
52
•
•
•
•
•
•
•
•
•
•
•อ.ดร. นฐพงศ สงเนยม
•
–
–
–
–
–
–
•
http://www.siam2dev.com [ dr. 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
รถยนต
http://www.siam2dev.com [ dr. nattapong songneam]
สวนประกอบของรถยนต อะไหล การซอม คาซอม
คาอะไหล วธการช าระเงน
บรการ
ระบบรานขายรถยนตระบบซอมรถยนตระบบคารแคร
ระบบบรหารดแลรกษารถยนต
http://www.siam2dev.com [ dr. nattapong songneam]
รถ
???
มอะไรเพมเตม ถาเปนระบบรานคารแคร มแครถอยางเดยวเพยงพอไหม ?
ดดฝอ น
เคตอบส
ระบบบรหารดแลรกษารถยนต
http://www.siam2dev.com [ dr. nattapong songneam]
รถ
ซออม
มอะไรเพมเตม ถาเปนระบบรานคารแคร มแครถอยางเดยวเพยงพอไหม ?
บรการ
ช าระเงน
อะไหต
Problem Domain
ภาษ
*** สงทเกยวของ
ค าถาม
• จะท าทงระบบนนๆ
– HRM
– Purchase Order ระบบสงซอ
– ระบบสตอก Inventory System
– ระบบจอง Reservation System
– ระบบสมาชก member
– ฯลฯ
• หรอ ท าบางระบบยอย http://www.siam2dev.com [ dr. nattapong songneam]
นศ. ตองท าทงหมดขององคกรหรอ ทกระบบยอยๆ หรอไม ?ควรเอาระบบทเกยวของกน** 3 – 4 – 5
Problem Domain
http://www.siam2dev.com [ dr. nattapong songneam]
•
•
–
•
–
–
–
–
–
–
http://www.siam2dev.com [ dr. nattapong songneam]
อะไรท ผใช ไมตองร กใหซอนรำยละเอยดไว
พวงมาลย
ลอ
*** จำกตวอยำง เรำสนใจแคกำรสตำรทรถยนต จงพดถงแค เครองยนต อยำงอนไมไดกลำวถงแตไมใชไมม
ค าถาม ท าไม ไมม ฟงกชน +เบรค()
http://www.siam2dev.com [ dr. nattapong songneam]
http://www.siam2dev.com [ dr. nattapong songneam]
Outside view
- Private
# Protected
+ Public
http://www.siam2dev.com [ dr. nattapong songneam]
http://www.siam2dev.com [ dr. nattapong songneam]
คน
- ขา
+ เดนได()
*** จำกตวอยำง เรำสนใจแคกำรเดน เพรำะฉะนนฟงกชน กเกยวกำรเดน ซงตองมขำแตไมใชไมม
ค าถาม ท าไม ไมม ฟงกชน +กน()
กำรกนเรำไมได ใช ขำ
Problem Domain
คน
- ขา
+ เดนได()+ เปลยนขา()
คน
• ขา
• แขน
• หว
• ล าตว
• เดน
• กน
• นอน
• เทยว
• ฯลฯhttp://www.siam2dev.com [ dr.
nattapong songneam]
คน
- ขา
- แขน
- ล าตว
+ เดน
+ กน
+ นอน
ในระบบงานธนาคาร ใครคอผใช
• คน X
– พนกงาน / เจาหนาท
– ลกคา
– ผจดการ ?
http://www.siam2dev.com [ dr. nattapong songneam]
http://www.siam2dev.com [ dr. nattapong songneam]
web win
mobile
Information Gathering
• แบบสอบถาม (Questionnaire)
• การสมภาษณ (Interviews)
• การสงเกต (Observe)
• การพจารณาเอกสาร (Document Review)
• ลงมอท า(Practice)
http://www.siam2dev.com [ dr. nattapong songneam]
*** การดตวอยางของเอกสารเดมไมใชการ COPY ผดกฎหมายเชน ไปเอาใบเสรจของ...ราน 7-11
มอะไรทอยใน Transcript บาง สกลลกษณ
• การออกเกรดอยางเดยวไมใชระบบ ?
http://www.siam2dev.com [ dr. nattapong songneam]
กำรทนำยคณำกร ไปเอำขอมลจำก Transcript
เรยกวำกำรท ำ ?
ตวอยางการเกบขอมลระบบงานการจายเงนเดอน
• ระบบจายเงนเดอน
– เอกสารเดม : สลป (Pay in slip) , ใบสมคร (Application Forms) , ใบลา , บตรพนกงาน , บตรตอก , สแกนลายนวมอ , ใบเซนชอ , ใบลาออก , แบบค ารอง , บตรประกนสงคม
– วธการท างานเดม : การเขางาน-ออก , ประเภท เปนกะ , FullTime , PartTime , OT
– กระบวนการมอะไรบาง
– ประเภทตางๆ มอะไรบาง
http://www.siam2dev.com [ dr. nattapong songneam]
http://www.siam2dev.com [ dr. nattapong songneam]
ในเฟส หนงของการ design หรอขนตอนการออกแบบจะตองออกแบบหนาจอหรอออกแบบ รายงาน- ใบสมคร
-ใบลา- บตรพนกงาน
วว/ดด/ปปวว/ดด/ปป
ชอ-นามสกล
รหสพนกงาน
แผนก
อเมล
•
•
•
http://www.siam2dev.com [ dr. 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
จงคดเงนเดอนและโอท ของ พนง. ทชอ สมชายเงนเดอน 25000 , ท าโอท 20 วนๆ ละ 3 ชม ให คด โอท 2.5 เทาของ เงนเดอน จงหาเงนสทธท สมชาย จะไดรบ โดย หก ประกนสงคม 5% ของเงนเดอน
http://www.siam2dev.com [ dr. nattapong songneam]
Fix OT ชม. ละ 40
http://www.siam2dev.com [ dr. nattapong songneam]
•
–
–
–
–
–
–
http://www.siam2dev.com [ dr. nattapong songneam]
หกอะไรบาง ?
• ลา มาสาย ขาด
• ประกนสงคม
• ส ารองเลยงชพ
• ช.พ.ค. , สหกรณ กรณเปนคร/ขาราชการ
http://www.siam2dev.com [ dr. nattapong songneam]
งานกลมทตอง สง ครงท 1
• ก าหนด ชองาน
• สมาชก
• Business Rule ของ บ. ของกลม ......
• ไมนอยกวา 2-3 หนากระดาษ
http://www.siam2dev.com [ dr. nattapong songneam]
*** สง สป. หนำ
Classification Abstraction
• การก าหนด Problem Domain (ตอ)
– ขอควรจ าในการหาและก าหนด Problem Domain นน กคอ Problem Domain ทแนชดมกจะยงไมสามารถหาไดในข นตนของการเร มวเคราะหระบบ แตก าหนดโครงใหญ หรอภาพรวมของ Problem Domain น นตองแนชด
– เชน ถาตกลงใจจะพฒนาระบบงานใหกบฝายบญช นนแสดงวา Object ตาง ๆ ตองเปนเรองทเกยวของกบฝายบญช (ซงขณะเดยวกนอาจเกยวกบฝายบคคลกได แตตองไมม Object ใด ๆ ทไมเกยวกบฝายบญช) ซงในตอนตนอาจจะไมไดรวมเอางบการเงน เปนสวนหนงใน Domain กเปนไปได แตในอนาคตตองรวมเอางบการเงนนเปนสวนหนงของ Problem Domain กได เปนตน
http://www.siam2dev.com [ dr. nattapong songneam]
ถาจะพฒนาระบบลงทะเบยน
• สงทส าคญ หรอ object ทส าคญ ของระบบลงทะเบยน มอะไรบาง– นกศกษา ...รหส ชอ รน สาขา เพศ ..
– รายวชา ...ชอวชา รหส ค าอธบาย หนวยกต ...
– อาจารย
– หอง
– ....คาลงทะเบยน / ช าระคาลงทะเบยน
http://www.siam2dev.com [ dr. nattapong songneam]
http://www.siam2dev.com [ dr. nattapong songneam]
•
•
•
•
•
•
•
•
ภาษหก ณ ทจาย
HRM : Human Resource Managementระบบบรหาร ทรพยากรบคคล
พนกงานเสยภาษเอง
**** ไมเกยวของ
**** เกยวของ
ในกรณระบบจายเงนเดอน
1. การรบสมคร
2. การท างาน ขาด ลา มาสาย ลาออก
3. การเลอนขน
4. การจายเงนเดอน
1. คดเงนเดอน
2. OT
3. การคดรายได
4. การหกคาใชจาย
5. การรายงาน
6. การอบรมพฒนาบคลากรhttp://www.siam2dev.com [ dr.
nattapong songneam]
สอบวดความรสอบ Certสงไปอบรม
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
Problem Domain of Payroll System
http://www.siam2dev.com [ dr. nattapong songneam]
1. ระบบการสมคร
2. การบรรจ3. การจายเงนเดอนและ
โอท
More…
5. การเลอนขนเงนเดอ4. การลา
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]
http://www.siam2dev.com [ dr. nattapong songneam]
Problem Domain
Problem Domain
http://www.siam2dev.com [ dr. nattapong songneam]
http://www.siam2dev.com [ dr. nattapong songneam]
• →
• →
http://www.siam2dev.com [ dr. nattapong songneam]
http://www.siam2dev.com [ dr. nattapong songneam]
หนงสอ
หนงสอวเคราะหและออกแบบ
ระบบเชงวตถ
หนงสอการเขยนโปรแกรมภาษา
จาวา
การออกแบบและพฒนาเวบไซตดวย Adobe
Dreamweaver
หนงสอระบบปฏบตการ
เปนสมาชกของเปนสมาชกของ
เปนสมาชกของเปนสมาชกของ
แมว
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
ประเภทของ Object
• สงทมตวตนสามารถจบตองได
(Tangible Objects)
– คน สนข รถยนต
• สงทไมมตวตนและไมสามารถจบตองได
(Intangible Objects)
– บทบาท เหตการณ ปฏสมพนธ
http://www.siam2dev.com [ dr. nattapong songneam]
http://www.siam2dev.com [ dr. 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]
•
•
http://www.siam2dev.com [ dr. nattapong songneam]
http://www.siam2dev.com [ dr. 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]
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
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;}
C
#include <stdio.h>
static void main() {
int x;
string color;
Colors Color;
}
http://www.siam2dev.com [ dr. nattapong songneam]
PDT
ADT
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)
จงให concept กบหนงสอ
• ใหความคดรวบยอด ? อะไรทเรยกวาหนงสอ
• Attribute– ชอหนงสอ
– ผเขยน
– ราคา
– วนทพมพ
– ส านกพมพ
– จ านวนหนา
– จ านวนกเลม
– ประเภท
• Function
http://www.siam2dev.com [ dr. nattapong songneam]
http://www.siam2dev.com [ dr. nattapong songneam]
ชอปกหนาเนอหาอานไดเปดได
หนงสอ
หนงสอ VB
หนงสอ JAVA
จงให ความคดรวบยอด
• ผลไม– ส
– ชอ
– ขนาด
– รปทรง
– กนได
http://www.siam2dev.com [ dr. nattapong songneam]
• คน– ชอ
– นามสกล
– อาย
– เพศ
– กนได
Eatable → polymorphism
Eatable()
Eatable()Eatable()
Fruit Human
ผลไม
http://www.siam2dev.com [ dr. nattapong songneam]
แมว
แอปเปล
ซมซง S7
http://www.siam2dev.com [ dr. nattapong songneam]
ส
ผลไมสแดง
ผลไมสเขยว
แอปเปล
สรปทรงกลมรสชาตขนาดไดจากตนไมกนได()
องน
•
•
•
http://www.siam2dev.com [ dr. 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
ประเภทของการประมวลผล
• Batch :: ในธนาคาร รายงานยอดรายได ประจ าเดอน / ประจ าป
• RealTime :: ในธนาคาร การฝาก การถอน การอพเดต ท าทนท
– Internet :: เปน Real Time แตม Delay
http://www.siam2dev.com [ dr. nattapong songneam]
ATM System
• Real Time Processing
http://www.siam2dev.com [ dr. nattapong songneam]
Batch Processing)
การประมวลผลแบบกลม (Batch Processing)ขอมล ของการประมวลผลแบบนจะถกเกบไวในชวงเวลาทก าหนด เชน 7 วน หรอ 1 เดอน แลวจงน าขอมลทสะสมไวมาประมวลผลรวมกนครงเดยว เชน การค านวณคาบรการน าประปา โดยขอมลปรมาณน าทใชทงหมดจะถกเกบบนทกไวในรอบ 1 เดอน แลวน ามาประมวลผลเปนคาน าประปาในครงเดยวการประมวลผลแบบนมกมความผด พลาดสง เนองจากขอมลอาจเกดความคลาดเคลอนกอนการประมวลผล แตเสยคาใชจายในการประมวลผลนอย
http://www.siam2dev.com [ dr. nattapong songneam]
Real-Time Processing
การประมวลผลแบบทนท (Real-Time Processing)เปน การประมวลผลทเกดขนพรอมกบการรบขอมลหรอหลงจากไดรบขอมลทนท เชน การฝากและถอนเงนกบธนาคาร เมอลกคาฝากเงน ขอมลนนจะถกประมวลผลทนท ท าใหยอดเงนฝากในบญชนนมการเปลยนแปลงการประมวลผลแบบนจะมความผด พลาดนอย แตเสยคาใชจายในการประมวลผลมาก
http://www.siam2dev.com [ dr. 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]
การคนหา Object ใน Problem Domain
• ในการพจารณา Problem Domain เราอาจจะไดพบกบ Object หรอ Class หรอทงสองอยางกได สงทเราตองท ากคอ การระบวาสงใดคอ class สงใดคอ Object แตในบางครงค านามค าหนงอาจจะเปนไดทง สอง อยาง กลาวคอ ค านามนนอาจเปนไดทง class หรอ Object ดงนนเราจงอาจตองกลบไป พจารณา Problem Domain ใหรอบคอบอกครงหนง หากเกดกรณอยางน ดงตวอยางตอไปน
http://www.siam2dev.com [ dr. 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]
ยากนยาฉด
ยาปองกนโรคบาดทะยก ยาฉดแก
อกเสบ
ยาปองกนโรคบาดทะยก ยหอ A
ยาปองกนโรคบาดทะยก ยหอ B
http://www.siam2dev.com [ dr. nattapong songneam]
การแบงประเภทยายา
Is Member Of Is Member Of
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]
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
จะไดคลาสตางๆ
Classification Abstraction
คน
สมชาย นก สมจตร ลกเกด
Is member of
http://www.siam2dev.com [ dr. nattapong songneam]
Classification Abstraction
รถ
รถเกงของแดงรถมอเตอรไซต
ของด ารถสปอรตของสมศร
รถตของสมควร
Is member of
http://www.siam2dev.com [ dr. nattapong songneam]
เครองบน
Classification Abstraction
รถ
รถเกงของแดงรถมอเตอรไซต
ของด ารถสปอรตของสมศร
รถตของสมควร
Is member of
ถาเตมรถไฟ จะอยในกลมนหรอไม
http://www.siam2dev.com [ dr. nattapong songneam]
Classification Abstraction- ลอ- เครองยนต
รถเกงของแดงรถมอเตอรไซต
ของด ารถสปอรตของสมศร
รถตของสมควร
Is member of
ถาเตมรถไฟ จะอยในกลมนหรอไม
http://www.siam2dev.com [ dr. nattapong songneam]
รถ
+ วงไปบนถนน
Classification Abstraction
รถ
รถเกงของแดงรถมอเตอรไซต
ของด ารถสปอรตของสมศร
รถตของสมควร
Is member of
จะนยาม รถวาอยางไร จงจะจดให รถไฟ เขากลมนได
http://www.siam2dev.com [ dr. nattapong songneam]
มลอมเครองยนตใชน ามนเคลอนทได
ตวอยาง Classification Abstraction
คอมพวเตอรNotebook
? ? ? ?
Is member of
http://www.siam2dev.com [ dr. nattapong songneam]
ตวอยาง Classification Abstraction
คอมพวเตอรNotebook
เมาส จอ HDD Keyboard
Is member of
http://www.siam2dev.com [ dr. nattapong songneam]
ตวอยาง Classification Abstraction
คอมพวเตอรNotebook
ACER HP ASUS …
Is member of
http://www.siam2dev.com [ dr. nattapong songneam]
คน
นฐพงศ กลวด สมชาย
สมศรเปนสมาชกของ
เปนสมาชกของ
เปนสมาชกของเปนสมาชกของ
ตวอยาง Classification Abstraction
ธนาคาร
กรงไทย กรงเทพ ทหารไทย
กสกรเปนสมาชกของ
เปนสมาชกของ
เปนสมาชกของเปนสมาชกของ
ตวอยาง Classification Abstraction
?
นกศกษา
สเนตร กมลวรรณ ดวงมณ
ประมาภรณเปนสมาชกของ
เปนสมาชกของ
เปนสมาชกของเปนสมาชกของ
ตวอยาง Classification Abstraction
อาจารย
นฐพงศ ภมใจ จดาภา
มณรตนเปนสมาชกของ
เปนสมาชกของ
เปนสมาชกของเปนสมาชกของ
ตวอยาง Classification Abstraction
ซไรดาเปนสมาชกของ
หนงสอ
หนงสอวเคราะหและออกแบบ
ระบบเชงวตถ
หนงสอการเขยนโปรแกรมภาษา
จาวา
การออกแบบและพฒนาเวบไซตดวย Adobe
Dreamweaver
หนงสอระบบปฏบตการ
เปนสมาชกของเปนสมาชกของ
เปนสมาชกของเปนสมาชกของ
ตวอยาง Classification Abstraction
แมว
Classification Abstraction
ในบางครง Object หนงสามารถ เปนสมาชกของ Class ไดมาก กวาหนง Class ไดเชนกนดงตวอยางตอไปน
แมว หมา สตวสขา สตวสด า
แมวสด า หมาสขาว ววสด าhttp://www.siam2dev.com [ dr.
nattapong songneam]
แมวสขาว
ถานกวเคราะหระบบไมด จะไดผลลพธ
ถา
• หนงสมาชก อยในหนงคลาส กมกจะไมม ปญหา แตในความเปนจรง มกจะไมโชคดแบบน น
http://www.siam2dev.com [ dr. nattapong songneam]
Classification Abstraction
เราสามารถแกปญหาความก ากวม โดยการปรบปรง Classification ของหมาและแมว ใหมจะไดผลลพธ ดงตอไปน
แมว หมา สตวส ขามเขา
แมวสด า หมาสขาว ววสด า
สตวมเขา
http://www.siam2dev.com [ dr. nattapong songneam]
แมวสขาว
ระบบมความซบซอนมาก
ขนตอน การท า 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
ตวอยางท 3.4
“หนงสอเลมหนง ปกสเหลอง ภายในประกอบดวยเนอหาเกยวกบ Object Orientation หนงสอเลมนมจ านวน 50 หนา”
http://www.siam2dev.com [ dr. nattapong songneam]
ขนตอนท 1 : หาค านาม
ค านาม
1. หนงสอ
2. ปก
3. เนอหา
4. หนา
http://www.siam2dev.com [ dr. nattapong songneam]
“หนงสอเลมหนง ปกสเหลอง ภายในประกอบดวยเนอหาเกยวกบ Object
Orientation หนงสอเลมนมจ านวน 50หนา”
ขนตอนท 2 : แยกประเภทของค านาม
แยกประเภทของค านาม
• หนงสอเลมหนง : Object
• ปกสเหลอง : Attribute
• เนอหาเกยวกบ Object Orientation : Attribute
• หนา : Attribute
http://www.siam2dev.com [ dr. nattapong songneam]
ค านาม Object attributes
หนงสอเลมหนง Object
ปกสเหลอง เปนattributes
ขนตอนท 4. ให concept การใหความคดรวบยอด เพอใหได คลาสพนฐานตางๆ
http://www.siam2dev.com [ dr. nattapong songneam]
หนงสอ VB มชอมราคามผแตงมปก
มเนอหาอานได()ปดได()เปดได()
หนงสอ java
หนงสอ
หนงสอ OOAD
ขนตอนท 5
http://www.siam2dev.com [ dr. nattapong songneam]
หนงสอ
หนงสอ Visual Basic หนงสอ javaหนงสอ OS
เปนสมาชกของ
Is member of
ขนตอนท 6
http://www.siam2dev.com [ dr. nattapong songneam]
หนงสอ Visual Basic หนงสอ javaหนงสอ OS
เปนสมาชกของ
Is member of
หนงสอ-ปก-เนอหา-ผแตง-ราคา
+ อานได()
การระบ Class และ Object
• ในบาง Problem Domain อาจจะไดทง Class และ Object ในเวลาเดยวกน ดงนน จ าเปนตองระบใหแนชดวาสงใดคอ Class และสงใดคอ Object
http://www.siam2dev.com [ dr. nattapong songneam]
ตวอยางท 3.5
“พยาบาลชอ ปราณ ฉดยาปองกนโรคบาดทะยกใหแกคนไขชอ กตต”
ขนตอนท 1 : แยกค านาม
• พยาบาลชอ ปราณ
• ยาปองกนโรคบาดทะยก
• คนไขชอกตต
http://www.siam2dev.com [ dr. nattapong songneam]
ตวอยางท 5
ขนตอนท 2 : แยกประเภทของค านาม
• พยาบาล : Class
• ปราณ : Object หนงใน Class พยาบาล
• คนไข : Class
• กตต : Object หนงใน Class คนไข
• ยาปองกนโรคบาดทะยก : Class / Object
http://www.siam2dev.com [ dr. nattapong songneam]
*** ดงนน จะม 3 คลำส 3 ออบเจกต
ตวอยางท 5
• ยาปองกนโรคบาดทะยก : Class
– เพราะเปนการบอกอยางกวาง ๆ วาเปนยาปองกนบาดทะยก แตไมไดระบยหอยา
• ยาปองกนโรคบาดทะยก : Object
– ถอเปน Object หนงใน Class ยา
http://www.siam2dev.com [ dr. nattapong songneam]
http://www.siam2dev.com [ dr. nattapong songneam]
พยาบาล- ชอ- ดแลคนไขได()
ปราณ
http://www.siam2dev.com [ dr. nattapong songneam]
พยาบาล
ปราณ
เปนสมาชกของ
http://www.siam2dev.com [ dr. nattapong songneam]
คนไข
กตต
เปนสมาชกของ
สมชาย
http://www.siam2dev.com [ dr. nattapong songneam]
คนไข- ชอ- ปวย()
กตต
ใหความคดรวบยอดเกยวกบคนไข
http://www.siam2dev.com [ dr. nattapong songneam]
พยาบาล
ปราณ
เปนสมาชกของ
- ชอ
+ ดแลคนไข()
Classification Abstraction
• กระบวนการในการหาวาม Object ใดบางในProblem Domain และ Object แตละตวอยใน Class ใด
• การท า Classification Abstraction แสดงดวยสญลกษณ ลกศรประทลากจาก Objects ไปยง Class
http://www.siam2dev.com [ dr. nattapong songneam]
Classification ของ Class คน
คน
สมศร สมควร สมจตร สมศกด
http://www.siam2dev.com [ dr. nattapong songneam]
Classification ของ หมา แมว สตวสขาวและสตวสด า
แมวสด า หมาสด า แมวสขาว หมาสขาว
หมา แมว สตวสขาว สตวสด า
http://www.siam2dev.com [ dr. nattapong songneam]
การปรบปรงการท า Classification Abs. ของหมาและแมว
หมาสด า หมาสขาว แมวสด า แมวสขาว
หมา แมว
http://www.siam2dev.com [ dr. nattapong songneam]
Classificationของ Class คนทมการใสรายละเอยดแลว
สมศร สมควร สมจตร สมศกด
คนชอนามสกลเพศอาย
บอกชอและนามสกลบอกเพศบอกอาย
http://www.siam2dev.com [ dr. nattapong songneam]
Class name
attributes
function
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();
Encapsulation
• Encapsulation เปรยบเสมอนกบการน าเปลอกมาครอบ Attributes และ Function ของ Class เอาไว
• ลกษณะของเปลอก
– เปลอกใส จะสามารถมองไดจากภายนอก
– เปลอกทบ จะไมสามารถเหนไดจากภายนอก
• ภาพของ Class ทมองเหนไดจากภายนอกนนเรยกวา Outside View
http://www.siam2dev.com [ dr. nattapong songneam]
Outside View ของ Class คน
คน
อาย
บอกอาย ( )
Class คน
คน
บอกอาย ( )
Outside Viewของ Class คน
http://www.siam2dev.com [ dr. nattapong songneam]
การท เรามอง จากภายคลาส เขาไปยงขางใน จะเหน/เขาถงอะไรไดบาง
การเขาถงไดหรอไมได เรยกวา การท า Information Hidding
http://www.siam2dev.com [ dr. nattapong songneam]
ทเรยน
+ หนาม - เนอ ทเรยน
Outside View
+ eatable()
Inside View
# เมลด
Visibility / Accessibility
http://www.siam2dev.com [ dr. nattapong songneam]
- Private
# Protected+ Public
attributes
functions
*** ซงขนอยกบควำมสำมำรถในกำรเขำ จะม 3 แบบ
Outside View ของ Class คน
คน
อาย
บอกอาย ( )
Class คน
คน
บอกอาย ( )
Outside Viewของ Class คน
http://www.siam2dev.com [ dr. nattapong songneam]
+ สผว
- อาย- ล าไส
Encapsulation / Information Hiding / Outside View
X
Y
Z
http://www.siam2dev.com [ dr. nattapong songneam]
เปลอกใสเปลอกทบ
การเรยกด Attribute โดยการใช Function
สมศกด : คน
อาย
บอกอาย ( )
สมศร : คน
- อาย
+ บอกอาย ( )
โปรดบอกอาย
http://www.siam2dev.com [ dr. nattapong songneam]
การเขยนเมอ Function ถกเรยกใชงาน
สมศกด : คน
อาย
บอกอาย ( )
สมศร : คน
- อาย
+บอกอาย ( )
สวนของ Function จะถกเขยนดวยตวเอยง
http://www.siam2dev.com [ dr. nattapong songneam]
Information Hiding
• คอ คณสมบตของ Object ทเมอตองการเขาถง Attribute บางตวของ Object นน จะตองอาศยการท าผาน Function ทสามารถมองเหนและเรยกใชได เทานน
– เพราะ Attribute ถกหมดวยเปลอกทบ
– เพราะ Function ถกหมดวยเปลอกใส
http://www.siam2dev.com [ dr. 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]
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”)
}}
Private Attributes and Functions
• คอ Attributes และ Functions ทไมสามารถเหนไดเลยจากภายนอก
• การเขาถง Attribute เหลานไดตองผานทาง Function ทมไวเทานน
• จะใชเครองหมาย (-) ก ากบไวหนา PrivateAttribute และ Private Function
• เชน อายของคน
http://www.siam2dev.com [ dr. nattapong songneam]
Protected Attributes and Functions
• คอ Attributes และ Functions ทไมสามารถเหนไดจากภายนอกแตเปนสวนทสามารถสงตอให Inherited Class ไดเทานน
• จะใชเครองหมาย (#) ก ากบไวหนา Protected Attribute และ Protected Function
• เชน ลกษณะทางกรรมพนธทลกสบทอดมาจากพอแม
http://www.siam2dev.com [ dr. nattapong songneam]
Public Attributes and Functions
• คอ Attributes และ Functions ทสามารถมองเหนไดและสามารถเรยกใชไดโดยตรงจากภายนอก
• จะใชเครองหมาย (+) ก ากบไวหนา Public Attribute และ Public Function
• เชน สผม สผว
http://www.siam2dev.com [ dr. nattapong songneam]
Classification ของ Class คน
สมศร สมควร สมจตร สมศกด
คน- ชอ# นามสกล- เพศ- อาย+ บอกชอและนามสกล ()+ บอกเพศ ()+ บอกอาย ()
http://www.siam2dev.com [ dr. nattapong songneam]
Classification ของ Class คน
สมศร สมควร สมจตร สมศกด
คน
- ชอ# นามสกล- เพศ- อาย
+ บอกชอและนามสกล+ บอกเพศ+ บอกอาย
สมศร
http://www.siam2dev.com [ dr. nattapong songneam]อาย = 35 อาย = 78 อาย = 78
Inside view
http://www.siam2dev.com [ dr. nattapong songneam]
สมศร : คน- สมศร : ชอ# ไทยงาม : นามสกล- 25 : อาย+บอกอายได+บอกชอนามสกลได+บอกเพศได
Function
• ทผานมาเราพดถงเฉพาะ Attribute ของ class เทานนแต class ก ยงมอกสงหนงทตองพจารณาดวยนนก คอ Function ซงถอวาเปนตวกระตนใหด าเนนกจกรรมตางๆ ซงหมายความวา class จะมความสามารถในการท ากจกรรมตางๆ บรรจอยภายใน class ซงถอวา Function นเองเปนตวทท าให class แตกตางจากขอมลทวไปนนเอง
http://www.siam2dev.com [ dr. nattapong songneam]
Class Diagramคน
ชอนามสกลอายเพศ
บอกชอและนามสกลบอกอายบอกเพศเปลยนชอ และนามสกล
Function
Attribute
http://www.siam2dev.com [ dr. nattapong songneam]
สมจตร นก สมศร สมปอง
Is member of
Class Diagramรถ
ยหอรนส
ราคา
บอกยหอบอกรนบอกส
ราคา
http://www.siam2dev.com [ dr. nattapong songneam]
Is member of
รถเกงของดร.นฐ
รถมอเตอรไซตของนายมก
รถสปอรตของสมหญง
รถตของสมชาย
Function
Attribute
Encapsulation & Information Hiding
• Encapsulation คอ ความสามารถในการรวมเอา Attribute และ Function เกบไวภายใน Class เดยวกน
• Information Hiding คอ ความสามารถในการซอนรายละเอยด ของขอมลของ Class โดยไมใหผใชทไมมสทธเขาใชงานสามารถเขาถงขอมลเหลานนไดโดยตรง (หากตองอาจท าไดโดยผานทาง Function แทน )
http://www.siam2dev.com [ dr. nattapong songneam]
ตวอยางท 3.6
• เมอสมศรตองการทราบอายของ สมชาย ซงอายกถอเปน Attribute หนงของสมชาย สงทสมศรจะท าไดคอตองถามจากตวสมชายเอง นนคอ การกระตนใหสมชายบอกอายของตนออกมา ซงหมายความวาหากสมชายมความสามารถในการบอกอายหรอ พอใจทจะบอก (สมชายตองม Function ในการบอกอายทเปน Public Function) สมศรกสามารถทราบอายของสมชายได
สมศร : คน
อาย
บอกอาย()
สมชาย : คน
อาย
บอกอาย()
โปรดบอกอาย
http://www.siam2dev.com [ dr. 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]
Class Diagram
สมปอง สมศร นก สมปอง
Is member of
คน
- ชอ# นามสกล- อาย- เพศ
+ บอกชอและนามสกล+ บอกอาย+ บอกเพศ+ เปลยนชอ และนามสกล
http://www.siam2dev.com [ dr. nattapong songneam]
Class Diagram
รถเกงสด าของนายแดง
รถตสขาวของสมศร
รถกระบะสแดงของนก
รถสปอรตสด าของนายด า
รถ
- ประเภทรถ- สของรถ- รน- แรงมา
+ สตารทเครอง+ วง+ เลยว+ จอด
http://www.siam2dev.com [ dr. nattapong songneam]
Is member of
ความคดรวบยอด (concept)
http://www.siam2dev.com [ dr. nattapong songneam]
มรปทรงใสน าไดปรมาตร
ขวดน าตราสงห
ขวดตรา 7 select
ขวดน า
..
ความคดรวบยอด (concept)
http://www.siam2dev.com [ dr. nattapong songneam]
เคลอนทไดโดยสารได
รถ BMX
Altisยานพาหนะ
Boing 747
เรอโดยสาร
ความคดรวบยอด (concept)
http://www.siam2dev.com [ dr. nattapong songneam]
http://www.siam2dev.com [ dr. nattapong songneam]
ยานพาหนะทว
คน
แมว สตวปก
สนคา
พนกงาน
หองพก
บทเรยน
ปลา
ตนไม
พนกงาน
http://www.siam2dev.com [ dr. nattapong songneam]
เกาอ โตะ
อาจารยเมาส
คอม
สายไฟ
แอร
โปรเจกตเตอร
F1 f2 f3 f4 f5 f6 f7 f8
หลอดไฟ
Exercise I
1. สมชาย สมควร และสมศกด เปนนกเรยนในขณะทสมหญงและสมศรเปนนกกฬาทมชาต
2. สมศกด สมหญง และสมศร เปนคนผวด า ในขณะทสมชาย และสมควร เปนคนผวขาว
3. สมชาย สมควร และสมศกด เปนผชาย ในขณะท สมหญง และสมศร เปนผหญง
http://www.siam2dev.com [ dr. nattapong songneam]
จากขอความตอไปน จงเขยนแยกวาอะไรคอออบเจกต อะไรคอคลาส โดยวาดมาเปน แผนภาพ Classification Abstraction
จงวาดเปนแผนภาพแสดงClassification Abstraction
เฉลย ขอ 1
1. ก าหนดค านาม
2. ให Concept
3. วาดแผนภาพ
http://www.siam2dev.com [ dr. nattapong songneam]
1. สมชาย สมควร และสมศกด เปนนกเรยนในขณะท สมหญงและสมศรเปนนกกฬาทมชาต
มชอเพศ
เกรดเฉลยเรยนได()
นกเรยนสมชาย
สมควร
สมศกดมชอเพศอาย
เลนกฬาได()
นกกฬาสมหญง
สมศร
http://www.siam2dev.com [ dr. 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 ตอไปน