Anda di halaman 1dari 47

CHAPTER 1

INTRODUCTION

1.1 INTRANET MECHANIZATION

This is an intranet application. This application is for the corporate which has
large no of employees. Each employee creates an id for him, which is used to access the
services provided by this application such as library service, leave management,
messaging service, mail etc. Library service helps the employees to view the books,
search the books and to do many more. By providing messaging service and mail, this
application makes the interaction among the employees easier.

This online application can be implemented in any organization for automating


the various activities like adding, updating and viewing employee details, management of
library, and also update and view the leave details of the employees necessary for
calculating their salary. This online application can be used by any department in the
organization for viewing information required by them. There is a provision for sending
mails to anyone in the organization and also there is a provision for an online chat. This
online application, if implemented in an organization, will prove to be a cost effective
and efficient solution for all the problems related to managing the internal activities in the
organization.

1
1.2 CHAPTER WISE SUMMARY

The following section provides an overview of the various chapters covered in


this project and the subjects that each chapter deals with. This summary will help the user
to get an idea about the project.

CHAPTER 1

This chapter provides a brief introduction to the project with a description of the
title of the project and an explanation of why it is named so. This chapter also contains a
section with the profile of the company where the project was undertaken.

CHAPTER 2

The basics of the project title are elucidated here with an overall description of the
project itself.

CHPATER 3

This gives a brief description about the project. The technology used to develop it,
and how it is going to benefit the target users.

CHAPTER 4

This describes the analysis of the system. How it was developed and the present
scenario of the technology used to develop the system. The drawbacks of the existing are
explained. .Feasibility of the system is discussed at large, whether it would be feasible to
develop it or retain an existing system.

CHAPTER 5

This deals with the requirement specification of the system being developed. How
they are met to use the system being developed.

2
CHAPTER 6

This deals with the design and implementation of the system. How it was
implemented, and all the designing standards are mentioned.

CHAPTER 7

This deals with the testing of the software. The purpose of the testing is to find
errors, not to prove its correctness. If any errors during the testing stage, then only does it
account for a proper testing. The various test strategies and test cases used in this system
are explained here.

CHAPTER 8
This deals with conclusion of the project. This chapter also explains the
application if the software in various fields as well as the suggestion for further work on
the project.

Appendices

Bibliography

3
1.3 COMPANY PROFILE

WINFOCOM SOLUTIONS (P) LTD


About Winfocom

Winfocom was incepted in 1998.Since then it has grown rapidly and forged
relationship with companies in UK Singapore and US. Winfocom has strength of 18
dedicated software consultants with expertise and experience in multiple platforms.

Winfocom’s competency lies in providing innovative and high quality software


solutions for Object oriented software product development, Wireless Solutions,
Internet/Intranet applications, Web Business Solutions and Enterprise Solutions.

Winfocom has signed up with M/S INFOCOMM SOLUTIONS LTD, India to


provide wireless solutions in the area of WAP, BLUETOOTH, GPRS, and 3G etc.
Infocomm solutions are a subsidiary of M/s Future Techno designs Pvt ltd, Singapore and
have a strategic tie up with M/s AUSYSTEMS of Sweden (Partly Owned by
ERICSSON).

WINFOCOM MISSION

“TO INNOVATE AND DEVELOP CUTTING EDGE SOFTWARE SOLUTIONS AND


TO PROVIDE WORLDCLASS SERVICES IN THE KNOWLEDGE ECONOMY “.

Winfocom offers a wide spectrum of web solutions to meet the evolving


needs and business requirements of customers such as,

• Internet, Intranet solutions

• Custom web application software development

• Business Re-engineering

• Platform migration and conversions

• Maintenance

4
WINFOCOM’S CLIENT’S

Clients to name a few,

• Future Techno Designs Pvt Ltd – Singapore

• Informix Limited – UK

• W3tech Limited – UK

5
CHAPTER 2
BASICS OF INTRANET MECHANIZATION

This online application can be implemented in any organization for


automating the various activities like adding, updating and viewing employee details,
management of library, and also update and view the leave details of the employees
necessary for calculating their salary.

This online application can be used by any department in the organization for
viewing information required by them. There is a provision for sending mails to anyone
in the organization and also there is a provision for an online chat.

This application contains 6 main modules, which contains many sub modules.
The main modules are,

• Authentication Module
• General Service Module
• Leave Management Module
• Library Module
• Mail Service Module
• Chatting Module

Authentication Module
Employee Id and Password is validated here. Only authenticated employees can
access all other services of this application.

General Service Module


It provides general information like magazine, employee profile, leave status. In
the magazine, employees shall publish their information. It may be technical or non
technical.

6
Leave Management Module
To calculate the actual number of salary days of an employee at the end of each
month the HR department currently enters his/her leave details in database with a
consolidated code like, ‘PL-Privilege Leave, SL- Sick Leave, CL- Casual Leave. The
proposed intranet should provide necessary features where leave availed by an employee
would be deducted from the accumulated leave applicable to the employee.

While processing leave applications, the system should consider the following
factors:
• Different types of leaves (casual, sick or privilege) cannot be combined.
• All casual leave accumulated lapse at the end of the calendar year.
• Sick leave can be accumulated for two years after which it lapses.
• Earned leave can be accumulated for two years after which it will be encased.

Library Module
Administrator and Employees id is validated here. Administrator can access all
the information of the library, whereas employees are limited to access only particular
pages. Administrator has access over many options like adding new books, modifying
book details, sending mails to employees stating the book status. An employee can view
the all books, search for any book by giving book name or author name and view the
availability of the book, reserve for a book

Mail Service Module


An employee can send message to other employees for their id created in this
application. Employees will have an inbox for reading mails, and compose to write
messages. The employees can send mail to other ids like rediffmail, yahoo etc.

Chatting Module

7
This is to chat with other employees in the company. This will display all the
employees online in department wise.

CHAPTER 3
ANALYSIS OF THE PROBLEM

3.1 PROBLEM DEFINITION

This is an intranet application. This application is for the corporate which has a
large no of employees. Each employee creates an id for him, which is used to access the
services provided by this application such as library service, messaging service, chat etc.
Library service helps the employees to view the books, search the books and to do many
more. By providing messaging service and chat, this application makes the interaction
among the employees easier.

3.2 SYSTEM ANALYSIS


3.2.1 Existing System

Nowadays, almost all companies are providing facilities like emails for
communication within an organization. They are providing libraries, and the maintenance
of the library is done manually through an administrator. The employee has to go to the
library for getting books. If an employee gets any book from the library, the administrator
will maintain the information in the register or on a local machine with some software
package. For applying leave, employees have to apply through an application form. After
applying for leave, for getting details of leave taken, he has to contact the respective
person. The information regarding the leave is also maintained on a computer or a book.

3.2.2 Drawbacks of Existing System


This software package is a standalone application, which doesn’t provide many
facilities to the employee like viewing, searching and reserving the books. This is not
secure. This may crash due to many reasons like virus, power fluctuation and due to
many other hardware problems. So the information will be lost. If an employee applies

8
for leave, an employee needs to go for different places for access. Even for sharing any
common information among the employees, the only way for sharing information is
through chat or through mail group. So sharing information in this way is not very
interactive. It is not a web-based application.

3.2.3 Proposed System


This project is going to overcome almost all the disadvantages of the existing
system. Since it is an online-based application, all the employees can access the software
at a time. Instead of having separate software packages for each and every work
(ex.library&leave), I’m providing them together in single software. So that employees
need not go for different places for access. Instead they can access all of them from a
single system. Library access is provided in such a way that employee can search for a
book with author name, book name, publisher name, they can view all the books
available in library, and they can reserve a book. Employees can lend the book by
reserving the book in the library. The library module will automatically send a remainder
mail to the employee before the due date. This advantage makes the administrator to
work easier.
In chat and mail module, the java mail API is used for sending messages. This
API helps to design and create efficient mail sending process. Magazine service is for the
employees in which they can share general information’s. This makes the employees to
view information, provided by all the employees at a time.

9
10
3.3.2 Dataflow Diagram

Level 0: DFD for Resource Utility Support System

Figure 3.3.2.1 Resource


User User ID Utility Displays User
SupportInformation
Password System

Level 1: DFD
Employee details

Leave details

11

Library details
Employee

Employee
Administrato
r
options
Leave

User Id Leave Details Password

Validation User
Process
Librar
y

Book Details

Employee
Options Mail option
Mail

Magazine Services
General
Service

Chat Service

Chat

Figure 3.3.2.2

LEVEL 2: DFD for General Service

12
Post
Information
Employee
General Magazine
Service
Module
Read
Information

Figure 3.3.2.3

LEVEL 2: DFD for Library (Admin)

New
book
Admin
Library EditDelet
View13
Service e
book book
book
Book Details

Admin

Retur
n book

Issue
book

Book Master

Issue book
Reserve

Figure 3.3.2.4

Level 2: DFD for Library (Employee)

14
Reserve
Reserv
e book

Employee View
Library book
Service
Book Master

Search
book
Figure 3.3.2.5

Level 2: DFD for Leave Management (Employee)

View Leave Leave details


Details

Employee Employee
Leave
Option 15
Apply for
Leave Leave

Figure 3.3.2.6

Level 2: DFD for Leave (Admin)

Add Leave
Leave
Details
admin Admin
Leave
Options

View
Leave Leave
Details details

Figure 3.3.2.7

Level 2: DFD for Mail Process

Mail
Mail
Mail
Client Server
Home

Compose
16
Figure 3.3.2.8

Level 2: Chat Process

Set Message
Process Activate
User
Command User
Control
Message
Send &
Receive
Process

Message

User

Figure 3.3.2.9

CHAPTER 4
FEASIBILITY STUDY

This project is feasible and cost effective because it requires less number of man-
hours and the resources needed are very less. Another aspect is the developers as to
decide the system by keeping in mind all the functionality exist in the present and to over
come the demerits it has.

17
4.1 TECHNICAL FEASIBILITY
The most important criteria for a system is that it must be technically feasible.
The proposed new system is going to be part of a much bigger system and hence its
implementations are designed in such a way that it is going to be a faster and efficient
one. Thus the project is well within the limits of technical feasibility.

4.2 ECONOMICAL FEASIBILITY


The cost of the project is very less compared to other application projects. There
is no need for the end user to have more investment for the application. This makes the
project economically feasible.

4.3 OPERATIONAL FEASIBILITY


The client-side interface window has user-friendly interface, which makes all the
operations easy to use and no extra training is needed in this regard. Since the user will be
dealing only with the client-side, the user doesn’t need to learn extra things and thus lot
of time is saved.

4.4 JUSTIFICATION
The problem can only be solved if it can be broken down into smaller problems of
lower complexity for easy analysis. We must also identify the areas where
computerization can be used and where computers cannot be used. Unless we are clear on
that a lot of time may be wasted in developing solutions where none exists. There are
many distinct areas in the problem where a computerized solution can be used. But
before we can do this we must exhaust all possible alternatives available as a solution to
this problem and decide which will be the best course of action in this particular case.
This is a crucial step in the analysis of the problem as the more alternatives are analyzed
the more insight we get about the problem at hand.

18
Any solution to be effective must be justified before it can be implemented
otherwise time and effort will be wasted in the development. To avoid such wastage the
solution proposed must be justified beforehand and the feasibility must be analyzed and
the objectives must be set. Feasibility analysis is indispensable for any project and if it is
not handled properly will lead to huge waste of resources, effort and labor. The above
mentioned three types of feasibilities are the main types of feasibilities that must be
addressed in a project and each of them was discussed in brief.

CHAPTER 5
REQUIREMENT SPECIFICATION

5.1 HARDWARE REQUIREMENT

SERVER

 Pentium III @ 750 MHz

19
 64 MB RAM

 10 GB HARD DISK

 20x CD ROM

 1.44MB FLOPPY DISK

 14’’ COLOR Monitor

 103 KEYS KEYBOARD

 2 BUTTON MOUSE

CLIENT

 Pentium III @ 750 MHz

 64 MB RAM

 10 GB HARD DISK

 14’’ COLOR Monitor

 103 KEYS KEYBOARD

 2 BUTTON MOUSE

5.2 SOFTWARE REQUIREMENTS

WINDOWS 2000 OPERATING SYSTEM

LANGUAGE
• JAVA DEVELOPMENT KIT

• Textpad Editor Tools

20
• FrontPage Html Editor

• Servlets, JSP Server-side Program

• Tomcat 4.0.1 Web Server

• Sun.Jdbc.OdbcDriver JDBC Driver

• SQLServer Database

5.3 Advantages of the Software Used

J2EE Architecture
The Java2 Enterprises Edition platform uses a multitiered distributed application
model for enterprise applications. Application logic is divided into components according
to function and the various application components that make up a J2EE application are
installed on different machines depending on the tier in the multitiered J2EE environment
to which the application component belongs. The following list describes the J2EE tiers.
• Client-tier components run on the client machine.
• Web-tier components run on the J2EE server.
• Business-tier components run on the J2EE server.
• Enterprise information system (EIS)-tier software runs on the EIS server.
Although a J2EE application can consist of three or four tiers, J2EE multitiered
applications are generally considered to be three-tiered applications because they are
distributed over different locations: client machines, J2EE server machine, and the
database or legacy machines at the backend. Three-tiered applications that run in this way
extend the standard two-tiered client and server model by placing a multithreaded
application server between the client application and back-end storage. The J2EE server
used in this online applications is Apache Tomcat 4.0.1.

Servlets
Servlet is a generic server extension - a java class that can be loaded dynamically
to expand the functionality of a server. Servlets are commonly used with Web servers,
where they can take the place of CGI scripts.

21
A Servlet is similar to a proprietary server extension, except that it runs inside a
Java Virtual Machine on the server, so it is safe and portable. Servlets operate solely
within the domain of the server. Not like applets, they do not require support for Java in
the web browser.

Unlike CGI and Fast CGI, which use multiple processes to handle separate
programs and separate requests, Servlets are all handled by separate threads within the
web server process. This means that Servlets are also efficient and scalable. Because
Servlets run within the web server, they can interact very closely with the server to do
things that are not possible with CGI scripts.

Another advantage of Servlets is that they are portable: both across operating
systems as we are used to doing with Java and also across web servers. Almost all of the
major web servers support Servlets. It is believed that Java Servlets offer the best
possible platform for web application development.

Although Servlets are most commonly used as a replacement for CGI scripts on a
Web server, they can extend any sort of server. Imagine, for example, a Java-based FTP
server that handles each command with a separate Servlet. New commands can be added
by simply plugging in new Servlets. Or, imagine a mail server that allows Servlets to
extend its functionality, perhaps by performing a virus scan on all attached documents or
handling mail filtering tasks.

Like Java, Servlets were designed for portability. Servlets are supported on all
platforms that support Java, and Servlets work with all the Web servers. Java Servlets, as
defined by the Java Software division of Sun Microsystems, are the first standard
extension to Java. This means that Servlets are officially blessed by sun and are part of
the Java language, but they are not part of the core Java API. Therefore, although they
may work with any Java Virtual Machine (JVM), Servlet classes need not be bundled
with all JVMs.

22
Java Server Pages (JSP)
JavaServer Pages (JSP) is a Sun Microsystems specification for combining Java
with HTML to provide dynamic content for Web pages. When you create dynamic
content, JSPs are more convenient to write than HTTP Servlets because they allow you to
embed Java code directly into your HTML pages, in contrast with HTTP Servlets, in
which you embed HTML inside Java code. JSP is a part of Java 2 Enterprise Edition
(J2EE).

JSP enables you to separate the dynamic content of a web page from its
presentation. It caters to two different types of developers, HTML developers, who are
responsible for the graphical design of the page, and Java developers, who handle the
development of software to create dynamic content. Because JSP is a part of J2EE
standard, you can deploy JSPs on a variety of platforms. In addition, third-party vendors
and application developers can provide JavaBean components and define custom JSP
tags that can be referenced from a JSP page to provide dynamic content.

JDBC
JDBC is a Java API for executing SQL statements. The API consists of a set of
classes and interfaces written in Java programming language. JDBC provides a standard
API for tool/database developers and makes it possible to write database applications
using a pure Java API. JDBC is a low-level interface, which means that it is used to
invoke (or call) SQL commands directly. In addition, JDBC is a base upon which higher-
level interfaces and tools such as JMS and EJB are built. The JDBC driver used in this
application is JdbcOdbcDriver.

SQL Server
SQL Server or Sequel Server is a database system developed by Microsoft that
can be used to provide extensive database facilities on a web site. Typical uses would be
an online catalogue of goods for sale that the customer can browse and select items to

23
purchase. Or an online booking system for holidays or flights or theatres where you can
interrogate availability of a service online and makes a reservation from your browser.

Such systems generally require considerable investment in terms of hardware,


software licenses and technical resources. Whereas a smaller database system using MS-
Access for example can reside on a Windows web server alongside the user's main web
site, SQL Server databases have to reside on a specific SQL Server, separate from the rest
of the site. This can mean a cost of many thousands of pounds per year just in hosting
costs. That's fine if you are a major store or airline or holiday company where the online
business can be worth hundreds of thousands of pounds or more. But for the smaller user
the cost can be prohibitive. For that there are two answers for the small to medium user.
Either use a different database such as MS-Access, which will run on shared Windows
2000 hosting, or MySQL, which runs on Linux or Unix hosting. Or use shared SQL
Server hosting where you take a part of one of our SQL servers for as little as £120 per
annum.

Aspects of Database Management

 Database space, for data and indexes


 Database backups and recoveries
 Performance tuning of the database engine and assisting developers in tuning their
code
 Database security
 Network connectivity

Tomcat server

The Tomcat server is a Java-based web application container that supports


the Servlet and JSP (Java Server Pages) specifications. It has grown into one of the

24
industry-accepted standards for implementing Servlet and JSP APIs within web
applications

Tomcat is the servlet container that is used in the official Reference and
Implementation for the Java Servlet and Java Server Pages technologies. The Java Servlet
and Java Server Pages specifications are developed by Sun under the Java Community
Process.

CHAPTER 6
DESIGN AND IMPLEMENTATION

6.1 MODULAR DESIGN

25
The concept of modularity in computer software has been espoused for almost
five decades. Software architecture embodies modularity; that is, software is divided into
separately named and addressable components, often called modules that are integrated to
satisfy problem requirements.

“Modularity” is the single attribute of software that allows a program to be


intellectually manageable. Meyer defines five criteria that enable us to evaluate a design
method with respect to its ability as an effective modular system:

• Modular decomposability- If a design method provides a systematic mechanism


for decomposing the problem into sub problems, it will reduce the complexity of
overall problem, thereby achieving an effective modular solution.
• Modular composability- If a design method enables existing design component
to be assembled into new system, it will yield a modular solution that does not
reinvent the wheel.
• Modular understandability- If a module can be understood as a stand alone unit,
it will be easier to built and to change.
• Modular continuity- If a small change is made the system requirements results in
changes to individual modules, rather than system wide changes, the impact of
change-induced side effects will be minimized.
• Modular protection- If an aberrant condition occurs within a module and its
effects are constrained within module, the impact of error-induced side effects
will be minimized.

6.2 INTERFACE DESIGN

The interface design describes how the software communicates within itself, with
systems that interoperate with it, and with humans who use it. An interface implies a flow
of information required for interface design.

26
• Interface design models:
Four different models come into play when a user interface is to be designed. The
software engineer creates a design model, a human engineer establishes a user model,
the end-user develops a mental image that often creates system image. Unfortunately,
each of these models may differ significantly. The role of interface designer is to
reconcile these differences and derive a consistent representation of the interface.

A design model of the entire system incorporates data, architectural interface and
procedural representation of the software. The requirements specification may
establish certain constraint that help to define the user of the system, but the interface
design is often only incidental to the design model. The user interface design process
encompasses four distinct framework activities

• User, task and environment analysis and modeling


• Interface design
• Interface construction
• Interface validation

6.3 FUNCTIONAL INDEPENDENCE

The concept of functional independence is the direct outgrowth of modular design


and the concepts of abstraction and information hiding. Functional independence is
achieved by developing models with “single minded” function and an aversion excessive
interaction with other modules. Since the functional independence may be
compartmentalized the interface are simplified. Error propagation may be reduced,
independent modules are easier to maintain because secondary effects caused are very
limited and reusable modules are possible. Functional independence is a key to a good
design and design is the key to software quality.

27
6.4 COHESION

Cohesion is a natural extension of the information-hiding concept


described. A cohesive module performs a single task within the
software procedure, requiring little interaction with procedure being
performed in the other parts of a program. It is important to strive for
high cohesion and recognize low cohesion so that software design can
be modified to achieve greater functional independence. With regard
to the project all the functions are independent and does not relay on
any other function for performing an operation.

6.3 TABLE DESIGN

Employee Entry Table

Name Data type Size Description


Empid Int 4 Not Null
Name Char 20 Not Null
Gender Char 10 Not Null
Date of birth Date 10 Not Null
Father name Char 20 Not Null
Address Varchar 50 Not Null
Phone Numeric 9 Not Null
Email Varchar 50 Not Null
Department Varchar 50 Not Null
Designation Varchar 50 Not Null
Date of joining Date 10 Not Null
User id Varchar 20 Primary Key
Password Varchar 20 Not Null
Hint question Varchar 50 Not Null
Answer Varchar 50 Not Null

Book Details table

Name Data type Size Constraint


Book id Varchar 10 Primary Key
Book name Varchar 50 Not Null

28
Author name Varchar 50 Not Null
Publisher name Varchar 50 Not Null
Price Float 8 Not Null

Book Master table

Name Data type Size Constraint


Book id Varchar 50 Primary Key
Book name Varchar 50 Not Null

Issue book details table

Name Data type Size Constraint


Book id Varchar 50 Primary Key
Emp id Varchar 50 Foreign Key
Issue date Date 10 Not Null
Return date Date 10 Not Null

Reserve book details table

Name Data type Size Constraint


Bookid Varchar 50 Primary Key
Book name Varchar 50 Not Null
Empid Varchar 50 Foreign Key
Reserve date Varchar 50 Not Null

Leave table

Name Data type Size Constraint


Emp id Varchar 50 Primary Key
CL Int 4 Not Null
PL Int 4 Not Null
SL Int 4 Not Null

Leave Details Table

Name Data type Size Constraint


Emp id Varchar 50 Primary Key
From date Date 10 Not Null

29
To date Date 10 Not Null
Particulars Varchar 50 Not Null
Type of leave Varchar 10 Not Null
No of days Int 4 Not Null

6.4 INPUT & OUTPUT DESIGN

Input Design

Input Design is the process of converting the user-oriented inputs to a computer-

based format. The design decisions for handling input specify how data are accepted for

computer processing. Input design is part of overall system design that needs careful

attention and it includes specifying the means by which actions is to be taken. The

collection of input data is regarded to be the most expensive part of the overall system

design. Since the inputs have to be planned in such a manner so as to get the relevant

information, extreme care is taken to obtain the pertinent information .if the data fed into

the system in incorrect, then processing as well as the outputs will magnify these errors.

With regard to the Remote Server Access the input design is the

preparation of the question that the user has to under take.

Output Design

Output design refers to the results and information that are generated by the

system. Output is one of the main reason for developing the system and it is on the basis

of the outputs generated that the usefulness of the proposed system is evaluated. The

significant points that have to be considered for the output design are as follows:

a Determine what information to present

30
b Decide whether to display, print, or voice the information and
select the

medium of output.

c Arrange the presentation of information in an acceptable

format.

d Decide how to distribute the output

With regard to the remote server access the output design is,

that the user can check after answering each question, whether the

answer he gave was right or wrong along with the score. The total

score is also displayed at the end of that particular session.

6.5 IMPLEMENTATION

Implementation of the system means the process of converting a new or revised


system design into an operational area. The phase includes all the activities involved in
between this activity.

The implementation phase involves the following tasks such as:

• Planning of the activities of change over.


• Backing up all the data during the change over phase.
• Training the user who are directly connected with the system.

The implementation can be done in any of the three ways

• The existing system can be totally replaced by the new one. In this case there is a
lot of risk involved in this approach. The system cannot be trusted as it is, errors

31
are bound to come and they must be corrected. If large amount of errors come up
this will result in loss of data. Therefore data must be backed up as they are
entered.

• The newly designed system and the old system can be made work together by
using some of the new modules of the old system and some of the modules of the
existing system. This will create a sort of lack of interest on the part of the user, as
comparisons are made with the old system.

• The third way is to run both the systems, the newly designed system and the
existing system, paralleling this will be the best method as the chance of data loss
will not occur because the backup system is also running. But the cost of this kind
of implementation is much more than that of the other two methods.

32
CHAPTER 7
TESTING

7.1 PREPARATION OF TEST DATA

There are four different types of test plan. The test plan is the essential link
in dynamic testing. It links the specification to the item to be tested. It should include a
complete description of the strategy for testing, plus test scripts and expected results. On
the organizational side, it should also describe the organization of the testing team,
schedules for testing and the liaison between the team developing the software and the
testing team. Teat plans need not be produced sequentially in the lifecycle. However, a
test plan clearly cannot be produced before the specification on which it is based, yet it
must be ready in time for the dynamic tests.

Black-Box And White-Box Testing

Dynamic testing can be based on two different aspects of the design


process. If the objective is to check whether the requirements for an object have been
met, then it is called black box testing. The object is treated like a black box in that inputs
are pushed into it and its outputs checked against what was expected; the requirements
are used as the basis for deriving the input test cases. If the testing is based on the
detailed inner workings of the item, then it is white-box testing the contents of the box
are inspected to see how they fit together and tests are devised on the basis of that
structure.

A high qualify software product satisfies user need, confirms to its requirements
and design specifications, and exhibits and absence of errors. Techniques for
assessing and improving software quality include systematic quality assurance
procedures, walkthroughs, inspections, static analysis, symbolic execution,
debugging and unit testing, integration testing, acceptance testing and formal

33
verifications. Each technique has its strengths and weakness, and no technique is
sufficient by itself.

The primary goal of verification and validation are to assess and improve the
quality of the various work products generated during software attention to the
details of systematic planning, analysis, design and implementation. It is incorrect to
view source-code testing as the primary vehicle for quality improvement. High
quality cannot be tested into an ill-conceived and badly implemented system.
Although testing is an important technique, assessing and improving product quality
is pervasive life-cycle concept, not merely an activity to be performed following
system implementation.

Test Plan Should Provide The Following Information

• Types of test
• Machine configuration
• Test assumptions
• Requirements being tested
• Exact test stimuli
• Expected outcome

Sufficient time for testing must be allotted in the project schedule. The time
spent in testing errors is amply repaid by numerous benefits. Errors are caught at the
earliest possible time, when they are easiest and least expensive to fix project team
communication is improved.
Four views of Testing are,
 Management’s view
 User’s view
 Designer’s view
 Programmer’s view

34
It is important to realize that these are only different ways of viewing the same
process. In most cases, there is significant overlap between view points. In many projects,
programmer is required to take on one or more of those roles while in case of small
projects, one person may take on all four roles

Unit Testing

Unit testing comprises the set of tests performed by an individual programmer


prior to integration of the unit into a larger system.
It is illustrated as,
Code and Debugging Unit testing Integration

A program unit is usually small enough that the programmer who developed it can
test it in great detail and certainly this will is possible when the unit is integrated into an
evolving software product. There are four categories of test that a programmer will
typically perform on a program unit.
 Functional tests
 Performance tests
 Stress tests
 Structure tests

FUNCTIONAL TESTS
Functional test cases involve exercising the code with the nominal input values for
which the expected results are known, as well as boundary values and special values such
as logically related inputs, files of identical elements and empty files.
Performance Test
Performance testing determines the amount of execution time spent in various parts
of the unit , program throughput, response time and device utilization by the program
unit.

35
Stress Test
Stress tests are those designed to intentionally break the unit. A great deal can be
learned about the strength and limitations of a program by examining the manner in
which a program unit breaks.

Structure Test
Structure tests are concerned with exercising the internal logic of a program and
traversing particular execution paths. Program errors can be classified as missing path
errors, computational errors and domain errors.

Volume Test
Volume tests submit the system to large volumes of data. For instance, a large
source file with a large number of identifiers for a compiler, a large and complex network
for a system and large edit for an editor.
Help information test must be sufficient to enable a user to use the system. The
system specification would ideally have quantified how easy it should be for such a user.
Tests must be devised to generate help information, which must then be evaluated for the
appropriate level of detail and presentation. The user guide must be searched for areas
that ought to have help information but where none is available or where help exists but
is not documented.
Limit test at least one test should be developed for each of the documented system
limits. Such tests are designed to investigate how the system reacts to data, which is
maximum or minimum in the sense of attaining some line specified either in the system
specification or in the user guide.

Error Messages
Error exit test at least one test case should be developed to test each system error
message and the satisfactory error exit of the system upon an error even. For instance, a
system should perform a tidy exit, leaving the world in some definite and acceptable
state. A good system specification will have detailed what form this graceful failure will
take, particularly in cases where system safety is an issue.

36
Errors occur when any aspect of a software product is incomplete, inconsistent or
incorrect.
Three major categories of software errors are,
• Requirement errors
• Design errors
• Implementation errors
Requirement errors are caused by incorrect statement of user needs, by failure to
completely specify functional and performance requirements, by inconsistencies among
the requirements, and by infeasible requirements.
Design errors are introduced by failure to translate the requirements into correct
and complete solution structures, by inconsistencies within the design specifications and
the requirements.
A requirements error or a design error that is not discovered until the source code
testing can be very costly to correct. It is thus important that the quality of requirements
and design documents be assessed early and often.
Implementation errors are the errors made in translating design specification into the
source code. Implementation errors can occur in data declarations, in data referencing, in
control flow logic, in computational expressions, in subprogram interfaces, and in
input/output operations.
The best way to minimize the number of errors in a program is to catch and
remove the errors during analysis and design, so that few errors are introduced into the
source code. Source code testing is an important technique for assessing quality.
A typical approach to structure testing is to augment the functional, performance, and
stress tests with additional test cases to achieve the desired level of test coverage.

7.2 Test results

Under the system test many conditions were checked. It was


checked whether the application would work when installed on a
server and accessed by all the clients.The result is that it worked and
all the clients were able to access the application.

37
7.3 SCREEN SHOTS

Login Form

Figure 7.3.1

38
Admin Home Page Form

Figure 7.3.2

39
New Employee Entry Form

Figure 7.3.3

40
Admin Leave Management Form

Figure 7.3.4

41
Admin Leave Form

Figure 7.3.5

42
Admin Leave Details Form

Figure 7.3.6

43
New Book Entry Form

Figure 7.3.7

44
View Book Form

Figure 7.3.8

45
Edit Book Form

Figure 7.3.9

46
Delete Book Form

Figure 7.3.10

47

Anda mungkin juga menyukai