1 / 17

อ.วิวัฒน์ ชินนาทศิริกุล

Association Abstraction. อ.วิวัฒน์ ชินนาทศิริกุล. วัตถุประสงค์. 1. เพื่อให้สามารถสร้างความสัมพันธ์ระหว่าง class ต่าง ๆ ใน problem domain โดยใช้ Association Abstraction ได้ 2. เพื่อให้สามารถใส่ Cardinality ของความสัมพันธ์ในเชิง Association ได้ถูกต้อง. Relationship ( ความสัมพันธ์ ).

tobias
Download Presentation

อ.วิวัฒน์ ชินนาทศิริกุล

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Association Abstraction อ.วิวัฒน์ ชินนาทศิริกุล

  2. วัตถุประสงค์ 1. เพื่อให้สามารถสร้างความสัมพันธ์ระหว่าง class ต่าง ๆ ใน problem domain โดยใช้ Association Abstraction ได้ 2. เพื่อให้สามารถใส่ Cardinality ของความสัมพันธ์ในเชิง Association ได้ถูกต้อง

  3. Relationship (ความสัมพันธ์) • ความสัมพันธ์ ต่าง ๆ ในชีวิตประจำวัน • แม่มีลูก • สามีรักภรรยา • นายกบริหารประเทศ • ปากกาอยู่บนโต๊ะทำงาน • นักเรียนลงทะเบียนเรียน

  4. สามารถจัดเอาความสัมพันธ์แบบ Aggregationเป็นความสัมพันธ์แบบ “is related to”ได้เช่นกัน เพราะการเป็นส่วนประกอบ หรือ การมีส่วนประกอบ ก็คือ ความสัมพันธ์เป็นเจ้าของ ( has a )นั่นเอง • จากหลักการที่ว่า Classต่างๆใน Domainสามารถมีความสัมพันธ์กันได้ เป็นที่มาของ Abstractionที่เรียกว่า Association Abstraction

  5. Cardinary ใน Association Abstraction • Cardinaryหมายถึง จำนวนสมาชิกหรือตัวเลขที่ใช้แสดงจำนวนสมาชิก ที่สามารถมีได้ใน Class หนึ่งๆ ที่มีส่วนร่วมใน Association

  6. ตัวอย่าง • ผู้ชายมีภรรยาได้เพียง 1 คน หรือไม่มีเลย ในขณะเดียวกันผู้หญิงก็มีสามีได้เพียงคนเดียวหรือไม่มีเลย Cardinary ของความสัมพันธ์ได้แก่

  7. แม่สามารถมีลูกได้ตั้งแต่ 0 คน ถึงกี่คนก็ได้ ในทางกลับกันลูก 1 คนมีแม่ได้เพียงคนเดียว Cardinary ของความสัมพันธ์ได้แก่

  8. หลักการเขียน Diagram แสดง Association • ในการเขียนภาพเพื่อแสดง Associationนั้น มีหลักการเขียนดังนี้ - ลากเส้นตรงเชื่อม Class โดยมีชื่อ Associationกำกับที่เส้น - มีลูกศร แสดงเส้นทางในการอ่านความสัมพันธ์ - กำหนด min cardและ max cardกำกับที่ปลายเส้นตรงที่ติดกับ Class

  9. ตัวอย่าง Association Abstractionแสดงความสัมพันธ์ของแม่มีลูก มี ลูก แม่ 1 มี ลูก แม่ 2 0..n มี ลูก แม่ 3 1..1 มี ลูก แม่ 4 1..1 0..n มี ลูก แม่ 5

  10. ตัวอย่าง Association ของผู้ชายแต่งงานกับผู้หญิง 0..1 0..1 แต่งงาน ผู้หญิง ผู้ชาย ตัวอย่าง Association ของนักศึกษาลงทะเบียนรายวิชา 0..n 1..n ลงทะเบียน วิชา นักศึกษา

  11. ตัวอย่าง จงเขียน Association Abstraction แสดงความสัมพันธ์ของคลาส เมื่อกำหนด Problem Domain ดังนี้ • นักศึกษา สามารถไม่ลงทะเบียนเรียน หรือลงทะเบียนเรียนได้หลายวิชา และในแต่ละรายวิชา อาจไม่มีนักศึกษาลงทะเบียนเลย หรือมีนักศึกษาลงทะเบียนได้หลายคน และอาจารย์อาจไม่มีวิชาสอน หรือสอนได้หลายรายวิชา อาจารย์สอนนักศึกษาตั้งแต่ 1 คนขึ้นไป และนักศึกษาเรียนกับอาจารย์ตั้งแต่ 1คนขึ้นไป

  12. 0..n วิชาเรียน 0..n นักเรียน ลงทะเบียนเรียน 0..n 1..n สอน สอน 1..n อาจารย์ผู้สอน 1..n Association Abstraction แสดงความสัมพันธ์ระหว่าง นักเรียน – วิชาเรียน –อาจารย์ผู้สอน

  13. ตัวอย่าง จงเขียน Association Abstraction แสดงความสัมพันธ์ของคลาส เมื่อกำหนด Problem Domain ดังนี้ • บริษัทแห่งหนึ่ง มีประธานบริษัท 1คนทำหน้าที่บริหารงาน และประธานทำหน้าที่ออกนโยบาย เพื่อใช้บริหารงานได้หลายนโยบาย หรือไม่ออกนโยบายเลย หัวหน้าแผนกรับนโยบายไปปฏิบัติ โดยที่นโยบายหนึ่งๆอาจถูกนำไปปฏิบัติโดยหัวหน้าแผนกได้หลายๆคน ขณะที่หัวหน้าแผนกแต่ละคนสามารถรับนโยบายได้หลายๆนโยบาย หน้าที่ของหัวหน้าแผนกคือการบริหารงานในแผนกของตนเพียง 1 แผนกเท่านั้น หัวหน้าแผนกจะจัดทำแผนกี่แผนก็ได้เพื่อกำหนดนโยบายการทำงานภายในแผนก แต่ละแผนกจะถูกแบ่งเป็นชิ้นงานย่อยๆตั้งแต่ 1 ชิ้นงานขึ้นไป โดยแต่ละชิ้นงานอาจถูกปฏิบัติด้วยเจ้าหน้าที่กี่คนก็ได้ และเจ้าหน้าที่แต่ละคนสามารถไม่ปฏิบัติ หรือปฏิบัติงานกี่ชิ้นก็ได้

  14. บริษัท แผนก 1..1 1..1 บริหาร บริหาร 1..1 1..1 ประธานบริษัท หัวหน้าแผนก เจ้าหน้าที่ 0..n 1..1 1..1 ปฏิบัติ 0..n ออก จัดทำ ปฏิบัติงาน 0..n 0..n 0..n 0..n 1..1 1..n นโยบาย แผนกงาน ชิ้นงาน Association Diagram ที่ได้

  15. มหาวิทยาลัย 1..n 1..n นักศึกษาที่ลงทะเบียน เรียนตามปกติ 0..n วิชาเรียน คณะวิชา 1..n คณะครุศาสตร์ 1..1 เรียน มี 0..n คณะวิทยาการจัดการ สอน วินัย 1..n วิชัย วิชาคอมพิวเตอร์ นักศึกษาที่ลงทะเบียน แบบไม่เอาหน่วยกิต วิชาสถิติ อาจารย์ผู้สอน ภาษาอังกฤษ คณะวิทยาศาสตร์ อ.ชุมพล อาจารย์พิเศษ สมชาย สมศรี อ.สมบูรณ์ อ.สุนัน ตัวอย่าง การใช้ Abstractionทั้ง 4แบบ ใน Problem Domain

  16. แบบฝึกหัด • 1. จงสร้าง Class Diagramที่แสดงถึง Associationที่มี Cardinalityที่ถูกต้องของความสัมพันธ์ดังต่อไปนี้ • 1.1 นักเรียน – วิชาเรียน –อาจารย์ผู้สอน • 1.2ธนาคาร - สมุดบัญชี –ผู้ฝากเงิน • 1.3 ห้องสมุด –บรรณารักษ์ –หนังสือ - หมวดหนังสือ • 1.4 เครื่องบิน –พนักงาน –ผู้โดยสาร - อาหาร • 1.5 ผู้จัดการ - ร้านอาหาร –ลูกค้า –อาหาร - โต๊ะอาหาร

  17. 2. จงอธิบายความสัมพันธ์ ตามที่กำหนดในแผนภาพ 1..n 1..n ร้านอาหาร ผู้จัดการ เป็นเจ้าของ 1..n จ่ายเงินค่าอาหาร MK นายตัน 1..n Oishi 1..n โต๊ะอาหาร 1..n ลูกค้า 1..1 กิน นาย ศรราม มี อาหาร 0..n นางสาว สุวนันท์

More Related