SLMS Project Report
SLMS Project Report
Submitted by:
Content
Acknowledgment
Introduction
Purpose of the Project
Problem in Existing System
System Analysis
Feasibility Report
System Design(Case Diagram, Flow chart, ER Diagram)
Database Design
Output Screens
System Testing and Implementation
Conclusion
Bibliography
Acknowledgement
I would like to mention our sincere gratitude towards University/College, for
giving us the opportunity to carry out our project.
I would like to express our heart full gratitude towards our guide, his/her invaluable
advice for the successful completion of this dissertation.
I also like to extend our sincere thanks to the of University/College for their
invaluable help and support.
Finally, I take this opportunity to mention our sincere thanks to one and all those
who helped us directly or indirectly for the completion of our project.
Introduction
The Staff Leave Management System (SLMS) is an Intranet based application that
can be accessed throughout the organization or a specified group/Dept. This
system can be used to automate the workflow of leave applications and their
approvals.
The project has been planned to be having the view of distributed architecture,
with centralized storage of the database. The application for the storage of the
data has been planned. All the user interfaces have been designed using the
Python technologies and using Django framework. The database connectivity is
planned using the “SQLite” methodology. The standards of security and data
protective mechanism have been given a big choice for proper usage. The
application takes care of different modules and their associated reports, which
are produced as per the applicable strategies and standards that are put
forwarded by the administrative.
PURPOSE OF THE PROJECT
This project is aimed at developing a web based Leave Management Tool, which is
of importance to any organization. This is an Intranet based application that can
be accessed throughout the organization or a specified group/Dept. This system
can be used to automate the workflow of leave applications and their approvals.
There are features like cancellation of leave, approval of leave, report generators
etc. in this Tool.
The development of the new system contains the following activities, which try to
automate the entire process keeping in view of the database integration
approach.
2. The system makes the overall project management much easier and
flexible.
After analyzing the requirements of the task to be performed, the next step is to
analyze the problem and understand its context. The first activity in the phase is
studying the existing system and other is to understand the requirements and
domain of the new system. Both the activities are equally important, but the first
activity serves as a basis of giving the functional specifications and then successful
design of the proposed system. Understanding the properties and requirements
of a new system is more difficult and requires creative thinking and understanding
of existing running system is also difficult, improper understanding of present
system can lead diversion from solution.
ANALYSIS MODEL
The model that is basically being followed is the WATER FALL MODEL, which
states that the phases are organized in a linear order. First of all the feasibility
study is done. Once that part is over the requirement analysis and project
planning begins. If system exists one and modification and addition of new
module is needed, analysis of present system can be used as basic model.
The design starts after the requirement analysis is complete and the coding
begins after the design is complete. Once the programming is completed, the
testing is done. In this model the sequence of activities performed in a software
development project are: -
Requirement Analysis
Project Planning
System design
Detail design
Coding
Unit testing
System integration & testing
Here the linear ordering of these activities is critical. End of the phase and the
output of one phase is the input of other phase. The output of each phase is to be
consistent with the overall requirement of the system. Some of the qualities of
spiral model are also incorporated like after the people concerned with the
project review completion of each of the phase the work done.
WATER FALL MODEL was being chosen because all requirements were known
beforehand and the objective of our software development is the
computerization/automation of an already existing manual working system.
Changed
Requirements
Communicated
Requirements
Requirements
Specification
Requirements
Engineering
Design
Specification
Design
Executable
Software
Programming Modules Maintenance
Integrated
Software
Product
Integration
Delivered
Software
Delivery Product
GUI’S
In the flexibility of the uses the interface has been developed a graphics concept
in mind, associated through a browses interface. The GUI’S at the top level have
been categorized as
1. Administrative user interface
The operational or generic user interface helps the users upon the system in
transactions through the existing data and required services. The operational user
interface also helps the ordinary users in managing their own information helps the
ordinary users in managing their own information in a customized manner as per
the assisted flexibilities.
NUMBER OF MODULES
The system after careful analysis has been identified to be presented with the
following modules:
Admin can add a Staff and also update the Staff info.
Admin can also manage the leave application (approve and not approve).
Every time when a Staff applies for leave admin will get a notification.
Admin can change own password after login.
Admin can also view admin dashboard.
Staff Module
PROJECT INSTRUCTIONS:
HARDWARE REQUIREMENTS:
RAM: 256 MB
CD Drive
SOFTWARE REQUIREMENTS:
What is Python?
It is used for:
Django
Django is a Python framework that makes it easier to create web sites using
Python.
Django takes care of the difficult stuff so that you can concentrate on building
Repeat Yourself), and comes with ready-to-use features like login system,
Model - The data you want to present, usually data from a database.
View - A request handler that returns the relevant template and content - based
Template - A text file (like an HTML file) containing the layout of the web page,
SQLite
reliability, full-featured, SQL database engine. SQLite is the most used database
engine in the world. SQLite is built into all mobile phones and most computers
and comes bundled inside countless other applications that people use every day.
More Information...
The SQLite file format is stable, cross-platform, and backwards compatible and
the developers pledge to keep it that way through the year 2050. SQLite database
files are commonly used as containers to transfer rich content between systems
and as a long-term archival format for data. There are over 1 trillion (1e12) SQLite
SQLite source code is in the public-domain and is free to everyone to use for any
purpose.
Latest Release
Preliminary investigation examine project feasibility, the likelihood the system will
be useful to the organization. The main objective of the feasibility study is to test
the Technical, Operational and Economical feasibility for adding new modules and
debugging old running system. All system is feasible if they are unlimited
resources and infinite time. There are aspects in the feasibility study portion of
the preliminary investigation:
Technical Feasibility
Operation Feasibility
Economical Feasibility
Technical Feasibility
The technical issue usually raised during the feasibility stage of the
investigation includes the following:
Operational Feasibility
Proposed projects are beneficial only if they can be turned out into information
system. That will meet the organization’s operating requirements. Operational
feasibility aspects of the project are to be taken as an important part of the
project implementation. Some of the important issues raised are to test the
operational feasibility of a project includes the following: -
Is there sufficient support for the management from the users?
Will the system be used and work properly if it is being developed and
implemented?
Will there be any resistance from the user that will undermine the possible
application benefits?
The well-planned design would ensure the optimal utilization of the computer
resources and would help in the improvement of performance status.
Economic Feasibility
A system can be developed technically and that will be used if installed must still
be a good investment for the organization. In the economical feasibility, the
development cost in creating the system is evaluated against the ultimate benefit
derived from the new systems. Financial benefits must equal or exceed the costs.
The system is economically feasible. It does not require any addition hardware or
software. Since the interface for this system is developed using the existing
resources and technologies. There is nominal expenditure and economical
feasibility for certain.
SYSTEM DESIGN
INTRODUCTION
Software design sits at the technical kernel of the software engineering process
and is applied regardless of the development paradigm and area of application.
Design is the first step in the development phase for any engineered product or
system. The designer’s goal is to produce a model or representation of an entity
that will later be built. Beginning, once system requirement have been specified
and analyzed, system design is the first of the three technical activities -design,
code and test that is required to build and verify software.
The importance can be stated with a single word “Quality”. Design is the place
where quality is fostered in software development. Design provides us with
representations of software that can assess for quality. Design is the only way that
we can accurately translate a customer’s view into a finished software product or
system. Software design serves as a foundation for all the software engineering
steps that follow. Without a strong design we risk building an unstable system –
one that will be difficult to test, one whose quality cannot be assessed until the
last stage.
During design, progressive refinement of data structure, program structure, and
procedural details are developed reviewed and documented. System design can
Admin Login
Admin Dashboard
Manage Staff
(Add / update / Delete)
Change Password
User login
User Dashboard
Staff
SLMS
Staff Sign in
After Sign in
Submit
Admin flow chart
SLMS
Admin Sign in
After Sign
in
Add Staff
Leave Requests
(Approve and not approve)
E – R DIAGRAMS
The relation upon the system is structure through a conceptual ER-Diagram,
which not only specifics the existential entities but also the standard relations
through which the system exists and the cardinalities that are necessary for
the system state to continue.
The entity Relationship Diagram (ERD) depicts the relationship between the
data objects. The ERD is the notation that is used to conduct the date
modeling activity the attributes of each data object noted is the ERD can be
described resign a data object descriptions.
The set of primary components that are identified by the ERD are
The primary purpose of the ERD is to represent data objects and their
relationships.
DATA FLOW DIAGRAMS:
The DFD takes an input-process-output view of a system i.e. data objects flow into
the software, are transformed by processing elements, and resultant data objects
flow out of the software.
The DFD enables the software engineer to develop models of the information
domain & functional domain at the same time. As the DFD is refined into greater
levels of details, the analyst performs an implicit functional decomposition of the
system. At the same time, the DFD refinement results in a corresponding
refinement of the data as it moves through the process that embody the
applications.
A context-level DFD for the system the primary external entities produce
information for use by the system and consume information generated by the
system. The labeled arrow represents data objects or object hierarchy.
Database Design
The data in the system has to be stored and retrieved from database. Designing
the database is part of system design. Data elements and data structures to be
stored have been identified at analysis stage. They are structured and put
serve many users quickly and efficiently. The general objective is to make database
access easy, quick, inexpensive and flexible for the user. Relationships are
established between the data items and unnecessary data items are removed.
The SQLite database has been chosen for developing the relevant databases.
admin
Staffs
Staff leaves
Admin Table : This table stores admin login details
Name Type
password CharField(max_length=128)
last_login DateTimeField(blank=True, null=True)
is_superuser BooleanField()
username CharField(unique=True,
max_length=150)
first_name CharField(max_length=150)
last_name CharField(max_length=150)
email CharField(max_length=150)
is_staff BooleanField()
is_active BooleanField()
date_joined DateTimeField()
user_type CharField(max_length=50)
profile_pic CharField(max_length=100)
Staff Table : This table stores staff details.
Name Type
password CharField(max_length=128)
last_login DateTimeField(blank=True, null=True)
is_superuser BooleanField()
username CharField(unique=True,
max_length=150)
first_name CharField(max_length=150)
last_name CharField(max_length=150)
email CharField(max_length=150)
is_staff BooleanField()
is_active BooleanField()
date_joined DateTimeField()
user_type CharField(max_length=50)
profile_pic CharField(max_length=100)
address TextField()
gender CharField(max_length=100)
created_at DateTimeField()
updated_at DateTimeField()
Staffs Leave Table : This table stores the details of staff leave.
Name Type
leave_type CharField(max_length=100)
from_date CharField(max_length=100)
to_date CharField(max_length=100)
message TextField()
status IntegerField()
created_at DateTimeField()
updated_at DateTimeField()
staff_id ForeignKey(SlmsappStaff,
models.DO_NOTHING)
Output Screens
Home Page
Login Page
Admin Panel
Dashboard
Profile
Change Password
Add Staff
Manage Staff
Update Staff Details
Dashboard
INTRODUCTION
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.
UNIT TESTING
MODULE TESTING
SYSTEM TESTING
Integration Testing
ACCEPTANCE TESTING
User Testing
Unit Testing
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.
To follow the concept of white box testing we have tested each form .we have
created independently to verify that Data flow is correct, All conditions are
exercised to check their validity, All loops are executed on their boundaries.
Each unit has been separately tested by the development team itself and all the
input have been validated.
CONCLUSION
It has been a great pleasure for me to work on this exciting and challenging
project. This project proved good for me as it provided practical knowledge
of not only programming in Python and SQLITE web based application. It also
provides knowledge about the latest technology used in developing web
enabled application and client server technology that will be great demand
in future. This will provide better opportunities and guidance in future in
developing projects independently.
BENEFITS:
The project is identified by the merits of the system offered to the user. The
merits of this project are as follows: -
the requirement. This is bound to be simple and very friendly as per the user
is concerned. That is, we can say that the project is user friendly which is one
of the primary concerns of any good project.
Data storage and retrieval will become faster and easier to maintain
because data is stored in a systematic manner and in a single database.
Decision making process would be greatly enhanced because of faster
processing of information since data collection from information available
on computer takes much less time then manual system.
Allocating of sample results becomes much faster because at a time the
user can see the records of last years.
Easier and faster data transfer through latest technology associated with
the computer and communication.
Through these features it will increase the efficiency, accuracy and
transparency,
LIMITATIONS:
The size of the database increases day-by-day, increasing the load on the
database back up and data maintenance activity.
Training for simple computer operations is necessary for the users
working on the system.
BIBLIOGRAPHY
[1] Django homepage. http://www.djangoproject.com/.
[2] Python documentation. http://www.python.org/doc.
[3] Django(web framework). http://en.wikipedia.org/wiki/Django.
[4] Django documentation. http://docs.djangoproject.com.
[5] Python(programming language). http://en.wikipedia.org/wiki/Python.