Student Portal
-
Upload
paul-joseph -
Category
Documents
-
view
31 -
download
4
description
Transcript of Student Portal
APROJECT WORK ON
STUDENT PORTAL
BYK.PRASANTHI
CH.RAMA LAKSHMI SK.GOUSIYA PARVEEN
A.NAGA ANUSHA S.NAGAMANI
GUIDED BY
MS.E.KIRANMAI(MCA)
(Computer Department)
SUBMITTED TOSRI DURGA MALLESWARA SIDDHARTHA MAHILA
KALASALA(An Autonomous in the jurisdiction of Acharya Nagarjuna University)
VIJAYAWADA-10
ACKNOWLEDGEMENT
It is with immense pleasure that we would like to express our indebted gratitude to our guide Miss E.KIRANMAI who has guided us a lot and encouraged us in every step of the project work. Her invaluable moral support and guidance through out the project helped us to a greater extent.
At the same time, we feel elated to thanks our Head of the department Smt. T. SreeLakshmi Madam for inspiring us all the way and for arranging all the facilities and resources needed for our project. We would like to take this opportunity to thank for beloved Principal Smt. T.VIJAYA LAKSHMI Madam for providing a great support for us in compiling our projects and for giving us the opportunity of doing the project.
We extend our gratitude to the faculty members of the Computer Science Department for their unflinching and valuable suggestions.
Not to forget our friend’s who had supported us in completing our project in time.
CONTENTS
1. Abstract
2. Software and Hardware Requirements
3. Introduction to JAVA, SERVLETS, HTML,
MSACCESS
4. Module Description
5. Testing
6. Data Flow Diagrams
7. Data Dictionary
8. Coding
9. Forms and Reports
10. Future scope of the Project
11. Bibliography
ABSTRACT
Student Portal is a private domain web portal, which is being
developed for a private College. The portal acts as a information kiosk for students and faculties. The portal acts as a bridge of communication between the students, faculties and the administration. The application helps in improving the communication standards between the different domains existing in the organization. The overall advantage of the system is empowered by decreasing the latency that arises while operating through the manual process. The actual application decreases the overheads that exist on the job schedules among the faculties and the administration. The portal helps in adjusting and arranging the operational standards in the maintenance of information related to their students and examinations, the faculties and their assigned job. The administrators can handle all the operational based information with respect to the transactional state that may arise in completing the application procedures that take place while the system is functioning.The actual purpose in designing the system is to make the
organizational process to get speed up. The management can have
the expected information at its bay at any instance. Generating the
required reports as per the operational requirements becomes
much easier and information availability at the hand. The system
not only becomes false proof and higher levels of satisfaction
prevail at the side of the student, faculty and administrators. The
application is also security oriented and gets associated with in
the system, as the general structure of accessibility is fairly
demandable.
The students can just get on to the portal to know any such
information that is of importance to their academics. The students
can also have referential information related to the normal
structure of their courses, semesters and time tables of the
examination .The portal also provides the accessibility towards
the provision of old question paper and their answers along with
the academic material that is given by the faculties.
From the side of the faculties point the site helps in managing the
nominal requirements for the faculties to enquire, for the subjects
what they have been allocated along with the courses for which
they have been registered. The portal also helps the
facult ies in managing the information related to the
assignments that they have to schedule for students as
per the semester in which they are made responsible.
The Portal maintains the details of the corporate
companies that are interested to provide placements to
their College students through campus placements.
The portal maintains the list of all the corporate
sectors that are available and also provides the
facil it ies for registering them selves onto the database
of this si te for their future endeavors. The Students
and the faculties as well as the management can have
a fair glance of information regarding all the
corporate sectors and guide their students regarding
the essentials and necessit ies of job placements.
The total portal has been planned to be associated
through the conceptual constant of the Java network
and databases technologies, the concept handles the
late trends that are set for higher data transfer rates
optimized bandwidth uti lizations of the network by
using the technologies lire EJB & Servlets the web
content is applied through dynamism with oriental
usage of Java server pages at various stages.The
Portal also maintains the specifications of the library
catalog of all the books that are available in the
college, making the students and the facult ies much
easier to check for the exist ing tit les in the library
before hand.
PROJECT SYNOPSIS
Synopsis
The ent i re pro ject has been developed keeping is of the Dist r ibuted c l ient server comput ing technolog ies mind. The specificat ions have been normal ized by 3NF to e l iminate a l l the anomal ies that may ar ise due to the database t ransact ion that are executed by the admin is trator . The user inter face is browser specific to g ive d istr ibuted access ib i l i ty for the overal l system. The internal database has been se lected as MSAccess. The bas ic ob ject ives of tab le have been explo i ted to provide higher cons is tency and re l iab i l i ty for the data storage. The MSAccess was a choice as i t prov ides the construct ive o f Re lat iona l c r i ter ia for h igher-leve l re l iab i l i ty and secur i ty . The tota l f ront end was dominated us ing HTML s tandards appl ied wi th the dynamism of Java server pages . The communicat ion c l ient was appl ied us ing the serv lets at a l l proper leve ls h igh- leve l care was taken to check that the system manages date consistency with proper bus iness va l idat ion.About the Organization
College has taken a s tandardized decis ion to extend i ts serv ices at the reach of the students and facu l t ies , making the system more flexible and adaptable . The col lege has a group of d ifferent academic courses that are provided as v i r tue of select ion for the s tudents who are jo in ing the Col lege. The management has taken a decis ion in i ts technical meet ing to make the system more flexib le and that can be at the reach of the facu lt ies and students. The system has s tudents enrol l ing from d ifferent areas of the country and wor ld . The system provides both technical and non-technical courses, with a vast choice of e lect ives at the reach o f the students. The students can award any course o f thei r choice once they fu lfi l l the norms as stated by the
academic counci l o f India. The student can get enro l led into on ly one course at a t ime and he is cornered to adopt the subjects that are very specific to that course f rom the ava i lab le opt ions. The system at any pr int of t ime can communicate wi th respect to the s tandards and strategies for which a semester has been started. The major problem that is faced by the organizat ion is in managing the profile status o f each facul ty and student wi th respect to the ir operat iona l standards under the environment. The organizat ion to speed up the ent i re act iv i ty has launched the proposal of develop ing the ir porta l , which can drast ica l ly decrease the overal l burden and load upon the system.
Why the New system?
With the new system the fo l lowing act iv i t ies gets more momentum.
1. The s tudent , facul ty or the admin istrators can v iew of access the informat ion v i r tual ly f rom anywhere in the Col lege promises .
2. The facul t ies have the flexib i l i ty of prov id ing the student wi th a l l that mater ia l and in format ion that is necessary.
3. The in format ion re lated to exam and ass ignments are ported at the convenience o f the facul t ies .
4 . The s tudents can gain hands on in format ion re lated to the examinat ion and ass ignments on which he need to get scheduled.
5. The students need not shut t le themselves around the admin ist rat ive office for the sake of examinat ion or fees payments in format ion.
6. The in format ion can be managed in a s tandardized database, which can a lways serve the process of search much eas ier and faster .
7 . The s tudents can a lso ava i l thei r examinat ion resu l ts through the systems i tse l f .
8 . The Students and admin istrat ion can have a p lan of act ion for the campus p lacements that can take place in near future as per the academic schedules .
REQUIREMENTS
Hardware Requirements
Pentium IV Processor.
128 MB RAM.
20GB Hard Disk space.
Ethernet card with an Internet
and Internet zone.
Software Requirements
Windows 2000,Windows XP operating system.
Internet explorer 5.0 and Netscape navigator.
MS-Access.
Java/J2EE.
Tomcat 4.1,Tomcat 5.0
ACCESS,SERVLETS,JDBC,JSP,HTML
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.
Java is a programmer’s 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.
Importance of Java to the Internet
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 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 that’s has been generated by the compiler will not corrupt the machine that it’s loaded on. Byte code verification takes place at the end of the compilation process to make sure that is all accurate and correct. So byte code verification is integral to the compiling and executing of Java code.
Overall Description
Picture showing the development process of JAVA ProgramJava 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.
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,
Java Source Java byte code JavaVM
Java . Class
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:
They’re 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 sequence. 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:
It’s extensible - you can inherit all your functionality from the base classes made available to you.
It’s simple, small, and easy to use. Features of Servlets
Servlets are persistent. Servlet are loaded only by the web server and can maintain services between requests.
Servlets are fast. Since Servlets only need to be loaded once, they offer much better performance over their CGI counterparts.
Servlets are platform independent. Servlets are extensible. Java is a robust, object-oriented
programming language, which easily can be extended to suit your needs
Servlets are secure. Servlets can be used with a variety of clients.
Loading Servlets
Servlets can be loaded from three places
From a directory that is on the CLASSPATH. The CLASSPATH of the JavaWebServer includes service root/classes/ which is where the system classes reside.
From the <SERVICE_ROOT /Servlets/ directory. This is *not* in the server’s 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.
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:
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
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 browser’s 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 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 Browser’s 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:
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.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.<BODY>…</BODY> 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<HEAD>...</HEAD> Contains tags that specify information
about a document<HR>...</HR> Creates a horizontal rule<HTML>…</HTML> Contains all other HTML tags<META>...</META> 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
ADVANTAGES
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 APIsAt 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 f rom Java? The answer i s that you can use ODBC f rom Java, but th is i s best done with the help of JDBC in the form of the JDBC-ODBC Br idge, which we wi l l
cover short ly . The quest ion now becomes "Why do you need JDBC?" There are several answers to th is quest ion:
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.
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.
JDBC-ODBC BridgeIf 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. Java Server Pages (Jsp)
Java server Pages is a simple, yet powerful technology for creating and maintaining dynamic-content web pages. Based on the Java programming language, Java Server Pages offers proven portability, open standards, and a mature re-usable component model .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 JSPPortability:
Java Server Pages files can be run on any web server or web-enabled application server that provides support for them. Dubbed the JSP engine, this support involves recognition, translation, and management of the Java Server Page lifecycle and its interaction components.Components: It was mentioned earlier that the Java Server Pages architecture can include reusable Java components. The architecture also allows for the embedding of a scripting language directly into the Java Server Pages file. The components current supported include Java Beans, and Servlets.Processing:A Java Server Pages file is essentially an HTML document with JSP scripting or tags. The Java Server Pages file has a JSP extension to the server as a Java Server Pages file. Before the page is served, the Java Server Pages
syntax is parsed and processed into a Servlet on the server side. The Servlet that is generated outputs real content in straight HTML for responding to the client.Access Models:A Java Server Pages file may be accessed in at least two different ways. A client’s request comes directly into a Java Server Page. In this scenario, suppose the page accesses reusable Java Bean components that perform particular well-defined computations like accessing a database. The result of the Beans computations, called result sets is stored within the Bean as properties. The page uses such Beans to generate dynamic content and present it back to the client.
In both of the above cases, the page could also contain any valid Java code. Java Server Pages architecture encourages separation of content from presentation.Steps in the execution of a JSP Application:
1. The client sends a request to the web server for a JSP file by giving the name of the JSP file within the form tag of a HTML page.
2. This request is transferred to the 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.
PurposeThe 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 consistencySystem 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
Project Plan Maintain and manage the fee payments deta i l s o f the
students for the ir academic purposes and examinat ions.
Maintain and manage the facu lty based mater ia l and the previous quest ion papers a long with the answers .
Maintain and manage the facu lty ass ignments and marks deta i l s .
MS-ACCESS
What is a Database?
A database is a computer term for a collection of related information about certain topic or business application, such as an employee database or a product database. Databases help you organize related information in a logical manner for easy access.
Computer databases can store data in different formats, from simple lines of text (such as names and addresses) to complex data structures that include pictures, sounds or video images. Databases arrange information in such a
way that any specific piece of information can be accessed if a reference point is known.
Additional Information
1.Difference between data and database
A) A data is a collection of related information put together.
B) A database is a computer term for a collection of related information about a certain topic or business application. Database help in organizing related information in logical manner for easy access and retrieval. Database consists of data within its objects.
2. The primary key is used to uniquely identify the records in a table.
3. The set of records returned by a query is known as dynaset.How to create a database:
Microsoft Access provides three methods to create a database:
You can create a database by using the Database wizard. The wizard lets you choose from one of the built-in templates, and customize it to some extent. Then it creates a set of tables, queries, forms, and reports, and also a switchboard for the database. The tables do not have any data in them. Use this method if one of the built-in templates closely match your requirements.
Creating a database by using a Database Wizard
You can use a Database Wizard to create in one operation the required tables, forms, and reports for the type of database you choose — this is the
easiest way to start creating your database. The wizard offers limited options to customize the database.
1.Click New on the toolbar.
2.In the New File task pane, under Templates, click On my computer.
3.On the Databases tab, click the icon for the kind of database you want to create, and then click OK.
4.In the File New Database dialog box, specify a name and location for the database, and then click Create.
5.Follow the instructions in the Database Wizard.
Create a database by using a template:
This is the quickest way to create a database. This method works best if you can find and use a template that very closely matches your requirements.
1.Click New on the toolbar.
2.In the New File task pane, under Templates, either search for a specific template or click Templates on Office Online to browse for a suitable template.
3.Locate the Access template you want, and click Download.
If you want to start creating a database based on your design, create a blank database, then add the tables, forms, reports, and other objects individually — this is the most flexible method, but it requires you to define each database element separately.
Create an empty database without using a Database Wizard:
1.Click New on the toolbar.
2.In the New File task pane, under New, click Blank Database.
3.In the File New Database dialog box, specify a name and location for the database, and then click Create.
What is a table?
Relational databases are constituted by one or more tables than contain the information in an organized form. Databases usually contain more than one table and each one will have a fixed number of fields.
The tables are made up by two structures: Field : It corresponds to the name of the column. It must be unique and
besides to have a data type associate Record : It corresponds to each row that composes the table. There the
data and the registries are composed
Relationships in a Database:
One-To-Many RelationshipsA one-to-many relationship is the most common type of relationship. In this
type of relationship, a row in table A can have many matching rows in table B, but a row in table B can have only one matching row in table A. For example, the Publishers and Titles tables have a one-to-many relationship: each publisher produces many titles, but each title comes from only one publisher.A one-to-many relationship is created if only one of the related columns is a primary key or has a unique constraint.In Access, the primary key side of a one-to-many relationship is denoted by a key symbol. The foreign key side of a relationship is denoted by an infinity symbol.
Many-To-Many Relationshipsn a many-to-many relationship, a row in table A can have many matching rows
in table B, and vice versa. You create such a relationship by defining a third table, called a junction table, whose primary key consists of the foreign keys from both table A and table B. For example, the Authors table and the Titles table have a many-to-many relationship that is defined by a one-to-many relationship from each of these tables to the TitleAuthors table. The primary key of the TitleAuthors table is the combination of the au_id column (the authors table’s primary key) and the title_id column (the Titles table’s primary key).
One-To-One RelationshipsIn a one-to-one relationship, a row in table A can have no more than one
matching row in table B, and vice versa. A one-to-one relationship is created if both of the related columns are primary keys or have unique constraints.
This type of relationship is not common because most information related in this way would be all in one table. You might use a one-to-one relationship to:
Divide a table with many columns Isolate part of a table for security reasons. Store data that is short-lived and could be easily deleted by simply
deleting the table. Store information that applies only to a subset of the main table.
In Access, the primary key side of a one-to-one relationship is denoted by a key symbol. The foreign key side is also denoted by a key symbol.
MODULE DESCRIPTION
The tota l number o f databases that were ident ified to bui ld system is 14. The major parts of the databases are categor ized as administrat ion components and s tudents and facu l ty ’s components. The admin ist rat ion components are usefu l i s managing the actual master data that may be
necessary to mainta in the cons is tency of the system. These databases are pure ly used for the interna l organizat ional needs and necess i t ies .
The students and facul ty ’s components are des igned to handle to t ransact ional states that ar ise upon the system whereas students or facu lty can make a v is i t onto the porta l for the sake o f the informat ion re lated to semesters , examinat ions fees, L ibrary Books and Corporate detai l s . The students and facu l ty ’s components are scheduled to accept parametr ica l informat ion f rom the uses as per the system necess i ty .
The Administ rat ion users inter face concentrate on the cons is tent in that i s pract ica l ly par t of organizat ional actuar ies and which needs proper authent icat ion for date co l lat ion. These inter faces to the v is i tors wi th a l l the t ransact iona l s tates lute date in date de let ion and date updat ion on ly wi th the Date search capabi l i t ies .
The students or facu lt ies user inter face he lps the ord inary webs ite v is i tors in t ransact ions the requi red serv ices that are provided upon the s i te . The facu lt ies can manage the ir own in format ion in a customized manner as per the ir flexib i l i t ies .
Number Of Modules
Students Module: Th is module manages a l l that in format ion re lated to the students, who got enrol led into the system. The students associat ion towards the part icu lar course and the examinat ion schedules a long with the fee payments and resu lts are integrated into th is . In th is Module we g ive he flexib i l i ty to the user in v iewing h is personal informat ion, apply ing for the cer t ificates required at the academic level ,
to the admin is trator . They can a lso v iew for any not ificat ions f rom the corporate, deta i l s o f the marks obtained in var ious subjects . Student i s a lso g iven pr iv i lege of access ing thei r account in format ion and changes the passwords for the secur i ty reasons.
Facult ies Module: Th is module manages the in format ion that is spec ific to the facu lt ies . The module a lso integrates i t se l f to the courses to which he is responsible and the subjects on which he is be ing deputed. The module a lso manages i tse l f to mainta in integrat ion wi th the facu lt ies ’ deta i l s and associat ion of the ir marks entry into the concerned subjects depending upon the course, subjects and semester he/she involved.
College Information Module: Th is module manages the in format ion of a l l the courses that are pract ica l ly reg is tered with in the Col lege as per the ir academic counc i l s decis ion. Th is module a lso involves in mainta in ing the detai ls of in f rastructure, facu lt ies informat ion, L ibrary detai ls and assoc iated data . Th is module internal ly mainta ins the fees deta i l s o f courses conducted in the organizat ion, detai led in format ion o f facul t ies , l ibrary cata logue, issue of the books, avai lab le books in the l ibrary etc .
Corporate Information Management Module: The Module mainta ins the deta i l s of the corporate companies that are interested to provide p lacements to the ir Col lege students through campus placements . The por ta l mainta ins the l is t o f a l l the corporate sectors that are avai lable and a lso provides the fac i l i t ies for reg is ter ing them se lves onto the database o f th is s i te for thei r future endeavors . The Students and the facu l t ies as wel l as the management can have a fa i r g lance of in format ion regard ing a l l the corporate sectors and guide
thei r s tudents regarding the essent ia ls and necess i t ies of job p lacements.
Administrator Module:
This module deals with administrative strategies of the organization, which
involve checking out the student’s registrations, their admission details,
and authenticating them to access the information from the system. This
module also involves the maintenance of details of the students submitting
requests for the various certificates and permitting them accordingly to
have. This module is mainly designed to provide the validation check at the
administration level for every event generated at the front-end level.
TESTING
TestingTesting is the process of detecting errors. Testing performs a very critical role for quality assurance and for ensuring the reliability of software. The results of testing are used later on during maintenance also.
Psychology of Testing
The aim of testing is often to demonstrate that a program works by showing that it has no errors. The basic purpose of testing phase is to detect the errors that may be present in the program. Hence one should not start testing with the intent of showing that a program works, but the intent should be to show that a program doesn’t work. Testing is the process of executing a program with the intent of finding errors.
Testing Objectives
The main objective of testing is to uncover a host of errors, systematically and with minimum effort and time. Stating formally, we can say,
Testing is a process of executing a program with the intent
of finding an error.
A successful test is one that uncovers an as yet
undiscovered error.
A good test case is one that has a high probability of finding
error, if it exists.
The tests are inadequate to detect possibly present errors.
The software more or less confirms to the quality and
reliable standards.
Levels of TestingIn order to uncover the errors present in different phases we have the concept of levels of testing. The basic levels of testing are as shown below…
Client Needs
Requirements
Design
Acceptance Testing
System Testing
Integration Testing
Unit Testing
Code
System Testing
The philosophy behind testing is to find errors. Test cases are devised with this in mind. A strategy employed for system testing is code testing.
Code Testing:
This strategy examines the logic of the program. To follow this method we developed some test data that resulted in executing every instruction in the program and module i.e. every path is tested. Systems are not designed as entire nor are they tested as single systems. To ensure that the coding is perfect two types of testing is performed or for that matter is performed or that matter is performed or for that matter is performed on all systems.
Types Of Testing
Unit Testing Link Testing
Unit Testing
Unit testing focuses verification effort on the smallest unit of software i.e. the module. Using the detailed design and the process specifications testing is done to uncover errors within the boundary of the module. All modules must be successful in the unit test before the start of the integration testing begins.
In this project each service can be thought of a module. There are so many modules like Login, HWAdmin, MasterAdmin, Normal User, and PManager. Giving different sets of inputs has tested each module. When developing the module as well as finishing the development so that each module works without any error. The inputs are validated when accepting from the user.
In this application developer tests the programs up as system. Software units in a system are the modules and routines that are assembled and integrated to form a specific function. Unit testing is first done on modules, independent of one another to locate errors. This enables to detect errors. Through this errors resulting from interaction between modules initially avoided.
Link Testing
Link testing does not test software but rather the integration of each module in system. The primary concern is the compatibility of each module. The Programmer tests where modules are designed with different parameters, length, type etc.
Integration Testing
After the unit testing we have to perform integration testing. The goal here is to see if modules can be integrated proprerly, 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 integrating all the modules forms the main system. 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.
White Box Testing
This is a unit testing method where a unit will be taken at a time and tested
thoroughly at a statement level to find the maximum possible errors. I
tested step wise every piece of code, taking care that every statement in
the code is executed at least once. The white box testing is also called Glass
Box Testing.
I have generated a list of test cases, sample data. which is used to check all possible combinations of execution paths through the code at every module level.
Black Box TestingThis testing method considers a module as a single unit and checks the unit at interface and communication with other modules rather getting into details at statement level. Here the module will be treated as a block box that will take some input and generate output. Output for a given set of input combinations are forwarded to other modules.
DATA FLOW DIAGRAMS
DATA FLOW DIAGRAMS
Symbols in DFD:
Data Flow :
Process :
Data Store :
Terminator :
DFD For New Faculty Entry
Java Source
Java Source
Java Source
Validate Faculty ID
Verify Data
1.2
Check For
Department
Verify Data
1.3
Designation Master
Check For
Designation
Department Master
Insert
Faculty Master
DFD For New Subject Under Course Entry
DFD For new Examination Entry
DFD For New Exam Time Table Entry
Verify Data
2.1
Insert New
CourseID SubjectID
Course_Sub Master
Validate CourseID SubjectID
Verify Data
2.2
Check For
Course
Verify Data
2.3
Subject Master
Check For
Subject
Course Master
Insert
Course_Sub Master
Verify Data
3.1
Insert New
Exam ID
Examination Master
Validate Exam ID
Verify Data
3.2
Check For
Course
Verify Data
3.3
Semester Master
Check For
Semester
Course Master
Insert
Examination Master
DFD For New Fee Payment Details
DFD For New Faculty Course Entry
Verify Data
4.1
Insert New
ExamID SubjectID
Exam Time Table
Validate ExamID SubjectID
Verify Data
4.2
Check For
Exam
Verify Data
4.3
Subject Master
Check For
Subject
Examination Master
Insert
Exam Time Table
Verify Data
5.1
InsertNew
PaymentID PaymentTypeID
Payment Master Details
Validate PaymentID PaymentTypeID
Verify Data
5.2
Check For
Fee Payment
Verify Data
5.3
Fee Payment Type Master
Check For
Fee Payment TypeID
Fee Payment Master
Insert
Exam Time Table
DFD For New Faculty Subject Entry
DFD For New Student Registration
Verify Data
6.1
InsertNew
FacultyID CourseID
Faculty Course Master
Validate FacultyID CourseID
Verify Data
6.2
Check For
Faculty
Ver i fy Data
6.3
CourseMaster
Check For
Course
Faculty Master
Insert
Faculty Course Master
Verify Data
6.1
InsertNew
FacultyID SubjectID
Faculty Course Master
Validate FacultyID CourseID
Verify Data
6.2
Check For
Faculty
Ver i fy Data
6.3
Subject Master
Check For
Subject
Faculty Master
Insert
Faculty Subject Master
GenerateStudentID()
7.1
Request for
Student Registration
Student Master
Validate Course ID()
7.2
Val idate Semester ID
7.3
Semester MasterCourse Master
Student Master
Commit
Updation Of Data
DFD For Student Examination Registration
GenerateExam ID()
8.1
Request for
Exam Registration
Examination Master
Validate Student ID()
8.2
Val idate Subject ID
8.3
Subject MasterStudent Master
Examinantion Master
Commit
Updation Of Data
DFD for Notes Submission By Faculty
DFD For Fee Payment
GenerateNotes ID()
9.1
Request for
Notes Submission
Faculty Notes Master
Validate Faculty ID()
9.2
Val idate Subject ID
9.3
Subject MasterFaculty Master
Faculty Notes Master
Commit
Updation Of Data
GenerateFee
Payment ID()
10.1
Request for
Notes Submission
Faculty Notes Master
Validate student ID()
10.2
GenerateFee Payment
ID()
10.3
Fee Payment Master Details
Student Master
Faculty Notes Master
Commit
Updation Of Data
Validate Fee ID()
10.2
Fee Master
DATA DICTIONARY
LIST OF TABLES
TABLE NAME : ADMIN
NAME TYPE CONSTRAINTUSID TEXT 20 PRIMARY KEY
PWD TEXT 10
TABLE NAME : ADMIN_CORPORATE
NAME TYPE CONSTRAINT
CORPORATE_ID TEXT 20 PRIMARY KEY
NOTIFICATION_ID TEXT 20
NOTI_DATE DATE
NOTI_LDATE DATE
NOTIFICATION TEXT 20
TABLE NAME : BRANCH_MASTER
NAME TYPE CONSTRAINT
BRANCH_ID TEXT PRIMARY KEY
BRANCH_NAME TEXT
BRANCH_DESC TEXT
COURSE_ID TEXT FOREIGN KEY
TABLE NAME : CATALOG
NAME TYPE CONSTRAINT
BOOK_ID TEXT 10 PRIMARY KEY
BOOK_NAME TEXT 20
BOOK_AUTHOR TEXT 20
BOOK_EDITION TEXT 10
TABLE NAME : CORPORATE_LOGIN
NAME TYPE CONSTRAINT
CID TEXT FOREIGN KEY
CUSER TEXT
PW_OLD TEXT
PW_NEW TEXT
TABLE NAME: CORPORATE_MASTER
NAME TYPE CONSTRAINT
CORPORATE_ID TEXT 20 PRIMARY KEY
CORPORATE_NAME TEXT 20
CORPORATE_DESC TEXT 10
CORPORATE_WEBSITE TEXT 20
TABLE NAME :COURSE_MASTER
NAME TYPE CONSTRAINT
COURSE_ID TEXT 10 PRIMARY KEY
COURSE_NAME TEXT 20
COURSE_SHORT_NAME
TEXT 5
COURSE_DESCRIPTION TEXT 20
COURSE_FEE TEXT 10
TABLE NAME: COURSE_SUBJECT_MASTER
NAME TYPE CONSTRAINTCOURSE_ID TEXT FOREIGN KEYSUBJECT_ID TEXT FOREIGN KEYSEMESTER_ID TEXT FOREIGN KEY
TABLE NAME:DEPARTMENT_MASTER
NAME TYPE CONSTRAINTDEPARTMENT_ID TEXT 8 PRIMARY KEYDEPARTMENT_NAME TEXT 10DEPARTMENT_DESCRIPTION
TEXT 20
TABLE NAME:DESIGNATION_MASTER
NAME TYPE CONSTRAINTDESIGNATION_ID TEXT 10 PRIMARY KEY
DESIGNATION_NAME TEXT 15DESIGNATION_DESCRITION
TEXT 20
TABLE NAME:FACULTY_LOGIN
NAME TYPE CONSTRAINTFACULTY_ID TEXT FOREIGN KEYLOGIN_NAME TEXTPW_OLD TEXTPW_NEW TEXTPW_CHANGED_DATE DATE
TABLE NAME:SEMISTER_MASTER
NAME TYPE CONSTRAINTSEMISTER_ID TEXT 10 PRIMARY KEYSEMISTER_TYPE TEXT 10SEM_START_DATE DATESEM_END_DATE DATE
TABLE NAME:STUDENT_CERTIFICATES
NAME TYPE CONSTRAINTSTUDENT_ID TEXT FOREIGN KEYCERTIFICATES TEXTAPPLY_DATE DATEAPPLY_STATUS TEXT
TABLE NAME:FACULTY_MASTER
NAME TYPE CONSTRAINTFACULTY_ID TEXT PRIMARY KEYPASSWORD TEXTFIRSTNAME TEXTLASTNAME TEXTGENDER TEXTROLE TEXTREM_QUESTION TEXTREM_ANSWER TEXTDOB DATEHOUSENO TEXTSTREET TEXTCITY TEXTSTATE TEXTCOUNTRY TEXTPINCODE NUMBERPHONENO NUMBERDEPARTMENT_ID TEXT FOREIGN KEYDESIGNATION_ID TEXT FOREIGN KEYJOINDATE DATEEMAIL TEXT
TABLE NAME:JOB_DETAILS
NAME TYPE CONSTRAINTJOB_ID TEXT PRIMARY KEYJOB_NAME TEXTJOB_QUALIFICATION TEXTNO_OF_VACANCIES NUMBERLAST_DATE DATECOMPANY_ID TEXT FOREIGN KEY
TABLE NAME:NOTIFICATION_MASTER
NAME TYPE CONSTRAINTNOTIFICATION_ID TEXT PRIMARY KEYNOTI_DATE DATENOTI_LDATE DATENOTIFICATION TEXTINDENDED_FOR TEXTSTATUS TEXT
TABLE NAME:STUDENT_LOGIN
NAME TYPE CONSTRAINTSTUDENT_ID TEXT FOREIGN KEYLOGIN_NAME TEXTPW_OLD TEXTPW_NEW TEXTPW_CHANGED_DATE DATE
TABLE NAME:STUDENT_MARKS
NAME TYPE CONSTRAINTSTUDENTID TEXT FOREIGN KEYSTUDENTNAME TEXTSUB1 NUMBERSUB2 NUMBERSUB3 NUMBERSUB4 NUMBERSUB5 NUMBER
TABLE NAME:STUDENT_MASTER
NAME TYPE CONSTRAINTSTUDENT_ID TEXT PRIMARY KEYPASSWORD TEXTFIRSTNAME TEXTLASTNAME TEXTGENDER TEXTROLE TEXTREM_QUESTION TEXTREM_ANSWER TEXTDOB DATEHOUSENO TEXTSTREET TEXTCITY TEXTSTATE TEXTCOUNTRY TEXTPINCODE NUMBERPHONENO NUMBER
COURSE_ID TEXT FOREIGN KEYDATE_OF_ADMISSION DATEEMAIL TEXT
TABLE NAME:STU_NOTIFICATION_MASTER
NAME TYPE CONSTRAINTNOTIFICATION_ID TEXT PRIMARY KEYNOTI_DATE DATENOTI_LDATE DATENOTIFICATION TEXTINDENDED_FOR TEXTSTATUS TEXT
TABLE NAME:SUBJECT_MASTER
NAME TYPE CONSTRAINTSUBJECT_ID TEXT 10 PRIMARY KEYSUBJECT_NAME TEXT 10SUBJECT_LONG_NAME TEXT 20SUBJECT_DESCRIPTION TEXT 20
CODING
1.CourseMasterServlet.java
/*StudentLoginServlet.java*/
import conpack.Conn;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
public class CourseMasterServlet extends HttpServlet
{
public void service(HttpServletRequest req,HttpServletResponse res) throws ServletException,IOException
{
PrintWriter out=res.getWriter();
try
{
String cid=req.getParameter("CNO");
String cname=req.getParameter("CNAME");
String cshort=req.getParameter("CSHORTNAME");
String cdesc=req.getParameter("CDESC");
String cfee=req.getParameter("CFEE");
String action=req.getParameter("action");
res.setContentType("text/html");
if (action.equals("Insert"))
{
java.sql.Connection con=Conn.getCon();
java.sql.Statement st=con.createStatement();
String sss="insert into course_master values('"+cid+"','"+cname+"','"+cshort+"','"+cdesc+"',"+cfee+")";
System.out.println(sss);
int c=st.executeUpdate(sss);
System.out.println("IIIIIIIIIIIIIIIII"+c);
if (c==1)
{
RequestDispatcher rd=req.getRequestDispatcher("CourseInsertSuc.html");
rd.include(req,res);
}//if
else
{
RequestDispatcher rd=req.getRequestDispatcher("AdminCourseMasterEntry.jsp");
rd.include(req,res);
out.println("<p><font color=\"#FF0000\">* Invalid Operaion<br>* Try Once Again</font></p>");
return;
}
}
else
{
RequestDispatcher rd=req.getRequestDispatcher("AdminCourseMasterEntry.jsp");
rd.include(req,res);
out.println("<p><font color=\"#FF0000\">* Invalid Operation<br>* Try Once Again</font></p>");
return;
}
}
catch (Exception e)
{e.printStackTrace();
RequestDispatcher rd=req.getRequestDispatcher("AdminCourseMasterEntry.jsp");
rd.include(req,res);
out.println("<p><font color=\"#FF0000\">* Invalid Operation<br>* Try Once Again</font></p>");
return;
}
}
}
2. SubjectMasterServlet.java/*StudentLoginServlet.java*/
import conpack.Conn;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
public class SubjectMasterServlet extends HttpServlet
{
public void service(HttpServletRequest req,HttpServletResponse res) throws ServletException,IOException
{PrintWriter out=res.getWriter();
try
{
String sid=req.getParameter("sid");
String sname=req.getParameter("sname");
String slname=req.getParameter("slname");
String sdes=req.getParameter("sdes");
String action=req.getParameter("action");
res.setContentType("text/html");
out.println(sid+"<br>");
out.println(sname+"<br>");
out.println(slname+"<br>");
out.println(action+"<br>");
if (action.equals("Insert"))
{
java.sql.Connection con=Conn.getCon();
java.sql.Statement st=con.createStatement();
String sss="insert into subject_master values('"+sid+"','"+sname+"','"+slname+"','"+sdes+"')";
System.out.println(sss);
int c=st.executeUpdate(sss);
System.out.println("IIIIIIIIIIIIIIIII"+c);
//con.close();st.close();
if (c==1)
{
RequestDispatcher rd=req.getRequestDispatcher("SubjectInsertSuc.html");
rd.include(req,res);
}//if
else
{
RequestDispatcher rd=req.getRequestDispatcher("AdminSubjectMasterEntry.jsp");
rd.include(req,res);
out.println("<p><font color=\"#FF0000\">* Invalid Operaion<br>* Try Once Again</font></p>");
return;
}
}
else
{
RequestDispatcher rd=req.getRequestDispatcher("/AdminSubjectMasterEntry.jsp");
rd.include(req,res);
out.println("<p><font color=\"#FF0000\">* Invalid Operation<br>* Try Once Again</font></p>");
return;
}
}
catch (Exception e)
{e.printStackTrace();
RequestDispatcher rd=req.getRequestDispatcher("/AdminSubjectMasterEntry.jsp");
rd.include(req,res);
out.println("<p><font color=\"#FF0000\">* Invalid Operation<br>* Try Once Again</font></p>");
return;
}
}
}
FORMS AND REPORTS
1.Homepage
2.Login Page
3.Student Page
4.Student Registration Page
5.Students Certificates Form
6.Students Search Form
7.Faculty Registration Form
8.Faculty Search Form
9.Job Informat ion Form
10.Detai ls Of Job
11.Course
12.Course Deatils
13.Semester Entry Form
14.Semester Entry Report
15.Subject Details
16.Subject Entry Form
17.Subject Details Report
18.Administrator Logout Form
19.About Us
20.About College
21.Infrastructure
22.Courses
23.Faculty
24.Library
25.Corporate Login
26.Corport Login Report
27.Job Details
28.Company Profile
29.Student Details
30.Student Login
31.Student Information
32.Certificates Application
33.MarkList
34.Job Information
35.Faculty Login Form
36.Faculty Profile
37.Student Details
FUTURE SCOPE
FUTURE UPGRADES:
This system can be upgraded in the future. The Future system will
be connected to online and perform all the transactions directly from the
Main System database which facilitates the full control to the authorities
over the sub systems. All the Transactions performed everywhere can be
easily known from the main System.
User Manual
The entire application has been designed using Ms-access as back end and using the graphical features of HTML and dynamism through the JSP provides the front end user interface.
The customer can Interact with the website just by providing the URL that is specified.
The system displays the list of all items that are practically working and ready for sale, which he can click and select for shopping.
Once the total number of items has been chosen, he pushes them onto the card.
If the customer is registered, the shopping card is accepted; else a message is prompted which specifies the customer to get registered.
If the customer can get registered by clicking on the logon button and provide the required information as specified.
Each time the registered customer come on to the site he can makes use of the user name and the password that is allocated to him.
The administrator who is managing the actual information should also be registered for the first time, and they are also allocated with the user name and password.
The administrator has full-length privileges related to the activities that govern the data maintenance.
The administrator also has the privilege to manage and maintain the authentication standards for all customers.
Using core java and components like JSP and EJB needs proper deployment as per general specifications developed the front end as it
SUMMARY CONCLUSION:
This Student Portal is developed using Java. So it can operate
effectively and efficiently on any platform with out any modifications. It
facilitates fast, secure, reliable and efficient Management to the end users.
Using this application the higher authorities have the full control on all
parts of the undergoing systems. This System provides the full security
and is free from malpractice in the Student Portal.
BIBLIOGRAPHY
Java Complete Reference: HERBERT SCHIELD
Working with MS-Office: RONMONSFIELD
Java Servlet Programming: JASON HUNTER
Software Engineering: ROGER S.PRESSMAN