งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

1 Class Diagram. 2 ความหมาย Class diagram คือ แผนภาพที่ใช้แสดง class และความสัมพันธ์ (relationship) ระหว่าง class ความสัมพันธ์ที่แสดงเป็นความสัมพันธ์เชิง.

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "1 Class Diagram. 2 ความหมาย Class diagram คือ แผนภาพที่ใช้แสดง class และความสัมพันธ์ (relationship) ระหว่าง class ความสัมพันธ์ที่แสดงเป็นความสัมพันธ์เชิง."— ใบสำเนางานนำเสนอ:

1 1 Class Diagram

2 2 ความหมาย Class diagram คือ แผนภาพที่ใช้แสดง class และความสัมพันธ์ (relationship) ระหว่าง class ความสัมพันธ์ที่แสดงเป็นความสัมพันธ์เชิง สถิตย์ (static) ไม่ใช่ความสัมพันธ์ที่เกิดขึ้น เนื่องจากกิจกรรม (dynamic)

3 3 Examples of Relationship Static relationship –เจ้าของบัญชีเป็นเจ้าของบัญชีเงินฝาก Dynamic relationship –เจ้าของบัญชีฝากเงินเข้าบัญชีเงินฝาก –เจ้าของบัญชีถอนเงินจากบัญชีเงินฝาก –เจ้าของบัญชีปรับปรุงยอดบัญชีเงินฝาก

4 4 สัญลักษณ์ Class Man - Name # Surname - Age + Tell_Name + Tell_Age

5 5 สัญลักษณ์ Visibility Private แทนด้วย - Protected แทนด้วย # Public แทนด้วย +

6 6 Visibility แบบ Public มองเห็นและเรียกใช้ได้โดยตรงจากภายนอก เข้าไปเปลี่ยนค่า อ่านค่า หรือเรียกใช้งานได้ ทันทีโดยอิสระจากภายนอก มักใช้กับ Functions มากกว่า Attributes จะใช้เครื่องหมาย (+) กำกับไว้ข้างหน้า

7 7 Visibility แบบ Private ไม่สามารถเห็นได้จากภายนอก จะเห็นได้ ภายในเฉพาะตัว class เองเท่านั้น หากภายนอกต้องการแก้ไข หรืออ่านค่า ทำ ได้วิธีเดียวคือ ทำผ่าน Function ที่เกี่ยวข้อง โดยทั่วไปมักใช้กับ Attributes มากกว่า Functions จะใช้เครื่องหมาย (-) กำกับไว้ข้างหน้า

8 8 Visibility แบบ Protected สงวนไว้สำหรับการทำ Inheritance โดยเฉพาะ โดยปกติจะเป็นของ Superclass เมื่อทำ inheritance แล้ว Attributes และ Functions เหล่านี้จะเป็นได้ทั้ง Private หรือ Protect ซึ่งขึ้นอยู่กับภาษาที่ใช้ จะใช้เครื่องหมาย (#) กำกับไว้หน้า

9 9 ตัวอย่าง Class คน คน - เลขบัตรประจำตัวประชาชน - ชื่อ # นามสกุล - อายุ - หมู่เลือด + สีผม + บอกเลขบัตรประชาชน + บอกชื่อ + บอกนามสกุล + บอกอายุ + บอกหมู่เลือด

10 10 หลักการในการสร้าง Class Diagram กำหนดกรอบของ Problem Domain ให้ ชัดเจน –เขียน use case diagram ของ problem domain ที่กำหนดไว้ –พิจารณาว่าในแต่ละ use case มี object ใดอยู่บ้าง –ทำให้ครบทุก use case

11 11 หลักการ... พิจารณาหา Tangible objects ให้ครบทุกตัว –ในกรณีที่มีหลายตัวใน problem domain เดียวกัน ให้หาตัวแทน object นั้น พิจารณาหา Intangible objects ให้ครบทุก ตัว –ในกรณีที่มีหลายตัวใน problem domain เดียวกัน ให้หาตัวแทน object นั้น

12 12 หลักการ... ใช้ Classification Abstraction เพื่อแยกแยะ และสร้าง class จาก object ที่มีอยู่ –หา attributes และ functions ที่มีอยู่ใน class นั้น ๆ –วาด class ที่ได้ลงใน class diagram

13 13 หลักการ... หา Aggregation(การรวมกลุ่ม) Abstraction โดยพิจารณา class ที่มีความสัมพันธ์แบบ เป็นส่วนหนึ่งหรือประกอบด้วยกับ class อื่น ๆ –ระบุชนิด aggregation ได้แก่ One to One หรือ Many to One –ใส่ Cardinality(สาระสำคัญ) ให้ถูกต้อง

14 14 หลักการ... ใช้ Generalization(ลักษณะทั่วไป) มา พิจารณา class ต่าง ๆ ใน class diagram –หากมีความสัมพันธ์แบบ generalization( ทั่วไป) หรือ specialization(พิเศษ) ให้ เพิ่มลงไปใน class diagram –อาจมีการสร้าง class ใหม่เพื่อเป็น generalized class (คลาสทั่วไป) ได้

15 15 หลักการ... ใช้ Association(ความสัมพันธ์) มาพิจารณา class ต่าง ๆ ใน class diagram –เพิ่มเติมสัญลักษณ์ของ Association ลงใน Class Diagram –พิจารณาประเภทของความสัมพันธ์และ Cardinality ให้ถูกต้อง

16 16 หลักการ... พิจารณาว่าทุก class ควรมีความสัมพันธ์ แบบใดแบบหนึ่งกับ class อื่น หากพบ class ที่ยังไม่มีความสัมพันธ์กับ class อื่น อาจมีสาเหตุจาก –class นั้นเป็น class ที่เกินความจำเป็น ซึ่ง ไม่จำเป็นต้องมีในระบบได้ –หรือต้องเพิ่มเติม class อื่นที่มี ความสัมพันธ์กับ class ดังกล่าวเข้าไป

17 หลักการ Cardinality Ratio ใน Class Diagram - Multiplicity หมายถึง การพิจารณาจำนวน instances (objects) ของคลาสหนึ่ง ที่สามารถเชื่อมโยงกับ instance (object) ของคลาสที่เกี่ยวข้อง - Multiplicity คือ Cardinality ratio ได้แก่ 0..n,0..1,1..1, 1..N, M-Nซึ่งเขียนให้อยู่ในรูป Min..Max - Cardinality ratio คือ การระบุจำนวนสมาชิกของ Entity ที่สัมพันธ์กัน - Multiplicity ในความสัมพันธ์ (Relationship) เป็นการ แสดงจำนวน Object ของ Class หนึ่ง ซึ่งมี ความสัมพันธ์กับ Objects ของอีก Class หนึ่ง บนเส้น ความสัมพันธ์โดยใช้รูปแบบ Minimum Cardinality.. Maximum Cardinality 17

18 หลักการ ความสัมพันธ์ระหว่าง Object ประกอบด้วย - Association - Aggregation - Composition - Inheritance/Generalization 18

19 หลักการ 19 Association มีไว้สำหรับระบุความสัมพันธ์ระหว่าง Class ใช้หัวลูกศรขนาดเล็ก ทึบ หรือเป็นลูกศรหัวเป็นเส้นเดี่ยว

20 หลักการ Aggregation - Aggregation เป็นความสัมพันธ์ระหว่างคลาสแบบ ต่างระดับ ในลักษณะของการป็นองค์ประกอบต่าง ๆ เรียกว่า “Part Class” ส่วน คลาสที่เกิดจากการ รวมกันขององค์ประกอบต่าง ๆ เรียกว่า “Whole Class” โดยข้อสังเกตของความสัมพันธ์ชนิดนี้คือ Part Class มีอิสระ ไม่จำเป็นต้องพึ่งพา Whole Class หาก Whole Class ถูกทำลาย หรือเสียหาย Part Class ก็ยังคงอยู่ เช่น ความสัมพันธ์ระหว่างคลาส “Team” กับ Person” โดยที่ Team จะต้องมี Person มารวมกันเป็น องค์ประกอบ หรือความสัมพันธ์ระหว่างคลาส “Car” มีคลาส “Engine”, “Wheel”, Steering” เป็นต้น 20

21 หลักการ Aggregation - คือ การนำส่วนประกอบย่อยๆ หลายๆอย่างมา ประกอบเป็นหนึ่ง Object ที่สามารถใช้งานได้อย่าง สมบูรณ์ ถ้าขาดส่วนหนึ่งส่วนใดจะเกิดการผิดพลาด ได้ เป็นความสัมพันธ์แบบ Aggregation แทนด้วย ข้าวหลามตัดโปร่งใส ซึ่งความสัมพันธ์ระหว่าง Object หรือ Class แบบ “Whole-Part” หรือ “is part of” โดยจะมี Class ที่ใหญ่ที่สุดที่เป็น Object หลัก และมี Class อื่นเป็นส่วนประกอบ - วัตถุมี วัตถุอื่นๆ เป็นองค์ประกอบย่อย เช่น Car มี engine และwheels เป็นองค์ประกอบ - ปลายที่มีข้าวหลามตัดเป็น Class “Whole-Part หรือ Container(หลัก)” ปลายอีกข้างเป็น Class “Part(ส่วนประกอบ)” 21

22 หลักการ 22 ตัวอย่างแสดงความสัมพันธ์ แบบ Aggregation

23 หลักการ Composition - ในความสัมพันธ์แบบ “Composition” Part Class ไม่สามารถทำงานได้หากไม่มี Whole Class และ Part Class จะต้องทำงานร่วมกับ Whole Class ตลอดอายุของ Whole Class ดังนั้นเมื่อ Whole Class ถูกลบ Part Class ก็ถูกลบไปด้วย เช่น ความสัมพันธ์ระหว่างคลาส “Employee” กับ “EmpHistory” เมื่อพนักงานลาออกไปประวัติ พนักงานก็จะไม่มีอีกต่อไป หรือ คลาส “Windows” กับ คลาสที่เป็นส่วนประกอบของโปรแกรมวินโดวส์ หากโปรแกรมวินโดวส์ถูกปิดลงส่วนประกอบอื่น ๆ ของโปรแกรมวินโดวส์ก็จะถูกปิดลงไปด้วย เป็นต้น 23

24 หลักการ Composition - เป็นความสัมพันธ์ระหว่าง Object หรือ Class แบบขึ้นต่อกันและมีความเกี่ยวข้องกัน เสมอ โดยจะมี Class ซึ่งเป็นองค์ประกอบ ของ Class อื่นที่ใหญ่กว่า - วัตถุมีวัตถุอื่นๆ เป็นองค์ประกอบย่อย ทั้งหมด - การส่ง message ติดต่อกับวัตถุที่เป็น องค์ประกอบรวม อาจมีผลกับองค์ประกอบ ทั้งหมด - ถ้า delete วัตถุที่เป็นองค์ประกอบรวม ส่วนย่อยจะต้องถูก delete ทิ้งไปด้วย - ใช้สัญลักษณ์ข้าวหลามตัดทึบ 24

25 หลักการ 25 ตัวอย่างแสดงความสัมพันธ์แบบ Composition

26 หลักการ ความเหมือนและความแตกต่างระหว่าง Aggregation และ Composition - ส่วนของ Aggregation วัตถุแต่ละส่วนจะ ทำงานในแบบขอบริการซึ่งกันและกัน ดังนั้น ถ้าขาดวัตถุชิ้นใด อาจทำให้ไม่สมบูรณ์แต่ไม่ ถึงกับการทำงานทั้งหมดหยุดชะงัก - ความสัมพันธ์ระหว่าง วัตถุส่วนของ Composition นั้นวัตถุแต่ละชิ้นจะทำงานโดย พึ่งพาอาศัยกัน ซึ่งถ้าวัตถุชิ้นใดขาดหายไป จะทำให้การทำงานทั้งหมดกระทบกระเทือน ไปด้วย 26

27 หลักการ Inheritance/Generalization แสดงถึงการสืบทอดคุณสมบัติ ระหว่างคลาส แม่และคลาสลูก ใช้ลูกศรหัวใหญ่และโปร่ง 27

28 28 ตัวอย่างการสร้าง Class Diagram Problem Domain ที่กำหนดคือ “ในคณะวิชาวิทยาศาสตร์ของ สถาบันการศึกษาแห่งหนึ่งมีบุคลากรหลาย ประเภทด้วยกัน ได้แก่ อาจารย์ นักศึกษา และเจ้าหน้าที่ โดยที่อาจารย์แต่ละท่านมี หน้าที่ในการสอนวิชาใดวิชาหนึ่งหรือมากกว่า 1 วิชาก็ได้ และนักศึกษาก็มีหน้าที่ใน การศึกษาวิชาวิชาหนึ่ง หรือมากกว่า 1 วิชาก็ ได้ ในเวลาเดียวกันเจ้าหน้าที่ของภาควิชา คือ เจ้าหน้าที่ประจำห้องทดลองต่าง ๆ โดย กำหนดว่าใน 1 ห้องทดลองจะต้องมี เจ้าหน้าที่ 1 คนเสมอ”

29 29 หา use case จาก problem domain use case ของระบบคือ –การเรียนการสอน –การใช้ห้องทดลอง –การดูแลห้องทดลอง

30 30 หา object/class จาก use case use case การเรียนการสอน –นักเรียน อาจารย์ –ห้องเรียน วิชาเรียน ชั่วโมงเรียน use case การใช้ห้องทดลอง –นักเรียน อาจารย์ –ห้องทดลอง use case การดูแลห้องทดลอง –เจ้าหน้าที่ –ห้องทดลอง

31 31 หา actor จาก use case สรุป actors ที่มีจาก use case คือ –นักเรียน –อาจารย์ –เจ้าหน้าที่

32 32 เขียน Use Case Diagram การเรียนการสอนในคณะวิทยาศาสตร์ การเรียน การสอน การดูแล ห้องทดลอง การใช้ ห้องทดลอง อาจารย์ นักศึกษา > เจ้าหน้าที่ การใช้ ห้องเรียน >

33 33 object/class ทั้งระบบ นักเรียน อาจารย์ เจ้าหน้าที่ ห้องเรียน วิชาเรียน ชั่วโมงเรียน ห้องทดลอง

34 34 เขียน Class Diagram เบื้องต้น คณะวิทยาศาสตร์ ห้องเรียนห้องทดลองบุคลากร เจ้าหน้าที่ 1..n ชั่วโมงเรียน วิชาเรียน นักเรียนอาจารย์ ใช้ มี เรียน สอน ดูแล ใช้ n 1..n n 0..1

35 35 ปรับเปลี่ยน Class Diagram ให้สมบูรณ์ขึ้น คณะวิทยาศาสตร์ ห้องเรียนห้องทดลองบุคลากร เจ้าหน้าที่ 1..n ชั่วโมงเรียน วิชาเรียน นักเรียนอาจารย์ ใช้ มี เรียน สอน ดูแล ใช้ n 1..n n 0..1 ห้อง

36 36

37 Inheritance การถ่ายทอดคุณสมบัติไปยังClass ลูก –Class ที่เป็นต้นแบบเรียกว่า Superclass –Class ที่ได้รับการสืบทอดคุณสมบัติ เรียกว่า Subclasses –Class หนึ่งจะมี Superclass ได้ Class เดียว ซึ่งประโยชน์ของ Inheritance คือ –ทำให้มีโครงสร้างที่เป็นระบบ ระเบียบ ปรับเปลี่ยนได้ง่าย –ลดเวลาในการพัฒนาระบบ –ลดค่าใช้จ่ายในการพัฒนา

38 Inheritance Java ใช้ extends ชื่อclass ในการสืบทอด class x extends y { } Class x Class y

39 Inheritance

40 Inheritance

41 41 แบบทดสอบ เขียน class diagram ของระบบรายงานผล การเรียนผ่านเครือข่ายอินเทอร์เน็ต (Grade Online System)

42 42 ระบบต้องมีความสามารถใน การแสดงผลการเรียนของ นักศึกษาผ่านระบบเครือข่าย อินเตอร์เน็ต โดยนักศึกษาสามารถดูผล การเรียนในแต่ละภาคเรียน จนถึงภาคเรียนปัจจุบันได้ Problem Domain

43 43 Problem Domain ซึ่งผลการเรียนที่แสดงจะต้อง มีความถูกต้องและรักษาสิทธิ ส่วนบุคคลได้ ระบบจะต้องสามารถรักษา ความปลอดภัยของข้อมูลที่มี อยู่ในฐานข้อมูลได้ไม่ว่าจะมี เหตุการณ์ใด ๆ เกิดขึ้นก็ตาม

44 44 Problem Domain สำหรับการกรอกข้อมูลผล การเรียนในแต่ละรายวิชานั้น จะทำโดยเจ้าหน้าที่ฝ่าย ทะเบียน ซึ่งผู้ที่จะทำหน้าที่นี้ ได้จะต้องเป็นผู้ได้รับอนุญาต จากระบบแล้วเท่านั้น

45 45 Problem Domain นอกจากนั้นแล้วอาจารย์ที่ ปรึกษาสามารถจะเข้าไปดูผล การเรียนของนักศึกษาที่อยู่ ในการดูแลของตนเองได้ด้วย แต่จะต้องได้รับการอนุญาต จากระบบแล้วเช่นกัน


ดาวน์โหลด ppt 1 Class Diagram. 2 ความหมาย Class diagram คือ แผนภาพที่ใช้แสดง class และความสัมพันธ์ (relationship) ระหว่าง class ความสัมพันธ์ที่แสดงเป็นความสัมพันธ์เชิง.

งานนำเสนอที่คล้ายกัน


Ads by Google