You are on page 1of 60





The mission of the Student Information System project is to create an integrated information technology environment for students, HOD , faculty, Staff and administration. Our goal is to focus on customers, services and integration for end users. Student Information System Web-based self-service environment for students , prospective students, and employees; an administrative transaction processing environment for university staff to conduct day-to -day business; an information environment for all levels of faculty and staff to do reporting, data extraction, and information analysis. A student information system (SIS) is a software application for educational establishments to manage student data. Student information systems provide capabilities for entering student test and other assessment scores, building student schedules, tracking student attendance, and managing many other studentrelated data needs in a school, college or university Our easy-to-use, integrated College administration applications are proven to reduce time spent on administrative tasks so you can concentrate on raising student achievement. Student Information System have to accept, process and generate reports accurately and any point of time any user can get the student information


Student Information System Web-based self-service environment for students , prospective

students, and employees; an administrative transaction processing environment for university staff to conduct day-to -day business; an information environment for all levels of faculty and staff to do reporting, data extraction, and information analysis. A student information system (SIS) is a software application for educational establishments to manage student data. Student information systems provide capabilities for entering student test and other assessment scores, building student schedules, tracking student attendance, and managing many other studentrelated data needs in a school, college or university The mission of the Student Information System project is to create an integrated information technology environment for students, HOD , faculty, Staff and administration. Our goal is to focus on customers, services and integration for end users. Our easy-to-use, integrated College administration applications are proven to reduce time spent on administrative tasks so you can concentrate on raising student achievement. Student Information System have to accept, process and generate reports accurately and any point of time any user can get the student information

Student Information System (SIS) Vision:
 Provide better services to students, faculty, staff, prospective students, administration, etc.  Provide meaningful, consistent, and timely data and information to end users.  Promote vision of senior management to address opportunities for change.  Update technology infrastructure for more effective and flexible delivery of new systems.

 Promote efficiencies by converting paper processes to electronic form.

The mission of the student information system project is to create an integrated information technology environment student, HOD, faculty, staff and administration. Our goal is to focus on customers, services and integration for end users.

y y y Effective for Administration purpose Cheap Better Service

y y y Improve operational & Streamlining operations Maintain students database Maintain global standards

y y y y y

Reduce Manpower Accuracy Better service Improved management and control Neat formatted report



 Language  J2ee technologies  Front End  Back End  Platform  Application server -j2sdk1.5 - Servlets - Html - Oracle 10g -Windows XP -Tomcat 6.0


 Processor  RAM  Hard Disk  Key Board  Mouse -Intel Pentium iv -32 GB -1 GB -101 keys -Any pointing device

8.1 DESIGN OVERVIEW: y Functional design y Input design y Output design

Functional design:
MODULE-ONE: LOGIN AS ADMINISTRATOR In this module when the administrator will enter his user name and password , then he will enter in to the administrator page and this page consists of two following sub modules  SUBMODULE ONE: ADD STUDENT When the administrator clicks this link then a student registration form will appear. In this registration form the administrator of the college/university/institute will enter the details of the students who are pursuing their education. The students detail like student id , student name , password, father name, date of birth, nationality, address, city , country , mobile no, N.I.C , Email etc.  SUBMODULE TWO: DELETE STUDENT The administrator can delete the whole student information by clicking this link. By providing the user id of the student , the student information can be delete. MODULE TWO: LOGIN AS STUDENT In this module when a student enter his student id and password , then he can visit all the following pages 1. Message: This sub module consists of two sub modules 1.1 Inbox: By clicking this link the student can see all the received messages from his friend 1.2 Compose: If the student wants to send message then he can do by clicking this link 2. Attendance : When the student click this one , the student can get all his attendance ( present and absent) by subject wise like no of present and absent in operating system class ,in java class. 3. Profile : When the student clicks this link he/she will get his/her profile. He will get information like student id , student name, password, father name ,Date of birth, nationality, city, address, country, phone no, mobile no, N.I.C , Email. If he wants then he can change the profile 6

4. Results: When a student go through this , he will get the results in all the subjects. How much Grade point he secure out of 100 he can know . 5. Time Table When the student clicks this link then he will get all the information that on which day which room which class will be held at which time. 6. Fee When he will click this link then he can get all the fees structure semester wise and annual fee 7. Library When he will click this link then he can the information like on which date he issued the book and on which date he returned the book and fines INPUT DESIGN: Input design is a part of overall system design. The main objective during the input designing is as given below: y To produce a cost-effective method of input. y To achieve the highest possible level of accuracy. y To ensure that the input is acceptable and understood by the user.

OUTPUT DESIGN Outputs from computer systems are required primarily to communicate the results of processing to users. They are also used to provides a copy of the fine receipt. The various types of outputs in general are: y y y y .External Outputs, whose destination is outside the helpdesk system. .Internal Outputs whose destination is with in helpdesk and they are the users main interface with the computer. operational outputs whose use is purely with in the computer department. .Interface outputs, which involve the user in communicating directly with the helpdesk online project

8.3 UML DIAGRAMS: A use case illustrates a unit of functionality provided by the system. The main purpose of the use-case diagram is to help development teams visualize the functional requirements of a system, including the relationship of "actors" (human beings who will interact with the system) to essential processes, as well as the relationships among different use cases. To show a use case on a use-case diagram, you draw an oval in the middle of the diagram and put the name of the use case in the center of, or below, the oval. To draw an actor (indicating a system user) on a usecase diagram, you draw a stick person to the left or right of your diagram

USECASE DIAGRAM: For administrator:

Admin Login

Add student

Admin Delete student

Data Base

Update student Records

For student:
Stude t login




Stude t

e ults



i brary

og out

ge Data base

CLASS DIAGRAM: The class diagram shows how the different entities (people, things, and data) relate to each other; in other words, it shows the static structures of the system. A class is depicted on the class diagram as a rectangle with three horizontal sections. The upper section shows the class's name; the middle section contains the class's attributes; and the lower section contains the class's operations (or "methods").


Sequence diagrams show a detailed flow for a specific use case or even just part of a specific use case. They are almost self explanatory; they show the calls between the different objects in their sequence and can show, at a detailed level, different calls to different objects. A sequence diagram has two dimensions: The vertical dimension shows the sequence of messages/calls in the time order that they occur; the horizontal dimension shows the object instances to which the messages are sent.

For validity:




1 : Request for validity()

2 : Check for validity()

3 : Validate()

4 : Successful validate()


UML Collaboration diagrams illustrate the relationship and interaction between software objects. They require use cases, system operation contracts, and domain model to already exist. The collaboration diagram illustrates messages being sent between classes and objects (instances). A diagram is created for each system operation that relates to the current development cycle (iteration). When creating collaboration diagrams, patterns are used to justify relationships. Patterns are best principles for assigning responsibilities to objects and are described further in the section on patterns. There are two main types of patterns used for assigning responsibilities which are evaluative patterns and driving patterns. Each system operation initiates a collaboration diagram. Therefore, there is a collaboration diagram for every system operation.

3 : Vali a e

Vali a i n

1 : Re ue

f r vali i y



in/ u en : ucce ful vali a e 4


2 : Check f r vali i y





aa a e

For administrator:

1 : Enter credentials for login() : C eck for validit ()

: Valid user()

: Successful login()

5 : Enter details for adding a student() 6 : Add()

7 : Successful() 8 : successfull added() 9 : Enter credentials for update student records() 10 : Update()

11 : Successful() 12 : Successfull Updated()





L gi


AddSt dent

ReqUpdateSt dent



For administrator:

: V lid

10 : pd t ()

7 : S cc

f l()

q pd t St d

12 : S cc qAddSt d

f ll Upd t d()

9: 8:

c d

ti l fo

f ll

dd d()





d t il fo

ddi g

t d

t() Ad i

6 8 18 ) 1 2 6 1 4 2 8

pd t

t d

: S cc

f l logi ()

2 6 61 2


c d

ti l

fo logi ()

co d ()

6 : Add()

11 : S cc

f l()

2 : Ch k fo v lidit () Logi

6 4 ) 1 18 8 1 )7


6 4 ) 1 18 8 1 )7


)1 2 6 ) 4

@ 2 6 61 2

8 162

2 6 61 2

)1 2 1 3 10 4

6 4 1 8 1 )7

14 3

1 4 @ 2 661992 6

164 4 45
t b


2 6 61 2

)1 2


For student:

: nter re entials or lo in

: he

or ali ity()

3 : Vali () 4 : Vali lo in() 5 : Re or iew ro ile() 6 : Re uest()

7 : Set etails() 8 : Get the etails() 9 : Re or iew etails() 10 : Re uest()

11 : Set etails() 12 : Get etails()




Lo n






Stu ent

e ViewPro ile






e View etails

ata ase

Collaboration diagram for student:

: Set deta ()

: Set deta ()

eq e Deta

: Enter redent a f r g n()

L gn

eq e

r fe

: eq f r v e

: Get deta ()

: eq f r v e

r f e() S udent


: Get t e deta ()


c bh ch e v

: eque t()

: a d g n()

deta ()

c b

c bh b ih c

c ch

eck f r va d ty()

0 : eque t()







e u b ihc t d pp i

Databa e

hc b x f c

f ce d

: a d()

p hc b gf c d e b i ihc d w d y

A component diagram provides a physical view of the system. Its purpose is to show the dependencies that the software has on the other software components (e.g., software libraries) in the system. The diagram can be shown at a very high level, with just the large-grain components, or it can be shown at the component package level.



The deployment diagram shows how a system will be physically deployed in the hardware environment. Its purpose is to show where the different components of the system will physically run and how they will communicate with each other. Since the diagram models the physical runtime, a system's production staff will make considerable use of this diagram. The notation in a deployment diagram includes the notation elements used in a component diagram, with a couple of additions, including the concept of a node. A node represents either a physical machine or a virtual machine node. To model a node, simply draw a three-dimensional cube with the name of the node at the top of the cube. Use the naming convention used in sequence diagrams: [instance name] : [instance type]



Features of The Language Used:

In my project, I have chosen Java language for developing the code.

About Java

Initially the language was called as oak but it was renamed as Java in 1995. The primary motivation of this language was the need for a platform-independent (i.e., architecture neutral) language that could be used to create software to be embedded in various consumer electronic devices. y y y Java is a programmers language. Java is cohesive and consistent. Except for those constraints imposed by the Internet environment, Java gives the programmer, full control. Finally, Java is to Internet programming where C was to system programming.
Importa nce of Java to the I nter net

Java has had a profound effect on the Internet. This is because; Java expands the Universe of objects that can move about freely in Cyberspace. In a network, two categories of objects are transmitted between the Server and the Personal computer. They are: Passive information and Dynamic active programs. The Dynamic, Self-executing programs cause serious problems in the areas of Security and probability. But, Java addresses those concerns and by doing so, has opened the door to an exciting new form of program called the Applet.
Java ca n be used to create two types of prog rams

Applications and Applets: An application is a program that runs on our Computer under the operating system of that computer. It is more or less like one creating using C or C++. Javas ability to create Applets makes it important. An Applet is an application designed to be transmitted over the Internet and executed by a Java compatible web browser. An applet is


actually a tiny Java program, dynamically downloaded across the network, just like an image. But the difference is, it is an intelligent program, not just a media file. It can react to the user input and dynamically change.
Features Of Java Security

Every time you that you download a normal program, you are risking a viral infection. Prior to Java, most users did not download executable programs frequently, and those who did scanned them for viruses prior to execution. Most users still worried about the possibility of infecting their systems with a virus. In addition, another type of malicious program exists that must be guarded against. This type of program can gather private information, such as credit card numbers, bank account balances, and passwords. Java answers both these concerns by providing a firewall between a network application and your computer. When you use a Java-compatible Web browser, you can safely download Java applets without fear of virus infection or malicious intent.

For programs to be dynamically downloaded to all the various types of platforms connected to the Internet, some means of generating portable executable code is needed .As you will see, the same mechanism that helps ensure security also helps create portability. Indeed, Javas solution to these two problems is both elegant and efficient.
The Byte code

The key that allows the Java to solve the security and portability problems is that the output of Java compiler is Byte code. Byte code is a highly optimized set of instructions designed to be executed by the Java run-time system, which is called the Java Virtual Machine (JVM). That is, in its standard form, the JVM is an interpreter for byte code. Translating a Java program into byte code helps makes it much easier to run a program in a wide variety of environments. The reason is, once the run-time package exists for a given system, any Java program can run on it. Although Java was designed for interpretation, there is technically nothing about Java that prevents onthe-fly compilation of byte code into native code. Sun has just completed its Just In Time (JIT) compiler for byte code. When the JIT compiler is a part of JVM, it compiles byte code into executable code in real time, on a piece-by-piece, demand basis. It is not possible to compile an entire Java program into executable code all at once, because Java performs various run-time checks that can be done only at run time. The JIT compiles code, as it is needed, during execution.


Java Virtual Machine (JVM)

Beyond the language, there is the Java virtual machine. The Java virtual machine is an important element of the Java technology. The virtual machine can be embedded within a web browser or an operating system. Once a piece of Java code is loaded onto a machine, it is verified. As part of the loading process, a class loader is invoked and does byte code verification makes sure that the code thats has been generated by the compiler will not corrupt the machine that its loaded on. Byte code verification takes place at the end of the compilation process to make sure that is all accurate and correct. So byte code verification is integral to the compiling and executing of Java code.

Overall Description:
Java byte .Class
( Picture showing the development process of JAVA Program) Java programming uses to produce byte codes and executes them. The first box indicates that the Java source code is located in a. Java file that is processed with a Java compiler called javac. The Java compiler produces a file called a. class file, which contains the byte code. The. Class file is then loaded across the network or loaded locally on your machine into the execution environment is the Java virtual machine, which interprets and executes the byte code.
Java Architecture Java architecture provides a portable, robust, high performing environment for development. Java provides portability by compiling the byte codes for the Java Virtual Machine, which is then interpreted on each platform by the run-time environment. Java is a dynamic system, able to load code when needed from a machine in the same room or across the planet. Compilation of code When you compile the code, the Java compiler creates machine code (called byte code) for a hypothetical machine called Java Virtual Machine (JVM). The JVM is supposed to execute the byte code. The JVM is created for overcoming the issue of portability. The code is written and compiled for one machine and interpreted on all machines. This machine is called Java Virtual Machine.


Compiling and interpreting Java Source Code


PC Compiler

Java Byte code

Java Interpreter (PC)

Source Code .. .. ..

Macintosh Compiler

(Platform Indepen dent)

Java Interpreter (Macintosh)



Java Interpreter (Spare)

During run-time the Java interpreter tricks the byte code file into thinking that it is running on a Java Virtual Machine. In reality this could be a Intel Pentium Windows 95 or SunSARC station running Solaris or Apple Macintosh running system and all could receive code from any computer through Internet and run the Applets.

Java was designed to be easy for the Professional programmer to learn and to use effectively. If you are an experienced C++ programmer, learning Java will be even easier. Because Java inherits the C/C++ syntax and many of the object oriented features of C++. Most of the confusing concepts from C++ are either left out of Java or implemented in a cleaner, more approachable manner. In Java there are a small number of clearly defined ways to accomplish a given task.

Java was not designed to be source-code compatible with any other language. This allowed the Java team the freedom to design with a blank slate. One outcome of this was a clean usable, pragmatic approach to objects. The object model in Java is simple and easy to extend, while simple types, such as integers, are kept as high-performance nonobjects.


The multi-platform environment of the Web places extraordinary demands on a program, because the program must execute reliably in a variety of systems. The ability to create robust programs was given a high priority in the design of Java. Java is strictly typed language; it checks your code at compile time and run time. Java virtually eliminates the problems of memory management and deallocation, which is completely automatic. In a well-written Java program, all run time errors can and should be managed by your program.

SERVLETS: Introduction:
The Java web server is JavaSoft's own web Server. The Java web server is just a part of a larger framework, intended to provide you not just with a web server, but also with tools. To build customized network servers for any Internet or Intranet client/server system. Servlets are to a web server, how applets are to the browser.

About Servlets:
Servlets provide a Java-based solution used to address the problems currently associated with doing server-side programming, including inextensible scripting solutions, platform-specific APIs, and incomplete interfaces. Servlets are objects that conform to a specific interface that can be plugged into a Java-based server. Servlets are to the server-side what applets are to the client-side - object byte codes that can be dynamically loaded off the net. They differ from applets in that they are faceless objects (without graphics or a GUI component). They serve as platform independent, dynamically loadable, plugable helper byte code objects on the server side that can be used to dynamically extend server-side functionality.
For example, an HTTP Servlets can be used to generate dynamic HTML content. When you use Servlets to do dynamic content you get the following advantages:  Theyre faster and cleaner than CGI scripts  They use a standard API (the Servlets API)  They provide all the advantages of Java (run on a variety of servers without needing to be rewritten).

Attractiveness of Servlets:
There are many features of Servlets that make them easy and attractive to use. These include:
 Easily configured using the GUI-based Admin tool  Can be loaded and invoked from a local disk or remotely across the network.


 Can be linked together, or chained, so that one Servlets can call another Servlets, or several Servlets in

 Can be called dynamically from within HTML pages, using server-side include tags.  Are secure - even when downloading across the network, the Servlets security model and Servlets sandbox

protect your system from unfriendly behavior.

Advantages of the Servlet API:

One of the great advantages of the Servlet API is protocol independence. It assumes nothing about: The protocol being used to transmit on the net How it is loaded The server environment it will be running in These qualities are important, because it allows the Servlet API to be embedded in many different kinds of servers. There are other advantages to the Servlet API as well. These include: Its extensible - you can inherit all your functionality from the base classes made available to you. Its simple, small, and easy to use.

y y y

y y

Features of Servlets:
y y y y y y Servlets are persistent. Servlet are loaded only by the web server and can maintain services between requests. Servlets are fast. Since Servlets only need to be loaded once, they offer much better performance over their CGI counterparts. Servlets are platform independent. Servlets are extensible. Java is a robust, object-oriented programming language, which easily can be extended to suit your needs Servlets are secure. Servlets can be used with a variety of clients.

Loading Servlets:
Servlets can be loaded from three places

From a directory that is on the CLASSPATH. The CLASSPATH of root/classes/ which is where the system classes reside.

the JavaWebServer includes service

From the <SERVICE_ROOT /Servlets/ directory. This is *not* in the servers class path. A class loader is used to create Servlets from this directory. New Servlets can be added - existing Servlets can be recompiled and the server will notice these changes. 25

From a remote location. For this a code base like http: // nine.eng / classes / foo / is required in addition to the Servlets class name. Refer to the admin GUI docs on Servlet section to see how to set this up.

Loading Remote Servlets:

Remote Servlets can be loaded by:

1. Configuring the Admin Tool to setup automatic loading of remote Servlets 2. Setting up server side include tags in. shtml files 3. Defining a filter chain configuration

Invoking Servlets:
A Servlet invoker is a Servlet that invokes the "service" method on a named Servlet. If the Servlet is not loaded in the server, then the invoker first loads the Servlet (either from local disk or from the network) and the then invokes the "service" method. Also like applets, local Servlets in the server can be identified by just the class name. In other words, if a Servlet name is not absolute, it is treated as local.
A client can invoke Servlets in the following ways:

y y y y y

The client can ask for a document that is served by the Servlet. The client (browser) can invoke the Servlet directly using a URL, once it has been mapped using the Servlet Aliases section of the admin GUI. The Servlet can be invoked through server side include tags. The Servlet can be invoked by placing it in the Servlets/ directory. The Servlet can be invoked by using it in a filter chain.

JavaScript is a script-based programming language that was developed by Netscape Communication Corporation. JavaScript was originally called Live Script and renamed as JavaScript to indicate its relationship with Java. JavaScript supports the development of both client and server components of Web-based applications. On the client side, it can be used to write programs that are executed by a Web browser within the context of a Web page. On the server side, it can be used to write Web server programs that can process information submitted by a Web browser and then updates the browsers display accordingly Even though JavaScript supports both client and server Web programming, we prefer JavaScript at Client side programming since most of the browsers supports it. JavaScript is almost as easy to learn as 26

HTML, and JavaScript statements can be included in HTML documents by enclosing the statements between a pair of scripting tags <SCRIPTS>.. </SCRIPT>. <SCRIPT LANGUAGE = JavaScript> JavaScript statements </SCRIPT> Here are a few things we can do with JavaScript:
 Validate the contents of a form and make calculations.  Add scrolling or changing messages to the Browsers status line.  Animate images or rotate images that change when we move the mouse over them.  Detect the browser in use and display different content for different browsers.  Detect installed plug-ins and notify the user if a plug-in is required. We can do much more with JavaScript, including creating entire application.

JavaScript Vs Java
JavaScript and Java are entirely different languages. A few of the most glaring differences are:

y y

Java applets are generally displayed in a box within the web document; JavaScript can affect any part of the Web document itself. While JavaScript is best suited to simple applications and adding interactive features to Web pages; Java can be used for incredibly complex applications. There are many other differences but the important thing to remember is that JavaScript and Java are separate languages. They are both useful for different things; in fact they can be used together to combine their advantages.

 JavaScript can be used for Sever-side and Client-side scripting.  It is more flexible than VBScript.  JavaScript is the default scripting languages at Client-side since all the browsers supports it.


Hyper Text Markup Language:

Hypertext Markup Language (HTML), the languages of the World Wide Web (WWW), allows users to produces Web pages that include text, graphics and pointer to other Web pages (Hyperlinks). HTML is not a programming language but it is an application of ISO Standard 8879, SGML (Standard Generalized Markup Language), but specialized to hypertext and adapted to the Web. The idea behind Hypertext is that instead of reading text in rigid linear structure, we can easily jump from one point to another point. We can navigate through the information based on our interest and preference. A markup language is simply a series of elements, each delimited with special characters that define how text or other items enclosed within the elements should be displayed. Hyperlinks are underlined or emphasized works that load to other documents or some portions of the same document. HTML can be used to display any type of document on the host computer, which can be geographically at a different location. It is a versatile language and can be used on any platform or desktop. HTML provides tags (special codes) to make the document look attractive. HTML tags are not case-sensitive. Using graphics, fonts, different sizes, color, etc., can enhance the presentation of the document. Anything that is not a tag is part of the document itself.

Basic HTML Tags :

<! -- --> Specifies comments <A>.</A> Creates hypertext links <B>.</B> Formats text as bold <BIG>.</BIG> Formats text in large font. Contains all tags and text in the HTML document <CENTER>...</CENTER> Creates text <DD></DD> Definition of a term <DL>...</DL> Creates definition list <FONT></FONT> Formats text with a particular font <FORM>...</FORM> Encloses a fill-out form <FRAME>...</FRAME> Defines a particular frame in a set of frames <H#></H#> Creates headings of different levels Contains tags that specify information about a document <HR>...</HR> Creates a horizontal rule <HTML></HTML> Contains all other HTML tags Provides meta-information about a document <SCRIPT></SCRIPT> Contains client-side or server-side script <TABLE></TABLE> Creates a table <TD></TD> Indicates table data in a table <TR></TR> Designates a table row <TH></TH> Creates a heading in a table 28

 A HTML document is small and hence easy to send over the net. It is small because it does not include

formatted information.
 HTML is platform independent.  HTML tags are not case-sensitive.

Java Database Connectivity: What Is JDBC? JDBC is a Java API for executing SQL statements. (As a point of interest, JDBC is a trademarked name and is not an acronym; nevertheless, JDBC is often thought of as standing for Java Database Connectivity. It consists of a set of classes and interfaces written in the Java programming language. JDBC provides a standard API for tool/database developers and makes it possible to write database applications using a pure Java API. Using JDBC, it is easy to send SQL statements to virtually any relational database. One can write a single program using the JDBC API, and the program will be able to send SQL statements to the appropriate database. The combinations of Java and JDBC lets a programmer write it once and run it anywhere. What Does JDBC Do?
Simply put, JDBC makes it possible to do three things:  Establish a connection with a database  Send SQL statements  Process the results.

JDBC versus ODBC and other APIs:

At this point, Microsoft's ODBC (Open Database Connectivity) API is that probably the most widely used programming interface for accessing relational databases. It offers the ability to connect to almost all databases on almost all platforms. So why not just use ODBC from Java? The answer is that you can use ODBC from Java, but this is best done with the help of JDBC in the form of the JDBC-ODBC Bridge, which we will cover shortly. The question now becomes "Why do you need JDBC?" There are several answers to this question: 1. ODBC is not appropriate for direct use from Java because it uses a C interface. Calls from Java to native C code have a number of drawbacks in the security, implementation, robustness, and automatic portability of applications. 29

2. A literal translation of the ODBC C API into a Java API would not be desirable. For example, Java has no pointers, and ODBC makes copious use of them, including the notoriously error-prone generic pointer "void *". You can think of JDBC as ODBC translated into an object-oriented interface that is natural for Java programmers. 3. ODBC is hard to learn. It mixes simple and advanced features together, and it has complex options even for simple queries. JDBC, on the other hand, was designed to keep simple things simple while allowing more advanced capabilities where required. 4. A Java API like JDBC is needed in order to enable a "pure Java" solution. When ODBC is used, the ODBC driver manager and drivers must be manually installed on every client machine. When the JDBC driver is written completely in Java, however, JDBC code is automatically installable, portable, and secure on all Java platforms from network computers to mainframes. Two-tier and Three-tier Models: The JDBC API supports both two-tier and three-tier models for database access.
In the two-tier model, a Java applet or application talks directly to the database. This requires a JDBC driver that can communicate with the particular database management system being accessed. A user's SQL statements are delivered to the database, and the results of those statements are sent back to the user. The database may be located on another machine to which the user is connected via a network. This is referred to as a client/server configuration, with the user's machine as the client, and the machine housing the database as the server. The network can be an Intranet, which, for example, connects employees within a corporation, or it can be the Internet.

JAVA Application

Client machine


DBMS-proprietary protocol

Database server



Java applet or Html browser

Client machine (GUI)

HTTP, RMI, or CORBA calls

Application Server (Java) JDBC

Server machine (business Logic) DBMS-proprietary protocol

Database server


In the three-tier model, commands are sent to a "middle tier" of services, which then send SQL statements to the database. The database processes the SQL statements and sends the results back to the middle tier, which then sends them to the user. MIS directors find the three-tier model very attractive because the middle tier makes it possible to maintain control over access and the kinds of updates that can be made to corporate data. Another advantage is that when there is a middle tier, the user can employ an easy-to-use higher-level API which is translated by the middle tier into the appropriate low-level calls. Finally, in many cases the three-tier architecture can provide performance advantages. Until now the middle tier has typically been written in languages such as C or C++, which offer fast performance. However, with the introduction of optimizing compilers that translate Java byte code into efficient machine-specific code, it is becoming practical to implement the middle tier in Java. This is a big plus, making it possible to take advantage of Java's robustness, multithreading, and security features. JDBC is important to allow database access from a Java middle tier. JDBC Driver Types: The JDBC drivers that we are aware of at this time fit into one of four categories:  JDBC-ODBC bridge plus ODBC driver  Native-API partly-Java driver  JDBC-Net pure Java driver  Native-protocol pure Java driver JDBC-ODBC Bridge: If possible, use a Pure Java JDBC driver instead of the Bridge and an ODBC driver. This completely eliminates the client configuration required by ODBC. It also eliminates the potential that the Java VM could


be corrupted by an error in the native code brought in by the Bridge (that is, the Bridge native library, the ODBC driver manager library, the ODBC driver library, and the database client library).
What Is the JDBC- ODBC Bridge?

The JDBC-ODBC Bridge is a JDBC driver, which implements JDBC operations by translating them into ODBC operations. To ODBC it appears as a normal application program. The Bridge implements JDBC for any database for which an ODBC driver is available. The Bridge is implemented as the Sun.jdbc.odbc Java package and contains a native library used to access ODBC. The Bridge is a joint development of Innersole and Java Soft.
Server Pages (JSP):

Java server Pages is a simple, yet powerful technology for creating and maintaining dynamiccontent web pages. Based on the Java programming language, Java Server Pages offers proven portability, open standards, and a mature re-usable component model .The Java Server Pages architecture enables the separation of content generation from content presentation. This separation not eases maintenance headaches; it also allows web team members to focus on their areas of expertise. Now, web page designer can concentrate on layout, and web application designers on programming, with minimal concern about impacting each other s work.

Features of JSP:

Java Server Pages files can be run on any web server or web-enabled application server that provides support for them. Dubbed the JSP engine, this support involves recognition, translation, and management of the Java Server Page lifecycle and its interaction components.


It was mentioned earlier that the Java Server Pages architecture can include reusable Java components. The architecture also allows for the embedding of a scripting language directly into the Java Server Pages file. The components current supported include Java Beans, and Servlets.

A Java Server Pages file is essentially an HTML document with JSP scripting or tags. The Java Server Pages file has a JSP extension to the server as a Java Server Pages file. Before the page is served, the Java Server Pages syntax is parsed and processed into a Servlet on the server side. The Servlet that is generated outputs real content in straight HTML for responding to the client. 32

Access Models:

A Java Server Pages file may be accessed in at least two different ways. A clients request comes directly into a Java Server Page. In this scenario, suppose the page accesses reusable Java Bean components that perform particular well-defined computations like accessing a database. The result of the Beans computations, called result sets is stored within the Bean as properties. The page uses such Beans to generate dynamic content and present it back to the client. In both of the above cases, the page could also contain any valid Java code. Java Server Pages architecture encourages separation of content from presentation.
Steps in the execution of a JSP Application:

1. The client sends a request to the web server for a JSP file by giving the name of the JSP file within the form tag of a HTML page. 2. This request is transferred to the JavaWebServer. At the server side JavaWebServer receives the request and if it is a request for a jsp file server gives this request to the JSP engine.
3. JSP engine is program which can understands the tags of the jsp and then it converts those tags into a Servlet program and it is stored at the server side. This Servlet is loaded in the memory and then it is executed and the result is given back to the JavaWebServer and then it is transferred back to the result is given back to the JavaWebServer and then it is transferred back to the client. JDBC connectivity The JDBC provides database-independent connectivity between the J2EE platform and a wide range of tabular data sources. JDBC technology allows an Application Component Provider to:     Perform connection and authentication to a database server Manager transactions Move SQL statements to a database engine for preprocessing and execution Execute stored procedures

 Inspect and modify the results from Select statements Purpose. The generated application is the first version upon the system. The overall system is planned to be in the formal of distributed architecture with homogeneous database platform. The major objective of the overall system is to keep the following components intact.

System consistency System integrity Overall security of data Data reliability and Accuracy User friendly name both at administration and user levels Considering the fact of generality and clarity To cross check that the system overcomes the hurdles of the version specific Standards 33

Back end tool:

9.2 Microsoft Access:
Microsoft Office Access is a relational database management system from Microsoft that combines the relational Microsoft Jet Database Engine with a graphical user interface and software-development tools. It is a member of the Microsoft Office suite of applications.

1. Microsoft Access is used to create simple database solutions. Access tables support a variety of
standard field types. Access also includes a query interface, forms to display and enter data. 2. Microsoft Access is very popular among non-programmers who can create visually pleasing and relatively advanced solutions on their own. It is also easy to place a database on a network and have multiple users share and update data without overwriting each other's work. Data is locked at the record level which is significantly different from Excel which locks the entire spreadsheet. 3. Database solutions created entirely in Microsoft Access are well suited for individual and workgroup use across a network

Operating system Platform used:

9.3 Windows:
INTRODUCTION TO WINDOWS: Microsoft Corporation windows in Nov 1983 and was released 2 years later in Nov 1985 its introduction. MS-windows has emerged as the most popular GUI environment for MS-DOS. For the user, Windows provide a multitasking, graphical based windowing environment that runs especially designed for windows. Windows have a consistent appearance, command structure, and are thus often easier to lean use than conventional MS-DOS program. Users can easily switch among different windows programs and exchange data between them. Windows also provide and exchange to use icon based program manager for running programs. Although windows exist primarily to run applications especially written for the environment, windows also can run many programs written for MS-DOS. For the program developer, Windows provide a 34

wealth of insult routines that allow the use of menus, dialog boxes, scroll bars and other components of friendly user interface. Windows also contains an extension graphics programming languages that includes the use of formatted text in a variety of fonts. FEATURES: The Graphic User Interface (GUI): Windows is Graphical User Interface, sometimes also called as Visual Interface or Graphical Windowing Environment. All Graphical User Interface make use of graphics on a bitmapped video display. Graphical provides better utilization of screen real estate a visually rich environment for conveying information, and the possibility of WYSIWG video display of graphics and formatted text prepared for a printed document. The Consistent User Interface:
User no longer expects to spend long periods learning how to use the computer or mastering a new program. Windows helps because all windows programs have the same fundamental look and feel. The program occupies a window, a rectangle area on the screen. A captain bar identifies it. Most program functions are indicated through the program menu.

The Multitasking Advantage: Under windows, every program in effect becomes RAM resident pop-up. Several windows program can be displayed running at the same time. The user can move the windows around in the screen, change their size, and switch between different programs, and transfer data from one program to another. Memory Management:
An Operating System cannot implement multitasking without doing something about memory management. As new programs are started up and old ones terminate, memory can be fragmented. The system must be able to move the blocks of code and data in memory space. Windows can overcoat memory; a program can contain mode code than can fit into memory at any one time. A user can run several copies of program; all these instances share the same code in the memory. Programs running in windows can share routines located in other.

Dynamic Linking: A windows program interfaces to windows through a process called Dynamic Linking. Like MSDOS programs, windows executable filename extension .EXE format called the new executable file format. Whenever a windows program calls a windows function, the C compiler generates assembly language code for a far call. A table in the .EXE file identifies the function being called using a dynamic link library name and either a name or a number of the function. 35


This is the login page for the administrator/student.


When the administrator will do login, the following page appears..


When the administrator clicks the Add student link, the following form appears.

With this form the administrator can add a new students details.
When the administrator wants to delete/update an existing student details, he clicks the delete student or Update student links respectively, then the following page appears.


The administrator needs to enter the Id no. of the student to delete/update that particular student details.

When a student login, then the following page will appear..


When the student clicks the profile button, the following page appears.


When the student clicks the timetable button



A student can be informed about any mails he received when he/she is logged in. At that time the page appears as follows.


When the student clicks the click here to read message link then this page will appear

When the student clicks the click here to read message link or inbox link then this page will appear


The student can read the contents of the messages.

When the student wants to send a mail he can clicks the compose link which opens the below page.


When the student clicks the Attendance button


This helps him/her to know his/her updated attendance.

When the student clicks the Attendance Summary link, he/she will be directed to the following page.


When the student clicks results button, the following page appears.


With this he/she can know about his/her result.

When the student clicks the timetable button, the following page appears. the complete info regarding when and where classes corresponding to each subject will be conducted.


With this a student can get the complete information regarding when and where classes corresponding to each subject will be conducted.

When the student clicks the Fee button, the following page appears that gives complete fee details.



When the student clicks the Library button, the following page appears. That gives information about any new arrivals etc,.


A student on logging out will be directed to the following page.


1. Introduction:

Testing is one of the most important phases in the software development activity. In software development life cycle (SDLC), the main aim of testing process is the quality; the developed software is tested against attaining the required functionality and performance. During the testing process the software is worked with some particular test cases and the output of the test cases are analyzed whether the software is working according to the expectations or not. The success of the testing process in determining the errors is mostly depends upon the test case criteria, for testing any software we need to have a description of the expected behaviour of the system and method of determining whether the observed behaviour confirmed to the expected behaviour. 2. Levels of testing: Since the errors in the software can be injured at any stage. So, we have to carry out the testing

process at different levels during the development. The basic levels of testing are Unit, Integration, System and Acceptance Testing. The Unit Testing is carried out on coding. Here different modules are tested against the specifications produced during design for the modules. In case of integration testing different tested modules are combined into sub systems and tested in case of the system testing the full software is tested and in the next level of testing the system is tested with user requirement document prepared during SRS. There are two basic approaches for testing. They are Fuctional testing : In Functional Testing test cases are decided solely on the basis of requirements of the program or module and the internals of the program or modules are not considered for selection of test cases. This is also called Black Box Testing Structural Testing : In Structural Testing test cases are generated on actual code of the program or module to be tested. This is called White Box Testing.

3. Testing Process A number of activities must be performed for testing software. Testing starts with test plan. Test plan identifies all testing related activities that need to be performed along with the schedule and guide lines for testing. The plan also specifies the levels of testing that need to be done, by identifying the different testing units. For each unit specified in the plan first the test cases and reports are produced These reports are analyzed. Test plan: 54

Test plan is a general document for entire project, which defines the scope, approach to be taken and the personal responsible for different activities of testing. The inputs for forming test plane are as follows. y Project plan y Requirements document y System design

Test case specification Although there is one test plan for entire project test cases have to be specified separately for each test case. Test case specification gives for each item to be tested. All test cases and outputs expected for those test cases. Test Case execution and Analysis The steps to be performed for executing the test cases are specified in separate document called test procedure specification. This document specify any specify requirements that exist for setting the test environment and describes the methods and formats for reporting the results of testing.

Unit testing:
Unit testing mainly focused first in the smallest and low level modules, proceeding one at a time. Bottom-up testing was performed on each module. As developing a driver program, that tests modules by developed or used. But for the purpose of testing, modules themselves were used as stubs, to print verification of the actions performed. After the lower level modules were tested, the modules that in the next higher level those make use of the lower modules were tested. Each module was tested against required functionally and test cases were developed to test the boundary values.

Integration testing
Integration testing is a systematic technique for constructing the program structure, while at the same time conducting tests to uncover errors associated with interfacing. As the system consists of the number of modules the interface to be tested were between the edges of the two modules. The software tested under this was incremental bottom-up approach. Bottom-up approach integration strategy was implemented with the following steps.  Low level modules were combined into clusters that perform specific software sub functions.  The clusters were then tested. 55

System testing
System testing is a series of different tests whose primary purpose is to fully exercise the computer- based system. It also tests to find discrepancies between the system and its original objective , current specifications.


Maintenance the last phase in the software engineering process. As more programs are developed, a
distributing trend has emerged the amount of effort and a resource expended on software maintenance is growing. In total project development maintenance takes 65% of effort. In software maintenance there are four types. They are 1. Adaptive Maintenance 56

2. Corrective Maintenance 3. Perfective Maintenance 4. Preventive Maintenance Adaptive Maintenance is applied when changes in the external environment precipitate modifications to software. It deals with adapting the software to new environments. Perfective Maintenance incorporates enhancements that are requested by user community. It deals with updating the software according to changes in user requirements. Corrective Maintenance acts to correct errors that are uncovered after the software is in use. It deals with fixing bugs in the code. Preventive Maintenance improves future maintainability and reliability and provides a basis for future enhancement. It deals with updating documentation and making the software more maintainable. Tasks performed during the software engineering process define maintainability and have an important impact in the success of any maintenance approach. Reverse Engineering and Reengineering are the tools and techniques used to maintain the project. There are four major problems that can slow down the maintenance process 1. Unstructured Code 2. Maintenance programmers having insufficient knowledge of the system 3. Documentation being absent 4. Out of Date, or at best insufficient The success of the maintenance phase relies on these problems being fixed earlier in the life cycle

 The system provides an excellent support to the corporate client because they can directly mail their problem online.  Computerized surveying system provides an easy, fast access and support for the users.  The usage of software increases the efficiency, decreases the effort 57

 It has been thoroughly tested and implemented.





SUBMITTED BY: - Dulley Mullo Membership no.:- SD-194756 DIPIETE (CS)