DOCUEMENTATION
DOCUEMENTATION
B ALIAS APPASAHEB
JEDHE ARTS,
COMMERCE AND SCIENCE
PUNE-02
Project Report
On
Submitted By
Prathmesh dange and pranali dabade
Guided By
Prof. Sonam
Mergu. Prof.
Shreya shah.
In partial fulfillment of
Third Year Bachelor of Computer Science.
CERTIFICATE
This is to certify that Prathmesh dange and pranali dabade Students of S.B.B Alias
Appasaheb Jedhe College of Commerce and Science, Pune has successfully completed
project entitled.
Date:
We are also grateful to our lab instructor, whose suggestions helped us a lot while the
project work was in progress. We would also like to extend our gratitude to the non-
teaching staff for helping us in the laboratory in various ways.
Furthermore, we would like to express our appreciation to those friends whose knowledge
and time were given to help us in different ways.
Yours Sincerely,
Place: Pune
PRATHMESH DANGE
PRANALI DABADE
INTRODUCTION
Objective:
Scope:
The databases in the standalone application are dynamic. They are updatable. Each employee is
assigned with unique username and password.
SYSTEM ANALYSIS
a. Existing system:
When we Analysis the Manage about this firm then we face that they
working with manual. And we all know that the manual system has many
disadvantages. Some are mentioned below…
b. Problem definition:
No Security has been provided to the data.
As the work is manual it con
Consumes lot of time and energy.
Finding a specific record required searching of more then half of record.
Since the system is manual report creation takes lot
s of time.
No multiuser environment is provided.
c. Proposed System:
a. Functional Requirements:
b. Non-functional Requirements:
c. User Requirements:
User needs an internet connection.
User has its account on that site.
Website should be browse smoothly.
d. Hardware Requirement:
Intel Pentium P4
256 MB of memory
15” screen
Intel 80486x4 or better
16 MB or more of memory
15” screen
1 GB of disk space for a full flow work
e. Software Requirement:
Feasibility Study:
Preliminary investigation examines 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
systems are feasible if they are given unlimited resources and infinite time. There are aspects in
the feasibility study portion of the preliminary investigation:
Technical Feasibility
Operation Feasibility
Economically Feasibility
TECHNICAL FEASIBILITY:
Evaluating the technical feasibility is the trickiest part of a feasibility study. This is because, at
this point in time, not too many detailed design of the system, making it difficult to access issues
like performance, costs on (on account of the kind of technology to be deployed) etc. A number
of issues have to be considered while doing a technical analysis.
The technical issue usually raised during the feasibility stage of the
investigation includes the following:
Does the necessary technology exist to do what is suggested?
Do the proposed equipments have the technical capacity to hold the data required
to use the new system?
Will the proposed system provide adequate response to inquiries, regardless of the
number or location of users?
Can the system be upgraded if developed?
OPERATIONAL FEASIBILITY
Proposed projects are beneficial only if they can be turned into information
systems that will meet the organizations operating requirements. Simply
stated, this test of feasibility asks if the system will work when it is developed
and installed.
Are there major barriers to implementation? Here are questions that will help
test the operational feasibility of a project. Is there sufficient support for the
project from management from users? If the current system is well liked and
used to the extent that persons will not be able to see reasons for change,
there may be resistance.
Are the current business methods acceptable to the user? If they are not,
Users may welcome a change that will bring about a more operational and
useful systems.
Have the user been involved in the planning and development of the project?
Early involvement reduces the chances of resistance to the system and in
general and increases the likelihood of successful project.
Since the proposed system was to help reduce the hardships encountered. In the
existing manual system, the new system was considered to be operational feasible.
User-friendly
Customer will use the forms for their various transactions i.e. for adding new routes, viewing the
routes details. Also the Customer wants the reports to view the various transactions based on the
constraints. These forms and reports are generated as user-friendly to the Client.
Reliability
The package wills pick-up current transactions on line. Regarding the old transactions, User will
enter them in to the system.
Security
The web server and database server should be protected from hacking, virus etc.
Portability
The application will be developed using standard open source software (Except Oracle) like Java,
tomcat web server, Internet Explorer Browser etc. these software will work both on Windows and
Linux o/s. Hence portability problems will not arise
Maintainability
The system called the wheels uses the 2-tier architecture. The 1st tier is the GUI, which is said to
be front- end and the 2nd tier is the database, which uses My-Sql, which is the back-end.
The front-end can be run on different systems (clients). The database will be running at the
server. Users access these forms by using the user-ids and the passwords.
ECONOMIC FEASIBILITY:
Economic feasibility attempts to weights the costs of developing and implementing a new
system, against the benefits that would accrue from having the new system in place. This
feasibility study gives the top management the economic justification for the new system.
Asimple economic analysis which gives the actual comparison of costs and benefits are much
more meaningful in this case. In addition this provides to be a useful point of reference to
compare actual costs as the project progresses. There could include increased client satisfaction,
improvement in product quality better decision making timeliness of information, expediting
activities, improved accuracy of operations, better documentation and record keeping, faster
retrieval of information, better employee morale.
The computerized system takes care of the present existing system’s data flow and procedures
completely and should generate all the reports of the manual system besides a host of other
management reports. It should be built as a web based application with separate web server and
database server. This is required as the activities are spread throughout the organization
customer wants a centralized database. Further some of the linked transactions take place in
different locations. Open source software like .Net, JAVA, MySQL and Linux is used to minimize
the cost for the Customer.
PROCESS MODEL INVOLVED
It starts with an initial planning and ends with deployment with the cyclic interactions in
between. It is also called as "Linear Sequential model" or the "classic life cycle". It is widely used
in the commercial development projects. It is called so because here, we move to next phase
(step) after getting input from previous phase, like in a waterfall, water flows down to from the
upper steps.
Iterative and Incremental development model is any combination of both iterative design
or iterative method and incremental build model for development. The combination is of long
standing has been widely suggested for large development efforts. "During software
development, more than one iteration of the software development cycle may be in progress at
the same time." and "This process may be described as an "evolutionary acquisition" or
"incremental build" approach." The relationship between iterations and increments is determined
by the overall software development methodology and software development process. The exact
number and nature of the particular incremental builds and what is iterated will be specific to
each individual development effort
Iterative and incremental development model is essential part of the Modified waterfall models,
Rational Unified Process, Extreme Programming and generally the various agile software
development frameworks.
The model itself consists of the initialization step, the iteration step, and the Project Control List.
The initialization step creates a base version of the system. The goal for this initial
implementation is to create a product to which the user can react. It should offer a sampling of
the key aspects of the problem and provide a solution that is simple enough to understand and
implement easily. To guide the iteration process, a project control list is created that contains a
record of all tasks that need to be performed. It includes such items as new features to be
implemented and areas of redesign of the existing solution. The control list is constantly being
revised as a result of the analysis phase.
An iterative lifecycle exploits the “soft” nature of software, and proceeds by developing in
iterations that encompass the activities:
Feasibility Study
Requirements Analysis
Design
Implementation
Integration
Testing
In this iterative waterfall model Software Development process is divided into six phases:-
Feasibility study
SRS (Software Requirement Specifications)
System Design and Software Design
System Coding
System Testing
Operation and Maintenance
Feasibility study:
A feasibility study is carried out to select the best system that meets performance requirements.
The main aim of the feasibility study activity is to determine whether it would be financially and
technically feasible to develop the product. The feasibility study activity involves the analysis of
the problem and collection of all relevant information relating to the product such as the different
data items which would be input to the system, the processing required to be carried out on
these data, the output data required to be produced by the system as well as various constraints
on the behavior of the system.
This is the most crucial phase for the whole project; here project team along with the customer
makes a detailed list of user requirements. The project team chalks out the functionality and
limitations (if there are any) of the software they are developing, in detail. The document which
contains all this information is called SRS and it clearly and unambiguously indicates the
requirements. A small amount of top-level analysis and design is also documented. This
document is verified and endorsed by the customer before starting the project. SRS serves as the
input for further phases
Using SRS as input, system design is done. System design included designing of software and
hardware i.e. functionality of hardware and software is separated-out. After separation design of
software modules is done. The design process translates requirements into representation of the
software that can be assessed for quality before generation of code begins. At the same time
test plan is prepared, test plan describes the various tests which will be carried out on the
system after completion of development.
System Coding:
Now that we have system design, code generation begins. Code generation is conversion of
design into machine-readable form. If designing of software and system is done well, code
generation can be done easily. Software modules are now further divided into units. A unit is a
logically separable part of the software. Testing of units can be done separately. In this phase unit
testing is done by the developer itself, to ensure that there are no defects.
System Testing:
Now the units of the software are integrated together and a system is built. So we have complete
software at hand which is tested to check if it meets the requirements of the customer. Testing is
done, as per the steps defined in the test plan, to ensure defined input produces actual results
which agree with the required results. A test report is generated which contains test results.
In future, the following system maintenance activities will be performed, which includes:
To calibrate improvements, the data for time interval, length of stay, and hospital charges were
collected, before and after the planned changes were implemented at each hospital. In
particular, time interval is the most essential measure for handling acute stroke patients because
patients' survival and recovery are affected by the promptness of diagnosis and treatment.
Statistical analyses indicated that both redesign of layout at Guro and implementation of critical
pathways at Anam had a positive influence on most of the performance measures.
However, reduction in time interval was not consistent at Guro, demonstrating delays in
processing time for a few processes. The adoption of critical pathways at Anam appeared more
effective in reducing time intervals than the structural rearrangement at Guro, mainly as a result
of the extensive employee training required for a critical pathway implementation. Thus, hospital
managers should combine structure-oriented and process-oriented strategies to maximize
effectiveness of improvement efforts.
System planning PERT chart
PERT Chart
What it is:
A PERT chart is a graphic representation of a project’s schedule, showing the sequence of tasks,
which task can be performed simultaneously , and the critical path of tasks that must be
completed on time in order for the project to meet its completion deadline. The chart constructed
with a variety of attributes, such as earliest and latest start dates for each task, and slack time
between tasks. A PERT chart can document an entire project or a key phase of a project. The
chart allows a team to avoid unrealistic timetables and schedule expectations, to help identify
and shorten tasks that are bottlenecks, and to focus attention on most critical tasks.
How to use it:
Identify all the task or project components. Make sure the team includes people with first- hand
knowledge of the project so that during brainstorming session all component tasks need to
complete the project are captured. Document the task on small note cards.
Identify the first task that must be completed. Place the appropriate card at the extreme left of
the working surface.
Identify the next task that must be completed. Select a task that must wait to begin until task #1
is completed. Place the appropriate card to the right of the card showing the preceding task.
Continue this process until all component tasks are sequenced. Identify task durations. Using the
knowledge of team members, reach consensus on the most likely amount of time each task will
require for completion. Duration time is usually considered to be elapsed time for the task, rather
than actual team member of hours/days spent doing the work. Document this duration time on
the appropriate task cards.
Construct a PERT chart. Number each task, draw connecting arrows, and add task characteristics
such as duration, anticipated start date, and anticipated end date.
Determine the critical path. The project’s critical path includes those tasks that must be started
or completed on time to avoid delays to the total project.
Note: Most commercially available project management software will routinely generate a PERT
chart.
Advantages:
PERT has the following advantages:
A PERT chart explicitly defines and makes visible dependencies between
the WBS elements.
PERT facilitates identification of the critical path and makes this visible.
PERT facilitates identification of early start, late start, and slack for each
activity.
Disadvantages:
PERT has the following advantages:
There can be potentially hundreds or thousands of activities and individual
dependencies relationships.
The network charts tend to be large and unwieldy requiring several pages
to print and requiring special size paper.
When the PERT/CPM charts become unwieldy, they are no longer used to
manage the project.
PERT CHART:
SCOPE DEFINITION
PROBLEM ANALYSIS
START DATE END DATE Start Date End Date
04/01/2015 08/01/2015
8/1/2015 12/1/2015
SYSTEM ANALYSIS
13/01/2015 15/01/2015
25/03/2015 10/04/2015
GANTT CHART:
Gantt chart plays very important role in any software development process. It represents various
activities and their starting date, and also accomplishment date planned as well as actual
date. It provides close look of each and every steps of development. It tells about current status
of system development cycle.
It is a helpful tool to analyze the development process at stage of development and to find out
problems in delays and mistakes.
MONTHS
PHASES
JAN2015 FEB 2015 MARCH APRIL 2015
2015
SCOPE
DEFINITION
PROBLEM
ANALYSIS
REQUIREMENT
ANALYSIS
SYSTEM
ANALYSIS
DESIGN
ANALYSIS
PHYSICAL
DESIGN
CODING
TESTING
IMPLEMENTAT-
ION
Table Name:ownerinformation
Description: This table is used to save all the Details of The owner of the shop.
A data flow diagram (DFD) is a graphical representation of the flow of data through an
information system, modeling its process aspects.Often they are a preliminary step used to
create an overview of the system which can later be elaborated.DFDs can also be used for the
visualization of data processing (structured design).
A DFD shows what kind of data will be input to and output from the system,where the data will
come from and go to,and where the data will be stored.It does not show information about the
timing of processes, or information about whether processes will operate in sequence or in
parallel.
1.1
Enter
customer Customer details
details
1.2
Places
Admin
customer
Customer order
order
1.3
Generaes
Customer bill
customer
bill
2.1
Enter
supplier
supplier details
details
2.3
supplier order
Places
Admin supplier
order
Generates
supplier
bill
3.1
supplier products
Enter
Admin
stock
Stock
details
Context Level Diagram
A context diagram is DFD that describes the highest-level view of a system.The context diagram
is useful for showing system boundaries;the system scope is defined by what is represented
within the single process and what is represented as an external agent.
Entity Relationship Diagram
An entity-relationship diagram is a data modeling technique that creates a graphical
representation of the entities,and relationship between entities,within an information system.
Why an Entity Relationship Diagram?
An ERD is logical representation of database structure shown in an easy to understand pictorial
form. The diagram shows three basic building blocks; Entities Relationship and Attributes
between the Entities.The pictorial form enables any issues to be identified early on such as:
many to many relationship,deciding on what data needs to be stored,and identifying the degree
of relationship.
“An ERD shows the main thing or entities that have a collection of related data elements(fields)
that we want to store, and illustrate the relationship between these entities.This is high level
diagram; some people like to refer to it as a view from 30,000 feet.”
The three main components of an ERD are:
The entityis a person ,object,place or event for which data is collected.For
Example if you consider the information system for business,entities
would include not only customers, but the customer’s address, and orders
as well. The entity is represented by rectangle and labeled with singular
noun.
The relationship is the interaction between the entities. In the examples
above, the customer places an order, so the word “places” defines the
relationship between that instance of a customer and the order or orders
that they place. A relationship may be represented by a diamond shape,
or more simply, by the line connecting theentities. In either case, the
verbs are used to label the relationships.
The cardinality defines the relationship in terms of numbers.
ERD Notations:
1. Rectangle
2. Circle
Represents Connection
3. Diamond
4. Lines
One to One1Relationship 1
1
One to Many relationship *
*
Many to Many Relationship *
ER Diagram
Screen Layout of the project
Login:-
Enter User ID and password to login.
Reset clears the fields so that the user can enter the username and
password again.
If the entered username or password is wrong the message box would be
prompted displaying “Invalid Login”.
.MDI Form:-
This form acts as container for all other forms.
It contains main menu having submenus like Customer Details, Supplier
Details, etc.
Customer Details Form:-
This form allows user to view Customer details.
New Button: It allows user to enter new customer record.
Save Button: It allows user to save the record to database.
Exit Button: Exits the form.
Customer Order Form:-
This form allows user to enter Customer Order details.
Save Button: It allows user to save the record to database.
Clear Button: It allows user to clear all the fields of the form.
Exit Button: Exits the form.
Customer Bill Form:-
This form allows user to enter Customer Bill details.
Save Button: It allows user to save the record to database.
Clear Button: It allows user to clear all the fields of the form.
Exit Button: Exits the form.
Supplier Details Form:-
This form allows user to view Supplier details.
New Button: It allows user to enter new Supplier record.
Save Button: It allows user to save the record to database.
Exit Button: Exits the form.
Supplier Order Form:-
This form allows user to enter Supplier Order details.
Save Button: It allows user to save the record to database.
Clear Button: It allows user to clear all the fields of the form.
Calculate Button: It allows user to calculate total expenses based on
quantity and rate entered by the user.
Exit Button: Exits the form.
TESTING
Software testing is a critical element of software quality assurance and represents the ultimate
review of specification, design, coding.
Testing objectives:
2. A good test case is the one that has high portability of finding an as-yet
undiscovered error.
The main objective here will be to design test cases to uncover different classes of errors and to
do so with minimum amount of time and efforts. If testing is conducted successfully it will
uncover errors in the software. Another advantage is that it demonstrates that software functions
appear to be working according to the specifications and performance requirement have been
met.
But Testing cannot show the absence of defects it can show only that software errors are present.
Testing is the process of examining of products to determine what defects it contains to conduct
a test, programmers must have already constructed software and there must be well defined
standard for what constitutes a defect. The developers can test products by reviewing their
constructions and compositions or by exercising their function and examining the result.
UNIT TESTING:
Unit testing begins at the vortex of the spiral and concentrates at the each unit of the software
as implemented in the source code. Unit testing assures each module tested individually
functions properly as a unit.
Unit testing, also known as component testing refers to tests that verify the functionality of a
specific section of code, usually at the function level. These types of tests are usually written by
developers as they work on code (white-box style), to ensure that the specific function is working
as expected. One function might have multiple tests, to catch corner cases or other branches in
the code. Unit testing alone cannot verify the functionality of a piece of software, but rather is
used to assure that the building blocks the software uses work independently of each other.
INTEGRATED TESTING:
Integration testing focuses on the design and construction of the software architecture. It is a
systematic technique for constructing a program structure while conducting tests to uncover
errors associated with interfacing. The objective is to take unit-tested module and build a
program structure that has been specified as design. Integration testing is any type of software
testing that seeks to verify the interfaces between components against a software design. The
purpose of integration test is to identify errors that were not or could not be detected by unit
testing individual modules or methods. Such errors may result from number of problems
including:
Interface compatibility
Parameter value
Run time exceptions
System testing tests software and other system elements as a whole. These tests fall outside
the scope of software engineering process and are not conducted solely by the software
developer. System testing tests a completely integrated system to verify that it meets its
requirements. System testing is first performed by developers or test personnel to ensure that
the system does not malfunction in obvious ways and that the system fulfills the developers
understanding of the user requirements.
WHITE BOX TESTING:
White-box testing also known as clear box testing, glass box testing, transparent box testing, and
structural testing is a method of testing software that tests internal structures or workings of an
application. In white-box testing an internal perspective of the system, As well as programming
skills, are used to design test cases. The tester chooses inputs to exercise paths through the
code and determine the appropriate outputs. This is analogous to testing nodes in a circuit, e.g.
in-circuit testing (ICT).While white-box testing can be applied at the unit, integration and system
levels of the software testing process, and it is usually done at the unit level. It can test paths
within a unit, paths between units during integration, and between subsystems during a system–
level test.
REGRESSION TESTING:
Regression testing focuses on finding defects after a major code change has occurred
.specifically, it seeks to uncover software regressions, or old bugs that have come back. Such
regressions occur whenever software functionality that was previously working correctly stops
working as intended. Typically, regressions occur as an unintended consequence of program
changes, when the newly developed part of the software collides with the previously existing
code they can either b complete, for changes added late in the release or deemed to be risky, to
very shallow, consisting of positive tests on each feature, if the changes are early in the release
or deemed to be low of risk.
ACCEPTANCE TESTING :
Acceptance testing can mean one of two things:
A smoke test is used as an acceptance test prior to introducing a new built
to the main testing process, i.e. before integration or regression.
Acceptance testing is performed by the customer, often in their lab
environment on their own hardware, is known as user acceptance testing
(UAT). Acceptance testing may be performed as part of the hand-off
process between any two phases of development.] Alpha testing
BETA TESTING :
Beta testing comes after Alpha testing and can be considered a form of external user acceptance
testing. Versions of the software, known as beta versions, are released to a limited audience
outside of the programming team. The software is released to groups of people so that further
testing can ensure the product has few faults or bugs. Sometimes, Beta versions are made
available to the open public to increase the feedback field to a maximal number of future users.
COST ANALYSIS
a.Methodology used:
The Constructive Cost Model (COCOMO) is an algorithmic software cost model developed
by Barry W. Boehm. The model uses a basic regression formula with parameters that are derived
from historical project data and current as well as future project characteristics.
COCOMO consists of a hierarchy of three increasingly detailed and accurate forms. The first level,
Basic COCOMO is good for quick, early, rough order of magnitude estimates of software costs,
but its accuracy is limited due to its lack of factors to account for difference in project attributes
(Cost Drivers). Intermediate COCOMO takes these Cost Drivers into account
and Detailed COCOMO additionally accounts for the influence of individual project phases.
b.Cost of project
Effort estimation using COCOMO model:
For any given set of requirements it is essential to know how much it will cost to develop the
application software to satisfy the given requirements and how much time it will take for the
development .These estimates are needed before development is initiated. The primary reason
for cost and schedule estimation is to enable the client or developer to perform a cost benefit
analysis and for project monitoring and control.
The project has been developed considering the COCOMO (Constructive Cost Model) model which
computes software development effort as a function of program size and set of "Cost Drivers"
that include product, hardware, personnel and project attributes. Effort is calculated in terms of
Person-Month.
Steps of Analysis:
Hardware Attributes
Personnel Attributes
Project Attributes
Modern programming practices Nominal 1.00
Project cost per day is 300 so total cost of the project including all the third party tools is Total
Cost = 7*200*300 Total Cost = 42,000/-
System Maintenance and Evaluation
MAINTAINENCE:
WEBSITES:
1. www.wikipedia.org
2. www.codeguru.com
3. www.stackoverfkow.com
4. www.youtube.com
5. www.microsoft.com
6. www.codeproject.com
7. www.youtube.com