Professional Documents
Culture Documents
Okil Project
Okil Project
COLLEGE, ROURKELA
Project Report on
Submitted by:
Okil Barwa
21CSC035
1|P a g e
Declaration
I Okil Barwa, final year student having following, roll no: 21CSC035, do herby declare that
the project “Complain Redressal System”, has been done by me at Government Autonomous
College, Rourkela under the guidance of Dr. Abeg Kumar Jaiswal, for the partial fulfillment
of the requirement for the award of the Degree of Bachelor in Science from Sambalpur
University, Jyoti Vihar, Burla.
2|P a g e
Certificate
This is to certify that the student bearing the following roll number and name,
Has developed the project titled “Complain Redressal System” as partial fulfillment for the
award of the Degree of Bachelor in Science from Sambalpur University, Jyoti Vihar, Burla.
3|P a g e
Acknowledgement
It is a privilege to express our deep sense of gratitude to our guide Dr. Abeg Kumar Jaiswal,
Asst. Professor, HOD, Department of Computer Science, Government Autonomous College
Rourkela, for his constant encouragement, valuable guidance and benevolent help, which was
of great support to bring this work in its present shape. This work is the result of inspiration,
support, guidance, motivation, cooperation and facilities that were extended to us at their best
at all levels. The discussions with them regarding various issues of our project has been very
beneficial and gave us a new direction of thinking. All these discussions have indeed played a
vital role in progress of our work at many critical points during my endeavor. We are highly
indebted to the teacher of computer science department for their facilities and guidance. We
would also like to acknowledge ones, who, from behind the scenes have contributed their
ideas and energies.
- Okil Barwa
21CSC035
4|P a g e
TABLE OF CONTENTS
ABSTRACT I
LIST OF TABLES II
Chapter 1 CHAPTER-1
1.1 Introduction 1
1.6 Technologies 4
Chapter 2 CHAPTER-2
2.2 Methodology 6
Chapter 3 CHAPTER-3
Chapter 4 CHAPTER-4
4.3 DFD 15
4.4 Use Case Diagram 16
Chapter 5 Coding 27
Chapter 6 Testing 34
Chapter 9 References 48
I. ABSTRACT
The Complaint Redressal System (CRS) is a comprehensive web-based application designed to optimize the
process of receiving, managing, and resolving Complain within an organizational framework. The system
leverages modern technologies to provide an efficient, transparent, and user-friendly platform for both
complainants and staff members.
Key Features:
1. User Authentication and Authorization:
Implements secure login mechanisms to authenticate users and control access based on
predefined roles (complainants, staff, administrators).
2. Complaint Registration:
Allows complainants to submit their grievances through a user-friendly interface, capturing
essential details such as complaint type, description, and relevant documents.
3. Complaint Tracking:
Provides real-time tracking of complaint status to both complainants and staff members,
ensuring transparency and accountability throughout the resolution process.
4. Staff Assignment and Escalation:
Assigns Complain to relevant staff members automatically or manually, with support for
escalation procedures to address unresolved issues promptly.
5. Resolution Updates:
Facilitates communication between complainants and staff by enabling updates on the
status and progress of each complaint.
6. Reporting and Analytics:
Incorporates reporting tools to generate insights into complaint trends, resolution times,
and areas for improvement, aiding in data-driven decision-making.
7. Security Measures:
Implements robust security measures to protect sensitive data, including encryption, secure
authentication protocols, and access controls.
LIST OF TABLES
1 Gantt Chart 9
1 Flow Diagram 13
2 ER 14
3 DFD 15
5 Sequence Diagram 19
6 Class Diagram 20
7 State Diagram 21
8 Testing Types 35
II
List of Symbols and Abbreviations
· DFD – Data-FlowDiagram
In the contemporary landscape of customer-centric services and organizational efficiency, the need for a
robust Complaint Redressal System (CRS) is paramount. This project addresses the growing necessity for an
organized, transparent, and efficient mechanism to handle and resolve complaints within an organization.
The Complaint Redressal System provides a structured platform that streamlines the process of receiving,
managing, and resolving complaints, ultimately enhancing customer satisfaction and organizational
effectiveness.
Objectives:
Establish a transparent process where complainants can track the status and progress of
their complaints in real-time, promoting accountability within the organization.
3. Timely Resolution:
Design mechanisms for prompt assignment of complaints to relevant staff members and
facilitate effective communication channels to ensure timely resolution.
4. User-Friendly Interface:
Create an intuitive and accessible user interface for complainants, staff members, and
administrators to interact seamlessly with the Complaint Redressal System.
Implement robust security measures to protect sensitive information, ensuring data integrity
and safeguarding against unauthorized access.
Key Features:
1
The Complaint Redressal System will incorporate the following key features:
2
Secure login mechanisms to authenticate users and control access based on predefined
roles.
2. Complaint Registration:
3. Complaint Tracking:
Real-time tracking of complaint status for both complainants and staff members.
5. Resolution Updates:
Reporting tools to generate insights into complaint trends, resolution times, and areas for
improvement.
Technology Stack:
The Complaint Redressal System project will utilize Java, Servlets, JSP (JavaServer Pages), HTML, CSS, and
JavaScript for the development of both the backend and frontend. Database connectivity will be established
using JDBC, ensuring a secure and efficient storage and retrieval system.
2
2. Problem Statement:
In contemporary organizational environments, the efficient handling and resolution of complaints are critical
for maintaining customer satisfaction, trust, and organizational effectiveness. However, many organizations
face challenges in implementing a streamlined and transparent Complaint Redressal System (CRS). The
absence of a dedicated system often results in inefficiencies, communication gaps, and a lack of accountability
in addressing grievances.
Issues and Challenges:
Problem: Existing complaint resolution processes are often manual, leading to delays, errors,
and a lack of transparency in tracking and managing complaints.
Problem: Handling sensitive information without adequate security measures poses risks to
data integrity and privacy.
Problem: Limited communication channels between complainants and staff members lead to
a lack of real-time updates and feedback.
Problem: Lack of integrated reporting tools and analytics hampers the organization's ability
to derive insights from complaint data.
Impact: Inability to identify trends, areas for improvement, and make data-driven decisions.
6. Resistance to Change:
Problem: Employees may resist the transition to a new Complaint Redressal System due to
fear of job displacement or concerns about adapting to new technology.
Impact: Slow adoption, reduced system effectiveness, and potential challenges in achieving
organizational buy-in.
3
Objective of the Project:
The objective of the Complaint Redressal System project is to address these challenges by
developing and implementing a comprehensive, user-friendly, and secure system. The proposed
system aims to automate and optimize the complaint resolution process, providing a centralized
platform for complaint registration, tracking, and efficient resolution. The system will prioritize
security, accessibility, and transparency, contributing to enhanced customer satisfaction and
organizational efficiency.
Expected Outcomes:
Streamlined and automated processes for faster and more efficient complaint resolution.
2. Improved Communication:
Robust security protocols to ensure the integrity and privacy of sensitive complaint-related
information.
5. User-Friendly Interface:
Intuitive interfaces for complainants, staff, and administrators to ensure easy adoption and
usage.
By addressing these issues, the Complaint Redressal System project seeks to revolutionize the
complaint resolution process, ensuring a responsive, accountable, and customer-centric approach
within the organization.
4
3. Objective and Scope:
Objective:
The primary objective of the Complaint Redressal System project is to design, develop, and implement a
comprehensive and efficient system that addresses the challenges associated with complaint management
within an organization. The project aims to enhance customer satisfaction, improve organizational
transparency, and streamline the process of handling and resolving complaints. The specific objectives
include:
Develop an automated system that efficiently manages the entire lifecycle of a complaint, from registration
to resolution, reducing manual intervention and minimizing delays.
Create user-friendly interfaces for complainants, staff members, and administrators, ensuring ease of use
and accessibility. The goal is to enhance the overall user experience throughout the complaint resolution
process.
Implement a mechanism that allows complainants to track the status and progress of their complaints in
real-time. This feature fosters transparency and keeps complainants informed about the resolution process.
Develop a system for the automated or manual assignment of complaints to relevant staff members based
on their expertise, workload, or other predefined criteria. This ensures that each complaint is addressed
promptly by the appropriate personnel.
Escalation Mechanism:
Introduce an escalation mechanism to address unresolved complaints promptly. This involves routing
complaints to higher levels of authority or specialized personnel when necessary, ensuring that complex
issues receive the attention they require.
Implement robust security measures to protect sensitive information, ensuring data confidentiality, integrity,
and compliance with privacy regulations.
Integrate reporting and analytics tools to derive meaningful insights from complaint data. This facilitates
informed decision-making, identifies patterns, and highlights areas for process improvement.
Timely Resolution:
Establish mechanisms to ensure timely resolution of complaints. This includes setting service level
agreements (SLAs) and implementing notifications to prompt staff and administrators about impending
deadlines.
Communication Channels:
5
Improve communication channels between complainants and staff members to enable efficient and
transparent communication throughout the complaint resolution process. Automated notifications and
updates play a crucial role in this objective.
Scalability:
Design the system to be scalable, allowing it to handle an increasing volume of complaints as the
organization grows. This ensures the long-term effectiveness and sustainability of the Complaint Redressal
System.
Change Management:
Implement strategies for effective change management, addressing employee concerns, and promoting a
positive attitude towards the adoption of the new system.
By achieving these objectives, the Complaint Redressal System project aims to revolutionize the way
complaints are handled within the organization, fostering a culture of responsiveness, transparency, and
continuous improvement in complaint resolution processes.
Scope:
The scope of the Complaint Redressal System project encompasses various aspects of complaint handling
within an organization. The project aims to create a comprehensive system that streamlines and enhances
the efficiency of the complaint resolution process. The key elements within the project scope include:
Complaint Registration:
The system will provide a user-friendly interface for complainants to register their grievances. This includes
capturing essential details such as complaint type, description, relevant documents, and contact
information.
Implement secure user authentication and authorization mechanisms to control access based on predefined
roles. Different user roles may include complainants, staff members, and administrators.
Complaint Tracking:
Develop a mechanism for real-time tracking of complaints. Complainants should be able to monitor the
status and progress of their complaints, providing transparency throughout the resolution process.
The system will automate or allow manual assignment of complaints to relevant staff members based on
predefined criteria. An escalation mechanism will be in place to address unresolved complaints promptly.
Resolution Updates:
6
Enable communication channels between complainants and staff members for updates on the status and
progress of each complaint. Automated notifications will keep involved parties informed.
Security Measures:
Implement robust security measures to ensure the confidentiality and integrity of complaint-related
information. This includes encryption, secure authentication, and access controls.
Integrate reporting and analytics tools to generate meaningful insights from complaint data. The system will
provide customizable reports and dashboards for administrators to analyze trends and make informed
decisions.
Scalability:
Design the system to be scalable, capable of handling an increasing volume of complaints as the organization
grows. This includes considerations for database scalability and system performance.
Change Management:
Develop strategies for effective change management to address employee concerns and promote a positive
attitude towards adopting the new Complaint Redressal System.
Feedback Mechanism:
Incorporate a feedback mechanism within the system to gather input from users, allowing for continuous
improvement. This includes feedback from both complainants and staff members.
Consider integration points with existing organizational systems to ensure a seamless flow of information.
This may involve integrating with databases, authentication systems, or other relevant applications.
Provide training sessions and comprehensive documentation to ensure that users, including complainants
and staff members, are well-versed in using the system.
Compliance:
Ensure that the Complaint Redressal System complies with relevant data protection and privacy regulations.
This involves implementing measures to safeguard personal and sensitive information.
7
By defining the scope of the Complaint Redressal System project with these elements, the aim is to create a
holistic solution that addresses the challenges associated with complaint management, fostering a culture of
efficiency, transparency, and continuous improvement within the organization.
Existing System
Before implementing a Complaint Redressal System (CRS), it's essential to analyze the limitations and
shortcomings of the existing system. Below is an assessment of common issues that organizations may face in
the absence of a dedicated CRS:
Manual Complaint Handling:
Challenge: Complaints are managed manually, leading to delays and errors in the resolution process.
Impact: Prolonged resolution times, increased likelihood of human errors, and inefficiencies in handling
a growing volume of complaints.
Lack of Transparency:
Challenge: Limited visibility for complainants into the status and progress of their complaints.
Impact: Decreased customer satisfaction, as complainants may feel uninformed and frustrated with the
lack of transparency.
Inefficient Communication:
Challenge: Inadequate communication channels between complainants and staff members.
Impact: Difficulty in providing timely updates to complainants, leading to misunderstandings and
potential escalation of issues.
Security Concerns:
Challenge: Sensitive information is vulnerable due to inadequate security measures.
Impact: Risk of data breaches, loss of trust, and potential legal implications for mishandling sensitive
information.
Limited Reporting and Analytics:
Challenge: Absence of comprehensive reporting tools and analytics for deriving insights from complaint
data.
Impact: Inability to identify trends, areas for improvement, and make informed, data-driven decisions.
Scalability Issues:
Challenge: The existing system may struggle to handle a growing volume of complaints as the
organization expands.
Impact: Reduced efficiency, increased risk of backlogs, and challenges in maintaining service levels
during periods of high complaint volume.
Dependency on Manual Escalation:
Challenge: Lack of an automated escalation mechanism for unresolved complaints.
Impact: Delays in addressing critical issues, potential loss of important customer accounts, and a
negative impact on organizational reputation.
Limited Accountability:
Challenge: Absence of a systematic way to assign and track responsibility for each complaint.
Impact: Reduced accountability, making it difficult to address performance issues and recognize
effective complaint resolution.
In the Proposed System (“Complain Redressal System ”), we’ll get the following advantages:
8
The proposed Complaint Redressal System (CRS) is designed to overcome the limitations of the existing
system and introduce a comprehensive, efficient, and user-friendly platform for complaint management within
the organization. The key features and improvements in the proposed system include:
1. Automated Complaint Handling:
Benefits: Reduced manual intervention, faster processing times, and improved accuracy in
handling complaints.
Objective: Implement a user-friendly interface for complainants to track the status and
progress of their complaints in real-time.
Objective: Develop an automated system for assigning complaints to relevant staff members
based on predefined criteria. Introduce an escalation mechanism for unresolved complaints.
5. Security Measures:
Benefits: Enhanced data security, compliance with privacy regulations, and increased trust in
the system.
Objective: Integrate reporting and analytics tools to derive meaningful insights from
complaint data.
7. Scalability:
9
Benefits: Improved system performance, reduced risk of backlogs, and consistent service
levels during periods of high complaint volume.
2. Change Management:
Objective: Develop strategies for effective change management, including training sessions
and documentation, to ensure a smooth transition for employees.
3. Feedback Mechanism:
Objective: Incorporate a feedback mechanism within the system to gather input from users,
allowing for continuous improvement.
Benefits: Valuable insights for system enhancements, increased user engagement, and a
responsive approach to user needs.
Objective: Plan for seamless integration with existing organizational systems, ensuring a
cohesive flow of information.
· Architecture: MVC.
· IDE: Eclipse.
· Database: MYSQL.
· Documentation: MS-WORD.
· Designing: E-DRAW.
10
CHAPTER – 2
System Analysis
A literature survey involves reviewing relevant academic and industry literature to understand
existing research, technologies, and best practices related to the Complaint Redressal System. Below are key
points gathered from the literature survey:
Literature emphasizes the critical role of complaint redressal systems in maintaining customer satisfaction,
organizational reputation, and overall business success.
Effective complaint management is linked to increased customer loyalty and positive brand perception.
Studies highlight the advantages of automation in complaint handling processes. Automation reduces
manual errors, accelerates resolution times, and ensures consistency in procedures.
Scholarly articles emphasize the significance of providing real-time tracking capabilities to complainants.
Transparency in the complaint resolution process fosters trust and customer satisfaction.
Security concerns in complaint redressal systems are addressed in the literature. Encryption, secure
authentication, and access controls are identified as essential components to protect sensitive data.
Research highlights the importance of effective communication channels between complainants and staff
members. Timely updates and clear communication contribute to successful complaint resolution.
Escalation Mechanisms:
The literature suggests the implementation of efficient escalation mechanisms for unresolved complaints. A
structured approach to escalating issues ensures critical problems receive prompt attention.
11
Comprehensive reporting and analytics tools are identified as crucial for deriving insights from complaint
data. Organizations can make informed decisions and continuously improve their processes based on data-
driven feedback.
Successful implementation of complaint redressal systems requires attention to user adoption and change
management. Training programs and documentation are highlighted to ease the transition for users.
Scalability Considerations:
Scalability is discussed as a critical factor, especially in growing organizations. The ability of a system to
handle an increasing volume of complaints without compromising performance is emphasized.
Feedback Mechanisms:
Literature acknowledges the importance of feedback mechanisms within the system. User feedback is
valuable for system enhancements, ensuring the system remains responsive to user needs.
The need for seamless integration with existing organizational systems is emphasized. Integration minimizes
redundancy, improves data accuracy, and facilitates efficient data flow across the organization.
Literature underscores the necessity of ensuring that complaint redressal systems comply with relevant legal
and regulatory requirements, particularly concerning data protection and privacy.
2.2 METHODOLOGY
1. AgileMethodology
Agile SDLC methodology is a combination of iterative and incremental process models with focus on
process adaptability and customer satisfaction by rapid delivery of working software product.
Agile Methods break the product into small incremental builds. These builds are provided in
iterations.Eachiterationtypicallylastsfromaboutonetothreeweeks.Everyiterationinvolves cross
functional teams working simultaneously on various areas like planning, requirements analysis,
design, coding, unit testing, and acceptancetesting.
At the end of the iteration a working product is displayed to the customer and important stakeholders.
12
Userstoriesareuserrequirementsintheplaincustomer’slanguagewithoutincludingtoomany details.
Usually User stories are written in followingformat.
As a <User> I want to <Perform a function> to <achieve something>
Once story is completed, it needs to be estimated, in a session with the help of the team. Participants
of the story estimation team are development team members and product owner. Presence of
development team is important since they can provide good feedback regarding design, development
and testing activities. Product owner presence is also important because of his knowledge of business.
Story points: Story points are used as unit of estimation in agile world. Sometimes teams assigned a
time frame to story point to get exact idea how much time it will take to complete the story.
Sometimes team select the hours instead of story point though it's not preferred estimation unit.
The question is why we want to estimate the stories, the simple answer to this question is “to know
how long would it take to complete them”, knowing the estimate is important to get an idea how many
user stories can be completed within one Release.
Steps 3 & 4: Story Prioritization in the backlog
Only a set of stories are selected to be implemented in iteration. To select the stories for
iteration,teamprioritizesthembasedontheirimportance,need andriskvalue.Forexample,in the start of the
project user stories which are related to design will take precedence over development related user-
stories. Usually, higher risk stories are also of highest priorityones.
Out of iteration stories can be prioritized and re-prioritize when needed inside the product backlog,
but once added to the iteration (sprint) adding or replacing user-stories with the existing ones is not
recommended.
Therearecoupleoffamoustechniquesusedtoprioritizetheuserstories.Oneofthemiscalled
MoSCoW(MustShouldCouldWon't)technique.Inthismethoduserstory’spriorityisdefined by words
'must', 'should', 'could' and'won’t'.
Step 5: Release Planning
A release is a time-boxed activity in which certain high ranked user stories are set to be completed. A
release planning meeting is arranged so team could see what product owner and stakeholders want to
achieve in a specific time. And also gets chance to look into the vision and road map for the product.
This meeting helps everyone in the team to come on the same
page.Stakeholdersandproductownertransfertheirvisionandexpectationtothedevelopment team.
13
Development team contributes in refining the concept of the project by asking more questions and in
some cases providing the answers of the unknowns given by product owner or come up as a result of
thediscussions.
Step 6 & 7: Sprint Planning & Task Creation Process.
The Sprint planning meeting takes place in the beginning of iteration. The development team selects a
higher priority user story and divides it into one or many tasks. Tasks are createdand assigned
bydevelopers.
Sameprocessisrepeatedforallthestoriesuntilcapacityoftheteamisreached.Oncecapacity is reached no
more user stories are added. During the process of dividing the user stories into task, everyone in the
development team collaborate and give his/her estimate to complete a task, planning poker technique
can be used for that purpose. Team identifies the work to perform and commits to delivering potential
product increment at the end ofiteration.
Step 8-12: Sprint Iteration
Development team works on design, development and testing activities during an iteration (sprint).
Duration of a sprint varies from team to team. 1-4 weeks iteration can be selected but mostly 2 week
iteration is popular in agile.
Step8-12showssprintandactivitiesperformedduringandattheendofasprint.Attheendof each sprint
product output is produced and demonstrated to the customer in Sprint Review meeting. Also at the
end of each sprint retrospective is performed to review the scrum process within scrumteam.
A release may consist of many sprints. Release output is a product that can be used by the customer.
14
Gantt Chart:
Requirement
Gathering 4 Weeks
&Analysis
Design 2 Weeks
Coding 2 Weeks
Testing 3 Weeks
Deployment
&Implementati 1 Week
on
15
CHAPTER – 3
The aim of proposed system is to develop a system of improved facilities .The proposed system can overcome all
the limitations of the existing system .The System provides proper security and reduces the manual work.
· Security Of Data
· Greater Efficiency
· Better Service
The Complaint Redressal System (CRS) involves various inputs and outputs to facilitate the complaint
management process. Here's an overview of the key inputs and outputs:
Inputs:
1. User Inputs:
Complainant Information:
Complaint Details:
2. Staff Inputs:
Resolution Updates:
Resolution Details:
Actions taken, resolution notes, and any additional information related to the complaint.
3. Administrator Inputs:
System Configuration:
Reporting Criteria:
2
Parameters for generating reports and analytics.
4. System Inputs:
Escalation Rules:
Outputs:
1. User Outputs:
Complainant Notifications:
Resolution Details:
2. Staff Outputs:
Assigned Complaints:
Escalation Notifications:
3. Administrator Outputs:
Comprehensive reports on complaint trends, resolution times, and other key metrics.
4. System Outputs:
Automated Assignments:
Escalation Alerts:
Interactions:
1. Complainant Interactions:
3
Complaint Registration:
Complainants interact with the system to register their grievances, providing necessary
details.
Real-time Tracking:
Complainants can log in to the system to track the status and progress of their
complaints.
2. Staff Interactions:
Complaint Assignment:
Staff members interact with the system to view and accept assigned complaints.
Resolution Updates:
Staff provide updates on the resolution status and document actions taken.
3. Administrator Interactions:
Administrators interact with the system to configure settings, manage user roles, and
maintain the system.
Report Generation:
4. System Interactions:
Automated Processes:
The system interacts with automated processes for complaint assignment, escalation,
and notifications.
The CRS interacts with existing organizational systems to ensure data consistency and
integration.
1. Complaint Trends:
2. Resolution Times:
3. User Performance:
Metrics on staff performance, including resolution times and customer satisfaction ratings.
4
4. System Usage Statistics:
Information on the number of complaints processed, user logins, and system response times.
1. Compliance Reports:
Documentation and reports demonstrating the system's compliance with data protection and
privacy regulations.
CHAPTER – 4
This application is designed by using J2EE and MYSQL Database. The Front end is designed by using Bootstrap4,
HTML, CSS, Jquery supported by back end as MySQL. We have used Tomcat Web Server to deploy the
application. We have implemented backup strategy to restore the data which is lost accidentally. User management
like password expire, password protection, password encryption will be taken care in the project.. It prevents
unauthorized data access and it restrict data hacking or manipulation. In application server end user sessions will
be handled.
FLOW CHART
Based on end user necessities as well as the thorough investigation on current system we have suggested a system
that satisfies user requirements. Initially admin will going to login to the system. Once he successfully logged in,
he will be able to upload student details and faculty details. Admin may be head of the department. And he will
give access to faculties and students. Admin have the privileges to view/edit the details of both students and
faculties. Also he can send the circular or the notice to all faculties and students. Also he can see the reports of the
students’ and faculties. Faculty will be going to log in to the system. He can store the student attendance and
internal assessment marks also he can view the same. And average of internal assessments calculated
automatically. The faculty can generate report based on the student records like attendance and internal
assessments. Students have to visit to the portal and need to provide the respective details, after that student will be
registered. Admin will distribute the passwords to the faculties and student. Once they receive the password from
the admin they are able to login to the application and monitor the statistics.
Once they receive the credentials they are able to access the application. And also to monitor the statistics like they
can generate their own report of internal assessments and attendance and they can view their performance. End
user will be going to login to the system. There are three types of users are created based on the access criteria.
They are Admin, Faculty and Student. Admin users are responsible for storing student data and faculty details,
scheduling time table for faculties. Admin users can create, replace, update, delete (CRUD) the student and faculty
details.
Admin users can also generate all types of reports which are available in the application. Admin user can send
circular or notice to faculties and students. Admin users will have all the privileges and access to the application.
5
Admin user is a root user; he is having complete control over the application. Faculty users are responsible for
maintaining the attendance of the students, internal assessments marks, generating time tables. Faculty users can
generate report based on the student progress like internal assessment, attendance. Student users are responsible for
viewing their own page; they can check their academic progress, and attendance. They are able to generate report
and charts like bar/pie based on their performance. Once particular user is positively registered in, if logged in user
is student then he is not authorize to make changes or manipulate the details. If logged in user is a faculty user then
he can manipulate student attendance and internal assessment marks. If logged in user is an admin user then he is
the only person to manipulate all the necessary details regarding students and faculties. When an admin finishes all
manipulations, faculty will generate the report and he will be sending an email or SMS to the respective student’s
parent.
6
4.2 E-R Diagram
Figure 2- ER DIAGRAM
7
4.3 Data Flow Diagrams
8
4.4 Use Case Diagram:
9
10
Figure 5- Sequence Diagram
Admin
Username : varchar
Password : varchar
+ login ()
+ add course ()
+ enroll faculty
Request & check ()
+ logout ()
12
Teacher
Username : varchar
Password : varchar
+register ()
+login ()
+view feedback ()
+logout ()
Student
Username : varchar
Password : varchar
+register ()
+login ()
+view profile
& update ()
+view courses
& apply ()
+feedback ()
+logout ()
13
4.7 State Diagram:
14
4.8 Data Dictionary
This is normally represented as the data about data. It is also termed as metadata some times which gives the data
about the data stored in the database. It defines each data term encountered during the analysis and design of a new
system. Data elements can describe files or the processes.
Following are some rules, which defines the construction of data dictionary entries:
1. Words should be defined to understand for what they need and not the variable need by which they may be
described in the program.
2. Each word must be unique. We cannot have two definition of the same client.
3. Aliases or synonyms are allowed when two or more enters shows the same meaning. For example a vendor
number may also be called as customer number.
4. A self-defining word should not be decomposed. It means that the reduction of any information in to subpart
should be done only if it is really required that is it is not easy to understand directly.
Data dictionary includes information such as the number of records in file, the frequency a process will run,
security factor like pass word which user must enter to get access to the information.
4.1 tbl_admin
4.2 tbl_chatmessage
3. tbl_chatstudent
15
emailid varchar(50) YES NULL
password varchar(10) YES NULL
status varchar(1) YES NULL
16
4.
4.4 tbl_contact
4.5 tbl_student
17
present_landmark varchar(50) YES NULL
present_city varchar(50) YES NULL
present_state varchar(50) YES NULL
present_pincode varchar(50) YES NULL
fname varchar(50) YES NULL
mname varchar(50) YES NULL
photo varchar(50) YES NULL
18
4.6 tbl_student_attendance
4.7 tbl_studentfeedback
4.8 tbl_studentleave
18
4.9 tbl_subject
4.10 tbl_teacher
19
permanent_state Varchar(50) YES NULL
permanent_pincode Varchar(10) YES NULL
permanent_country Varchar(50) YES NULL
present_country Varchar(50) YES NULL
present_landmark Varchar(50) YES NULL
present_city Varchar(50) YES NULL
present_district Varchar(50) YES NULL
present_state Varchar(50) YES NULL
present_pincode Varchar(10) YES NULL
photo Varchar(50) YES NULL
20
4.11 tbl_teacher_attendance
4.12 tbl_teacherfeedback
20
4.-13 tbl_teacherleave
21
CHAPTER – 5
Coding
In computer science code is any collection of statements or declaration written in sum human readable computer
programming language. Code allows the programmer to communicate with the computer using reserved number of
instruction.
The code which constitutes a program is usually held in one or more text file sometimes stored in databases as
stored procedure and may also appear as code snippets printed in book or media. A large collection of code files
may be organized into a directory tree in which case it may also be known as a code tree.
A computer programmer’s code is the collection of files needed to convert from human readable form tool some
kind of computer executable form the code may be converted into an executable file by compiler or executed on
the fly from the human readable form with the aid of an interpreter. The code based of programming project is the
larger collection of all the source code of all the computer programs which make up the project.
We have discussed here some special codes, which play an important part in our project.
adminVerify.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%
String emailid = request.getParameter("emailid");
%>
<h1>Verify OTP</h1>
<form action="sms.controller.VerifyAdminOTP" method="post">
<input type="hidden" name="emailid" value="<%=emailid%>"> OTP
: <input type="text" name="otp"><br><input type="submit"
value="Verify">
</form>
</body>
</html>
adminAttendance.jsp
<!DOCTYPE html>
<%@page import="java.util.Iterator"%>
<%@page import="sms.model.StudentDao"%>
<%@page import="sms.db.Student"%>
<%@page import="java.util.ArrayList"%>
<html lang="en">
<head>
22
<title>Student Attendance</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!--
============================================================================================
===-->
<link rel="icon" type="image/png" href="images/icons/favicon.ico" />
<!--
============================================================================================
===-->
<link rel="stylesheet" type="text/css"
href="fonts/fonts/font-awesome-4.7.0/css/font-awesome.min.css">
<!--
============================================================================================
===-->
<link rel="stylesheet" type="text/css"
href="vendor2/vendor/animate/animate.css">
<!--
============================================================================================
===-->
<link rel="stylesheet" type="text/css"
href="vendor2/vendor/select2/select2.min.css">
<!--
============================================================================================
===-->
<link rel="stylesheet" type="text/css"
href="vendor2/vendor/perfect-scrollbar/perfect-scrollbar.css">
<!--
============================================================================================
===-->
<link rel="stylesheet" type="text/css" href="css/css/main.css">
<!--
============================================================================================
===-->
<div class="limiter">
<div class="container-table100">
<div class="wrap-table100">
<div class="table">
<form action="sms.controller.AdminStudentAttendance" method="post">
<div class="row header">
<div class="cell">
Date: <input type="date" name="attendancedate">
</div>
<div class="cell">
Branch: <select name="branch">
<option value="CSE">CSE</option>
<option value="Civil">Civil</option>
<option value="MEC">ME</option>
<option value="EEE">EEE</option>
<option value="EE">EE</option>
</select>
23
</div>
<div class="cell">
Semester: <select name="semester">
<option value="1st Semester">1st</option>
<option value="2nd Semester">2nd</option>
<option value="3rd Semester">3rd</option>
<option value="4th Semester">4th</option>
<option value="5th Semester">5th</option>
<option value="6th Semester">6th</option>
<option value="7th Semester">7th</option>
<option value="8th Semester">8th</option>
</select>
</div>
<div class="cell">
Subject: <select name="subject">
<option value="Java">Java</option>
</select>
</div>
<div class="cell">
<input type="submit" value="Submit">
</div>
</div>
</form>
</div>
</div>
</div>
</div>
<!--
============================================================================================
===-->
<script src="vendor2/vendor/jquery/jquery-3.2.1.min.js"></script>
<!--
============================================================================================
===-->
<script src="vendor2/vendor/bootstrap/js/popper.js"></script>
<script src="vendor2/vendor/bootstrap/js/bootstrap.min.js"></script>
<!--
============================================================================================
===-->
<script src="vendor2/vendor/select2/select2.min.js"></script>
<!--
============================================================================================
===-->
<script src="js/js/main.js"></script>
</body>
</html>
Admin.java
package sms.db;
24
public class Admin {
private String emailid;
private String password;
private String otp;
}
AddMessage.java
package sms.controller;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Timestamp;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import sms.db.ChatMessage;
import sms.model.ChatMessageDao;
/**
* Servlet implementation class AddMessage
*/
@WebServlet("/sms.controller.AddMessage")
public class AddMessage extends HttpServlet {
25
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
HttpSession session = request.getSession();
String sender = (String) session.getAttribute("emailid");
String receiver = (String) session.getAttribute("receiverEmailid");
String message = request.getParameter("message");
System.out.println(message);
System.out.println(receiver);
System.out.println(sender);
msg.setMessage(message);
msg.setReceiver(receiver);
msg.setSender(sender);
msg.setTime(time);
int status = ChatMessageDao.addMessage(msg);
if (status > 0) {
response.sendRedirect("chatPage.jsp");
}
}
AdminLogout.java
package sms.controller;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
/**
* Servlet implementation class AdminLogout
*/
@WebServlet("/sms.controller.AdminLogout")
public class AdminLogout extends HttpServlet {
26
HttpSession session = request.getSession();
session.invalidate();
response.sendRedirect("index.jsp?msg=Logout Successful");
}
27
CHAPTER – 6
Testing
8.1. Introduction
Software testing is a critical element of software quality assurance and represents the ultimate review of
specification, design and coding. In fact, testing is the one step in the software engineering process that could be
viewed as destructive rather than constructive.
A strategy for software testing integrates software test case design methods into a well-planned series of steps that
result in the successful construction of software. Testing is the set of activities that can be planned in advance and
conducted systematically. The underlying motivation of program testing is to affirm software quality with methods
that can economically and effectively apply to both strategic to both large and small-scale systems.
8.1.1Testing techniques and testing strategies used along with the test case Designs and test reports.
The software engineering process can be viewed as a spiral. Initially system engineering defines the role of
software and leads to software requirement analysis where the information domain, functions, behavior,
performance, constraints and validation criteria for software are established. Moving inward along the spiral, we
come to design and finally to coding. To develop computer software we spiral in along streamlines that decrease
the level of abstraction on each turn.
A strategy for software testing may also be viewed in the context of the spiral. Unit testing begins at the vertex of
the spiral and concentrates on each unit of the software as implemented in source code. Testing progress by
moving outward along the spiral to integration testing, where the focus is on the design and the construction of the
software architecture. Talking another turn on outward on the spiral we encounter validation testing where
requirements established as part of software requirements analysis are validated against the software that has been
constructed. Finally we arrive at system testing, where the software and other system elements are tested as a
whole.
UNIT TESTING
MODULE TESTING 28
Figure-8 Testing Types
Unit testing focuses verification effort on the smallest unit of software design, the module. The unit testing we
have is white box oriented and some modules the steps are conducted in parallel.
Established technique of flow graph with Cyclomatic complexity was used to derive test cases for all the functions.
The main steps in deriving test cases were:
29
Use the design of the code and draw correspondent flow graph.
V (G) =E-N+2 or
V (G) =P+1 or
3. CONDITIONAL TESTING
In this part of the testing each of the conditions were tested to both true and false aspects. And all the resulting
paths were tested. So that each path that may be generate on particular condition is traced to uncover any possible
errors.
This type of testing selects the path of the program according to the location of definition and use of variables. This
kind of testing was used only when some local variable were declared. The definition-use chain method was used
in this type of testing. These were particularly useful in nested statements.
5. LOOP TESTING
In this type of testing all the loops are tested to all the limits possible. The following exercise was adopted for all
loops:
· All the loops were tested at their limits, just above them and just below them.
· All the loops were skipped at least once.
· For nested loops test the inner most loop first and then work outwards.
· For concatenated loops the values of dependent loops were set with the help of connected loop.
· Unstructured loops were resolved into nested loops or concatenated loops and tested as above.
Each unit has been separately tested by the development team itself and all the input have been validated.
* Manual Testing:
To start with, I have performed manual testing on the “Complain Redressal System ” Manual Testing is
one of the oldest and rigorous methods of software testing. The result of the manual testing is represented in the
following
30
· Test Case 1 –Login
The system
generates a
An invalid username or password entered message “invalid
Log In Button by the user user” or
“invalid
password”
The system logs
A valid username or password entered on the user and
Log In Button by the user transfers him to
the home page.
User
Register Button Valid fields entered by User registratio
n
successful
The system
generates a
message to
enter Valid
data in fields
Register Button Invalid fields entered by User
provided in
UI
31
· Login Successful
Actor Admin/Teachers/Students
· Login Failed
Actor Admin/Teachers/Student
32
Test Procedure username and password
33
· Teacher Registration:
Actor Admin
33
· Teachers Registration Failed
Actor Admin
· Student Registration:
Actor Admin
34
· Student Registration Failed
Actor Admin
· Give Feedback
35
CHAPTER – 7
Output Screens
37
38
CHAPTER – 8
8.1 Conclusion :
Complain Redressal System is very useful in an institution or in college or in universities. There is no paper work
and manual file handling in this proposed system. Supervision can be done from anywhere. This project especially
minimizes human effort necessary. This application is handled by the college so there is no information leak and
data will be secured. Since it is a web based application anyone can use the system anywhere at any time and it is
very easy to get the necessary information without the latency. It is very useful to the students to get their report on
attendance and internal assessments. Parents also get benefited more since college is going to send the notification
of the student via the SMS or email will be sent to get the recent activities happen in the college. Since this
application will be handled by the college whenever they need any changes in an application they can make it
without the upfront investment, and the system will be more secure when it is handled by the own college.
The project can be used by any educational institution and the project can be enhanced subsequently by providing
additional feature like accounting management, admission process automation and will became an ERP
application. And our main intention is to provide this application to those educational institutions who cannot
afford huge amount for other application available in the market.
39
CHAPTER – 9
References
40