Professional Documents
Culture Documents
Tools Ass Dox
Tools Ass Dox
Faculty of Computing
Poly campus
Course title:
Software Enginnering tools and practices
Course code:
sEng2052
Title of the project:
Proctor Management System
User management: Ability to create, edit, and delete user accounts for students, staff, and
administrators
Room allocation: Ability to assign rooms to students and keep track of room occupancy
and availability
Attendance tracking: Keep record of student attendance, including early departures and
late arrivals
Meal management: Ability to manage meal schedules and keep track of meal
consumption
Financial management: Keep track of student fees and other expenses, and generate
invoices and reports.
Emergency alerts: Ability to send out emergency alerts and notifications to students,
staff, and administrators in case of any emergency
Access control: Ability to control access to different parts of the building, such as
common areas and private rooms, using smart card systems or other means
Event management: Ability to schedule and manage events, including scheduling of
common spaces and arranging for necessary equipment
Data security: Ensure data security and privacy, with secure storage and transfer of
sensitive information such as student personal and financial
Adminstrator
As an administrator, I want to be able to create, edit, and delete user accounts for
students, staff, and administrator so that I can manage the users in the system
As an administrator, I want to be able to control access to different parts of the building
using smart card systems or other means so that I can ensure the security of the building
Teacher
As a teacher, I want to be able to view the attendance records of my students,
including early departures and late arrivals, so that I can keep track of their
attendance.
Student
As a student, I want to be able to view my room assignment and the occupancy
status of other rooms so that I can know which rooms are available.
As a student, I want to be able to view my meal schedule and keep track of my
meal consumption so that I can know what meals I have already consumed
As a student, I want to receive emergency alerts and notifications in case of any
emergency so that I can stay informed and prepared.
As a student, I want to know that my personal and financial information is being
stored and transferred securely so that my privacy and data security is protected
Financial manager
As a financial manager, I want to be able to keep track of student fees and other
expenses, generate invoices and reports so that I can manage the finances of the
institution,
Maintenance worker
As a maintenance worker, I want to be able to view and manage maintenance
requests and be assigned tasks so that I can efficiently perform my job.
From these requirements we have the following classes and the attributes
Classes
User: name, username, password, role (student, staff, administrator), email, phone
number
Room: room number, occupancy status (occupied, unoccupied), type (single, double,
etc.).
Attendance: date, student name, arrival time, departure time.
Meal: date, student name, meal type (breakfast, lunch, dinner), consumption status
(consumed, not consumed).
Financial: student name, fee type (tuition, accommodation, etc.), amount, invoice
number, payment status (paid, not paid)
Emergency Alert: message, recipient list (students, staff, administrators), sent status
(sent, not sent).
Access Control: user name, room number, access status (granted, denied), time
Maintenance: request number, request type (electrical, plumbing, etc.), request status
(completed, not completed), staff assigned.
Event: event name, date, time, location, equipment required.
Data: data type (student personal information, financial information), data status (private,
public).
Attributes
User: name, username, password, role, email, phone number
Room: room number, occupancy status, type.
Attendance: date, student name, arrival time, departure time.
Meal: date, student name, meal type, consumption status.
Financial: student name, fee type, amount, invoice number, payment status.
Emergency Alert: message, recipient list, sent status.
Access Control: user name, room number, access status, time.
Maintenance: request number, request type, request status, staff assigned.
Event: event name, date, time, location, equipment required.
Data: data type, data status.
CLASSDIAGRAM
This use case diagram represents the different actors and their interactions with a system that
supports tasks related to classes such as managing user information, room occupancy,
attendance, meals, financial information, emergency alerts, access control, maintenance requests,
events, and data. It shows the relationships between the actors and the system, and defines the
functionalities required to support their tasks.
The relationship between the classes
o User has many Attendances, Meals, Financials, Access Controls, and Emergencies Room
has many Attendances and Access Controls
o Attendance belongs to a User
o Meal belongs to a User
o Financial belongs to a User
o Emergency Alert has many recipients
o Access Control belongs to a User and Room
o Maintenance has one staff assigned
o Event has many attendees and equipment requirements
o Data belongs to a User or Room
o The static nature of a class refers to its attributes or methods that don't change, regardless
of the number of objects created from the class. Static attributes or methods belong to the
class, rather than to the instances of the class
o On the other hand, the dynamic nature of a class refers to its attributes or methods that
can change or be manipulated for each instance of the class. Dynamic attributes or
methods are specific to each instance and can vary from one instance another
o For example, in the class "Room", the room number is a static attribute, as it is the same
for all instances of the class, while the occupancy status is a dynamic attribute, as it can
change for each instance
o In conclusion, the static nature of a class is about the unchanging characteristics and the
dynamic nature of a class is about the characteristics that can change for each instance