Upload
amanraj010
View
240
Download
0
Embed Size (px)
Citation preview
8/12/2019 Final Documentation.docx
1/46
1
CHAPTER-1
1. Introduction
The Personal Organizer will synchronize the information between the executives
laptop and the office net data store. The Personal Organizer application should be
present in both the locations vise, Office net and the executives laptop. These both will
do the talking about the synchronization task.
1.1PurposeThe objective of Personal Organizer is to provide information to office through the
internet. The executive on the move can connect via net to get the contact information.
1.1.1 Advantages
The new system should be cost effective. To augment management, improve productivity and services. To enhance user / system interface. To improve information quality and usability. To upgrade systems reliability, availability, flexibility and growth potential.
1.2 Scope
1.2.1 Existing System with Limitations:
Scheduling is a process, which is exercised in a firm or any organization for
assigning task to the moving executives of any level of hierarchy. This process includes
the appointments of executives either official or personal. For fixing an appointment for
a particular executive it should be known whether that related employee is free at that
time or not, to do so the related executive should be in Interaction or he should be met
through other sources. Thus a lot of time needs to be spent. And after that the related
executive should be told that the time is fixed. So for this alone a lot of time is spent and
wasted. This scene is for only fixing of appointments. What about the process when the
8/12/2019 Final Documentation.docx
2/46
2
schedule is postponed or cancelled? To do this task again the whole cycle is to be
followed resulting in again waste of time.
1.2.2 Proposed System Features:
The system, which was developed now, makes this process of scheduling much
easier and computerized. By this system the manager or top level designated employee
can fix the schedule of the executive working under him, he even can check whether the
executive is free in the particular time or in other times. Thus the top level management
can easily schedule the tasks and even can change the appointment which is reflected
immediately to the related employee avoiding direct Interaction of the employee
resulting in saving lot of time and work overhead.
The executives access this information by their laptops from their
locations to do the specific task.
8/12/2019 Final Documentation.docx
3/46
3
CHAPTER-2
2. Requirement Specification
Requirement analysis for web applications encompasses three major tasks:
formulation, requirements gathering and analysis modeling. During formulation, the
basic motivation and goals for the web application are identified, and the categories of
users are defined. In the requirements gathering phase, the content and functional
requirements are listed and interaction scenarios written from end-users point-of-view
are developed. This intent is to establish a basic understanding of why the web
application is built, who will use it, and what problems it will solve for its users.
2.1 Software requirement Specification
A set of programs associated with the operation of a computer is called software.
Software is the part of the computer system, which enables the user to interact with
several physical hardware devices.
The minimum software requirement specifications for developing this project are as
follows:
Operating System : Window 2000, XP
Presentation layer : Java, Servlets, JSP
Database : My SQL
Database layer : jdbc
Documentation Tool : Ms Office
2.2 Hardware Requirement Specification
The collection of internal electronic circuits and external physical devices used in
building a computer is called the Hardware. The minimum hardware requirement
specifications for developing this project are as follows:
8/12/2019 Final Documentation.docx
4/46
4
Processor : Standard processor with a speed of 1.6 GHz
RAM : 256 MB RAM or more
Hard Disk : 20 GB or more
Monitor : Standard color monitor
Keyboard : Standard keyboard
Mouse : Standard mouse
8/12/2019 Final Documentation.docx
5/46
5
CHAPTER-3
3. Technologies Used
3.1. Java Server Pages
JSP not only enjoys cross-platform and cross-Web-server support, but effectively
melds the power of server-side Java technology with features of static HTML pages.
JSP pages typically comprise of: Static HTML / XML components.
Special JSP tags. Optionally, snippets of code written in the java programming language called script
lets.
JSP Advantages
Separation of static from dynamic contentIn JSP, the logic to generate the dynamic content is kept separate from the static
presentation templates by encapsulating it within external Java beans components.
When a page designer makes any changes to the presentation template, the JSP page is
automatically recompiled and reloaded into the web server by the JSP engine.
Write Once Run AnywhereJSP technology brings the Write Once, Run anywhere paradigm to interactive
Web pages.
Dynamic content can be served in a variety of formatsThere is nothing that mandates the static template data within a JSP page to be of a
certain format.
JSP Architecture
The purpose of JSP is to provide a declarative, presentation-centric method of
developing servlets. JSP pages are subject to a translation phase and a request-
processing phase. The translation phase is carried phase is carried out only once, unless
the JSP page changes, in which case it is repeated. The JSP engine itself typically
8/12/2019 Final Documentation.docx
6/46
6
carries out the translation phase, when it receives a request for the JSP page for the first
time.
Life Cycle of A JSPLife cycle of a JSP consists of the following three methods:
_jspInit
_jspService
_jspDestroy
JSP Syntax
DirectivesJSPs can define information for the container with directives. Here is what
directives look like in a general form:
There are three directives:
specifies information that affects the page
includes a file at the location of the include directive(parsed)
allows the use of custom tags in the pagewill always be the first line of every JSP file.
DeclarationsDeclarations are used to specify supplemental methods and variables. You can
think of these are the page's private functions; they can only be called by the JSP where
they are defined, or by another JSP that includes it (using the
directive).
Here is a sample declaration:
0 );
}%>
8/12/2019 Final Documentation.docx
7/46
7
ScriptletsScriptlets are bits of Java code. They can do anything but they will most likely
concentrate on generating HTML code or setting up variables to be part of later
expressions.
ExpressionsExpressions are special-purpose mini-Scriptlets used for evaluating expressions.
This could be something as simple as outputting the value of a variable, or a more
complicated Java expression, like calling a function and outputting the result. Note that counter is defined as an int, but we do not need to
explicitly convert it to a string.
3.2 Servlets
A servlet is a java programming language class that is used to extend the
capabilities of servers that host applications access via a request-response programming
mode. Servlets are Java technologys answer to Common Gateway Interface (CGI)
Programming. They are programs that run on a Web server, acting as middle layer
between request coming from a Web browser or other HTTP client and databases ofapplications on the HTTP server.
Read any data sent by the userThis data usually entered in a form on a Web page, but could also come from a
java applet or a custom HTTP client program.
Look up any other information about the request that is embedded in theHTTP request
This information includes details about browser capabilities, cookies, the host name
of the requesting client, and so froth.
Generate the resultsThis process may require talking to a database, executing an RMI or CORBA call,
invoking a legacy application, or computing the response directly.
8/12/2019 Final Documentation.docx
8/46
8
Format the results inside a documentIn most cases, this involves embedding the information inside an HTML page.
Set the appropriate HTTP response parametersThis means telling the browser what type of document is being returned
(e.g.HTML), setting cookies and caching parameters, and other such tasks.
Send the document back to the clientThis document may be sent in text format (HTML), binary format (GIF images), or
even in a compressed format like gzip that is layered on top of some other underlying
format.
The Javax.servlet and javax.servlet.http packages provide interfaces and classes for
writing servlets. All servlets must implement the Servlet interface, which defines life-
cycle methods. When implementing a generic service, you can use or extend the
GenericServlet class provided with the java Servlet API. The HttpServlet classes
provide methods, such as doGet and do Post, for handling HTTP-specific services.
To be a servlet, a class should extend HTTPServlet and override doGet or do
Post(or both), depending on whether the data is being sent by GETor by POST. These
methods take two arguments: An HttpServletRequest and an HttpServletResponse.The
HttpServletRequest have methods that let you find out about incoming
information such as FORM data, HTTP request headers, and the like. Finally, note that
doGet and do Post are called by the servicemethod, and sometimes you may
want to override servicedirectly.
Servlet Life Cycle
The life cycle of a servlet is controlled by the container in which the servlet has
been deployed. When a request is mapped to a servlet, the container performs the
following steps.
1. If an instance of the servlet does not exist, the Web container:
Loads the servlet class. Creates an instance of the Servlet class. Initializes the servlet instance by calling the init method.
8/12/2019 Final Documentation.docx
9/46
9
2. Invokes the service method, passing request and response objects.
If the container needs to remove the servlet, it finalizes the servlet by calling theservlets destroy method.
Cookies
Cookies are small bits of textual information that a Web server sends to a browser
and that the browser returns unchanged when visiting the same Web site or domain later
Browsers generally only accept 20 cookies per site and 300 cookies total, and each
cookie is limited to 4KB, cookies cannot be used to fill up someone's disk or launch
other denial of service attacks.
The Servlet Cookie API
To send cookies to the client, a servlet would create one or more cookies with the
appropriate names and values via new Cookie (name, value), set any desired
optional attributes via cookie.setXxx,and add the cookies to the response headers
via response.addCookie(cookie).To read incoming cookies, call
request.getCookies(), which returns an array of Cookieobjects.
Session ManagementMany applications require that a series of requests from a client be associated with
one another. Sessions are represented by an Http Session object. A session cab be
accessed by calling the get Session () method of a request object. This method returns
the current session associated with this request, or, if the request does not have a
session, it creates one. The timeout period can be accessed by using a sessions [get \set]
Max Inactive Interval methods.
Session Tracking
A Web container can use several methods to associate a session with a user, all of
which involve passing an identifier between the client and the server. The identifier can
be maintained on the client as a cookie, or the Web component can include the identifier
in every URL that is returned to the client.
8/12/2019 Final Documentation.docx
10/46
10
In fact, on many servers, they use cookies if the browser supports them, but
automatically revert to URL-rewriting when cookies are unsupported or explicitly
disabled.
The Session Tracking API
Using sessions in servlets is quite straightforward, and involves looking up the
session object associated with the current request, creating a new session object when
necessary, looking up information associated with a session, storing information in a
session, and discarding completed or abandoned sessions.
3.3 MySQL
We started out with the intention of using the mSQLdatabase system to connect to
our tables using our own fast low-level (ISAM) routines.This resulted in a new SQL
interface to our database but with almost the same API interface as mSQL.
The following list describes some of the important characteristics of the MySQL
Database Software. See also Section 1.6, MySQL Development Roadmap, for moreinformation about current and upcoming features.
Internals and Portability
Written in C and C++. Tested with a broad range of different compilers. Works on many different platforms. Uses GNU Automake, Autoconf, and Libtool for portability. APIs for C, C++, Eiffel, Java, Perl, PHP, Python, Ruby, and Tcl are available.Data Types
Many data types: signed/unsigned integers 1, 2, 3, 4, and 8 bytes long, FLOAT,DOUBLE, CHAR, VARCHAR, TEXT, BLOB, DATE, TIME, DATETIME,
TIMESTAMP, YEAR, SET, ENUM, and OpenGIS spatial types.
Fixed-length and variable-length records.
8/12/2019 Final Documentation.docx
11/46
11
Statements and Functions
Full operator and function support in the SELECTand WHEREclauses of queries. For
example:
mysql> SELECT CONCAT(first_name, ' ', last_name) FROM citizen
Security
A privilege and password system that is very flexible and secure, and that allows
host-based verification. Passwords are secure because all password traffic is encrypted
when you connect to a server.
Scalability and Limits
Handles large databases. We use MySQL Server with databases that contain 50
million records. We also know of users who use MySQL Server with 60,000 tables and
about 5,000,000,000 rows.
Connectivity
Clients can connect to the MySQL server using TCP/IP sockets on any platform.
On Windows systems in the NT family (NT, 2000, XP, or 2003), clients can connect
using named pipes. On Unix systems, clients can connect using Unix domain socket
files.
In MySQL 4.1 and higher, Windows servers also support shared-memory
connections if started with the --shared-memory option. Clients can connect
through shared memory by using the --protocol=memoryoption.
Localization
The server can provide error messages to clients in many languages. See
Section 5.11.2, Setting the Error Message Language.
Full support for several different character sets, including latin1 (cp1252),
german, big5, ujis, and more. For example, the Scandinavian characters ,
and are allowed in table and column names. Unicode support is available as of
MySQL 4.1.
8/12/2019 Final Documentation.docx
12/46
12
Clients and Tools
MySQL Server has built-in support for SQL statements to check, optimize, and
repair tables. These statements are available from the command line through the
mysqlcheck client. MySQL also includes myisamchk, a very fast command-line utility
for performing these operations on MyISAM tables. See Chapter 5, Database
Administration.
All MySQL programs can be invoked with the --help or -? options to obtain
online assistance.
MySQL Stability
This section addresses the questions, How stable is MySQL Server? and, Can I
depend on MySQL Server in this project?.The information in this section is based on
data gathered from the mailing lists, which are very active in identifying problems as
well as reporting types of use.
Each release of the MySQL Server has been usable. Problems have occurred only
when users try code from the gray zones. The descriptions mostly deal with Versions
3.23 and later of MySQL Server.
The MySQL Server design is multi-layered with independent modules. Some of the
newer modules are listed here with an indication of how well-tested each of them is:
Replication (Stable)Large groups of servers using replication are in production use, with good results
work on enhanced replication feature is continuing
Inno DB tables (Stable)The inno DB transactional storage engine has been stable since version 3.23.49.
Inno DB is being using in large, heavy-load production systems.
BDB Tables (Stable)The Berkerly DB code is very stable, but we are still improving the BDB
transactional storage engine interface in My SQL Server.
8/12/2019 Final Documentation.docx
13/46
13
Full text searches (Stable)Full-text searching is widely used. Important feature enhancements were added in
MySQL 4.0 and 4.1.
MyODBC3.51 (Stable)
MyODBC 3.51 uses ODBC SDK 3.51 and is in wide production use. Some issues
brought up appear to be application-related and independent of the ODBC driver or
underlying database server.
The InnoDB storage engine maintains InnoDB tables within a tablespace that can be
created from several files. This allows a table to exceed the maximum individual filesize. The tablespace can include raw disk partitions, which allows extremely large
tables. The maximum tablespace size is 64TB.
The following table lists some examples of operating system file-size limits. This is
only a rough guide and is not intended to be definitive. For the most up-to-date
information, be sure to check the documentation specific to your operating system.
3.4 Tomcat
Apache Tomcat is the servlet container that is used in the official Reference
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.
Tomcat 5 implements the Servlet 2.4 and Java Server Pages 2.0 specifications and
includes many additional features that make it a useful platform for developing and
deploying web applications and web services.
Directories and files:Directories and Files
$CATALINA_HOME represents the root of your Tomcat installation. When we
say, "This information can be found in your $CATALINA_HOME/README.txt file"
we mean to look at the README.txt file at the root of your Tomcat install.
8/12/2019 Final Documentation.docx
14/46
14
These are some of the key tomcat directories, all relative to $CATALINA_HOME:
/bin - Startup, shutdown, and other scripts. The *.sh files (for Unix systems) arefunctional duplicates of the *.bat files (for Windows systems). Since the Win32
command-line lacks certain functionality, there are some additional files in here.
/conf - Configuration files and related DTDs. The most important file in here isserver.xml. It is the main configuration file for the container.
/logs- Log files are here by default. /webapps- This is where your webapps go.
8/12/2019 Final Documentation.docx
15/46
15
CHAPTER-4
4. Behavioral Description
4.1 Data Flow Diagrams
There are 2 types of Dfds they are
1. Context Level DFD2. Top Level DFDContext Level DFD
In the Context Level the whole system is shown as a single process.
No data stores are shown. Inputs to the overall system are shown together with data sources (as External
entities).
Outputs from the overall system are shown together with their destinations (asExternal entities).
Fig. 4.1 Context Level DFD
Top Level DFD
The Top Level DFD gives the overview of the whole system identifying the major
system processes and data flow. This level focuses on the single process that is drawn in
the context diagram by Zooming in on its contents and illustrates what it does in more
detail.
8/12/2019 Final Documentation.docx
16/46
8/12/2019 Final Documentation.docx
17/46
17
4.2 Use Case Documentation
Use Case Diagram
A use case diagram is a diagram that shows a set of use cases and actors andrelationships.
Contents
Use case commonly containUse casesActorsDependency, generalization and association relationships
Overall Use Case
Fig. 4.3 Overall Use case Diagram
validation
Contacts
Attendee
Meetings
Executive
executive Administrator
Login
8/12/2019 Final Documentation.docx
18/46
18
Administrator Use Case
Fig. 4.4 Administrator Use case Diagram
Validation
Meetings
Executive
contacts
attendee
Login
Administrator
Logout
8/12/2019 Final Documentation.docx
19/46
8/12/2019 Final Documentation.docx
20/46
20
4.3 Process Flow
4.3.1 Activity Diagrams
An activity diagram shows the flow from activity to activity. An activity is an ongoing non-atomic execution within a state machine.
Activities ultimately result in some action, which is made up of executable atomiccomputations that result in a change in state of the system or the return of a value.
Activity diagrams commonly contain
Activity states and action states Transitions Objects
Like all other diagrams, activity diagrams may contain notes and constrains.Login Process
Fig. 4.6 Login Activity Diagram
Providing
Services
Validation
Retry
Services
8/12/2019 Final Documentation.docx
21/46
21
Registration Process
Fig. 4.7 Registration Activity Diagram
admin validation
Invalidate
details
ProvideCredentials
Providing
Services
8/12/2019 Final Documentation.docx
22/46
22
Administrator Process
Fig. 4.8 Administrator Activity Diagram
Login
contacts
validation
Attendee Meetings Executive
Add/Update/View
Logout
8/12/2019 Final Documentation.docx
23/46
23
Executive Process
Fig. 4.9 Executive Activity Diagram
Login
validation
contacts Attendee Meetings
Add/Update/View
Logout
8/12/2019 Final Documentation.docx
24/46
24
CHAPTER-5
5.System Design
The main focus of the analysis phase of Software development is on What needs
to be done. The objects discovered during the analysis can serve as the framework or
Design. The classs attributes, methods and association identified during analysis must
be designed for implementation language. New classes must be introduced to store
intermediate results during the program execution.
Emphasis shifts from the application domain o implementation and computer such
as user interfaces or view layer and access layer. During analysis, we look at the
physical entities or business objects in the system, that is, which players and how they
cooperate to do the work of the application. These objects represent tangible elements of
the business.
During the Design phase, we elevate the model into logical entities, some of which
might relate more to the computer domain as people or employees. Here his goal is to
design the classes that we need to implement the system the difference is that, at this
level we focus on the view and access classes, such as how to maintain information or
the best way o interact with a user or present information.
Design process
During the design phase the classes identified in object-oriented analysis must be
revisited with a shift focus to their implementation. New classes or attribute and
Methods must be an added for implementation purposes and user interfaces. The object-
oriented design process consists of the following activities:
1. Apply design axioms to design classes, their attributes, methods, associations,structure and protocols Refine and complete the static UML class diagram by adding
details to the UML diagram. This step consists of following activities.
Refine attributes Design methods and protocols by utilizing a UML activity diagram to represent the
methods algorithms.
Refine associations between classes
Refine class hierarchy and design with inheritance
8/12/2019 Final Documentation.docx
25/46
25
Iterate and refine again2. Design the access layer
Create mirror classes for every business class identified and created. For example, ifthere are three business classes, create three access layer classes.
Identify access layer class relationships. Simplify classes and their relationships: The main goal here is to eliminate
redundant classes and structures.
Redundant classes: Do not keep two classes that perform similar translate resultsactivities. Simply select one and eliminate the other.
Method classes: Revisit the classes that consist of only one or two methods to see ifthey can be eliminated or combined with existing classes.
Iterate and refine again. Define the view layer classes Design the macro level user interface, identifying view layer objects. Design the micro level user interface, which includes these activities:
Design the view layer objects by applying the design axioms and corollaries. Built a prototype of the view layer interface.
Test usability and user satisfaction Iterate and refine.
3. Iterate refine the whole design process. From the class diagram, you can begin to
extrapolate which classes you will have to built and which existing classes you can
reuse. As you do this, also begin this, also begin thinking about the inheritance
structure. If you have several classes that seem relates but have specific differences.
Design also must be traceable across requirements, analysis, design from theRequirements model.
Design Axioms
Axioms are a fundamental truth that always is observed to be valid and for which
there is no counter example or exception. Such explains that axioms may be
hypothesized form a large number of observations by nothing the common phenomena
shared by all cases; they cannot be proven or derived, but they can be invalidated by
counter examples or exceptions. A theorem is a proposition that may not be self-evident
8/12/2019 Final Documentation.docx
26/46
8/12/2019 Final Documentation.docx
27/46
27
3. Large number of simple classes: Keeping the classes simple allows reusability.Large and complex classes are too specialized to be reused.
4. Strong mapping: There must be a strong association between the physical systemand logical design. During the design phase, we need to design this class, design its
methods, its association with other objects. So a strong mapping links classes should
be identified.
5. Standardization: promote standardization by designing interchangeable and reusingexisting classes or components.
6. Design with inheritance: Common behavior must be moved to super classes. Thesuper class-sub class structure must make logical sense.
Refining attributes and methods
Attributes identified in object oriented analyzed must be refined in the design phase.
In the analysis phase, the name of the attributes was sufficient. But in the design phase,
detailed information must be added to the model. The three basic types of attributes are:
1. Single valued attributes: This has only value or state.2. Multiplicity or multivalue attributes: This has a collection of many values at any
point in time.
3. Instance connection attributes: This is required to provide the mapping needed by anobject to fulfill its responsibilities.
UML attribute presentation
Visibility name: type-expression=initial-value
Visibility indicates either public visibility or protected visibility or private
visibility. The public visibility indicates that the attribute can be accessible to allclasses. The protected visibility indicates that the accessibility is given to the subclasses
and operations of the class. The private visibility indicates that the accessibility can be
given only to the operations of the class only.
Type expression is a language dependent specification of the implementation type
of an attribute. Initial value is a language dependent expression for the initial value is
optional.
8/12/2019 Final Documentation.docx
28/46
28
5.1 Sequence and Collaboration Diagrams
5.1.1 Sequence Diagram
An interaction diagram shows an interaction, consisting of a set of objects and theirrelationships, including the messages that may be dispatched among them.
A sequence diagram is an interaction diagram that emphasizes the time ordering ofmessages.
Graphically, a sequence diagram is a table that shows objects arranged along x-axisand messages, ordered in increasing time, along the y-axis.
Contents
Sequence diagrams commonly contain the following:Objects
Links
Messages
Like all other diagrams, sequence diagrams may contain notes and constrains:
Administrator Sequence
Fig. 5.1 Administrator Sequence Diagram
: AdministratorLogin contacts Executive Attendee meetings
Login Request
valid
confirmation
add contacts
view contacts
response
add executive
View Executive
response
add attendee
view attendee
response
Add meetings
view meetings
response
8/12/2019 Final Documentation.docx
29/46
29
Executive Sequence
Fig. 5.2 Executive Sequence Diagram
: executiveLogin Contacts Attendee meetings
Login Requestvalid
confirmation
Add contacts
view contacts
response
add attendee
view attendee
response
add meetings
view meetings
response
8/12/2019 Final Documentation.docx
30/46
30
5.1.2 Collaboration Diagram
Collaboration is a society of classes, interfaces, and other elements that work
together to provide some cooperative behavior thats bigger than the sum of all its parts.
Collaboration is also the specification of how an element, such as a classifier or an
operation, is realized by a set of classifiers and associations playing specific roles used
in a specific way
Contents
Collaboration diagrams commonly contain the following:
Objects
Links Messages
Like all other diagrams, sequence diagrams may contain notes and constrains.
Administrator Collaboration
Fig. 5.3 Administrator Collaboration Diagram
: Administrator
Login
contacts
Executive
At tendee
meetings
2: valid
1: Login Request
3: confirmation4: add contacts5: view contacts
6: response
7: add executive8: View E xecutive9: response
10: add attendee11: view attendee
12: response
13: Add meetings14: view meetings
15: response
8/12/2019 Final Documentation.docx
31/46
31
Executive Collaboration
Fig. 5.4 Executive Collaboration Diagram
: executive
Login
Contacts
Attendee meetings
1: Login Request
2: valid
3: confirmation4: Add contacts5: view contacts
6: response
7: add attendee8: view attendee
9: response
10: add meetings
11: view meetings
12: response
8/12/2019 Final Documentation.docx
32/46
32
5.1.3 Deployment Diagram
A deployment diagram is a diagram that shows the configuration of run time
processing nodes and the components that live on them.
Graphically, a deployment diagram is collection of vertices and arcs.
Contents
Deployment diagram commonly contain the following things:
Nodes
Dependency and association relationships
Like all other diagrams, deployment diagrams may contain notes and constraints.
Deployment diagrams may also contain components, each of which must live onsome node.
Deployment diagrams may also contain packages or subsystems, both of which are
used to group elements of your model into larger chunks.
Fig. 5.5 Deployment Diagram
USER
WebBrowser
ServletsApplic ation
Applic ation Server
J2SEServer
Database Server
MySQL Server
8/12/2019 Final Documentation.docx
33/46
33
CHAPTER-6
6. Testing
The process of executing a system with the intent of finding an error.
Testing is defined as the process in which defects are identified, isolated, subjected
for rectification and ensured that product is defect free in order to produce the
quality product and hence customer satisfaction.
Quality is defined as justification of the requirements.
Defect is nothing but deviation from the requirements.
Defect is nothing but bug.
Testing - The presence of bugs.
Testing can demonstrate the presence of bugs, but not their absence.
Debugging and Testing are not the same thing!
Testing is a systematic attempt to break a program or the AUT.
Debugging is the art or method of uncovering why the script /program did not
execute properly.
Testing Methodologies
Black box Testing is the testing process in which tester can perform testing on anapplication without having any internal structural knowledge of application.
Usually Test Engineers are involved in the black box testing.
White box Testing is the testing process in which tester can perform testing on anapplication with having internal structural knowledge.
Usually The Developers are involved in white box testing.
Gray Box Testingis the process in which the combination of black box and whitebox techniques are used.
8/12/2019 Final Documentation.docx
34/46
34
Levels of Testing
Module1 Module2 Module3
Units Units Units
i/p Integration o/p i/p I ntegration o/p
S
System Testing: Presentation + business +DatabasesUAT: user acceptance testing
Fig. 6.1 Levels of Testing
STLC (Software Testing Life Cycle)
Test Planning Test Plan is defined as a strategic document which describes the procedure how to
perform various testing on the total application in the most efficient way.
Objective of testing. Areas that need to be tested. Areas that should not be tested. Scheduling Resource Planning. Areas to be automated, various testing tools used.Test Development
Test case Development (check list). Test Procedure preparation. (Description of the test cases). Test Execution
Implementation of test cases. Observing the result.
8/12/2019 Final Documentation.docx
35/46
35
Result Analysis
Expected value: is nothing but expected behavior of application. Actual value: is nothing but actual behavior of the application.Bug Tracing
Collect all the failed cases, prepare documents.Reporting
Prepare document (status of the application)
Types of Testing
Smoke Testing is the process of initial testing in which tester looks for theavailability of all the functionality of the application in order to perform detailed
testing on them. (Main check is for available forms).
Sanity Testing is a type of testing that is conducted on an application initially tocheck for the proper behavior of an application that is to check all the functionality
are available before the detailed testing is conducted by on them.
Regression Testing is one of the best and important testing. Regression testing isthe process in which the functionality, which is already tested before, is once again
tested whenever some new change is added in order to check whether the existing
functionality remains same.
Re-Testing is the process in which testing is performed on some functionalitywhich is already tested before to make sure that the defects are reproducible and to
rule out the environments issues if at all any defects are there.
Static Testing is the testing, which is performed on an application when it is notbeen executed. ex: GUI, Document Testing.
Dynamic Testing is the testing which is performed on an application when it isbeing executed. Ex: Functional testing.
8/12/2019 Final Documentation.docx
36/46
36
Alpha Testing is a type of user acceptance testing, which is conducted on anapplication when it is just before released to the customer.
Beta-Testing is a type of UAT that is conducted on an application when it isreleased to the customer, when deployed in to the real time environment and being
accessed by the real time users.
Monkey Testing is the process in which abnormal operations, beyond capacityoperations are done on the application to check the stability of it in spite of the
users abnormal behavior.
Compatibility testingis the testing process in which usually the products are testedon the environments with different combinations of databases (application servers,
browsersetc) In order to check how far the product is compatible with all these
environments platform combination.
Installation Testing is the process of testing in which the tester try to install or tryto deploy the module into the corresponding environment by following the
guidelines produced in the deployment document and check whether the installation
is successful or not.
Adhoc Testing is the process of testing in which unlike the formal testing where intest case document is used, without that test case document testing can be done of
an application, to cover that testing of the future which are not covered in that test
case document. Also it is intended to perform GUI testing which may involve the
cosmotic issues.
TCD (Test Case Document)
Test Case Document Contains
Test Scope (or) Test objective Test Scenario Test Procedure Test case
8/12/2019 Final Documentation.docx
37/46
37
This is the sample test case document for the Acadamic details of student project:
Test scope
Test coverage is provided for the screen Acadamic status entry form of a studentmodule of university management system application
Areas of the application to be testedTest Scenario
When the office personals use this screen for the marks entry, calculate the statusdetails, saving the information on students basis and quit the form.
Test Procedure
The procedure for testing this screen is planned in such a way that the data entry,status calculation functionality, saving and quitting operations are tested in terms of
Gui testing, Positive testing, Negative testing using the corresponding Gui test
cases, Positive test cases, Negative test cases respectively
Test Cases
Template for Test Case
T.C.No Description Exp Act Result
Guidelines for Test Cases
1. GUI Test Cases Total no of features that need to be check Look & Feel Look for Default values if at all any (date & Time, if at all any require) Look for spell check
8/12/2019 Final Documentation.docx
38/46
38
Example for GUI Test cases
T.C.
No Description Expected value
Actual
value Result
1
Check for all the features in
the screen
The screen must contain
all the features
2
Check for the alignment of
the objects as per th
validations
The alignment should be
in proper way
2. Positive Test Cases The positive flow of the functionality must be considered Valid inputs must be used for testing Must have the positive perception to verify whether the requirements are
justified.
Example for Positive Test cases
T.C.
No
Description Expected value Actual
value
Result
1 Check for the date Time
Auto Display
The date and time of th
system must be displayed
2 Enter the valid Roll no into th
student roll no field
It should accept
3. Negative Test Cases Must have negative perception. Invalid inputs must be used for test.
8/12/2019 Final Documentation.docx
39/46
39
Example for Negative Test cases
T.C.
No
Description Expected value Actual
value
Result
1 Try to modify the information i
date and time
Modification should not
be allow
2 Enter invalid data in to th
student details form, click on
Save
It should not accept invali
data, save should not allo
8/12/2019 Final Documentation.docx
40/46
40
7. Output Screens
7.1 Login Page for Admin and Executive
7.2 Admin Homepage
8/12/2019 Final Documentation.docx
41/46
41
7.3 Add Contacts
7.4 Add Meeting Entry
8/12/2019 Final Documentation.docx
42/46
8/12/2019 Final Documentation.docx
43/46
43
7.7 View Contacts
7.8 View Meeting Details
8/12/2019 Final Documentation.docx
44/46
44
7.9View Executive Details
7.10 View Attendee Details
8/12/2019 Final Documentation.docx
45/46
45
8. Conclusion
The project has been appreciated by all the users in the organization. It is easy to use, since it uses the GUIprovided in the user dialog. User friendly screens are provided. The usage of software increases the efficiency, decreases the effort. It has been efficiently employed as a Site management mechanism. It has been thoroughly tested and implemented.
8/12/2019 Final Documentation.docx
46/46