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

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

Class Diagram.

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


งานนำเสนอเรื่อง: "Class Diagram."— ใบสำเนางานนำเสนอ:

1 Class Diagram

2 ทบทวน Classification Abstraction
คน Is member of สมชาย นก สมจิตร ลูกเกด

3 ทบทวน Classification Abstraction
รถ Is member of รถเก๋งของแดง รถมอเตอร์ไซต์ ของดำ รถสปอร์ต ของสมศรี รถตู้ของสมควร

4 ถ้าต้องการให้ concept ใช้ได้กับทุก ๆ object ข้างล่างนี้จะต้องทำอย่างไร
รถจักรยานยนต์ซูซูกิ ? รถยนต์โตโยต้า ? รถโดยสาร 6 ล้อ volvo เรืออันดามันปริ๊นเซส รถไฟ รถจักรยาน BMX

5 เรืออันดามันปริ๊นเซส
รถจักรยานยนต์ซูซูกิ Concept เกี่ยวกับรถ มีเครื่องยนต์ มีล้อจำนวนหนึ่ง วิ่งไปบนถนนได้ ใช้แก๊สหรือนำมันเป็นเชื่องเพลิง รถยนต์โตโยต้า รถยนต์ รถโดยสาร 6 ล้อ เรืออันดามันปริ๊นเซส รถไฟ รถจักรยาน BMX

6 ต.ย. โจทย์ จงให้ Concept ของ Computer จงให้ Concept ของ นักศึกษา
จงให้ Concept ของ TV จงให้ Concept ของ โทรศัพท์มือถือ

7 Concept ใช้ไฟฟ้า มีการประมวลผล จัดเก็บข้อมูลได้ มือถือ
PC COMPUTER Notebook PDA มือถือ เครื่องคิดเลขไฟฟ้า

8 กศ.พบ. กศ.พท. Concept ชื่อ รหัสนักศึกษา นักศึกษา วิชาเอก รุ่น/หมู่
ปกติ นักศึกษา กศ.บป กศ.พบ. นศ. ศูนย์ บริการ กศ.พท.

9 Concept ใช้ไฟฟ้า จอภาพ ปุ่มเปลี่ยนช่อง ลำโพง รีโมท Sony TV Sumsung

10 Concept โทรศัพท์มือถือ

11 Class Diagram Class Diagram คือ แผนภาพที่ใช้แสดง Class และ ความสัมพันธ์ระหว่าง Class ของระบบที่สนใจ (Problem Domain) เช่น ในระบบจัดซื้อ Class ที่เกี่ยวข้องคือ ผู้ผลิต, พนักงานจัดซื้อ, ใบสั่งซื้อ, ใบเสนอราคา, ใบเสร็จรับเงิน เป็นต้น

12 การระบุ Class และ Object
ในบาง Problem Domain อาจจะได้ทั้ง Class และ Object ในเวลาเดียวกัน ดังนั้น จำเป็นต้องระบุให้แน่ชัดว่าสิ่งใดคือ Class และสิ่งใดคือ Object

13 ตัวอย่าง การระบุ Class และ Object
“พยาบาลชื่อ ปราณี ฉีดยาป้องกันโรคบาดทะยักให้แก่คนไข้ชื่อ กิตติ” ขั้นตอนที่ 1 : แยกคำนาม พยาบาลชื่อ ปราณี ยาป้องกันโรคบาดทะยัก คนไข้ชื่อกิตติ

14 ตัวอย่าง การระบุ Class และ Object
ขั้นตอนที่ 2 : แยกประเภทของคำนาม พยาบาล : Class ปราณี : Object หนึ่งใน Class พยาบาล คนไข้ : Class กิตติ : Object หนึ่งใน Class คนไข้ ยาป้องกันโรคบาดทะยัก : Class / Object

15 ตัวอย่างที่ 3.4 ยาป้องกันโรคบาดทะยัก : Class
เพราะเป็นการบอกอย่างกว้าง ๆ ว่าเป็นยาป้องกันบาดทะยัก แต่ไม่ได้ระบุยี่ห้อยา ยาป้องกันโรคบาดทะยัก : Object ถือเป็น Object หนึ่งใน Class ยา

16 Classification ของ Class คน
สมศรี สมควร สมจิตร สมศักดิ์

17 Classification ของ หมา แมว สัตว์สีขาวและสัตว์สีดำ
ในบางครั้ง Object หนึ่งสามารถ เป็นสมาชิกของ Class ได้มาก กว่าหนึ่ง Class ได้เช่นกันดังตัวอย่างต่อไปนี้ แมวสีดำ หมาสีดำ แมวสีขาว หมาสีขาว หมา แมว สัตว์สีขาว สัตว์สีดำ

18 การปรับปรุงการทำ Classification ของหมาและแมว
หมาสีดำ หมาสีขาว แมวสีดำ แมวสีขาว หมา แมว

19 Class Diagram สัญญลักษณ์ Class ประกอบด้วย Class Name คือ ชื่อของ Class
Attributes คือ คุณลักษณะของ Class Operations หรือ Methods คือ กิจกรรมที่สามารถกระทำกับObject นั้นๆได้ Class Name Attributes Methods

20 คลาส (Class) นักศึกษา Student StudentID รหัสนักศึกษา FirstName ชื่อ
นามสกุล ที่อยู่ เบอร์โทรศัพท์ วันเกิด คณะ GPA ลงทะเบียน() ถอนรายวิชา() Student StudentID FirstName LastName Address Telephone Birthdate Faculty GPA Register() Drop() ตัวอย่าง Class Student ตัวอย่าง Class Student

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

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

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

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

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

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

27 ตัวอย่าง แสดง Class Diagram
Cabbie - companyName : String - Name : String +Cabbie : +setName :void +giveDirections :void -turnRight :void -turnLeft :void +getCompanyName :String ชื่อ Class Attibute Constructors Methods

28 จงเขียน Class จาก Class Diagram ที่กำหนดให้ต่อไปนี้
Teacher - faculty : String - salary : double - count : static int + Teacher() + setTeacher(String f,double s) + showBonus(int y) : double + toString() : String + getCount() : static int Person - name : String - age : int - count : static int + Person() + setPerson(String n,int a) + toString() : String + getCount() : static int * โบนัสคิด 1.5% ของเงินเดือน

29 การสืบทอดคุณสมบัติ (Inheritance)
การสืบทอดคุณสมบัติ (Inheritance) คือ การที่ Subclass ได้รับการถ่ายทอดคุณสมบัติ (Attributes) มาจาก Superclass แล้วผนวกคุณสมบัติพิเศษเพิ่มเข้าไป สัญญลักษณ์ที่ใช้ คือ ลูกศรหัวรูปสามเหลี่ยมใส ชี้จาก Subclass ไปยัง Superclass Multiple Inheritance

30 การสืบทอดคุณสมบัติ (Inheritance)
Without Inheritance With Inheritance

31 การสืบทอดคุณสมบัติ (Inheritance)
หลักของการสืบทอดคุณสมบัติจะทำให้ความสัมพันธ์ระหว่าง Object มีความชัดเจนยิ่งขึ้น กล่าวคือถ้ามีความสัมพันธ์ที่ชัดเจนมากขึ้นเท่าใด จะส่งผลให้การออกแบบระบบงานง่ายขึ้น ผู้ออกแบบระบบงานเชิงวัตถุสามารถออกแบบระบบงานขนาดใหญ่ได้โดยการอาศัย Object ที่มีการนิยามไว้ก่อนหรือที่มีผู้อื่นทำการออกแบบไว้ก่อนแล้ว ซึ่งเป็นที่มาของการนำกลับมาใช้ใหม่ (Reusability) ที่มา: การวิเคราะห์และออกแบบระบบ, โอภาส เอี่มสิริวงศ์ 2548

32 ข้อดีของการสืบทอดคุณสมบัติ
การสืบทอดคุณสมบัติมีข้อดี คือ ทำให้มีโครงสร้างที่เป็นระบบ สามารถปรับเปลี่ยนได้ง่าย ลดเวลาในการพัฒนาระบบ ลดค่าใช้จ่ายในการพัฒนาระบบ ที่มา: การวิเคราะห์และออกแบบระบบ, โอภาส เอี่มสิริวงศ์ 2548

33 Encapsulation และ Information Hiding
การซ่อนรายละเอียดเป็นพื้นฐานของการปกปิดข้อมูลภายในและวิธีการทำงานของ Object ตามแนวคิดเชิงวัตถุ การจะล่วงรู้รายละเอียดข้อมูลของ Object จะต้องได้รับอนุญาตจากเจ้าของ Object นั้นก่อน กล่าวคือการเข้าถึงข้อมูลนั้น จะไม่สามารถเข้าถึงได้โดยตรง แต่จะต้องมีการตอบรับจาก Method ใน Object ปลายทางนั้นว่าจะยอมให้ Object ที่ส่ง Message เข้าถึงข้อมูลของตนหรือไม่ Encapsulation หมายถึง ลักษณะการเขียนโปรแกรมที่จะมีการซ่อนข้อมูลที่ต้องการควบคุมความถูกต้องของข้อมูลไว้ (Information Hiding) และบังคับให้ Object อื่นเข้าถึงข้อมูลที่ซ่อนไว้ผ่านทาง Interface ที่เตรียมไว้ ทำให้สามารถควบคุมความถูกต้องของข้อมูลได้

34 Encapsulation และ Information Hiding
กลไกการปกป้องกันข้อมูลและวิธีการทำงานของ Object สามารถเป็น Public (+) ซึ่งสามารถเข้าถึงได้โดยตรงจากภายนอก Private (#) ซึ่งจะถูกใช้งานจากภายใน Class เท่านั้น Protected (-) ซึ่งจะสามารถเห็นหรือเข้าถึงได้จากภายใน Subclass เท่านั้น

35 ความสัมพันธ์ระหว่าง Object
Association Aggregation Composition Generalization

36 Association เป็นความสัมพันธ์ระหว่าง Object หรือ Class แบบ 2 ทิศทาง

37 Aggregation เป็นความสัมพันธ์ระหว่าง Object หรือ Class แบบ “Whole-Part” หรือ “is part of” โดยจะมี Class ที่ใหญ่ที่สุดที่เป็น Object หลัก และมี Class อื่นเป็นส่วนประกอบ

38 Composition เป็นความสัมพันธ์ระหว่าง Object หรือ Class แบบขึ้นต่อกันและมีความเกี่ยวข้องกันเสมอ โดยจะมี Class ซึ่งเป็นองค์ประกอบของ Class อื่นที่ใหญ่กว่า เมื่อ Class ที่ใหญ่กว่าถูกทำลาย Class ที่เป็นองค์ประกอบก็จะถูกทำลายไปด้วย

39 Generalization เป็นความสัมพันธ์ระหว่าง Object หรือ Class ในลักษณะของการสืบทอดคุณสมบัติจาก Class หนึ่ง (Superclass) ไปยังอีก Class หนึ่ง (Subclass)

40 ตัวอย่าง Class Diagram

41 แบบฝึกหัด จงสร้าง Use Case Diagram ของระบบห้องสมุดในมหาวิทยาลัยแห่งหนึ่ง ซึ่งผู้เข้าใช้บริการได้แก่ นักศึกษา อาจารย์ และพนักงานของมหาวิทยาลัย ในกระบวนการทำงาน เจ้าหน้าที่ห้องสมุดจะทำหน้าที่ให้บริการยืม/คืนหนังสือของแก่บุคคลดังกล่าว นอกจากนี้ยังจะต้องจัดการกับทรัพยากรในห้องสมุด เช่น การเพิ่ม, แก้ไข, ลบข้อมูลหนังสือและวารสาร รวมทั้งข้อมูลเกี่ยวกับสมาชิกของห้องสมุดอีกด้วย ทุกเดือน เจ้าหน้าที่ห้องสมุดจะต้องทำรายงานต่างๆ ส่งให้กับผู้อำนวยการศูนย์สารสนเทศ เช่น รายงานจำนวนสมาชิก, รายงานจำนวนหนังสือและวารสารใหม่, รายงานการยืม/คืนหนังสือ, รายงานค่าปรับล่าช้า เป็นต้น


ดาวน์โหลด ppt Class Diagram.

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


Ads by Google