สร้าง CLASS


            จงสร้าง Class Diagram จาก Problem Domain ที่กำหนดให้ต่อไปนี้

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

เขียน Class Diagram เบื้องต้น (ไม่มี  Attributes, Operations)  จาก Scenario

ได้เพิ่ม Class บาง Class ที่จำเป็นได้แก่
คณะวิทยาศาสตร์  เกิดจาก Aggregation Abstraction (ของห้องเรียน ห้องทดลองและบุคลากร)
บุคลากร  เกิดจาก Generalization (บุคลากร จำแนกเป็นเจ้าหน้าที่ นักเรียนและอาจารย์)
จาก Class Diagram เบื้องต้น
            ประกอบด้วย Class ที่เป็น Tangible ได้แก่บุคลากร (จำแนกเป็นเจ้าหน้าที่ นักเรียนและอาจารย์) ห้องเรียน และห้องทดลอง
            ส่วน Class ที่เป็น Intangible ได้แก่ คณะวิทยาศาสตร์ วิชาเรียน และชั่วโมงเรียน             
            นอกจากนี้จาก Problem Domain ที่กำหนดให้ เราจะพบว่า Class Diagram จะมีความสัมพันธ์กันอันเกิดจากการใช้ Abstraction แบบต่าง ๆ และมีการสร้าง Class เพิ่มขึ้นด้วย เพื่อเพิ่มความสมบูรณ์ให้กับ Class Diagram ได้แก่ Class ชั่วโมงเรียน เพื่อช่วยในการโยงความสัมพันธ์ระหว่างห้องเรียนกับวิชาเรียน 
การปรับเปลี่ยน  Class Diagram ให้สมบูรณ์ขึ้น (คำว่า สมบูรณ์ขึ้น คือทำให้ Class Diagram เข้าใจได้ง่ายและครบถ้วนขึ้น อาจมีการเพิ่ม Class หรือความสัมพันธ์ขึ้น  แต่ต้องไม่ทำให้เรื่องราวที่มีเปลี่ยนไป)         
โดยการเพิ่ม Class ห้อง ซึ่งเป็น Generalized Class หรือ Super class ของห้องเรียนกับห้องทดลองนั่นเอง
เมื่อปรับเปลี่ยน Class Diagram  ให้สมบูรณ์มากยิ่งขึ้น

        สามารถปรับเปลี่ยน Class Diagram อีกครั้ง เพื่อให้ได้ Class Diagram ที่สมบูรณ์ขึ้น โดยเพิ่มเติม Attributes และ Operations ลงไป 

อย่างไรก็ตาม Class Diagram ที่ได้ จะถูกทำ Refinement ในขั้นตอนของ Object-Oriented Design (OOD) เพื่อเพิ่มความสมบูรณ์ จนกระทั่งสามารถนำมาใช้เป็นต้นแบบในการพัฒนาระบบงานในคอมพิวเตอร์ได้ในที่สุด