Professional Documents
Culture Documents
BACHELOR OF TECHNOLOGY
IN
COMPUTER SCIENCE ENGINEERING
(2007-2011)
Submitted By
Venkat sujith ponnuru 06B11A0588
This is to certify that the project work entitled “ALUMNI” is a work carried out by 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
EXTERNAL EXAMINER
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.
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 also thank all the teaching and non-teaching staff of CSE Dept. who has
extended their cooperation in various ways during project work.
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.
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
6. CODING 60
7. TESTING 96
9. CONCLUSION 111
Communication Services
Calendar Email Online community
Security Management
Operating Systems
Campus network
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 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.
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).
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.
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.
• To provide much prominent communication between the users.
• To provide maximum services to the user
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
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.
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.
• 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 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.
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.
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.
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
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.
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:
HTML:
Introduction to HTML
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>
<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>
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.
System
Requirements
SYSTEM REQUIREMENTS:
Software requirements:
Hardware requirements:
Processor : Pentium2
RAM : 128 MB
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.
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:
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.
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:
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:
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.
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
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.
Sign-in button:
To log into the alumni.
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.
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.
Rectangle:
Open-ended rectangle:
The above symbol is used to represent data storage.
UML DIAGRAMS:
Three categories
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.
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
1. ACTORS:
Primary actors:
User.
Secondary actors:
User’s mail server.
2. USECASE DIAGRAM:
authentic ation
us er
deleting m es s ages
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.
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:
login
user
3. DESCRIPTION:
This usecase describes how a registered user can login to the system.
4. STEPS:
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:
w rite
s c rap boo k s en d
us er
d elete
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.
3. USECASE DIAGRAM:
c reate
rem ove
Databas e
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.
CLASS DIAGRAMS:
User
username
password
login()
Administrator
username
password
Login Scrapbook
login
create()
write()
check messages() modify() send()
perform operations() update() delete()
CLASS DIAGRAMS WITH RELATIONSHIPS:
Us er
u s e rn a m e
p a s s w o rd
lo g in()
A d m in is t ra to r S c rap b o ok
L og in u s e rn a m e
lo g in p a s s w o rd w rit e()
s e n d ()
c h e c k m e s s a g e s () c re a t e () d e le t e()
p e rfo rm o p e ra t io n s () m o d ify ()
u p d a te ()
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
semantics of the other thing. The above two are the only relationships used in our
class diagrams.
SEQUENCE DIAGRAMS:
us er s e rve r d a ta b a s e
in it ia liz in g s c re e n
lo g in d e ta ils
c o n n e c t io n fa ile d
.. . c o n n e c t io n e s t a b lis h e d
S c ra p b o o k w rite
s end updates
d e le te
SAMPLE CODING
/* login.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)
{
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;
}
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=="")
{
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>
<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>
<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 > </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> </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>
<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> </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>
<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>
<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>
<select name = "month" ><option selected>Select Month</option><option value
= "January">January <option value = "December">December</select>
<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>
</TR> <TR>
<TD colSpan=2> </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>
<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 STD Phone-->
</TD></TR><TR><TD style="PADDING-LEFT: 20px; BORDER-BOTTOM:
#eaeaea 1px solid" width="37%"><STRONG>Mobile
Numer*</STRONG></TD>
<INPUT type=submit value=Submit >
</center> </iframe></form></body></html>
/* Registration process */
<%
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();
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"){
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;
}
}
</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>
<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>
<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>
<select name = "month" ><option selected>
Select Month</option><option value = "January">January<option value =
"December">December</select>
<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>
<TD style="BORDER-BOTTOM: #eaeaea 1px solid"><textarea
maxLength=300 name=status></textarea></TD> </TR>
<TR>
<TD colSpan=2> </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>
<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>
Testing
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.
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:
Testing:
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.
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
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
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.
LOGIN PAGE:
HOME PAGE:
NEW USER:
FORGOT PASSWORD:
On Submit:
INBOX :
Replying:
COMPOSE:
On Sending
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 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.
Bibliography:
1. Professional JavaSeverPages
J2EE Edition
WROX PRESS LTD