0% found this document useful (0 votes)
50 views28 pages

Capstoneproject

The document is a project report for a School Management System submitted by a student named Anusha GV. It includes an introduction outlining the objectives and problem description of developing a School Management System. It also provides details on system analysis, requirements specification, system design including ER diagram, use case diagram, sequence diagram, and state transition diagram. The document further discusses implementation details, coding, testing and provides a conclusion and future scope. Key modules of the School Management System include home/dashboard, login, department management, position management, and student management.

Uploaded by

anushagv2903
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)
50 views28 pages

Capstoneproject

The document is a project report for a School Management System submitted by a student named Anusha GV. It includes an introduction outlining the objectives and problem description of developing a School Management System. It also provides details on system analysis, requirements specification, system design including ER diagram, use case diagram, sequence diagram, and state transition diagram. The document further discusses implementation details, coding, testing and provides a conclusion and future scope. Key modules of the School Management System include home/dashboard, login, department management, position management, and student management.

Uploaded by

anushagv2903
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/ 28

PROJECT REPORT

ON

“School Management System”


Submitted in partial fulfilment of the requirement for
4th Semester
MASTER OF COMPUTER
APPLICATION
for the Academic Year 2023-2024

SUBMITTED BY
Student Name: Anusha GV
Register Number:21DMMCA008

GUIDED BY
Guide Name

CMR University
School of Science Studies

School of Science Studies, CMRU


ACKNOWLEDGEMENT

The satisfaction that accompanies the successful completion of any task would
be incomplete without the mention of people whose ceaseless cooperation
made it possible, whose constant guidance and encouragement crown all
efforts with success

We are thankful to the management of CMR University for providing such a


vigorous environment, assistance and support for the fortunate completion of
the project.

We would take immense pleasure to express our sincere gratitude and thanks
to our Director Dr. Chitra Ravi for providing us with the resources to
complete our project successfully.

We wish to express our heartfelt gratitude to Prof. M.Jayanthi, Programme


Coordinator, School of Science Studies, for her encouragement and constant
support.

We wish to express our heartfelt thanks to Guide Name, Associate Professor,


School of Science Studies, for her encouragement and constant support.

Our special thanks to grateful to our parents and friends who have been a great
support in the fortunate completion of this project.

Student Name

School of Science Studies, CMRU


TABLE OF CONTENTS
Sl. No. Contents Page
Number

01 INTRODUTION
1.1 OBJECTIVE
1.2 PROBLEM DESCRIPTION
02 SYSTEM ANALYSIS
2.1 PROPOSED SYSTEM
2.2 FEASIBILITY STUDY
2.2.1 TECHNICAL FEASIBILITY
2.2.2 OPERATIONAL FEASIBILITY
2.2.3 ECONOMIC FEASIBILITY

03 REQUIREMENT SPECIFICATION
3.1 HARDWARE
3.2 SOFTWARE

04 SYSTEM DESIGN
4.1 ER DIAGRAM
4.2 USECASE DIAGRAM
4.3 SEQUENCE DIAGRAM
4.4 STATE TRANSITION DIAGRAM
05 IMPLEMENTATION
5.1 MODULE DESCRIPTION
5.2 SCREEN SHOTS

06 CODING
6.1 SOURCE CODE
07 TESTING
7.1 UNIT TESTING
7.2 INTEGRATION
7.3 SYSTEM TESTING
7.4 ACCEPTANCE TESTING

08 CONCLUSION

09 FUTURE SCOPE

10 REFERENCES

INTRODUCTION

School of Science Studies, CMRU


The School Management System is software meant for helping institutions. It isa piece of software
that helps run the school's daily administrative and academic operations smoothly from afar. School
management systems are good for the people who facilitate the school and good for parents, who
can see how their kids are doing and pay their fees, and many more. A school management system is
developed to help staff do less work, help students and teachers save time, cut costs, and improve
data security. All of these things will eventually make your institution more costeffective and
productive. It is also able to secure important data of students and educators that every educational
institution need Customers can easily search for products using keywords, filters, and sorting options
to find their desired items quickly. User can rent the clothes and accessories and return over
periodof time. Student will take admission.When their account is approved by admin then only
student can access their dashboard.After account approval by then student can view their details.
Teacher will take admission.When their account is approved by admin then only teacher can access
their dashboard. After account approved by admin teacher can take attendance of any class
studence and view attendance. The Admin is a responsible person to run the website, or we can say
the owner of a website. Admin can have full control over the different facets of the educational
institute

1.1 OBJECTIVE

The primary objective of the School Information System is to establish a centralized and
efficient platform for managing, organizing, and accessing crucial student-related data within
an organization. This system aims to streamline teachers and administrative processes,
enhancing productivity and data accuracy by providing a user-friendly interface for teacher
departments and management to easily create, update, and retrieve student records. By
centralizing student information, the system ensures that essential details, such as personal
data, and performance evaluations, are readily accessible and up-to-date. Additionally, it
promotes effective decision-making and resource allocation through the provision of
comprehensive reports and analytics. Furthermore, the system bolsters data security through
role-based access control, safeguarding sensitive information and ensuring that only
authorized personnel can access specific data. Ultimately, the school Information System is
designed to foster student engagement, improve teacher management, and support the overall
efficiency of an organization by optimizing workforce management and resource allocation.

1.2 PROBLEM DESCRIPTION

The problem that necessitates the development of an school Information System arises from
the growing complexity of managing student data within organizations. Traditional manual
record-keeping processes have become inefficient and error-prone, leading to challenges such
as data inconsistency, difficulty in accessing information, and time-consuming administrative
tasks. Teacher departments and management often struggle with the need to maintain
accurate student records, handle numerous details associated with each student, and ensure
data security. In this context, the absence of a centralized and automated system can lead to
inefficiencies, reduced productivity, and potential data security risks. Additionally, the lack

School of Science Studies, CMRU


of comprehensive reporting and analytics tools makes it difficult to make informed decisions
regarding workforce management.

The school Information System seeks to address these challenges by providing a holistic
solution that centralizes student data, streamlines administrative processes, and enhances data
accuracy. It aims to simplify the management of student information, reduce manual labor,
and empower organizations with data-driven insights, ultimately fostering improved teacher
management and organizational efficiency.

 MODULES

Home/Dashboard Page:The Home/Dashboard Page serves as the central hub of the application,
displaying key information, summaries, and shortcuts to various modules. It provides an at-a-
glance overview of the organization's workforce and activities.

Login Page:The Login Page is the initial point of entry to the system. It allows authorized users
to log in securely by providing their username and password. It ensures that only authenticated
users gain access to the system.

Department Management:Department Management is a module that allows administrators to


oversee the organization's departments. It comprises functions to Add New Department, List All
Departments, Update Department Details, and Delete Department Details.

 Add New Department:This functionality permits administrators to create and add new
departments within the organization, including specifying names, descriptions, and any
additional relevant information.
 List All Departments:List All Departments provides a comprehensive view of all existing
departments, including their names and descriptions. It offers quick access to department
information.
 Update Department Details:Administrators can use this function to modify department
records, accommodating changes in department names, descriptions, or other relevant
details.
 Delete Department Details:In situations where a department becomes obsolete or is no
longer needed, authorized users can delete department records. Any employees associated
with the department should be reassigned to other departments before deletion.

Position Management:Position Management allows for the administration of job positions


within the organization. It includes functions to Add New Position, List All Positions, Update
Position Details, and Delete Position Details.

 Add New Position:This functionality enables administrators to create and add new job
positions, defining position titles, descriptions, and other relevant information.

School of Science Studies, CMRU


 List All Positions:List All Positions provides an organized view of all existing job
positions, displaying their titles and descriptions, allowing for easy access to position
information.
 Update Position Details:Authorized users can use this function to modify position
records to account for changes in job descriptions or responsibilities.
 Delete Position Details:When a position becomes obsolete or is no longer needed,
administrators can delete position records. Reassigning employees to other positions
should be done prior to deletion.

Student Management:Student Management is a comprehensive module for managing student


records. It includes functions to Add New student, List All student, Update student Details, View
student Details, and Delete student Details.

 Add New student:This function allows authorized users to create and add new employee
profiles, gathering essential information such as names, contact details, department,
course, and more.
 List All students:List All student provides an overview of all employee profiles within the
organization, offering details like names, contact information, department, and course. It
simplifies access to employee records.
 Update student Details:Administrators can use this function to edit and update employee
records as necessary, ensuring that student information remains accurate and up to date.
 View student Details:This functionality enables users to access and view comprehensive
details of an individual student's profile, including all recorded information.
 Delete student Details:When an student leaves the organization or their record is no
longer needed, authorized users can delete the student's record, maintaining data accuracy
and security.

Logout:The Logout function ensures that users can securely log out of the system, terminating
their active session and preventing unauthorized access to their account.

User Authentication:User Authentication is a critical aspect of the system that validates the
identity of users. It involves verifying usernames and passwords to grant access to authorized
individuals while maintaining data security.

2.SYSTEM ANALYSIS

School of Science Studies, CMRU


2.1 PROPOSED SYSTEM
The proposed Employee Information System offers a comprehensive solution to the
challenges presented by traditional manual methods of managing employee data. By
transitioning to an automated and centralized system, this proposed solution seeks to
streamline and optimize the entire process of handling employee information within
organizations.
The system will provide a user-friendly interface for HR departments and management to
effortlessly add, update, and access employee records, ensuring that essential details such as
personal information, job roles, and performance evaluations are accurate and readily
available. Moreover, it will facilitate efficient decision-making and resource allocation by
offering a range of reporting and analytics tools to extract meaningful insights from the data.
One of the key advantages of this system is its focus on data security and access control. By
implementing role-based access, it ensures that sensitive information remains protected and
that only authorized individuals can access specific data, thus reducing the risk of data
breaches.
The Employee Information System is designed to boost employee engagement, improve HR
management, and enhance overall organizational efficiency by streamlining workforce
management, reducing administrative burdens, and providing a comprehensive and secure
platform for employee data. It is poised to deliver a scalable, user-friendly, and secure
solution to help organizations effectively manage their most valuable asset – their employees.

2.2 FEASIBILITY STUDY


A feasibility study is an analysis of how successfully a project can be completed, accounting
for factors that affect it such as economic, technological, legal and scheduling factors. Project
managers use feasibility studies to determine potential positive and negative outcomes of a
project before investing a considerable amount of time and money into it. A feasibility study
tests the viability of an idea, a project or even a new business. The goal of a feasibility study
is to place emphasis on potential problems that could occur if a project is pursued and
determine if, after all significant factors are considered, the project should be pursued.
Feasibility studies also allow a business to address where and how it will operate, potential
obstacles, competition and the funding needed to get the business up and running.
Components of Feasibility study:

 Technical Feasibility
 Economic Feasibility
 Operational Feasibility
 Schedule Feasibility

Feasibility studies are almost always conducted where large sums are at stake. Also called as
feasibility analysis. Every project is feasible for given unlimited resources and infinitive time.
Feasibility study is an evaluation of the proposed system regarding its working ability, impact

School of Science Studies, CMRU


on the organization, ability to meet the user needs and effective use of resources. Thus when
a new application is proposed it normally goes through a feasibility study before it is
approved for development. Feasibility and risk analysis are related in many ways. The
feasibility analysis in this project has been discussed below based on the above mentioned
components of feasibility.
2.2.1 Technical feasibility
Technical feasibility centers around the technology used. It means the computerized system is
technically feasible i.e., it doesn’t have any technical fault and work properly in the given
environment. Our system is technically feasible it is providing us the required output.

2.2.2 Operational feasibility

Operational feasibility is a measure of how well a proposed system solves the problems, and
takes advantage of the opportunities identified during scope definition and how it satisfies the
requirements identified in the requirements analysis phase of system development.To ensure
success, desired operational outcomes must be imparted during design and development.
These include such design-dependent parameters such as reliability, maintainability,
supporting ability, usability, disposability, sustainability, affordability and others.

These parameters are required to be considered at the early stages of design if desired
operational behaviors are to be realized. A system design and development requires
appropriate and timely application of engineering and management efforts to meet the
previously mentioned parameters. A system may serve its intended purpose most effectively
when its technical and operating characteristics are engineered into the design. Therefore,
operational feasibility is a critical aspect of systems engineering that needs to be an integral
part of the early design phases.

2.2.3 Economic feasibility


Economic analysis is the most frequently used method for evaluating the effectiveness of the
computerized system. We analyse the computerized system is feasible as than the manual
system because it saves the money, time and manpower. It is also feasible according to cost
benefit analysis.

2.2.4 Operational feasibility

 Human effort or Manual Labour can be reduced drastically.


 Major operations that are done manually can be done within a matter of seconds.
 Data storing is easier and backup is available.

2.2.5 Schedule feasibility

School of Science Studies, CMRU


 Time evaluation is the most important consideration in the development of project. The
time schedule required for the developed of this project is very important since more
development time effect machine time, cost and cause delay in the development of other
systems.
 A reliable TOLL MANAGEMENT SYSTEM can be developed in the considerable
amount of time.

2.2.6 Legal feasibility

Determines whether the proposed system conflicts with legal requirements, e.g. a data
processing system must comply with the local data protection regulations and if the proposed
venture is acceptable in accordance to the laws of the land.

3 REQUIREMENT SPECIFICATION
3.1 HARDWARE
• I3 and above
• Minimum 3 GB RAM
• Internet Connection
• Hard Disk 500 GB

3.2 SOFTWARE

• OS windows 11

• Visual Studio Code

• SQLITE

Front-End:

 HTML
 CSS
 Java Script
 JQUERY
 AJAX

Back-End:

Frameworks: Django

 PythonBootstrap v5 Material Admin Design Bootstrap Dash Material Design Icon

School of Science Studies, CMRU


4 SYSTEM DESIGN
In the design phase the architecture is established. This phase starts with the requirement
document delivered by the requirement phase and maps the requirements into an architecture.
The architecture defines the components, their interfaces and behaviour’s. The deliverable
design document is the architecture. The design document describes a plan to implement the
requirements. This phase represents the ``how'' phase. Details on computer programming
languages and environments, machines, packages, application architecture, distributed
architecture layering, memory size, platform, algorithms, data structures, global type
definitions, interfaces, and many other engineering details are established. The design may
include the usage of existing components.
In our approach, the team, given a complete requirement document, must also indicate critical
priorities for the implementation team. A critical implementation priority leads to a task that
has to be done right. If it fails, the product fails. If it succeeds, the product might succeed. At
the very least, the confidence level of the team producing a successful product will increase.
This will keep the implementation team focused. Exactly how this information is conveyed is
a skill based on experience more than a science based on fundamental foundations.
System design is the process of defining the architecture components, modules, interfaces,
and data for a system to satisfy specified requirements. Systems design could be seen as the
application of systems theory to product development. There is some overlap with the
disciplines of systems analysis, systems architecture and systems engineering.
If the broader topic of product development “blends the perspective of marketing, design, and
manufacturing into a single approach to product development," then design is the act of
taking the marketing information and creating the design of the product to be manufactured.
Systems design is therefore the process of defining and developing systems to satisfy
specified requirements of the user.

Architectural design
The architectural design of a system emphasizes the design of the that describes the, and of
that system and analysis.

Logical design
The logical design of a system pertains to an abstract representation of the data flows, inputs
and outputs of the system. This is often conducted via modelling, using an over-abstract (and
sometimes graphical) model of the actual system. In the context of systems, designs are
included. Logical design includes entity-relationship diagrams (ER diagrams).

Physical design

School of Science Studies, CMRU


The physical design relates to the actual input and output processes of the system. This is
explained in terms of how data is input into a system, how it is verified/authenticated, how it
is processed, and how it is displayed. In physical design, the following requirements about
the system are decided.

 Input requirement
 Output requirements
 Storage requirements
 Processing requirements
 System control and backup or recovery.

Put another way, the physical portion of system design can generally be broken down into
three sub-tasks:

 User Interface Design


 Data Design
 Process Design

User Interface Design is concerned with how users add information to the system and with
how the system presents information back to them. Data Design is concerned with how the
data is represented and stored within the system. Finally, Process Design is concerned with
how data moves through the system, and with how and where it is validated, secured and/or
transformed as it flows into, through and out of the system. At the end of the system design
phase, documentation describing the three sub-tasks is produced and made available for use
in the next phase.
Physical design, in this context, does not refer to the tangible physical design of an
information system. To use an analogy, a personal computer's physical design involves input
via a keyboard, processing within the CPU, and output via a monitor, printer, etc. It would
not concern the actual layout of the tangible hardware, which for a PC would be a monitor,
CPU, motherboard, hard drive, modems, video/graphics cards, USB slots, etc. It involves a
detailed design of a user and a product database structure processor and a control processor.
The H/S personal specification is developed for the proposed system.

4.1 ENTITY RELATIONSHIP DIAGRAM


. An entity relationship diagram (ERD) shows the relationships of entity sets stored in a
database. An entity in this context is a component of data. In other words, ER diagrams
illustrate the logical structure of databases. At first glance an entity relationship diagram
looks very much like a flowchart. It is the specialized symbols, and the meanings of those
symbols, that make it unique. Because this ER tutorial focuses on beginners below are some
tips that will help you build effective

School of Science Studies, CMRU


ER diagrams
1. Identify all the relevant entities in a given system and determine the relationships among
these entities.
2. An entity should appear only once in a particular diagram.
3. Provide a precise and appropriate name for each entity, attribute, and relationship in the
diagram. Terms that are simple and familiar always beats vague, technical-sounding words.
In naming entities, remember to use singular nouns. However, adjectives may be used to
distinguish entities belonging to the same class (part-time employee and full time employee,
for example). Meanwhile attribute names must be meaningful, unique, system-independent,
and easily understandable.
4. Remove vague, redundant or unnecessary relationships between entities.
5. Never connect a relationship to another relationship.
6. Make effective use of colours. You can use colours to classify similar entities or to
highlight key areas in your diagrams.
You can draw entity relationship diagrams manually, especially when you are just informally
showing simple systems to your peers. However, for more complex systems and for external
audiences, you need diagramming software such as Creamery’s to craft visually engaging and
precise ER diagrams. The ER Diagram Software offered by Creately as an online service is
pretty easy to use and is a lot more affordable than purchasing licensed software. It is also
perfectly suited for development teams because of its strong support for collaboration.

The History of Entity Relationship Diagrams


Peter Chen developed ERDs in 1976. Since then Charles Bachman and James Martin have
added some slight refinements to the basic ERD principles.
An entity relationship diagram is a means of visualizing how the information a system
produces is related. There are five main components of an ERD:

Entities
which are represented by rectangles. An entity is an object or concept about which you want
to store information. A weak entity is an entity that must defined by a foreign key
relationship with another entity as it cannot be uniquely identified by its own attributes alone.
Actions: which are represented by diamond shapes, show how two entities share information
in the database. In some cases, entities can be self-linked. For example, employees can
supervise other employees.

Weak entity
School of Science Studies, CMRU
It is an entity that must defined by a foreign key relationship with another entity as it cannot
be uniquely identified by its own attributes alone.

Actions
which are represented by diamond shapes, show how two entities share information
in the database. In some cases, entities can be self-linked. For example, employees
can supervise other employees.

Attributes
which are represented by ovals. A key attribute is the unique, distinguishing characteristic of
the entity. For example, an employee's social security number might be the employee's key
attribute. A multivalued attribute can have more than one value. For example, an employee
entity can have multiple skill values. A derived attribute is based on another attribute. For
example, an employee's monthly salary is based on the employee's annual salary.

Multivalued attribute can have more than one value. For example, an employee entity can
have multiple skill values.

Derived attribute is based on another attribute. For example, an employee's monthly salary
is based on the employee's annual salary

School of Science Studies, CMRU


Entity keys

It Refers to an attribute that uniquely defines an entity in an entity set. Entity keys can be
super, candidate or primary. Super key: A set of attributes (one or more) that together
define an entity in an entity set. Candidate key: A minimal super key, meaning it has the
least possible number of attributes to still be a super key. An entity set may have more
than one candidate key. Primary key: A candidate key chosen by the database designer to
uniquely identify the entity set. Foreign key: Identifies the relationship between entities.

Relationship

How entities act upon each other or are associated with each other. Think of relationships
as verbs. For example, the named student might register for a course. The two entities
would be the student and the course, and the relationship depicted is the act of enrolling,
connecting the two entities in that way. Relationships are typically shown as diamonds or
labels directly on the connecting lines.

Recursive relationship

The same entity participates more than once in the relationship.

Connecting lines
The solid lines that connect attributes to show the relationships of entities in the diagram.

Cardinality
It specifies how many instances of an entity relate to one instance of another entity.
Ordinarily is also closely linked to cardinality. While cardinality specifies the occurrences
of a relationship, ordinarily describes the relationship as either mandatory or optional. In
other words, cardinality specifies the maximum number of relationships and ordinarily
specifies the absolute minimum number of relationships.

Conceptual, logical and physical data models

ER models and data models are typically drawn at up to three levels of detail:

Conceptual data model

School of Science Studies, CMRU


The highest-level view containing the least detail. Its value is showing overall scope of the
model and portraying the system architecture. For a system of smaller scope, it may not be
necessary to draw. Instead, start with the logical model.

Logical data model


It Contains more detail than a conceptual model. More detailed operational and
transactional entities are now defined. The logical model is independent of the technology
in which it will be implemented.

Physical data model


One or more physical model may be developed from each logical model. The physical
models must show enough technology detail to produce and implement the actual database
Note that similar detail and scope levels exist in other types of diagrams, such as data flow
diagrams, but that it contrasts with software engineering’s three schema approach, which
divides the information a bit differently. Sometimes, engineers will branch out ER
diagrams with additional hierarchies to add necessary information levels for database
design. For example, they may add groupings by extend up with super classes and down
with subclasses.

4.2 USECASE DIAGRAM


4.3 SEQUENCE DIAGRAM
4.4 STATE TRANSITION DIAGRAM

5 IMPLEMENTATION
5.1 MODULE DESCRIPTION
5.2 SCREEN SHOTS
6 CODING
6.1 SOURCE CODE

Index.html
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">

School of Science Studies, CMRU


<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Bootstrap CSS -->
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css"
rel="stylesheet" integrity="sha384-
1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3"
crossorigin="anonymous">
<title >STUDENT MANAGEMENT SYSTEM !</title>
<style>
body{
background-color:whitesmoke; }
h1{
color: black;}
</style>
</head>
<body>
<div class="container">
<br>
<h1>STUDENT MANAGEMENT SYSTEM !</h1>
<br>
<hr>
<a class="btn btn-primary" href="/all_emp" role="button">View All Student</a>
<a class="btn btn-primary" href="/add_emp" role="button">Add An Student</a>
<a class="btn btn-primary" href="/remove_emp" role="button">Remove An Student</a>

</div>

<!-- Option 1: Bootstrap Bundle with Popper -->


<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"
integrity="sha384-

School of Science Studies, CMRU


ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p"
crossorigin="anonymous"></script>

<!-- Option 2: Separate Popper and Bootstrap JS -->


<!--
<script src="https://cdn.jsdelivr.net/npm/@popperjs/[email protected]/dist/umd/popper.min.js"
integrity="sha384-7+zCNj/IqJ95wo16oMtfsKbZ9ccEh31eOz1HGyDuCQ6wgnyJNSYdrPa0
3rtR1zdB" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js"
integrity="sha384-
QJHtvGhmr9XOIpI6YVutG+2QOK9T+ZnN4kzFN1RtK3zEFEIsxhlmWl5/YESvpZ13"
crossorigin="anonymous"></script>
-->
</body>
</html>
Addstudent.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Add Student</title>
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css"
rel="stylesheet" integrity="sha384-
1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3"
crossorigin="anonymous">
</head>
<body>
<div class="container">
<h1>Add An Student!</h1>
<hr>

<form action="/add_std" method="post">


{% csrf_token %}
<label for="first_name">First Name</label><br>
<input type="text" id="first_name" name="first_name" value="{{ first_name }}"><br>
<label for="last_name">Last Name</label><br>
<input type="text" id="last_name" name = "last_name" value="{{ last_name }}"><br>
<label for="salary">Salary</label><br>
<input type="number" id="salary" name="salary" value="{{ salary }}"><br>

School of Science Studies, CMRU


<label for="dept">Department</label><br>
<input type="number" id="dept" name="dept" value="{{ dept }}"><br>
<label for="role">Role</label><br>
<input type="number" id="role" name="role" value="{{ role }}"><br>
<label for="bonus">Bonus</label><br>
<input type="number" id="bonus" name="bonus" value="{{ bonus }}"><br>
<label for="phone">Phone Number</label><br>
<input type="number" id="phone" name="phone" value="{{ phone }}"><br>
<hr>
<button type="submit" class="btn btn-primary">Submit</button>
</form>

</div>

<!-- Optional JavaScript; choose one of the two! -->

<!-- Option 1: Bootstrap Bundle with Popper -->


<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"
integrity="sha384-
ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p"
crossorigin="anonymous"></script>

<!-- Option 2: Separate Popper and Bootstrap JS -->


<!--
<script src="https://cdn.jsdelivr.net/npm/@popperjs/[email protected]/dist/umd/popper.min.js"
integrity="sha384-7+zCNj/IqJ95wo16oMtfsKbZ9ccEh31eOz1HGyDuCQ6wgnyJNSYdrPa0
3rtR1zdB" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js"
integrity="sha384-
QJHtvGhmr9XOIpI6YVutG+2QOK9T+ZnN4kzFN1RtK3zEFEIsxhlmWl5/YESvpZ13"
crossorigin="anonymous"></script>
-->
</body>
</html>

Viewallstudent
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>View All Employee</title>

School of Science Studies, CMRU


<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css"
rel="stylesheet" integrity="sha384-
1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3"
crossorigin="anonymous">

</head>
<body>
<div class="container">
<h1>All Student Details!</h1>
<hr>
<table class="table table-dark">
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">First Name</th>
<th scope="col">Last Name</th>
<th scope="col">course</th>
<th scope="col">class</th>
<th scope="col">Phone Number</th>
<th scope="col">Role</th>
<th scope="col">Department</th>
<th scope="col">Location</th>
</tr>
</thead>
{% for emp in emps %}
<tbody>
<tr>
<th scope="row">{{emp.id}}</th>
<td>{{std.first_name}}</td>
<td>{{std.last_name}}</td>
<td>{{std.course}}</td>
<td>{{std.class}}</td>
<td>{{std.phone}}</td>
<td>{{std.role.name}}</td>
<td>{{std.dept.name}}</td>
<td>{{std.dept.location}}</td>
<td>{{std.hire_date}}</td>
</tr>
</tbody>
{% endfor %}
</table>

</div>

School of Science Studies, CMRU


<!-- Optional JavaScript; choose one of the two! -->

<!-- Option 1: Bootstrap Bundle with Popper -->


<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"
integrity="sha384-
ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p"
crossorigin="anonymous"></script>

<!-- Option 2: Separate Popper and Bootstrap JS -->

<!-- <script
src="https://cdn.jsdelivr.net/npm/@popperjs/[email protected]/dist/umd/popper.min.js"
integrity="sha384-7+zCNj/IqJ95wo16oMtfsKbZ9ccEh31eOz1HGyDuCQ6wgnyJNSYdrPa0
3rtR1zdB" crossorigin="anonymous"></script>-->
<!-- <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js"
integrity="sha384-
QJHtvGhmr9XOIpI6YVutG+2QOK9T+ZnN4kzFN1RtK3zEFEIsxhlmWl5/YESvpZ13"
crossorigin="anonymous"></script>-->

</body>
</html>

Admin.py
from django.contrib import admin
from .models import Employee, Role, Department
# Register your models here.

admin.site.register(Student)
admin.site.register(Course)
admin.site.register(Department)

app.py

from django.apps import AppConfig

class EmpAppConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'emp_app'

models.py
from django.db import models

School of Science Studies, CMRU


# Create your models here.

class Department(models.Model):
name = models.CharField(max_length=100,null=False)
location = models.CharField(max_length=100)

def __str__(self):
return self.name

class Role(models.Model):
name = models.CharField(max_length=100, null=False)

def __str__(self):
return self.name

class Student(models.Model):
first_name = models.CharField(max_length=100, null=False)
last_name = models.CharField(max_length=100)
dept = models.ForeignKey(Department, on_delete=models.CASCADE)
salary = models.IntegerField(default=0)
bonus = models.IntegerField(default=0)
role = models.ForeignKey(Role, on_delete=models.CASCADE)
phone = models.IntegerField(default=0)
hire_date = models.DateField()

def __str__(self):
return "%s %s %s" %(self.first_name, self.last_name, self.phone)

urls.py
from django.contrib import admin
from django.urls import path, include
from . import views

urlpatterns = [
path('', views.index, name='index'),
path('all_emp', views.all_emp, name='all_emp'),
path('add_emp', views.add_emp, name='add_emp'),
path('remove_emp', views.remove_emp, name='remove_emp'),
path('remove_emp/<int:emp_id>', views.remove_emp, name='remove_emp'),
path('filter_emp', views.filter_emp, name='filter_emp'),

School of Science Studies, CMRU


]

Views.py
from django.shortcuts import render, HttpResponse
from .models import Employee, Role, Department
from datetime import datetime
from django.db.models import Q

# Create your views here.


def index(request):
return render(request, 'index.html')

def all_emp(request):
emps = Student.objects.all()
context = {
'emps': emps
}
print(context)
return render(request, 'view_all_emp.html', context)

def add_emp(request):
if request.method == 'POST':
first_name = request.POST['first_name']
last_name = request.POST['last_name']
salary = int(request.POST['salary'])
bonus = int(request.POST['bonus'])
phone = int(request.POST['phone'])
dept = int(request.POST['dept'])
role = int(request.POST['role'])
new_emp = Employee(first_name= first_name, last_name=last_name, salary=salary,
bonus=bonus, phone=phone, dept_id = dept, role_id = role, hire_date = datetime.now())
new_emp.save()
return HttpResponse('Employee added Successfully')
elif request.method=='GET':
return render(request, 'add_emp.html')
else:
return HttpResponse("An Exception Occured! Employee Has Not Been Added")

def remove_emp(request, emp_id = 0):


if emp_id:
try:

School of Science Studies, CMRU


emp_to_be_removed = Employee.objects.get(id=emp_id)
emp_to_be_removed.delete()
return HttpResponse("Employee Removed Successfully")
except:
return HttpResponse("Please Enter A Valid EMP ID")
emps = Employee.objects.all()
context = {
'emps': emps
}
return render(request, 'remove_emp.html',context)

def filter_emp(request):
if request.method == 'POST':
name = request.POST['name']
dept = request.POST['dept']
role = request.POST['role']
emps = Employee.objects.all()
if name:
emps = emps.filter(Q(first_name__icontains = name) | Q(last_name__icontains =
name))
if dept:
emps = emps.filter(dept__name__icontains = dept)
if role:
emps = emps.filter(role__name__icontains = role)

context = {
'emps': emps
}
return render(request, 'view_all_emp.html', context)

elif request.method == 'GET':


return render(request, 'filter_emp.html')
else:
return HttpResponse('An Exception Occurred')

asgi.py
import os

from django.core.asgi import get_asgi_application

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'office_emp_proj.settings')

application = get_asgi_application()

School of Science Studies, CMRU


manage.py
#!/usr/bin/env python
"""Django's command-line utility for administrative tasks."""
import os
import sys

def main():
"""Run administrative tasks."""
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'office_emp_proj.settings')
try:
from django.core.management import execute_from_command_line
except ImportError as exc:
raise ImportError(
"Couldn't import Django. Are you sure it's installed and "
"available on your PYTHONPATH environment variable? Did you "
"forget to activate a virtual environment?"
) from exc
execute_from_command_line(sys.argv)

if __name__ == '__main__':
main()

TESTING

TESTING
The common view of testing held by users is that it is performed to prove that there are no
errors in a program. It is extremely difficult since designer cannot prove to be one hundred
percent accurate. Therefore, the most useful and practical approach is with the understanding
that testing is the process of executing a program with explicit intention of finding errors that
make the program fail. Testing has its own cycle. The testing process begins with the product
requirements phase and from there parallels the entire development process. In other words,
for each phase of the development process there is an important testing activity. It is
extremely difficult since designer cannot prove to be one hundred percent accurate.
Therefore, the most useful and practical approach is with the understanding that
testing.Successful testing requires a methodical approach. It requires focusing on basic
critical factors:

 Planning
 Project and process control
 Risk management
 Inspections

School of Science Studies, CMRU


 Measurement tools
 Organization and professionalism

Test Plan

Before going for testing, first we have to decide upon the type of testing to be carried
out. The following factors are taken into consideration:

 To ensure that information properly flows into and out of program


 To find out whether the local data structures maintains its integrity during all

steps in an algorithm execution

 To ensure that the module operate properly at boundaries established to limit or restrict
processing
 To find out whether error - handling paths are working correctly or not
 To find out whether the values are correctly updated or not
 Check for validations

Black Box Testing


It is a software testing approach in which the tester doesn’t know the internal working of the
item being tested. For example in a Black box test, on software design the tester only knows
the input and the expected outputs. Tester doesn’t know how the program derives the output.
Tester doesn’t even imagine as to how, the coding is done. Tester need to know only the
specifications.
The advantages of black box testing approach are :

 The test is unbiased because the designer and the tester is independent of each other
 The tester needs no specific knowledge on any programming language
 The test is done from the point of view of the user, not the designer.
 The test can be designed as soon as the specifications are complete

The disadvantages of black box testing approach are

 The test can be redundant if the software designer has already run a test case.
 The test can be difficult to design
 Testing every possible input stream is unrealistic.

7.1 UNIT TESTING

Unit or module testing is the process of testing the individual components (subprograms or
procedures) of a program. The purpose is to discover discrepancies between the modules

School of Science Studies, CMRU


interface specification and its actual behavior. In our system each module must be tested
independently for validation.

7.2 INTEGRATION TESTING

Integration testing is the process of combining and testing multiple components together. The
primary objective of integration testing is to discover errors in the interfaces between the
components. In our system each of the modules mentioned above, are tested for checking the
integration between them, after each of them are tested individually.

Software testing is an investigation conducted to provide stakeholders with information about


the quality of the software product or service under test. Software testing can also provide an
objective, independent view of the software to allow the business to appreciate and
understand the risks of software implementation. Test techniques include the process of
executing a program or application with the intent of finding software bugs (errors or other
defects), and verifying that the software product is fit for use.
Software testing involves the execution of a software component or system component to
evaluate one or more properties of interest. In general, these properties indicate the extent to
which the component or system under test:

 meets the requirements that guided its design and development,


 responds correctly to all kinds of inputs,
 performs its functions within an acceptable time,
 it is sufficiently usable,
 can be installed and run in its intended environments, and
 achieves the general result its stakeholders desire.

As the number of possible tests for even simple software components is practically infinite,
all software testing uses some strategy to select tests that are feasible for the available time
and resources. As a result, software testing typically (but not exclusively) attempts to execute
a program or application with the intent of finding software bugs (errors or other defects).
The job of testing is an iterative process as when one bug is fixed, it can illuminate other,
deeper bugs, or can even create new ones.
Software testing can provide objective, independent information about the quality of software
and risk of its failure to users or sponsors. Software testing can be conducted as soon as

School of Science Studies, CMRU


executable software (even if partiallycomplete) exists. The overall approach to software
development often determines when and how testing is conducted. For example, in a phased
process, most testing occurs after system requirements have been defined and then
implemented in testable programs. In contrast, under an agile approach, requirements,
programming, and testing are often done concurrently.
As a result, software testing typically (but not exclusively) attempts to execute a program or
application with the intent of finding software bugs (errors or other defects).The job of testing
is an iterative process as when one bug is fixed, it can illuminate other, deeper bugs, or can
even create new ones.

7.3 SYSTEM TESTING

System testing is an essential step for the development of a reliable and errorfreesystem.
Once source code has been generated, software must be tested to uncover andcorrect as many
errors as possible before delivery to your customer. Your goal is todesign a series of test
cases that have a high likelihood finding errors but how, thereare different methods that
provides a systematic guidance for designing tests that,Exercise the internal logic of software
components, andExercise the input and output do mains of the progra m to u ncover errors in
the program function, behaviour, and performance

7.4 ACCEPTANCE TESTING

Acceptance testing, in the context of the engineering and software industries, is a functional
trial performed on a product or prototype before it is put on the market or delivered, to
decide whether the specifications or contract have been met. It also makes sure the quality
and design of the product meet both contractual and regulatory obligations in terms of
functionality, usability, durability, and safety.If a product is found to be unacceptable at this
stage, it can be sent back for modification, debugging, repair, or re-design before it can
become a costly undertaking for the producer, as would be the case in a product recall.

The acceptance testing process, which is also known as end-user testing, operational
acceptance testing, or field testing acts as a form of initial quality control to identify
problems and defects while they can still be corrected relatively painlessly and
inexpensively.

It often involves trialing a prototype product or one which has not yet been mass-produced
for the consumer market. It is also one of the final stages of a piece of software’s testing
cycle and often occurs before a client or customer accepts the new application — and
encourages close collaboration between developers and customers.

School of Science Studies, CMRU


Acceptance tests are designed to replicate the anticipated real-life use of the product to
verify that it is fully functional and complies with the specifications agreed between the
customer and the manufacturer. These may involve chemical tests, physical tests, or
performance tests, which may be refined and iterated if needed. If the actual results match
the expected results for each test case, the product will pass and be considered adequate. It
will then either be rejected or accepted by the customer. If it is rejected, it may be fixed or
abandoned entirely if the required fixes will prove too expensive or time-consuming.

CONCLUSION

FUTURE SCOPE
REFERENCES

School of Science Studies, CMRU

You might also like