introduction 2012 documentation
TRANSCRIPT
CHAPTER -1
INTRODUCTION:
In the recent era of globalization, technological advancement has increased
dramatically in every sector including mainstream educational organisations. One of the
advanced technologies web-based application is the largely used application all over the
world which is very popular technology for it’s nature of global acces.
To make global exposure of an organization it is highly necessary to have
website which is fully furnished with all information which is required for every type
user.Generally in a website it contains the complete information of the institution along
with the better facility to communicate with the governing bodies.Information includes the
types of courses ofeered ibn the institution.
Besides this the students those who are interested to take admission to this college can get the information about the last year cut-off rank in the o-jee counseling branch wise.
The students of our college can get updated news about the schedule of internal as well as
semester exams. Apart from this the students can down load the previous year questions from our
college web-site along with this challan forms for deposition of different types of college fees.
Many features in the front page have been changed from the previous web-site. The popup
menu looks very attractive. There is a space provided for the current events which shows the recent
events, along with this there is notice board where the news is flashed regularly.
Thus in this project there are several features added which are required must for an
organization. Overall the project is complete up gradation of college web-site which have efficient
database connectivity having dynamic retrieving facility.
1
CHAPTER- 2
SYSTEM ANALYSIS
2.1.PURPOSE OF THE SYSTEM
This system provides the solutions of the limitations of existing system and enhance
the performance .It also gives the better handling facicity to the Administrator by providing
the authorized user for different. Department, as a reswult of which every department
people will submit t the required notification and these notices will be approved by the
Administrator and will be finally published in the desired place.
Existing system is a completely static one ,but in the current
sytem we are makig it dynamic in every aspect
2.2Existing System:
The existing system doesn’t provide the use friendly features of the home page.
Many features of the the home page require the dynamicness but which is lacked in
the existing system.
Existing system does not provide the the current event to be occurred.
It also does not provide the current news or notice.
It does not provide the down load facility for the students which is very necessary
for a student.
2
2.3 PROPOSED SYSTEM:
Basically in this project we have focused on the dynamicity of the web site as a result of
which the looks of the every page will be attractive
It provides the best services in comparison to the older one...
The students of our college can get updated news about the schedule of internal as well as
semester exams. .
Apart from this the students can down load the previous year questions from our college
web-site along with this challan forms for deposition of different types of college fees.
Besides this the students those who are interested to take admission to this college can get the information about the last year cut-off rank in the o-jee counseling branch wise.
Many features in the front page have been changed from the previous web-site. The popup menu looks very attractive.
There is a space provided for the current events which shows the recent events, along with this there is notice board where the news is flashed regularly.
3
CHAPTRE-3
FEASIBILITY STUDY
FEASIBILITY is the measure of how beneficial or practical the development of an
Information System will be to the client. Feasibility study is an important phase in the
software development process. It enables the developer to have an assessment of the
product being developed. It refers to the feasibility study of the product in terms of
outcomes of the product, operational use and technical support required for implementing
it.
Feasibility study should be performed on the basis of various criteria and parameters. The
various feasibility studies are:
There are four types of feasibility:
OPERATIONAL FEASIBILITY
TECHNICAL FEASIBILITY
ECONOMICAL FEASIBILITY
Economic Feasibility:
It is a measure of the cost effectiveness of a project or a solution. It refers to the
benefits or out comes. If the benefits are more or less the same as the older system, then it
is not feasible to develop the product. This product is highly efficient and user friendly as it
is developed (WINDOWS), the Front End (HTML, JSCRIPT), the Back end (SQLServer).
It consists of two tests:
Is the anticipated value of the benefits greater than projected cost development?
4
Does the organization have adequate cash flow to fund the project during the development
period?
A new system must increase income, either through cost savings or by increased revenues
and this is determined by cost-benefit analysis.
OPERATIONAL COST: These are the costs that will be incurred after the system is put
into production. Helpful in estimating the anticipated financial benefits. Financial benefits
are the expected annual savings or increase in net connection and browsers which will cost
approximately Rs.200/-.
DEVELOPMENT COST: It includes Salaries and wages, equipment and installation,
software and licenses, consulting fees and payments to third party, training facilities,
utilities and tools, supportive staff, travel and miscellaneous. For developing the website
the labour cost will be around Rs.200/day.
MAINTAINENCE: To renew the registration of DNS (Domain Naming System) to
upload the website on the net. Maintaining the website after uploading would estimate
around Rs.300/-.
Operational Feasibility:
It is a measure of how well the solution will work in the organization. It is a measure of
how people feel about the system. It measures the urgency of the problem or acceptability
of a solution. It refers to the feasibility of the product to be operational. Some products may
work very well at design and implementation but may fail in the real time environment. It
includes the study of additional human resource required and their technical expertise.
The product is operationally viable as it is designed specifically for the application
developers. Our product is highly operationally feasible because of its user friendliness,
graphical user interface and it is developed in such a way, it makes even the novices feel
comfortable in using it.
There are two aspects of operational feasibility to be considered:
Is the problem worth solving
How does the management feel about the problem?
5
As the website provides the information which are self explanatory, the user finds that the
site will be operationally feasible. The problem statement and the solution steps are
designed in a very easy way by following user oriented interfaces.
Technical Feasibility:
Evaluating the technical feasibility is the trickiest part of a feasibility study. This is
because, at this point in time, not too many detailed design of the system, making it
difficult to access issues like performance, costs on (on account of the kind of technology
to be deployed) etc. A number of issues have to be considered while doing a technical
analysis.
Understand the different technologies involved in the proposed system before commencing
the project we have to be very clear about what are the technologies that are to be required
for the development of the new system. Find out whether the organization currently
possesses the required technologies. Is the required technology available with the
organization?.
It refers to whether the software that is available in the market fully supports the present
application. It studies the pros and cons of using particular software for the development
and its feasibility. A new system brings a new technology into a company.
6
HARDWARE REQUIREMENTS:
512 MB RAM
100 mbps of Bandwidth
P4 processor
SOFTWARE REQUIREMENT
Tomcat
Jdk 1.6
Ms office
Tomcat :
It is aweb Server which plays important role for Dynamic Web-page.
Jdk 1.6:
It is a java standard development toolkit for all java application.
Ms office:
It provide Ms Access for creation of Data base.
7
CHAPTER-4
SYSTEM REQUIREMENT SPECIFICATION
Software Requirements Specification (SRS) is a complete description of the
behavior of the system to be developed. It includes a set of use cases that describe all of the
interactions that the users will have with the software. Data flow diagrams are also known
as functional requirements. In addition to these, the SRS also contains nonfunctional (or
supplementary) requirements. Non-functional requirements are requirements which impose
constraints on the design or implementation (such as performance engineering
requirements, quality standards, or design constraints).
An SRS is basically an organization's understanding (in writing) of a
customer or potential client's system requirements and dependencies at a particular point in
time (usually) prior to any actual design or development work. It's a two-way insurance
policy that assures that both the client and the organization understand the other's
requirements from that perspective at a given point in time.
The SRS document itself states in precise and explicit language those functions and
capabilities a software system must provide, as well as states any required constraints by
which the system must abide. The SRS also functions as a blueprint for completing a
project with as little cost growth as possible. The SRS is often referred to as the "parent"
document because all subsequent project management documents, such as design
specifications, statements of work, software architecture specifications, testing and
validation plans, and documentation plans, are related to it.
It's important to note that an SRS contains functional and nonfunctional requirements only;
it doesn't offer design suggestions, possible solutions to technology or business issues, or
any other information other than what the development team understands the customer's
system requirements to be.
A well-designed, well-written SRS accomplishes four major goals:
8
It provides feedback to the customer. An SRS is the customer's assurance that the
development organization understands the issues or problems to be solved and the
software behavior necessary to address those problems. Therefore, the SRS should
be written in natural language, in an unambiguous manner that may also include
charts, tables, data flow diagrams, decision tables, and so on.
It decomposes the problem into component parts. The simple act of writing down
software requirements in a well-designed format organizes information, places
borders around the problem, solidifies ideas, and helps break down the problem into
its component parts in an orderly fashion.
It serves as an input to the design specification. As mentioned previously, the SRS
serves as the parent document to subsequent documents, such as the software design
specification and statement of work. Therefore, the SRS must contain sufficient
detail in the functional system requirements so that a design solution can be devised.
It serves as a product validation check. The SRS also serves as the parent document
for testing and validation strategies that will be applied to the requirements for
verification.
SRS’s are typically developed during the first stages of "Requirements
Development," which is the initial product development phase in which information is
gathered about what requirements are needed--and not. This information-gathering stage
can include onsite visits, questionnaires, surveys, interviews, and perhaps a return-on-
investment (ROI) analysis or needs analysis of the customer or client's current business
environment.
The actual specification, then, is written after the requirements have been
gathered and analyzed. The first step in developing anything is to state the requirements.
This applies just as much to leading edge research as to simple
9
programs and to personal programs, as well as to large team efforts. Being
vague about your objective only postpones decisions to a later stage where changes are
much more costly.
The problem statement should state what is to be done and not how it is to be done. It
should be a statement of needs, not a proposal for a solution. A user manual for the desired
system is a good problem statement. The requestor should indicate which features are
mandatory and which are optional, to avoid overly constraining design decisions.
The requestor should avoid describing system internals, as this restricts implementation
flexibility. Performance specifications and protocols for interaction with external systems
are legitimate requirements. Software engineering standards, such as modular construction,
design for testability, and provision for future extensions, are also proper.
Many problems statements, from individuals, companies, and government agencies,
mixture requirements with design decisions. There may sometimes be a compelling reason
to require a particular computer or language; there is rarely justification to specify the use
of a particular algorithm. The analyst must separate the true requirements from design and
implementation decisions disguised as requirements.
The analyst should challenge such pseudo requirements, as they restrict flexibility. There
may be politics or organizational reasons for the pseudo requirements, but at least the
analyst should recognize that these externally imposed design decisions are not essential
features of the problem domain.
A problem statement may have more or less detail. A requirement for a conventional
product, such as a payroll program or a billing system, may have considerable detail.
10
A requirement for a research effort in a new area may lack many details, but presumably
the research has some objective, which should be clearly stated. Most problem statements
are ambiguous, incomplete, or even inconsistent. Some requirements are just plain wrong.
Some requirements, although precisely stated, have unpleasant consequences on the system
behavior or impose unreasonable implementation costs. Some requirements seem
reasonable at first but do not work out as well as the request or thought. The problem
statement is just a starting point for understanding the problem, not an immutable
document.
The purpose of the subsequent analysis is to fully understand the problem and its
implications. There is no reasons to expect that a problem statement prepared without a
fully analysis will be correct.
The analyst must work with the requestor to refine the requirements so they
represent the requestor’s true intent. This involves challenging the requirements and
probing for missing information.
The psychological, organizational, and political considerations of doing this
are beyond the scope of this book, except for the following piece of advice: If you do
exactly what the customer asked for, but the result does not meet the customer’s real needs,
you will probably be blamed anyway.
11
CHAPTER- 5
SYSTEM DESIGN
Several popular software engineering approaches are based on the notion of data flow. The
structured analysis/structured design (SA/SD) methodology is representative of the data
flow approach. SA/SD begins with a single process or function that represents the overall
purpose of the desired software. SA/SD recursively divides complex processes, until one is
left with many small functions that are easy to implement.
Analysis is concerned with understanding and modeling the application and domain within
which it operates. The initial input to the analysis phase is problem statement, which
describes the problem to be solved, and provides a conceptual view of the proposed
system. Subsequent dialog with the customer and real-world background knowledge are
additional inputs to analysis. The output from analysis is a formal model that captures the
three essential aspects of the system: the objects and their relationships, the dynamic flow
of control, and the functional transformation of data subject to constraints.
The following steps are performed in constructing the object model:
Identify objects processes.
Prepare data dictionary.
Identify associations between objects.
Identify attributes of objects and links.
Organize or simplify object.
Verify access paths.
Iterate and refine the model.
Group processes into modules.
During analysis, the focus is on what needs to be done, independent of how it
is done. During design, decisions are made about how the problem will be solved, first at
high level, then at increasingly detailed levels.
12
System design is the first design stage in which the basic approach to solving
the problem is selected. During system design, the overall structure and style are decided.
The system architecture is the overall organization of the system into components called
subsystems. The architecture provides the context in which more detailed decisions are
made in later design stages. By making high level decisions that apply to the entire system,
the system designer partitions the problem into subsystems so that further work can be
done by several designers working independently on different subsystems.
The system designer must make the following decisions:
Organize the system into subsystems.
Identify the concurrency inherent in the problem.
Allocate subsystems to processors and tasks.
Choose an approach for management of data stores.
Handle access to global resources.
Choose the implementation of control in software.
Handle boundary conditions.
Set trade-off priorities.
1. Breaking the System into Subsystems:
The first step in system design is to divide the system into small number of
components. Each major component of a system is called a sub system. Each subsystem
encompasses aspects of the system that share some common property – similar
functionality, the same physical location, or execution on the same kind of hardware. A
subsystem not an object nor a function but a package of classes, associations, operations,
events, and constraints that are interrelated and that have a reasonably well-defined and
small interface with other subsystems. A subsystem usually identified by the services it
provides. A service is a group of related functions that share some common purpose such
as I/O processing. A subsystem defines a coherent way of looking at one aspect of the
problem.
Each subsystem has a well-defined interface to the rest of the system.
13
GUI subsystem
Protocol Implementations
Input Output System
The interface specifies the form of all interactions and the information flow
across subsystem boundaries but does not specify how the sub system is implemented
internally. Each subsystem then can be designed independently without affecting the
others. The decomposition of systems into subsystems may be organized as a sequence of
horizontal layers or vertical partitions.
A layered system is an ordered set of virtual worlds, each built in terms of the
ones below it and providing the basis of implementation for the ones above it. The objects
in each layer can be independent, although there is often some correspondence between
objects in different layers. Knowledge is one-way only: a subsystem knows about the
layers below it, but has no knowledge of the above layers. Each layer may have its own set
of classes and operations. Each layer is implemented in terms of the classes and operations
of lower layers.
Layered architecture comes in two forms: closed and open. In a closed
architecture, each layer is built only in terms of the immediate lower layer. In an open
architecture, a layer can use features of any lower layer to any depth. We decomposed our
system into three subsystems as layers. The three layers are closed architecture form. The
three layers are GUI layer, Network protocol layer and I/O layer. The purpose of GUI layer
is to provide an efficient user interface to the user to interact with the system. It is built
upon network layer, which provides basic http web services. The lowest layer is the I/O
layer that provides services like reading or writing HTML documents to and from disk or
an URL.
When top-level subsystems are identified, the designer should show the
information flow among the sub systems.
14
There are several architectural frameworks that
are common in existing systems. They are batch transformation, continuous transformation,
interactive interface, dynamic simulation, real-time system and transaction manager.
In the architectural frameworks specified above, our system will best suit in
interactive interface architecture, since there are large number of interactions between
system and user.
An interactive interface is a system that is dominated by interactions between
the system and external agents, such as humans, devices or other programs. The external
agents are independent of system, so their inputs can’t be controlled, although the system
may solicit responses from them.
2. Identifying Concurrency:
One important goal of system design is to identify which objects must be
active concurrently and which objects have activity that is mutually exclusive. The latter
objects can be folded together in a single thread of control or task. But there is no part that
is concurrent in our system. In our project there is a little amount of concurrency such as
reading from an URL and loading in multiple instances of a browser. We will design these
aspects with multithreading features.
3. Allocating Subsystems to Processor:
In this step system designer estimates the hardware resources required and
the implementation choice of either hardware or software. In our system all the subsystems
will be implemented in software. The hardware requirements are general such as Pentium –
III, 128 MB of RAM, and clock speed 900 MHz
4. Management of Data Stores:
In this stage the system designer decides what format is used to store the data
stores. There are DBMS systems or file systems and others. Here in our project there are no
data stores except “aspx” documents. We then definitely prefer files to store and retrieve
“aspx” documents.
15
Choosing Software Control Implementation:
During the analysis, all interactions are shown as events between objects.
5. Choosing Software Control Implementation:
During the analysis, all interactions are shown as events between objects. But
the system designer must choose among several ways to implement control in software.
There are two kinds of control flows in a software system: internal and external. External
control is the flow of externally visible events among the objects in the system. There are
three kinds of control for external events: procedure driven, event driven sequential and
concurrent. Internal control is the flow of control within a process.
During the object design the designer carries out the strategy chosen during system design
and fleshes out the details. There is a shift in emphasis from application domain concepts
toward computer concepts. The objects discovered during the analysis serve as the skeleton
of the design, but the object designer must choose among different ways to implement
them with an eye toward minimizing execution time, memory, and other measures of cost.
In particular, the operations identified during the analysis must be expressed as algorithms,
with complex operations decomposed into simpler internal operations. The classes,
attributes and associations from analysis must be implemented as specific data structures.
New object classes must be introduced to store intermediate results during program
execution and to avoid the need for recomputation. Optimization of the design should not
carry to excess, as ease of implementation, maintainability, and extensibility are also
important concern.
The major steps in this stage are designing object classes and procedures for operations
discovered during analysis.
6. Functional Modeling:
The functional model shows how the values are computed, without regard for
sequencing, decisions, or object structure. The functional model shows, which values
depend on which other values, and the functions that relate them. Data flow diagrams are
useful for showing functional dependencies. Functions are expressed in various ways,
including natural language, mathematical equations, and pseudo code.
16
The following steps were performed in constructing the functional model:
Identify input and output values.
Build data flow diagrams showing functional dependencies.
Describe functions.
Identify constraints.
Specify organization criteria.
As mentioned in the previous section our system does not manipulate large
data flows. There is not much concentration on functional model. Only the object model is
highlighted in our system. Even though we showed basic data flow as a sample below.
Structured design is a data flow based methodology. The approach begins
with a system specification that identifies inputs and outputs and describes the functional
aspects of the system. The next step is the definition of the modules and their relationships
to one another in a form called a structure chart, using a data dictionary, DFD, and other
structured tools. Structured design partitions a program into small, independent modules.
They are arranged in a hierarchy that approximates a model of the business area and is
organized in a top – down manner.
7. Modules:
Well-structured designs improve the maintainability of a system. A structured
system is one that is developed from the top down and modular, that is, broken down into
manageable components. In this project we modularized the system so that they have
minimal effect on each other.
MM module: This module manages only the client particulars. In this module marketing
manager will do addition, deletion, updating of client information and views client details
and status.
PM Module: This module controls the work information and their scheduling and
assigning them to team leaders.
TL Module: This module contains the services to team leaders to view, schedule and
assign them to operators and QC. And also gives detailed reports of their performance and
status.
17
OP Module: This module handles operator service feature to browse their allotted jobs and
time logs of their work.
QCM Module: This module purpose is to view all the assigned jobs and their
updations like bugs, reverted times etc.
3.2 SOFTWARE ARCHITECTURE:
A graphic tool used to describe and analyze the moment of data through a
system – manual or automated – including the processes, stores of data, and delays in the
system. Data flow diagrams are the central tools and the basis from which other
components are developed. The transformation of data from input to output, through
processes, may be described logically and independently of the physical components
associated with the system. Systems design is the process or art of defining the
architecture, components, modules, interfaces, and data for a system to satisfy specified
requirements. One could see it as the application of systems theory to product
development.
Data flow diagram (DFD) is a picture of the movement of data between
external entities and the processes and data stores within a system. A graphical tool used to
analyze the moment of data through a system manual or automated including process,
stores of data, and delays in the system. Data Flow Diagrams are the central tool and the
basis from which other components are developed. The transformation of data from input
to output, through processes, may be described logically and independently of the physical
components associated with the system. The DFD is also known as dataflow graph or a
bubble chart. The data flow diagram is a modeling tool that allows us to picture a system as
a network of functional processes. The Data Flow Diagram (DFD) is a statement of user
requirements, which portrays the system in terms of its component pieces with all the
interfaces indicated. This diagram consists of terminators, data flows, control flows, data
stores and process bubbles.
Some of the guidelines for constructing a DFD are:
Choose meaningful names for the processes, flows, stores and terminators.
18
Each process bubble must have at least one input and one output.
All the data flows and control flows should be labeled.
DFD should be internally consistent and also consistent with any associated DFDs.
Input and output dataflow of a parent bubble (e.g. level 0 diagram) should be equivalent
to input and output dataflow of the child diagram (Higher level DFD).
Check the correctness. Apply conservation of data rule. All inputs to a process should
be used to produce the output and the inputs must be sufficient to produce the output.
There are two types of data flow diagrams
1. Physical DFD
The physical DFD is the model of the current system and is used to ensure that the current
system has been clearly understood. Physical DFD’s show actual devices, departments, etc
involved in the current system.
2. Logical DFD
Logical DFD’s are the model of the proposed system. They clearly should show the
requirements on which the new system should be built. Later during design activity this is
taken as the basis for drawing the system’s architecture.
Dataflow:
Data move in a specific direction from an origin to a destination.
Figure 4.1 Data Move
Process:
Process is nothing but people, procedures, or devices that use or produce data. The physical
component is not identified.
Figure 4.3 Process
Source:
External sources or destination of data may be people, programs, organizations or other
entities.
19
Figure 4.4 Source
Data Store:
Here data stored or referenced by a process in the system.
Figure 4.5 Data Store
Output
The output of any particular module is represented by the following symbol.
20
Admin_login
Student_Redg. Form User Interface
Data Store
ADMIN
STUDENT
LEVEL - 0
Admin details Dataflow
LEVEL - 1
ACCESS
SELECT ONE NAME
CLICK CLICK
20
21
Admin Login Form
Enter AdminUser & Password
Check admin
NOYES
Datastored
MANAGE DATABASE
FACULTY DATA STORED BY ADMIN
CHOOSE DEPTT. FACILITIESUSER
LEVEL-2
LIST OF FACULTIES
FACULTIES LAB
VIEW FACULTY PROFILE
RETRIEVING INRFORMATION BY A USER
CHAPTER- 6
CODING & IMPLEMENTATION
Technologies Used for Coding:
Java Technology :
Initially the language was called as “oak” but it was renamed as “Java” in 1995.It is
developed by James Gosling found some problems in C,C++ i.e. system dependent,not so
much secure,difficult etc. So he wants to devlop such a language which is simple,
platform independent, secure, robust, distributed, portable, multithreaded, scalable
and dynamic (these are advantages over C and C++). The most important in Java is its
Byte code and JVM:
Byte code of Java
JVM translate java program into byte code makes it much easier to run a program in
a wide variety of environments. Byte code is a highly optimized set of instructions
designed to be executed by the Java run-time system, which is called the Java Virtual
Machine (JVM). That is, in its standard form, the JVM is an interpreter for byte code.The
reason is, once the run-time package exists for a given system, any Java program can run
on it. Sun has just completed its Just In Time (JIT) compiler for byte code. When the JIT
compiler is a part of JVM, it compiles byte code into executable code in real time, on a
piece-by-piece, demand basis. It is not possible to compile an entire Java program into
executable code all at once, because Java performs various run-time checks that can be
done only at run time. The JIT compiles code, as it is needed, during execution.
Java Virtual Machine (JVM)
JVM is known as heart of java. This virtual machine can be embedded within a web
browser or an operating system. Once a piece of Java code is loaded onto a machine, it is
verified.
22
Java Source Java byte code JavaVM
Java .Class
As part of the loading process, a class loader is invoked and does byte code
verification makes sure that the code that’s has been generated by the compiler will not
corrupt the machine that it’s loaded on. Byte code verification takes place at the end of the
compilation process to make sure that is all accurate and correct. So byte code verification
is integral to the compiling and executing of Java code.
Overall Description:
Fig 6.1 Picture showing the development process of JAVA Program
Java programming uses to produce byte codes and executes them. The first box indicates
that the Java source code is located in a. Java file that is processed with a Java compiler
called javac. The Java compiler produces a file called a. class file, which contains the byte
code. The .Class file is then loaded across the network or loaded locally on your machine
into the execution environment is the Java virtual machine, which interprets and executes
the byte code.
HTML:
Hypertext Markup Language (HTML), the languages of the World Wide Web
(WWW), allows users to produces Web pages that include text, graphics and pointer to
other Web pages (Hyperlinks).HTML is often used markup language for developing web
pages. It is a tag based language. It provides suitable features by denoting certain text as
headings, paragraphs, lists, and so on ,and to supplement that text with interactive forms,
embedded images, and other objects. HTML is written in the form of labels (known as
tags), surrounded by angle brackets. HTML can also describe, to some degree, the
appearance and semantics of a document, and can include embedded scripting language
code which can affect the behavior of web browsers and other HTML processors.
HTML is not a programming language but it is an application of ISO Standard 8879,
SGML (Standard Generalized Markup Language), but specialized to hypertext and adapted
to the Web. 23
The idea behind Hypertext is that instead of reading text in rigid linear structure, we
can easily jump from one point to another point. We can navigate through the information
based on our interest and preference. A markup language is simply a series of elements,
each delimited with special characters that define how text or other items enclosed within
the elements should be displayed. Hyperlinks are underlined or emphasized works that load
to other documents or some portions of the same document.
It is a versatile language and can be used on any platform or desktop. It provides
tags (special codes) to make the document look attractive. HTML tags are not case-
sensitive. Using graphics, fonts, different sizes, color, etc., can enhance the presentation of
the document. Anything that is not a tag is part of the document itself. The various tags are
used in HTML are as follows
Basic HTML Tags:
<! -- -->................................................. specifies comments
<A>………. </A>.................................... Creates hypertext links
<B>………. </B>.................................... Formats text as bold
<BIG>……….</BIG> ..................... Formats text in large font.
<BODY>…</BODY> ..................... All tags and text in the HTML document
<CENTER>...</CENTER> ..................... Creates text
<DD>…</DD>........................................ Definition of a term
<DL>...</DL>.......................................... Creates definition list
<FONT>…</FONT> .................... Formats text with a particular font
<FORM>...</FORM>.............................. Encloses a fill-out form
<FRAME>...</FRAME> .................... Defines a particular frame in a set of
frames
<H#>…</H#>.......................................... Creates headings of different levels(1 – 6 )
<HEAD>...</HEAD> ........................... Information about a document
<HR>...</HR>.......................................... Creates a horizontal rule
<HTML>…</HTML> ..................... Contains all other HTML tags
<META>...</META>.............................. Meta-information about a document
24
<SCRIPT>…</SCRIPT> ..................... Contains client-side or server-side script
<TABLE>…</TABLE> ..................... Creates a table
<TD>…</TD>......................................... Indicates table data in a table
<TR>…</TR>.......................................... Designates a table row
<TH>…</TH>......................................... Creates a heading in a table
Attributes:
The attributes of an element are name-value pairs, separated by "=", and written
within the start label of an element, after the element's name. The value should be enclosed
in single or double quotes, although values consisting of certain characters can be left
unquoted in HTML (but not XHTML).Leaving attribute values unquoted is considered
unsafe. Most elements take any of several common attributes: id, class, style and title. Most
also take language-related attributes: Lang and Dir. The id attribute provides a document-
wide unique identifier for an element. This can be used by style sheets to provide
presentational properties, by browsers to focus attention on the specific element or by
scripts to alter the contents or presentation of an element. The class attribute provides a
way of classifying similar elements for presentation purposes. For example, an HTML
document (or a set of documents) may use the designation class="notation" to indicate that
all elements with this class value are all subordinate to the main text of the document (or
documents). Such notation classes of elements might be gathered together and presented as
footnotes on a page, rather than appearing in the place where they appear in the source
HTML.
Advantages of HTML:
A HTML document is small and hence easy to send over the net. It is small because
it does not include formatted information.
HTML is platform independent.HTML tags are not case-sensitive.
25
SPRING FRAMEWORK:
The Spring Framework is an open source application framework and Inversion of Control container for the Java platform. The Spring Framework provides a comprehensive programming and configuration model for modern Java-based enterprise applications - on any kind of deployment platform. A key element of Spring is infrastructural support at the application level: Spring focuses on the "plumbing" of enterprise applications so that teams can focus on application-level business logic, without unnecessary ties to specific deployment environments. Spring includes:
Flexible dependency injection with XML and annotation-based configuration styles. Advanced support for aspect-oriented programming with proxy-based and AspectJ-
based variants . Support for declarative transactions, declarative caching, declarative validation, and
declarative formatting . Powerful abstractions for working with common Java EE specifications such as
JDBC, JPA, JTA and JMS . First-class support for common open source frameworks such as Hibernate and
Quartz . A flexible web framework for building RESTful MVC applications and service
endpoints . Rich testing facilities for unit tests as well as for integration tests .
Spring is modular in design, allowing for incremental adoption of individual parts such as the core container or the JDBC support. While all Spring services are a perfect fit for the Spring core container, many services can also be used in a programmatic fashion outside of the container.
Supported deployment platforms range from standalone applications to Tomcat and Java EE servers such as WebSphere. Spring is also a first-class citizen on major cloud platforms with Java support, e.g. on Heroku, Google App Engine, Amazon Elastic Beanstalk and VMware's Cloud Foundry. The Spring Framework comprises several modules that provide a range of services:
Inversion of Control container : The configuration of application components and lifecycle management of Java objects done mainly via Dependency Injection.
Aspect-oriented programming : It enables implementation of cross-cutting routines.
Data access : It working with relational database management systems on the Java platform using JDBC and object-relational mapping tools and with NoSQL databases.
Transaction management : It unifies several transaction management APIs and coordinates transactions for Java objects.
26
Model-view-controller : An HTTP- and servlet-based framework providing hooks for extension and customization for web applications and RESTful web services.
Remote Access framework : configurative RPC-style export and import of Java objects over networks supporting RMI, CORBA and HTTP-based protocols including web services (SOAP).
Convention-over-configuration : A rapid application development solution for Spring-based enterprise applications is offered in the Spring Roo module.
Batch processing : A framework for high-volume processing featuring reusable functions including logging/tracing, transaction management, job processing statistics, job restart, skip, and resource management.
Authentication and authorization: The configurable security processes that support a range of standards, protocols, tools and practices via the Spring Security sub-project (formerly Acegi Security System for Spring).
Remote Management : The configurative exposure and management of Java objects for local or remote configuration via JMX.
Messaging : The configurative registration of message listener objects for transparent message-consumption from message queues via JMS, improvement of message sending over standard JMS APIs.
Testing : It support classes for writing unit tests and integration tests.
The Spring Framework serves as the foundation for the wider family of Spring open source projects, including:
Spring Security Spring Integration Spring Batch Spring Data Spring Web Flow Spring Web Services
SPRING SECURITY: Spring Security is a powerful and highly customizable authentication and access-control framework. It is the de-facto standard for securing Spring-based applications.Spring Security is a powerful and highly customizable authentication and access-control framework. It is the de-facto standard for securing Spring-based applications.Spring Security is one of the most mature and widely used Spring projects. Founded in 2003 and actively maintained by SpringSource since, today it is used to secure numerous demanding environments including government agencies, military applications and central banks. It is released under an Apache 2.0 license so you can confidently use it in your projects.
Spring Security is also easy to learn, deploy and manage. Our dedicated security namespace provides directives for most common operations, allowing complete application security in just a few lines of XML.
27
We also offer complete tooling integration in SpringSource Tool Suite, plus our Spring Roo rapid application development framework. The Spring Community Forum and SpringSource offer a variety of free and paid support services. Spring Security is also integrated with many other Spring technologies, including Spring Web Flow, Spring Web Services, SpringSource Enterprise, SpringSource Application Management Suite and SpringSource tc Server.
SPRING WEBFLOW: Spring Web Flow is a Spring MVC extension that allows implementing the "flows" of a web application. A flow encapsulates a sequence of steps that guide a user through the execution of some business task. It spans multiple HTTP requests, has state, deals with transactional data, is reusable, and may be dynamic and long-running in nature.
Spring Web Flow provides a declarative flow definition language for authoring flows on a higher level of abstraction. It allows it to be integrated into a wide range of applications without any changes (to the flow programming model) including Spring MVC, JSF, and even Portlet web applications. The following are common issues observed in stateful web applications with navigation requirements:
1. Visualizing the flow is very difficult. 2. The application has a lot of code accessing the HTTP session. 3. Enforcing controlled navigation is important but not possible. 4. Proper browser back button support seems unattainable. 5. Browser and server get out of sync with "Back" button use. 6. Multiple browser tabs causes concurrency issues with HTTP session data.
SPRING WEB SERVICES: Spring Web Services is a product of the Spring community focused on creating document-driven Web services. Spring Web Services aims to facilitate contract-first SOAP service development, allowing for the creation of flexible web services using one of the many ways to manipulate XML payloads.Spring Web Services is a product of the Spring community focused on creating document-driven Web services. Spring Web Services aims to facilitate contract-first SOAP service development, allowing for the creation of flexible web services using one of the many ways to manipulate XML payloads.
Key Features:
Makes the Best Practice an Easy Practice: Spring Web Services makes enforcing best practices easier. This includes practices such as the WS-I basic profile, Contract-First development, and having a loose coupling between contract and implementation.
Powerful mappings: You can distribute incoming XML request to any object, depending on message payload, SOAP Action header, or an XPath expression.
28
XML API support: Incoming XML messages can be handled in standard JAXP APIs such as DOM, SAX, and StAX, but also JDOM, dom4j, XOM, or even marshalling technologies.
Flexible XML Marshalling: The Object/XML Mapping module in the Spring Web Services distribution supports JAXB 1 and 2, Castor, XMLBeans, JiBX, and XStream. And because it is a separate module, you can use it in non-Web services code as well.
Reuses your Spring expertise: Spring-WS uses Spring application contexts for all configuration, which should help Spring developers get up-to-speed nice and quickly. Also, the architecture of Spring-WS resembles that of Spring-MVC.
Supports WS-Security: WS-Security allows you to sign SOAP messages, encrypt and decrypt them, or authenticate against them.
Integrates with Acegi Security: The WS-Security implementation of Spring Web Services provides integration with Spring Security. This means you can use your existing configuration for your SOAP service as well.
Built by Maven: This assists you in effectively reusing the Spring Web Services artifacts in your own Maven-based projects.
Apache license. You can confidently use Spring-WS in your project.
SPRING MVC FRAMEWORK: Spring MVC helps in building flexible and loosely coupled web applications. The Model-view-controller design pattern helps in seperating the business logic, presentation logic and navigation logic. Models are responsible for encapsulating the application data. The Views render response to the user with the help of the model object . Controllers are responsible for receiving the request from the user and calling the back-end services.
The figure below shows the flow of request in the Spring MVC Framework.
29
When a request is sent to the Spring MVC Framework the following sequence of events happen.
The DispatcherServlet first receives the request. The DispatcherServlet consults the HandlerMapping and invokes the Controller
associated with the request. The Controller process the request by calling the appropriate service methods and
returns a ModeAndView object to the DispatcherServlet. The ModeAndView object contains the model data and the view name.
The DispatcherServlet sends the view name to a ViewResolver to find the actual View to invoke.
Now the DispatcherServlet will pass the model object to the View to render the result.
The View with the help of the model data will render the result back to the user.
JDBC(Java Database Connectivity)
JDBC is a Java API for executing SQL statements. (As a point of interest, JDBC is a trademarked name and is not an acronym; nevertheless, JDBC is often thought of as standing for Java Database Connectivity.
It consists of a set of classes and interfaces written in the 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 establish a connection with a database, Send SQL statements and Process the results.
Types of JDBC Driver
The JDBC drivers that we are aware of at this time fit into one of four categories: JDBC-ODBC bridge plus ODBC driver Native-API partly-Java driver JDBC-Net pure Java driver Native-protocol pure Java driver
JDBC-ODBC Bridge:
If possible, use a Pure Java JDBC driver instead of the Bridge and an ODBC driver. This completely eliminates the client configuration required by ODBC. It also eliminates the potential that the Java VM could be corrupted by an error in the native code brought in by the Bridge (that is, the Bridge native library, the ODBC driver manager library, the ODBC driver library, and the database client library).
30
What Is the JDBC- ODBC Bridge? :
The JDBC-ODBC Bridge is a JDBC driver, which implements JDBC operations by translating them into ODBC operations. To ODBC it appears as a normal application program. The Bridge implements JDBC for any database for which an ODBC driver is available. The Bridge is implemented as the Sun.jdbc.odbc Java package and contains a native library used to access ODBC. The Bridge is a joint development of Innersole and Java Soft.
JDBC connectivity:
The JDBC provides database-independent connectivity between the J2EE platform
and a wide range of tabular data sources.
JDBC technology allows an Application Component Provider to: Perform
connection and authentication to a database server, Manager transactions, Move SQL
statements to a database engine for preprocessing and Executestoredprocedures.
DATABASE:
A database management system (DBMS) is computer software designed for the
purpose of managing databases, a large set of structured data, and run operations on the
data requested by numerous users. Typical examples of DBMSs include Oracle, DB2,
Microsoft Access, Microsoft SQL Server, Firebird, PostgreSQL, MySQL, SQLite,
FileMaker and Sybase Adaptive Server Enterprise. DBMSs are typically used by Database
administrators in the creation of Database systems. Typical examples of DBMS use include
accounting, human resources and customer support systems.
Originally found only in large companies with the computer hardware needed to support
large data sets, DBMSs have more recently emerged as a fairly standard part of any
company back office.
31
DATABASE TOOL/MY SQL:
MySQL is the world's most used relational database management system (RDBMS) that runs as a server providing multi-user access to a number of databases The SQL phrase stands for Structured Query Language.The MySQL development project has made its source code available under the terms of the GNU General Public License, as well as under a variety of proprietary agreements. MySQL was owned and sponsored by a single for-profit firm, the Swedish company MySQL AB, now owned by Oracle Corporation.
Free-software-open source projects that require a full-featured database management
system often use MySQL. Applications which use MySQL databases
include: TYPO3, Joomla, WordPress,phpBB, Drupal and other software built on
the LAMP software stack. MySQL is also used in many high-profile, large-scale World
Wide Web products.
Structured Query Language (SQL) is the language used to manipulate relational
databases. SQL is tied very closely with the relational model. In the relational model, data
is stored in structures called relations or tables. SQL statements are issued for the purpose
of:
Data definition: Defining tables and structures in the database (DDL used to create, alter
and drop schema objects such as tables and indexes).
Data Manipulation: Used to manipulate the data within those schema objects (DML
Inserting, Updating, Deleting the data, and Querying the Database).
A schema is a collection of database objects that can include: tables, views, indexes
and sequences.
FEATURES OF MYSQL:
As of April 2009, MySQL offered MySQL 5.1 in two different variants: the open source MySQL Community Server and the commercialEnterprise Server. MySQL 5.5 is offered under the same licences.[28] They have a common code base and include the following features:
A broad subset of ANSI SQL 99, as well as extensions Cross-platform support Stored procedures Triggers
32
Cursors Updatable Views Information schema Strict mode X/Open XA distributed transaction processing (DTP) support; two phase commit as
part of this, using Oracle's InnoDB engine. Independent storage engines (MyISAM for read speed, InnoDB for transactions
and referential integrity, MySQL Archive for storing historical data in little space) Transactions with the InnoDB, and Cluster storage engines; savepoints with InnoDB SSL support Query caching Sub-SELECTs (i.e. nested SELECTs) Replication support (i.e. Master-Master Replication & Master-Slave Replication) with
one master per slave, many slaves per master, no automatic support for multiple masters per slave.
Full-text indexing and searching using MyISAM engine Embedded database library Partial Unicode support (UTF-8 and UCS-2 encoded strings are limited to the BMP) ACID compliance when using transaction capable storage engines (InnoDB and
Cluster) Partititoned tables with pruning of partitions in optimiser Shared-nothing clustering through MySQL Cluster Hot backup (via mysqlhotcopy) under certain conditions
.
Distinguishing features:
MySQL implements the following features, which some other RDBMS systems may not:
Multiple storage engines, allowing one to choose the one that is most effective for each table in the application (in MySQL 5.0, storage engines must be compiled in; in MySQL 5.1, storage engines can be dynamically loaded at run time).
Native storage engines (MyISAM, Falcon, Merge, Memory (heap), Federated, Archive, CSV, Blackhole, Cluster, EXAMPLE, Maria, andInnoDB, which was made the default as of 5.5).
Partner-developed storage engines used to be a partner-developed storage engine, but with recent acquisitions, Oracle now owns both MySQL core and InnoDB.
33
Community-developed storage engines (memcache engine, httpd, PBXT, Revision Engine).
Custom storage engines Commit grouping, gathering multiple transactions from multiple connections
together to increase the number of commits per second. (PostgreSQL has an advanced form of this functionality).
Limitations:
MySQL does not currently comply with the SQL standard for some of the implemented functionality, including issues like silent ignore of standard SQL syntax, including silent ignore of check constraints, foreign key references, and other features used to enforce business logic consistency. Triggers are currently limited to one per action / timing, i.e. maximum one after insert and one before insert on the same table. There are no triggers on views.
SQL command:
ALTER - Change an existing table, view or index definition (DDL)
AUDIT - Track the changes made to a table (DDL)
COMMENT-Add a comment to a table or column in a table (DDL)
COMMIT - Make all recent changes permanent (DML - transactional)
CREATE - Create new database objects such as tables or views (DDL)
DELETE - Delete rows from a database table (DML)
DROP - Drop a database object such as a table, view or index (DDL)
GRANT - Allow another user to access database objects such as tables or
INSERT - Insert new data into a database table (DML)
No AUDIT - Turn off the auditing function (DDL)
REVOKE - Disallow a user access to database objects such as tables and views
(DDL)
ROLLBACK -Undo any recent changes to the database (DML - Transactional)
SELECT - Retrieve data from a database table (DML)
TRUNCATE-Delete all rows from a database table (can not be rolled back) (DML)
UPDATE - Change the values of some data items in a database table (DML)
34
MYSQL COMMAND:
1. CREATE DATABASE2. CREATE TABLE3. ALTERTABLE4. INSERT5. REPLACE6. UPDATE7. SELECT8. DELETE9. VALUES10. SET11. WHERE12. IN13. RLIKE / MATCH (search)14. AND15. OR16. DISTINCT17. MAX
SERVLETS
Introduction:
The Java web server is Java Soft’s own web Server. To build customized
network servers for any Internet or Intranet client/server system. Servlets are made for
web server, how applets are for browser. Servlets provide a Java-based solution used to
address the problems currently associated with doing server-side programming,
including inextensible scripting solutions, platform-specific APIs, and incomplete
interfaces.
Servlets are objects that conform to a specific interface that can be plugged into a
Java-based server. Servlets are to the server-side what applets are to the client-side -
object byte codes that can be dynamically loaded off the net.
35
They differ from applets in that they are faceless objects (without graphics or a GUI
component). They serve as platform independent, dynamically loadable, pluggable
helper byte code objects on the server side that can be used to dynamically extend
server-side functionality. .
Advantages of the Servlet API:
One of the great advantages of the Servlet API is protocol independence.
The protocol being used to transmit on the net
How it is loaded
The server environment it will be running in
It’s extensible - you can inherit all your functionality from the base classes made
available to you.
It’s simple, small, and easy to use.
Features of Servlets:
Servlets are persistent. Servlet are loaded only by the web server and can
maintain services between requests.
Servlets are fast. Since Servlets only need to be loaded once, they offer much
better performance over their CGI counterparts.
Servlets are platform independent.
Servlets are extensible. Java is a robust, object-oriented programming language,
which easily can be extended to suit your needs
Servlets are secure.
Servlets can be used with a variety of clients.
JAVA SERVER PAGES
Java server Pages is a simple, yet powerful technology for creating and
maintaining dynamic-content web pages. Based on the Java programming language,
Java Server Pages offers proven portability, open standards, and a mature re-usable
component model .
36
The Java Server Pages architecture enables the separation of content generation
from content presentation. This separation not eases maintenance headaches; it also
allows web team members to focus on their areas of expertise. Now, web page designer
can concentrate on layout, and web application designers on programming, with
minimal concern about impacting each other’s work.
Features of JSP:
Portability:
Java Server Pages files can be run on any web server or web-enabled application server
that provides support for them. Dubbed the JSP engine, this support involves
recognition, translation, and management of the Java Server Page lifecycle and its
interaction components.
Components :
It was mentioned earlier that the Java Server Pages architecture can include reusable
Java components. The architecture also allows for the embedding of a scripting
language directly into the Java Server Pages file. The components current supported
include Java Beans, and Servlets.
Processing:
A Java Server Pages file is essentially an HTML document with JSP scripting or tags.
The Java Server Pages file has a JSP extension to the server as a Java Server Pages file.
Before the page is served, the Java Server Pages syntax is parsed and processed into a
Servlet on the server side. The Servlet that is generated outputs real content in straight
HTML for responding to the client.
37
Access Models:
A Java Server Pages file may be accessed in at least two different ways. A client’s
request comes directly into a Java Server Page. In this scenario, suppose the page
accesses reusable Java Bean components that perform particular well-defined
computations like accessing a database. The result of the Beans computations, called
result sets is stored within the Bean as properties. The page uses such Beans to generate
dynamic content and present it back to the client.
In both of the above cases, the page could also contain any valid Java code. Java
Server Pages architecture encourages separation of content from presentation.
Steps in the execution of a JSP Application:
1. The client sends a request to the web server for a JSP file by giving the name of
the JSP file within the form tag of a HTML page.
2. This request is transferred to the Java WebServer. At the server side Java
WebServer receives the request and if it is a request for a jsp file server gives
this request to the JSP engine.
3. JSP engine is program which can under stands the tags of the jsp and then it
converts those tags into a Servlet program and it is stored at the server side. This
Servlet is loaded in the memory and then it is executed and the result is given
back to the Java WebServer and then it is transferred back to the result is given
back to the Java WebServer and then it is transferred back to the client.
38
What is Model-View-Controller? :
. Let’s start by looking at how the Model, the View, and the Controller interact with one
another:
Figure 6.3Model 2/MVC architecture
As you can see from the above diagram, the user interacts with the Controller
components (usually represented by Servlets) by submitting requests to them. In turn, the
Controller components instantiate Model components (usually represented by JavaBeans or
other similar technology), and manipulate them according to the logic of the application.
Once the Model is constructed, the Controller decides which View (usually represented by
JavaServer Pages) to show to the user next, and this View interacts with the Model to show
the relevant data to the user.Using JavaServer Pages or Servlets alone is known as Model 1.
Model 2 was not particularly innovative or new;It uses Servlets to resemble
Controller and Java ServerPages for resembling views.Many people realized that it
follows the well-known MVC pattern that was developed back in the days of Smalltalk.
As such, Java programmers tend to use the terms Model 2 and MVC interchangeably.
39
What are ActionForms? :
Almost every web application has a requirement to accept input from users. Some
examples of user input are credit card information, billing and shipping address
information, or even something as small as a username and password. The HTML language
provides the necessary components to render the input fields in a browser, including text
boxes, radio buttons, check boxes, buttons, and many more. When building these types of
pages, the input components must be nested inside of an HTML form Elements. The Struts
framework relies on the org.apache.struts.action.ActionForm class as the key component
for handling these tasks.
The ActionForm class is used to capture input data from an HTML form and
transfer it to the Action class. Since the HTML input components don’t natively include an
input buffer and users quite often enter invalid data, web applications need a way to store
the input data temporarily, so that it can be redisplayed when an error occurs. In this sense,
the ActionForm class acts as a buffer to hold the state of what the user entered while it is
being validated. The ActionForm also acts as a “firewall” for your application in that it
helps to keep suspect or invalid input out of your business tier until it can be scrutinized by
the validation rules. Finally, the ActionForm is also used to transfer data from the Action
class back to the HTML form. This allows more consistency for your HTML forms,
because they are always pulling data from the ActionForm. When the user input data does
pass input validation, the ActionForm is passed into the execute() method of the Action
class. From there, the data can be retrieved from the ActionForm and passed on to the
business tier. Because the ActionForm imports packages from the Servlet API, you
shouldn’t pass the ActionForm to the business tier. Doing so would couple the business
methods to the Servlet API and make it more difficult to reuse the business tier
components. Instead, the data within the ActionForm should be transferred to an object
from the domain model instead of being passed as an argument to the business tier. A
common approach is to create a data transfer object and populate it with the data from the
ActionForm.
40
You don’t have to declare an ActionForm for every HTML form in your
application. The same ActionForm can be associated with one or more action mappings.
.Declaring ActionForm Properties as Strings:
All request parameters that are sent by the browser are Strings. This is true
regardless of the type that the value will eventually map to in Java. For example, dates,
times, Booleans, and other values are all strings when they are pulled out of the request.
They will also be converted into strings when they are written back out to the HTML
page.Therefore, it makes sense that all of the ActionForm properties where the input may
be invalid, should be of type String. The reason for this is to support displaying the data
back out in its original form to the user, when there is an error. For example, if a user
types in “12Z” for a property expecting to be an Integer, there’s no way to store “12Z” into
an int or Integer property. However, you can store it into a String until it can be validated.
This same value, which is stored in a String, can be used to render the input field with the
value, so the user can see their mistake. This is functionality that even the most
inexperienced users have come to expect and look for.
Using Dynamic ActionForms:
Using the ActionForm class has many advantages over performing the functionality
yourself in the Action class or some set of helper utility classes. Since the behavior that the
ActionForm class provides is needed in nearly every web application, as well as many
times in the same application, using the framework to perform the work can really reduce
the development time and your frustration level. Having stated the benefits of using
ActionForms, there are a few very important downsides to using them.
The first and foremost problem with using ActionForms is the sheer number of classes that
it can add to a project. Even if you share ActionForm definitions across many pages, the
additional classes make it more difficult to manage a project and provide maintenance.
This is why some developers might create a single ActionForm and implement the
properties for all of the HTML forms within these.
41
The problem with this of course, is that combining the fields into this one class makes it a
point of contention on a project that has more than just a few developers. Another major
liability is the requirement to define the properties in the ActionForm that need to be
captured from the HTML form. If a property is added or removed from the HTML form,
the ActionForm class may need to be modified and recompiled. For these asons, a new type
of ActionForm was added to the framework, which is dynamic innatureandallows you to
avoid having to create concrete ActionForm classes for yourapplicationThedynamic
ActionForm is implemented by the base class org.apache.struts.action.DynaActionForm,
which extends the ActionForm class.The properties that the ActionForm defines:
1. The validate() method
2. The reset() method
The properties for a DynaActionForm are configured in the Struts configuration file, which
you’ll see how to do in the next section. The reset() method is called at exactly the same
time during request processing as it is for a standard ActionForm. The one difference is
that you have a little less control over what you do during the method. However, you can
always subclass the DynaActionForm to override the reset behavior.
The validation of the presentation data is a little more complicated, because we’ll need to
wait until we talk about the Struts Validator components before talking about how
validation occurs in a dynamic form.
42
CHAPTER -7
REPORTS:
The reports are the out put screen of the web site .
Screen shots of each interface of the web site are given below,
Which gives the clear idea about the project.
Front page
43
Admin Login Page
Admin page
44
User Login page
Registration page
45
Feedback form
Gallery page
46
User profile page
Edit Profile Page
47
Chat login page
Chat Room
48
Approval mail automatic send from admin to user mail
Student Marksheet Upload Form page
49
Student Marksheet showing semester wise page
Student Marksheet Showing page
50
Change Password page for user and administrator
This option shows for Find people,view toppers,Search faculty,students,staff,alumini
51
CHAPTER-8
SYSTEM TESTING AND IMPLEMENTATION :
8.1 INTRODUCTION :
Software testing is a critical element of software quality assurance and represents
the ultimate review of specification, design and coding. In fact, testing is the one step in the
software engineering process that could be viewed as destructive rather than constructive.
A strategy for software testing integrates software test case design methods into a
well-planned series of steps that result in the successful construction of software. Testing is
the set of activities that can be planned in advance and conducted systematically. The
underlying motivation of program testing is to affirm software quality with methods that
can economically and effectively apply to both strategic to both large and small-scale
systems.
8.2. STRATEGIC APPROACH TO SOFTWARE TESTING :
The software engineering process can be viewed as a spiral. Initially system
engineering defines the role of software and leads to software requirement analysis where
the information domain, functions, behavior, performance, constraints and validation
criteria for software are established. Moving inward along the spiral, we come to design
and finally to coding. To develop computer software we spiral in along streamlines that
decrease the level of abstraction on each turn.
A strategy for software testing may also be viewed in the context of the spiral. Unit
testing begins at the vertex of the spiral and concentrates on each unit of the software as
implemented in source code. Testing progress by moving outward along the spiral to
integration testing, where the focus is on the design and the construction of the software
architecture.
52
UNIT TESTING
MODULE TESTING
SUB-SYSTEM TESING
SYSTEM TESTING
ACCEPTANCE TESTING
Component Testing
Integration Testing
User Testing
Talking another turn on outward on the spiral we encounter validation testing where
requirements established as part of software requirements analysis are validated against the
software that has been constructed. Finally we arrive at system testing, where the software
and other system elements are tested as a whole.
53
8.3. UNIT TESTING :
Unit testing focuses verification effort on the smallest unit of software design, the
module. The unit testing we have is white box oriented and some subjects the steps are
conducted in parallel.
1. WHITE BOX TESTING :
This type of testing ensures that
All independent paths have been exercised at least once
All logical decisions have been exercised on their true and false sides
All loops are executed at their boundaries and within their operational bounds
All internal data structures have been exercised to assure their validity.
To follow the concept of white box testing we have tested each form .we have
created independently to verify that Data flow is correct, All conditions are exercised to
check their validity, All loops are executed on their boundaries.
2. BASIC PATH TESTING :
Established technique of flow graph with Cyclomatic complexity was used to derive test
cases for all the functions. The main steps in deriving test cases were:
Use the design of the code and draw correspondent flow graph.
Determine the Cyclomatic complexity of resultant flow graph, using formula:
V(G)=E-N+2 or
V(G)=P+1 or
V(G)=Number Of Regions
Where V(G) is Cyclomatic complexity,
E is the number of edges,
N is the number of flow graph nodes,
P is the number of predicate nodes.
Determine the basis of set of linearly independent paths.
54
3. CONDITIONAL TESTING :
In this part of the testing each of the conditions were tested to both true and false
aspects. And all the resulting paths were tested. So that each path that may be generate on
particular condition is traced to uncover any possible errors.
4. DATA FLOW TESTING :
This type of testing selects the path of the program according to the location of
definition and use of variables. This kind of testing was used only when some local
variable were declared. The definition-use chain method was used in this type of testing.
These were particularly useful in nested statements.
5. LOOP TESTING :
In this type of testing all the loops are tested to all the limits possible.
The following exercise was adopted for all loops:
All the loops were tested at their limits, just above them and just below them.
All the loops were skipped at least once.
For nested loops test the inner most loop first and then work outwards.
For concatenated loops the values of dependent loops were set with the help of
connected loop.
Unstructured loops were resolved into nested loops or concatenated loops and
tested as above.
Each unit has been separately tested by the development team itself and all the
input have been validated.
55
CHAPTER-9
SYSTEM SECURITY
9 .1 INTRODUCTION
The protection of computer based resources that includes hardware, software, data,
procedures and people against unauthorized use or natural
Disaster is known as System Security.
System Security can be divided into four related issues:
Security
Integrity
Privacy
Confidentiality
SYSTEM SECURITY refers to the technical innovations and procedures applied to the
hardware and operation systems to protect against deliberate or accidental damage from a
defined threat.
DATA SECURITY is the protection of data from loss, disclosure, modification and
destruction.
SYSTEM INTEGRITY refers to the power functioning of hardware and programs,
appropriate physical security and safety against external threats such as eavesdropping and
wiretapping.
PRIVACY defines the rights of the user or organizations to determine what information
they are willing to share with or accept from others and how the organization can be
protected against unwelcome, unfair or excessive dissemination of information about it.
CONFIDENTIALITY is a special status given to sensitive information in a database to
minimize the possible invasion of privacy. It is an attribute of information that
characterizes its need for protection.
9.3 SECURITY SOFTWARE
System security refers to various validations on data in form of checks and controls to
avoid the system from failing.
56
It is always important to ensure that only valid data is entered and only valid operations are
performed on the system. The system employees two types of checks and controls:
CLIENT SIDE VALIDATION :
Various client side validations are used to ensure on the client side that only valid
data is entered. Client side validation saves server time and load to handle invalid data.
Some checks imposed are:
VBScript in used to ensure those required fields are filled with suitable data only.
Maximum lengths of the fields of the forms are appropriately defined.
Forms cannot be submitted without filling up the mandatory data so that manual
mistakes of submitting empty fields that are mandatory can be sorted out at the client
side to save the server time and load.
Tab-indexes are set according to the need and taking into account the ease of user while
working with the system.
SERVER SIDE VALIDATION
Some checks cannot be applied at client side. Server side checks are necessary to
save the system from failing and intimating the user that some invalid operation has been
performed or the performed operation is restricted. Some of the server side checks imposed
is:
Server side constraint has been imposed to check for the validity of primary key and
foreign key. A primary key value cannot be duplicated. Any attempt to duplicate the
primary value results into a message intimating the user about those values through the
forms using foreign key can be updated only of the existing foreign key values.
User is intimating through appropriate messages about the successful operations or
exceptions occurring at server side.
Various Access Control Mechanisms have been built so that one user may not agitate
upon another. Access permissions to various types of users are controlled according to
the organizational structure.
57
Only permitted users can log on to the system and can have access according to their
category. User- name, passwords and permissions are controlled o the server side.
Using server side validation, constraints on several restricted operations are imposed.
58
CHAPTER-10
CONCLUSION
The theme behind the project is “DYNAMIC WEB PAGE” is that the administrator can
approve the profile of faculty members,students,staffs and aluminies can be retrieved these
information of our department . So that it will be easy to have the information of a faculty,
student, alumini, staff easily.
Besides this the students the students can registered themand after registered they can view
their profile,upload their marksheets,and discuss any subject related topic in the chat room and
give their feedback also.
The students of our department can get updated news and events about the schedule of
internal as well as semester exams. Apart from this the students can down load the previous year
marksheets from our department web-site.
Many features in the front page have been changed from the previous web-site. The popup
menu looks very attractive. There is a space provided for the current events which shows the recent
events, along with this there is notice board where the news is flashed regularly.
Thus in this project there are several features added which are required must for our
department. Overall the project is complete up gradation of department web-site which have
efficient database connectivity having dynamic retrieving facility.
59
CHAPTER-11
BIBILOGRAPHY :
1.ASP.NET Bible - Mridula Parihar.
2. SQL Server2000 - Jeffrey R. Shapiro.
3. http://www.c-sharpcorner.com
4. http://www.programmersheaven.com
5. Spring.NET Application Framework
6. Jolt winners 2006
7. JAX Innovation Award Gewinner 2006
8. Spring Framework 3.1 goes GA
9. http://www.andygibson.net/blog/index.php/2008/08/28/is-spring-between-
the-devil- and-the-ejb Spring VS EJB3
10. "Pitchfork FAQ".
http://www.springsource.com/web/guest/pitchfork/pitchfork-faq. Retrieved
2006-06-06.
11. http://houseofhaug.wordpress.com/2005/08/12/hibernate-hates-spring
Hibernate VS Spring
12. Introduction to the Spring Framework
13. Johnson, Expert One-on-One J2EE Design and Development, Ch. 12. et
al.
14. Patterns of Enterprise Application Architecture: Front Controller
60