การวิเคราะห์และออกแบบระบบเชิงวัตถุ (OOAD)

Download Report

Transcript การวิเคราะห์และออกแบบระบบเชิงวัตถุ (OOAD)

Association Abstraction
อ.วิวฒ
ั น์ ชินนาทศิรก
ิ ล
ุ
วัตถุประสงค ์
่ ้สามารถสร ้างความสัมพันธ ์ระหว่าง class ต่าง ๆ ใน
1. เพือให
problem domain โดยใช ้ Association Abstraction
ได ้
่ ้สามารถใส่ Cardinality ของความสัมพันธ ์ในเชิง
2. เพือให
Association ได ้ถูกต ้อง
Relationship (ความสัมพันธ ์)

ความสัมพันธ ์ ต่าง ๆ ในชีวต
ิ ประจาวัน
 แม่มล
ี ก
ู
 สามีร ักภรรยา
 นายกบริหารประเทศ
 ปากกาอยู่บนโต๊ะทางาน
 นักเรียนลงทะเบียนเรียน


สามารถจัดเอาความสัมพันธ ์แบบ Aggregation เป็ น
ความสัมพันธ ์แบบ “is related to” ได ้เช่นกัน เพราะการ
เป็ นส่วนประกอบ หรือ การมีสว่ นประกอบ ก็คอื
ความสัมพันธ ์เป็ นเจ ้าของ ( has a )นั่นเอง
จากหลักการทีว่่ า Class ต่างๆใน Domain สามารถมี
่
่ ยกว่า
ความสัมพันธ ์กันได ้ เป็ นทีมาของ
Abstraction ทีเรี
Association Abstraction
Cardinary ใน Association Abstraction

หมายถึง
่ ้แสดงจานวนสมาชิก ที่
จานวนสมาชิกหรือตัวเลขทีใช
่ สว่ นร่วมใน Association
สามารถมีได ้ใน Class หนึ่ งๆ ทีมี
Cardinary
ตัวอย่าง

ผูช
้ ายมีภรรยาได ้เพียง 1 คน หรือไม่มเี ลย ในขณะเดียวกัน
ผูห้ ญิงก็มส
ี ามีได ้เพียงคนเดียวหรือไม่มเี ลย
Cardinary ของความสัมพันธ ์ได ้แก่
Class
Min Card
Max Card
ผูช
้ าย
0
1
ผูห้ ญิง
0
1

้
่
แม่สามารถมีลก
ู ได ้ตังแต่
0 คน ถึงกีคนก็
ได ้ ในทาง
กลับกันลูก 1 คนมีแม่ได ้เพียงคนเดียว
Cardinary ของความสัมพันธ ์ได ้แก่
Class
Min Card
Max Card
แม่
1
1
ลูก
0
N
หลักการเขียน Diagram แสดง
Association

่
ในการเขียนภาพเพือแสดง
Association นั้น มีหลักการ
เขียนดังนี ้
่ Class โดยมีชอื่ Association กากับที่
- ลากเส ้นตรงเชือม
เส ้น
- มีลก
ู ศร แสดงเส ้นทางในการอ่านความสัมพันธ ์
่
- กาหนด min card และ max card กากับทีปลายเส
้นตรงที่
ติดกับ Class
ตัวอย่าง Association Abstraction แสดงความสัมพันธ ์ของแม่มล
ี ูก
1
2
3
4
5
มี
แม่
มี
แม่
มี
แม่
แม่
แม่
ลู ก
1..1
มี
1..1
มี
ลู ก
0..n
ลู ก
ลู ก
0..n
ลู ก
ตัวอย่าง Association ของผู ช
้ ายแต่งงานกับผู ห
้ ญิง
0..1
ผู ช
้ า
ย
แต่งงาน
0..1
ผู ห
้ ญิ
ง
ตัวอย่าง Association ของนักศึกษาลงทะเบียนราย
นักศึก
ษา
0..n
ลงทะเบียน
1..n
วิชา
ตวั อย่าง จงเขียน Association Abstraction แสดง
่ าหนด Problem
ความสัมพันธ ์ของคลาส เมือก
Domain
นัก้ ศึกษา สามารถไม่ลงทะเบียนเรียน หรือลงทะเบียน
ดังนี
เรียนไดห้ ลาย วิชา และในแต่ละรายวิชา อาจไม่มี
นักศึกษาลงทะเบียนเลย หรือมีนักศึกษาลงทะเบี ยน
ได ้หลายคน และอาจารย ์ อาจไม่มวี ช
ิ าสอน หรือสอน
้
ได ้หลายรายวิชา อาจารย ์สอนนักศึกษาตังแต่
1 คน
้
้
้
ขึนไป
และนักศึกษาเรียนกับอาจารย ์ตังแต่
1 คนขึน
ไป
Association Abstraction แสดง
ความสัมพันธ ์ระหว่าง นักเรียน –
วิชาเรียน – อาจารย ์ผู ส
้ อน
นักเรียน
0..n
0..n
ลงทะเบียนเรียน
วิชาเรียน
0..n
1..n
สอน
สอน
1..n
1..n
อาจารย ์ผู ส
้ อน
ตวั อย่าง จงเขียน Association Abstraction แสดง
่ าหนด Problem
ความสัมพันธ ์ของคลาส เมือก
Domain
่ หารงาน และ
ดั
นี ษ้ ทั แห่งหนึ่ ง มีประธานบริษทั 1 คนทาหน้าทีบริ
 งบริ
ประธานท าหน้า ที่ออกนโยบาย เพื่ อใช บ้ ริห ารงานได ห
้ ลาย
นโยบาย หรือไม่ออกนโยบายเลย หัวหน้าแผนกรับนโยบายไป
ปฏิบ ต
ั ิ โดยที่นโยบายหนึ่ งๆอาจถู ก น าไปปฏิบ ต
ั ิโ ดยหัว หน้า
่ วหน้าแผนกแต่ละคนสามารถรบั
แผนกไดห
้ ลายๆคน ขณะทีหั
นโยบายได ห
้ ลายๆนโยบาย หน้า ที่ของหัว หน้า แผนกคือ การ
บริหารงานในแผนกของตนเพียง 1 แผนกเท่านั้น หัวหน้าแผนก
่
่ าหนดนโยบายการทางานภายใน
จะจัดทาแผนกีแผนก็
ได ้เพือก
้
้
้
แผนก แต่ละแผนกจะถูกแบ่งเป็ นชินงานย่
อยๆตังแต่
1 ชินงาน
้
้
่ คนก็
่
ขึนไป
โดยแต่ละชินงานอาจถู
กปฏิบต
ั ด
ิ ว้ ยเจา้ หน้าทีกี
ได ้
่ ละคนสามารถไม่ปฏิบต
่ นก็
้
และเจ ้าหน้าทีแต่
ั ิ หรือปฏิบต
ั งิ านกีชิ
่
Association Diagram ทีได้
บริษท
ั
แผนก
1..1
1..1
บริหาร
บริหาร
1..1
1..1
ประธานบริษท
ั
0..n
ปฏิบต
ั ิ
1..1
ออก
0..n
เจ ้าหน้าที่
หัวหน้าแผนก
1..1
0..n
จัดทา
0..n
ปฏิบต
ั งิ าน
0..n
0..n
1..1
นโยบาย
แผนกงาน
1..n
้
ชินงาน
ตวั อย่าง การใช ้ Abstraction ทัง้ 4 แบบ ใน Problem
Domain
มหาวิทยาลัย
1..n
0..n
่
นักศึกษาทีลงทะเบี
ย1..n
น
เรียน
เรียนตามปกติ
วิชาเรียน
1..n
1..1
มี
คณะวิชา
คณะครุศาสตร ์
0..n
วิช ัย วินัย
่
นักศึกษาทีลงทะเบี
ยน
แบบไม่เอาหน่ วยกิต
สมชาย
สมศรี
สอน
คณะวิทยาการจัดกา
1..n
วิชาคอมพิวเตอร ์
วิชาสถิภาษาอั
ติ
งกฤษ
อาจารย ์ผู ้สอน
อาจารย ์พิเศษ
อ.สมบูรณ์
อ.สุนัน
คณะวิทยาศาสตร ์
อ.ชุมพล
แบบฝึ กหัด
่
่
ง Association ทีมี
1. จงสร ้าง Class Diagram ทีแสดงถึ
่ กต ้องของความสัมพันธ ์ดังต่อไปนี ้
Cardinality ทีถู
1.1 นักเรียน – วิชาเรียน – อาจารย ์ผูส
้ อน
1.2 ธนาคาร - สมุดบัญชี – ผูฝ
้ ากเงิน
1.3 ห ้องสมุด – บรรณาร ักษ ์ – หนังสือ - หมวดหนังสือ
่ น – พนักงาน – ผูโ้ ดยสาร - อาหาร
1.4 เครืองบิ
1.5 ผูจ
้ ด
ั การ - ร ้านอาหาร – ลูกค ้า – อาหาร - โต๊ะ
อาหาร
่ าหนดใน
2. จงอธิบายความสัมพันธ ์ ตามทีก
แผนภาพ
ผู จ
้ ด
ั การ
1..n
1..n
เป็ นเจ ้าของ
ร ้านอาหาร
1..n
จ่ายเงิน
ค่าอาหาร
นายตัน
โต๊ะอาหาร
1..n
Oishi
1..n
ลู กค้า
1..n
1..1
กิน
มี
0..n
MK
อาหาร
นาย ศรราม
นางสาว สุวนันท ์