Professional Documents
Culture Documents
1.1 Introduction of Organization
1.1 Introduction of Organization
INTRODUCTION
Organization Profile
The "eZeon Technologies" is an ISO Certified Information Technology company offering
Software Development and Training Services in India and Abroad. The Company established in
2009. It is offering the services in Web Solutions, Product Engineering and Custom Application
Development etc. across the world. We possess not only the latest technology gadgets but also the
knowledgeable and experience hands to offer customized and cost effective solutions to their clients.
"eZeon Technologies” also offers the best Corporate Training Services across the globe.
We have revolutionized the way one teaches IT related subjects. We specialize, believe and standby
in providing everlasting contribution to the IT industry.
Company Services
Software Application Development
Website Solution
Mobile Apps(Android/I phone)
Online Marketing
Maintenance & support
Outsourcing & Consultation
Offshore Development
Co-corporate Training
1 0103CA111026
Company Products
EZEON-SERP (School Automation System)
EZEON-WSM(Whole Sale Management)
EZEON-PPC(Piracy Protection Component)
EZEON-EBPA (Education Business Process Auto.)
EZEON-DSR(Daily Status Report and Performance Evaluation System)
EZEON-ITS(Issue Tracking System)
EZEON-DOC(Document Central)
EZEON-CAS (Clinical Automation System)
EZEON-STS(Support Ticket System)
EZEON-MMS(Matrimonial System)
2 0103CA111026
1.2 Description of Project
“Procurement” is the acquisition of goods , services and work from an outside company
or agency . We can say that the act of getting something is known as Procurement.
Procurement Portal is software that helps to automate the purchasing function of
organizations. Procurement Portal sometimes also known as supplier exchange. It is business-to-
business or business-to-government purchase & sale of supplies, work, contract, e-Tendering,
Auction.
Form this portal we will achieve benefits such as increased efficiency and cost savings (faster
and cheaper) in government procurement and improved transparency (to reduce corruption) in
procurement services.
All paper documents converted to electronic files can be immediately accessed and easily
viewed, searched, annotated, edited, and e-mailed (saving postal/courier charges).
No more hardcopy degradation due to moisture, light, dust, age and handling.
No more documents mysteriously disappearing (possibly by someone who should not have
had access in the first place) or getting out of order.
Imagine the hours spent digging through file boxes, searching for hours (or days) to find a
confidential letter received from a client five years ago (only to find that it was "mis-filed")!
You could be just a few mouse clicks away from that very record.
3 0103CA111026
Discuss the importance of good contract administration
Describe the contract closure process
Discuss types of software available to assist in project procurement management
4 0103CA111026
1.6 Modules
The modules of this system are as follows:
User Management
Tender Management
Bidding Management
Company Management
Transaction Management
Reporting Management
5 0103CA111026
Spring’s view resolution is extremely flexible. A Controller is typically responsible for
preparing a model Map with data and selecting a view name but it can also write directly to the
response stream and complete the request. View name resolution is highly configurable through file
extension or Accept header content type negotiation, through bean names, a properties file, or even
a custom ViewResolver implementation. The model (the M in MVC) is a Map interface, which
allows for the complete abstraction of the view technology. You can integrate directly with template
based rendering technologies such as JSP, Velocity and Freemarker, or directly generate XML,
JSON, Atom, and many other types of content. The model Map is simply transformed into an
appropriate format, such as JSP request attributes, a Velocity template model.
Hardware Requirement
Software Requirement
6 0103CA111026
3. Analysis
Tender Management
Add Tender
List & Search Tender
Update Tender
Add Proposal
Tender Tracking
Payment
Bidding Management
Add Participant Detail
List & Search Participant
Update Participant
Approve Bidding
Company Management
Add Company
List & Search Company
Update Company
Delete Company
7 0103CA111026
Transaction
Add Payment
List & Search Payment
Reporting
Listing & Searching
Update
3.3 Technology
This chapter gives the information about the tools and basic resources that were used for the
successful implementation of this project. This chapter is oriented towards delivering the
fundamental knowledge of all the resources, tools that were utilized for developing the project. This
includes introduction of JAVA and its packages with My SQL description which we have used. The
description is very simple for everyone to easily get to the basics behind the implementation. There
will be a glossary of words that are not generally known to any new users.
This project is developed in JAVA as the Front-End and MYSQL as Back-End.
Front end
About Java:
For any project to be run in the environment required by the customer, there should be well
defined requirement analysis be done for the complete satisfaction of the customer. JAVA is Object
Oriented Programming Language. The creation of JAVA was deeply rooted in the process of
refinement and adaptation that has been occurring in the computer programming languages.
JAVA derives its syntax from C and object oriented features like abstraction, polymorphism,
inheritance, encapsulation from C++. The key that allow JAVA to solve both the security and the
portability problems just described is that the output of a JAVA compiler is not an executable code
rather it is byte code. Byte code is highly optimized set of instruction designed to be executed by
JAVA run time system, which is called JAVA Virtual Machine (JVM). JVM is an interpreter for byte
code.
Features of Java:
1. SIMPLE:-
Java was designed for the professional programmer to learn and use effectively. It is easier
because it has some features of C++ and C which is known to us. Beyond this it has also some extra
features which make it easier than other languages.
8 0103CA111026
2. OBJECT-ORIENTED:-
Java is object-oriented language. In Java everything is treated as object. Java manages to
strikes a balance between purist’s “Everything is an object” object paradigm. The object model in
Java is simple and easy to extend, while simple types, such as integers, are kept as high performance
non-object.
3. ROBUST:-
The program must execute reliably in variety of systems. Thus the ability to create robust
programs gives a high priority in the design of Java.
4. MULTITHREADED:-
Java supports multithreaded programming, which allows writing program that do many
things simultaneously.
5. PORTABILITY:-
For program to be dynamically downloaded to all various platforms Connected to the
internet, some means of generating portable executable code is needed. The same mechanism that
helps ensure security also helps create portability.
6. SECURITY:-
Java achieves this protection by confining a Java program to the Java execution environment
and allowing it access to other parts of the computer.
7. DYNAMIC: -
Java programs carry with them substantial amounts of run-time type information that is used
to vary and resolve accesses to objects at run time. This makes it possible to dynamically link code in
a safe and expedient manner.
8. PLATFORM INDEPENDENCE :-
The write-once-run anywhere ideal as not been achieved (tuning for platform usually
required) but closer than with other languages.
9. COMPILED/INTERPRETED CODE:-
(a) Code is compiling to byte codes that are interpreted by java virtual machine.
(b) This provides portability to any machine for which a virtual m/c has been written.
(c) The two step of compilation and interpretation allow for extensive code checking and
improved security.
10. Threading:-
Lightweight processes called thread, can easily be spun off to perform multiprocessing can
take advantage of multiprocessors where available great for multimedia display.
9 0103CA111026
Java’s Magic: Byte code
Byte code is highly optimized set of instructions designed to be executed by JVM.
Spring Framework:
Spring MVC helps in building flexible and loosely coupled web applications. The Model-
view-controller design pattern helps in separating 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.
Light-weight yet comprehensive framework for building Java SE and Java EE applications.
The figure below shows the flow of request in the Spring MVC Framework.
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 Handler Mapping and invokes the Controller associated
with the request.
The Controller processes 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.
10 0103CA111026
The DispatcherServlet sends the view name to a View Resolver 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.
Modules
The Spring Framework comprises several modules that provide a range of services:
The Core package is the most fundamental part of the framework and provides the IOC
and Dependency Injection features. The basic concept here is the BeanFactory, which provides a
sophisticated implementation of the factory pattern which removes the need for programmatic
singletons and allows you to decouple the configuration and specification of dependencies from
your actual program logic.
The Context package build on the solid base provided by the Core package: it provides a
way to access objects in a framework-style manner in a fashion somewhat reminiscent of a JNDI-
registry. The context package inherits its features from the beans package and adds support for
internationalization (I18N) (using for example resource bundles), event-propagation, resource-
loading, and the transparent creation of contexts by, for example, a servlet container.
The DAO package provides a JDBC-abstraction layer that removes the need to do tedious
JDBC coding and parsing of database-vendor specific error codes. Also, the JDBC package provides
a way to do programmatic as well as declarative transaction management, not only for classes
implementing special interfaces, but for all your POJOs (plain old Java objects).
11 0103CA111026
The ORM package provides integration layers for popular object-relational mapping APIs,
including JPA, JDO, Hibernate, and iBatis. Using the ORM package you can use all those O/R-
mappers in combination with all the other features Spring offers, such as the simple declarative
transaction management feature mentioned previously.
Spring's AOP package provides an AOP Alliance-compliant aspect-oriented programming
implementation allowing you to define, for example, method-interceptors and point cuts to cleanly
decouple code implementing functionality that should logically speaking be separated. Using source-
level metadata functionality you can also incorporate all kinds of behavioral information into your
code, in a manner similar to that of .NET attributes.
Spring's Web package provides basic web-oriented integration features, such as multipart
file-upload functionality, the initialization of the IOC container using servlet listeners and a web-
oriented application context. When using Spring together with Web Work or Struts, this is the
package to integrate with.
Spring's MVC package provides a Model-View-Controller (MVC) implementation for
web-applications. Spring's MVC framework is not just any old implementation; it provides
a clean separation between domain model code and web forms, and allows you to use all the other
features of the Spring Framework.
Spring Features:
The most complete lightweight container, providing centralized, automated configuration
and wiring of your application objects. The container is non-invasive, capable of assembling a
complex system from a set of loosely-coupled components (POJOs) in a consistent and
transparent fashion. The container brings agility and leverage, and improves application
testability and scalability by allowing software components to be first developed and tested in
isolation, then scaled up for deployment in any environment (J2SE or J2EE).
A common abstraction layer for transaction management, allowing for pluggable
transaction managers, and making it easy to demarcate transactions without dealing with low-
level issues. Generic strategies for JTA and a single JDBC Data Source are included. In contrast
to plain JTA or EJB CMT, Spring's transaction support is not tied to J2EE environments.
A JDBC abstraction layer that offers a meaningful exception hierarchy (no more pulling
vendor codes out of SQLException), simplifies error handling, and greatly reduces the amount
of code you'll need to write. You'll never need to write another finally block to use JDBC again.
The JDBC-oriented exceptions comply to Spring's generic DAO exception hierarchy.
Integration with Top link, Hibernate, JDO, and iBATIS SQL Maps: in terms of resource
holders, DAO implementation support, and transaction strategies. First-class Hibernate support
with lots of IoC convenience features, addressing many typical Hibernate integration issues. All
of these comply to Spring's generic transaction and DAO exception hierarchies.
AOP functionality fully integrated into Spring configuration management. You can AOP-
enable any object managed by Spring, adding aspects such as declarative transaction
management. With Spring, you can have declarative transaction management without EJB...
even without JTA, if you're using a single database in Tomcat or another web container without
13 0103CA111026
JTA support.
A flexible MVC web application framework built on core spring functionality. This
framework is highly configurable via strategy interfaces, and accommodates multiple view
technologies like JSP, Velocity, Tiles, iText, and POI. Note that a spring middle tier can easily be
combined with a web tier based on any other web MVC framework, like Struts, Web Work, or
Tapestry.
BeanFactory
A BeanFactory is like a factory class that contains a collection of beans. The BeanFactory
holds BeanDefinitions of multiple beans within itself and then instantiates the bean whenever asked
for by clients.
XMLBeanFactory is a BeanFactory implementation provided within the Spring Framework.
The XMLBeanFactory can read BeanDefinitions from a XML file directly. The XMLBeanFactory
validates the XML using a DTD file called beans.dtd and checks for inconsistencies in the XML.
Bean Class
The Bean, which is stored in the BeanFactory, is the actual class that would carry the logic
for the bean. Spring does not define any standards on how the bean needs to be structured. Any
J2EE complaint bean structure is acceptable to Spring. Unlike Struts and other frameworks the
beans do not need to implement any special Spring interfaces to make them work in the Spring
Framework.
Depending upon the kind of Inversion required the bean might have to follow the rules of
the corresponding Inversion Dependency pattern. Spring supports only Constructor based injection
14 0103CA111026
and setter based injection. So a bean that used constructor-based injection should have to define
constructors accordingly. Spring recommends setter-based injection over constructor-based
injection as multiple constructors can make the bean huge and unmanageable.
A bean has one or more IDs associated with it. The ID should be unique within the
BeanFactory it is contained in so that the BeanFactory can look up the bean using the ID. If a bean
has multiple IDs they are defined as aliases for the bean.
The spring framework takes care of how the beans can be created and sent back to clients.
Beans can be deployed as singletons or as non-singletons. If a bean is defined as a singleton then
only one instance of the bean is created by the BeanFactory and returned when a request for the
bean is made. All subsequent requests get the same instance which was created first. Non- singleton
beans or Prototype beans can have multiple instances created. So each time a request is made for a
bean to the BeanFactory a new instance is created and returned. The BeanFactory cannot do
Lifecycle management of a prototype bean, as a new instance is created for each client who requests
it (Lifecycle management of a bean is discussed in a subsequent section).
BeanDefinition
The BeanDefinition contains all the information required by the BeanFactory to instantiate
the bean. This includes any dependencies the bean may have on other beans and how the bean
needs to be configured in the container. When a request is made for a bean, the BeanFactory loads
the corresponding BeanDefinition and instantiates the bean. The BeanDefinition has information on
how the bean would be instantiated (Singleton or prototype) and callback methods defined in the
Lifecycle section.
Lifecycle of a Bean
After the bean is initialized the BeanFactory can use callback methods to change the
behavior of the bean in the BeanFactory. One of the callback methods is the init-method. The
Initializing Bean interface of the factory package gives the ability to do initialization work after
properties are set up for a bean in the BeanFactory. The after PropertiesSet () method in the
Initializing Bean interface allows the user to check if all the properties are set properly or if some
operation has to be done after the properties have been set.
All Bean classes that need to use this callback method need to implement the Initializing
Bean interface and implement the after PropertiesSet () method. If the initialization work is minimal
the user has the flexibility to designate a method within the bean, which will be invoked after bean
properties have been set. The designated method, which would do the initialization, can be then be
specified in the init-method attribute of the bean. Designating the init-method attribute can help to
avoid implementing the Initializing Bean interface.
In a similar fashion a Disposable Bean interface is provided to do cleanup operations after a
bean is destroyed. The bean has a destroy-method attribute that can used to designate a method
within the bean, which will do the cleanup work when the BeanFactory destroys the bean.
15 0103CA111026
Other Features:
Spring can automatically resolve the dependent beans with the help of the BeanFactory. This
facility can reduce the need to specify properties or constructor arguments.
Spring can check dependencies on a bean. It can check for values that should be set when a
bean is initialized. If the check is not done the BeanFactory will set the default value. This
behavior is not mandatory and can be turned on when required.
Spring can also manage multiple resource files for you.
The value-add provided by the Spring Framework JDBC abstraction is perhaps best shown
by the sequence of actions outlined in the table below. The table shows what actions Spring will take
care of and which actions are the responsibility of you, the application developer.
Handle transactions. X
The Spring Framework takes care of all the low-level details that can make JDBC such a tedious API
to develop with.
16 0103CA111026
Choosing an approach for JDBC database access
You can choose among several approaches to form the basis for your JDBC database access. In
addition to three flavors of the JdbcTemplate, a new SimpleJdbcInsert and SimplejdbcCall approach
optimizes database metadata, and the RDBMS Object style takes a more object-oriented approach
similar to that of JDO Query design. Once you start using one of these approaches, you can still mix
and match to include a feature from a different approach. All approaches require a JDBC 2.0-
compliant driver, and some advanced features require a JDBC 3.0 driver.
JdbcTemplate is the classic Spring JDBC approach and the most popular. This "lowest
level" approach and all others use a JdbcTemplate under the covers, and all are updated with
Java 5 support such as generics and varargs.
NamedParameterJdbcTemplate wraps a JdbcTemplate to provide named parameters
instead of the traditional JDBC "?" placeholders. This approach provides better
documentation and ease of use when you have multiple parameters for an SQL statement.
SimpleJdbcTemplate combines the most frequently used operations of JdbcTemplate and
NamedParameterJdbcTemplate.
SimpleJdbcInsert and SimpleJdbcCall optimize database metadata to limit the amount of
necessary configuration. This approach simplifies coding so that you only need to provide
the name of the table or procedure and provide a map of parameters matching the column
names. This only works if the database provides adequate metadata. If the database doesn't
provide this metadata, you will have to provide explicit configuration of the parameters.
RDBMS Objects including MappingSqlQuery, SqlUpdate and
StoredProcedure requires you to create reusable and thread-safe objects during initialization
of your data access layer. This approach is modeled after JDO Query wherein you define
your query string, declare parameters, and compile the query. Once you do that, execute
methods can be called multiple times with various parameter values passed in.Using the
JDBC core classes to control basic JDBC processing and error handling
JdbcTemplate
The JdbcTemplate class is the central class in the JDBC core package. It handles the creation and
release of resources, which helps you avoid common errors such as forgetting to close the
connection. It performs the basic tasks of the core JDBC workflow such as statement creation and
execution, leaving application code to provide SQL and extract results. The JdbcTemplate class
executes SQL queries, update statements and stored procedure calls, performs iteration
over ResultSets and extraction of returned parameter values. It also catches JDBC exceptions and
translates them to the generic, more informative, exception hierarchy defined in
the org.springframework.dao package.
When you use the JdbcTemplate for your code, you only need to implement callback
interfaces, giving them a clearly defined contract. The PreparedStatementCreator callback interface
creates a prepared statement given a Connection provided by this class, providing SQL and any
necessary parameters. The same is true for theCallableStatementCreator interface, which creates
callable statements. The RowCallbackHandler interface extracts values from each row of a ResultSet.
17 0103CA111026
The JdbcTemplatecan be used within a DAO implementation through direct instantiation
with a DataSource reference, or be configured in a Spring IoC container and given to DAOs as a
bean reference.
Back-End :
About MySQL
MySQL is a relational database management system (RDBMS)[1] that runs as a server
providing multi-user access to a number of databases. MySQL is officially pronounced but is often
also pronounced /maɪˈsiːkwəl/ ("My Sequel"). It is named after developer Michael Widenius'
daughter, My. The SQL phrase stands for Structured Query Language.The MySQL development
project have 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.Members of the
MySQL community have created several forks (variations) such as Drizzle, OurDelta, Percona
Server, and MariaDB. All of these forks were in progress before the Oracle acquisition; Drizzle was
announced eight months before the Sun acquisition.
Many of the world's largest and fastest-growing organizations use MySQL to save time and
money powering their high-volume Web sites, critical business systems, and packaged software —
including industry leaders such as Yahoo!, Alcatel-Lucent, Google, Nokia, YouTube, Wikipedia, and
Booking.com.
The flagship MySQL offering is MySQL Enterprise, a comprehensive set of production-
tested software, proactive monitoring tools, and premium support services available in an affordable
annual subscription.
MySQL is a key part of LAMP (Linux, Apache, MySQL, PHP / Perl / Python), the fast-
growing open source enterprise software stack. More and more companies are using LAMP as an
alternative to expensive proprietary software stacks because of its lower cost and freedom from
platform lock-in.
Platforms and interfaces
MySQL is written in C and C++. Its SQL parser is written in yacc, and a home-brewed
lexical analyzer named sql_lex.cc.MySQL works on many different system platforms, including AIX,
BSDi, FreeBSD, HP-UX, i5/OS, Linux, Mac OS X, NetBSD, Novell NetWare, OpenBSD,
OpenSolaris, eComStation, OS/2 Warp, QNX, IRIX, Solaris, Symbian, SunOS, SCO Open Server,
SCO UnixWare, Sanos, Tru64 and Microsoft Windows. A port of MySQL to OpenVMS also exists.
Many programming languages with language-specific APIs include libraries for accessing MySQL
databases. These include MySQL Connector/Net for integration with Microsoft's Visual Studio
(languages such as C# and VB are most commonly used) and the ODBC driver for Java. In
addition, an ODBC interface called MyODBC allows additional programming languages that
support the ODBC interface to communicate with a MySQL database, such as ASP or ColdFusion.
The HTSQL - URL based query method also ships with a MySQL adapter, allowing direct
interaction between a MySQL database and any web client via structured URLs. The MySQL server
and official libraries are mostly implemented in ANSI C/ANSI C++.
18 0103CA111026
Management and graphical frontends
MySQL is primarily an RDBMS and therefore ships with no GUI tools to administer
MySQL databases or manage data contained within. Users may use the included command-line
tools,[16] or download MySQL frontends from various parties that have developed desktop
software and web applications to manage MySQL databases, build database structure, and work with
data records.
Features
As of April 2009, MySQL offers MySQL 5.1 in two different variants: the open source
MySQL Community Server and the commercial Enterprise Server.[20] 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
Cursors
Updatable Views
True Varchar support
INFORMATION_SCHEMA
Strict mode[further explanation needed]
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, BDB 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)
Partial ACID compliance (full compliance only when using the non-default storage engines
InnoDB, BDB and Cluster)
19 0103CA111026
Partitioned tables with pruning of partitions in optimiser
Shared-nothing clustering through MySQL Cluster
Hot backup (via mysqlhotcopy) under certain conditions[21]
The developers release monthly versions of the MySQL Server. The sources can be obtained
from MySQL's web site or from MySQL's Bazaar repository, both under the GPL license.
Tools:
EMS SQL Manager 2005 Lite for MySQL
EMS SQL Manager for MySQL is a high performance tool for MySQL database
administration and development. It works with any MySQL versions from 3.23 to the newest one
and supports all of the latest features including MySQL triggers, views, stored procedures and
functions, InnoDB foreign keys, Unicode data and so on. SQL Manager for MySQL allows you to
create/edit all MySQL database objects, design MySQL databases visually, run SQL scripts, import
and export MySQL database data, manages MySQL users and their privileges and has many other
useful features for efficient MySQL administration. SQL Manager for MySQL has a state-of-the-art
graphical user interface with well-described wizard system, so clear in use that even a newbie will not
be confused with it.
Key Features
Full support of MySQL versions from 3.23 to 6.0
Rapid database management and navigation
Simple management of all MySQL objects
Advanced data manipulation tools
Powerful security management
Excellent visual and text tools for query building
Impressive data export and import capabilities
Report designer with clear in use report construction wizard
Powerful Visual Database Designer
Product Features
Full support of MySQL versions from 3.23 to 6.0
Support of all MySQL objects (Tables, Views, UDFs, Stored Procedures and Functions,
Triggers and Events)
Support of all MySQL features and extensions
20 0103CA111026
Support of UTF8 data
Rapid database management and navigation
Multiple host/database connections
Connection to MySQL Server through HTTP
Connection to MySQL Server through SSH
Registering selected databases to work with
Projects to work with the selected database objects only
Multiple user-defined tabs for any tree node to access it in one-click
Working with multiple selected objects at a time
Grouping/Ungrouping registered databases by host name
Other useful tools to make your work with MySQL server as easy as it can be
Extracting metadata into text files or SQL script editor
22 0103CA111026
NetBeans Visual Library
23 0103CA111026
3.3 Project Architecture
24 0103CA111026
4. DESIGN
25 0103CA111026
4.1.2. 0-Level DFD
26 0103CA111026
4.2 ER- Diagram
27 0103CA111026
28 0103CA111026
4.3 Data Model
29 0103CA111026
4.4 Data Dictionary
30 0103CA111026
Table Name: Release
31 0103CA111026
Table Name: Company
32 0103CA111026
Table Name: Proposal
33 0103CA111026
Table Name: Company Approved
34 0103CA111026
4.5 Application Diagrams
35 0103CA111026
Tender Management Module
36 0103CA111026
4.5.2 Class Diagram:
User Controller
37 0103CA111026
Company Controller
38 0103CA111026
Tender Controller
39 0103CA111026
Bidding Controller
40 0103CA111026
Report Controller
41 0103CA111026
4.5.3 Activity Diagram:
42 0103CA111026
For Company Management Module:
43 0103CA111026
For Tender Management Module:
44 0103CA111026
4.6 Front-end-Design (Forms)
Log In
45 0103CA111026
Create User
46 0103CA111026
List & Search User
47 0103CA111026
User Full View
48 0103CA111026
Add Tender
49 0103CA111026
4. Testing and Report
Testing is a process which is used to check whether the software is working properly or not.
For this purpose there are a lot of methods for testing.
Generally testing is categories as:
Manual Testing
Automated Testing
In manual testing user test the software but in automated testing the testing is done by any
program or software.
The automated testing is generally used in server computer software where workload is more
and software is testing by creating a lot of virtual user.
50 0103CA111026
Software Testing is an empirical investigation conducted to provide stakeholders with
information about the quality of the product or service under test, with respect to the context in
which it is intended to operate. Software Testing also provides an objective, independent view of the
software to allow the business to appreciate and understand the risks at implementation of the
software.
Test techniques include, but are not limited to, the process of executing a program or
application with the intent of finding software bugs. It can also be stated as the process of validating
and verifying that a software program/application/product meets the business and technical
requirements that guided its design and development, so that it works as expected and can be
implemented with the same characteristics.
Software Testing, depending on the testing method employed, can be implemented at any
time in the development process, however the most test effort is employed after the requirements
have been defined and coding process has been completed. It is the process to identify all defects
existing in a software product. Testing can show the presence of faults in a system; it cannot prove
there are no remaining faults. Testing a program consists of subjecting the program to a set of test
inputs and observing if the program behaves as expected, then the condition under which failure
occurs are noted
Test case design
Involves designing the test cases (inputs and outputs) used to test the system.
The goal of test case design is to create a set of tests that are effective in validation and defect
testing.
Design approaches:
Requirements-based testing;
Partition testing;
Structural testing.
Requirements based testing
A general principle of requirements engineering is that requirements should be testable.
Requirements-based testing is a validation testing technique where you consider each
requirement and derive a set of tests for that requirement
Partition testing
Input data and output results often fall into different classes where all members of a class are
related.
Each of these classes is an equivalence partition or domain where the program behaves in an
equivalent way for each class member.
51 0103CA111026
Test cases should be chosen from each partition.
Structural testing
Sometime called white-box testing.
Derivation of test cases according to program structure. Knowledge of the program is used to
identify additional test cases.
Objective is to exercise all program statements (not all path combinations).
Testing Methods
Software testing methods are traditionally divided into black box testing and white box
testing. These two approaches are used to describe the point of view that a test engineer takes when
designing test cases.
52 0103CA111026
VARIOUS TYPES OF TESTING
1. Unit testing:
Each component or part the system is tested individually. The programmer does this testing.
Testing is restrictive in nature, i.e. the programmer should try to test all invalid conditions and see if
the program breaks under any circumstances. Individual components are tested to ensure that they
operate correctly. each component is tested independently, without other system components.
2. System testing:
This is an integrated form of testing, which focuses on functionality and inters faces between
units or modules. System testing is more effective when it is done by an independent team in a
controlled environment. The subsystems are integrated to make up the entire system. It concerned
with validating that the system meets its functional and non-functional requirements.
3.Sub System Testing:
This phase involves collection of modules which have been integrated into sub-systems.
Sub-systems may be independently designed and implemented. The most common error is interface
mismatch error between two subsystems.
4. Module testing:
This is an optional form of which is done only for large systems, which has a large no. of
modules. A module is a collection of dependent components. A module encapsulates related
components to test together without other system modules.
5. Acceptance testing:
This is the system testing done by the users of the application. The only emphasis on this
testing is functionality testing as the users are not aware of the technical aspects of the system. This
system is also done in a controlled environment with logging of all error found in the system, the
user has to accept or reject the system.
6. Acceptance Testing:
This is the final stage in the testing process. The system is tested with data supplied by the
user rather than simulated test data.
7. Alpha testing:
It refers to the testing carried out by the test team with in the developing organization. It
continues until the system developer and the client agree that the delivered system is implementation
of the system requirements.
53 0103CA111026
8. Beta testing:
It involves delivering a system to a no. of clients who agree to use that system. They report
the problems to the system developers. After this feedback system is modified and either released
for beta testing or for general sale.
GUI Testing:
Graphical User Interface of a website is the most important part of testing because if we
develop a website so it should look proper in any browser. The look and feel of the site increases the
number of user of the site.
Reports:
Generating reports is a common, if not always glamorous, task for programmers. In the past,
report generation has largely been the domain of large commercial products such as Crystal Reports.
Today, the open source Jasper Reports report generating library gives Java developers a viable
alternative to commercial software.
Jasper Reports provides the necessary features to generate dynamic reports, including data
retrieval using JDBC (Java Database Connectivity), as well as support for parameters, expressions,
variables, and groups. Jasper Reports also includes advanced features, such as custom data sources,
scriptlets, and sub reports. All in all, Jasper Reports combines good features, maturity, community
participation, and, best of all, it's free.
This section provides a brief description of each major task required for the implementation
of the system. Add as many subsections as necessary to this section to describe all the major
tasks adequately. The tasks described in this section are not site-specific, but generic or overall
project tasks that are required to install hardware and software, prepare data, and verify the
system. Include the following information for the description of each major task, if
appropriate:
54 0103CA111026
What the task will accomplish
Resources required to accomplish the task
Key person(s) responsible for the task
Criteria for successful completion of the task
Providing overall planning and coordination for the implementation
Providing appropriate training for personnel
Ensuring that all manuals applicable to the implementation effort are available when
needed
Providing all needed technical assistance
Scheduling any special computer processing required for the implementation
Performing site surveys before implementation
Ensuring that all prerequisites have been fulfilled before the implementation date
Providing personnel for the implementation team
Acquiring special hardware or software
Performing data conversion before loading data into the system
Preparing site facilities for implementation
55 0103CA111026
This site provides useful information regarding installation of Tomcat server. The steps by step of the
installation are shown properly. Every step will followed by a capture of screen that enable user to
better understand what they are doing currently and what they will be doing after. This will attract new
user of Tomcat that are using Window platform to further reading on this site before continuing into
installation. In the subtitle 'Deployment of jsp or servlet in tomcat', user will be provided with example
of creating first servlet. This is helpful for new user to test the example given and get knowledge from
that before going in depth.
Default installation directory for java in Windows is Program file à Java, and Linux /opt. Tomcat 5.5.17
version requires at least java1.5 version.
When jdk is installed in default location, need to configuration the environment variableEnvironment
Variable Setting
Environment variable is next to set java home in system environment. This will help to know others
application where is java is installed and where java file have to compile. JAVA_HOME variable name
needs to set in environment variable as variable name and variable value as the java home directory c:\
jdk1.5.0.
Step to do this setting, go to my computer icon and right click and go to properties
My computer->right click->properties->
Advance tab->environment variables ->
User variables –>New
Click on new button and new pop up will open.
In variable value, enter your java path where java is installed in system.
Tomcat installation
Tomcat installation is of two types. Apache provides self installer for tomcat installation.This tomcat
is in executable binary file. Download,and install, self installer do all work automatically.Second is
source code extractor. This tomcat installation is also easy as self installer. Before tomcat installation,
56 0103CA111026
check all jvm, java, and environment path set properly.
Apache tomcat is freely available from apache jakarta site
http://archive.apache.org/dist/tomcat/tomcat-5/
According to per requirement, tomcat is downloaded in form of binaries or source code.
We are using zipped pack for windows installation. Download zipped binaries code latest one
from this site.Unzip this code and c:\ drive and anywhere desired directory
After unzipped directory system will like that
This is means that tomcat is installed properly and ready to run web server. Open bin
directory and double click on startup.bat file. Startup.bat will open in dos command prompt
After starting tomcat, check tomcat in web browser by typing localhost:8080 in address bar
http://localhost:8080/
In connector port change 8080 to 80, now save this save and shutdown.bat tomcat and startup.bat
tomcat.This time user need not to write 8080 port in http://localhost/
Servlet invoker
Servlet container of tomcat engine doesn’t start automatically. WEB-INF deployment descriptor needs
to tell servlet engine, where your servlet and mapping of servlet.This is is can be done without any
setting through servlet invoker. We just need to uncommented the code in web.xml in config
folder.Servlet invoker automatically load servlet in context and map it.
Open c:/tomcat/config/web.xml and edit this code as shown.
57 0103CA111026
First uncommented invoker then servlet mapping
<!-- -->
<!-- debug Debugging detail level for messages logged -->
<!-- by this servlet. [0] -->
<servlet>
<servlet-name>invoker</servlet-name>
<servlet-class>
org.apache.catalina.servlets.InvokerServlet
</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
also uncommented the servlet mapping
<!-- The mapping for the invoker servlet -->
<servlet-mapping>
<servlet-name>invoker</servlet-name>
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>
<!-- The mapping for the JSP servlet -->
If you are using tomcat 6, need to define privileges for context. In tomcat 5.5.x version no need to
define privileges for context. Tomcat 5.5.x take automatically.
Privileges setting can be done in tomcat/conf/context.xml file. Add this line
<Context reloadable="true"privileged="true">
Deployment of jsp or servlet in tomcat
All jsp and html page should be kept in C:\tomcat\webapps and create your own folder or keep jsp
file under default directory ROOT. We would like to create new folder in webapps as home and keep all
files in this folder. In home folder create WEB-INF folder and inside this also create two folder named
as classes and lib and keep web.xml in WEB-INF.
In classes folder, all servlets and javaBeans should keep,Classes folder generally contains
58 0103CA111026
class file and java file and when servlet engine starts, all java and class file loaded in tomcat through
bootstrap.jar which is in bin folder. Create a first servlet examplesee example
Deployment of servlet
Servlet deployment needs to map in deployment descriptor, if you have not enabled servlet invoker.
Descriptor give us more feature of deploying servlet with user defined URL context path.
All servlet needs to compile manually and copy to WEB-INF/classes folder.
Descriptor file is web.xml which keeps all information of servlet and taglib’s tld
Suppose we are deploying TestServlet servlet at default package.
WEB-INF/classes/TestServlet.class
Make a file
WEB-INF/web.xml
web.xml
<?xml version="1.0"encoding="UTF-8"?>
<web-appversion="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<servlet-name>TestServlet</servlet-name>
<servlet-class>TestServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>TestServlet</servlet-name>
<url-pattern>/servlet/TestServlet</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
59 0103CA111026
7.Conclusion
Procurement Portal is a complete web based application designed specifically for Tender
domain to serve the needs of tender allocation process. In future we widen the scope of project in
future to enhance its functionality and much more functionality in it. As it is based on spring MVC
architecture its very easy to add more functionality and enhance the system as changes made in one
portion does not reflect the other portion.
8.Future Enhancements
The Internet represents the next major technology enabler which allows rapid supply
chain management between multiple operations and trading partners. Most systems are
enhancing their products to become ``Internet Enabled'' to globalised their software.
A project is never complete. There is always room for improvement. This project has some
limitation that has to be removed in future. In future we implement these modules-
Add registration form for externel users.
On line form filling.
More interactive design.
A blog where people ask question.
Forum where people can discuss
Message Box(inbox)
Mailing Facility for All Person
The IT scenario is moving rapidly and the latest software are coming to market to serve
requirement of the users. This project was undertaken keeping in mind the existing need to develop
software to satisfy the needs of the voter and also to formulate a comprehensive work plan in a field
which was not tapped fully to its full potential and which was taken manually till date. This software
has been developed keeping in mind the various need of the worker but it does not mean that
further development cannot be undertaken in this particular field. In fact this system is the beginning
and at present, the best reflection of the users need. The need of the users may change with time.
This system has been designed in such a way that it can easily adopt changes. Further in future if the
need of completely new web application will arise it can serve as a prototype. So this work is not the
end but a beginning in the field of rapid advancement and procurement of means to make this world
compact and helping getting information at the flush of keys.
After completing this software we were out to gather information about the future scope of
this software. Some questions that came continuously to the mind were whether the software was
able to provide the IT world.
60 0103CA111026
9.Bibliography
Books
1. Siamark Sarmady (2003): “ Html Web Design ”, Academic Press, 2003.
2. Ntin K Nayak (2000): “ Advance java ”, ACM Press Dallas, TX, United States, May 2000.
3. Herbert Schildt(2001): “The Complete Reference ”. MIT Press, Cambridge, Massachusetts,
USA, 2001.
4. Ivan Bayross & Sharanam Shah (2000): “ Java Server Programming ”. July 2000.
Websites
1. http://www.javascriptfreecode.com/
2. http://www.dynamicdrive.com
3. http://www.hypergurl.com/
4. http://static.springsource.org/spring/docs/3.0.x/api
5. http://static.springsource.org/spring/docs/2.0.0/reference/mvc.html
61 0103CA111026