-
Notifications
You must be signed in to change notification settings - Fork 3
UML Domain Model
Compared to 3.0, we updated:
- frequency : Integer attribute inside Service Class
- status : Status attribute inside Appointment Class
From our first model, version 1.0, we initially had a total of 12 classes. AutoRepairShop was the root class that would contain every other entity of our model. Furthermore, another important class in our model is our Profile class that was made abstract. This allowed us to then use this abstract class as a generalization for our Customer, Owner, Assistant and Technician classes. Moreover, to finish off the diagram, we have an Appointment, Service, Schedule, Account, and Timeslot class.
In version 2.0, we added a few classes as well as removing some. Indeed, the Account class, and the Schedule class were removed, but the Invoice, DailyAvailability, and CompanyProfile were added. To continue, a DayOfWeek enumeration was added and the previous Owner and Assistant classes from version 1.0 were merged together in one class, as explained briefly below.
Finally, in our current version, we added an autoRepairShopID attribute to our AutoRepairShop class, as well as modifying all composition links to unilateral composition links, which was deemed as a team to be more effective when wanting to develop our code.
Profile Related:
- A profile is considered an account if the password is not null.
- The owner and the administrative assistants have the same type of profile named "Admin", but the owner will have a special identifier(isOwner boolean).
- All technician accounts will be created by an Admin account during the operation of the system.
- An admin account is allowed to help the call-in customers create an account in the system. An account created this way can be labeled as "not registered" (isRegisteredAccount Boolean).
Technician Related:
- The system allows the technicians to indicate their daily availabilities in a working week in order to help the system manage appointments.
Appointment Related:
- The system manages the booking process and allows the customers to check the available time for scheduling an appointment. Upon successful booking, the system will send notifications to the paired customer/technician.