Converting a problem statement into class diagram.
"Develop an application for a university to provide an interface of viewing course information for staff, students and managers.
The lecturers and courses details are listed in a prospectus in which courses or lecturers can be added or removed. Courses at the college comprise a number of units at two levels, with students normally taking level one units in the first year of their course and progressing level two units in the second. Part time students may take two or more years to complete all their units at a given level. Level one units are assessed on course work grades, but level two units are assessed with examinations. Some courses also include a compulsory foundation unit where particular technical skills need to be established.
The system will provide lists of lecturers, courses and units, and access to more detailed information about which units are taught on which courses. Individual lecturer records may be queried for information such as their office room number, e-mail address and subject specialisms, as well as reporting the units that a lecturer teaches. Each course in the prospectus can be identified by a unique course code, and consists of a number of units at each level. Every course has one lecturer acting as course leader, who is responsible for administering that course and updating unit descriptions. Management functions of the prospectus allow lecturers and courses to be added to or removed from the system."
- Extract the main objects (entities) for above system.
- Find the necessary attributes and functions that need to be associated with each object (You are required to mention at most three attributes and one functions for a class).
- Identify the relationships between these objects.
- Construct a final comprehensive Class diagram showing all objects and their relationships along with their attributes and functions.
You have to use standard UML notations for objects, classes, and their associations.
Besides problem statement; objects, properties, and functions of a system can also be extracted from domain knowledge. You have to consider all OOP concepts like abstraction, encapsulation, inheritance, association, generalization, and specialization wherever applicable.
To learn how to convert Problem Statment into UML class diagram click here: Step-wise procedure to translate a problem statement into class diagram