In: Computer Science
Question 2:
A group diary and time management system is intended to support the timetabling of meetings and appointments across a group of co-workers. When an appointment is to be made that involves a number of people, the system finds a common slot in each of their diaries and arranges the appointment for that time. If no common slots are available, it interacts with the user to rearrange his or her personal diary to make room for the appointment.
Make and state reasonable assumptions about the system when deriving the design.
a) Identify possible objects in the system and develop an object-oriented design for it.
b) Using functional-oriented approach, derive a high level design for the system. Make reasonable assumption and state them.
The question speaks about a problem to be solved for a schedule management system.
As per the requirements, I am gonna show the different objects and develop an object oriented design for it. Also make a functional oriented approach to the same.
a)
The objects that you would require are :
a) A web server or app server
b) Mobile Device
c) Database
d) Database Administrator
Class Diagram for Better Insight of class details
This class diagram depicts an overview of the required classes used for the mentioned system.
Assuming this is a web application or a mobile application, we have to have a login page which authenticates the co-worker with a node-id.
Each node should be given unique id, which can be generated in the code, then a cluster based system, which can be implemented easily using python libraries can be implemented to group different meeting with different nodes being allocated a cluster.
The cluster based approach may be a little complex to approach at, but once implemented will provide a very good scheduling system with perfection in schedule.(This is just a suggestion for implementation of the system. For a system which is implemented using a clustering algorithm, can have high productivity and agility)
b)
Using a functional oriented approach:
Design:
Activity Diagram:-
The above given is an activity diagram which depicts a typical system for scheduling a meeting considering any previous engagements of the co-worker, also to make sure, all the co-workers are confident and ready for the scheduled meeting.
Once the meeting is scheduled, according to the priority of the meeting we can change the meeting tier, and if a clustering system is used, then this can be implemented easily.
Clustering can be done easily using python libraries(just a suggestion) and theses libraries can simulate any needed working cluster for the required task. I strongly advice for the above system to be made using the clustering technology and hence enjoy the benefits of ease of coding using python libraries.
Thank you :)