Python Sample

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 39

INTRODUCTION

1.1 OBJECTIVE OF THE PROJECT


SYSTEM ANALYSIS
2.1 INTRODUCTION
System analysis is the process of gathering data and facts diagnosing problem
to the system. In the development of software structural analysis is required.
During this analysis, information is collected in the form of answers to the
question for collecting information from existing documents. Analysis specifies
what the system should do.

Problem definition deals with defining the actual problem involved in the
existing system or the system to be developed. Studies on various areas covered
by the existing system are classified into various divisions and the actual task to
be performed in the new system is determined. The project will be able to
demonstrate the ideas of a website which helps the public. The website is trying to
revitalize and simplify the various functions and activities and make them more
people friendly. We dedicated to providing better and speedy services to the
public.

System analysis is the detailed study of various operations and their


relationship within and outside the system. It is the first in the developing and
managing systems. System analysis is concerned with becoming aware of the
problem, identifying the relevant and most decisional variables, analyzing and
synthesizing the various factors and determining an optimal or at least as at is
factory solution or program of action. A preliminary study was conducted in
details and several fact-finding techniques like record searching, observation,
comparison etc. were used to reach a better decision. The current system for this
each activity was deeply studied and analyzed. All the forms and other printed or
non-printed formats for data collection were checked accurately and findings were
compared. Observation was done to great extend to see the difficulties of the
process and time delay in findings the results. Accurate study was conducted to
know the system in a much better manner.

The objectives of the system analysis are:

 Identifying the need.


 Analyzing the existing and proposed system.
 Evaluating the feasibility study.
 Perform economic and technical analysis.
 Identifying the hardware and software requirements.
 Allocating functions to the hardware and software.
2.2 IDENTIFICATION OF NEED
System analysis is the reduction of the entire system by studying various
operations and their relationships with the system and the requirements of bit
successor. A system can be defined as an orderly grouping of interdependent
components linked together according to plan to achieve a specific objective.

The idea of the system has become most practical and necessary in
conceptualizing the interrelationships and integrations of operations especially
when using computers. Organizing consists of several interrelated and interacting
components. Analysis is the detailed study of various operations performed by the
system and their relations within and outside the system. During analysis, data are
connected on the available files, decision points and is handled by the present
system.

2.3 EXISTING SYSTEM

2.4 PROPOSED SYSTEM

2.5 FEASIBILITY STUDY


During the system analysis study of the proposed system is carried out to see,
whether it is beneficial to the organization. It is both needed and prudent to
evaluate the feasibility of a project at the earliest time and minimum expenditure.
Feasibility study is a test of system proposal access, its workability, impact on the
organization, ability to meet the user needs, and effective use of resources. The
different steps involved in feasibility analysis are.

 Formation of a project team


 Preparing the system flow chart
 Enumerating the potential candidate system
 Identifying the candidate system

The proposed system will help to solving the problem more efficiently and
accurately. The reports obtained after feasibility studies are given below, they are:
 Economic Feasibility
 Technical Feasibility
 Operational Feasibility

Economic Feasibility

It will reduce expenditure and improve the quality of service. A system can
develop technically and that will used if the installed must still be a good
investment for the public. Financial benefits must exceed the cost. In the case of
proposed system, performance of the system is effective of its accuracy, faster
response and user friendly in nature. The campus-wide community for events and
placements reduce unnecessary expenses and wastage of many hours by its
capabilities of fast operations.

Technical Feasibility

Technical Feasibility checks the work for the project be done with current
equipment, existing software technology and available personal. And if
technology is required, what is the likelihood that it can develop. Also checks
whether the proposed system guarantees accuracy, reliability, data security and
ease of access. All the resources or implementing this software is available in this
project.

Operational Feasibility

People are inherently to change, and computers have been known to facilitate
chance. An estimate should be made about the reaction of the user, staff towards
the development of a computerized system. Computer installations have
something to do with turnover, transfer and changes in job status. Proposed
projects are beneficial only if that can be turned in to information system that will
meet the organizations operating requirements. In-operational feasibility study the
management and users were found to have interest for a chance. Since the system
is user friendly and training is less needed.

2.6 SYSTEM SPECIFICATION


The software requirements specification (SRS) is a means of translating the
ideas in the minds of clients into a formal documentation. This document forms
the development and software validation. The basic reason for the difficulty in
software requirement specification comes from the fact that there are three
interested parties-the clients, the end users and the software developer. The
requirements document has to be such that the client and the user can understand
easily, and the developers can use it as a basis for software development. Due to
the diverse parties involved in software requirement specification, a
communication gap exists. This gap arises when the client does not understand
software or the software development processor when the developer does not
understand the client’s problem and application area of SRS bridges this
communication gap.

Problem analysis is done to obtain a clear understanding of the needs of the


clients and the users, and what exactly is desired from the software. Analysis leads
to the actual specification. People performing the analysis called analysts, area
also responsible for specifying the requirements.

The software project is initiated by the client’s needs. In the beginning these
needs are in the minds of various people in the client organization. The
requirement analyst must identify their requirements by talking to these people
and understanding their needs. These people and the existing documents about the
current mode of operation are the basis source of information for the analyst.

1.1.1 HARDWARE SPECIFICATION

Machine Intel Dual Core


Mother Board Intel 945 Chipset
Memory 4 GB
Hard Disk 500 GB
Monitor 18.5” LED Monitor
Keyboard USB/3
Mouse USB/3

1.1.2 SOFTWARE SPECIFICATION

Operating System Windows


Web Technologies Python, Django, HTML, CSS
Database MySQL
Web Browser Google Chrome/Mozilla Firefox
1.1.2.1 PYTHON

Python is a general-purpose interpreted, interactive, object-oriented, and high-


level programming language. It was created by Guido van Rossum during 1985-
1990. Like Perl, Python source code is also available under the GNU General
Public License (GPL). This tutorial gives enough understanding on Python
programming language. Python is a high-level, interpreted, interactive and object-
oriented scripting language. Python is designed to be highly readable. It uses
English keywords frequently where as other languages use punctuation, and it has
fewer syntactical constructions than other languages.

Python is a MUST for students and working professionals to become a great


Software Engineer especially when they are working in Web Development
Domain. I will list down some of the key advantages of learning Python. Python
was developed by Guido van Rossum in the late eighties and early nineties at the
National Research Institute for Mathematics and Computer Science in the
Netherlands. Python is derived from many other languages, including ABC,
Modula-3, C, C++, Algol-68, Smalltalk, and UNIX shell and other scripting
languages. Python is copyrighted. Like Perl, Python source code is now available
under the GNU General Public License (GPL). Python is now maintained by a
core development team at the institute, although Guido van Rossum still holds a
vital role in directing its progress.

Python is dynamically typed and garbage-collected. It supports multiple


programming paradigms, including procedural, object-oriented, and functional
programming. Python is often described as a "batteries included" language due to
its comprehensive standard library. Python was conceived in the late 1980s as a
successor to the ABC language. Python 2.0, released in 2000, introduced features
like list comprehensions and a garbage collection system capable of collecting
reference cycles. Python 3.0, released in 2008, was a major revision of the
language that is not completely backward-compatible, and much Python 2 code
does not run unmodified on Python 3.The Python 2 language, i.e. Python 2.7.x,
was officially discontinued on 1 January 2020 (first planned for 2015) after which
security patches and other improvements will not be released for it. With Python
2's end- of-life, only Python 3.5.x and later are supported. Python interpreters are
available for many operating systems. A global community of programmers
develops and maintains Python, an open source reference implementation. A non-
profit organization, the Python Software Foundation, manages and directs
resources for Python and Python development.

Rather than having all of its functionality built into its core, Python was
designed to be highly extensible. This compact modularity has made it
particularly popular as a means of adding programmable interfaces to existing
applications. Van Rossum's vision of a small core language with a large standard
library and easily extensible interpreter stemmed from his frustrations with ABC,
which espoused the opposite approach.

Python strives for a simpler, less-cluttered syntax and grammar while giving
developers a choice in their coding methodology. In contrast to Perl's "there is
more than one way to do it" motto, Python embraces a "there should be one and
preferably only one obvious way to do it" design philosophy. Alex Martello, a
Fellow at the Python Software foundation and Python book author, writer that “To
describe something as ‘clever’ is not considered a compliment in the python
culture.” Python’s developers strive to avoid premature optimization, and reject
patches to non-critical part of the Python reference implementation that would
offer marginal increases in speed at the cost of clarity. When speed is important, a
Python programmer can move time-critical functions to extension modules written
in languages such as C, or use Pippy, a just-in-time compiler. Python is also
available, which translates a Python script into C and makes direct C-level API
calls into the Python interpreter.

1.1.2.2 Django

Django is a Python based free and open-source web framework, which follows
the model-template-view (MTV) architectural pattern. Django's primary goal is to
ease the creation of complex, database driven websites. The framework
emphasizes reusability and pluggability of components, less code, low coupling,
rapid development, and the principle of don't repeat yourself. Python is used
throughout, even for settings files and data models. Django also provides an
optional administrative create, read, update and delete interface that is generated
dynamically through introspection and configured via admin models.

Despite having its own nomenclature, such as naming the callable objects
generating the HTTP responses views, the core Django framework can be seen as
an MVC architecture. It consists of an object-relational mapper (ORM) that
mediates between data models (defined as Python classes) and a relational
database (Model), a system for processing HTTP requests with a web templating
system (View), and a regular-expression-based URL dispatcher (Controller).

Also included in the core framework are:

 A lightweight and standalone web server for development and testing.


A form serialization and validation system that can translate
between HTML forms and values suitable for storage in the database.
 A template system that utilizes the concept of inheritance borrowed from object-
oriented programming.
 A caching framework that can use any of several cache methods
 Support for middleware classes that can intervene at various stages of request
processing and carry out custom functions
 An internal dispatcher system that allows components of an application to
communicate events to each other via pre-defined signal.
 An internationalization system, including translations of Django's own
components into a variety of languages
 A system for extending the capabilities of the template engine
 An interface to Python's built-in unit test framework
 Django REST framework is a powerful and flexible toolkit for building Web
APIs

1.1.2.3 Hypertext Mark-up Language (HTML)

It is the standard mark-up language for documents designed to be displayed in


a web browser. It can be assisted by technologies such as Cascading Style Sheets
(CSS) and scripting languages such as JavaScript.

Web browsers receive HTML documents from a web server or from local
storage and render the documents into multimedia web pages. HTML describes
the structure of a web page semantically and originally included cues for the
appearance of the document.

HTML elements are the building blocks of HTML pages. With HTML
constructs, images and other objects such as interactive forms may be embedded
into the rendered page. HTML provides a means to create structured documents
by denoting structural semantics for text such as headings, paragraphs, lists, links,
quotes and other items. HTML elements are delineated by tags, written using
angle brackets.

Tags such as <imp /> and <input /> directly introduce content into the page.
Other tags such as <p> surround and provide information about document text and
may include other tags as sub-elements. Browsers do not display the HTML tags
but use them to interpret the content of the page.

HTML can embed programs written in a scripting language such as


JavaScript, which affects the behavior and content of web pages. Inclusion of CSS
defines the look and layout of content.

1.1.2.4 JavaScript

It is a lightweight, interpreted, object-oriented language with first-class


functions, and is best known as the scripting language for Web pages, but it's used
in many non-browser environments as well. It is a prototype-based, multi-
paradigm scripting language that is dynamic, and supports object-oriented,
imperative, and functional programming styles.

JavaScript runs on the client side of the web, which can be used to design /
program how the web pages behave on the occurrence of an event. JavaScript is
an easy to learn and powerful scripting language, widely used for controlling web
page behavior.

JavaScript can function as both a procedural and an object oriented language.


Objects are created programmatically in JavaScript, by attaching methods and
Properties to otherwise empty objects at run time, as opposed to the syntactic class
definitions common in compiled languages like C++ and Java. Once an object has
been constructed it can be used as a blueprint (or prototype) for creating similar
objects.

1.1.2.5 Cascading Style Sheets (CSS)

It is a style sheet language used to describe the presentation of a document


written in HTML or XML (including XML dialects such as SVG, Math or
XHTML). CSS describes how elements should be rendered on screen, on paper,
in speech, or on other media.

1.1.2.6 MYSQL

MySQL is an Oracle-backed open source relational database management


system (RDBMS) based on Structured Query Language (SQL). MySQL runs on
virtually all platforms, including Linux, UNIX and Windows. Although it can be
used in a wide range of applications, MySQL is most often associated with web
applications and online publishing.

MySQL is an important component of an open-source enterprise stack called


WAMP. WAMP is a web development platform that uses Linux as the operating
system, Apache as the web server, and MySQL as the relational database
management system and PHP as the object-oriented scripting language.
(Sometimes Perl or Python is used instead of PHP.)

Originally conceived by the Swedish company MySQL AB, MySQL was


acquired by Sun Microsystems in 2008 and then by Oracle when it bought Sun in
2010. Developers can use MySQL under the GNU General Public License (GPL),
but enterprises must obtain a commercial license from Oracle. Today, MySQL is
the RDBMS behind many of the top websites in the world and countless corporate
and consumer-facing web-based applications, including Facebook, Twitter and
YouTube.

 MySQL is the database management system, or a database server.

1.1.2.6.1 How MySQL works

MySQL is based on a client-server model. The core of MySQL is MySQL


server, which handles all of the database instructions (or commands). MySQL
server is available as a separate program for use in a client-server networked
environment and as a library that can be embedded (or linked) into separate
applications.
MySQL operates along with several utility programs which support the
administration of MySQL databases. Commands are sent to MySQL Server via
the MySQL client, which is installed on a computer.

MySQL was originally developed to handle large databases quickly. Although


MySQL is typically installed on only one machine, it is able to send the database
to multiple locations, as users are able to access it via different MySQL client
interfaces. These interfaces send SQL statements to the server and then display
the results.

1.1.2.6.2 MySQL Features

 Relational Database Management System (RDBMS): MySQL is a relational


database management system
 Easy to use MySQL is easy to use. You have to get only the basic knowledge of
SQL. You can build and interact with MySQL with only a few simple SQL
statements.
 It is secure: MySQL consist of a solid data security layer that protects sensitive
data from intruders. Passwords are encrypted in MySQL.
 Client/ Server Architecture: MySQL follows a client /server architecture.
There is a database server (MySQL) and arbitrarily many clients (application
programs), which communicate with the server; that is, they query data, save
changes, etc.
 Free to download MySQL is free to use and you can download it from MySQL
official website.
 It is scalable: MySQL can handle almost any amount of data, up to as much as
50 million rows or more. The default file size limit is about 4 GB. However,
you can increase this number to a theoretical limit of 8 TB of data.
 Compatible on many operating systems: MySQL is compatible to run on
many operating systems, like Novell NetWare, Windows* Linux*, many
varieties of UNIX* (such as Sun* Solaris*, AIX, and DEC* UNIX), OS/2,
FreeBSD*, and others. MySQL also provides a facility that the clients can run
on the same computer as the server or on another computer (communication
via a local network or the Internet).
 Allows roll-back: MySQL allows transactions to be rolled back, commit and
crash recovery.
 High Performance: MySQL is faster, more reliable and cheaper because of its
unique storage engine architecture.
 High Flexibility: MySQL supports a large number of embedded applications
which makes MySQL very flexible.
 High Productivity: MySQL uses Triggers, Stored procedures and views which
allows the developer to give a higher productivity.

1.1.2.6.3 Core MySQL features


MySQL enables data to be stored and accessed across multiple storage
engines, including Inorb, CSV, and NDB. MySQL is also capable of replicating
data and partitioning tables for better performance and durability. MySQL users
aren't required to learn new commands; they can access their data using standard
SQL commands.

Before 2016, the main difference between MySQL and SQL was that the
former could be used on multiple platforms, whereas the latter could only be used
on Windows. Microsoft has since expanded SQL to support Linux, a change
which went into effect in 2017. When MySQL is installed via Linux, its package
management system requires custom configuration to adjust security and
optimization settings.

MySQL also allows users to choose the most effective storage engine for any
given table, as the program can utilize multiple storage engines for individual
tables. One of MySQL's engines is Inorb. Inorb was designed for high availability.
Because of this, it is not as quick as other engines. SQL uses its own storage
system, but it does maintain multiple safeguards against loss of data. Both systems
are able to run in clusters for high availability.

SQL Server offers a wide variety of data analysis and reporting tools. SQL
Server Reporting Services is the most popular one and is available as a free
download. There are similar analysis tools for MySQL available from third-party
software companies, such as Crystal Reports XI and Actuate BIRT.

1.1.3 What is Windows?

Windows 10 professional integrates the strengths of windows 2008


professional such as standards-based security, manageability, and reliability, with
the best business features of windows 98 and windows Millennium Edition, such
as plug and play, simplified user interface, and innovative support services. This
combination creates the best desktop operating system for business.

It is more users friendly and a stable operating system equipped with much
more added features. The operating system supports new technologies such as
digital video disks, multiple monitors etc. along with plug and play and multi
display features. It has a graphical user interface operating environment. Faster
computing, easy access to remote information and control remote computers are
some added features. Following are the common features of Windows 10.

Faster computing, easy access to remote information and control remote


computers. Built-in networking and messaging facility.

Easier to set up, add or remove.


Increase system security and control.

Support advanced networking and communication.

2.7 DATAFLOW DIAGRAM


Data flow diagram (DFD) is a graphical representation of the “flow” of data
through an information system, modelling its process aspects. A DFD is often
used as a preliminary step to create an overview of the system without going into
great detail, which can later be elaborated. A DED shows what kind of
information will be input to and output from the system, how the data will
advance through the system, and where the data will be stored.

DFD is a designing tool used in the top-down approach to system Design. This
context level DFD is next “exploded “, to produce a Level 1 DFD that shows
some of the detail of the system being modelled. The Level 1 DFD shows how the
system is divided into sub-systems (processes), each of which deals with one or
more of the data flows to or from an external agent, and which together provide
all of the functionality of the system as a whole. It also identifies internal data
stores that must be present in order for the system to do its job and shows the flow
of data between the various parts of the system.

 Function- An activity or a function that is performed for some specific reason; can
be manual or computerized; ultimately each process should perform only one
activity.
 Data Store- collection of data that is permanently stored.
 External Entity- A person, organization or system that is external to the system
but interact with it.
 Data Flow- Single piece of data or logical collection of information like a bill.

The following are some DFD symbols used in the project.

Rectangle: - It defines a source or destination of system data.


Circle: - It represents a process that transforms incoming data flow into outgoing
data flow.

Arrow: - It defines data flow. It is a pipeline through which information flows.

Open rectangle: - It is used to store data or a temporary repository of data.


DATA FLOW DIAGRAM
USECASE
SYSTEM DESIGN
1.1 INTRODUCTION
System design is the process of defining the.

Architecture, modules, interfaces, and data for a system to satisfy specified


requirements. System design could be seen as the application of systems theory to
product development. There is some overlap with the disciplines of system
analysis, systems architecture and systems engineering.

1.2 TYPES OF SYSTEM DESIGN


Logical Design

Logical design pertains to an abstract representation of the data flow, inputs


and outputs of the system. It describes the inputs (source), outputs (destinations),
databases (data stores), procedures (data flows) all in a format that meets the user
requirements.

Physical Design

Physical design relates to the actual input and outputs processes of the system.
It focuses on how data is entered into a system, verified, processed, and displayed
as output.

Architectural Design

It is also known as high level design that focuses on the design of system
architecture. It describes the structure and behavior of the system. It defines the
structure and relationship between various modules of system development
process.

Detailed Design

It follows Architectural design and focuses on development of each module.

Conceptual Data Modelling

It is representation of organization data which includes all the major entities


and relationship. System analyses develop a conceptual data model for the current
system that supports the scope and requirement for the proposed system.

1.3 INPUT DESIGN


Input design is a part of the overall design. The input methods can be broadly
classified. Internal controls must be established for monitoring the number of
inputs and for ensuring that the data are valid. The basic steps involved in input
design are:

 Review input requirements.


 Decide how the input data flow will be implemented.
 Decide the source document.
 Prototype online input screens.
 Design the input screens.

The quality of the system input determines the quality of the system output.
Input specifications describe the way data enter the system for processing. Input
design features can ensure the reliability of the system and produce result.

1.4 OUTPUT DESIGN


A quality is one, which meets the requirements of end user and present the
information clearly. In any system results of processing are communicated to the
user and to the other system through outputs. In the outputs design it is
determined how the information is to be displayed for immediate need.

It is the most important and direct source information is to user. Efficient and
intelligent output design improves the system’s relationships with the user and
helps in decision making. The objectives of the output design are to convey the
information of all the past activities, current status and to emphasis important
events. The output generally refers to the results and information that is generated
from the system. Outputs from computes are required primarily to communicate
the result of processing to the users.

Output also provides a means of storage by coping the results for later
reference in consolation. There is a chance that some of the end users will not
actually operate the input data or information through workstations but will see
the output from the system.

Two phases of the output design are:

1. Output Definitions
2. Output Specification

Output definitions considers the type of outputs contents, its frequency and its
volume, the appropriate outputs media is determined for output. Once the media is
chosen, the details specification of output documents are carried out. The nature
of output required from the proposed system is determined during logical design
stage. It takes the outline of the output from the logical design and produces
output as specified during the logical design phase. In a project, when designing
the output, the system must accomplish the following:

 Determine the information to present.


 Decide whether to display, speak the information and select the output medium.
 Arrange the information in acceptable format.
 Decide how to distribute the output to the intended receipt.

Thus, by following the above specification, a high-quality output can be


generated. Outputs from compute system are required primarily to communicate
thee result of processing to users. Computer output is the most important and
direct source of information to the user. Efficiency, intelligible output should
improve the system’s relationship with the user and help in decision making. The
output devices to consider depend on factors as compatibility of the device with
the system, response time requirements, expected print quality, number of copies
needed etc.

1.5 DATA BASE DESIGN


A database is a collection of interrelated data stored with minimum
redundancy to serve many users quickly and efficiently. The general objective is
to make information access easy, quick, inexpensive and flexible for users. The
general theme behind a database is to integrate all information. Database design is
recognized as a standard of management information system and is available
virtually for every computer system. In database design several specific objectives
are considered:

 Ease of learning and use


 Controlled redundancy
 Data independence
 More information at low cost
 Accuracy and integrity
 Recovery from failure
 Privacy and security
1.1.1 NORMALIZATION

Designing a database is complete task and the normalization theory is a useful


aid in the design process. The process of normalization is concerned with
transformation of conceptual schema into computer representation form. There
will be need for most databases to grow by adding new attributes and new
relations. The data will be used new ways. Tuple will be added and deleted.
Information stored may undergo updating also. New association may also be
added. In such situation the performance of a database is entirely depend upon its
design. A bad database design may lead to certain undesirable things like:

1. Repetition of information
2. Inability to represent certain information.
3. Loss of information

To minimize these anomalies, normalization may be used. If the database is in


a normalized from, the data can be growing without, in most cases, forcing the
rewriting application programs. This is important because of the excessive and
growing cost of maintaining an organization’s application programs and its data
from the disrupting effects of database growth. As the quality of application
programs increase, the cost of maintaining the without normalization will rise to
prohibitive levels, A normalized database can also encompass many related
activities of an organization thereby minimizing the need for rewriting the
applications of programs. Thus, normalization helps one attain a good database
design and there by ensures continued efficiency of database.

We can define the procedure as the successive reduction of a given collection


of relations to some more desirable from. This procedure is reversible. That is, it
is always possible to take the output from the procedure and convert them back
into input. In this process, no information is lost. So, it is also called “no lose
decomposition”.

FIRST NORMAL FORM: A relation is first normal form (1NF) if and all its
attributes are based on single domain. The objective of normalization a table is to
remove its repeating groups and ensure that all entries of the resulting table have
at most single value.

SECOND NORMAL FORM: A table is said to be second normal form (2NF),


when it is in 1NF and every attribute in the record is functionally dependent upon
the whole key, and not just a part of the key.

THIRD NORMAL FORM: A table is in third normal form (3NF). When it is in


2NF and every non-key attribute is functionally dependent on just the primary
key.
SYSTEM DEVELOPMENT
4.1 MODULE DESCRIPTION
1.1 SOURCE CODE
SYSTEM IMPLEMENTATION
1.6 TESTING
The term software testing is defined as to find for the errors in the application
that might lead to fault or failure of the whole application. There are testing
conditions that the system must pass to says that it is tested and working properly.
The quality and reliability are also attained by going through the process of
testing.

1.7 UNIT TESTING


Unit testing is a level of a software testing where individual units/components
of software are tested. The purpose is to validate that each unit of the software
performs as designed. A unit is the smallest testable part of any software. It
usually has one or a few inputs and usually a single output. In procedural
programming, a unit may be an individual program, function, procedure, etc. In
object-oriented programming, the smallest unit is a method, which may belong to
a base/ super class, abstract class or derived/ child class. (Some treat a module of
an application as a unit. This is to be discouraged as there will probably be many
individual units within that module.) Unit testing frameworks, drivers, stubs, and
mock/ fake objects are used to assist in unit testing.

1.1 INTEGRATION TESTING


Integration testing is a level of software testing where individual units are
combined and tested as a group. The purpose of the level of testing is to expose
faults in the interaction between integrated units. The purpose of this level of
testing is to expose faults in the intersection between integrated units. The drivers
and test stubs are used to assist in Integration Testing.

1.1 SYSTEMS TESTING


System testing is a level of software testing where complete and integrated
software is tested. The purpose of this test is to evaluate the system’s compliance
with the specified requirements.

1.1 ACCEPTANCE TESTING


Acceptance testing is performed to ensure that the functional, behavioral, and
performance requirements of the software are met IEEE defines acceptance
testing as a ‘formal testing with respect to user needs, requirements, and business
processes conducted to determine whether or not a system satisfies the acceptance
criteria and to enable the user, customers or other authorized entity to determine
whether or not to accept the system.’

During acceptance testing, the software is tested and evaluated by a group of


users either at the developer’s site or user’s site. This enables the users to site. The
enables the users to test the software themselves and analyses whether it is
meeting their requirements. To perform acceptance testing, a predetermined set of
data is given to the software as input. It is important to know the expected output
before performing acceptance testing so that outputs produced by the software as
a result of testing can be compared with them. Based on the results of tests, users
decide whether to accept or reject the software is correct and is accepted;
otherwise, it is rejected.

1.1 REGRESSION TESTING


Regression testing is the retesting of a software system to confirm that
changes made to few parts of the codes has not any side effects on existing system
functionalities. It is to ensure that old codes are still working as they were before
introduction of the new change. The ideal process would be to create an extensive
test suite and run it after each and every change.

1.2 VALIDATION CHECKS


A validation check ascertains that the value (or data) input into a computer is
valid. Validation checks are performed automatically by computer to ensure that
entered data is correct and reasonable. Validation means check the input
submitted by the user. There are two types of validation are available in PHP.
They are as follows −

 Client-Side Validation − Validation is performed on the client machine web


browsers.
 Server-Side Validation – After submitted by data, the data has sent to a
server and perform validation checks in server machine.

1.8 Server-Side Validation


In the Server-Side Validation, the input submitted by the user is being sent to
the server and validated using one of server-side scripting languages such as
ASP.Net, PHP etc. After the validation process on the Server Side, the feedback is
sent back to the client by a new dynamically generated web page. It is better to
validate user input on Server Side because you can protect against the malicious
users, who can easily bypass your Client-Side scripting language and submit
dangerous input to the server.

1.9 Client-Side Validation


In the Client-Side Validation, you can provide a better user experience by
responding quickly at the browser level. When you perform a Client-Side
Validation, all the user inputs validated in the user's browser itself. Client-Side
validation does not require a round trip to the server, so the network traffic which
will help your server perform better. This type of validation is done on the
browser side using script languages such as JavaScript, VBScript or HTML5
attributes.

1.10 IMPLEMENTATION
Implementation includes placing the system into operation and providing the
users and operation personnel with the necessary documentation to use and
maintain the new system. Implementation includes all those activities that take
place to convert from the old system. Proper implementation is essential to
provide are liable system to meet the organizational requirements. Successful
implementation may not guarantee improvement in the organization using the new
system, as well as improper installation will prevent. There are four methods,

 Parallel approach: The old system is operated with the new system.
 Direct cut over method: The old system is replaced with the new system.
 Pilot approach: Working version of the system is implemented in one part of the
organization based on the feedback, changes are made, and the system is installed
in the rest of the organization by one the other methods.
 Phase-in-method: Gradually implements the system across all users.

1.11 SECURITY
The protection of computer-based resources that includes hardware, software,
data, procedures and against unauthorized use or natural.

 Integrity
 Privacy
 Disaster is known as system security.
 System security can be divided into four related issues.
 Confidentiality
 Security

Data security is the protection of data from loss, disclosure, modification and
destruction.

System Integrity refers to the power functioning of hardware and programs,


appropriate physical security, and safety against external threats such as
eavesdropping and writes tapping.
FUTURE SCOPE OF PROJECT
6.1 SYSTEM MAINTENANCE

Maintenance means restoring something to its original conditions.


Enhancement means adding, modifying the code to support the changes in the
user specification. System maintenance conforms the system to its original
requirements and enhancement adds to system capability by incorporating new
requirements.

Thus, maintenance changes the existing system, enhancement adds features


to the existing system, and development replaces the existing system. It is an
important part of system development that includes the activities which corrects
errors in system design and implementation, updates the documents, and tests the
data.

Maintenance Types

System maintenance can be classified into four types –

 Corrective Maintenance
 Adaptive Maintenance
 Perfective Maintenance
 Preventive Maintenance

Corrective Maintenance

Corrective Maintenance deals with the repair of faults or defects found in


day- today system functions. A defect can result due to errors in software design,
logic and coding. Design errors occur when changes made to the software are
incorrect, incomplete, wrongly communicated, or the change request is
misunderstood. Logical errors result from invalid tests and conclusions, incorrect
implementation of design specifications, faulty logic flow, or incomplete
implementation of design specifications, faulty logic flow, or incomplete test of
data. All these errors, referred to as residual errors, prevent the software from
confirming to its agreed specifications. Note that the need for corrective
maintenance is usually initiated by big reports drawn by the users.

Adaptive Maintenance

Adaptive Maintenance is the implementation of changes in a part of the


system, which has been affected by a change that occurred in some other part of
the system. Adaptive Maintenance consists of adapting software to changes in the
environment such as the hardware or the operating system. The term environment
in this context refers to the conditions and the influences which act (from outside)
on the system. For example, business rules, work patterns and government
policies have a significant impact on the software system.
Perfective Maintenance

Perfective Maintenance mainly deals with implementing new or changed


user requirements. Perfective Maintenance involves making functional
enhancements to the system in addition to the activities to increase the system’s
performance even when the changes have not been suggested by faults. This
includes enhancing both the function and efficiency of the code and changing the
functionalities of the system as per the users’ changing needs.

Preventive Maintenance

Preventive Maintenance involves performing activities to prevent the


occurrence of errors. It tends to reduce the software complexity thereby improving
program understand ability and increasing software maintainability. It comprises
documentation updating, code optimization and code restructuring.
Documentation updating involves modifying the documents affected by the
changes in order to correspond to the present state of the system. Code
optimization involves modifying the programs for faster execution or efficient use
of storage space. Code restructuring involves transforming the program structure
for reducing the complexity in source code and making it easier to understand.

6.2 FUTURE ENHANCEMENT


APPENDICES
7.1 TABLE DESIGN
7.2 SAMPLE INPUT SCREENS
CONCLUSION
1.12 CONCLUSION
BIBLIOGRAPHY
1.13REFERENCES
1. Python - Guido van Rossum
2. HTML - Ivan Barros
3. JavaScript - Ivan Barros
4. CSS - Thomas A. Powell
5. MySQL - Paul DuBois

1.13.1WEBSITES VISITED

www.google.com www.w3schools.com www.wikipedia.com

You might also like