0% found this document useful (0 votes)
74 views15 pages

Chapter Three

Chapter Three outlines the methodology for developing the Hostel Management System, detailing the transition from manual processes to an automated web application. It highlights the limitations of the existing system, such as inefficiency and lack of transparency, and describes the Waterfall Model adopted for development, which includes phases from requirement analysis to deployment. The chapter also covers functional and non-functional requirements, system design, implementation, and testing strategies to ensure the system meets user needs effectively.

Uploaded by

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

Chapter Three

Chapter Three outlines the methodology for developing the Hostel Management System, detailing the transition from manual processes to an automated web application. It highlights the limitations of the existing system, such as inefficiency and lack of transparency, and describes the Waterfall Model adopted for development, which includes phases from requirement analysis to deployment. The chapter also covers functional and non-functional requirements, system design, implementation, and testing strategies to ensure the system meets user needs effectively.

Uploaded by

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

CHAPTER THREE: METHODOLOGY

3.1 Introduction

In this chapter, the method followed in the development, design, and deployment of

the Hostel Management System was explained. The system was developed as a web

application with the aim of automating some of the hostel operations—such as

registration of students, checking room availability, filing of room requests, and

manual approval of requests by the administrator. The method followed in this

chapter directed the project from requirement analysis to testing and deployment

3.2 Analysis of the Existing System

Prior to development, the manual hostel management process was observed.

Observation indicated that:

• Students needed to physically approach the hall admin's office in order to ensure

room availability.

• Applications were processed using paper forms.

• Room allocation was done on a first-come-first-served basis in most cases, which

tended to result in delays, mistakes, and lack of transparency.

• The record-keeping and maintenance requests were ineffective since there was no

electronic system that was centralized.

3.2.1 Limitations of the Existing System

The existing hostel allocation system, which relies largely on manual procedures,

presents several practical challenges that hinder efficiency and fairness in student
accommodation management. As student populations continue to grow, the

drawbacks of the current system have become more pronounced.

Firstly, the allocation process is entirely manual. Administrators are responsible for

reviewing student applications, matching them with available rooms, and recording

this information by hand or using simple tools like spreadsheets. This process is not

only time-consuming but also highly prone to human error. Mistakes such as

duplicate room assignments or incorrect data entries are common, especially during

peak periods like the start of a new academic session.

In addition, the system lacks transparency. Students are often unaware of how

allocations are made or when their requests will be processed. In some cases, the

absence of clear guidelines creates room for favoritism or perceived bias, which

undermines trust in the allocation process.

Another major limitation is the absence of real-time updates. Students cannot check

the availability of rooms or monitor the status of their requests. As a result, many end

up submitting requests for already full rooms, leading to frustration and unnecessary

delays.

The system also does not provide any form of notification or alert mechanism.

Students have to physically visit the hostel office or rely on word of mouth to find out

whether their requests have been approved or rejected. This lack of communication

slows down the entire process and leaves students feeling disconnected.

Record keeping is another area of concern. Without a centralized digital system,

important data about room history, student occupancy, and maintenance issues can

easily be lost, misplaced, or duplicated.


Additionally, there is no structured way to report or resolve maintenance complaints.

When issues like broken facilities or plumbing faults arise, students have no formal

channel to log complaints, and administrators have no system to track, prioritize, or

respond to them efficiently.

Finally, the current system does not scale well. As student enrollment increases, the

workload on hostel administrators becomes overwhelming. Managing hundreds or

thousands of students manually is simply not sustainable in the long term.

These limitations highlight the need for a more robust, transparent, and automated

system that can streamline hostel room allocation and management in a way that

benefits both students and administrators.

3.3 Development Strategy for the Proposed System

For the successful development of this hostel management system, the Waterfall

Model was adopted as the primary software development methodology. The Waterfall

Model is a linear and sequential approach that allows each phase of development to be

completed before the next begins, ensuring proper documentation and structured

progress (Sommerville, 2011). This model was chosen due to its clarity, ease of use,

and suitability for projects with well-defined requirements, such as this one.

Given that the scope and functionalities of the system were already well-understood

from the early stages—such as user registration, room requests, allocation approvals,

maintenancet tracking, and administrative control—the Waterfall Model was

appropriate in maintaining discipline, simplicity, and reduced project risk (Royce,

1970). Its rigid nature makes it a preferred choice for academic systems where

changes are minimal once development begins.


Additionally, the Waterfall Model enhances traceability and accountability, allowing

the project team to track deliverables across each stage and align them with

documented requirements (Peters & Pedrycz, 2000). Although it has limitations in

terms of flexibility, the model proved effective for this project as the requirements

remained stable throughout the process.

3.3.1 Phases of the Waterfall Model

The Waterfall Model consists of the following sequential phases:

1. Requirement Analysis: In this phase, the functional and non-functional

requirements of the system were gathered through observation of current hostel

allocation practices and literature review. It served as the foundation for

understanding user needs and system constraints.

2. System Design: Based on the requirements, the overall architecture, database

schema, and interface structure of the system were designed. This phase included the

creation of data flow diagrams, ER diagrams, and interface wireframes.

3. Implementation: The actual development of the hostel management system was

carried out using Django as the backend framework and Bootstrap for the frontend

design. The system components were built according to the design specifications.
4. Testing: The developed modules were tested for accuracy, performance, and

security. Both functional testing (e.g., room request and approval flow) and non-

functional testing (e.g., responsiveness and usability) were performed.

5. Deployment: After successful testing, the system was deployed locally for

demonstration and evaluation purposes.

6. Maintenance: Although not extensively addressed in this academic project, the

maintenance phase is included in the model to accommodate future updates or bug

fixes after deployment.

This structured and disciplined model helped ensure that the system met its intended

goals within the given timeline and with clear deliverables at every phase

(Sommerville, 2011; Royce, 1970).

3.4 Requirement Analysis

Requirement analysis is a critical phase in system development, as it helps to define

what the system should do and how it should behave under various conditions. This

phase involves identifying the functional and non-functional requirements of the

system, both of which are essential in ensuring that the final product meets the needs

of the users.

For the proposed hostel management system, the requirements were gathered through

a combination of user observation, discussions with stakeholders (such as students

and hall administrators), and analysis of similar systems. The goal was to ensure the

system aligns with institutional policies and addresses the common challenges

associated with room allocation, maintenance, and administrative management.

The requirements are divided into two categories:


3.4.1 Functional Requirements

Functional requirements specify the key features and capabilities the system must

provide. These define what the system is expected to do to meet user needs. The

proposed hostel management system includes the following functional requirements:

1. User Authentication: Students and administrators must be able to register, log

in, and log out securely.

2. Student Profile Management: Students can fill in and update their profiles (e.g.,

name, department, level).

3. Room Availability Display: The system shows currently available rooms to

students in real time.

4. Room Request Submission: Students can request specific rooms online.

5. Room Allocation Management: Admins can approve or reject room requests.

6. Notifications: Students receive in-system notifications when their room or

maintenance requests are approved or rejected.

7. Maintenance Request Module: Students can file maintenance issues, and

admins can resolve them.

8. Admin Dashboard: Admins can manage students, rooms, requests, and

maintenance logs

3.4.2 Non-Functional Requirements

The non-functional requirements define the quality attributes, constraints, and system

characteristics that ensure the efficiency, reliability, and usability of the hostel

management system. These include:

1. Performance: The system responds promptly to user requests, with room

allocation operations and data retrieval typically completing within two seconds.
2. Scalability: The application is scalable to accommodate an increasing number of

students, rooms, and hostels as the institution expands.

3. Usability: The user interface is intuitive and user-friendly, designed to

accommodate users with minimal technical expertise. Features are clearly labeled

and navigable.

4. Availability: The system maintains high availability, especially during critical

periods such as room request and allocation phases, minimizing downtime.

5. Security: All user passwords are stored using encryption techniques, and user

authentication is required to access protected features. Admin and student

privileges are separated to prevent unauthorized access.

6. Data Integrity: The system ensures that data entered into the database is

consistent, accurate, and validated. Allocation conflicts (e.g., double-booking a

room) are programmatically prevented.

7. Maintainability: The codebase and database design follow standard conventions,

making the system easy to maintain, update, and extend in the future.

8. Portability: The system is web-based and functions across different browsers

and devices, ensuring accessibility from desktops, tablets, and smartphones.

9. Responsiveness: The system supports dynamic rendering and adapts to different

screen sizes and resolutions, improving mobile usability.

10. Auditability: Actions such as room requests, approvals, and updates are logged

in the database, enabling accountability and traceability.

3.5 System Design

System design serves as the blueprint for building the proposed hostel management

system. It focuses on defining the architecture, interface layouts, data models, and
process flows that guide developers in creating a functional and user-friendly

application.

3.5.1 System Architecture

The system adopts a three-tier architecture, separating responsibilities into the

presentation layer (frontend), logic layer (backend), and data layer (database). This

modular structure enhances maintainability, scalability, and security.

• Presentation Layer (Front-end): The user interface is developed in HTML, CSS,

and JavaScript using Bootstrap that provides a responsive and usable design.

• Business Logic Layer (Back-end): The back-end was implemented using Django,

which handled data processing, room allocation logic, and user authentication.

• Database Layer: MySQL was employed to safely store data such as student

profiles, hostel information, room information, and maintenance records.

3.5.2 User Interface Design

The user interface is designed with simplicity and usability in mind. Key design

elements include:

Navigation Bar: Offers quick access to features such as room list, dashboard, profile,

and settings.

Student Dashboard: Displays the student's room requests, approved allocations, and

maintenance requests.

Admin Dashboard: Provides an overview of all students, room statuses, and pending

allocations.

Forms: Used for signup, room requests, and maintenance reporting. These forms

incorporate validation and error handling for better user experience.

The design is mobile-responsive, allowing seamless use on various devices.


3.5.3 Entity Relationship Model

The Entity Relationship (ER) model of the proposed Hostel Management System

illustrates how entities in the system interact with one another. Each relationship

represents a real-world interaction between components of the system and helps

maintain referential integrity in the database. The key relationships include:

1. User – Student (One-to-One) Every student is associated with a unique user

account. The Student entity references the User entity through a foreign key (user_id).

This relationship ensures that each student inherits authentication credentials from the

base User model, allowing unified login functionality for both students and admins.

2. Hostel – Room (One-to-Many) Each hostel can contain multiple rooms,

establishing a one-to-many relationship. The Room entity holds a foreign key

(hostel_id) referencing the Hostel entity, indicating that many rooms can belong to a

single hostel

3. Student – Allocation (One-to-Many) A student may submit multiple room

requests over time (e.g., if earlier ones are rejected), creating a one-to-many

relationship between Student and Allocation. Each allocation is tied to a specific

student via the student_id.

4. Room – Allocation (One-to-Many) Each room can have multiple allocations over

time, although only a limited number can be approved concurrently based on room

capacity. The Allocation entity references the Room entity through the room_id

foreign key.

5. Student – Maintenance-request (One-to-Many) Students can submit multiple

maintenance requests. The Maintenance-request entity links to the Student entity via

student_id, allowing the system to track which student raised a given issue.
6. User – Allocation (One-to-Many) Admins (a special type of user) approve room

allocations. The approved_by field in the Allocation entity references the User who

performed the approval, establishing an administrative trail.

7. User – Maintenance-request (One-to-Many) Similarly, admins who resolve

maintenance requests are tracked via the resolved_by field in the Maintenance-request

entity. This field references the User who handled the resolution.

8. Student – Notification (One-to-Many) A student may receive multiple

notifications regarding room approvals, rejections, or maintenance resolutions. The

Notification entity contains a foreign key to the Student entity (student_id),

establishing this one-to-many relationship.

FIGURE 3.2: ENTITY RELATIONSHIP DIAGRAM

3.5.4 Data Flow Diagram

The Data Flow Diagram (DFD) visually represents how data moves through the hostel

management system, outlining the sources, processes, and data storage involved. The

DFD is essential for understanding the structure of the system and the interactions
between users (students and administrators) and the various modules of the system. It

helps identify the logical flow of information and the dependencies among different

components. This section illustrates both the high-level (Level 0) and detailed (Level

1) views of the system. These diagrams help stakeholders gain insight into how the

system operates, from student registration to room allocation and maintenance request

handling.

Level 0 DFD (Context Diagram)

The Level 0 DFD, also known as the context diagram, provides a broad overview of

the entire system. It represents the system as a single process and shows the

interaction between external entities (students and administrators) and the system.

Level 1 DFD

The Level 1 DFD breaks down the major system process into sub-processes, showing

how data flows between modules such as authentication, room allocation,

maintenance request handling, and student notifications. It gives a more granular view

of the internal functionality of the system.


3.6 Implementation

The implementation phase involved translating the system design into a working

software application. This included setting up the development environment, building

the user interfaces, writing back-end logic, connecting the database, and integrating

all modules of the hostel management system. The system was developed using

Django for the back-end, MySQL for data storage, and Bootstrap for front-end

styling.

3.6.1 Development Environment

The system was built using the following tools and technologies:

 Operating System: Windows 11

 Programming Language: Python 3.13

 Framework: Django 5.2 (Model-Template-View architecture)

 Database: MySQL

 Front-End: HTML, CSS (Bootstrap), JavaScript

 Text Editor/IDE: Visual Studio Code

 Browser for Testing: Google Chrome


These tools were chosen for their robustness, support for rapid development, and

compatibility with modern web technologies.

3.6.3 Challenges Faced

Several challenges arose during the development of the system, including:

 Integrating the notification system and ensuring it works with allocation updates.

 Handling database migrations when new fields were added (e.g., level,

notifications_enabled).

 Fixing template errors, such as incorrect context data or unsupported template

tags.

 Implementing secure and user-friendly features like password change and real-

time notifications.

 Ensuring mobile responsiveness and proper user experience across devices.

Despite these challenges, debugging, documentation, and help from community

forums enabled successful resolutions.

3.7 Testing

To ensure the system functioned as expected, several testing methods were employed:

 Unit Testing: To verify individual functions such as room request, allocation

approval, and rejection.

 Integration Testing: To ensure modules like student signup, room allocation,

and notifications worked together smoothly.

 User Testing: The system was manually tested with different user roles (student

and admin) to observe real-time behavior and identify edge cases.


 Validation: Input forms were tested to reject invalid entries and ensure security

(e.g., password mismatch, duplicate usernames).

The system passed all test cases relevant to its scope and met the initial project

objectives.

3.8 Framework of the Proposed System

The hostel management system follows a modular, web-based framework that

separates concerns across multiple layers:

 Presentation Layer: The user interface accessible via browser, built with

HTML/CSS and Bootstrap.

 Application Layer: Handles business logic — implemented using Django views

and models.

 Data Layer: Manages persistent data using MySQL, supporting student records,

room details, and allocations.

 Security Layer: Handles authentication, session management, and access

control.

This framework was chosen for its scalability, ease of maintenance, and alignment

with modern web application architecture.

3.8.1 Use Case Model

The use case model represents the functional requirements of the proposed hostel

management system by identifying key interactions between users (actors) and the

system. It provides a high-level overview of how the system will be used and what

functionalities it must support to fulfill user needs.


In the context of this project, the primary actors include Students and Admins. Each

actor interacts with the system differently:

Students can register, log in, view available rooms, request room allocations,

view allocation status, submit maintenance requests, and manage their profile.

Admins have access to manage hostels and rooms, approve or reject room

allocation requests, resolve maintenance issues, and manage student records.

The use case diagram serves as a planning tool for developers and a communication

bridge between stakeholders and the development team. It ensures that all user

interactions are properly captured and that the system meets its intended goals.

You might also like