Question: Remember that there is not one correct version on how to design this system, there are many different solutions and some might be better or
Remember that there is not one correct version on how to design this system, there are many different solutions and some might be better or worse than the others. Therefore, your goal should be to try to find a good design that meets the requirements in the Gym.pdf, this is what we will be looking for while grading (e.g. syntax, right level of abstraction, if all requirements are met). You are supposed to use specific levels of abstraction for these diagrams. These were all explained in the video and you have examples in the lecture slides (there is also a set of lecture slides that go over the consistency and most important points). Make sure your diagrams are using the correct elements and level of abstraction. Use the notes given in the PDF describing your system. Use these notes to create a domain class model for this system.
Gym Notes from a meeting with the Gym Attendees: Gym owner Goal: Design a system which can be used by customers and trainers to register via a web portal. The owner owns a two Gym rooms which includes fitness equipment meant for martial arts like weights, punching bags, punching targets etc. Since the owner cannot offer classes around the clock he lets other interested trainers rent the rooms, so they can train their clients. Below you find the notes taken while talking with the owner. Owner: Classes: o Classes shall only be martial arts lessons and are exactly one hour long o Each class shall start at the beginning of the hours (i.e. 12:00pm, not 12:30pm) o Classes shall be sorted into the following categories: kickbox-fitness MMA sparring kickboxing technique MMA technique boxing technique o A class: Has a maximum of 6 participants Has a unique ID Is taught by one trainer Is scheduled in one of the rooms Trainers: o Trainers can give/send their paper application (not through the system) to the owner with the following information: Name (first and last name) Email address Description of themselves o The owner registers the trainer (see later under owner) o The trainer can login into the system to use it if they have already been signed up by the owner o The trainer shall only be able to schedule a maximum of 5 reservations to their name at any given time. Example: Lets say Trainer (first name) Dead, (last name) Pool, wants to reserve the room for a class, but has already 5 classes reserved (in the future). Regardless of those classes details, the trainer must complete at least one class to open up one of their 5 room reservation slots to make another reservation to host a class. o To offer a class, the trainer shall: Enter his email address Choose a class time Time includes the date and time (AKA DateTime) Choose a class category The system then checks if one of the rooms (room 1 or room 2) is still available at this time If it is not, then the system will return an error message If a room is available o The system checks if the trainer already has 5 classes scheduled If yes, then the system will return an error message If not, the class will be scheduled with a unique id. The room is not available for another class at this time anymore. The owner will be informed about the new reservation. o Trainers shall be able to delete their classes if no customers have been registered for this class yet (otherwise the class cannot be deleted) Owner: o The owner shall login before using the system (assume the owner already has his data in the system) o The owner shall have all the privileges trainers have (see Trainers requirements) o The owner can reserve as many room time slots as he wants (is not limited by 5 as trainers) o The owner can register trainers by entering the information the trainer provided in their paper application (trainers then pay the owner a monthly fee do not model this). Trainers will get a message from the system with their password) o The owner can delete trainers, if he sees fit. o The owner can delete classes (even if they are not his own) even if customers are registered, the customers/trainer will be informed. Customers o Customers shall sign up for an account via the web portal by entering their: Name Email address Password o The customer can then login to use the system o Customers shall be allowed to purchase any number of hours to spend on classes o Customers can sign up for a scheduled class (register for class) by entering: Their email address The class ID of the class they want to attend The system shall send lack of hours error message to a customer attempting to sign up for a class if that customer possesses no hours to spend on classes The customer shall NOT be able to sign up for a class they are already signed up for The system shall display a class is full error message if the class already has 6 participants In any other case the customer registers successfully for a class and the system shall deduct a class hour from a customer, the trainer of the class will be informed that a customer signed up o Customers can cancel classes o Customers shall be able to view their complete history of classes they attended
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
