- Introduction
- Functional Requirements
- Non-functional requirements
- Actors of the system
- Schemas
- Software Architecture
The Room Booking Application is a system that let users to book university classrooms and laboratories. This application is thought for teachers who need a classroom for seminaries or lectures and for the students who need workstations in the laboratories.
The application has the following functional requirements:
- A user shall be able to log in as a
teacher
, astudent
or anadministrator
. - A
teacher
shall be able to search for the available classrooms. - A
student
shall be able to search for the available laboratories. - A
teacher
shall be able to book a classroom in a specified schedule. - A
student
shall be able to book a laboratory workstation for all the day. teachers
andstudents
shall be able to modify or delete their bookings.- An
administrator
shall be able to insert a new classroom or a new laboratory and eventually the corresponding building into the system. - An
administrator
shall be able to insert a new student or a new teacher into the system. - The system shall provide an interface for the user to read a list of available rooms and book one of them.
- The system shall provide an interface for the user to read the rooms booked by him and may update or delete a booking.
The application has the following non-functional requirements:
- The application must be written in Java.
- The application must be run once at time.
- The set, update and delete operations on the database must be atomic.
- The classrooms and the laboratories can be booked only for the day after.
- The classroom can be booked only for two different schedules in the day: Morning, Afternoon.
- The classroom in a specified schedule can be booked by only one teacher.
- The classrooms, laboratories and buildings in the system can't be deleted from the system.
- Users must be identified by email.
- Teachers' emails must belong to the [at] university domain.
- Students' emails must belong to the [at] studenti [dot] university domain.
- Administrator's email must belong to the [at] admin [dot] university domain.
The system actors are divided in tree kinds of users.
- Administrator: the person that can add new rooms and buildings in the system.
- Teacher: the person that can book classrooms.
- Student: the person that can book laboratories.
The following use cases are identified:
The choose schedule
is specified as a extend
because only the teacher
users can choose the part of the day (Morning, Afternoon) in which they want to book the classroom.
The following classes are identified:
The application is standalone, mono-process and single-thread. The application is multi-layer. A data access layer carries out the communication with the database layer and all the operations related to the data management: insert, read, update and delete. A user interaction layer carries out the interaction with the user and the communication with the data access layer below.