KEMBAR78
Web Based Classrom Scheduling System For Hu | PDF | Databases | Usability
0% found this document useful (0 votes)
4 views100 pages

Web Based Classrom Scheduling System For Hu

Uploaded by

philiposkebe
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views100 pages

Web Based Classrom Scheduling System For Hu

Uploaded by

philiposkebe
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 100

1

Declaration

We, the undersigned students of Hawassa University, declare that this Final Year
Project report entitled "Web based Classroom Scheduling System for Hawassa
University" is the result of our own work. The report is submitted for the
fulfillment of the requirements for our Final Year Project in the Information
Technology (BEd)

1. Philipos Kebe Signature: ______________

2. Habtamu Girma Signature: ______________

3. Tadele Hordofa Signature: ______________

4. Dilang lol bidit Signature: ______________

We affirm that this work has not been submitted elsewhere for any other academic
purpose, and the sources of information used have been duly acknowledged.

Date: January 27, 2025

i
Approval

This is to certify that the Final Year Project report entitled "web based Classroom
Scheduling System for Hawassa University" has been reviewed and approved for
submission by the following mentor:

Mr. Werkineh Eshete


Advisor, Hawassa University

Examiner 1: ______________ Signature: __________ Date: __________

Examiner 1: ______________ Signature: __________ Date: __________

Examiner 1: ______________ Signature: __________ Date: __________

Acknowledgment

First and foremost, we would like to extend our heartfelt thanks to God, who has
blessed us with love, patience, health, wisdom, and the strength to overcome all the
challenges and obstacles that we faced during the course of our studies. It is with
His grace that we have been able to successfully navigate this academic journey,
and we are forever grateful for the continuous support.

We are deeply grateful to our advisor, Mr. Werkineh Eshete, for his unwavering
guidance and invaluable input throughout the course of this project. His
ii
constructive opinions, keen insights, and willingness to engage with us at every
stage of the process have been instrumental in shaping the direction of this work.
His expertise and thoughtful feedback have significantly contributed to the quality
and depth of our research, and we are truly fortunate to have had the opportunity to
work under his mentorship.

We would also like to extend our sincere appreciation to all the faculty members
and teaching staff of the Information Technology department. Their dedication to
teaching, commitment to academic excellence, and the skills they have imparted to
us have been vital in the completion of this project. The knowledge and skills
gained from their courses laid a strong foundation for us to approach this project
with confidence and clarity.

Furthermore, we owe a debt of gratitude to our families and friends. Their


continuous support, understanding, and encouragement, both academically and
personally, have been a source of motivation for us throughout this journey. Their
belief in us has been a source of strength, and their sacrifices have made it possible
for us to complete this project.

In addition, we would like to express our appreciation to all those who provided us
with assistance and resources, as well as to the administrative and technical staff
for their help with various aspects of the project. Without their contributions, this
project would not have been as successful as it has been.

Lastly, we acknowledge the importance of the positive and collaborative


environment created by our peers and colleagues, whose teamwork, input, and
support helped us stay focused and motivated through every stage of the project.

iii
To everyone who has contributed in any way, we express our deepest thanks. Your
support and guidance have made this achievement possible, and we are truly
grateful for each and every one of you.

Abstract

This project document presents the development of the Classroom Scheduling


System for Hawassa University. The report covers the project proposal, system
analysis, design, implementation methodology, testing, maintenance, deployment,
and partial conclusions and recommendations. The proposed system is designed to
manage and automate the scheduling process for classrooms and lab resources
within the university.

The Classroom Scheduling System aims to provide an efficient and effective


solution for managing course schedules, faculty assignments, and room allocations.
The system will help eliminate scheduling conflicts, improve resource utilization,
and reduce administrative workload. It features a user-friendly web interface for
Department Heads, instructors, students, and facilitators to access schedules,
provide feedback, and assign resources.

In the design and analysis of the system, object-oriented design and analysis tools
and techniques have been employed. This approach ensures modularity, flexibility,
and ease of maintenance. The system is expected to greatly enhance the
university's ability to manage classroom resources while ensuring accurate and up-
to-date scheduling.

iv
Acronyms

 DBMS - Database Management System


 RDBMS - Relational Database Management System
 UI/UX - User Interface/User Experience
 CRUD - Create, Read, Update, Delete
 SQL - Structured Query Language
 API - Application Programming Interface
 MVC - Model-View-Controller
 JDBC - Java Database Connectivity
 ECTS - European Credit Transfer and Accumulation System
 Crh - Credits per hour
 Lec - Lecture
 Tut - Tutorial
 LA - Lab Assistant
 IN - Instructor
 ID - Identifier
 MySQL - My Structured Query Language
 PHP - Hypertext Preprocessor
 CRUD - Create, Read, Update, Delete
 HTML - HyperText Markup Language
 CSS - Cascading Style Sheets
 JS - JavaScript
 JSON - JavaScript Object Notation
 XML - eXtensible Markup Language

v
List of Tables

1. Table 1: Cost Estimation ..............................................................................12


2. Table 2: Project Timeline .................................................. .....................13
3. Table 3: Use Case Table Login ......................................... .....................27
4. Table 4: User/Account Management .....................................................28
5. Table 5: View Schedules .......................................................................29
6. Table 6: Provide Feedback/Comments .................................................30
7. Table 7: Manage Instructors ...................................................................31
8. Table 8: Manage Courses .......................................................................32
9. Table 9: Generate Schedules ..................................................................34
10. Table 10: View Feedback .........................................................................35
11. Table 11: Print Schedules .......................................................................... 36
12. Table 12: Share Schedules .........................................................................37
13. Table 13: Process View ...............................................................................61
14. Table 14: Department Head ......................................................................70
15. Table 15: Department ...............................................................................70
16. Table 16: Student ......................................................................................71
17. Table 17: Instructor ..................................................................................71
18. Table 18: Lab Assistant ..........................................................................72
19. Table 19: Instructor List .......................................................................73
20. Table 20: Lab Assistant List ....................................................................73
21. Table 21: Course ................................................................................74
22. Table 22: Schedule ...........................................................................75
23. Table 23: Facilitator ...........................................................................76
24. Table 24: Classroom ..........................................................................77
25. Table 25: Lab Room ..............................................................................77

vi
List of Figures

1. Figure 1: Use Case Diagram .............................................................................................25


2. Figure 2: Sequence Diagram for Login ............................................................................38
3. Figure 3: Sequence Diagram for Department Head .........................................................39
4. Figure 4: Sequence Diagram for Resource (Classroom and Lab) Allocation ..................40
5. Figure 5: Sequence Diagram for User Management ........................................................41
6. Figure 6: Sequence Diagram for View Schedule and Feedback .......................................42
7. Figure 7: Activity Diagram for Login ............................................................................44
8. Figure 8: Activity Diagram for Feedback ........................................................................45
9. Figure 9: Activity Diagram for Department Head ...........................................................46
10. Figure 10: Activity Diagram for Facilitator .....................................................................47
11. Figure 11: Class Diagram ...............................................................................................49
12. Figure 12: Login as Page .................................................................................................50
13. Figure 13: Login Page .......................................................................................................51
14. Figure 14: Schedule Generation Page ..............................................................................52
15. Figure 15: Feedback Page .................................................................................................53
16. Figure 16: Architectural Design ........................................................................................58
17. Figure 17: Logical View of the Architecture ....................................................................59
18. Figure 18: Process View ...................................................................................................62
19. Figure 19: Deployment View ...........................................................................................63
20. Figure 20: Entity-Relationship (ER) Model .....................................................................66
21. Figure 21: Entity-Relationship (ER) Diagram ................................................................68
22. Figure 22: Relational Mapping .......................................................................................80

vii
Table of Contents
Declaration .............................................................................................................. i
Approval .................................................................................................................... ii
Acknowledgment ...................................................................................................... iii
Abstract ..................................................................................................................... iv
Acronyms ................................................................................................................... v
List of Figures ............................................................................................................ vii
List of Tables ............................................................................................................. vi

CHAPTER ONE: INTRODUCTION ....................................................................... 1


1.1 Introduction ................................................................................................................. 1
1.2 Statement of the Problem ......................................................................................... 2
1.3 Objectives of the Project ........................................................................................... 3
1.3.1 General Objective .............................................................................................. 4
1.3.2 Specific Objectives ............................................................................................ 4
1.4 Scope of the Study .................................................................................................... 5
1.5 Limitations of the Study ............................................................................................ 6
1.6 Methodology .............................................................................................................. 6
1.6.1 Data Collection Methodology ......................................................................... 6
1.6.2 System Analysis and Design .......................................................................... 7
1.6.3 System Implementation .................................................................................. 8
1.6.4 Testing and Deployment ................................................................................ 9
1.6.5 Development Environment ............................................................................. 9
1.6.6 Feasibility Study .............................................................................................. 9
1.6.7 Cost Estimation and Schedule Breakdown ................................................. 10

CHAPTER TWO: DESCRIPTIONS OF THE EXISTING SYSTEM .................. 14


2.1 Introduction to the Existing System ...................................................................... 14
2.2 Proposed System Description ................................................................................. 16
2.3 Strength of the Existing System .............................................................................. 18
2.4 Weakness of the Existing System .......................................................................... 19

CHAPTER THREE: SYSTEM FEATURES ........................................................ 20


3.1 Introduction ............................................................................................................. 20
3.1.1 User Requirement Definition ......................................................................... 20
3.1.2 System Requirements Specification ............................................................ 21
3.2 Functional Requirements ....................................................................................... 21
3.3 Non-Functional Requirements .............................................................................. 22
3.4 Analysis Model ....................................................................................................... 23
3.4.1 System Analysis Models ............................................................................... 23
3.4.2 Use Case Diagram ........................................................................................ 24
3.4.3 Sequence Diagram ....................................................................................... 37
3.4.4 Activity Diagram ........................................................................................... 43
3.4.5 Class Diagram .............................................................................................. 48
3.4.6 User Interface Prototyping ........................................................................... 49

CHAPTER FOUR: SYSTEM DESIGN ............................................................... 54


4.1 Introduction ............................................................................................................. 54
4.2 Purpose of the System Design Document ............................................................ 55
4.3 Design Scope .......................................................................................................... 56
4.4 Architectural Design ............................................................................................... 57
4.4.1 Logical View of the Architecture .................................................................. 58
4.4.2 Process View ................................................................................................. 59
4.4.3 Deployment View ......................................................................................... 62
4.5 Database Design ..................................................................................................... 64
4.5.1 Conceptual Design ....................................................................................... 64
4.5.2 Logical Design .............................................................................................. 64
4.5.3 Physical Design ............................................................................................. 65
4.5.4 Entity-Relationship (ER) Model .................................................................... 65
4.5.5 Normalization ............................................................................................... 80

CHAPTER FIVE: CONCLUSION AND RECOMMENDATION ........................... 83


5.1 Conclusion ............................................................................................................... 83
5.2 Recommendation .................................................................................................... 83

Appendices .............................................................................................................. 84
References ............................................................................................................... 90
CHAPTER ONE: INTRODUCTION
1.1 Introduction
The rapid advancement of technology is reshaping the way we live and work, influencing
various aspects of our lives and industries. From healthcare and education to communication and
commerce, technology has become integral to achieving efficiency, accuracy, and convenience
in numerous domains. Educational institutions, in particular, have embraced technology to
streamline administrative processes, enhance learning experiences, and optimize resource
management.

One significant area where technology can create a substantial impact is classroom scheduling. A
well-managed schedule ensures the efficient allocation of resources, prevents conflicts, and
contributes to a smooth academic experience. However, traditional manual scheduling methods
are time-consuming, prone to errors, and often lead to overlapping sessions or underutilized
resources.

At Hawassa University, scheduling classrooms remains a manual process, which results in


inefficiencies and scheduling conflicts. This challenge has inspired the development of a web-
based Classroom Scheduling System. This system is designed to automate and optimize the
scheduling process, providing faculty members with a reliable tool to generate conflict-free
schedules. By leveraging advanced algorithms, the system ensures accuracy and efficiency,
thereby addressing the limitations of the current manual process and improving overall resource
management.

1.1.1 Background of the Study


Scheduling conflicts and inefficient allocation of resources, such as classrooms and laboratories,
are persistent problems faced by universities worldwide. These issues not only lead to frustration
for students and staff but also cause significant inefficiencies in the use of valuable university
facilities. At Hawassa University, the current system for managing course schedules and room
assignments is either manual or semi-automated, leading to challenges such as overlapping
schedules, insufficient classroom availability, and the inability to quickly make adjustments.

1|Page
Department heads at the university are responsible for providing course details, such as lecture
times, lab schedules, and room requirements. However, the lack of an integrated system to
efficiently handle this information has led to a cumbersome and time-consuming scheduling
process. Faculty members and students also face difficulties in accessing real-time schedule
updates, resulting in confusion and missed classes or lab sessions.

The absence of an effective scheduling system has placed additional burdens on administrative
staff, requiring them to manually resolve conflicts and manage last-minute changes. As the
student population and the number of courses offered continue to grow, these challenges are
expected to increase, making it clear that an automated and more efficient system is necessary.

The proposed Classroom Scheduling System aims to automate the process of scheduling,
providing a conflict-free and user-friendly interface for department heads, staff, and students.
The system will allow department heads to input course, lecture, and lab information, while
enabling staff and students to view schedules and leave comments for improvement.
Additionally, it will streamline the allocation of classrooms and laboratories, optimizing resource
usage and reducing administrative workload.

The development of this system is expected to significantly improve the scheduling process at
Hawassa University, making it more efficient, accessible, and transparent for all stakeholders
involved. By leveraging technology, the university will be better equipped to meet the growing
demands of its academic programs and ensure the optimal use of its physical resources.

1.2 Statement of the Problem


The scheduling process at Hawassa University, particularly concerning classroom and laboratory
allocations, has become increasingly complex and inefficient due to the growing number of
students and academic programs. The university currently relies on a semi-manual system to
manage course schedules, lab assignments, and classroom availability. This method often results
in scheduling conflicts, misallocations, and the underutilization of resources, ultimately
hindering the smooth operation of academic activities.

Background of the Problem: The current scheduling system at Hawassa University


involves department heads manually entering course details, which are later processed to

2|Page
generate schedules. However, this system does not have an integrated framework for room
allocation or conflict resolution. As the student body grows and new courses and programs are
introduced, the existing system struggles to keep up with the demand for efficient space
management. Faculty members and students face difficulties accessing accurate and real-time
updates, which further compounds the issue. Additionally, manual updates to schedules and
room assignments can lead to confusion, missed classes, or unnecessary delays in scheduling
adjustments.
Anchor: The need to address these issues is crucial for ensuring the effective use of university
resources. The absence of a real-time, automated scheduling system has led to an inefficient
allocation of classrooms and laboratories, as well as a high administrative burden. According to
internal reports, nearly 15% of classroom sessions at Hawassa University are disrupted due to
scheduling conflicts. This not only affects the academic experience of students and staff but also
wastes valuable resources.

General Problem: Inefficient scheduling systems and resource management are common
challenges faced by educational institutions worldwide. Without an automated system to
streamline class schedules, universities risk wasting valuable classroom space, overburdening
administrative staff, and creating confusion among students and faculty. At Hawassa University,
these issues result in frustrated students, strained staff, and a significant loss of productivity.

Specific Problem: The manual scheduling process currently used by Hawassa University
affects a specific population—the department heads, administrative staff, faculty, and students.
Department heads struggle with the manual input of course details and room assignments, while
faculty members and students face difficulties in accessing accurate schedules in real time.
Additionally, the absence of a streamlined system has made it difficult for the university to
allocate classrooms and laboratories efficiently, often resulting in conflicts between courses and
sessions. This project aims to address these specific problems by automating the scheduling
process, thereby improving the management of resources and ensuring a more efficient and user-
friendly experience for all stakeholders.

1.3 Objectives of the Project


3|Page
The objectives of this project outline the overarching goal and specific steps needed to develop a
Classroom Scheduling System for Hawassa University. This system aims to address the
challenges posed by the current manual scheduling method, ensuring an efficient, conflict-free
allocation of classrooms and laboratories for courses, lectures, and labs. The objectives are
framed using the S.M.A.R.T. criteria to ensure clarity and feasibility.

1.3.1 General Objective


The general objective of this project is to design and implement an automated Classroom
Scheduling System for Hawassa University to enhance the management of classroom and
laboratory assignments, minimize scheduling conflicts, and improve the overall efficiency of
space utilization.

1.3.2 Specific Objectives


 To develop an automated system that allows department heads to input course schedules and
allocate classrooms and laboratories based on availability.

o This will address the current manual process, reducing the administrative burden and minimizing
human errors.
 To implement a conflict resolution mechanism within the system that ensures no overlap in
classroom and laboratory allocations.

o The system will automatically detect conflicts and suggest alternative solutions, making the
scheduling process smoother and more reliable.
 To design an intuitive user interface that allows staff and students to easily view and interact
with the schedules.

o Ensuring ease of use will help faculty and students access up-to-date information, minimizing
confusion and improving communication.
 To create a reporting feature that allows department heads to generate and share printed
schedules for courses, labs, and lectures.

o This will streamline the process of sharing important scheduling information within the
university.

4|Page
 To integrate a feedback mechanism that enables faculty and students to leave comments on the
schedules.

o This will provide an avenue for continuous improvement of the system based on user input.
These objectives focus on improving the scheduling process at Hawassa University by
addressing specific issues such as manual errors, resource underutilization, and accessibility. The
project will result in a more streamlined and efficient process that benefits both administrative
staff and students.

1.4 Scope of the Study


The scope of this project is centered around the design and implementation of a Classroom
Scheduling System at Hawassa University. The system is intended to automate and streamline
the process of scheduling lectures and lab sessions, addressing the challenges associated with the
current manual system. This project will focus specifically on the allocation of classrooms and
laboratory spaces for various courses offered at the university, ensuring that schedules are
conflict-free and resources are optimally utilized.

The study will cover the following areas:

 Development of a Department Head Interface: The system will allow department heads to input
course details, including lecture and lab schedules, and assign available classrooms and labs.

 Staff and Student Access: Staff and students will be able to view the schedules, making it easier
for them to plan their activities and avoid conflicts.

 Conflict Resolution Mechanism: The system will include functionality to detect and resolve
scheduling conflicts automatically.

 User-Friendly Interface: The system will be designed to be easy to navigate for all users,
ensuring smooth interaction with the scheduling data.

 Reporting Feature: The system will include a reporting tool that allows department heads to print
and share schedules with relevant parties.

5|Page
1.5 Limitations of the Study

While this project aims to provide an efficient solution for classroom and lab scheduling, there
are several limitations to be acknowledged:

 Lack of Integration with Other University Systems: The system will operate independently and
will not be connected to other existing university systems such as SIS.

 No consideration for Teacher Preferences: The system will not incorporate individual teacher
preferences for class schedules, focusing solely on course, lab, and room availability.

 Limited Room Capacity Considerations: The scheduling system will not factor in specific room
capacities or preferences for particular classrooms or labs, which may lead to occasional
inefficiencies in room allocation.

 Time Constraints: The project will be completed within the limited timeframe of the final year,
which may restrict the depth of testing and refinement.

 No Direct Feedback Mechanism During Development: While there will be a feedback feature for
users, real-time feedback from actual users (such as faculty) during the development phase will
be limited.

These limitations have been acknowledged and will be addressed to the extent possible within
the scope and timeframe of the project. Additionally, they provide an opportunity for future
improvements and research.

1.6 Methodology

The methodology for this project focuses on systematically addressing the problem of classroom
scheduling at Hawassa University. It encompasses the processes of data collection, system
analysis and design, implementation, testing, and deployment. This iterative approach will
ensure that the system is efficient, user-friendly, and aligned with the specific needs of the
university's scheduling requirements.

1.6.1 Data Collection Methodology

6|Page
To gather relevant information for the project, a variety of data collection techniques will be
employed:

 Interviews: Conducting in-depth interviews with department heads, faculty members,


and students. Interview questions will focus on:
o Current scheduling challenges and pain points.
o Desired features and functionalities of the new system.
o Preferred methods for accessing and interacting with schedules.
o Concerns and potential barriers to system adoption.
 Observations: Observing the current scheduling processes within the university,
including how department heads manage schedules, how faculty and students access
scheduling information, and how administrative staff handle scheduling conflicts.
 Document and Record Analysis: Reviewing existing scheduling documents, class
timetables, academic calendars, and university policies to understand current practices
and identify areas for improvement.
 Surveys: Conducting online surveys to gather quantitative data from a larger sample of
students, faculty, and staff regarding their scheduling preferences, satisfaction with the
current system, and expectations for the new system.

These techniques will ensure that the system is developed based on real, current problems faced
by users and addresses specific issues identified during the research phase.

1.6.2 System Analysis and Design

 Requirements Gathering:
o Detailed requirements will be gathered from stakeholders (department heads,
faculty, students, and administrators) through interviews, surveys, and workshops.
o Both functional and non-functional requirements will be documented.
o Functional requirements will define the specific tasks and operations the system
must perform.
o Non-functional requirements will define the system's quality attributes, such as
performance, security, usability, and maintainability.

7|Page
 System Design:
o A high-level system architecture will be designed, outlining the major
components of the system and their interactions.
o Data flow diagrams will be created to illustrate the flow of information within the
system.
o User interface (UI) and user experience (UX) design will be conducted,
considering user needs and preferences.
o Database schema will be designed to effectively store and manage all relevant
data.
 Use Case Diagrams: Use case diagrams will be developed to model the interactions
between users and the system, identifying the different roles and their associated
functionalities.
 Prototyping: Low-fidelity and high-fidelity prototypes of the user interface will be
created and iteratively refined based on feedback from stakeholders.

1.6.3 System Implementation

The Classroom Scheduling System will be implemented using a combination of:

 Frontend: React, a JavaScript library for building user interfaces, will be used to create a
dynamic and responsive user experience for all stakeholders.
 Backend: Java Spring Boot, a popular framework for building RESTful APIs, will be
used to handle backend logic, database interactions, and system functionalities.
 Database: MySQL, a widely used relational database management system, will be
employed to store and manage all system data, including courses, schedules, users, and
feedback.

Key steps in the implementation process will include:

 Development: The development team will follow agile principles, working in iterative
sprints to develop and test specific functionalities.
 Coding: Code will be written in accordance with best practices, adhering to coding
standards and utilizing version control systems like Git.

8|Page
 Testing: Rigorous testing will be conducted throughout the development process,
including unit testing, integration testing, and system testing.
 Deployment: The system will be deployed to a secure server environment within the
university's network, ensuring data security and accessibility for all authorized users.

1.6.4 Testing and Deployment

 Unit Testing: Individual components of the system (e.g., individual functions, classes)
will be tested to ensure they function as expected.
 Integration Testing: Different components of the system will be integrated and tested
together to ensure they work seamlessly as a whole.
 System Testing: The entire system will be tested to ensure it meets the specified
requirements and performs as expected under various conditions.
 User Acceptance Testing (UAT): A selected group of users (department heads, faculty,
students) will test the system in a real-world environment and provide feedback.
 Deployment: The system will be deployed to a secure server environment within the
university's network.
 Post-Deployment Monitoring: The system's performance will be continuously
monitored, and any issues or bugs will be addressed promptly.

1.6.5 Development Environment

 Frontend (React): Visual Studio Code with necessary extensions (ESLint, Prettier,
React Developer Tools).
 Backend (Java Spring): IntelliJ IDEA with Spring Boot DevTools.
 Database (MySQL): MySQL Workbench or DBeaver.
 Version Control: Git (e.g., GitHub) for collaborative development and code
management.

1.6.6 Feasibility Study

9|Page
A feasibility study assesses the practicality and viability of a project by analyzing various factors
that influence its success. For the Classroom Scheduling System, we examined three critical
feasibility aspects to determine its potential for successful implementation:

 Technical Feasibility:
o The necessary technical resources and expertise are available within the university
or can be acquired through external resources.
o The chosen technologies (React, Java Spring, MySQL) are widely used, well-
supported, and suitable for the project requirements.
 Operational Feasibility:
o The system aligns with the existing operational workflows within the university.
o The system will be effectively integrated into the existing university environment.
o User acceptance and adoption of the system are anticipated to be high due to the
improved efficiency, reduced errors, and enhanced user experience it offers.
o The university's IT infrastructure can adequately support the system's hardware
and software requirements.
 Economic Feasibility:
o The development and maintenance costs of the system are reasonable and within
the university's budget.
o The system is expected to generate significant benefits, such as:
 Reduced administrative overhead due to automated scheduling processes.
 Improved resource utilization by minimizing scheduling conflicts and
maximizing classroom occupancy.
 Increased student and faculty satisfaction due to improved scheduling
transparency and accessibility.
 Enhanced operational efficiency and productivity within the university.

1.6.7 Cost Estimation and Schedule Breakdown

 Development Costs:
o Software and hardware costs (if any)
o Developer salaries and other personnel costs

10 | P a g e
o Costs of training and workshops
 Maintenance Costs:
o Ongoing software maintenance and updates
o Hardware and infrastructure maintenance
o Costs of technical support

Cost estimation table

Item Description Cost


Hardware & Software Costs associated with hardware 5,000 - 10,000 birr
(servers, workstations) and software
licenses (operating systems,
development tools, database software)

Training & Workshops Costs associated with training for 1,000 - 3,000 birr
developers, end-users, and any
required workshops or certifications
Contingency Budget reserved for unforeseen 3,500 - 7,500 birr
expenses and potential risks

Software Maintenance & Updates Costs associated with software 1,000 - 3,000 birr
updates, bug fixes, and security
patches
Hardware & Infrastructure Costs associated with server 500 - 2,000 birr
Maintenance maintenance, network maintenance,
and infrastructure upgrades

11 | P a g e
Technical Support Costs associated with providing 1,000 - 2,000 birr
technical support to end-users

Total Annual Sum of all Cost 12,000 - 27,500


Birr

Table 1: cost estimation

Project Timeline

1. Proposal
o Initial setup and research
o Define project scope and objectives
o Finalize methodology and feasibility study

2. Analysis
o Requirements analysis (functional and non-functional)
o User stories for all roles
o Hardware and software requirements analysis

3. Design
o UI/UX wireframes and database schema design
o Refine designs and system architecture

4. Implementation
o Frontend development (React)
o Backend development (Spring Boot, MySQL)

12 | P a g e
o Integration of frontend and backend

5. Testing
o Unit, integration, and system testing

6. Finalize
o Debugging and final system deployment

No. Task First Month Second Third Month Fourth Fifth Sixth Seventh
Month Month Month Month Month
week 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
1 Proposal
2 Analysis
3 Design
4 Implementation
5 Testing
6 finalize

Table 2: project timeline

13 | P a g e
Chapter Two: Descriptions of the Existing System

2.1 Introduction to the Existing System

At Hawassa University, the current classroom scheduling process is predominantly manual.


Department heads collect course information, including lecture and lab details, along with
student enrollment numbers. This data is then used to assign classrooms and laboratories,
typically managed through spreadsheets or paper-based schedules. Once finalized, these
schedules are printed and disseminated to staff and students via notice boards or departmental
announcements.

While this traditional approach has served its purpose, it presents several challenges as the
university expands. The increasing number of courses, students, and faculty has rendered the
manual scheduling process cumbersome and prone to errors. Common issues include
overlapping class schedules, underutilized facilities, and delays in communicating schedule
changes to stakeholders.

Furthermore, the lack of a centralized, interactive platform limits accessibility for both staff and
students. Staff members often lack an efficient method to provide feedback on schedules, while
students face difficulties accessing accurate, up-to-date information about their classes. This
fragmented communication can lead to confusion, dissatisfaction, and disruptions in academic
activities.

To address these challenges, many institutions are adopting automated scheduling systems that
streamline processes, optimize resource utilization, and enhance accessibility for all
stakeholders.

Problem Statement/Identification of the Problem

The current manual classroom scheduling system at Hawassa University poses significant
challenges for effective management and resource allocation. Department heads rely on outdated
methods such as spreadsheets and paper-based schedules to organize courses, allocate

14 | P a g e
classrooms, and communicate schedules to students and staff. This approach has become
increasingly inadequate as the university expands and academic demands grow more complex.

Key issues include frequent scheduling conflicts where courses overlap due to errors in manual
data handling. These conflicts disrupt classes, create confusion among students, and complicate
the workload for instructors. Additionally, the system lacks optimization for facility usage,
leading to underutilized classrooms or overcrowded lab sessions.

For students and staff, the absence of a centralized, accessible platform means schedule updates
and changes are often delayed or poorly communicated. This can result in missed classes, wasted
time, and general dissatisfaction with the academic experience.

While manual scheduling has been the traditional approach, it cannot accommodate the
increasing scale and complexity of modern university operations. Addressing these problems is
critical to ensuring efficient academic planning and enhancing the educational experience at
Hawassa University.

Objectives

The Classroom Scheduling System aims to enhance the academic scheduling process at Hawassa
University by addressing key challenges in the current manual system. The primary objectives
are:

1. Efficient Scheduling for Department Heads


o Provide tools for easy input of course details, lecture schedules, and lab section
management.
o Automatically allocate classrooms and labs based on course requirements and
available resources.
o Generate accurate and conflict-free schedules with minimal manual intervention.
2. Improved Access for Staff and Students
o Provide staff and students with a centralized platform to view and access
schedules.

15 | P a g e
o Allow staff to leave feedback on schedules, ensuring any conflicts or issues are
addressed promptly.
o Enable students to view their schedules online, reducing reliance on paper-based
communication.
3. Conflict Resolution and Resource Optimization
o Identify and resolve scheduling conflicts automatically, minimizing the chances
of overlapping classes.
o Optimize the use of classrooms and labs by ensuring efficient allocation based on
course demand and available facilities.
o Provide department heads with the ability to review and adjust schedules easily as
needed.
4. Enhanced Communication and Collaboration
o Provide a platform where department heads, staff, and students can share
information and provide feedback.
o Ensure updates on schedule changes are communicated effectively to all
stakeholders.
o Eliminate the need for manual distribution of schedules and ensure that all
participants have up-to-date information.

2.2 Proposed System Description

The proposed Classroom Scheduling System aims to address the inefficiencies and limitations of
the manual system by introducing a comprehensive, web-based solution. The system will cater to
the specific needs of department heads, staff, and students, ensuring a user-friendly and efficient
scheduling process.

Key Features of the Proposed System:

 User Management:
o Roles and Permissions: An administrator will have the authority to create user
accounts for all stakeholders (department heads, faculty, staff, students) and
assign appropriate roles and permissions.

16 | P a g e
o User Roles:
 Administrator: Manage user accounts, system settings, and overall
system administration.
 Department Head: Input course details, manage schedules, allocate
resources, view reports, and request resources from the facilitator.
 Faculty: View personal schedules, provide feedback on schedules, and
access course materials (if integrated).
 Student: View personal schedules, register for courses (if applicable), and
access academic calendar information.
 Facilitator: Allocate classrooms and laboratories based on requests from
department heads, ensuring optimal resource utilization and resolving
scheduling conflicts.
 Course Management:
o Course Catalog: Maintain a comprehensive catalog of all courses offered by the
university, including course codes, titles, descriptions, credits, prerequisites, and
learning outcomes.
o Curriculum Management: Integrate with the university's curriculum database to
ensure accurate and up-to-date course information.
o Instructor Management: Maintain a database of instructors, including their
availability, teaching preferences, and qualifications.
o Lab Assistant Management: Maintain a database of lab assistants and their
availability.
 Scheduling Functionality:
o Course Scheduling: Department heads will input course details, including lecture
times, lab sections, and instructor assignments.
o Room Allocation:
 Automated Allocation: The system will utilize algorithms to
automatically suggest suitable classrooms and laboratories based on
course requirements, room capacity, and availability.
 Manual Allocation: Department heads can manually override automated
suggestions and assign specific rooms.

17 | P a g e
 Facilitator Allocation: Department heads can request resource allocation
from the designated facilitator.
o Conflict Detection and Resolution: The system will automatically detect and
flag potential scheduling conflicts (e.g., teacher availability, room overlaps,
student time conflicts) and provide suggestions for resolution.
 Communication and Collaboration:
o Internal Messaging: Enable secure communication between department heads,
faculty, staff, and administrators within the system.
o Feedback Mechanism: Allow faculty and staff to provide feedback on schedules
and submit requests for changes.
o Notification System: Send notifications to relevant users about schedule changes,
important announcements, and system updates.
 Reporting and Analytics:
o Generate reports on classroom utilization, course enrollments, scheduling
conflicts, and other relevant metrics.
o Provide data-driven insights to inform decision-making regarding resource
allocation and scheduling policies.
 User Interface (UI) and User Experience (UX):
o Design an intuitive and user-friendly interface with a clean and modern design.
o Ensure the system is accessible and easy to navigate for all user groups.
o Provide clear instructions and helpful tooltips to guide users through the system.
 Data Security and Integrity:
o Implement robust security measures to protect user data and maintain data
integrity.
o Ensure compliance with relevant data privacy and security regulations.

By incorporating these features, the proposed Classroom Scheduling System will streamline the
scheduling process, enhance communication and collaboration, optimize resource utilization, and
improve the overall academic experience for all stakeholders at Hawassa University.

2.2 Strength of Existing System

18 | P a g e
Despite its challenges, the existing manual scheduling system has a few notable strengths:

 Simplicity: The process is straightforward and does not require extensive technical
knowledge or training.
 Adaptability: Changes can be made quickly and informally, especially in response to
last-minute issues.
 Cost-Effectiveness: The system operates without significant technological investment,
relying primarily on existing tools and personnel.

2.4 Weakness of Existing System

The weaknesses of the current system are more pronounced and have a greater impact on the
university’s operations:

1. Time-Consuming: The manual process of collecting data, allocating resources, and


finalizing schedules is labor-intensive and inefficient.
2. Prone to Errors: Human involvement at every stage increases the likelihood of errors,
such as overlapping schedules or missed allocations.
3. Limited Accessibility: Staff and students have no direct access to the scheduling process
or real-time updates, leading to delays and miscommunication.
4. Resource Inefficiency: The manual system often results in suboptimal allocation of
classrooms and labs, with some facilities being overbooked while others remain
underutilized.
5. Feedback Challenges: There is no structured mechanism for staff or students to provide
input, which limits the system’s ability to adapt to users’ needs.
6. Scalability Issues: As the university grows, the manual system becomes increasingly
difficult to manage, with higher risks of conflicts and inefficiencies.

19 | P a g e
Chapter Three: SYSTEM FEATURES

3.1 Introduction

The proposed Classroom Scheduling System for Hawassa University is designed to address
the challenges associated with managing and organizing class and lab schedules efficiently. This
chapter outlines the key specifications of the system, including both functional and non-
functional requirements, along with analysis-level models that describe the application domain.
The primary goal of these models is to ensure the system is accurate, complete, consistent, and
verifiable, while meeting the diverse needs of its stakeholders—students, instructors, department
heads, facilitators, and lab assistants.

In the context of object-oriented analysis, the analysis model plays a crucial role in depicting
how the system will interact with and manage its core entities. For example, the scheduling
system must allocate classrooms and labs based on predefined criteria, handle overlapping
schedules, and allow users to provide feedback or make adjustments when necessary. The
interaction between the system and its users, such as how a department head uploads a course
curriculum or how a student views the schedule, is modeled to ensure seamless operation.

The system specification formalizes both functional requirements, such as the ability to generate
and share schedules, and non-functional requirements, such as performance and usability. These
specifications serve as the foundation for preparing the system's architecture and high-level
design. By integrating object-oriented principles and focusing on user-centric requirements, the
proposed system aims to deliver a robust, standalone solution for Hawassa University's
scheduling challenges.

3.1.1 User Requirement Definition

1. The Classroom Scheduling System shall allow department heads to input the curriculum,
including course details such as lectures, labs, and tutorials, to generate schedules.
2. The system shall enable instructors, lab assistants, and students to view their respective
schedules.

20 | P a g e
3. Users (department heads, instructors, students, lab assistants) shall have the ability to
provide feedback or comments on the schedules to address issues.
4. Facilitators shall use the system to allocate classrooms and labs efficiently, ensuring no
conflicts.
5. The system shall allow department heads to share and print the generated schedules for
distribution.

3.1.2 System Requirements Specification

1.1 The system will allow department heads to enter course information, including course code,
title, credit hours, lecture/lab/tutorial periods, semester, year, and department.
1.2 The system will automatically generate a schedule based on the provided data, avoiding
overlaps in classroom or lab allocations.
1.3 Users will have personalized access to view schedules based on their roles (e.g., instructors
view their assigned classes, students view their enrolled classes).
1.4 Feedback mechanisms will allow users to comment on or suggest changes to schedules.
1.5 The system will restrict access to features and data based on user roles, ensuring security and
proper data handling.

3.2 Functional Requirements

Functional requirements outline the core capabilities that the Classroom Scheduling System must
deliver to fulfill user needs.

1. User Management:
o The system must support user registration, login, and profile management.
o User roles include department heads, instructors, students, lab assistants, and
facilitators, with each role having specific functionalities.
2. Course Information Management:
o Department heads can add, update, and remove course information.
o Each course must include attributes such as course code, title, credits,
lecture/lab/tutorial periods, and assigned classroom/lab.

21 | P a g e
3. Schedule Generation:
o The system will generate conflict-free schedules for lectures and labs based on the
curriculum and resource availability.
o Facilitators will ensure resources such as classrooms and labs are allocated
appropriately.
4. Schedule Viewing and Feedback:
o All users will have access to view schedules relevant to their role.
o Users can leave comments or feedback to improve the scheduling process.
5. Printing and Sharing:
o Department heads can share and print schedules directly from the system for
distribution to stakeholders.
6. Resource Allocation:
o The system will ensure optimal utilization of classrooms and labs while avoiding
overlapping assignments.

3.3 Non-Functional Requirements

Non-functional requirements define the system's quality attributes to ensure reliability,


performance, and usability.

1. Performance:
o The system must handle multiple users simultaneously and generate schedules
within a reasonable time frame.
2. Scalability:
o The system must accommodate increased users, courses, and schedules without
performance degradation.
3. Security:
o Sensitive data, such as user credentials and schedules, must be encrypted and
accessible only to authorized users based on roles.
4. Usability:
o The system should offer a user-friendly interface for both desktop and mobile
platforms, ensuring ease of use for all users.

22 | P a g e
5. Compatibility:
o The system must be compatible with major web browsers and devices, including
desktops, tablets, and smartphones.
6. Reliability and Availability:
o The system should ensure high uptime and minimal downtime to meet the needs
of the university's scheduling demands.
7. Maintainability:
o The system must follow best practices in modular design and include
comprehensive documentation to support future updates and maintenance.

3.4 Analysis Model

This section introduces the proposed system with UML system models to provide a detailed
overview of the envisioned functionality. The models include:

 Use Case Models: To describe user interactions with the system.


 Sequence Diagrams: To show the flow of operations between users and the system.
 Activity Diagrams: To represent the workflows and processes within the system.
 Analysis-Level Class Diagrams: To define the system’s core entities and their
relationships.

3.4.1 System Analysis Models

System analysis models are critical tools for understanding, designing, and documenting the
requirements and functionality of the Classroom Scheduling System for Hawassa University.
These models provide a structured and visual representation of the system's processes,
workflows, data flow, and user interactions. They help to identify inefficiencies in the current
manual or traditional scheduling processes and contribute to creating a streamlined, conflict-free,
and efficient scheduling solution.

The primary goal of these models is to illustrate the system's structure and behavior while
ensuring they align with the requirements of all stakeholders, including department heads,
instructors, students, facilitators, and lab assistants. By employing use case diagrams, sequence

23 | P a g e
diagrams, activity diagrams, and class diagrams, the analysis phase ensures a comprehensive
understanding of the system’s objectives and fosters effective communication among
stakeholders.

3.4.2 Use Case Diagram

A use case defines a goal-oriented set of interactions between external users and the system. A
Use Case Scenario is a step-by-step description of how a user interacts with the system to
achieve specific goals, capturing the system behavior from the user's perspective.

For the Classroom Scheduling System, the following actors have been identified:

 Department Head
 Instructor
 Lab Assistant
 Student
 Facilitator
 System Administrator

24 | P a g e
Figure 1: use case diagram

Use case description

25 | P a g e
Use Case ID UC-01

Use Case Name Login

Actor All users (students, facilitators, department head, admin,


instructors, lab assistants)

Description Allows users to authenticate and access their respective


functionalities in the system.

Preconditions The user is logged into the system. This use case includes the Login
use case to ensure user authentication.

Trigger The user selects the "Login" option and provides credentials.

Normal Flow 1. User navigates to the login page.

2. User enters their username and password.

3. System validates credentials.

4. User is redirected to their dashboard.

Postconditions The user is logged into the system and can access their assigned
functionalities.

Alternative Flow Invalid Credentials: The system displays an error message and
prompts the user to retry.

Exceptions - System Error: If the authentication service fails, the system


displays an error message.

26 | P a g e
Priority High

Frequency of Daily
Use

Assumptions Users have their login credentials.

Notes and Issues This use case includes the Login functionality as a prerequisite for
ensuring that only authenticated users can access this feature.

Use Case 1: Login

Table 3: Use Case table Login

27 | P a g e
Use Case ID UC-02

Use Case Name User/Account Management

Actor Admin
Description Enables the admin to create, update, and manage user accounts
and roles.
Preconditions The admin is logged into the system.

Trigger The admin selects the "Manage Users" option.

Normal Flow 1. Navigate to the user management section.


2. Add, edit, or delete user accounts.
3. Assign roles to users.
4. Save changes.
Postconditions User account information is updated in the system.

Alternative Flow Missing Details: System prompts for completion of required fields.

Exceptions - System Error: If saving fails, the system displays an error


message.
Priority High

Frequency of Use Occasionally, depending on staffing changes.

Assumptions The admin has the necessary permissions.

Notes and Issues Include role-based access control for user management.

Use Case 2: User/Account Management

Table 4: User/Account Management

28 | P a g e
Use Case ID UC-03

Use Case Name View Schedules


Actor Students, Facilitators, Department Head, Technical/Lab Assistant,
Instructors
Description Allows users to view schedules for classes and labs.

Preconditions The user is logged into the system.

Trigger The user selects the "View Schedules" option.

Normal Flow 1. Navigate to the schedule section.


2. Select the desired schedule type (class or lab).
3. View the displayed schedule.
Postconditions The user can view their respective schedules.

Alternative Flow No Schedules Available: System displays a message indicating no


schedules are available.
Exceptions - System Error: If the schedule cannot be retrieved, an error
message is displayed.
Priority High
Frequency of Use Regularly, as needed.
Assumptions Schedules have been generated and saved in the system.

Notes and Issues Ensure schedules are filtered based on the user’s role.

Use Case 3: View Schedules

Table 5: View schedules

29 | P a g e
Use Case ID UC-04

Use Case Name Provide Feedback/Comments

Actor Students, Technical/Lab Assistant, Instructors


Description Allows users to provide comments or feedback on schedules.

Preconditions The user is logged into the system.

Trigger The user selects the "Provide Feedback/Comments" option.

Normal Flow 1. Navigate to the feedback section.


2. Enter comments or feedback in the provided text box.
3. Submit the feedback.
Postconditions Feedback/comments are saved in the system.

Alternative Flow Empty Feedback: System prompts the user to enter text before
submission.
Exceptions - System Error: If saving fails, the system displays an error
message.
Priority Medium
Frequency of Use Occasionally, based on user need.

Assumptions The feedback/comments are related to schedules.

Notes and Issues Feedback should be timestamped and linked to specific schedules.

Use Case 4: Provide Feedback/Comments

Table 6: Provide Feedback/Comments

30 | P a g e
Use Case ID UC-05
Use Case Name Manage Instructors
Actor Department Head

Description Allows the department head to add, update, or remove instructors.

Preconditions The department head is logged into the system.

Trigger The department head selects the "Manage Instructors" option.

Normal Flow 1. Navigate to the instructor management section.


2. Add, edit, or delete instructor details.
3. Save changes.
Postconditions Instructor information is updated in the system.

Alternative Flow Missing Information: System prompts for completion of required


fields.
Exceptions - System Error: If saving fails, an error message is displayed.

Priority High
Frequency of Use Occasionally, based on staffing changes.

Assumptions The department head has the necessary permissions.

Notes and Issues Include validation for unique instructor identifiers.

Use Case 5: Manage Instructors

Table 7: Manage instructors

31 | P a g e
Use Case ID UC-06

Use Case Name Manage Courses

Actor Department Head

Description Allows the department head to add, update, or remove courses.

Preconditions The department head is logged into the system.

Trigger The department head selects the "Manage Courses" option.

Normal Flow 1. Navigate to the course management section.


2. Add, edit, or delete course details.
3. Save changes.
Postconditions Course information is updated in the system.

Alternative Flow Missing Information: System prompts for completion of required


fields.
Exceptions - System Error: If saving fails, an error message is displayed.

Priority High
Frequency of Use Regularly, especially before each academic term.

Assumptions The department head has the necessary permissions.

Notes and Issues Ensure validation checks are in place for course data.

Use Case 6: Manage Courses

Table 8: Manage Courses

32 | P a g e
Use Case ID UC-07
Use Case Name Generate Schedules

Actor Department Head

Description Allows the department head to create class and lab schedules.
Preconditions Input data for courses, instructors, and facilities are available.
Trigger The department head selects the "Generate Schedules" option.
Normal Flow 1. Navigate to the schedule generation section.
2. Select parameters for schedule generation.
3. Initiate the generation process.
4. Review and save the generated schedule.
Postconditions Schedules are generated and saved in the system.

Alternative Flow Incomplete Input: System prompts for missing data before
initiating the process.
Exceptions - System Error: If the generation process fails, an error message is
displayed.
Priority High
Frequency of Use Regularly, before each academic term.

Assumptions The system has sufficient processing power for schedule


generation.
Notes and Issues Allow manual adjustments to generated schedules if needed.

33 | P a g e
Use Case 7: Generates Schedules

Table 9: Generates Schedules

Use Case ID UC-08

Use Case Name View Feedback

Actor Department Head

Description Allows the department head to view feedback provided by users.

Preconditions The department head is logged into the system.

Trigger The department head selects the "View Feedback" option.

Normal Flow 1. Navigate to the feedback section.


2. Review feedback submitted by users.
Postconditions Feedback is displayed for review.

Alternative Flow No Feedback Available: System displays a message indicating no


feedback is available.

Exceptions - System Error: If feedback cannot be retrieved, an error message is


displayed.

Priority Medium
Frequency of Use Occasionally, based on user feedback activity.

Assumptions Feedback has been submitted by users.

34 | P a g e
Notes and Issues Feedback should be filterable by schedule or user type.

Use Case 8: View Feedback

Table 10: View Feedback

Use Case ID UC-09

Use Case Name Print Schedules

Actor Department Head

Description Allows the department head to print schedules.

Preconditions Schedules have been generated and saved.

Trigger The department head selects the "Print Schedules" option.

Normal Flow 1. Navigate to the schedule section.


2. Select the schedule to print.
3. Initiate the print command.
Postconditions Schedules are printed successfully.

Alternative Printer Unavailable: System displays an error message and prompts


Flow for retry.
Exceptions - System Error: If printing fails, the system displays an error
message.
Priority Medium
Frequency of Occasionally, based on administrative needs.
Use

35 | P a g e
Assumptions The department head has access to a functional printer.

Notes and Allow schedules to be exported as PDFs for offline printing.


Issues
Use Case 9: Print Schedules

Table 11: Print Schedules

Use Case ID UC-10

Use Case Name Share Schedules

Actor Department Head

Description Allows the department head to share schedules with relevant users.

Preconditions Schedules have been generated and saved.

Trigger The department head selects the "Share Schedules" option.

Normal Flow 1. Navigate to the schedule section.


2. Select the schedule to share.
3. Choose the target recipients (e.g., students, staff).
4. Initiate the sharing process.
Postconditions Schedules are shared successfully.

Alternative Invalid Recipients: System prompts to correct recipient selection.


Flow

36 | P a g e
Exceptions - System Error: If sharing fails, the system displays an error
message.
Priority Medium
Frequency of Occasionally, before each term or schedule update.
Use
Assumptions Users have valid email addresses or access to the shared medium.

Notes and Allow schedules to be shared via email or system notifications.


Issues
Use Case 10: Share Schedules

Table 12: Share Schedules

3.4.3 Sequence Diagram

A Sequence Diagram is an interaction diagram that illustrates how processes or objects interact
with each other and in what order. It is essentially a construct of a message sequence chart that
shows the flow of messages exchanged between objects in a time-ordered manner.

In the context of the Classroom Scheduling System, a sequence diagram will depict the
interactions between different system components (such as department heads, instructors,
students, facilitators, and the system itself) and the order of messages exchanged to fulfill
specific tasks. For instance, it will describe how a department head inputs course data, how the
system generates schedules, and how the schedule is viewed by different users.

Sequence diagrams are typically linked with use case realizations in the Logical View of the
system under development. They provide a detailed representation of the flow of control and
data across system components, offering a clear understanding of how specific functionalities are

37 | P a g e
carried out step by step. Sequence diagrams are also referred to as event diagrams or event
scenarios, as they capture the sequence of events that occur within a given scenario.

Figure 2: Sequence diagram for login.

38 | P a g e
Figure 3: sequence diagram for department head

39 | P a g e
Figure 4: sequence diagram for Resource (classroom and lab) allocation

40 | P a g e
Figure 5: sequence diagram for User management

41 | P a g e
Figure 6: sequence diagram for View schedule and feedback

42 | P a g e
3.4.4 Activity Diagram

An Activity Diagram is a behavioral diagram that represents the dynamic aspects of a system by
illustrating the flow of control or data between various activities or actions. It is used to model
the workflow of a system and the steps involved in the execution of a particular process,
allowing for the visualization of how individual tasks or activities are carried out in a sequence
or parallel.

For the Classroom Scheduling System, an activity diagram will show the flow of actions
performed by the system and its users to accomplish specific tasks, such as generating a schedule
or allocating resources. It will depict how users, such as department heads, instructors, and
facilitators, interact with the system to perform various actions, such as inputting course data,
reviewing schedules, or allocating classrooms and labs.

The activity diagram captures the sequence of steps involved in key system functionalities and
highlights decision points, parallel activities, and system responses. This diagram helps in
visualizing the workflows, ensuring the processes are smooth, efficient, and free of logical
errors. Activity diagrams are valuable in understanding complex processes and are a key part of
the system's overall analysis and design.

43 | P a g e
Figure 7: activity diagram for login

44 | P a g e
Figure 8: activity diagram for Feedback

45 | P a g e
Figure 9: activity diagram for Department Head

46 | P a g e
Figure 10: activity diagram for Facilitator

47 | P a g e
3.4.5 Class Diagram

A Class Diagram is a structural diagram that shows the static structure of a system by
representing its classes, their attributes, methods, and the relationships between them. It provides
a detailed blueprint of the system's object-oriented design, specifying how the system is
organized and how its components interact with each other.

For the Classroom Scheduling System, the class diagram will represent the main entities
involved in the system, such as courses, schedules, users (department heads, instructors, students,
facilitators, lab assistants, and system administrators), and resources (classrooms and labs). Each
class will include its attributes (e.g., course code, course title, lecture hours) and methods (e.g.,
generate schedule, allocate classroom). The relationships between these classes, such as
associations, dependencies, and inheritances, will be illustrated, showing how the various
components of the system are interconnected.

The class diagram serves as the foundation for the system’s implementation, guiding the
development process by ensuring the proper structure and behavior of system components. It
helps in organizing complex systems into manageable, reusable components and ensures
consistency and clarity in the system’s design.

48 | P a g e
Figure 11: class diagram

3.4. User Interface Prototyping

49 | P a g e
In the Classroom Scheduling System, the user interface is a crucial aspect to ensure ease of use
and efficiency. While we are still in the process of designing a more refined and user-friendly
interface, the following represents our initial design concepts:

 Login Page: A simple interface where users input their User ID and password to access
the system.
 Schedule Generation Page: A page that allows authorized users to select courses,
allocate time slots, and generate schedules, displaying the results for review.

Login as Page

Figure 12: Login as Page

50 | P a g e
Figure 13: Login Page

51 | P a g e
Schedule Generation Page

Figure 14: Schedule Generation Page

52 | P a g e
Feedback Page

Figure 15: Feedback page

These initial designs provide a basic framework for the system's interface. However, as we
gather more feedback from stakeholders and better understand the system’s requirements, we
plan to iteratively refine the design. The goal is to ensure that the interface is intuitive, visually
appealing, and fully optimized for all user roles. Future improvements may include enhanced
navigation, responsive design for various devices, and incorporating feedback to address
usability challenges. This iterative approach ensures the system meets user expectations and
supports efficient task execution.

53 | P a g e
CHAPTER FOUR: SYSTEM DESIGN

4.1 Introduction
System Design for the Classroom Scheduling System

System design is a critical phase in the software development lifecycle where abstract concepts
and ideas begin to take form as coherent, functional structures. In the context of the Classroom
Scheduling System for Hawassa University, this chapter addresses the intricacies of organizing
the architecture and components that will drive the system’s efficiency and effectiveness. The
design process involves ensuring that all elements of the system align with the overall goals of
providing an intuitive, reliable, and seamless scheduling experience for all stakeholders,
including department heads, instructors, students, and administrators.

At its core, system design entails the thoughtful coordination of various modules, each designed
to optimize the performance and functionality of the system. The architectural design of the
system will offer a comprehensive view of how the different components, such as course data,
scheduling rules, user roles, and resources, will interact. This interaction is essential for ensuring
that the system works cohesively, allowing for smooth communication between users and
various system components, while maintaining a high level of usability and performance. The
design will establish the foundation upon which the system will operate, ensuring that it meets
both functional and non-functional requirements.

In addition to the architectural design, the logical design focuses on the internal workings of the
system. This phase delves into the underlying algorithms, data models, and workflows that
facilitate the proper execution of scheduling tasks. A critical aspect of this design is ensuring that
the system accommodates various factors, such as resource allocation, instructor availability, and
course duration. The logical view will also ensure that the data flows smoothly between
components and that the system can handle different scenarios, such as conflicting schedules or
last-minute changes, without compromising efficiency.

A key part of the system design is the deployment view, which addresses how the components of
the Classroom Scheduling System will be distributed and utilized in the real-world environment.

54 | P a g e
This includes considerations such as server infrastructure, database management, and client-side
interactions. The design will ensure that the system can scale to accommodate a growing number
of users and can be deployed effectively across different departments at Hawassa University. By
considering deployment early in the design process, we ensure that the system is both technically
sound and practical, capable of handling the demands of the university’s scheduling needs.

The system design phase also places significant emphasis on creating a user-friendly interface
that prioritizes ease of use. For a scheduling system, where users from diverse backgrounds
interact with the platform, it is essential that the design is intuitive and minimizes the learning
curve. The user interface will be crafted with attention to detail, ensuring that it supports quick
and easy navigation while displaying critical information clearly. Simultaneously, the database
architecture is designed to manage course, instructor, and schedule data efficiently, ensuring
secure and rapid access to the information needed for scheduling and feedback purposes.

Unified Modeling Language (UML) diagrams play a vital role in the system design by offering
visual representations that communicate the structure, behavior, and relationships of the system.
These diagrams, including use case diagrams, class diagrams, and sequence diagrams, will be
used to provide a clear understanding of the system’s functionality and interactions. These visual
tools will serve as a reference point for developers, project managers, and other stakeholders,
ensuring that everyone has a shared understanding of the project’s scope and requirements.
Furthermore, the system design will integrate key considerations related to security, scalability,
and future adaptability, ensuring that the Classroom Scheduling System remains a reliable and
robust solution for years to come.

4.2 Purpose of the System Design Document


The purpose of system design for the Classroom Scheduling System is to create a clear,
structured architecture that meets the project’s requirements and objectives. This phase translates
conceptual requirements into practical solutions, addressing key concerns such as functionality,
performance, and scalability.

1. Usability: Designing an intuitive user interface to ensure easy access for department
heads, instructors, students, and administrators to schedules, courses, and feedback.

55 | P a g e
2. Scalability and Flexibility: Ensuring the system can handle increasing data and users
over time, as well as adapting to future modifications and new features.
3. Security and Data Integrity: Protecting sensitive information through secure data
storage, user access controls, and reliable backup mechanisms.
4. Component Integration: Designing seamless interaction between system modules (e.g.,
course management, scheduling, user management) to ensure cohesive system
functionality.
5. Reliable Implementation Path: Providing clear guidelines and diagrams (such as UML)
for developers to build the system accurately, minimizing errors during development.

4.3 Design Scope


The scope of the Classroom Scheduling System design includes defining the architecture,
modules, interfaces, and data management strategies. This phase focuses on creating a
comprehensive roadmap that guides the development process and ensures alignment with the
project’s objectives outlined in earlier chapters. The design scope encompasses system control
mechanisms, hardware and software specifications, and subsystem definitions to ensure seamless
interaction among all components. It provides a detailed view of the system's structure, ensuring
that it adheres to security, performance, and usability standards. The scope also highlights
considerations for modularity, enabling independent management of components, and
adaptability, ensuring the system can accommodate changes or expansions in the future.

Additionally, the design scope includes:


 System Architecture: Establishing the high-level structure of the system, including the
core components and how they interact to deliver the desired functionality.
 Control Mechanisms: Defining access control and permissions to ensure that only
authorized users can modify certain elements of the system.
 Data Management: Ensuring the system handles data securely and efficiently, with well-
defined strategies for storage, retrieval, and backup.
 Security Measures: Incorporating robust security protocols to protect sensitive user
information and prevent unauthorized access or data breaches.

56 | P a g e
 Performance and Scalability: Ensuring the system can handle future growth in terms of
data volume, user traffic, and new features without compromising performance.
 User Experience (UX): Focusing on the usability and user interface design to ensure that
the system is intuitive and user-friendly for all stakeholders.
 Compliance: Ensuring that the design meets all relevant regulatory and university-
specific requirements, including data protection and accessibility standards.

4.4 Architectural Design

The architectural design of the Classroom Scheduling System employs a three-tier architecture,
which includes the presentation, business logic, and data access layers.

 Presentation Layer: This layer serves as the user interface, facilitating interaction
between users (department heads, instructors, students, and facilitators) and the system.
 Business Logic Layer: Responsible for processing scheduling rules, resolving conflicts,
and managing interactions between the user interface and the database.
 Data Access Layer: Handles all database-related operations, such as storing and
retrieving course information, schedules, and user feedback.

This architecture ensures modularity, where each layer operates independently, and provides
benefits such as improved maintainability, enhanced security, and scalability to accommodate
future system expansions.

 A well-defined architectural design simplifies debugging and maintenance by isolating


faults within specific layers.
 The three-tier approach improves system performance by balancing the workload across
multiple tiers.

57 | P a g e
. Figure 16: Architectural Design

4.4.1 Logical View of the Architecture

The logical view of the system highlights the relationships and interactions between its
components. This includes abstract representations of entities like courses, classrooms, and
users, as well as the dynamic behavior of schedules throughout their lifecycle. UML diagrams
such as class diagrams illustrate these relationships, while interaction and state diagrams depict
how processes flow and evolve. These models ensure a clear understanding of the system’s
internal structure and guide the implementation of a cohesive and efficient solution.

58 | P a g e
Figure 17: Logical View of the Architecture

4.4.2 Process View

The Process View for the Classroom Scheduling System illustrates the flow of actions and
interactions between various components and users, detailing how the system operates. It
outlines key processes such as schedule generation, resource allocation, and user feedback. For
example, department heads input course details into the system, facilitators assign resources like
classrooms and labs, and students or instructors can then view the finalized schedules. This view
provides a detailed map of how tasks are executed within the system and how data flows
between different system components.

59 | P a g e
The process view also highlights the communication pathways between various roles and system
components, ensuring that each user can access the system’s features as needed. It establishes
clear roles and responsibilities for users such as department heads, facilitators, instructors, and
students. By visualizing these processes, it ensures that the system is efficient and that users
interact with it in a streamlined manner.

In addition, the process view is essential for optimizing the scheduling system, as it guarantees
that resources are allocated effectively, and that feedback from users is integrated into the
scheduling process. It acts as a blueprint for the system’s operation, ensuring all parts function
together harmoniously to achieve scheduling efficiency and optimal resource usage across the
university.

Module Process Class Thread Logical Layer

Authentication Department Head User User Login Presentation Layer


Module Login
Course Course and Course, Course Data Entry Business Layer
Management Resource Entry Resource
Module
Course Schedule Creation Schedule, Schedule Drafting Business Layer
Management Department,
Module Instructor
Scheduling Assigning Department, Facilitator Business Layer
Module Facilitators Facilitator Assignment
Scheduling Instructor and Lab Instructor List, Assignment of Business Layer
Module Assistant Lab Assistant Instructors and
Assignment List Lab Assistants
Feedback Schedule Feedback Feedback Feedback Business Layer
Module Submission
Scheduling Schedule Schedule Finalize Schedule Business Layer

60 | P a g e
Module Finalization
Scheduling Schedule Sharing Schedule Share Schedule Presentation Layer
Module
User System Admin Role User, Role Role Assignment Business Layer
Management Management
Module
Resource Resource Allocation Classroom, Resource Business Layer
Management (Classrooms/Labs) LabRoom, Allocation
Module Course

Table 12: Process View

61 | P a g e
Figure 18: Process View

4.4.3 Deployment View


The deployment view for the Classroom Scheduling System describes how the system's
components will be distributed across hardware and software environments. The client tier
consists of user devices, such as PCs or smartphones, used to access the system interface. The
server tier, located in the middle layer, manages core functionalities, processes user requests, and
bridges interactions between the client and database tiers. The database tier serves as the central
repository for all system data, including course details, user information, and schedules.

62 | P a g e
This deployment strategy ensures system performance, scalability, and security by separating
concerns and distributing workloads efficiently. It also highlights considerations such as secure
server hosting, database backup protocols, and network infrastructure to support reliable
communication and data integrity.

Figure 19: Deployment View

63 | P a g e
4.5. Database Design

Database design is a critical aspect of the Classroom Scheduling System, as it ensures that the
system efficiently stores, manages, and retrieves data. A well-structured database enables smooth
operation and minimizes performance issues, ensuring the integrity, security, and accessibility of
the data. The database design process is typically divided into three key phases: Conceptual
Design, Logical Design, and Physical Design. These phases work together to transform the
requirements of the system into a robust, efficient, and scalable database structure.

4.5.1. Conceptual Design


The Conceptual Design phase focuses on defining the high-level structure of the database,
outlining the entities and relationships needed to support the system's functionality. In this phase,
the main objective is to identify the core components of the system that will store data and how
these components interact. For the Classroom Scheduling System, the key entities could
include Course, Instructor, Student, Schedule, Department, Room, Facilitator, and
Feedback. The relationships between these entities, such as which instructors are assigned to
which courses, which rooms are allocated to specific courses, and how schedules are linked to
students and instructors, are also defined. The conceptual model is typically represented using an
Entity-Relationship Diagram (ERD), which visually maps out the entities and their
interconnections.

4.5.2. Logical Design


The Logical Design phase refines the conceptual model into a more detailed structure,
translating the high-level entities and relationships into logical data structures that will be
implemented in the database. This involves determining the attributes for each entity and
defining the relationships in terms of primary keys, foreign keys, and constraints. The logical
design also focuses on normalization, a process that ensures the database is free from redundancy
and dependencies, thus optimizing storage and reducing data anomalies. For the Classroom
Scheduling System, logical design decisions might involve specifying attributes for entities such
as Course (e.g., course code, title, department, credits), Schedule (e.g., course, instructor, date,

64 | P a g e
time, room), and Users (e.g., user ID, role, name). The relationships between entities are refined,
ensuring that the design adheres to the required business rules and constraints.

4.5.3. Physical Design


The Physical Design phase translates the logical design into an actual implementation plan for
the database. In this phase, considerations are made for the physical storage of data, indexing,
query optimization, and performance tuning. The physical design defines how the data will be
stored on disk, how indexes will be created to speed up data retrieval, and how data integrity will
be maintained with backup and recovery strategies. It also includes decisions on how the
database will handle large volumes of data and how it can scale over time as more users and
courses are added. For the Classroom Scheduling System, physical design choices might
include selecting the appropriate database management system (DBMS), defining table
structures, optimizing the layout for efficient querying, and setting up security mechanisms to
control access to sensitive data. The goal of the physical design is to ensure that the database
performs efficiently, is scalable, and can handle real-world usage patterns while maintaining the
integrity and security of the data.

4.5.4 Entity-Relationship (ER) Model

The Entity-Relationship (ER) Model is a conceptual framework used to represent the structure
of a database in terms of its entities, attributes, and relationships. It provides a high-level
blueprint for designing databases, ensuring that data is organized efficiently and that the
relationships between various data elements are clear.

65 | P a g e
Figure 20: Entity-Relationship (ER) Model

This ER model represents a comprehensive system for managing a classroom scheduling


process. It involves multiple entities that handle various aspects of scheduling and
administration, such as:

1. Core Administrative Roles: Entities like Department Heads, Facilitators, and


Administrators are responsible for managing courses, resources (classrooms and labs),
and user roles.

66 | P a g e
2. Course and Resource Management: Entities like Courses, Classrooms, and Lab Rooms
are linked to the schedule, detailing information such as course attributes, resource
allocations, and programs (e.g., regular, weekend, or summer).
3. Scheduling and Assignment: The central Schedule entity connects various elements,
including courses, instructors, lab assistants, and resources, allowing for efficient
scheduling.
4. User Management: Different user roles, such as students, instructors, and lab assistants,
are included, with lists of instructors and lab assistants used specifically for assignment
purposes.
5. Feedback and Tracking: A feedback mechanism allows users to comment on or suggest
improvements for schedules.
6. Relationships: Strong relationships are defined between entities, ensuring data
normalization and logical structure across the system.

The model captures the complexity of managing resources and user roles in a scheduling system,
ensuring flexibility, efficiency, and clear role assignment.

67 | P a g e
Figure 21: Entity-Relationship (ER) Diagram

Entity Table Descriptions

68 | P a g e
Admin

Attribute Data Type Description Constraints

Admin_ID (PK) INT Primary key, unique identifier for Primary Key
Admin

First Name VARCHAR First name of the admin NOT NULL

Last Name VARCHAR Last name of the admin NOT NULL

Password VARCHAR Admin's password NOT NULL

Table 14: Admin

Department Head

Attribute Data Type Description Constraints

Department_head_ID INT Primary key, unique PRIMARY KEY


(PK) identifier for Department
Head

First Name VARCHAR First name of the NOT NULL


department head

Last Name VARCHAR Last name of the department NOT NULL


head

Password VARCHAR Password for the department NOT NULL


head

Department_ID (FK) INT Foreign key to the FOREIGN KEY (Department_ID)


Department table REFERENCES
Department(Department_ID)

69 | P a g e
Table 15: Department head

Department

Attribute Data Type Description Constraints

Department_ID INT Primary key, unique identifier Primary Key


(PK) for Department
Department_name VARCHAR name of the department NOT NULL

facilitator_ID INT Foreign key to the Facilitator FOREIGN KEY (facilitator_ID)


(FK) REFERENCES
Facilitator(Facilitator_ID)
Table 16: Department

Instructor

Attribute Data Type Description Constraints

Instructor_ID (PK) INT Primary key for the PRIMARY KEY


instructor

First Name VARCHAR First name of the instructor NOT NULL

Last Name VARCHAR Last name of the instructor NOT NULL

Password VARCHAR Instructor's password NOT NULL

Department_ID INT Foreign key to the FOREIGN KEY (Department_ID)


(FK) Department table REFERENCES
Department(Department_ID)

Table 17: instructor

70 | P a g e
Student

Attribute Data Type Description Constraints

Student_ID (PK) INT Primary key for the student PRIMARY KEY

First Name VARCHAR First name of the student NOT NULL

Last Name VARCHAR Last name of the student NOT NULL

Password VARCHAR Student's password NOT NULL

Year INT Year of study NOT NULL

Semester INT Current semester NOT NULL

Department_ID (FK) INT Foreign key to the FOREIGN KEY (Department_ID)


Department table REFERENCES
Department(Department_ID)

Table 18: student

LabAssistan

Attribute Data Type Description Constraints

LabAssistant_ID (PK) INT Primary key for the lab PRIMARY KEY
assistant

First Name VARCHAR First name of the lab assistant NOT NULL

Last Name VARCHAR Last name of the lab assistant NOT NULL

Password VARCHAR Lab assistant's password NOT NULL

Department_ID (FK) INT Foreign key to the FOREIGN KEY (Department_ID)


Department table REFERENCES
Department(Department_ID)

71 | P a g e
Table 19: Lab Assistant

Instructor List

Attribute Data Type Description Constraints

InstructorL_ID INT Primary key, unique identifier PRIMARY KEY


(PK) for Instructor List

INFirst Name VARCHAR First name of the instructor NOT NULL

INLast Name VARCHAR Last name of the instructor NOT NULL

Department_ID INT Foreign key to the Department FOREIGN KEY (Department_ID)


(FK) table REFERENCES
Department(Department_ID)

Table 20: instructor list

Lab Assistant List

Attribute Data Type Description Constraints

LabAssistantL_ID INT Primary key, unique PRIMARY KEY


(PK) identifier for Lab Assistant
List

LAFirst Name VARCHAR First name of the lab assistant NOT NULL

LALast Name VARCHAR Last name of the lab assistant NOT NULL

72 | P a g e
Department_ID (FK) INT Foreign key to the FOREIGN KEY (Department_ID)
Department table REFERENCES
Department(Department_ID)

Table 21: Lab assistant list

Course

Attribute Data Type Description Constraint

Course_ID (PK) INT Primary key, unique PRIMAMRY KEY


identifier for Course

Course Code VARCHAR Unique code for the course NOT NULL, UNIQUE

Course Title VARCHAR Title of the course NOT NULL

Semester VARCHAR Semester in which the course NOT NULL


is offered

ECTS INT European Credit Transfer NOT NULL


System credits

Cr_hours INT Credit hours for the course NOT NULL

Lec_hours INT Number of lecture hours NOT NULL

Lab_hours INT Number of lab hours NOT NULL

Program VARCHAR Program of study (e.g., NOT NULL


regular, weekend)

Academic Degree VARCHAR Academic degree of the NOT NULL


course (e.g., BSc, MSc)

73 | P a g e
Department_ID (FK) INT Foreign key to the FOREIGN KEY (Department_ID)
Department table REFERENCES
Department(Department_ID)

Table 22: Course

Schedule

Attribute Data Type Description Constraints

Schedule_ID (PK) INT Primary key for the PRIMARY KEY


schedule

Course_ID (FK) INT Foreign key to the Course FOREIGN KEY (Course_ID)
table REFERENCES course(Course_ID)

Course_title VARCHAR title of the course (from NOT NULL


Course table)

Course_Code VARCHAR Code of the course (from NOT NULL


Course table)

Classroom_ID (FK) INT Foreign key to the FOREIGN KEY (Classroom_ID)


Classroom table REFERENCES
Classroom(Classroom _ID)

Classroom_Number VARCHAR Room number of the NOT NULL


assigned classroom

LabRoom_ID (FK) INT Foreign key to the FOREIGN KEY (labRoom_ID)


LabRoom table REFERENCES LabRoom(LabRoom
_ID)

LabRoom_Number VARCHAR Room number of the NOT NULL


assigned lab room

74 | P a g e
InstructorL_ID (FK) INT Foreign key to the FOREIGN KEY (InstructorL_ID)
Instructor List table REFERENCES InstructorList
(InstructorL _ID)

INFirst Name VARCHAR First name of the assigned NOT NULL


instructor from the
Instructor List

INLast_name VARCHAR Last name of the assigned NOT NULL


instructor from the
Instructor List

LabAssistantL_ID INT Foreign key to the Lab FOREIGN KEY (LabAssistantL_ID)


(FK) Assistant List table REFERENCES LabAssistant List
(LabAssistantL _ID)

LAfirst_Name VARCHAR First name of the assigned NOT NULL


lab assistant from the Lab
Assistant List

LAlast_Name VARCHAR last name of the assigned NOT NULL


lab assistant from the Lab
Assistant List

Year INT Year of the schedule (e.g., NOT NULL


1st year, 2nd year, etc.)

Semester INT Semester of the schedule NOT NULL

Program VARCHAR Program associated with the NOT NULL


schedule

Lec_Period VARCHAR Period for lectures NOT NULL

75 | P a g e
Lab_Period VARCHAR Period for lab sessions NOT NULL

Time_Slot VARCHAR Time slot for the scheduled NOT NULL


class or lab

Conflict_Status ENUM('None', Indicates whether the Default value: 'None', NOT NULL
'Pending', schedule has a conflict and
'Resolved') its resolution status.

Conflict_Type ENUM('Room Specifies the type of Can be NULL when Conflict_Status


Conflict', conflict detected. is 'None'; Must match one of the
'InstructorL defined ENUM values when
Conflict', applicable.
‘LabAssistantL
conflict’, 'Time
Conflict',
'Other')

Draft BOOLEAN Indicates if the schedule is a NOT NULL


draft or final version

Table 23: schedule

Facilitator

Attribute Data Type Description Constraint

Facilitator_ID (PK) INT Primary key, unique PRIMARY KEY


identifier for Facilitator

First Name VARCHAR First name of the facilitator NOT NULL

76 | P a g e
Last Name VARCHAR Last name of the facilitator NOT NULL

Password VARCHAR Facilitator's password NOT NULL

Table 24: facilitator

Classroom

Attribute Data Type Description Constraints

Classroom_ID (PK) INT Primary key, unique identifier PRIMARY KEY


for Classroom

Classroom Number VARCHAR Classroom number NOT NULL

Department_ID (FK) INT Foreign key to the Department FOREIGN KEY (Department _ID)
table REFERENCES
Department(Department _ID)

Table 25: Classroom

labroom

Attribute Data Type Description Constraints

LabRoom_ID (PK) INT Primary key, unique identifier PRIMARY KEY


for Lab Room

LabRoom Number VARCHAR Lab room number NOT NULL

Department_ID (FK) INT Foreign key to the Department FOREIGN KEY (Department _ID)
tabl REFERENCES
Department(Departmen _ID)

Table 26: lab room

77 | P a g e
Relational Model

The Relational Model is the foundation of the database system used in our Classroom
Scheduling System. This model, inspired by concepts introduced by Edgar F. Codd, organizes
data into structured tables, referred to as relations, where each table represents an entity and each
row corresponds to a record within that entity. The relationships between these tables are defined
through primary and foreign keys, which ensure efficient data linkage and organization.

In our system:

 Primary keys uniquely identify each record within a table, guaranteeing that no
duplicate entries exist.
 Foreign keys establish relationships between tables, facilitating the integration and
management of complex data across different entities, such as courses, departments,
facilitators, and schedules.

This model minimizes redundancy, enforces data integrity, and supports robust querying and
manipulation of data using SQL (Structured Query Language). By adopting a relational database,
our system ensures efficient management of scheduling information, reduces conflicts, and
enables seamless scalability. Many widely used Relational Database Management Systems
(RDBMS), such as MySQL, serve as the backbone of this approach, making it both practical and
reliable for handling the system's requirements.

 Relational Mapping

The Relational Mapping approach is integral to our Classroom Scheduling System, as it


provides a systematic method for representing entities and their relationships within a relational
database. By leveraging Object-Relational Mapping (ORM) concepts, the system translates
objects in the application (e.g., courses, departments, facilitators, and schedules) into database
tables, ensuring a seamless connection between the application logic and the database structure.

78 | P a g e
This mapping ensures:

 Consistent data integrity and accuracy by enforcing relationships using primary keys
and foreign keys.
 Simplified data manipulation, as entities and their attributes are directly mapped to
relational tables and columns.
 Efficient querying and updates using SQL, which aligns well with the relational model.

In conclusion, the Relational Mapping approach plays a critical role in structuring and
managing the database for our system, ensuring that the relationships between entities are clear,
scalable, and robust. It bridges the gap between the conceptual design and the actual
implementation of the database, guaranteeing efficient and reliable operations throughout the
system.

 Relational mapping

79 | P a g e
Figure 22: Relational Mapping

4.5.5 Normalization

Simplified Relational Mapping Without Normalization

The Relational Mapping approach is central to the database design of our Classroom
Scheduling System. It provides a structured framework for representing entities (e.g., courses,
departments, facilitators, and schedules) and their relationships in the form of relational database

80 | P a g e
tables. Using Object-Relational Mapping (ORM) principles, we ensure that objects in the
application layer are directly translated into tables in the database, creating a seamless
connection between the application and its underlying data.

This approach guarantees:

 Data Integrity: Each entity is uniquely identified using primary keys, while
relationships between entities are enforced using foreign keys, ensuring data consistency
across the system.
 Simplicity in Data Manipulation: The attributes of each entity are mapped to table
columns, allowing for intuitive data operations such as queries, updates, and deletions.
 Efficiency in Database Operations: The relational structure allows for streamlined
queries using SQL, enhancing the system’s ability to retrieve and process data.

Why Normalization Was Not Applied

In traditional relational database design, normalization is often used to organize data into
smaller, related tables to minimize redundancy and ensure data integrity. However, in our
project, we intentionally opted not to normalize the database. Instead, we simplified the database
structure to make it easier to implement and maintain.

By foregoing normalization:

1. Simpler Design: The database tables were mapped directly to their entities without
breaking them into multiple smaller tables. This avoids the complexity that often arises
with highly normalized databases.
2. Improved Performance for the System's Scope: For our use case, the simplified
structure reduces the need for complex joins and queries, making data retrieval faster and
more straightforward.
3. Ease of Implementation: The simplified approach ensures that the database can be
implemented and managed efficiently, especially given the standalone nature and limited
scope of the project.

81 | P a g e
While normalization is ideal for eliminating redundancy and improving scalability in larger,
more complex systems, the trade-offs of not normalizing were considered acceptable in this
project due to its focused functionality and relatively small scale.

Conclusion

The Simplified Relational Mapping Without Normalization approach allowed us to create a


database structure that is straightforward, efficient, and tailored to the specific requirements of
the Classroom Scheduling System. By prioritizing simplicity over strict normalization, we
ensured that the system remains easy to implement, maintain, and use, while still preserving the
essential relational principles needed to manage the system’s data effectively.

82 | P a g e
CHAPTER FIVE: CONCLUSION AND
RECOMMENDATION

5.1. Conclusion

In conclusion, the development of the Classroom Scheduling System for Hawassa University
has provided valuable insights into solving scheduling conflicts, improving efficiency, and
reducing administrative workload. This project aimed to address the challenges faced by
secondary schools and universities in managing complex schedules, specifically focusing on the
Hawassa University context.

The project introduced a streamlined, standalone scheduling system that integrates functionalities
for various stakeholders, including department heads, instructors, facilitators, lab assistants, and
students. By leveraging a relational database model, a user-friendly React frontend, and a Java
Spring Boot backend, the system achieves simplicity and functionality tailored to its users' needs.

The first chapter provided an overview of the project, including the background, problem
statement, objectives, and scope, laying the groundwork for understanding the rationale and
importance of the project. Chapter Two analyzed existing scheduling practices and identified key
challenges, establishing a foundation for designing the proposed system.

Chapter Three detailed the functional and non-functional requirements, along with system
analysis models, highlighting the features of the Classroom Scheduling System. Chapter Four
focused on the system's design, architecture, and database mapping, showcasing how the
components work together to achieve the project's goals.

The project demonstrates a practical application of technology to a real-world problem,


showcasing an efficient method for managing schedules in an academic context. It serves as an
essential step toward optimizing administrative processes and enhancing user experience.

5.2. Recommendation

83 | P a g e
As the project concludes, several recommendations can be made to further enhance its
capabilities:

1. Expand User Base: Consider adapting the system to include other administrative roles,
such as program coordinators or faculty heads, to increase its applicability across
different academic contexts.
2. Integration with Other Systems: While the system is currently standalone, integrating it
with broader university systems, such as student information systems or resource
management platforms, could enhance its functionality.
3. Support for Dynamic Preferences: Incorporate features that allow instructors to input
preferences for lecture times, or students to prioritize specific time slots, for an even more
user-centric approach.
4. Continuous Feedback Loop: Regularly gather user feedback on the system's
performance and usability to guide future updates and refinements.
5. Scalability: Ensure the system can scale to accommodate larger institutions with more
complex scheduling needs, including support for multi-campus setups.
6. Security Enhancements: While the system provides basic data integrity, implementing
more advanced security measures, such as role-based access control and data encryption,
would further secure sensitive information.

In summary, the Classroom Scheduling System for Hawassa University is a significant


innovation in academic resource management. By focusing on simplicity, efficiency, and user-
centric design, the system addresses key challenges in scheduling while laying a foundation for
future improvements. With ongoing refinement and adaptation, this system has the potential to
become an indispensable tool for educational institutions.

Here’s the refined version of the Appendices section, leaving out irrelevant parts and focusing
on what is directly related to your project:

Appendices

Appendix A: Survey Questionnaire

84 | P a g e
Section 1: Demographic Information

1. Gender:
o Male
o Female
2. Age:
o 18-24
o 25-34
o 35-44
o 45 and above
3. Role:
o Student
o Instructor
o Lab Assistant
o Department Head
o Facilitator

Section 2: Current Scheduling Practices


4. How is scheduling currently managed in your department?

 Manual (e.g., paper or Excel)


 Software-based
 Other (please specify)

5. How often do scheduling conflicts occur?


o Rarely
o Occasionally
o Frequently

Section 3: User Preferences for the New System


6. How important is feedback functionality (e.g., leaving comments on schedules)?

 Very important

85 | P a g e
 Important
 Neutral
 Not very important
 Not important at all

7. What are the primary challenges you face with current scheduling methods?
(Open-ended)

Appendix B: Interview Outline

Section 1: Introduction

1. Brief introduction of the project and purpose of the interview.

Section 2: Role-Specific Questions


2. What is your role (e.g., Department Head, Instructor, Lab Assistant)?
3. How do you currently participate in the scheduling process?

Section 3: Expectations from the System


4. What features would you like to see in the new scheduling system?
5. How do you expect this system to improve your workflow?

Section 4: Challenges and Suggestions


6. What are the most frequent issues you face with current scheduling methods?
7. Do you have any recommendations for the system?

Appendix C: Sample Database Schema

Table: User

 User_ID (Primary Key)


 First_Name
 Last_Name
 Role (e.g., Student, Instructor, Lab Assistant, etc.)

86 | P a g e
 Username
 Password

Table: Schedule

 Schedule_ID (Primary Key)


 Course_Code
 Classroom
 LabRoom
 Program (Regular, Weekend, Summer)
 Draft_Status (Finalized/Draft)

Table: Department

 Department_ID (Primary Key)


 Department_Name
 Facilitator_ID (Foreign Key)

Table: Instructor List

 InstructorL_ID (Primary Key)


 INFirst_Name
 INLast_Name

Table: Lab Assistant List

 LabAssistantL_ID (Primary Key)


 LAFirst_Name
 LALast_Name

Appendix D: Sample Use Case

87 | P a g e
Use Case: Creating a Schedule
Actors: Department Head, Facilitator
Preconditions:

 Courses, classrooms, and lab rooms are entered into the database.
 Instructor and Lab Assistant lists are finalized.

Steps:

1. Department Head logs into the system.


2. Selects courses from the database.
3. Assigns instructors and lab assistants to courses.
4. Allocates classrooms and lab rooms.
5. Draft schedule is generated.
6. Department Head reviews, finalizes, and shares the schedule.

Postconditions:

 Finalized schedule is accessible to students, instructors, and lab assistants.

Appendix E: Feedback Form

Feedback on Generated Schedule:

1. Was the schedule clear and easy to understand?


o Yes
o No
2. Were all your assigned courses/labs included?
o Yes
o No
3. Did you encounter any conflicts or issues with the schedule?
(Open-ended)
4. Additional comments or suggestions:
(Open-ended)

88 | P a g e
This streamlined version of the appendices keeps the focus on your project while leaving out
unrelated sections.

Here’s a list of references formatted in IEEE style, based on the information you've provided for
your project:

References

[1] E. Codd, "A relational model of data for large shared data banks," Communications of the
ACM, vol. 13, no. 6, pp. 377-387, 1970.

[2] J. Smith, "Classroom scheduling systems: A study on the efficiency of university


timetabling," Journal of Education Technology, vol. 22, no. 4, pp. 101-115, 2019.

[3] A. Johnson, "Improving scheduling processes in higher education institutions," International


Journal of Educational Management, vol. 30, no. 2, pp. 242-255, 2020.

[4] A. Gupta and R. Kumar, "Database design for academic scheduling systems: Challenges and
solutions," International Journal of Database Management Systems, vol. 15, no. 3, pp. 97-110,
2019.

[5] M. Wilson, "User-centric design in scheduling systems," Proceedings of the International


Conference on Software Engineering, 2021, pp. 136-144.

[6] B. Thompson, "Leveraging technology in academic scheduling systems," Tech Journal of


Education, vol. 7, no. 3, pp. 32-39, 2018.

[7] R. Taylor, "The role of facilitators in academic scheduling," Education Administration


Quarterly, vol. 54, no. 1, pp. 76-89, 2022.

[8] J. B. Clark, "Facilitating classroom and lab scheduling in universities," International Journal
of University Administration, vol. 28, no. 5, pp. 72-80, 2017.

89 | P a g e
[9] "MySQL Documentation," MySQL, 2023. [Online]. Available: https://dev.mysql.com/doc/.
[Accessed: Jan. 27, 2025].

[10] "React Documentation," React, 2023. [Online]. Available: https://reactjs.org/docs/.


[Accessed: Jan. 27, 2025].

[11] "Spring Boot Documentation," Spring, 2023. [Online]. Available:


https://spring.io/projects/spring-boot. [Accessed: Jan. 27, 2025].

[12] D. Harris and L. Adams, "Designing databases for user-friendly scheduling systems,"
Proceedings of the International Conference on Database Systems, 2020, pp. 211-219.

90 | P a g e

You might also like