miniproject

148
ALUMNI A Mini Project report submitted to in partial fulfilment of the requirements In partial fulfillment of the requirements for the award of degree of BACHELOR OF TECHNOLOGY IN COMPUTER SCIENCE ENGINEERING (2007-2011) Submitted By Venkat sujith ponnuru 06B11A0588 Under the Esteemed Guidance of Mr.P.SATISH BABU Assistant Professor, Department of CSE

Upload: venkat-sujith

Post on 14-Oct-2014

465 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: miniproject

ALUMNIA Mini Project report submitted to in partial fulfilment of

the requirements

In partial fulfillment of the requirements for the award of degree of

BACHELOR OF TECHNOLOGY

IN

COMPUTER SCIENCE ENGINEERING

(2007-2011)

Submitted By

Venkat sujith ponnuru 06B11A0588

Under the Esteemed Guidance of

Mr.P.SATISH BABU

Assistant Professor,

Department of CSE

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

AL-AMEER COLLEGE OF ENGINEERING & INFORMATION TECHNOLOGY

(Affiliated to Jawaharlal Nehru Technological University, Kakinada, A.P)

Gudilova, Anandapuram, Visakhapatnam-531173)

Page 2: miniproject

CERTIFICATE

This is to certify that the project work entitled “ALUMNI” is a work carried out by in

department of Computer Science and Engineering during the period of 2007-2011 in

partial fulfillment for the award of degree of Bachelor of Technology. The result

embodied in this main project report has not been submitted to any other university or

institute for the award of any degree or diploma.

INTERNAL GUIDE HEAD OF DEPARTMENT

Mr.P.SATISH BABU Mr.L.PRASANNA KUMAR

Asst. Professor (CSE) Asst. Professor (CSE)

EXTERNAL EXAMINER

Page 3: miniproject

DECLARATION

We hereby declare that this project titled “ALUMNI” submitted to the department

of Computer Science and engineering, Al -Ameer College of Engineering and

information technology, Gudilova, Visakhapatnam, is of our own and has previously

formed the basis for any degree or other similar title to any University or institute.

RAGHAVA.U R.RAVI TEJA P.VAMSI KRISHNA

(07B11A0561) (07B11A0568) (07B11A0589)

Page 4: miniproject

ACKNOWLEDGEMENT

We would like to express our sincere and heart full gratitude to our guide

Mr. P.SATISH BABU, Dept of computer science & engg. for allowing us to do this

project “ALUMNI”.

We express our sincere gratitude to Mr.L.PRASANNA KUMAR, Head of the

Department, Computer Science and Engineering, for his encouragement and cooperation

throughout the project.

We sincerely thank to our beloved Principal Mr.N.NARASIMHA RAO for

providing faculty and lab facility throughout the completion of B.Tech course. Their

guidance and concern has helped us to finish our project in time.

We also thank all the teaching and non-teaching staff of CSE Dept. who has

extended their cooperation in various ways during project work.

RAGHAVA.U R.RAVI TEJA P.VAMSI KRISHNA

(07B11A0561) (07B11A0568) (07B11A0589)

Page 5: miniproject

ABSTRACT:

Alumni are an exciting phenomenon forming part of the new generation

in the institutions. It is a means of communication between a group of people who

belongs to some organization, educational field or other fields. It draws a variety

of data bases and delivers information to the user in an appropriate format. As a

consequence, users can enter the Alumni with a single sign-on and be provided

with the resources and tools that are appropriate to their group. This group is

intended to provide a central portal of communication for the students, staff,

faculty and friends. Once you logged into the Alumni, you will have a

personalized view that provides you access to various student resources.

The idea behind our project is simply to provide the users with a simple

platform to interact among themselves. To maintain all these services in the

efficient and effective manner, the front end and Back end co-ordination should be

followed perfectly. The Front end is a HTML Web page, which deals with the

presentation of proper environment for the users to sign-in, to check his account

and all other such facilities. And the Back end will be a database, which will store

all the different types of data such as images, text documents, tables etc. and will

also store the user ids and passw We are committed to building this group for the

benefit of students and friends. We can help each other in this wonderful

entertainment business.

Page 6: miniproject

CONTENTS

1. SYNOPSIS 4

2. INTRODUCTION 6

Introduction to J2EE

Introduction to JDBC

Introduction to DBMS

Introduction to HTML

3. SYSTEM REQUIREMENTS 29

Software Requirements

Hardware Requirements

4. SYSTEM ANALYSIS 31

Existing System & Proposed System

Feasibility Study

5. SYSTEM DESIGN 38

Project Modules

UML diagrams

Use case diagrams

Class diagrams

Sequence diagrams

Page 7: miniproject

6. CODING 60

7. TESTING 96

8. SCREEN SHOTS 104

9. CONCLUSION 111

10. REFERENCES 112

Page 8: miniproject

INTRODUCTIO

N

Page 9: miniproject

INTRODUCTION:

About the Project:

An Alumnus is the solution that enables Wide range of users to achieve

all the benefits of moving services and applications online, while providing an

expandable interactive framework that goes beyond access to enable other vital

activities. For example, using web portal technology, we can easily inter-

communicate with each other using a secure transaction platform to enable e-

forms and communication and data sharing.

This can be made much secured which will be providing strong

identification and authentication of users, authorization for access to appropriate

resources, and enables security for information sharing and trusted transactions

appropriate to their sensitivity level. Such a portal can be named as a secure web

portal, which can efficiently manage the entire spectrum of access to meet the

various levels of security and trust required by different types of transactions, by

utilizing the capabilities of some authorization structures in an integrated fashion.

This type of enhancements can be loaded where the security is obviously critical,

the security solution chosen for any alumni must enhance portal performance

rather than impede it. A secure alumni solution must provide the information

security that alumni’s require for success without compromising performance and

flexibility. The ability to combine both security features and high performance in

Page 10: miniproject

secure alumni creates a powerful tool that can enable virtually any activity and

integrate a myriad of new applications.

The basic Purpose of any alumni is to provide wide variety of services

to the users through a simple web page. An alumni can be a Business portal,

customer-care portal, or and organizational portal or just can be any other type of

service provider.

The above fig. shows the many technology layers that make up campus alumni.

An evaluation of these and services on campus indicates that while campus

network, operating systems, communication services are stable, we lack the

unified user management, application/integration and portal layers at the campus

level. A brief definition of these layers is as follow:

Alumni ServicesSession security

Personalization Aggregation Presentation KnowledgeManagement

Communication ServicesCalendar Email Online community

Web, Application, and Integrated services Web Server

ApplicationServer

Legacy systemInterfaces

Business processAutomation

E-learningInterfaces

Security Management

Operating Systems

Campus network

Page 11: miniproject

Alumni Services: These services provide the user an area to personalize and

customize, so their personal experience can be tailored to their preferences,

enabling students to show the information they choose to see, in a presentation

format selected to best suit their needs. This is typically software that runs on a

web server, and can also be tailored to allow members of different groups to see

information relevant to their group.

Communication services: Numerous options exist to provide services through

a web-based portal. Some campuses offer calendar and email service to the

students. GGSE has begun to offer a calendar, email, and in the future, a “Net

share” application to provide public and private directory folders for use by all

students and staff for file sharing.

Web, Application, and Integrated services: This is the application security

and “middleware” layer that is needed to allow secure access. Several vendors

offer a middleware layer, and they also usually offer integration services, to

connect in the legacy systems and databases with the web server to enable

transactions and access to information through a web based interface.

Unified User Management Services: To control access to, and appropriate use

of the services above, the community of users must be given accounts for

authentication and authorization. The typical management of users is done by

creating an online directory of all users, and in it, storing:

1) What groups they belong to (roles, such as student, alumni, faculty…);

2) What systems they should be allowed to access (authorization);

3) Information to verify that the person is who they say they are (authentication);

and

4) What information they can manage about themselves (delegated administration).

Page 12: miniproject

To determine how each type of user will interact with the services, policies must

be developed and adopted that define how the organization will interact with

and control access to the systems and information about the systems and users.

Operating Systems: The campus operating systems are managed by

department system administrators, with their network connection and

configuration adhering to and monitored by the OIT security administrator.

Campus Network: The Campus network backbone is in place and is

being unified and upgraded by the Office of Information Technology.

ADVANTAGES:

Improved Communication:

The University no longer has to reconcile and disseminate information

through so many channels as all the information will be provided in

alumni.

Single sign-on:

It allows the portal users to sign-on once, and be granted access to

multiple computing resources through a single portal.

Good security will be provided using Secure Sockets Layer. Allows the

user to help themselves.

AIM :

To provide an easy and efficient way of mutual interaction between any

number of users.

To make each and every module of the project to work. And to make sure

that each module is clearly understandable to the User.

To make the application User friendly.

Page 13: miniproject

To provide much prominent communication between the users.

To provide maximum services to the user

SOFTWARE BEING USED:

1. J2EE (Java™ 2 Platform Enterprise Edition, v1.3) :

Since the emergence of the internet, web technologies have become more

and more important, and web applications are more and more common- the use of

a web browser is no longer restricted to surfing static pages on the internet. It is

now very common place to see a web browser used ass an application’s client.

To reduce costs and fast-track enterprise application design and

development, the Java™2 Platform, Enterprise Edition (J2EE™) technology

provides a component-based approach to the design, development, assembly, and

deployment of enterprise applications. The J2EE platform offers a multitiered

distributed application model, the ability to reuse components, integrated

Extensible Markup Language (XML)-based data interchange, a unified security

model, and flexible transaction control. Not only can you deliver innovative

customer solutions to market faster than ever, but your platform-independent J2EE

component-based solutions are not tied to the products and application

programming interfaces (APIs) of any one vendor.

System Architecture:

The required relationships of architectural elements of the J2EE

platform are shown in Figure. Note that this figure shows the logical relationships

of the elements; it is not meant to imply a physical partitioning of the elements

into separate machines, processes, address spaces, or virtual machines .The

Containers, denoted by the separate rectangles, are J2EE runtime environments

that provide required services to the application components represented in the

upper half of the rectangle. The boxes in the lower half of the rectangle denote the

Page 14: miniproject

services provided. For example, the Application Client Container provides Java

Messaging Service (JMS) APIs to Application Clients, as well as the other

services represented. All these services are explained below.

The arrows represent required access to other parts of the J2EE platform.

The Application Client Container provides Application Clients with direct access

to the J2EE required Database through the Java API for connectivity with database

systems.

Page 15: miniproject

Figure: J2EE Architecture Diagram

Two Tier Architecture:

A two-tiered application is a simple client-server application in which

the processing workload falls onto the client computer’s shoulders and the server

simply acts as a traffic controller between the client and the data. The term “fat

client” for this type of architecture is due to the bulk of processing requirements at

the client side. In this architecture, the presentation layer and the business logic

layer are hosted in one tier and the data layer is on another tier.

Page 16: miniproject

The drawback of this type of architecture is that it starts to pose

problems as the number of client’s increases. The first problem is due to the fact

that all processing happens at the client side. There is increased network traffic

because each client has to make multiple requests for data from the server even

before presenting anything to the user.

Another problem is cost because each client needs a machine with

sufficient processing power. As the number of clients increase, the cost for

providing client machines alone could be astronomical. However, the most severe

problem that this type of architecture can cause is probably a maintenance

problem. Even a tiny change to the processing logic might require a complete

rollout to the entire organization. Even though the process can be automated, there

are always problems with larger organizations because some users may not be

ready for an upgrade, whereas others insist it be performed immediately.

Three Tier Architecture:

To overcome the problems in many client two-tired applications, an

application is broken up into three separate tiers, instead of two. The first tier

contains the presentation layer, the second tier, or the middle tier consists of the

business logic layer, and the third tier contains the data layer.

Web Application:

You normally adopt two main architectures when developing web

applications in Java. The first architecture utilizes servlets and JSP in the middle

tier to serve clients and process the business logic.

Page 17: miniproject

The second architecture includes the use of J2EE server and Enterprise JavaBeans

(EJB) and this is especially useful for large enterprise applications that need

scalability. The architecture is shown as:

JSP:

The servlet technology is the foundation of web application

development using the java programming language. It is one of the most important

java technologies, and it is the underlying technology for another popular java

technology for web application development- JSP. Therefore, understanding the

servlet technology and its architecture is important if you want to be a servlet

developer. Even if you plan to develop your java web application using JSP pages

alone, understanding the servlet technology helps you build a more efficient and

effective JSP application.

JSP is another java technology for developing web applications. JSP

was released during the time servlet technology had gained popularity as one of

the best web technologies available. JSP is not mean to replace servlets, however

in fact, JSP is an extension of the servlet technology, and it is common practice to

use both servlets and JSP pages in the same web applications. Authoring JSP

pages is so easy that you can write JSP applications without much knowledge of

the underlying API. If you want to be a really good java web programmer,

however, you need to know both JSP and servlets. Even if you only JSP pages in

your java web applications, understanding servlets is still very important.

JSP offers the following benefits that are not necessary available in other

technologies:

Performance: The performance of JSP is superior to CGI because there is no

process creation for each client request. Instead, each request is handled by the

JSP container process. After a JSP is finished processing a request, it stays

resident in memory, waiting for another request.

Page 18: miniproject

Portability: Similar to other java technologies, JSP applications are portable.

You can move them to other operating systems without serious hassles.

Rapid development cycle: As a java technology, JSP have access to the rich

java library, which helps speed up the development process.

Robustness: JSP are managed by the Java Virtual Machine. As such, you

don’t need to worry about memory leak or garbage collection, which helps you

write robust applications.

Widespread acceptance: Java is a widely accepted technology. This means

that numerous vendors work on java-based technologies. One of the

advantages of this is that you can easily find and purchase components that suit

your needs, which saves precious development time.

TOMCAT:

A number of JSP containers are available today. The most popular one

—and the one recognized as the official servlet/JSP container is Tomcat.

Originally designed by Sun Microsystems, Tomcat source code was handed over

to the Apache Software Foundation in October 1999. In this new home, Tomcat

was included as part of the Jakarta Project, one of the projects of the Apache

Software Foundation. Working through the Apache process, Apache, Sun, and

other companies—with the help of volunteer programmers worldwide—turned

Tomcat into a world-class JSP reference implementation. Two months after the

handover, Tomcat version 3.0 was released. Tomcat went through several 3.x

releases until version 3.3 was introduced. The successor of version 3.3 is the

current version, version 4.0. The 4.0 JSP container (Catalina) is based on a

completely new architecture and has been developed from the ground up for

flexibility and performance. Version 4.0 implements the Servlet 2.3 and JSP 1.2

specifications. Tomcat by itself is a web server. This means that you can use

Tomcat to service HTTP requests for servlets, as well as static files (HTML, image

Page 19: miniproject

files, and so on). In practice, however, since it is faster for non-servlet, non-JSP

requests, Tomcat normally is used as a module with another more robust web

server, such as Apache web server or Microsoft Internet Information Server. Only

requests for servlets or JSP pages are passed to Tomcat. To write a servlet, you

need at least version 1.2 of the Java Development Kit. The reference

implementation for both servlets and JSP are not included in J2SE, but they are

included in Tomcat. Tomcat is written purely in Java.

JAVA BEANS:

"JSP Syntax," you learned how you can write JSP pages by

interweaving HTML tags and Java code. Although this makes writing JSP pages

easy and straightforward, there are at least two disadvantages to this approach.

First, the resulting spaghetti-like page seriously lacks readability. Second, there is

no separation of the presentation and business rule implementation. To write a JSP

page this way means a JSP author must master both Java and HTML.

Versatility is not something very common in the real world, however.

Finding a Java programmer who also is good at HTML page design is as difficult

as finding a graphic designer who is proficient in Java. A separation of labor

would be nice to have in developing a JSP application; that is, let the graphic

designer do the page design and the Java programmer author the code. In JSP, this

is possible through the use of JSP components, such as JavaBeans. In this

component centric approach, the Java programmer writes and compiles JavaBeans

that incorporate all the functionality needed in an application. While the

programmer is doing this, the page designer can work with the page design at the

same time. When the JavaBeans are ready, the page designer uses tags similar to

HTML to call methods and properties of the beans from the JSP page.

In fact, using beans is a very common practice in JSP application

development. This approach is popular because JavaBeans introduces reusability.

Page 20: miniproject

This is to say, rather than building your own piece of code, you can simply use

what other people have written. when you are designing a Java Bean for your JSP

page, reusability and modularity are of utmost importance. Therefore, it is not

common to use a bean to send HTML tags to the web browser because this makes

the bean customized for that page. If you need to achieve this task, you can use

custom tags instead. You start with a step-by-step approach to quickly write a bean

and call it from a JSP page. After you have the confidence that you can

comfortably write your own bean, you will look at how to use beans optimally in

your JSP page using the three action elements jsp:useBean, jsp:getProperty, and

jsp:setProperty.

JDBC API

The JDBC API lets you invoke SQL commands from Java

programming language methods. You use the JDBC API in an enterprise bean

when you override the default container-managed persistence or have a session

bean access the database. With container-managed persistence, database access

operations are handled by the container, and your enterprise bean implementation

contains no JDBC code or SQL commands. You can also use the JDBC API from

a servlet or JSP page to access the database directly without going through an

enterprise bean. The JDBC API has two parts: an application-level interface used

by the application components to access a database, and a service provider

interface to attach a JDBC driver to the J2EE platform.

Java Servlet Technology

Java Servlet technology lets you define HTTP-specific servlet classes. A

servlet class extends the capabilities of servers that host applications accessed by

way of a request-response programming model. Although servlets can respond to

any type of request, they are commonly used to extend the applications hosted by

Web servers.

Page 21: miniproject

Java Server Pages Technology:

Java Server Pages technology lets you put snippets of servlet code directly

into a text-based document. A JSP page is a text-based document that contains two

types of text: static template data, which can be expressed in any text-based format

such as HTML, WML, and XML, and JSP elements, which determine how the

page constructs dynamic content.

Java Message Service :

The JMS is a messaging standard that allows J2EE application components

to create, send, receive, and read messages. It enables distributed communication

that is loosely coupled, reliable, and asynchronous.

Java Naming and Directory Interface

The JNDI provides naming and directory functionality. It provides

applications with methods for performing standard directory operations, such as

associating attributes with objects and searching for objects using their attributes.

Using JNDI, a J2EE application can store and retrieve any type of named Java

object.

Because JNDI is independent of any specific implementations, applications

can use JNDI to access multiple naming and directory services, including existing

naming and directory services such as LDAP, NDS, DNS, and NIS. This allows

J2EE applications to coexist with legacy applications and systems.

Java Transaction API

The Java Transaction API (“JTA”) provides a standard interface for

demarcating transactions. The J2EE architecture provides a default auto commit to

handle transaction commits and rollbacks. An auto commit means that any other

applications viewing data will see the updated data after each database read or

write operation. However, if your application performs two separate database

Page 22: miniproject

access operations that depend on each other, you will want to use the JTA API to

demarcate where the entire transaction, including both operations, begins, rolls

back, and commits.

2. DATABASE MANAGEMENT SYSTEMS:

A Database Management System is a collection of interrelated data and

a set of programs that enables users to create and maintain a database. This

collection of the related data is called the Database. The primary objective of a

DBMS is to provide a convenient environment to retrieve and store database

information. Database systems support single user and multi-user environment.

DBMS permits one person to access the database at a given time. A database

system consists of two parts namely,

Database Management System:

It is the program that organizes and maintains the information.

Database Application:

It is the program that lets us view, retrieve and update information

stored in the DBMS.

DBMS has to protect against unintentional changes that could be caused

by users and application. In case of multi-user system, it must be capable of

notifying any database change to the other user. DBMS permits only one person to

access the database at a given time, whereas RDBMS allows many users to

simultaneous access the database.

DBMS offers the following services:

Data Definition.

Data Maintenance.

Data Manipulation.

Data Display.

Data Integrity.

Page 23: miniproject

ORACLE DATABASE

Oracle 8 is an Object Relation Database Management System. It offers

capabilities of both relation and object oriented database systems. In general,

objects can be defined as reusable software codes, which are location independent

and perform a specific task on any application environment with little or no

change to the code. Oracle products are based on a concept known as the

‘Client/Server Technology’. A client or a front-end database application interacts

with database by requesting and receiving information from the ‘database server’.

Oracle server consists of an oracle database – the collection of stored

data, including log and control files and the oracle instance – the processes,

including oracle system processes taken together, created for a specific instance of

the database operation. It acts as an interface between the user and the database.

The tools provided by the oracle are so user-friendly that even a

person with minimum skills in the field of computers can access them with ease.

The main tools are:

SQL *PLUS

PL/SQL

Forms

Reports

SQL stands for Structured Query Language. It was invented and developed by

IBM in early 1970’s. Oracle’s database language is SQL, which is used for

retrieving and storing the information in oracle. A table is a primary database

object of SQL that is used to store data. A table holds data in the form of rows and

columns. Oracle server supports SQL to define and manipulate data. In addition, it

has a procedural language called PL/SQL to control the flow of SQL, to use

variables, and to provide error-handling procedures. The oracle database has 2

Page 24: miniproject

primary structures namely,

A physical structure – referring to the actual stored data.

A logical structure - referring to an abstract representation of data.

The set of processes that constitute an instance of the server’s

operation is called and oracle instance, which consists of a system global area and

a set of background processes. Oracle creates server processes to handle requests

from connected user processes. The oracle data dictionary is a read-only set of

description for a database.

The SQL statements that can be handled are

DDL statements : These statements are used to define, create and delete

tables.

DML statements : These statements specify querying, insert, select,

delete and update operations.

TCL statements : These statements specify units of work. A transaction

is a logical unit of work that begins with an executable statement and

ends when the changes made to the database are either committed or

rolled back. These commands affect only DML operations and have no

effect on DDL statements.

DCL statements : These statements are used to grant and revoke

privileges.

Embedded SQL statements : allows SQL statements to be embedded in

a procedural programming language, such as PL/SQL of oracle or the C

language.

Systems Control statements : allows the administrator to change settings

such as the minimum number of shared servers, or kill as session.

BENEFITS OF SQL:

Non-procedural language, because more than one record at a time.

Page 25: miniproject

It is portable and it requires few modifications so that it can work on

other database.

Very simple commands for querying, inserting, deleting and modifying

data and objects.

NORMALIZATION:

Relational databases a form of database specification based upon the

mathematical concept of a relation. The mathematical nature of the concept is,

however, not necessary to its appreciation and database may be regarded as

composed of a number of rectangular tables, each expressing one relation. Unlike

network or hierarchical database models, the relational system is structured at the

time each query is posed rather than at the time if the database is established. The

structures are achieved by the combination of relations using relational operators.

Normalization of data can be described as process of analyzing the relation

schemas based on their functional dependencies and primary keys to achieve the

desirable properties of

Minimizing the redundancy

Minimizing the insertion, deletion and update anomalies.

The process of normalization provides database designers with -

A formal framework for analyzing relation schemas based on their

keys and on the functioning dependencies among their attributes.

A series of normal forms or tests that can be carried out on

individual relation schemas so that the relation database can be normalized

to any desired degree. The normal form of a relation refers to the highest

normal condition that it meets, and hence indicates the degree to which it

has been normalized. Decomposition must also confirm the existence of

additional properties that the relational schemas, taken together, should

possess. These would include following properties:

The loss less join or non-additive joins property: It guarantees that

Page 26: miniproject

the spurious tuple generation problem does not occur with respect to the

relation schemas created after decomposition.

The dependency preservation property: It ensures that functional

dependency is represented in some individual relations resulting after

decomposition.

Normalization is carried out for three reasons.

1. To secure the data so that any pertinent relationship between entities can be

represented.

2. To simplify the maintenance of the data through updates, inserts and deletions.

3. To reduce the need to restructure or re-organize data when new application

requirements arise.

First Normal Form:

First normal form is achieved when a record is designed to be of fixed

length. This is accomplished by removing the repeating group and creating a

separate file or relation containing the repeating group. The original and new

records are interrelated by a common data item.

Second Normal Form:

Second normal form is achieved when a record is in the first normal

form and each item in the record is fully dependent on the primary record key for

identification data item is functionally dependent if its value is uniquely associated

with a specific data items .To achieve second normal form, every data items in the

record that is not dependent on the primary key of the record should be removed

and used to form a separate relation.

Third Normal Form:

Third normal form is achieved when transitive dependencies are

removed from a record designed conversion to third normal form removes the

transitive dependencies by splitting the relation into two separate relations.

Boyce Code Normal Form

Page 27: miniproject

A relation is said to be in the BCNF if determinate is a candidate key.

Relations in 3NF can also have anomalies. Relations in BCNF have no anomalies

regarding functional dependencies and this seemed to have put the issue of

modification anomalies to rest. However it was soon discovered that anomalies

could arise from situations other than functional dependencies. The fourth, fifth

and domain key normal forms were proposed to overcome these anomalies.

ENTITY RELATION DIAGRAM:

Once all requirements for the database have been collected and

analyzed, the next step is to create a conceptual schema for the database design.

Using high level conceptual scheme is a concise description of the data

requirements of the user and includes detailed description of the entity types,

relationships and constraints; these are expressed using the concepts provided by

the high-level data model.

The ER model describes data as entities, relationships and constraints. The

concept of entities and their attributes is given below.

Entity: The basic object that the ER model represents.

Attributes: The particular properties that describe an entity. Several

types of attributes occur in the ER model:

Simple v/s Composite

Single-valued v/s Multi-valued

Stored v/s Derived

Entity type: A particular entity type defines a collection of entities that

have the same attributes.

Value: A particular entity will have a value for each of its attributes.

Entity Set: The collection of all entities of a particular entity type in

the database at any point of time.

Domain or Value Set: It specifies the set of values that may be

assigned to that attributes for each individual entity.

Page 28: miniproject

Relationship type: A relationship type R among N entity defines a set

of associations among entities from these types.

Degree of Relationship type: It is the number of participating entities

from the entity type in each relation ship instance and helps to explain

what the relationship means.

Role names: It signifies the role that a participating entity from the

entity type plays in each relationship instance and helps to explain

what relationship means.

Weak Entity types: Entity types that do not have key attributes of their

own

HTML:

Introduction to HTML

The hypertext markup language (HTML) is a simple markup language.

Used to create a hypertext documents that are portable from one platform to

another HTML documents are SGML (Standard generalized mark up language)

documents with generic semantics that are appropriate for representing

information from a wide range of applications. This specification defines HTML

version 3.2. HTML 3.2 aims to capture recommended practice as of early ’96 and

as such a replacement for HTML2.0 (RFC 1866). A set of instructions embedded

in a document is called mark up language. These instructions describe what the

document text means and how it should look like in a display. Hyper Text Mark

Up language (HTML) is the language used to encode World Wide Web

documents.

WHY TO USE HTML

Web site is a collection of pages, publications, and documents that

reside on web server. While these pages publications and a document as a

Page 29: miniproject

formatted in a single format, you should use HTML for home page and all primary

pages in the site. This will enable the millions of web users can easily access and

to take advantage of your web site.

HTML is considered first for formatting any new material you plan to

publish on the web. HTML documents are platform independent, meaning that

they don’t confirm to any standard. If they are created properly you can move

home page to any server platform or you can access them with any complaint

www browser.

STRUCTURE OF HTML:

HTML elements perform a defined task. HTML uses two types of

elements

. Empty Tags

. Container Tags

These tags differ because of what they represent. Empty tags represent

formatting constricts such as line breaks and horizontal rules. Container tags

define a section of text, formats and dot all of the selected text. A container tag has

both a beginning and an ending.

HTML LAYOUT:

An HTML document consists of text, which comprises the content

of the document and tags, which, defines the structure, and appearance of the

document. The structure of an HTML document is simple, consists of outer.

<HTML>tag enclosing the document header and body

<HTML>

<HEAD>

<TITLE>the title of HTML document</TITLE>

</HEAD>

Page 30: miniproject

<BODY>

This is where the actual HTML documents

Text lies, which is displayed in the browser

</BODY>

</HTML>

Each document has a head and body delimited by the <HEAD> and

<BODY> tag. The head is where you give your HTML document a title and where

you indicate other parameters the browser may use when displaying the document.

This includes the text for displaying the text. Tag also references special and

indicates the hot spots that link your document to other documents.

HTML FORMS:

Creating a form usually involves two independent steps: Creating the

layout for the form itself and then writing a script program on the server side to

process the formation you get back from a form.

To create a form, you use the <FORM> tag. Inside the opening and

closing FORM tags are each of the individual form elements plus any other

HTML content to create a layout for that form.

The opening tag of the FORM element usually includes the attributes:

METHOD and ACTION. The METHOD attributes can be either GET or POST

which determines how your form data is sent to the script to process it.

The ACTION attribute is a pointer to the script that processes the form

on the server side. The ACTION can be included by a relative path or by a full

URL to a script on your server or somewhere else.

<FORM Method= post action=http://www.mytservser.com/cgi-bin/form-name.pl>

……………….

</FORM>

Page 31: miniproject

METHOD ATTRIBUTE:

The other required attribute for the <form> tag sets the methods by

which the browser form’s data to the server for processing. There are two ways:

the POST method and GET method. With POST method, the browser sends the

data in two steps: the browser first contacts the form-processing server specified in

the action attributes, and once contact is made, sends the data.

The GET method in the other hand contacts the form processing server

and sends the form data in a single transaction step: the browser appends the data

to the form’s action URL, separated by the question mark (?) character.

Page 32: miniproject

System

Requirements

SYSTEM REQUIREMENTS:

Software requirements:

Front end : JSP, Servlets

Back end : Oracle 9i

Web Server : Tomcat

Page 33: miniproject

Operating System : Windows XP

Languages : Java, J2EE

Hardware requirements:

Processor : Pentium2

Hard disk : 20GB or above

RAM : 128 MB

Speed : 800 MHz

Page 34: miniproject

System Analysis

Page 35: miniproject

SYSTEM ANALYSIS:

System Analysis is first stage according to System Development Life

Cycle (SDLC) model. This System Analysis is a process that starts with analyst.

Analysis is a detailed study of the various operations performed by a

system and their relationships within and outside the system. One aspect of

analysis is defining the boundaries of the system and determining whether or not a

candidate should consider other related systems. During analysis, data is collected

from the available files, decision points, and transactions handled by the system.

Logical system models and tools are used in analysis. Training,

experience, and common sense are required for collection of the information

needed to do the analysis.

EXISTING SYSTEM:

All the existing information of different alumni’s is not up to reachable

to the user. For example, the systems that are available in the market are much

proned to attacks and may there by cause in the loss of some important data. And

these system also lack in few advanced options such as file sharing. Some web

portals accessing data through the database is itself a difficult task. But the

proposed system ensure him of making his or her data secure.

PROPOSED SYSTEM:

Accessing data through a web browser makes easy and helpful to the

user. Our alumni are contained with more details of students which provide

portable and user friendly. So now our aim is to provide an appropriate platform in

the form of a web site for the users, members of the Portal, which consists of all

the various wide range of facilities and ensures them of the secure transactions,

transformation of data where ever required.

Page 36: miniproject

Apart from all these, we should also ensure him of making his or her data

secure. For this we should use proper identification, authentication and

authorization mechanisms to cut-out any loss or modification of data by illegal

users. This can be elaborated in a step fashion manner, i.e. First the user must

provide proper identification of himself and then authentication process must be

performed, i.e. the user is asked for the correct username and password, which are

given to the users at the time of registration process. And if they provide the

correct data to the administrator then only he must be allowed for further access or

else he must be denied permission there on. Once the user proves him self to be a

part of the community or group or proves himself to be the member of the portal,

then the proper authorization entities must be given as for the previous data to him.

The user must be given only the limited authority which is meant to him, or else

there may be a misuse of the authority, thereby, again the data will then be

considered insecure.

Limitations Of Proposed System:

o The application is done on a two-tier architecture which is slow. But can be

easily transformed into three-tier architecture

o Does not provide complete security features. But performs almost the best

authentication that’s necessary.

o Cannot be easily accommodated on Operating Systems other than Windows

REQUIREMENT ANALYSIS:

Requirement Analysis is a software engineering task that bridges the

gap between system level software allocation and software design. It provides the

system engineer to specify software function and performance indicate software’s

interface with the other system elements and establish constraints that software

must meet.

Page 37: miniproject

The basic aim of this stage is to obtain a clear picture of the needs and

requirements of the end-user and also the organization. Analysis involves

interaction between the clients and the analysis. Usually analysts research a

problem from any questions asked and reading existing documents. The analysts

have to uncover the real needs of the user even if they don’t know them clearly.

During analysis it is essential that a complete and consistent set of specifications

emerge for the system. Here it is essential to resolve the contradictions that could

emerge from information got from various parties.

This is essential to ensure that the final specifications are consistent.

It may be divided into 5 areas of effort.

1. Problem recognition

2. Evaluation and synthesis

3. Modeling

4. Specification

5. Review

Each Requirement analysis method has a unique point of view. However

all analysis methods are related by a set of operational principles. They are

The information domain of the problem must be represented and

understood.

The functions that the software is to perform must be defined.

The behavior of the software as a consequence of external events must be

defined.

The models that depict information, function and behavior must be

partitioned in a hierarchical or layered fashion.

The analysis process must move from essential information to the

implementation detail.

REQUIEMENT SPECIFICATION:

Page 38: miniproject

Specification Principles:

Software Requirements Specification plays an important role in creating

quality software solutions. Specification is basically a representation process.

Requirements are represented in a manner that ultimately leads to successful

software implementation.

Requirements may be specified in a variety of ways. However there are some

guidelines worth following: -

Representation format and content should be relevant to the problem

Information contained within the specification should be nested

Diagrams and other notational forms should be restricted in number and

consistent in use.

Representations should be revisable.

Software Requirements Specifications:

The software requirements specification is produced at the culmination

of the analysis task. The function and performance allocated to the software as a

part of system engineering are refined by establishing a complete information

description, a detailed functional and behavioral description, and indication of

performance requirements and design constraints, appropriate validation criteria

and other data pertinent to requirements

FEASIBILITY STUDY:

All projects are feasible, given unlimited resources and infinite time.

But the development of software is plagued by the scarcity of resources and

difficult delivery rates. It is both necessary and prudent to evaluate the feasibility

of a project at the earliest possible time.

Three key considerations are involved in the feasibility analysis.

Economic Feasibility:

Page 39: miniproject

This procedure is to determine the benefits and savings that are

expected from a candidate system and compare them with costs. If benefits

outweigh costs, and then the decision is made to design and implement the system.

Otherwise, further justification or alterations in proposed system will have to be

made if it is to have a chance of being approved. This is an ongoing effort that

improves in accuracy at each phase of the system life cycle.

Client accessing database has many disadvantages:

Consumes lot of time.

Maximizes the cost.

Not user friendly.

Accessing through web browser provides efficient benefits and helps to overcome

all the drawbacks.

Technical Feasibility:

Technical feasibility centers on the existing computer system

(hardware, software, etc.,) and to what extent it can support the proposed addition.

If the budget is a serious constraint, then the project is judged not feasible.

Software component such as JDBC (Java Data Base Connectivity) is

used to access the data stored in different databases using java programs. Another

software component such as ODBC (Open Data Base Connectivity) is a way to

connect from front-end tool to any back-end database engine.

A front-end tool is one which is used to provide user interface using

which the user will be able to manipulate the data. A back-end is responsible for

the actual manipulation of the database on the request of the front-end as well as

for storage and retrieval of information.

Operational Feasibility: People are inherently resistant to change, and computers

have been known to facilitate change. It is understandable that the introduction of

a candidate system requires special effort to educate, sell, and train the staff on

Page 40: miniproject

new ways of conducting business. . Our system is developed in such a way that it

is very user friendly, easy to learn how to work with and there is also not much

resistant to this package from the user side. As we are also providing user guide,

so the user can self educate regarding the system. Hence our candidate system

production is behaviorally feasible.

Page 41: miniproject

System Design

Page 42: miniproject

SYSTEM DESIGN:

The most creative and challenging phase of the life cycle is system

design. The term design describes a final system and the process by which it is

developed. It refers to the technical specifications that will be applied in

implementations of the candidate system. The design may be defined as “the

process of applying various techniques and principles for the purpose of defining

a device, a process or a system with sufficient details to permit its physical

realization”.

The designer’s goal is how the output is to be produced and in what

format. Samples of the output and input are also presented. Second input data and

database files have to be designed to meet the requirements of the proposed

output. The processing phases are handled through the program Construction and

Testing. Finally, details related to justification of the system and an estimate of

the impact of the candidate system on the user and the organization are

documented and evaluated by management as a step toward implementation.

The front-end used, JSP is made use to accept the data from the user

and to check for validity of the data entered by the user. Appropriate error

messages are displayed at required circumstances if the user has not entered any

value into the field. In addition, the value is checked for only numeric or alpha

numeric whenever needed to do so. Appropriate help is provided whenever

needed.

The back-end Oracle for Windows stores all the tables. The tables

were created using SQL statements. Constraints have been specified to maintain

the data integrity. All the data have been entered into the tables using the JSP

commands.

The importance of software design can be stated in a single word

“Quality”. Design provides us with representations of software that can be

assessed for quality. Design is the only way where we can accurately translate a

Page 43: miniproject

customer’s requirements into a complete software product or system. Without

design we risk building an unstable system, which might fail if small changes are

made. It may as well be difficult to test, or could be one who’s quality can’t be

tested. So it is an essential phase in the development of a software product.

PROJECT MODULES:

Web Portal is a means of communication between a group of people who belongs

to some organization, educational field or other fields. The basic thing which is necessary is

authentication is- It recognizes the user because different users will have different

information and we have to provide the right information to the right user also privacy of the

information is an important aspect. This is a server side web application. It uses external

relational Data Base Management System as a data tier. On a client side, a standard Web

browser is an application that is used for connecting the portal. Every user of this system

uses only a web browser as a client to connect to the system. The system logic shall be based

on J2EE which provides platform independence.

Modules to be considered in our project are:

o User

o Login

o Scrapping

o Administrator

USER: Alumni account gives you access to your mailbox provided giving the

right username and password as privacy of the information is an important aspect.

The basic thing which is necessary is authentication and thus providing services

for scrapbook, album, attendance etc. All these actions can be done by the user in

a single session. Thus when the user is authenticated, you will be brought to your

Page 44: miniproject

home page in which he can delete unwanted messages or can send the message or

can view the attendance of a particular person.

LOGIN:

Major things on the user login panel are:

User name text field:

A text field is there for entering the username required for entering the

login into the alumni.

Password text field:

A text field is there for entering the username required for entering the

login into the alumni. The password is into a hidden form from the user i.e. only

stars or dots appeared instead of characters.

Sign-in button:

To log into the alumni.

New user registration:

If the user is new he can register and have his/her details registered

with the software. This button will take user to a new user registration panel.

SCRAPPING:

You are now ready to scrap a message. To send a message:

1. Click on the new icon on the left of the toolbar. A New Message window

appears.

2. In the “to” box type in the address of the person you want to send to.

3. Type in your message in the blank area at the bottom of the window.

5. When you have finished with your message, click the Send button. Your

message will be sent and the window closes.

Page 45: miniproject

Deleting messages:

As your message box size has a limit, you should constantly delete

unwanted messages in your Scrapbook. To delete a message, click on the Delete

button on the toolbar.

ADMINISTRATOR:

The administrator gets alert when the user interacts with the system.

All the actions can be done by the database in a single session. The administrator

can create, delete, modify or can update the data. The administrator creates a new

account in the mail system; initializes settings for incoming and outgoing servers;

adds user to relevant message groups. Whatever action took place by the user, will

be immediately updated in the database like deleting a message or sending etc.

This database plays one of the significant roles in alumni.

DATA FLOW DIAGRAMS:

A data flow diagram is a logical model of a system. The model does not

depend on hardware, software and data structures of the organization. There is no

physical implication in a data flow diagram. Because the diagram is a graphic

picture of the logical system, it tends to be easy for every non-technical user to

understand and thus serves as an excellent communication tool. Finally a data flow

diagram is a good starting point for system design.

To construct a data flow diagram it uses four basic symbols. They are given

below.

Page 46: miniproject

Rectangle:

The above symbol is used to define source or destination of data.

Circle or Rounded Corners Rectangle:

The above symbols are defined to represent a process that transforms

or modifies the data.

Open-ended rectangle:

The above symbol is used to represent data storage.

One side arrow line:

This arrow shows the path of the data flow.

Page 47: miniproject

UML DIAGRAMS:

An emerging open standard for modeling object-oriented software.

Resulted from the convergence of notations from three leading object-

oriented methods:

OMT (James Rumbaugh), OOSE (Ivar Jacobson), Booch

(Grady Booch)

Supports the entire software development lifecycle

Supports diverse applications areas

Supported by several CASE tools

e.g. Rational ROSE, Together/J

Three categories

Modeling Elements (Things)

Relationships

Diagrams

Use case Analysis and Creating use cases:

The behavior of the system under development, that is the functionality

that must be provided by the system while documenting a use case model that

illustrates the system's intended functions (use cases), its surroundings (actors),

and relationships between the use cases and actors (use case diagrams). The most

Page 48: miniproject

important role of a use case model is that of communication among the developers

and the end users. It provides a vehicle used by the customers or end users and the

developers to discuss the system's functionality and behavior. The use case model

starts in the Inception phase with the Identification of actors and principa! use

cases for the system. The model is then matured in the Elaboration phase where

more detailed information is added to the identified use cases, and additional use

cases are added on an as needed.

Actors:

Actors are not part of the system, they represent anyone or anything

that must interact with the system. An actor may be

• Only input information to the system

• Only receive information from the systcm

• Input and receive information to and from the system

Typically these actors are found in the problem statement and by

conversations with customers and domain experts. In the UML, an actor is

represented as a stickman.

Use Cases model a dialogue between an actor and the system. They

represent the functionality provided by the system i.e, what capabilities will be

provided to an actor by the system. The collection of use cases for a system

constitutes ali the defined ways the system may be used.

The formal definition for a use case: A use case is a sequence of

transactions performed by a system that yields a measurable result of value for a

particular actor.

Page 49: miniproject

Each use case is documented with a flow of events. The flow of events

for a use case is a description of the events needed to accomplish the required

behavior of the use case. The flow of events is written in terms of what the system

should do, not how the svstem does it. That is, it is written in the language of the

domain, not in terms of implemcntation. The flow of events should include:

• When and how the use case starts and ends

• What interaction the use case has with the actors

• What data is needed by the use case

• The normal sequence of events for the use case

• The description of any alternate or exceptional l'lows

The flow of event documentation typically is created in the Elaboration

phase in an iterative manner. At first, only a brief description of the steps needed

to carry out the normal flow of the use case (i.e., what functionality is provided by

the use case) is written. As analysis progresses, the steps are fleshed out to add

more detail. Finally, the exceptional flows are added to the use case. The

following standard template is used for the creation of the flow of events

document. X. Flow of events for the <name> Use case

Preconditions:

Main Flow:

Sub flows (if applicable):

Alternative Flows:

Where X is a number from 1 to the number of use cases.

Use Case Relationships:

An association relationship may exist between an actor and a use case.

This type of association is often referred to as a communicates association since it

represents communication between an actor and a use case. An association may be

navigable in both directions (actor to use case and use case to actor), or it may be

Page 50: miniproject

navigable in only one direction (actor to use case or use case to actor). The

navigation direction of an association represents who is initiating the

communication (i.e., the actor is initiating the communication with the actor). An

association is represented as a line connecting the related elements. Adding an

arrowhead to the association line that denotes the direction depicts navigation in

only direction.

There are two types of relationships that may exist between use cases: uses

and extends. Multiple use cases may share pieces of the same functionality. This

functionality is placed in a separate use case rather than documenting it in every

use case that needs it. Uses relationships are created betvvcen the new use case

and any other use case that uses its functionality. A uses relationship is drawn as

an arrow with a large hole triangle (generali/.ation arrow) at the end closest to the

used case.

An extends relationship is used to show:

• Optional behavior

• Behavior that is only run under certain conditions, such as triggering an

alarm.

• Several different flows which may be run based on actor selection

Use case Diagrams:

A USE CASE diagram is a graphical view of some or all of the actors

use case, and their interactions identified for a system. Each system typically has a

main Use case diagram, which is a picture of the system boundary (actors) and the

major functionality provided by the system.

Class:

A class is a description of a group of objects with common properties

(attributes), common behavior (operations), common relationships to other objects

(association and aggregation), and common semantics. In the UML, a class is

Page 51: miniproject

dravvn as a compartmentalized rectangle. The compartments show the class name,

its structure, and its behavior. A class is shown.

Stereotypes and Classes:

As described in use cases Classes can also have stereotypes. Stereotype

provides the capabilitv to create a new kind of modeling element. Stereotypes

must be based on elements that are part of the UML metamodel. During analysis

three common stereotvpes for a class are entity, boundary, control. These

stereotypes are useful in defining the classes needed for a system under

development.

An entity class models information and associated behavior that is

generallv long lived. This type of class may reflect a real-world entity, or it may be

needed to perform tasks internal to the system. They are typically independent of

their surroundings; that is, the are not sensitive to how the surroundings

communicate with the system. They are application independent, meaning that

they may be used in more than one application.

Boundary classes handle the communication betvveen the system

surroundings and the inside of the system. They can provide the interfaces to a

user or another system (i.e., the interface to an actor). They constitute the

Page 52: miniproject

surroundings-dependent part of the system interfaces. Boundary classes are used to

model the system interfaces.

Control classes model sequencing behavior specific to one or more use

cases. Control classes coordinate the events needed to realize the behavior

specified in the use čaše. We can think of a control class as "running" or

"executing" the use case-it represents the dynamics of the use čaše. Control classes

typically are application dependent classes.

Class Diagrams:

Class diagrams are created to provide a picture or view of some or all

of classes in the model. Class diagrams may also be created the use case view of

model. These diagrams typically are attached to use cases and contain a view of

the classes participating in the use case. The Main class diagram in the logical

view of the model is typically a picture of the packages in the system. Each

package also has its own Main class diagram, which typically displays the public

classes of the package.

Sequence diagrams:

A sequence diagram shows object interactions arranged in time

sequence. It depicts the objects and classes involved in the scenario and the

sequence of messages exchanged betvveen the objects needed to carryout the

functionality of the scenario. Sequence diagrams typically are associated with use

cases in the model of the system under development.

In the UML, an object in a sequence diagram is drawn as a rectangle

containing the name of the object, underlined. An object can be named in one of

the three ways: the object name, the object name and its class, or just the class

name (unonymous object). The UML notation for objects and messages in a

sequence diagram is shown in

Page 53: miniproject

State chart Diagrams:

State chart diagrams describe the behavior of an individual object as a

number of states and transitions between these states. A state represents a

particular set of values for an object. The sequence diagram focuses on the

messages exchanged between objects, the state chart diagrams focuses on the

transition between states.

Activity Diagrams:

An activity diagram describes a system in terms of activities. Activities

are states that represent the execution of a set of operations. Activity diagrams are

similar to flowchart diagram and data flow.

Page 54: miniproject

LOGIN MODULE DETAILS:

Page 55: miniproject

USECASE DIAGRAMS:

USER PAGE:

1. ACTORS:

Primary actors:

User.

Secondary actors:

User’s mail server.

2. USECASE DIAGRAM:

authentication

deleting messages

user

checking messages

<<include>>

sending messages

<<include>>

3. DESCRIPTION:

The main actions include authenticating a user with valid user name and

password, logging into the user account, providing him services for interact with

the system.

Page 56: miniproject

4. STEPS:

1. User provides username and password.

2. If username or password wrong, system reports error.

3. User provides various options.

LOGIN PAGE:

1. ACTORS:

Primary actors:

User.

Secondary actors:

N/A.

2. USECASE DIAGRAM:

userlogin

3. DESCRIPTION:

This usecase describes how a registered user can login to the system.

4. STEPS:

Page 57: miniproject

1. System must ask username and password of a user.

2. System must verify the right combination of username and password.

3. System should report login problem if verification fails.

4. On successful login, system should allow user access to his/her

messages.

SCRAPS:

1. ACTORS:

Primary actors:

User.

Secondary actors:

N/A.

2. USECASE DIAGRAM:

usersend

write

scrapbook

delete

Page 58: miniproject

3. DESCRIPTION:

The above diagram represents the main actions done by scraps when he

is ready to view a message. While sending, type the address of the person you

want to send to in the “To” box, and type your message in the blank area at the

bottom of the window. When you have finished with your message, click the Send

button. All these actions can be done by the user in a single session.

4. STEPS:

System must display the particular messages of a particular folder

selected by the user.

ADMINISTRATOR:

1. ACTORS:

Primary actors:

User.

Secondary actors:

N/A.

2. DESCRIPTION:

The above usecase diagram represents the main actions done by the

database when the user interacts with the system. All the actions other than login

follow only when the user is authenticated. All these actions can be done by the

database in a single session. The database can create, modify, remove and update

the actions according to the user interacted with his account. The database gets

alert when the user interacts with the system as it plays a significant role in the

alumni.

Page 59: miniproject

3. USECASE DIAGRAM:

create

removeDatabase

update

4. STEPS:

1. Administrator creates a new account in the mail system.

2. Administrator initializes settings for incoming and outgoing servers.

3. Administrator adds user to relevant message groups.

4. Whatever action took place by the user, will be immediately updated

in the database like deleting a message or sending etc.

5. The database gets alert when the user interacts with the system.

Page 60: miniproject

CLASS DIAGRAMS:

Class diagrams are created to provide a picture or view of some or all

of classes in the model. Class diagrams may also be created the use case view of

model.

These diagrams typically are attached to use cases and contain a view

of the classes participating in the use case. The Main class diagram in the logical

view of the model is typically a picture of the packages in the system. Each

package also has its own Main class diagram, which typically displays the public

classes of the package.

User

usernamepassword

login()

Login

login

check messages()perform operations()

Administrator

usernamepassword

create()modify()update()

Scrapbook

write()send()delete()

Page 61: miniproject

CLASS DIAGRAMS WITH RELATIONSHIPS:

User

usernamepassword

login()

Administrator

usernamepassword

create()modify()update()

Login

login

check messages()perform operations()

Scrapbook

write()send()delete()

Scrapbook

write()send()delete()

Description:

In the above class diagram we use the Association and Dependency

relationships. An association is used among the users, inbox and composes as it is

just a link being a connection among objects that is a relationship between a whole

and its parts. Dependency is used among the user and database as it is a

relationship between two things in which a change in one thing may affect the

Page 62: miniproject

semantics of the other thing. The above two are the only relationships used in our

class diagrams.

SEQUENCE DIAGRAMS:

user server

initializing screen

login details

enter login details send login verification verification

connection failed

... connection established

write

send

delete

database

updates

Scrap book

Page 63: miniproject

SAMPLE CODING

Page 64: miniproject

/* login.jsp*/

<%@ page language="java" import="java.sql.*" %>

<% session.invalidate();%>

<html>

<head><title>Login</title>

</head>

<script language="javascript">

function validate(objForm)

{

if(objForm.username.value.length==0){

alert("Please enter Username!");

objForm.username.focus();

return false;

}

if(objForm.password.value.length==0){

alert("Please enter Password!");

objForm.password.focus();

return false;

}

return true;

}

</script>

<body>

<center>

<jsp:include page="Header1.jsp" />

Page 65: miniproject

<DIV style="position:absolute; left:0px; top:190px; " align="left" align="top">

<form action="auth" name="entry" onSubmit="return validate(this)">

<input type="hidden" value="list" name="action">

<DIV style="position:absolute; left:350px; top:20px; " align="left" align="top">

<table border="1" cellpadding="20" cellspacing="2" >

<tr><td>

<table cellspacing="10" cellpadding="20">

<tr><td>

<table>

<tr><td colspan="2" align="center"><h2> User Login </h2></td></tr>

<tr><td colspan="2">&nbsp;</td></tr>

<tr><td><b>USERNAME:&nbsp;</b></td><td><input name="username"

type="text" size="30"></td></tr>

<tr><td><b>PASSWORD:&nbsp;&nbsp;&nbsp;</b></td><td><input

name="password" type="password" size="30"></td></tr>

<tr><td colspan="2" align="center"><input type="submit"

value="Submit"></td></tr>

</table>

</td></tr>

</table>

</td></tr>

</table>

</DIV>

<br><br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br>

<div style="position: absolute; left: 320px; top: 326px; width: 226px; height:

19px; z-index: 9;" align="left">

<font style="font-size: 16px;" color="#000000" face="Times New

Roman"><b>Forgot Password ? Click Here !!</b></font>

Page 66: miniproject

</div>

<div style="position: absolute; left: 250px; top: 300px; width: 226px; height:

19px; z-index: 8;" align="left">

<p><a href="forgot.jsp" ><img src="images/bv01001.gif" width=312 height=45

border=0></a>

</div>

<div style="position: absolute; left: 690px; top: 326px; width: 226px; height:

19px; z-index: 9;" align="left">

<font style="font-size: 16px;" color="#000000" face="Times New

Roman"><b>NEW USER ?&nbsp; Register Here !!</b></font>

</div>

<div style="position: absolute; left: 620px; top: 295px; width: 226px; height:

19px; z-index: 8;" align="left">

&nbsp;&nbsp;<a href="Register.jsp"><img src="images/bv01001.gif" width=312

height=45 border=0> </a>

</div>

</form>

</center>

</body>

</html>

Page 67: miniproject

/ * Register.jsp*/

<script>

function CheckInput(f)

{

if(f.username.value=="")

{

alert("Please enter User Name");

f.username.focus();

return false;

}

if(f.pwd.value.length==0){

alert("Please enter Password!");

f.password.focus();

return false;

}

if(f.pwd1.value.length==0){

alert("Please enter Password in the next field too!!");

f.password1.focus();

return false;

}

if(f.pwd1.value != f.pwd.value){

alert("Password mismatch .. Try again!!");

f.password1.focus();

return false;

}

if(f.secque.selectedIndex==0)

Page 68: miniproject

{

alert("Please select secret question");

f.secque.focus();

return false;

}

if(f.secans.value=="")

{

alert("Please enter the Answer");

f.secans.focus();

return false;

}

if(f.fname.value=="")

{

alert("Please enter First Name");

f.fname.focus();

return false;

}

if(f.sex.selectedIndex==0)

{

alert("Please select the Gender");

f.sex.focus();

return false;

}

if(f.dat.value.length==0){

alert("Please Enter your Birth-Date!");

f.dat.focus();

return false;

Page 69: miniproject

}

if(f.dat.value=="Select Date"){

alert("Please Enter your Birth-Date!");

f.dat.focus();

return false;

}

if(f.month.value.length==0){

alert("Please Enter your Birth-Month!");

f.month.focus();

return false;

}

if(f.month.value=="Select Month"){

alert("Please Enter your Birth-Month!");

f.month.focus();

return false;

}

if(f.year.value=="yyyy"){

alert("Please Enter your Birth-Year!");

f.year.focus();

return false;

}

if(f.branch.value="")

{

alert("Please select your Branch");

f.branch.focus();

return false;

}

if(f.address.value=="")

Page 70: miniproject

{

alert("Please enter Address");

f.address.focus();

return false;

}

if(f.state.selectedIndex==0)

{

alert("Please select State Name");

f.state.focus();

return false;

}

if(f.country.selectedIndex==0)

{

alert("Please select Country Name");

f.country.focus();

return false;

}

if(f.email.value=="")

{

alert("Please enter Email ID");

f.email.focus();

return false;

}

}

</script>

<html>

<head>

Page 71: miniproject

<title>User Form</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>

<jsp:include page="Header.jsp" />

<DIV style="position:absolute; left:0px; top:190px; " align="left" align="top">

<form name=f action="details" name="entry" onSubmit="return

CheckInput(this)" >

<body bgcolor="#FFFFCC">

<TABLE cellSpacing=0 cellPadding=5 width="100%" align=center border=0>

<TBODY>

<TR>

<TD ><h3><font face="Verdana, Arial, Helvetica, sans-serif">Registration

Information</font></h3>

<P><SPAN class=lightheading>Fields marked with a <SPAN

class=asterix>*</SPAN> are compulsory<BR> </SPAN></P></TD>

</TR>

<TR>

<TD bgColor=#f9f9f9 colSpan=2><SPAN class=medium heading><b>Access

Information</b></SPAN></TD>

</TR>

<TR>

<TD style="PADDING-LEFT: 20px; BORDER-BOTTOM: #eaeaea 1px

solid" width="37%"><STRONG>User ID</STRONG><SPAN

class=asterix>*</SPAN><BR>

</TD>

<TD width="63%" align=left style="BORDER-BOTTOM: #eaeaea 1px

solid">

<P>

Page 72: miniproject

<INPUT maxLength=200 name=username onBlur="return Check1()">

<BR>

</P></TD>

</TR>

<TR>

<TD style="PADDING-LEFT: 20px; BORDER-BOTTOM: #eaeaea 1px

solid" width="37%"><STRONG>Password</STRONG><SPAN

class=asterix>*</SPAN></TD>

<TD style="BORDER-BOTTOM: #eaeaea 1px solid"

align=left><INPUT type=password maxLength=50

name=pwd > &nbsp;</TD>

</TR>

<TR>

<TD style="PADDING-LEFT: 20px; BORDER-BOTTOM: #eaeaea 1px

solid" width="37%"><STRONG>Re-Type Password</STRONG><SPAN

class=asterix>*</SPAN></TD>

<TD style="BORDER-BOTTOM: #eaeaea 1px solid"

align=left><INPUT type=password maxLength=50

name=pwd1> &nbsp;</TD>

</TR>

<TR>

<TD style="PADDING-LEFT: 20px; BORDER-BOTTOM: #eaeaea 1px

solid" width="37%"><STRONG>Hint Question<SPAN

class=asterix>*</SPAN></STRONG><BR>You will be asked this question

incase<BR> you forget your passsword</TD>

<TD style="BORDER-BOTTOM: #eaeaea 1px solid" align = left> <SELECT

name=secque>

<OPTION value="" selected > Select a hint question </OPTION>

Page 73: miniproject

<OPTION >Whats my pets name</OPTION>

<OPTION >Whats my fathers name</OPTION>

</SELECT> </TD>

</TR>

<TR>

<TD style="PADDING-LEFT: 20px; BORDER-BOTTOM: #eaeaea 1px

solid" width="37%"><STRONG>Answer<SPAN

class=asterix>*</SPAN></STRONG></TD>

<TD style="BORDER-BOTTOM: #eaeaea 1px solid"><INPUT

maxLength=500 name=secans></TD>

</TR>

<TR>

<TD colSpan=2>&nbsp;</TD>

</TR>

<TR>

<TD bgColor=#f9f9f9 colSpan=2><SPAN class = mediumheading><b>Your

Profile</b></SPAN></TD>

</TR>

<TR>

<TD style="PADDING-LEFT: 20px; BORDER-BOTTOM: #eaeaea 1px

solid" width="37%"><STRONG>First Name</STRONG><SPAN

class=asterix>*</SPAN></TD>

<TD style="BORDER-BOTTOM: #f9f9f9 1px solid"> <SPAN

class = rdo>

<LABEL for=NewReg1_title1></LABEL>

</SPAN> <INPUT id=NewReg1_fname maxLength=50

name = fname > </TD>

</TR>

Page 74: miniproject

<TR>

<TD style="PADDING-LEFT: 20px; BORDER-BOTTOM: #eaeaea 1px

solid" width="37%"><STRONG>Middle Name</STRONG></TD>

<TD style="BORDER-BOTTOM: #eaeaea 1px solid"><INPUT

maxLength=50 name=mname></TD>

</TR>

<TR>

<TD style="PADDING-LEFT: 20px; BORDER-BOTTOM: #eaeaea 1px

solid" width="37%"><STRONG>Last Name</STRONG><SPAN

class=asterix>*</SPAN></TD>

<TD style="BORDER-BOTTOM: #eaeaea 1px solid"> <INPUT

id=NewReg1_lname maxLength=50 name=lname> </TD>

</TR>

<TR>

<TD style="PADDING-LEFT: 20px; BORDER-BOTTOM: #eaeaea 1px

solid" width="37%"><STRONG>Gender</STRONG><SPAN

class=asterix>*</SPAN></TD>

<TD style="BORDER-BOTTOM: #eaeaea 1px solid">

<select name=sex>

<option><--Select Gender--></option>

<option>Male</option>

<option>Female</option>

</select>

</TD>

</TR>

<tr><td style="PADDING-LEFT: 20px; BORDER-BOTTOM: #eaeaea 1px

solid" width="37%"> <strong>DATE OF BIRTH* : </strong></td>

Page 75: miniproject

<td style="BORDER-BOTTOM: #eaeaea 1px solid"><select name="dat"

><option selected>Select Date</option>

<option value = "1">1<option value = "2">2<option value = "31">31

</select>&nbsp; &nbsp;

<select name = "month" ><option selected>Select Month</option><option value

= "January">January <option value = "December">December</select> &nbsp;

&nbsp;

<input type="year" maxlength="4" name="year" size="4" value="yyyy"

autocomplete=off ></td></tr>

<tr>

<td style="PADDING-LEFT: 20px; BORDER-BOTTOM: #eaeaea 1px solid"

width="37%"><STRONG>Branch</STRONG><SPAN

class=asterix>*</SPAN></TD>

<TD style="BORDER-BOTTOM: #eaeaea 1px solid"> <select

name="branch">

<option>CSE</option>

<option>EEE</option>

<option>ECE</option>

<option>IT</option>

<option>MECH</option>

</select></TD>

</TR>

<TR>

<TD style="PADDING-LEFT: 20px; BORDER-BOTTOM: #eaeaea 1px

solid" width="37%"><STRONG>Status: </STRONG><SPAN

class=asterix>*</SPAN></TD>

<TD style="BORDER-BOTTOM: #eaeaea 1px solid"><textarea

maxLength=300 name=status></textarea></TD>

Page 76: miniproject

</TR> <TR>

<TD colSpan=2>&nbsp;</TD>

</TR>

<TR>

<TD bgColor=#f9f9f9 colSpan=2><SPAN

class=mediumheading><b>Contact Information</b></SPAN></TD>

</TR>

<TR>

<TD style="PADDING-LEFT: 20px; BORDER-BOTTOM: #eaeaea 1px

solid" width="37%"><STRONG>Address </STRONG><SPAN

class=asterix>*</SPAN></TD>

<TD style="BORDER-BOTTOM: #eaeaea 1px solid"><textarea

maxLength=300 name=address></textarea></TD>

</TR>

<TR>

<TD style="PADDING-LEFT: 20px; BORDER-BOTTOM: #eaeaea 1px

solid" width="37%"><STRONG>City</STRONG><SPAN

class=asterix>*</SPAN></TD>

<TD style="BORDER-BOTTOM: #eaeaea 1px solid">

<!--<input type="text" name="city" size="20" maxLength="100">-->

<INPUT id=NewReg1_city maxLength=50 name=city>

</TD> </TR> <TR>

<TD style="PADDING-LEFT: 20px; BORDER-BOTTOM: #eaeaea 1px

solid" width="37%"><STRONG>State</STRONG><SPAN

class=asterix>*</SPAN></TD>

<TD style="BORDER-BOTTOM: #eaeaea 1px solid"><SELECT id =

NewReg1_state onchange = SelectCountry() name=state>

Page 77: miniproject

<OPTION selected>Select your state</OPTION><OPTION>Andaman and

Nicobar Islands</OPTION></TR>

<TR><TD style="PADDING-LEFT: 20px; BORDER-BOTTOM: #eaeaea 1px

solid" width="37%"><STRONG>Pin</STRONG><SPAN

class=asterix>*</SPAN></TD>

<TD style="BORDER-BOTTOM: #eaeaea 1px solid">

<!--<input type="text" name="pin" size="20" maxLength="9">-->

<INPUT id=NewReg1_pin maxLength=9 name=pin> </TD>

</TR><TR>

<TD style="PADDING-LEFT: 20px; BORDER-BOTTOM: #eaeaea 1px

solid" width="37%"><STRONG>Country</STRONG><SPAN

class=asterix>*</SPAN></TD><TD style="BORDER-BOTTOM: #eaeaea 1px

solid"><SELECT name=country>

<TD style="PADDING-LEFT: 20px; BORDER-BOTTOM: #eaeaea 1px solid"

width="37%"><STRONG>Email Id*</STRONG></TD>

<TD style="BORDER-BOTTOM: #eaeaea 1px solid">

<!--<input type="text" name="email" size="20" maxLength="150">-->

<INPUT id=NewReg1_email maxLength=150 name = email > </TD>

</TR><TR><TD style="PADDING-LEFT: 20px; BORDER-BOTTOM:

#eaeaea 1px solid" width="37%"><STRONG>Phone Number

</STRONG></TD><TD style="BORDER-BOTTOM: #eaeaea 1px solid">

<!--<input type="text" name="CountryCode" size="7" maxLength="5">

<input type="text" name="STDCode" size="5" maxLength="5">-->

<INPUT maxLength=9 size=15 name=cell>

<!--<br>Country &nbsp; STD &nbsp;&nbsp;&nbsp; Phone-->

</TD></TR><TR><TD style="PADDING-LEFT: 20px; BORDER-BOTTOM:

#eaeaea 1px solid" width="37%"><STRONG>Mobile

Numer*</STRONG></TD>

Page 78: miniproject

<INPUT type=submit value=Submit >

</center> </iframe></form></body></html>

/* Registration process */

<%@ page language="java" import="java.sql.*" %>

<html>

<head>

<title>Processing . . .</title>

</head>

<body>

<%

String fname=request.getParameter("fname");

String lname=request.getParameter("lname");

String sex=request.getParameter("sex");

String dat=request.getParameter("dat");

String month=request.getParameter("month");

String year=request.getParameter("year");

String mobile=request.getParameter("mobile");

String address=request.getParameter("address");

String email=request.getParameter("email");

String city=request.getParameter("city");

String branch=request.getParameter("branch");

String username=request.getParameter("username");

if(username==null) username="";

session.setAttribute("username",username);

String pwd=request.getParameter("pwd");

if(mname.equals(null))

mname=" ";

Connection con = null;Statement stmt = null;String qry;ResultSet rst=null;

Page 79: miniproject

try {

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

con=DriverManager.getConnection("jdbc:odbc:oradsn","scott","tiger");

stmt=con.createStatement();

qry="insert into details values('"+username+"','"+pwd+"','"+pwd1+"', '"

+secque +'", '" + secans + "' , '"+fname+"', '"+mname+"', '"+lname+"', '"+sex+"',

'"+dat+"', '"+month+"', '"+year+"', '" +branch +"' , '" +address + "', '" +city + "', '"

+state + "', '" + country + "','"+pin+"','"+email+"', '"+cell+"',

'"+mobile+"','"+status+"' )";

i=stmt.executeUpdate(qry);

if(i!=0) {

%>

<DIV style="position:absolute; left:50px; top:155px;" align="left" align="top">

<table border=0 cellspacing=10 cellpadding=10>

<tr><td><h3>Congratulations &nbsp; "<i><%=firstname%></i>"</h3>

</table></div><%}else{%>

<DIV style="position:absolute; left:50px; top:155px; " align="left" align="top">

<h3>Sorry for the inconvience . . .</h3><h4>"<i><%=firstname%></i>" is not

successfully registered!!</h4></div><%}

} catch ( Exception ex)

{ System.out.println("error"); ex.printStackTrace();

}%></body></html>

Page 80: miniproject

/ * Edit profile * /

<%

String username=(String) session.getAttribute("username");

if(username==null) username="";

session.setAttribute("username",username);

%>

<script>

function CheckInput(f)

{

if(f.fname.value=="")

{

alert("Please enter First Name");

f.fname.focus();

return false;

}

if(f.lname.value=="")

{

alert("Please enter Last Name");

f.lname.focus();

return false;

}

if(f.sex.selectedIndex==0)

{

alert("Please select the Gender");

f.sex.focus();

Page 81: miniproject

return false;

}

if(f.dat.value.length==0){

alert("Please Enter your Birth-Date!");

f.dat.focus();

return false;

}

if(f.dat.value=="Select Date"){

alert("Please Enter your Birth-Date!");

f.dat.focus();

return false;

}

if(f.month.value.length==0){

alert("Please Enter your Birth-Month!");

f.month.focus();

return false;

}

if(f.month.value=="Select Month"){

alert("Please Enter your Birth-Month!");

f.month.focus();

return false;

}

if(f.year.value.length==0){

alert("Please Enter your Birth-Year!");

f.year.focus();

return false;

}

if(f.year.value=="yyyy"){

Page 82: miniproject

alert("Please Enter your Birth-Year!");

f.year.focus();

return false;

}

if(f.branch.value="")

{

alert("Please select your Branch");

f.branch.focus();

return false;

}

if(f.pin.value=="")

{

alert("Please enter PIN Code Number");

f.pin.focus();

return false;

}

if(f.country.selectedIndex==0)

{

alert("Please select Country Name");

f.country.focus();

return false;

}

if(f.email.value=="")

{

alert("Please enter Email ID");

f.email.focus();

return false;

}

Page 83: miniproject

}

</script>

<html>

<head>

<title>User Form</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>

<jsp:include page="Header.jsp" />

<DIV style="position:absolute; left:0px; top:190px; " align="left" align="top">

<form name=f action="updateProfile.jsp" name="entry" onSubmit="return

CheckInput(this)" >

<body bgcolor="#FFFFCC">

<TABLE cellSpacing=0 cellPadding=5 width="100%" align = center border=0>

<TBODY>

<TR>

<TD><h3><font face = "Verdana, Arial , Helvetica , sans-serif" >Edit

Profile</font></h3>

<P><SPAN class=lightheading>Fields marked with a <SPAN class =

asterix>*</SPAN> are compulsory<BR> </SPAN></P></TD>

</TR>

<TR>

<TR>

<TD bgColor=#eaeaea colSpan=2><SPAN class = mediumheading><b>Your

Profile</b></SPAN></TD>

</TR>

<TR>

Page 84: miniproject

<TD style="PADDING-LEFT: 20px; BORDER-BOTTOM: #eaeaea 1px

solid" width="37%"><STRONG>First Name</STRONG><SPAN

class = asterix> * </SPAN></TD>

<TD style="BORDER-BOTTOM: #eaeaea 1px solid"> <SPAN

class = rdo>

<LABEL for=NewReg1_title1></LABEL>

</SPAN> <INPUT id=NewReg1_fname maxLength=50

name = fname> </TD>

</TR>

<TR>

<TD style="PADDING-LEFT: 20px; BORDER-BOTTOM: #eaeaea 1px

solid" width="37%"><STRONG>Middle Name</STRONG></TD>

<TD style="BORDER-BOTTOM: #eaeaea 1px solid"><INPUT

maxLength=50 name=mname></TD>

</TR>

<TR> <TD style="PADDING-LEFT: 20px; BORDER-BOTTOM: #eaeaea 1px

solid" width="37%"><STRONG>Last Name</STRONG><SPAN

class=asterix>*</SPAN></TD>

<TD style="BORDER-BOTTOM: #eaeaea 1px solid"> <INPUT

id=NewReg1_lname maxLength=50 name=lname> </TD>

</TR>

<TR>

<TD style="PADDING-LEFT: 20px; BORDER-BOTTOM: #eaeaea 1px

solid" width="37%"><STRONG>Gender</STRONG><SPAN

class=asterix>*</SPAN></TD>

<TD style="BORDER-BOTTOM: #eaeaea 1px solid">

<select name=sex>

<option><--Select Gender--></option>

Page 85: miniproject

<option>Male</option>

<option>Female</option>

</select>

</TD>

</TR>

<tr><td style="PADDING-LEFT: 20px; BORDER-BOTTOM: #eaeaea 1px

solid" width="37%"> <strong>DATE OF BIRTH* : </strong></td>

<td style="BORDER-BOTTOM: #eaeaea 1px solid">

<select name="dat" ><option selected>

Select date</option><optionvalue="1">1<option value = "15">15</select>&nbsp;

&nbsp;

<select name = "month" ><option selected>

Select Month</option><option value = "January">January<option value =

"December">December</select> &nbsp; &nbsp;

<input type = "year" maxlength="4" name = "doby" size="4" value="yyyy"

autocomplete=off ></td></tr>

<tr><td style="PADDING-LEFT: 20px; BORDER-BOTTOM: #eaeaea 1px solid"

width="37%"><STRONG>Branch</STRONG><SPAN class = asterix > *

</SPAN></TD>

<TD style="BORDER-BOTTOM: #eaeaea 1px solid"> <select

name="branch">

<option>CSE</option>

<option>IT</option>

</select></TD> </TR>

<TR>

<TD style="PADDING-LEFT: 20px; BORDER-BOTTOM: #eaeaea 1px

solid" width="37%"><STRONG>Status </STRONG><SPAN

class=asterix>*</SPAN></TD>

Page 86: miniproject

<TD style="BORDER-BOTTOM: #eaeaea 1px solid"><textarea

maxLength=300 name=status></textarea></TD> </TR>

<TR>

<TD colSpan=2>&nbsp;</TD>

</TR>

<TR>

<TD bgColor=#eaeaea colSpan=2><SPAN class = mediumheading > <b>

Contact Information</b></SPAN></TD></TR>

<TR>

<TD style="PADDING-LEFT: 20px; BORDER-BOTTOM: #eaeaea 1px

solid" width="37%"><STRONG>Address </STRONG><SPAN

class=asterix>*</SPAN></TD>

<TD style="BORDER-BOTTOM: #eaeaea 1px solid"><textarea maxLength

= 300 name = address></textarea></TD>

</TR>

<TR>

<TD style="PADDING-LEFT: 20px; BORDER-BOTTOM: #eaeaea 1px

solid" width="37%"><STRONG>City</STRONG><SPAN

class=asterix>*</SPAN></TD>

<TD style="BORDER-BOTTOM: #eaeaea 1px solid">

<!--<input type="text" name="city" size="20" maxLength="100">-->

<INPUT id=NewReg1_city maxLength=50 name=city>

</TD>

</TR>

<TR>

<TD style="PADDING-LEFT: 20px; BORDER-BOTTOM: #eaeaea 1px

solid" width="37%"><STRONG>State</STRONG><SPAN

class=asterix>*</SPAN></TD>

Page 87: miniproject

<TD style="BORDER-BOTTOM: #eaeaea 1px solid"><SELECT id =

NewReg1_state onchange=SelectCountry() name = state>

<OPTION selected>Select your state</OPTION>

<OPTION >Andaman and Nicobar Islands</OPTION>

</SELECT></TD></TR><TR><TDstyle="PADDING-LEFT:20px;

ORDER-BOTTOM#eaeaea1pxsolid"width="37

%"><STRONG>Pin</STRONG><SPAN class=asterix>*</SPAN></TD>

<TD style="BORDER-BOTTOM: #eaeaea 1px solid">

<!--<input type="text" name="pin" size="20" maxLength="9">-->

<INPUT id=NewReg1_pin maxLength=9 name=pin> </TD>

</TR><TR> <TD style="PADDING-LEFT: 20px; BORDER-BOTTOM:

#eaeaea 1px solid" width="37%"><STRONG>Country</STRONG><SPAN

class=asterix>*</SPAN></TD><TD style="BORDER-BOTTOM: #eaeaea 1px

solid"><SELECT name=country><OPTION value=""selected>Selectyour

Country</OPTION>

<OPTION>India</OPTION </TR>

</html>

Page 88: miniproject

Testing

Page 89: miniproject

TESTING AND VALIDATION

Like other programs, Java should be thoroughly tested before you make

them available for the others to use.

Testing :

Testing is used to established the presence of defects in a program and it

is used to estimate whether or not the program operationally usable. Testing can

only demonstrate the presence of errors. It cannot prove their absence.

Testing specification & Documentation:

Testing is the process of detecting errors. Testing performs a very critical

role for quality assurance and for ensuring the reliability of software. The results

of testing are used later on during maintenance also

Psychology of Testing:

The aim of testing is often to demonstrate that a program works by showing

that it has no errors. The basic purpose of testing phase is to detect the errors that

may be present in the program. Hence one should not start testing with the intent

of showing that a program works, but the intent should be to show that a program

doesn’t work. Testing is the process of executing a program with the intent of

finding errors.

Testing Objectives:

The main objective of testing is to uncover a host of errors, systematically

and with minimum effort and time. Stating formally, we can say,

Page 90: miniproject

Testing is a process of executing a program with the intent of finding an

error.

A successful test is one that uncovers an as yet undiscovered error.

A good test case is one that has a high probability of finding error, if it

exists.

The tests are inadequate to detect possibly present errors.

The software more or less confirms to the quality and reliable standards.

LEVELS OF TESTING

In order to uncover the errors present in different phases we have the

concept of levels of testing. The basic levels of testing are

Testing:

Client Needs Acceptance

Requirements System Testing

Design Integration Testing

Code Unit Testing

It is a process of establishing confidence that a program or system does

what it is proposed of. Testing is the only way to assure the quality of software

Page 91: miniproject

and it is an umbrella activity rather than a separate phase. This is an activity to be

performed in parallel with the software effort and one that consists of its own

phases of analysis, design, implementation, execution and maintenance.

Unit Testing

The detailed design document is the base line for testing phase. The

code is verified with the detailed design document, hence the internal logic of all

the units are tested. This testing method considers a module as single unit and

checks the unit at interfaces and communicates with other modules rather than

getting into details at statement level. Here the module will be treated as a black

box, which will take some inputs and generate output. Outputs for a given set of

input combination are pre-calculated and are generated by the module.

In this project each service can be thought of a module. There are so

many modules like Login, Administrator, and Scraps. Each module has been

tested by giving different sets of inputs when developing the module as well as

finishing the development so that each module works without any error. The

inputs are validated when accepting from the user.

Module Testing

A module is a collection of dependent components. A module

encapsulates related components, so can be tested without other system

modules.

Integration testing:

After the unit testing we have to perform integration testing. The goal

here is to see if modules can be integrated properly, the emphasis being on testing

interfaces between modules. This testing activity can be considered as testing the

design and hence the emphasis on testing module interactions.

In this project the main system is formed by integrating all the

modules. When integrating all the modules I have checked whether the integration

Page 92: miniproject

effects working of any of the services by giving different combinations of inputs

with which the two services run perfectly before Integration. Here all the pre-

tested individual modules will be assembled to create the larger system and tests

are carried out at system level to make sure that all modules are working in

synchronous with each other. This testing methodology helps in making sure that

all modules which are running perfectly when checked individually and are also

running cohesion with other modules. For this testing we create test cases to check

all modules once and then generated test combinations of test paths through out

the system to make sure that no path are making its way into chaos.

Validation testing:

Testing is a major quality control measure employed during software

development. Its basic function is to detect errors. Sub functions when combined

may not produce than it is desired. Global data structures can represent the

problems. Integrated testing is a systematic technique for constructing the program

structure while conducting the tests. To uncover errors that are associated with

interfacing the objective is to make test modules and built a program structure that

has been detected by design. In a non-incremental integration all the modules are

combined in advance and the program is tested as a whole. Here errors will appear

in an endless loop function. In incremental testing the program is constructed and

tested in small segments where the errors are isolated and corrected. Different

incremental integration strategies are top-down integration, bottom-up integration,

regression testing.

Regression Testing:

Each time a new module is added as a part of integration as the software

changes. Regression testing is an actually that helps to ensure changes that do not

introduce unintended behavior as additional errors.

Regression testing may be conducted manually by executing a subset of all test

cases and results for subsequent playback tools enables the software engineer to

Page 93: miniproject

capture the test case and results for subsequent playback and compression. The

regression suit contains different classes of test cases

System Testing

The subsystems are integrated to makeup the entire system. The

testing process is concerned with finding errors which result from unanticipated

interactions between subsystems.

The testing process includes checking for

No errors in the program

Work according to the requirements

See for proper appearance of the pictures

The controls will work properly

This process continues from step 2 until entire program structure is

reached. In top down integration strategy decision making occurs at upper levels in

the hierarchy and is encountered first. If major control problems do exists early

recognition’s is essential.

If Depth First integration is selected a complete function of the software may be

implemented and demonstrated.

Some problems occur when processing at low levels in hierarchy is

required to adequately test upper level steps to replace low-level modules at the

beginning of the top-down testing. So no data flows upwards in the program

structure.

Bottom-Up Integration Testing:

Begins construction and testing with automatic modules. As modules are

integrated from the bottom-up, processing requirement for modules subordinate to

a given level is always available and need for stubs is eliminated.

Page 94: miniproject

The following steps implement this strategy:

Low-level modules are combined in to clusters that perform a specific

software sub function.

A driver is written to coordinate test case input and output.

Cluster is tested.

Drivers are removed and moving upward in program structure combines

clusters.

Integration moves upward, the need for separate test drover’s lesions. If

the top-levels of the program are integrated top-down, the number of drivers can

be reduced substantially and integration of clusters is greatly simplified.

The entire software system is tested. The reference document for this

process is the requirements document, and the goal is to see if software meets its

requirements.

White Box Testing and Black Box Testing

White Box Testing:

This is a unit testing method where a unit will be taken at a time and tested

thoroughly at a statement level to find the maximum possible errors. I tested step

wise every piece of code, taking care that every statement in the code is executed

at least once. The white box testing is also called Glass Box Testing.

I have generated a list of test cases, sample data, which is used to check all

possible combinations of execution paths through the code at every module level.

Black Box Testing:

This testing method considers a module as a single unit and checks the unit

at interface and communication with other modules rather getting into details at

statement level. Here the module will be treated as a block box that will take some

input and generate output. Output for a given set of input combinations are

forwarded to other modules.

Page 95: miniproject

Acceptance Testing: Acceptance Test is performed with realistic data of the client

to demonstrate that the software is working satisfactorily.

Acceptance Test is performed with realistic data of the client to

demonstrate that the software is working satisfactorily. Testing here is focused on

external behavior of the system; the internal logic of program is not emphasized.

In this project ‘Network Management of Database System’ I have collected some

data and tested whether project is working correctly or not.

SCREEN SHOTS

Page 96: miniproject

SCREEN SHOTS

LOGIN PAGE:

HOME PAGE:

Page 97: miniproject

NEW USER:

FORGOT PASSWORD:

Page 98: miniproject

On Submit:

ATTENDANCE & MARKS CHECKING:

Page 99: miniproject

On Clicking:

INBOX :

Page 100: miniproject

Replying:

COMPOSE:

Page 101: miniproject

On Sending

Page 102: miniproject

CONCLUSION

As per our knowledge is concerned, we believe that this Vignan

Alumni designed by us would satisfy all the basic requirements of our college

details.

We had a great experience in the course of designing this Vignan

Alumni, which made us to learn and discover many things as pertaining to the

topic of Alumni especially, even though it was a tough job to complete.

We are very thankful to all my friends and lecturers of Dept. of

Computer Science & Engineering who helped us to get through this great job.

We also thank all those who have helped us in bringing out this project

successfully either directly or indirectly.

FUTURE ENHANCEMENTS

This project in future can be extended to include more features that are

performed by college which helps the users to interact more easily on a single

platform.

This project can also extend to have graphs i.e., to show the graphical

representation of the things like the percentage of college growth and study graph

of students which gives a clear idea about the college.

Page 103: miniproject

Bibliography:

1. Professional JavaSeverPages

J2EE Edition

WROX PRESS LTD

2. Oracle 9i the Complete Reference

3rd Edition

TATA Mc GRAW HILL

-Kevin Loney & George Koch

3. The Unified Modeling Language User Guide

1st Edition

PEARSON EDUCATION

-Grady Booch, James Rumbaugh & Ivar Jacobson

4. Internet And World Wide Web How To Program

1st Edition

PEARSON EDUCATION

-Deitel & Deitel