PhysicalFileStorageManagementSystem Synopsis
PhysicalFileStorageManagementSystem Synopsis
SYSTEM”
TABLE OF CONTENT
Acknowledgement 3
Declaration 4
1.6. Needs 11
2. System Study
-1-
2.6. Operational Feasibility 38
3. System Analysis
4. System Design
4.5. ER Diagram 63
4.9. Scheduling 70
5. System Development
-2-
5.3 Optimization of Code 134
6. Testing
-3-
1. INTRODUCTION AND OBJECTIVE
Physical File Storage Management System is an online web based system which is
responsible for handling the management of Customers’s file. In Physical File Storage
Management System a customer and an employee of staff is being created by the
administration.The Employee can be register itself by new employee signup form. All the
files are created by employee after his login and File status is being issued to employee by
the administrator of the company and after work of file employee can update the status of file
is completed. The Employee can check his file issued history and can view his profile
also.When file work will be completed and employee will update status of file by login.
Physical File Storage Management System is primarily meant for giving its services
to its customers it gives full freedom to check the track of his files and check total files in
storage.In PFSMS a customer can be created by administrator and a customer can be register
himself by customer sign up form. Customers can also view their profle also.This project
will automate all files status i.e. which file is created by which employee ann for which
customer, what is status (assigned or completed) and File detail (file name, file type, file
location, file date, status).
Physical File Storage Management System , administrator can check the customers
report, employees report,new created files details,issued to employee file reports, Beside that
administrator can issue file to any employee and it will update the file status is Assigned.
-4-
Storage Management system also send E-mail to management when customer files is issued
to staff. The staff can search the customer files and management can also check the track
report of customer confidential files. Physical File Storage Management System can generate
historical data.
Static web pages: - Static web pages are easy to spot sometimes we can pick them
outby just looking at the content of the page. The content (text, images, hyperlinks,
andso on) and appearance of static web pages is always the same regardless of who
visitsthe page, or how and when they arrive at the page, or any other factors.
Dynamic web pages: - The dynamic web pages are web pages, which we can
interactlike a time is shown on the page or we are sending information through web
form,online chat, sending mail on net etc all the action this action performed with the
helpof dynamic web pages.
Web Server: - Web server are software that manage web pages and make
themavailable to client browser via local network or over the internet. In the case of
theInternet, the web server and browser are usually on two different machines,
possiblymany miles apart. However, in a local situation you can set up machine that
runs theweb server software, and then use a browser on the same machine to look at
its webpages.
-5-
1.4 DRAWBACKS OF CURRENT MANUAL- SYSTEM
The current manual system has a lot of paper work and it does not deal with exact
details.
With the increase in database, it will become a massive job to maintain the database.
Requires large quantities of file cabinets, which are huge and require quite a bit of
space in the office, which can be used for storing records of previous claims.
tedious job.
Lack of security for the records, anyone disarrange the records of your system.
3. Problem of timeliness: In the current system the reports and output produced is mostly
late and in most of the cases it is useless because it is not on time.
4. Problem of Validity: The output and reports mostly contains misleading information.
The customer's information is sometimes not valid.
5. Problem of Economy: The current system is very costly. We have to spend lots of
money to keep the system up and going, but still not get the desired results.
-6-
6. Problem of Capacity: The current system is suffering from problem of capacity also.
The staff for organization is very less and the workload is too much. Few peoples cannot
handle all the work.
Some of the problems being faced in manual system are as follows:
No control of customer confidential file
Fast report generation is not possible.
No Tracing a confidential or other files.
Customer confidential or other files are misplace.
Information about issue or return of the customer files are not properly
maintained.
No central database can be created as information is not available in database
1.6 NEED
I have designed the given proposed system in the JSP and oracle to automate the process.
The following steps that give the detailed information of the need of proposed system are:
Performance: During past several decades, the records are supposed to be
manually handled for all activities. The manual handling of the record is time
consuming and highly prone to error. To improve the performance of the
Company's file system, the computerized system is to be undertaken. The
computerized project is fully computerized and user friendly even that any of the
members can see the report and status of the company's file system.
Efficiency: The basic need of this website is efficiency. The website should be
efficient so that whenever a new user submits his/her details the website is
updated automatically. This record will be useful for other users instantly.
-7-
Control: The complete control of the project is under the hands of authorized
person who has the password to access this project and illegal access is not
supposed to deal with. All the control is under the administrator and the other
members have the rights to just see the records not to change any transaction or
entry.
Security: Security is the main criteria for the proposed system. Since illegal
access may corrupt the database. So security has to be given in this project.
The need of today’s software development is competence in a GUI based front-end tool,
which can connect to Relational Database engines. This gives the programmer the
opportunity to develop client server based commercial applications.
SOFTWARE SPECIFICATION
The software packages are used
HARDWARE SPECIFICATON
On the basis of above software specification we have decided the following configuration of
hardware for server and client.
-8-
FRONT END
In the business world, competitive strategies have become the order of the day to improve
quality, cut costs and provide a high response customer service base. Most organizations
today need to be market driven and do a lot of value addition to their products and services.
This naturally calls for rational decision making, which requires information. Information
Technology or IT provides that effective channel to support and implement this strategy.
Client/Server is the technology that empowers the desktop, thus setting a trend for the way
successful organizations will use technology in the next decade.
-9-
1.7.1 INTRODUCTION TO JSP
INTRODUCTION TO JSP
The character sequences <%= and %> enclose Java expressions, which are evaluated at run
time.
This is what makes it possible to use JSP to generate dyamic HTML pages that change in
response to user actions or vary from user to user.
Exercise: Write a JSP to output the values returned by System.getProperty for various
system properties such as java.version, java.home, os.name, user.name, user.home, user.dir
etc.
Scriptlets
We have already seen how to embed Java expressions in JSP pages by putting them between
the <%= and %> character sequences.
But it is difficult to do much programming just by putting Java expressions inside HTML.
JSP also allows you to write blocks of Java code inside the JSP. You do this by placing your
Java code between <% and %> characters (just like expressions, but without the = sign at
the start of the sequence.)
This block of code is known as a "scriptlet". By itself, a scriptlet doesn't contribute any
HTML (though it can, as we will see down below.) A scriptlet contains Java code that is
executed every time the JSP is invoked.
Here is a modified version of our JSP from previous section, adding in a scriptlet.
<HTML>
<BODY>
<%
// This is a scriptlet. Notice that the "date"
// variable we declare here is available in the
- 10 -
// embedded expression later on.
System.out.println( "Evaluating date now" );
java.util.Date date = new java.util.Date();
%>
Hello! The time is now <%= date %>
</BODY>
</HTML>
If you run the above example, you will notice the output from the "System.out.println" on the
server log. This is a convenient way to do simple debugging (some servers also have
techniques of debugging the JSP in the IDE. See your server's documentation to see if it
offers such a technique.)
By itself a scriptlet does not generate HTML. If a scriptlet wants to generate HTML, it can
use a variable called "out". This variable does not need to be declared. It is already
predefined for scriptlets, along with some other variables. The following example shows
how the scriptlet can generate HTML output.
<HTML>
<BODY>
<%
// This scriptlet declares and initializes "date"
System.out.println( "Evaluating date now" );
java.util.Date date = new java.util.Date();
%>
Hello! The time is now
<%
// This scriptlet generates HTML output
out.println( String.valueOf( date ));
%>
</BODY>
</HTML>
Here, instead of using an expression, we are generating the HTML directly by printing to the
"out" variable. The "out" variable is of type javax.servlet.jsp.JspWriter.
A "request" in server-side processing refers to the transaction between a browser and the
server. When someone clicks or enters a URL, the browser sends a "request" to the server
for that URL, and shows the data returned. As a part of this "request", various data is
available, including the file the browser wants from the server, and if the request is coming
from pressing a SUBMIT button, the information the user has entered in the form fields.
The JSP "request" variable is used to obtain information from the request as sent by the
browser. For instance, you can find out the name of the client's host (if available, otherwise
the IP address will be returned.) Let us modify the code as shown:
<HTML>
<BODY>
<%
- 11 -
// This scriptlet declares and initializes "date"
System.out.println( "Evaluating date now" );
java.util.Date date = new java.util.Date();
%>
Hello! The time is now
<%
out.println( date );
out.println( "<BR>Your machine's address is " );
out.println( request.getRemoteHost());
%>
</BODY>
</HTML>
A similar variable is "response". This can be used to affect the response being sent to the
browser. For instance, you can call response.sendRedirect( anotherUrl ); to send a response
to the browser that it should load a different URL. This response will actualy go all the way
to the browser. The browser will then send a different request, to "anotherUrl". This is a
little different from some other JSP mechanisms we will come across, for including another
page or forwarding the browser to another page.
Exercise: Write a JSP to output the entire line, "Hello! The time is now ..." but use a
scriptlet for the complete string, including the HTML tags.
Suppose you have to generate a table in HTML. This is a common operation, and you may
want to generate a table from a SQL table, or from the lines of a file. But to keep our
example simple, we will generate a table containing the numbers from 1 to N. Not very
useful, but it will show you the technique.
<TABLE BORDER=2>
<%
for ( int i = 0; i < n; i++ ) {
%>
<TR>
<TD>Number</TD>
<TD><%= i+1 %></TD>
</TR>
<%
}
%>
</TABLE>
You would have to supply an int variable "n" before it will work, and then it will output a
simple table with "n" rows.
- 12 -
The important things to notice are how the %> and <% characters appear in the middle of the
"for" loop, to let you drop back into HTML and then to come back to the scriptlet.
The concepts are simple here -- as you can see, you can drop out of the scriptlets, write
normal HTML, and get back into the scriptlet. Any control expressions such as a "while" or
a "for" loop or an "if" expression will control the HTML also. If the HTML is inside a loop,
it will be emitted once for each iteration of the loop.
Another example of mixing scriptlets and HTML is shown below -- here it is assumed that
there is a boolean variable named "hello" available. If you set it to true, you will see one
output, if you set it to false, you will see another output.
<%
if ( hello ) {
%>
<P>Hello, world
<%
} else {
%>
<P>Goodbye, world
<%
}
%>
It is a little difficult to keep track of all open braces and scriptlet start and ends, but with a
little practice and some good formatting discipline, you will acquire competence in doing it.
Exercise: Make the above examples work. Write a JSP to output all the values returned by
System.getProperties with "<BR>" embedded after each property name and value. Do not
output the "<BR>" using the "out" variable.
JSP Directives
We have been fully qualifying the java.util.Date in the examples in the previous sections.
Perhaps you wondered why we don't just import java.util.*;
It is possible to use "import" statements in JSPs, but the syntax is a little different from
normal Java. Try the following example:
- 13 -
This one is a "page directive". The page directive can contain the list of all imported
packages. To import more than one item, separate the package names by commas, e.g.
The include directive is used to physically include the contents of another file. The included
file can be HTML or JSP or anything else -- the result is as if the original JSP file actually
contained the included text. To see this directive in action, create a new JSP
<HTML>
<BODY>
Going to include hello.jsp...<BR>
<%@ include file="hello.jsp" %>
</BODY>
</HTML>
View this JSP in your browser, and you will see your original hello.jsp get included in the
new JSP.
Exercise: Modify all your earlier exercises to import the java.util packages.
JSP Declarations
The JSP you write turns into a class definition. All the scriptlets you write are placed inside
a single method of this class.
You can also add variable and method declarations to this class. You can then use these
variables and methods from your scriptlets and expressions.
To add a declaration, you must use the <%! and %> sequences to enclose your declarations,
as shown below.
Here we are declaring a Date variable theDate, and the method getDate. Both of these are
available now in our scriptlets and expressions.
- 14 -
But this example no longer works! The date will be the same, no matter how often you
reload the page. This is because these are declarations, and will only be evaluated once when
the page is loaded! (Just as if you were creating a class and had variable initialization
declared in it.)
Exercise: Modify the above example to add another function computeDate which re-
initializes theDate. Add a scriptlet that calls computeDate each time.
Note: Now that you know how to do this -- it is in general not a good idea to use variables as
shown here. The JSP usually will run as multiple threads of one single instance. Different
threads would interfere with variable access, because it will be the same variable for all of
them. If you do have to use variables in JSP, you should use synchronized access, but that
hurts the performance. In general, any data you need should go either in the session object or
the request object (these are introduced a little later) if passing data between different JSP
pages. Variables you declare inside scriptlets are fine, e.g. <% int i = 45; %> because these
are declared inside the local scope and are not shared.
JSP Tags
Another important syntax element of JSP are tags. JSP tags do not use <%, but just the <
character. A JSP tag is somewhat like an HTML tag. JSP tags can have a "start tag", a "tag
body" and an "end tag". The start and end tag both use the tag name, enclosed in < and >
characters. The end starts with a / character after the < character. The tag names have an
embedded colon character : in them, the part before the colon describes the type of the tag.
For instance:
<some:tag>
body
</some:tag>
If the tag does not require a body, the start and end can be conveniently merged together, as
<some:tag/>
Here by closing the start tag with a /> instead of > character, we are ending the tag
immediately, and without a body. (This syntax convention is the the same as XML.)
Tags can be of two types: loaded from an external tag library, or predefined tags. Predefined
tags start with jsp: characters. For instance, jsp:include is a predefined tag that is used to
include other pages.
We have already seen the include directive. jsp:include is similar. But instead of loading the
text of the included file in the original file, it actually calls the included target at run-time (the
way a browser would call the included target. In practice, this is actually a simulated request
rather than a full round-trip between the browser and the server). Following is an example of
jsp:include usage
<HTML>
<BODY>
Going to include hello.jsp...<BR>
<jsp:include page="hello.jsp"/>
</BODY>
</HTML>
Try it and see what you get. Now change the "jsp:include" to "jsp:forward" and see what is
the difference. These two predefined tags are frequently very useful.
- 15 -
Exercise: Write a JSP to do either a forward or an include, depending upon a boolean
variable (hint: The concepts of mixing HTML and scriptlets work with JSP tags also!)
JSP Sessions
On a typical web site, a visitor might visit several pages and perform several interactions.
If you are programming the site, it is very helpful to be able to associate some data with each
visitor. For this purpose, "session"s can be used in JSP.
A session is an object associated with a visitor. Data can be put in the session and retrieved
from it, much like a Hashtable. A different set of data is kept for each visitor to the site.
Here is a set of pages that put a user's name in the session, and display it elsewhere. Try out
installing and using these.
<HTML>
<BODY>
<FORM METHOD=POST ACTION="SaveName.jsp">
What's your name? <INPUT TYPE=TEXT NAME=username SIZE=20>
<P><INPUT TYPE=SUBMIT>
</FORM>
</BODY>
</HTML>
The target of the form is "SaveName.jsp", which saves the user's name in the session. Note
the variable "session". This is another variable that is normally made available in JSPs, just
like out and request variables. (In the @page directive, you can indicate that you do not need
sessions, in which case the "session" variable will not be made available.)
<%
String name = request.getParameter( "username" );
session.setAttribute( "theName", name );
%>
<HTML>
<BODY>
<A HREF="NextPage.jsp">Continue</A>
</BODY>
</HTML>
The SaveName.jsp saves the user's name in the session, and puts a link to another page,
NextPage.jsp.
<HTML>
<BODY>
Hello, <%= session.getAttribute( "theName" ) %>
</BODY>
</HTML>
- 16 -
If you bring up two different browsers (not different windows of the same browser), or run
two browsers from two different machines, you can put one name in one browser and another
name in another browser, and both names will be kept track of.
The session is kept around until a timeout period. Then it is assumed the user is no longer
visiting the site, and the session is discarded.
My SQL
Introduction
My SQL is an application used to create computer databases for the Microsoft Windows
family of server operating systems. It provides an environment used to generate databases
that can be accessed from workstations, the web, or other media such as a personal digital
assistant (PDA). MY SQL is probably the most accessible and the most documented
enterprise database environment right now. This also means that you can learn it a little
quicker than most other database environments on the market
To start, you must have a computer that runs an appropriate operating system like Microsoft
Windows >= XP Home Edition: that includes Windows XP Home Edition, Windows XP
- 17 -
Professional, Windows 2000 Professional, or any version of Windows Server 2003. In this
case, you must install MY SQL Yog.
Using SQL one can create and maintain data manipulation objects such as table, views,
sequence etc. These data manipulation objects will be created and stored on the server's hard
disk drive, in a tablespace, to which the user has been assigned.
Once these data manipulation objects are created, they are used extensively in commercial
applications.
In addition to the creation of data manipulation objects, the actual manipulation of data
within these objects is done using SQL.
The SQL sentences that are used to create these objects are called DDL's or Data Definition
Language. The SQL sentences used to manipulate data within these objects are called DML's
or Data Manipulation Language. The SQL sentences, which are used to control the behavior
of these objects, are called DCL's or Data Control Language.
- 18 -
1.8 DATA TYPE
. TEXT TYPES
CHAR( ) A fixed section from 0 to 255 characters long.
VARCHAR( ) A variable section from 0 to 255 characters long.
TINYTEXT A string with a maximum length of 255 characters.
TEXT A string with a maximum length of 65535 characters.
BLOB A string with a maximum length of 65535 characters.
MEDIUMTEXT A string with a maximum length of 16777215 characters.
MEDIUMBLOB A string with a maximum length of 16777215 characters.
LONGTEXT A string with a maximum length of 4294967295 characters.
LONGBLOB A string with a maximum length of 4294967295 characters.
The ( ) brackets allow you to enter a maximum number of characters will be used in the
column.
VARCHAR(20)
CHAR and VARCHAR are the most widely used types. CHAR is a fixed length string and is
mainly used when the data is not going to vary much in it's length. VARCHAR is a variable
length string and is mainly used when the data may vary in length.
CHAR may be faster for the database to process considering the fields stay the same length
down the column. VARCHAR may be a bit slower as it calculates each field down the
column, but it saves on memory space. Which one to ultimatly use is up to you.
Using both a CHAR and VARCHAR option in the same table, MySQL will automatically
change the CHAR into VARCHAR for compatability reasons.
BLOB stands for Binary Large OBject. Both TEXT and BLOB are variable length types that
store large amounts of data. They are similar to a larger version of VARCHAR. These types
can store a large piece of data information, but they are also processed much slower.
NUMBER TYPES
-128 to 127 normal
TINYINT( )
0 to 255 UNSIGNED.
-32768 to 32767 normal
SMALLINT( )
0 to 65535 UNSIGNED.
-8388608 to 8388607 normal
MEDIUMINT( )
0 to 16777215 UNSIGNED.
-2147483648 to 2147483647 normal
INT( )
0 to 4294967295 UNSIGNED.
-9223372036854775808 to 9223372036854775807 normal
BIGINT( )
0 to 18446744073709551615 UNSIGNED.
FLOAT A small number with a floating decimal point.
DOUBLE( , ) A large number with a floating decimal point.
- 19 -
DECIMAL( , ) A DOUBLE stored as a string , allowing for a fixed decimal point.
The integer types have an extra option called UNSIGNED. Normally, the integer goes from
an negative to positive value. Using an UNSIGNED command will move that range up so it
starts at zero instead of a negative number.
DATE TYPES
DATE YYYY-MM-DD.
DATETIME YYYY-MM-DD HH:MM:SS.
TIMESTAMP YYYYMMDDHHMMSS.
TIME HH:MM:SS.
MISC TYPES
Short for ENUMERATION which means that each column may have
ENUM ( )
one of a specified possible values.
Similar to ENUM except each column may have more than one of the
SET
specified possible values.
ENUM is short for ENUMERATED list. This column can only store one of the values that
are declared in the specified list contained in the ( ) brackets.
ENUM('y','n')
You can list up to 65535 values in an ENUM list. If a value is inserted that is not in the list, a
blank value will be inserted.
SET is similar to ENUM except SET may contain up to 64 list items and can store more than
one choice
- 20 -
ENVIRONMENT / OPERATING SYSTEM
The age of standalone computing is long gone and it is now a world of networks. In this
context, it is imperative for users to understand issues involved in working in a multi-user
environment. Windows NT today is the most sought after Multi-user Operating System in the
world. This is a 32-bit, powerful, user friendly and robust network operating system from
Microsoft.
Windows NT is a big step up from Windows 95 both in terms of price and in terms of
capabilities. NT Server is a well-built, fully functional, multi-user, multitasking operating
system.
The release of NT Server 4 adds the popular Windows 95 user interface, the Internet
Information Server (IIS) – capable of running Web, FTP, and Gopher services - a search
engine called Index Server, the FrontPage HTML authoring package, and the Internet
Explorer, all of which make Windows NT server a tough act to beat as a robust, capable web
server.
The suggested Operating System for the server computer is Windows NT Server and for
client computer is Windows 95.
- 21 -
- 22 -
2.1 PRELIMINARY INVESTIGATION
System development, a process consisting of two major steps of system analysis and design,
start when management or sometimes system development personnel feel that a new system
or an improvement in the existing system is required. The system development life cycle is
classically thought of as the set of activities that analysts, designers and users carry out to
develop and implement an information system. The system development life cycle consists
of the following activities:
Preliminary investigation
Determination of system requirements
Design of system
Development of software
System testing
Implementation, evaluation, and maintenance
A request to take assistance from information system can be made for many reasons, but in
each case someone in the organization initiates the request is made, the first system activity
the preliminary investigation begins. This activity has three parts:
1) Request clarification
2) Feasibility study
3) Request approval
Request clarification: Many requests from clients and users in the organizations are not
clearly defined, therefore it becomes necessary that project request must be examined and
clarified properly before considering systems investigation.
- 23 -
2.2 SYSTEM DEVELOPMENT LIFE CYCLE
Systems are created to solve problems. One can think of the systems approach as an
organized way of dealing with a problem. In this dynamic world, the subject System Analysis
and Design (SAD), mainly deals with the software development activities.
DEFINING A SYSTEM
A collection of components that work together to realize some objective forms a system.
Basically there are three major components in every system, namely input, processing and
output.
In a system the different components are connected with each other and they are
interdependent. For example, human body represents a complete natural system. We are also
bound by many national systems such as political system, economic system, educational
system and so forth. The objective of the system demands that some output is produced as a
result of processing the suitable inputs.
- 24 -
Following are the different phases of software development cycle:
System study
Feasibility study
System analysis
System design
Coding
Testing
Implementation
Maintenance
- 25 -
The Different Phases Of Software Development Life Cycle Are Shown Below.
PRELIMINARY
INVESTIGATION
DEVELOPMENT OF
PROTOTYPE SYSTEM
DEVELOPMENT OF
SYSTEM TESTING SOFTWARE AND CODING
SYSTEM
ANALYSIS
50%
DESIGN
DESIGN
OF
SYSTEM
30%
CODING
20%
- 26 -
A system analysis is a separation of a substance into parts for study and their implementation
and detailed examination.
Before designing any system it is important that the nature of the business and the way it
currently operates are clearly understood. The detailed examination provides the specific data
required during designing in order to ensure that all the client's requirements are fulfilled.
The investigation or the study conducted during the analysis phase is largely based on the
feasibility study. Rather it would not be wrong to say that the analysis and feasibility phases
overlap. High-level analysis begins during the feasibility study. Though analysis is
represented as one phase of the system development life cycle (SDLC), this is not true.
Analysis begins with system initialization and continues until its maintenance. Even after
successful implementation of the system, analysis may play its role for periodic maintenance
and up gradation of the system.
One of the main causes of project failures is inadequate understanding, and one of the main
causes of inadequate understanding of the requirements is the poor planning of system
analysis.
Analysis requires us to recall the objectives of the project and consider following three
questions:
What are the potential problems that may make the task more difficult?
- 27 -
2.3 FEASIBILITY STUDY
The basic premise of system analysis is being done here. The primary goal of the system
analysis stage is to identify problems and determine how they can be solved with the
computer system. In formal SDLC methodologies, the first step in system analysis is
feasibility study. A feasibility study is the quick examination of the problems, goals,
expected cost of the system. The objective is to determine whether the problem can
reasonably solved with a computer system. In some cases, may be there is a better
alternative, or perhaps is simply short term annoyance and will gradually disappear. In other
cases, the problem may turn out to be more complex than was thought and involves users
across the company. Also, some problems may not be solvable with today's technology. It
might be better to wait for better technology. In any case, you need to determine the scope of
the project to gain the better idea of cost, benefits, and objectives.
The feasibility study is typically written so that non- programmers can easily understand it. It
is used to "sell" the to the upper management and as a starting point for the next step.
Additionally it is used as a reference to keep the project on track, and to evaluate the progress
of project team. Is the project cost effective or there is a cheaper solution? Will the proposed
system improve the operation of the bank; will complicating factors prevent it from
achieving its goals? Does the technology exist and does the firm have the staff to make the
technology work?
When the proposal is determined to be feasible, the team leaders are appointed and a plan
and schedule are created. The schedule contains a detailed listing of what parts of the
project are completed at each time. Of course, it extremely difficult to estimate the true cost
and completion dates. Nonetheless, the schedule is an important tool to evaluate the status
of the project and the progress of the team.
- 28 -
Steps in feasibility Analysis are:
Economic analysis is the most frequently used technique for evaluating the effectiveness of a
proposed system. More commonly known as cost / benefit analysis; in this procedure we
determine the benefits and savings that are expected from a proposed system and compare
them with costs. We found the benefits outweigh the costs; we take a decision to design and
implement the new proposed system.
During the feasibility phase, broad alternatives solutions are examined. For each alternate
solution the cost and benefits have to be examined before designing one of the alternatives.
Broad solutions will consist of:
- 29 -
COST AND BENEFIT ANALYSIS
Cost benefit analysis helps to give management a picture of the cost, benefits and risks. It
usually involves comparing alternate investments.
Cost benefit determines the benefits and savings that are expected from the system and
compares them with the expected cost.
In performing cost and benefit analysis it is important to identify cost and benefits factors.
Cost and benefits can be categorized into the following categories:
i. Development cost - Development costs is the cost that are incurred during the
development of the system. It is one time investment.
ii. Operating cost - Operating cost are the expenses required for the day to-day
running of the system. As, operating cost are wages, supplies and overheads.
iii. Hardware/Software cost - It includes the cost of purchasing or leasing of
computes and it's peripherals. Software costs involves required software cost.
iv. Personnel cost - It is the money spent on the people involved in the development
of the system.
v. Facility cost - Expenses that are incurred during the preparation of the physical site
where the system will be operational. These can be wiring, flooring, acoustics, lighting, and
air-conditioning.
vi. Supply cost - These are variable costs that are very proportionately with the
amount of use of paper, ribbons, disks, and others.
- 30 -
BENEFITS
Salary of on employee being around Rs.15,000. In one year annual salary of employee is
equal to Rs. 80,000 and salary to four employees is Rs. 3, 20,000 for one year .From this
analysis it can be seen that whatever money the companies will invest on making their
system a computerized system will be recovered and half years of time (approx.). This
analysis shows that how management is benefited by computerized system.
BENEFITS:
1) Fast and easy access to all Physical File Storage Management System related procedures
and functions.
3) Less need for personnel, thus, no monthly salaries, which leads to no extra funds.
- 31 -
4) Reliability is increased, as backups of files, and records can be made and saved in various
different locations and information will be highly secure, unlike in file cabinets where entries
can easily be ripped or tampered with by users.
5) The reception/front office will look much more neater and cleaner the environment they
need, as there Won't be any cupboards or drawers which make the companis overcrowded.
6) There will be no longer the need for all the paper work required to make timely reports
lists or other lists as the program generates then at anytime at a very quick pace.
Today, very little is technically impossible. Consequently, technical feasibility looks at what
is practical and reasonable. Technical feasibility addresses three major issues:
- 32 -
If the answer to any of these questions is no, then we must ask ourselves, Can we get this
technology? The technology may be practical and available, and, yes, we need it. But we
simply may not be able to afford it at this time. Although this argument borders on economic
feasibility, it is truly technical feasibility. If we can't afford the technology, then the
alternative that requires the technology is not practical and is technically infeasible!
As mentioned earlier, the current operational state of Physical File Storage Management
System is very primitive as all storage is done on hand written database. These files are then
placed in drawers or cabinets and tagged in a sorted order. The Physical File Storage
Management System contains over a large number of drawers and cabinets. Each cabinet
takes a large space. Other than this it uses many king of papers to calculate and maintain
different account works. Since there has been no use of computer in the Physical File Storage
Management System so far, for storage of data, there is no currently used software.
The software & hardware to run my project, and is it's usage is given in the table below:
- 33 -
2.6 OPERATIONAL FEASIBILITY
Generally project will not be rejected simply because of operational infeasibility but
such considerations are likely to critically affect the nature and scope of the eventual
recommendations.
For operational feasibility study we appointed a small group of people who are
familiar with information system techniques, who understand the parts of the business that
are relevant to the project and are skilled in system analysis and design process.
After studying the feasibility of the project we came to the following points, these results
may change according to further analysis and design.
PROJECT NAME: PHYSICAL FILE STORAGE MANAGEMENT SYSTEM
EXPECTED BENEFITS:
Save money.
- 34 -
Reduce the response time.
- 35 -
- 36 -
3. 1 IMPORTANCE OF COMPUTERIZED
There are several attributes in which the computer based information works. Broadly the
working of computer system is divided into two main groups:
Transaction System
Decision Support System
Transaction System:
A transaction is a record of some well-defined single and usually small occurrence in a
system. Transactions are input into the computer to update the database files. It checks the
entering data for its accuracy. This means that numeric data appears in numeric field and
character data in character field. Once all the checks are made, transaction is used to update
the database. Transaction can be inputted in on-line mode or batch mode. In on-line mode,
transactions are entered and updated into the database almost instantaneously. In batch mode,
transactions are collected into batches, which may be held for a while and inputted later.
Computer system works out best with record maintenance. It will tell you which customer
would get how much pending/reports statements. It will also help to search the information
about a particular person by simply entering his telephone number. User can store
information as per requirement, which can be used for comparison with other reports.
- 37 -
3.2 PRINCIPLES OF SYSTEM ANALYSIS
Principles:
1. Understand the problem before you begin to create the analysis model.
2. Develop prototypes that enable a user to understand how human machine interaction
will occur.
3. Record the origin of and the reason for every requirement.
4. Use multiple views of requirements like building data, function and behavioral
models.
5. Work to eliminate ambiguity.
A Complete Structure:
The limited time and resources have restricted us to incorporate, in this project, only the main
activities that are performed in news sites, but utmost care has been taken to make the system
efficient and user friendly.
For the optimum use of practical time it is necessary that every session is planned. Planning
of this project will include the following things:
Topic Understanding.
Modular Break – Up of the Syst
Processor Logic for Each Module.
Database Requirements.
Topic Understanding:
It is vital that the field of application as introduced in the project may be totally a new field.
So as soon as the project was allocated to me, I carefully went through the project to identify
the requirements of the project.
- 38 -
Description Of The Modules:
PRELIMINARY
INVESTIGATION
DEVELOPMENT OF
PROTOTYPE SYSTEM
DEVELOPMENT OF
SYSTEM TESTING SOFTWARE AND CODING
SYSTEM
ANALYSIS
50% DESIGN
OF
SYSTEM
30%
CODING
20%
- 39 -
A system analysis is a separation of a substance into parts for study and their implementation
and detailed examination.
Before designing any system it is important that the nature of the business and the
way it currently operates are clearly understood. The detailed examination provides the
specific data required during designing in order to ensure that all the client's requirements are
fulfilled. The investigation or the study conducted during the analysis phase is largely based
on the feasibility study. Rather it would not be wrong to say that the analysis and feasibility
phases overlap. High-level analysis begins during the feasibility study. Though analysis is
represented as one phase of the system development life cycle (SDLC), this is not true.
Analysis begins with system initialization and continues until its maintenance. Even after
successful implementation of the system, analysis may play its role for periodic maintenance
and up gradation of the system.
One of the main causes of project failures is inadequate understanding, and one of the
main causes of inadequate understanding of the requirements is the poor planning of system
analysis.
Analysis requires us to recall the objectives of the project and consider following
three questions:
What type of information is required?
Keeping the above questions in mind and considering the survey conducted to
determine the need of the system, the total system was deigned and can be described as
under:
Providing Information:
The system is effectively used to provide large variety of information to the interested
customer. The major purpose of the site is to easily provide access to records of various
products with quick update to latest modifications in the records. This thing is not at all
possible in printed material, which are updated only once a few weeks. It also gives
- 40 -
information about the general usage of the system for first time visitors. The system itself
works as a information provider for Software Testing.
Alert when available: Through the survey it was clearly that there is a need to device
an alternative way for providing alert facility to the user. Sometimes the product which
customer demand is not available at that moment, user can register demand of customer and
when its available, system gives an alert to the user that customer had registered a customer
request with the same match.
Constraints: After the objectives were clear during the analysis phase, it was essential
to understand the constraints in order to plan and avoid problems arising during detailed
analysis.
Budget - if budget is a real constraint, the budget of the new system proposed would be
constantly compared with that of the existing system or any Alternatives solution. In this
case during the economic feasibility study it has been clearly proved that the new system is
definitely more feasible than the alternative solution possible. Organization must implement
a system which saves the effort, also its provide an easy method for customer who investigate
each detail itself.
Scope - what is the area under investigation in this project? What are the boundaries of the
system? What is the extent of possible usage of the new system?
More and more people are now having access to organization and watch independently
Details of new upcoming stock. Hence the scope is constantly increasing. However its usage
can be increased many folds with a little investment from the organization side by implanting
touch screen computer kiosks at various convenient positions at the service station.
Environmental Analysis- The external entities for an organization are its Supplier's
customers or any individual.
- 41 -
3.4 METHODS USED FOR GATHERING INFORMATION
This project follows the waterfall model in software engineering for implementation. The
Waterfall Model was first Process Model to be introduced. It is also referred to as a linear-
sequential life cycle model and often used in software development processes. It is very
simple to understand and use. In a waterfall model, each phase must be completed before the
next phase can begin and there is no overlapping in the phases.
In "The Waterfall" approach, the whole process of software development is divided into
separate phases. In Waterfall model, typically, the outcome of one phase acts as the input for
the next phase sequentially. All these phases are cascaded to each other in which progress is
seen as flowing steadily downwards (like a waterfall) through the phases of requirement,
analysis, design, construction, testing, deployment and maintenance. The next phase is
started only after the defined set of goals are achieved for previous phase.
The methods used for gathering information about the existing information system are as
followed.
(a) Review of records.
(b) Observation of the functioning system.
(c) Interviews.
(d) Questionnaires.
In order to create an informative and practical system, a system analyst would have to have
some kind of way to view the current system. Receiving feed back on what can be done to
improve the current system, and how much the current system is acceptable to the users.
1) Requirement analysis: -
The main part of problem is to obtain a clear understanding of the needs of user and what
exactly are desired from the software. It is used for specifying the requirement.
- 42 -
On-site Observation
Interviews
Questionnaries
Review of
documents
On-site
observation
Information Data
gathering tools Interview organization
Questionnaires
In this phase we analyzed all the documents like the day books, supply report, order
generating forms, supply forms, account etc. All these things describe the format and
functions of the current system included in most manuals are system requirement that help
determine how III various objectives are met.
The form is one of the most important source through which ! draw some conclusion like:
1. Who use the form(s)? How important are they to the user?
2. Do the forms include all the necessary information? What item should be added or
deleted?
3. How readable and easy to follow is the form?
4. How does the information in the form help other user make better decision?
5. What other uses does the form offer the user area?
- 43 -
By analyzing all the details we draw a conclusion that what are the merit and De-merit of the
current phase. Will the company contain all the back up of all the important document of not
sales person contains all the information about the available vehicles or not. But above all
there are some problems with the on site observations that one analyst must face during
analysis like:
The interviews is a face to face interpersonal role situation in which a person called The
interview asks a person being interview questions designed to gather information about a
problem area. The interview is the oldest and most often useddevice for gathering
information in systems work. It has qualities that behavioral and on-site observation do not
possess .it can be used for two main purposes:
(a) as an exploratory device to identify relations or verify Information
(b) to capture information as it exists
1. On site observation:
It is not the easy task to do. In the on site observation the main objective is to get close as
possible to the real system that are being studied. There are some questions that can serve as
a guide for the on site observations:
- 44 -
moral judgment on what is observed. Not to argue with anyone or not to show any hostility
towards one person and undue friendliness towards another.
So in the on site observation we first visited to the entire organization watched all the
transactions, watched the way of taking orders by the sales executive. What types of forms
are used in the entire place? Are all forms are written, printed or not.
1. its flexibility
2. easy to validate the information gathered
3. effective technique for elicit information about complex subject
4 instance, goals must be based on what competitors do.
Questionnaires:
It is usually associated with the self-administrated tools with items of the closed or fixed
alternative type. By this nature a questionnaires offer the following advantages:
(a) It is economical and requires less skill to administer than the interview
(b) Unlike the interview which generally questions one subject at time questionnaire can be
administrated to large number of individuals simultaneously.
(c) The questionnaires place less pressure on the subjects for immediate responses.
Respondents have to think the question over and do calculations to provide more accurate
data.
The unstructured interview is a relatively nondirective information technique. The role of the
analyst as an interviewer is to encourage the respondent to talk freely and serve as a catalyst
to the expression of feeling and opinions.
- 45 -
In the structured alternative approach the question are presented with exactly the same
wording and in the same order to all subjects. Questions may be closed or open ended. An
open-ended question requires no response direction or the specific response.
An analyst asks the questions at each level of management either it is top level, middle level
or bottom level and at each department in the client's site and at the manufacturer.
Following are the sample questions which we asked in the form of questionnaires and
interviews:
- 46 -
8.) Which Database is implemented for the File System?
i. MS ACESS ii. MY SQL iii. ORACLE
iv. Others (Please Specify) ...........................
2.) Are you satisfied with the work done by your staff?
i. YES ii. NO iii. Partially Satisfied
3.) What type of up-gradation do you intend to have in the current system?
i. Technical ii. Manual iii. Monetary
5.) What do you emphasize on (Regarding type of work done at the center) ?
i. Quality ii. Quantity iii. Both.
7.) Are you satisfied with the number of customers coming here?
i. Yes ii. NO iii. Can't say.
- 47 -
9.) Which Database is implemented for the File System?
i. MS ACESS ii. My SQL iii. ORACLE
iv. Others (Please Specify) ...........................
Personal Information:
i. NAME.
ii. Customer Type ->
a. ) School Student b. ) Collage Student c.) Working Personal
- 48 -
(i) 45% answered
(ii) 35% answered
(iii)20% answered
i - positive answers
ii - Average answers
iii - Negative Answers
34% answered
36% answered
30% answered
- 49 -
- 50 -
The final deliverable from system analysis is a document containing an unambiguous
statement of the client's requirements from the new system and what the development project
will have to deliver in order to be considered a success.
The functional specification is the starting point for designing, which depends to a large
extent on the accuracy and thoroughness with which the analysis has been carried out.
Understanding of the business, appreciation of the client's problems and documentation of
requirements provide the foundation on which the designing is based.
A key factor in this approach is the use of the structured techniques.
Analysis ends with a description of what the new system must do to fulfill the requirements
of the organization, while design specifies how this will be done by selecting one of the
many ways of doing it.
ANALYSIS DESIGN
The structured techniques used during the analysis which provide this logical view are:
• Data flow diagrams - representing the process, which manipulate the data as it passes
through the system.
• Entity model - showing the relationship within the data items held within the system.
• A data dictionary - providing an overall consistent definition of the data used during the
system development. This definition includes the content of the data stores, data flows and
the process shown on the data flow diagrams, and the entities that make up the entity model.
- 51 -
4.1 DESIGN OBJECTIVES AND CONSTRAINTS
Flexible –
The design would enable future requirements of the organization to be incorporated without
much difficulty. Often the organizational needs and objectives change over time and hence
such a design enables the system to reflect these changes.
• Maintainable -
A good design is easy to maintain and this reduces the client's maintenance cost, which
usually represents a proportion of the lifetime of the system.
• Portable -
A client for whom the software was developed may wish to change the hardware on which
the system run. A good design is portable - in other words it is capable of being transferred
from one machine environment to another with minimum amount of effort.
• Easy to use -
With increasing number of general users having exposure to computers and access to web
sites, expectations of computer applications in term of their ease of use are also increasing. A
good design will result in a system which is `user - friendly' - easy to understand, not difficult
to learn how to use and straightforward to operate.
• Reliable -
The system designed must be secure against human error, deliberate misuse or machine
failure, and which the data will be stored without corruption.
- 52 -
4.2 PHYSICAL DESIGN
The design phase focuses on the detailed implementation of the system recommended in the
feasibility. Emphasis is on translating performance specifications into design specifications.
The design phase is a transition from user-oriented document to a programmer-oriented
document.
The following structured diagram can appropriately represent the relationship between
various modules.
- 53 -
4.2.3 Process Modeling:
System design goes through two phases of development: logical and physical. Logical
implementation represented by Data Flow Diagram shows the logical flow of a system and
defines the boundaries of the system it describes the input (source), outputs (destinations),
data bases (data stores), and procedures (data flows) - all in the format that meets the user's
requirements. The logical implementation of the whole project can be represented as under
through Data Flow Diagrams (DFD).
Data flow diagrams are the most commonly used way of documenting the processing of the
candidate system. As their name suggest they are a pictorial way of representing the flow of
data into, around, and out of the system. They are easily understandable and are less prone to
misinterpretation than textual description. A complete set of DFDs provides a compact top -
down representation of the system, which makes it easier for the user and the analyst to
envisage the system as a whole.
- 54 -
4.4 DATA MODELING
Customer Module:
This module contains the customer files records. User can retrievethe details of customer file
and customer can also generate track report of customer confidential file.
Administrator Module:
This module creates employee of staff and customer account and this module contains the
customer files records. Administrator can retrieve the details of customer file and employee
file,customer feedback,file details can also generate track report of customer confidential file.
Data modeling defines primary data objects, composition of each data object, and attributes
of the object, relationships between each object and other objects and between objects and
the processes.
Data Objects: A data object is a representation of almost any composite information that
must be understood by the software. By composite information, we mean something that has
a number of different properties or attributes. A data object encapsulates data only there is no
reference within a data object to operations that act on the data.
Attributes: Attributes define the properties of a data object and take on one of three different
characteristics. They can be used to:
1. Name an instance of data object.
2. Describe the instance.
3. Make reference to another instance in other table.
- 55 -
Database Design
The PFSMS database consists of 8 tables. Each and every table is setup with
theproper Integrity constraints to work properly. The structure of the databasetables is given
below:
Table: Admin
Field Name Field Type Constraints Description
Username Varchar (30) Not Null Stores the username
of administrator
Password Varchar (30) Not Null Stores the password
of administrator
Table: Employee
Field Name Field Type Constraints Description
Emp_id Varchar(30) Primary key Stores Employee id
Username Varchar(30) Not Null Stores Username
Password Varchar(30) Not Null Stores Password
Name Varchar(30) Not Null Stores Name
Designation Varchar(30) Not Null Stores Designation
Department Varchar(30) Not Null Stores Department
Email_ID Varchar(30) Not Null Stores Email id
Phone _no Varchar(30) Not Null Stores Phone
Table: Customer
Field Name Field Type Constraints Description
ID Varchar(11) Not Null Store Customer Id
Username Varchar (100) Not Null Stores Username
Password Varchar (100) Not Null Store password
Name Varchar (100) Not Null Stores Name
Cname Varchar (100) Not Null Stores Company
Name
Address Varchar(100) Not Null Store Address
City Varchar(100) Not Null Store City
State Varchar(100) Not Null Store State
Email Varchar(100) Not Null Store Email
Phone Varchar(100) Not Null Store Phone
- 56 -
Table: Feedback
Field Name Field Type Constraints Description
Id_no Varchar (30) Not Null Store feedback id
Name Varchar (30) Not Null Store name
Email_id Varchar (30) Not Null Store Email id
Phone_no Varchar (30) Not Null StorePhoneNumber
State Varchar (30) Not Null Store State
comment Varchar (30) Not Null Store comment
Table: file_datail
Field Name Field Type Constraints Description
Id Varchar (100) Not Null Store File id
File_Name Varchar (100) Not Null Store File name
File_type Varchar (100) Not Null Store file type
Flocation Varchar (100) Not Null Stores File location
customer_id Varchar (100) Not Null Stores Customer id
Desc Varchar (100) Not Null Stores Description
EntryDate Varchar (100) Not Null Stores File Date
Status Varchar (100) Not Null Stores status of file
Table: Issue
Field Name Field Type Constraints Description
id int (11) Not Null Store Issue id
Fid Varchar (100) Not Null Store File id
Fname Varchar (100) Not Null Store File name
Ftype Varchar (100) Not Null Store File Type
Empid Varchar (100) Not Null Store Employee Id
Status Varchar (100) Not Null Stores status of File
- 57 -
Relationships: Data objects are connected to one another in a variety of different ways. We
can define a set of object relationship pairs that define the relevant relationships.
- 58 -
4.5 ER DIAGRAM
Address
Password
Entry_Date
City Status Flocation
Username
emp_id Cname
Customer_Id
Customer File_name
Email
Check
Phone Files id
Name File
file_type
Department Issue of
Files Desc
Has Created
File Status
Username
fid
Designation
Empid
Emp_id
Issue
Employee
id
Email_id
Fname
Phone_no
Ftype
Manage
Password Files
Name
Give
File Issues feedback
Email_id
Admin Maintains the
feedback
Phone_no
username
Comment
Feedback
Password
Id_no
name State
- 59 -
4.6 CONTEXT LEVEL DFD FOR
Administrator
Response
Customer
Response
Create customer and employee
information data and issue file to
Employee Management
Customer Account
And manages
track for files
Physical File
Storage
Management
System
Management of new
Client creates new Files and files and employee
Manages Files issued files
Response
Response
Employee Files
- 60 -
Ist Level DFD For Physical File Storage Management System
Re-enter Password
If invalid
Valid User
Login
Manage
Assign Files Customers
Reply
Feedback
Customers
Employee
Feedback
Update
Clients
details D4 Customer
Get
Feedback
From
Update Files Database D3 Feedback
Table
D2 file_detail
- 61 -
IInd Level DFD Administrator Module
Administrator
File management
Gives Username
& Password Response
Employee
information
Customers
1.0
1.0
Manages
Manages Employee
Customers details
Response
Response
Customer Details
Employee
Details
Customer Employee
- 62 -
IIrd Level DFD Physical File Storage Management System
File Management
File
Details
Response
4.0
Response
Manages Files
Filet data
Response
Input details Employee
Manages
Employee on
project
Response
Issue
Employee issued
file details
4.2
Customer
Customer details
Management Response Customer
- 63 -
4.7 MODULES OF THE PROJECT
Modules and their description PFSMS comprises of four modules. Brief description of each
and every module is given below:
(i) Administrator Module: This module will be responsible for managing of the new
Files and Issue new files and update status assigned to employee.In PFSMS
administrator can create customers and employees. Administrator manage
customer report,employee report and file reports with status along with file
name,file type,file location. Customer Details and Employee details can be
managed by this module.
(ii) Customer Management Module: This module will be responsible for checking his
file status and can track for file that are assigned or completed. The customers
who will use the PFSMS according to store his files.
(iii) Employee Management Module: This module will be responsible for creating files,
maintaining the files status along with file name, file type, file date and file status
so that easy deployment of files can be possible.
(iv) Files Management Module: This module will be responsible for handling the
different customers file, taking new files from customers. The module is solely
responsible for managing new file,issued file details and balancing the load factor
between the customers,employees and administrator.
Different modules that makeup these systems are briefly described below:
- 64 -
If it already exists, then it prompts that “Entry already existing” and if not than the data is
entered with the various validation checks.
Module 5: Issue: This field will represent the file issue record within a particular
application the customer want to create the defect for.
Module 6: Feedbacks
In this module, Feedback details are given by the users and checked by the administrator of
the site.
- 65 -
4.8 PROCESS LOGIC FOR EACH MODULE:
Process Logic of Module is a tool that may be useful in planning and evaluating projects. Our
logic model contains four components with Inputs-Outputs-Outcomes being central to the
built in response to the model:
Situation: The context and need that gives rise to a file or initiative; logic modules
are built in response to an existing situation.
Inputs: The resources, contributions, and investments that are made in response to
the situation. Inputs lead to Outputs.
Outputs: The activities, products, methods, and services that reach people and users.
Outputs lead to outcomes.
Outcomes: The results and benefits for individuals, groups, agencies, communities
and/or systems.
4.9 SCHEDULING
Scheduling of a software project does not differ greatly from scheduling of any multi- task
engineering effort. Therefore, generalized project scheduling tools and techniques can be
applied with little modification to software projects.
Program evaluation and review technique (PERT) and critical path method (CPM) are two
project scheduling methods that can be applied to software development. Both techniques are
driven by information already developed in earlier project planning activities.
Estimates of Effort
A decomposition of the product function.
The selection of the appropriate process model and task set.
Decomposition of tasks.
Interdependencies among tasks may be defined using a task network. Tasks, sometimes
called the project Work Breakdown Structure (WBS) are defined for the product as a whole
or for individual functions.
- 66 -
Both PERT and CPM provide quantitative tools that allow the software planner to (1)
determine the critical path-the chain of tasks that determines the duration of the project; (2)
establish "most likely" time estimates for individual tasks by applying statistical models; and
(3) calculate "boundary times" that define a time window" for a particular task.
Boundary time calculations can be very useful in software project scheduling. Slippage in the
design of one function, for example, can retard further development of other functions. It
describes important boundary times that may be discerned from a PERT or CPM network: (I)
the earliest time that a task can begin when preceding tasks are completed in the shortest
possible time, (2) the latest time for task initiation before the minimum project completion
time is delayed, (3) the earliest finish-the sum of the earliest start and the task duration, (4)
the latest finish- the latest start time added to task duration, and (5) the total float-the amount
of surplus time or leeway allowed in scheduling tasks so that the network critical path
maintained on schedule. Boundary time calculations lead to a determination of critical path
and provide the manager with a quantitative method for evaluating progress as tasks are
completed.
Both PERT and CPM have been implemented in a wide variety of automated tools that are
available for the personal computer. Such tools are easy to use and take the scheduling
methods described previously available to every software project manager.
- 67 -
5.2 CODE EFFICIENCY
Reviewing of Code efficiency for a module is carried out after the module is successfully
compiled and all the syntax errors eliminated. Code efficiency review is extremely cost-
effective strategies for reduction in coding errors in order to produce high quality code.
Normally, two types of efficiency are carried out on the code of a module - code optimization
and code inspection. The procedure and final objective of these two efficiency techniques are
very different as discussed below.
Code optimization is an informal code analysis technique. In this technique, after a module
has been coded, it is successfully compiled and all syntax errors are eliminated. Some
members of the development team are given the code a few days before the optimization
meeting to read and understand the code. Each member selects some test cases and simulates
execution of the code by hand (i.e. trace execution through each statement and function
execution). The main objectives of the optimization are to discover the algorithmic and
logical errors in the code. The members note down their findings to discuss these in a
optimization meeting where the coder of the module is also present.
Even though a code optimization is an informal analysis technique, several guidelines have
evolved over the years for making this naïve technique more effective and useful. Of course,
these guidelines are based on personal experience, common sense, and several subjective
factors. Therefore are based on personal experience, common sense, and several subjective
factors. Therefore, guidelines should be considered as examples rather than as rules to be
applied dogmatically. Some of these guidelines are the following:
The team performing the code optimization should not be either too big or too small. Ideally,
it should consist of three to seven members.
- 130 -
- 131 -
6.1 TESTING PHASES
A primary purpose for testing is to detect software failures so that defects may be
uncovered and corrected. This is a non-trivial pursuit. Testing cannot establish that a product
functions properly under all conditions but can only establish that it does not function
properly under specific conditions.[11] The scope of software testing often includes
examination of code as well as execution of that code in various environments and conditions
as well as examining the aspects of code: does it do what it is supposed to do and do what it
needs to do. In the current culture of software development, a testing organization may be
separate from the development team. There are various roles for testing team members.
Information derived from software testing may be used to correct the process by which
software is developed.
Not all software defects are caused by coding errors. One common source of
expensive defects is caused by requirements gaps, e.g., unrecognized requirements, that
result in errors of omission by the program designer. A common source of requirements gaps
is non-functional requirements such as testability, scalability, maintainability, usability,
performance, and security.
Software faults occur through the following process. A programmer makes an error
(mistake), which results in a defect (fault, bug) in the software source code. If this defect is
executed, in certain situations the system will produce wrong results, causing a failure.[12]
Not all defects will necessarily result in failures. For example, defects in dead code will
never result in failures. A defect can turn into a failure when the environment is changed.
Examples of these changes in environment include the software being run on a new hardware
- 132 -
platform, alterations in source data or interacting with different software.[12] A single defect
may result in a wide range of failure symptoms.
Compatibility
This could be considered a "prevention oriented strategy" that fits well with the latest
testing phase suggested by Dave Gelperin and William C. Hetzel, as cited below [13].
A very fundamental problem with software testing is that testing under all
combinations of inputs and preconditions (initial state) is not feasible, even with a simple
product. This means that the number of defects in a software product can be very large and
defects that occur infrequently are difficult to find in testing. More significantly, non-
functional dimensions of quality (how it is supposed to be versus what it is supposed to do) --
for example, usability, scalability, performance, compatibility, reliability -- can be highly
subjective; something that constitutes sufficient value to one person may be intolerable to
another.
- 133 -
code (modules or discrete functions). For example, Spreadsheet programs are, by their very
nature, tested to a large extent "on the fly" during the build process as the result of some
calculation or text manipulation is shown interactively immediately after each formula is
entered
1. UNIT TESTING:
This is the smallest testable unit of a computer system and is normally tested using
the white box testing. The author of the programs usually carries out unit tests.
2. INTEGRATION TESTING:
In integration testing, the different units of the system are integrated together to form the
complete system and this type of testing checks the system as whole to ensure that it is doing
what is supposed to do. The testing of an integrated system can be carried out top-down,
bottom-up, or big-bang. In this type of testing, some parts will be tested with white box
testing and some with black box testing techniques. This type of testing plays very important
role in increasing the systems productivity. We have checked our system by using the
integration testing techniques.
3. SYSTEM TESTING:
A part from testing the system to validate the functionality of software against the
requirements, it is also necessary to test the non-functional aspect of the system. Some
examples of non-functional tools include tests to check performance, data security,
usability/user friendliness, volume, load/stress that we have used in our project to test the
various modules.
- 134 -
4. FIELD TESTING:
This is a special type of testing that may be very important in some projects. Here the system
is tested in the actual operational surroundings. The interfaces with other systems and the real
world are checked. This type of testing is very rarely used. So far our project is concerned;
we haven't tested our project using the field testing.
5. ACCEPTANCE TESTING:
After the developer has completed all rounds of testing and he is satisfied with the system,
then the user takes over and re-tests the system from his point of view to judge whether it is
acceptable according to some previously identified criteria. This is almost always a tricky
situation in the project because of the inherent conflict between the developer and the user. In
this project, it is the job of the bookstores to check the system that whether the made system
fulfills the goals or not.
Testing is vital to the success of the system. System testing makes a logical assumption that
if all the parts of the system are correct, the goal will be successfully achieved. Inadequate
testing results in two types of problems:
1. The time lag between the cause and the appearance of the problem.
2. The effect of system errors on the files and records within the system.
- 135 -
PREPARE TEST : A workable test plan must be prepared in accordance with
established design specifications. It includes the following items:
Outputs expected from the system.
Criteria for evaluating outputs.
A volume of test data.
Procedure for using test data.
Personnel and training requirements.
The training plan is followed by preparation of the user training manual and other text
materials.
- 136 -
COMPILE / ASSEMBLE PROGRAMS
All programs have to be compiled / assembled for testing.
SYSTEMS TESTING
The computer department to ensure that the system functions as specified does this testing.
This testing is important to ensure that a working system is handed over to the user for
acceptance testing.
ACCEPTANCE TESTING
The user to ensure that the system functions, as the user actually wanted performs this
testing. With prototyping techniques, this stage becomes very much a formality to check the
accuracy and completeness of processing. The screen layouts and output should already have
been tested during the prototyping phase.
An error in the program code can remain undetected indefinitely. To prevent this from
happening the code was tested at various levels. To successfully test a system, each
condition, and combinations of conditions had to be tested. Each program was tested and
linked to other programs. This unit of program is tested and linked to other units and so on
until the complete system has been tested.
The purpose of testing is to ensure that each program is fully tested. To do so a test plan had
to be created. The test plan consists of a number of test runs such as the valid paths through
the code, and the exception and error handling paths. For each test run there is a list of
conditions tested, the test data used and the result expected. The test plan was then reviewed
to check that each path through the code is tested correctly. It is the responsibility of the
programmer to collect the data that will produce the required test condition.
- 137 -
6.3 TEST CASES
TEST DATA
Specifications for
Physical File Storage
Management System
user form1
Physical File
Storage
Test Date 27-4-2010 Programmer name:
Management
System
Tested By: Project ID: 11105454
Age
Recuirement
Your Answer
- 138 -
Positive Test cases for registration form
T.C ACT RESU
PRE-CONDITION T.C DESCRIPTION T.C DATA EXPECTED
ID UAL LT
- 139 -
User should be on
Check the
https://Physical File Storage
functionality of Will accept country.This
12 Management System Ok Pass
Country DropDown is required.
/registration?And is on
List
Country DropDown List India
User should be on
https://Physical File Storage
Management System Check the Will accept the valid
/registration? And is on functionality of Postal postal code of the
13 Postal Code Field Code field 110075 selected country Ok Pass
User should be on
Check the
https://Physical File Storage Will accept only letters,
functionality of
14 Management System numbers, underscores, Ok pass
recuirement of sign
/registration? And is on and one dot (.)
up option
Recuirement Field Employee
User should be on
Will accept 6 to 32
https://Physical File Storage Check the
characters.Capitalisation
18 Management System functionality of Avhjklhm Ok Pass
matters. and don't use
/registration? And is on password text box
your name ID.
Password Field
User should be on
Will accept 6 to 32
https://Physical File Storage Check the
characters.Capitalisation
19 Management System functionality of 654321 Ok Pass
matters. and don't use
/registration? And is on password text box
your name or ID.
Password Field
User should be on
Will accept 6 to 32
https://Physical File Storage Check the
characters.Capitalisation
20 Management System functionality of Ok Pass
matters. and don't use
/registration?And is on password text box
your name or ID.
Password Field 2207**
User should be on
Will accept 6 to 32
https://Physical File Storage Check the
characters.Capitalisation
21 Management System functionality of Ok Pass
matters. and don't use
/registration? And is on password text box
your name or ID.
Password Field Chinnu1312**
User should be on
Check the
https://Physical File Storage
functionality of
Management System
Retype password text
/registration?And is on Will accept the same
box
22 Retype Password field Same as the password password as above. Ok Pass
User should be on
Check the
https://Physical File Storage
functionality of Will accept any valid
23 Management System Ok Pass
Alternate Email text email id or blank
/registration?And is on akhila.hunagund@gmail.co
box
Alternate Email Field m
User should be on
Check the
https://Physical File Storage
functionality of Will accept any valid
24 Management System Ok Pass
Alternate Email test email id or blank
/registration? And is on
box
Alternate Email Field Blank
User should be on
https://Physical File Storage Check the
What was the make of your Either select one from
27 Management System functionality of Secret Ok Pass
first car? drop list or type one
/registration? And is on Question
Secret Question field
User should be on
https://Physical File Storage Check the
Will accept letters and a
Management System functionality of
single space only
/registration? And is on Answer text box
28 Your Answer field Santro Ok Pass
- 140 -
Negative Test cases for registration form
T.C ACT RESU
PRE-CONDITION T.C DESCRIPTION T.C DATA EXPECTED
ID UAL LT
User should be on
https://Physical File Storage
Management System Check the Allows to select
/registration? And is on functionality of one.This field is Inva
5 Address Field Gender field Space required. lid Fail
User should be on
Check the
https://Physical File Storage Allows to select a month
functionality of Inva
6 Management System and enter a valid day Fail
Birthday of sign up lid
/registration? And is on and year
option
Age Field Numeric
User should be on
Check the
https://Physical File Storage Allows to select a month
functionality of Inva
7 Management System and enter a valid day Fail
Birthday of sign up lid
/registration? And is on and year
option
Birthday Field january 1 2011
User should be on
Check the
https://Physical File Storage Allows to select a month
functionality of Inva
Management System and enter a valid day Fail
Birthday of sign up lid
/registration? And is on and year
option
8 Birthday Field february 29 1995
User should be on
Check the
https://Physical File Storage
functionality of
Management System Allows to select a
Country DropDown
/registration? And is on country.This field is Inva
List
9 Country DropDown List -Select one- required. lid Fail
User should be on
Will accept only letters,
https://Physical File Storage Check the
numbers, underscores, Inva
12 Management System functionality of ID of Blank Fail
and one dot (.) .The ID lid
/registration? And is on sign up option
must be available.
Email Field
User should be on
Will accept only letters,
https://Physical File Storage Check the
numbers, underscores, Inva
13 Management System functionality of ID of Fail
and one dot (.) .The ID lid
/registration? And is on sign up option
must be available.
Email Field akhila@yahoo.com
- 141 -
User should be on
Will accept only letters,
https://Physical File Storage Check the
numbers, underscores, Inva
14 Management System functionality of ID of Fail
and one dot (.) .The ID lid
/registration? And is on sign up option
must be available.
Email Field #akhila@yahoo.com
User should be on
https://Physical File Storage Check the Will accept 6 to 32
Inva
15 Management System functionality of characters.Capitalisation Fail
lid
/registration? And is on password text box matters. and don't use
Password Field 2# your name or ID.
User should be on
https://Physical File Storage Check the Will accept 6 to 32
Inva
16 Management System functionality of characters.Capitalisation Fail
lid
/registration? And is on password text box matters. and don't use
Password Field a123 your name or ID.
User should be on
Check the
https://Physical File Storage
functionality of Will accept the same Inva
17 Management System Fail
Retype password text password as above lid
/registration? And is on Different from the one in
box
Retype Password field Password field
User should be on
Check the
https://Physical File Storage
functionality of Will accept any valid Inva
18 Management System Fail
Alternate Email text email id or blank lid
/registration? And is on
box
Alternate Email Field akhila.hunagund
User should be on
Check the
https://Physical File Storage
functionality of Will accept any valid Inva
19 Management System Fail
Alternate Email test email id or blank lid
/registration? And is on
box
Alternate Email Field @yahoo.com
User should be on
Check the
https://Physical File Storage
functionality of Secret Either select one from Inva
22 Management System Fail
Question Drop Down drop list or type one lid
/registration? And is on
List
Secret Question 2 field -Select one-
User should be on
https://Physical File Storage Check the
Will accept anything.But Inva
23 Management System functionality of Fail
not blank lid
/registration? And is on Answer text box
Your Answer field Blank
- 142 -
6.4 VERIFICATION AND VALIDATION (V&V)
The objectives of verification, validity activities are to assess and improve the quality of the
work products generated during development and modification of the software. Quality
depends upon the various attributes like correctness, completeness, consistency, reliability,
usefulness, usability, efficiency and conformance to standards.
The terms verification and validation are used synonymously. These are defined as under: -
Verification activities include proving, testing, and reviews. Validation is the process of
evaluating software at the end of the software development to ensure compliance with the
software requirements. Testing is a common method of validation. Clearly, for high
reliability we need to perform both activities. Together, they are often called V&V activities.
The major V&V activities for software development are inspection, reviews, and testing
(both static and dynamic). The V&V plan identifies the different V&V tasks for the different
phases and specifies how these tasks contribute to the project V&V goals. The methods to be
used for performing these V&V activities, the responsibilities and milestones for each of
these activities, inputs and outputs for each V&V task, and criteria for evaluating the outputs
are also specified.
The two major V&V approaches are testing and inspections. Testing is an activity that can be
generally performed only on code. It is an important activity and is discussed in detail in a
later chapter. Inspection is a more general activity that can be applied to any work product,
including code. Many of the V&V tasks are such that for them, an inspection type of activity
is the only possible way to perform the tasks (e.g. trace ability and document evaluation).
Due to this, inspections play a significant role in verification.
- 143 -
- 144 -
7. POST IMPLEMENTATION MAINTENANCE AND
REVIEW
As we know, creating software is one thing and the implementation of the created software is
another. The process of implementing software is much difficult as compared to the task of
creating the project. First we have to implement the software on a small scale for removing
the bugs and other errors in the project and after removing them we can implement the
software on a large scale.
Before we think in terms of implementing the Software on a large basis, we must consider
the Hardware requirements.
When we evaluate computer hardware, we should first investigate specific physical and
performance characteristics for each hardware component to be acquired. These specific
questions must be answered concerning many important factors. These hardware evaluation
factors questions are summarized in the below figure.
Notice that there is much more to evaluating hardware than determining the fastest and
cheapest computing device. For e.g. the question of possible obsolescence must be addressed
by making a technology evaluation. The factor of ergonomics is also very important.
Ergonomics is the science and technology that tries to ensure that computers and other
technologies are "user-friendly", that is safe, comfortable and easy to use. Connectivity is
another important evaluation factor, since so many computer systems are now interconnected
within wide area or local area telecommunications networks.
- 145 -
HARDWARE EVALUATION FACTORS
1) Performance
2) Cost
3) Reliability
4) Availability
5) Compatibility
6) Modularity
7) Technology
8) Ergonomics
9) Connectivity
10) Environmental requirements
11) Software
12) Support
Software can be evaluated according to many factors similar to the hardware evaluation.
Thus the factors of performance, cost, reliability, compatibility, modularity, technology,
ergonomics, and support should be used to evaluate proposed software acquisitions. In
addition, however, the software evaluation factors are summarized in below figure. For e.g.
some software packages require too much memory capacity and are notoriously slow, hard to
use, or poorly documented. They are not a good selection for most end users, even if offered
at attractive prices.
- 146 -
3. SECURITY: does it provide control procedures for errors, malfunctions and
improper use?
4. LANGUAGE: do our computer programmers and users write it in a
programming language that is used?
5. DOCUMENTATION: is the s/w well documented? Does it include helpful user
instructions?
6. HARDWARE: does existing hardware have the features required to best use this
software?
7. Other characteristics of hardware such as its performance, what about the cost,
how much is reliable and etc.
An important aspect of is to make sure that the new design is implemented to establish
standards. The term implementation has different meanings, ranging form the conversion of a
basic application to a complete replacement of a computer system. Implementation is used
here to mean the process of converting a new or revise system into an operational one.
Conversion is one aspect of implementation. Conversion means changing form one system to
another. The objective is to put the tested system into operation while holding costs, risks,
and personnel irritation to a minimum. It involves creating computer-compatible files,
training the operation staff, and installing terminal and hardware. A critical aspect of
conversion is not disrupting the functioning of the organization.
When a new system is used over and old, existing and running one, there are always
compatibility errors. These errors are caused because of the lack of equipment or personnel
to work the new system. Running any specified system at an organization does require some
or other hardware or, in this case, software requirement as well.
- 147 -
There are three types of implementation:
Training needs refer to the gaining of knowledge required for running the system.
First of all the system is a computer based system therefore the person should have good
knowledge about computer and its working.
He should know how to use software's on the computer.
For a better usage and working of the software the organization should appoint a person who
has good knowledge of all the required software. The organization gets a person trained
through different institutes present in the market. The training should be as per the above
requirements.
- 148 -
8. COST ESTIMATION OF THE PROJECT
Cost in a project is due to the requirements for software, hardware, and human resources.
Hardware resources are computer time, terminal time and memory required for the project.
Software resources include the tools and compilers needed during development. The bulk of
cost of software development is due to human resources needed. Cost estimates are
determined in terms of person-months (PM).
1. Administrator
2. Senior Programmer
3. Junior Programmers
4. On line Users.
- 149 -
9. REPORT GENERATION
From above modules different reports are generated.Reports that can be generated :
- 150 -
10. GANTT & PERT CHART
Gant Chart
A Gantt chart is a graphical representation of the duration of tasks against the progression
of time. A Gantt chart is a useful tool for planning and scheduling projects
A Gantt chart is a type of bar chart that illustrates a project schedule. Gantt charts illustrate
the start and finish dates of the terminal elements and summary elements of a project.
Terminal elements and summary elements comprise the work breakdown structure of the
project. Some Gantt charts also show the dependency.
Gantt chart is a project scheduling technique. Progress can be represented easily in a Gantt
chart, by coloring each milestone when completed. The project will start in the month of
December and end after 4 months at the end of March .
PROBLEM
FORMULATION
PRELIMNIARY
INVESTIGATION
SYSTEM
ANALYSIS
SYSTEM DESIGN
CODING
TESTING
IMPLEMENTATION
- 151 -
Pert Chart
PERT (Project Evaluation and Review Technique) charts consist of a network of boxes and
arrows. The boxes represent activities and the arrows represent task dependencies.
PERT is a method to analyze the involved tasks in completing a given project, especially the
time needed to complete each task, and identifying the minimum time needed to complete the
total project.
A PERT chart is a project management tool used to schedule, organize, and coordinate tasks
within a project. PERT stands for Program Evaluation Review Technique, a methodology
developed by the U.S. Navy in the 1950s to manage the Polaris submarine missile program.
A similar methodology, the Critical Path Method (CPM) was developed for project
management in the private sector at about the same time. A critical path in a PERT chart is
shown by using thicker arrows.
- 152 -
3. Construct a network diagram.
PERT charts are a more sophisticated form of activity chart. In activity diagrams only the
estimated task durations are represented. Since the actual durations might vary from the
estimated durations, the utility of the activity diagrams is limited.
- 153 -
Project Planning and Scheduling
The PFSMS has gone through the following stages of development in its Software
Development Life Cycle.
The following GANTT and PERT chart is showing the schedule of various stages of Physical
File Storage Management System .
- 154 -
11. SECURITY AND VALIDATION CHECKS
While entering the data into the form it will check for the name of the client is
properly filled & it should not be null.
Whenever we enter the data for the new customer, company, or user will
automatically check the details from the database tables and also generate the
connection number automatically.
Almost for all fields we have used the validation for example if name of the fields
requires the text type of data then it will check for the string and if the data is numeric
then it will check if the number entered is proper numeric or not.
‘Verification & Validation Model’ makes it sure that, certain rules are followed at the time of
development of a software product and also makes it sure that the product that is developed fulfills
the required specifications. This reduces the risk associated with any software project up to certain
level by helping in detection and correction of errors and mistakes, which are unknowingly done
during the development process.
Form validation is the process of checking that a form has been filled in correctly before it is
processed. For example, if your form has a box for the user to type their email address, you might
want your form handler to check that they've filled in their address before you deal with the rest of the
form.
There are two main methods for validating forms: server-side (using CGI scripts, ASP, etc), and
client-side (usually done using JavaScript). Server-side validation is more secure but often more
tricky to code, whereas client-side (JavaScript) validation is easier to do and quicker too (the browser
doesn't have to connect to the server to validate the form, so the user finds out instantly if they've
missed out that required field!).
- 155 -
Client-side form validation (usually with JavaScript embedded in the Web page)
- 156 -
12. SCOPE OF FUTURE APPLICATION
This project is designed to meet the requirements of the users for software testing. It has been
developed in JSP, keeping in mind the specifications of the system.
For designing the system we have used simple data flow diagrams.
Using system analysis and design techniques like data flow diagram in designing the
system.
Understanding the database handling and query processing using My Sql.
- 157 -
13. BIBLIOGRAPHY
[1] Herbert Scheldt, Java Complete Reference, Fifth Edition, Tata McGraw Hill Edition.
[2] Phil Hanna, JSP 2.0: The Complete Reference, Tata McGraw Hill Edition, 2003.
[3] Elmarsi and Navathe, Fundamentals of Database System (Third Edition), Addision
Wesley.
[4] Ian Somerville, Software Engineering, Third Edition, Pearson Education.
[5] Ali Bahrami, Object-Oriented System Development, Third Edition, Tata McGraw Hill
Edition.
[6] Ivan Bayross, SQL, PL/SQL programming language of Oracle, Second Edition, BPB
Publication.
WEB REFERENCES
[1] www.google.com
[2] www.htmlcodetutorial.com
- 158 -
14. APPENDICES
TEXT BOX
A text Box control, sometimes called an edit field or edit control, displays information
entered at design time, entered by the user, or assigned to the control in code at run time.
BUTTON
Use a Command Button control to begin, interrupt, or end a process. When chosen, a
Command Button appears pushed in and so is sometimes called a push button.
LIST BOX
A List Box control displays a list of items from which the user can select one or more. If the
number of items exceeds the number that can be displayed, a scroll bar is automatically
added to the List Box control.
LABEL
A Label control is a graphical control you can use to display text that a user can’t change
directly.
GROUPBOX
A GROUPBOX control provides an identifiable grouping for controls. You can also use a
Frame to subdivide a form functionally – for example, to separate groups of Option Button
controls.
COMBO BOX
A Combo Box control combines the features of a text box and a list box. This control allows
the user to select an item either by typing text into the combo box, or by selecting it from the
list.
TIMER
A Timer control can execute code at regular intervals by causing a Timer event to occur. The
Timer control, invisible to the user, is useful for background processing.
- 159 -
PICTURE BOX
The primary use for the Picture Box control is to display a picture to the user. The actual
picture that is displayed is determined by the picture property. The picture property contains
the file name (and optional path) for the picture file that you wish to display.
The DATA Grid control displays and operates on tabular data. It allows complete flexibility
to sort, merge, and format tables containing strings and pictures. When bound to a Data
control, MSFlexGrid displays read-only data.
A Date and Time Picker (DTP) Control provides a simple and intuitive interface through
which to exchange data and time information with a user. For example, with a DTP control
you can ask the user to enter a data and then retrieve his or her selection with ease.
OPTION BUTTON
IMAGE CONTROL
Use the Image control to display a graphic. An Image control can display a graphic from an
icon, bitmap or metafile, as well as enhanced metafile, JPEG, or GIF files.
A Check Box indicates whether a particular condition is on or off. We use check boxes in an
application to give users true/false or yes/no options. Because check boxes work
independently of each other, a user can select any number of check boxes at the same time.
- 160 -