Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Introduction 2012 Documentation

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 60

CHAPTER -1

INTRODUCTION:

In the recent era of globalization, technological advancement has increased dramatically in every sector including mainstream educational organisations. One of the advanced technologies web-based application is the largely used application all over the world which is very popular technology for its nature of global acces. To make global exposure of an organization it is highly necessary to have website which is fully furnished with all information which is required for every type user.Generally in a website it contains the complete information of the institution along with the better facility to communicate with the governing bodies.Information includes the types of courses ofeered ibn the institution.
Besides this the students those who are interested to take admission to this college can get the information about the last year cut-off rank in the o-jee counseling branch wise. The students of our college can get updated news about the schedule of internal as well as semester exams. Apart from this the students can down load the previous year questions from our college web-site along with this challan forms for deposition of different types of college fees. Many features in the front page have been changed from the previous web-site. The popup menu looks very attractive. There is a space provided for the current events which shows the recent events, along with this there is notice board where the news is flashed regularly. Thus in this project there are several features added which are required must for an organization. Overall the project is complete up gradation of college web-site which have efficient database connectivity having dynamic retrieving facility.

CHAPTER- 2
SYSTEM ANALYSIS

2.1.PURPOSE OF THE SYSTEM

This system provides the solutions of the limitations of existing system and enhance the performance .It also gives the better handling facicity to the Administrator by providing the authorized user for different. Department, as a reswult of which every department people will submit t the required notification and these notices will be approved by the Administrator and will be finally published in the desired place. Existing system is a completely static one ,but in the current sytem we are makig it dynamic in every aspect 2.2Existing System: The existing system doesnt provide the use friendly features of the home page. Many features of the the home page require the dynamicness but which is lacked in the existing system. Existing system does not provide the the current event to be occurred. It also does not provide the current news or notice. It does not provide the down load facility for the students which is very necessary for a student.

2.3 PROPOSED SYSTEM: Basically in this project we have focused on the dynamicity of the web site as a result of
which the looks of the every page will be attractive

It provides the best services in comparison to the older one.. .

The students of our college can get updated news about the schedule of internal as well as
semester exams. .

Apart from this the students can down load the previous year questions from our college
web-site along with this challan forms for deposition of different types of college fees.

Besides this the students those who are interested to take admission to this college can get the information about the last year cut-off rank in the o-jee counseling branch wise.

Many features in the front page have been changed from the previous web-site. The popup menu looks very attractive.

There is a space provided for the current events which shows the recent events, along with this there is notice board where the news is flashed regularly.

CHAPTRE-3
FEASIBILITY STUDY
FEASIBILITY is the measure of how beneficial or practical the development of an Information System will be to the client. Feasibility study is an important phase in the software development process. It enables the developer to have an assessment of the product being developed. It refers to the feasibility study of the product in terms of

outcomes of the product, operational use and technical support required for implementing it. Feasibility study should be performed on the basis of various criteria and parameters. The various feasibility studies are: There are four types of feasibility:

OPERATIONAL FEASIBILITY

TECHNICAL FEASIBILITY

ECONOMICAL FEASIBILITY

Economic Feasibility: It is a measure of the cost effectiveness of a project or a solution. It refers to the benefits or out comes. If the benefits are more or less the same as the older system, then it is not feasible to develop the product. This product is highly efficient and user friendly as it is developed (WINDOWS), the Front End (HTML, JSCRIPT), the Back end (SQLServer). It consists of two tests: Is the anticipated value of the benefits greater than projected cost development?

Does the organization have adequate cash flow to fund the project during the development period? A new system must increase income, either through cost savings or by increased revenues and this is determined by cost-benefit analysis. OPERATIONAL COST: These are the costs that will be incurred after the system is put into production. Helpful in estimating the anticipated financial benefits. Financial benefits are the expected annual savings or increase in net connection and browsers which will cost approximately Rs.200/-. DEVELOPMENT COST: It includes Salaries and wages, equipment and installation, software and licenses, consulting fees and payments to third party, training facilities, utilities and tools, supportive staff, travel and miscellaneous. For developing the website the labour cost will be around Rs.200/day. MAINTAINENCE: To renew the registration of DNS (Domain Naming System) to upload the website on the net. Maintaining the website after uploading would estimate around Rs.300/-. Operational Feasibility: It is a measure of how well the solution will work in the organization. It is a measure of how people feel about the system. It measures the urgency of the problem or acceptability of a solution. It refers to the feasibility of the product to be operational. Some products may work very well at design and implementation but may fail in the real time environment. It includes the study of additional human resource required and their technical expertise. The product is operationally viable as it is designed specifically for the application developers. Our product is highly operationally feasible because of its user friendliness, graphical user interface and it is developed in such a way, it makes even the novices feel comfortable in using it. There are two aspects of operational feasibility to be considered: Is the problem worth solving How does the management feel about the problem? 5

As the website provides the information which are self explanatory, the user finds that the site will be operationally feasible. The problem statement and the solution steps are designed in a very easy way by following user oriented interfaces.

Technical Feasibility: Evaluating the technical feasibility is the trickiest part of a feasibility study. This is because, at this point in time, not too many detailed design of the system, making it difficult to access issues like performance, costs on (on account of the kind of technology to be deployed) etc. A number of issues have to be considered while doing a technical analysis. Understand the different technologies involved in the proposed system before commencing the project we have to be very clear about what are the technologies that are to be required for the development of the new system. Find out whether the organization currently possesses the required technologies. Is the required technology available with the organization?.

It refers to whether the software that is available in the market fully supports the present application. It studies the pros and cons of using particular software for the development and its feasibility. A new system brings a new technology into a company.

HARDWARE REQUIREMENTS: 512 MB RAM 100 mbps of Bandwidth P4 processor

SOFTWARE REQUIREMENT

Tomcat Jdk 1.6 Ms office

Tomcat : It is aweb Server which plays important role for Dynamic Web-page. Jdk 1.6:

It is a java standard development toolkit for all java application.

Ms office:

It provide Ms Access for creation of Data base.

CHAPTER-4
SYSTEM REQUIREMENT SPECIFICATION

Software Requirements Specification (SRS) is a complete description of the behavior of the system to be developed. It includes a set of use cases that describe all of the interactions that the users will have with the software. Data flow diagrams are also known as functional requirements. In addition to these, the SRS also contains nonfunctional (or supplementary) requirements. Non-functional requirements are requirements which impose constraints on the design or implementation (such as performance engineering requirements, quality standards, or design constraints). An SRS is basically an organization's understanding (in writing) of a customer or potential client's system requirements and dependencies at a particular point in time (usually) prior to any actual design or development work. It's a two-way insurance policy that assures that both the client and the organization understand the other's requirements from that perspective at a given point in time. The SRS document itself states in precise and explicit language those functions and capabilities a software system must provide, as well as states any required constraints by which the system must abide. The SRS also functions as a blueprint for completing a project with as little cost growth as possible. The SRS is often referred to as the "parent" document because all subsequent project management documents, such as design specifications, statements of work, software architecture specifications, testing and validation plans, and documentation plans, are related to it. It's important to note that an SRS contains functional and nonfunctional requirements only; it doesn't offer design suggestions, possible solutions to technology or business issues, or any other information other than what the development team understands the customer's system requirements to be. A well-designed, well-written SRS accomplishes four major goals:

It provides feedback to the customer. An SRS is the customer's assurance that the development organization understands the issues or problems to be solved and the software behavior necessary to address those problems. Therefore, the SRS should be written in natural language, in an unambiguous manner that may also include charts, tables, data flow diagrams, decision tables, and so on.

It decomposes the problem into component parts. The simple act of writing down software requirements in a well-designed format organizes information, places borders around the problem, solidifies ideas, and helps break down the problem into its component parts in an orderly fashion.

It serves as an input to the design specification. As mentioned previously, the SRS serves as the parent document to subsequent documents, such as the software design specification and statement of work. Therefore, the SRS must contain sufficient detail in the functional system requirements so that a design solution can be devised.

It serves as a product validation check. The SRS also serves as the parent document for testing and validation strategies that will be applied to the requirements for verification. SRSs are typically developed during the first stages of "Requirements

Development," which is the initial product development phase in which information is gathered about what requirements are needed--and not. This information-gathering stage can include onsite visits, questionnaires, surveys, interviews, and perhaps a return-oninvestment (ROI) analysis or needs analysis of the customer or client's current business environment.

The actual specification, then, is written after the requirements have been gathered and analyzed. The first step in developing anything is to state the requirements. This applies just as much to leading edge research as to simple

programs and to personal programs, as well as to large team efforts. Being vague about your objective only postpones decisions to a later stage where changes are much more costly. The problem statement should state what is to be done and not how it is to be done. It should be a statement of needs, not a proposal for a solution. A user manual for the desired system is a good problem statement. The requestor should indicate which features are mandatory and which are optional, to avoid overly constraining design decisions.

The requestor should avoid describing system internals, as this restricts implementation flexibility. Performance specifications and protocols for interaction with external systems are legitimate requirements. Software engineering standards, such as modular construction, design for testability, and provision for future extensions, are also proper. Many problems statements, from individuals, companies, and government agencies, mixture requirements with design decisions. There may sometimes be a compelling reason to require a particular computer or language; there is rarely justification to specify the use of a particular algorithm. The analyst must separate the true requirements from design and implementation decisions disguised as requirements.

The analyst should challenge such pseudo requirements, as they restrict flexibility. There may be politics or organizational reasons for the pseudo requirements, but at least the analyst should recognize that these externally imposed design decisions are not essential features of the problem domain. A problem statement may have more or less detail. A requirement for a conventional product, such as a payroll program or a billing system, may have considerable detail.

10

A requirement for a research effort in a new area may lack many details, but presumably the research has some objective, which should be clearly stated. Most problem statements are ambiguous, incomplete, or even inconsistent. Some requirements are just plain wrong. Some requirements, although precisely stated, have unpleasant consequences on the system behavior or impose unreasonable implementation costs. Some requirements seem reasonable at first but do not work out as well as the request or thought. The problem statement is just a starting point for understanding the problem, not an immutable document.

The purpose of the subsequent analysis is to fully understand the problem and its implications. There is no reasons to expect that a problem statement prepared without a fully analysis will be correct.

The analyst must work with the requestor to refine the requirements so they represent the requestors true intent. This involves challenging the requirements and probing for missing information.

The psychological, organizational, and political considerations of doing this are beyond the scope of this book, except for the following piece of advice: If you do exactly what the customer asked for, but the result does not meet the customers real needs, you will probably be blamed anyway.

11

CHAPTER- 5
SYSTEM DESIGN
Several popular software engineering approaches are based on the notion of data flow. The structured analysis/structured design (SA/SD) methodology is representative of the data flow approach. SA/SD begins with a single process or function that represents the overall purpose of the desired software. SA/SD recursively divides complex processes, until one is left with many small functions that are easy to implement. Analysis is concerned with understanding and modeling the application and domain within which it operates. The initial input to the analysis phase is problem statement, which describes the problem to be solved, and provides a conceptual view of the proposed system. Subsequent dialog with the customer and real-world background knowledge are additional inputs to analysis. The output from analysis is a formal model that captures the three essential aspects of the system: the objects and their relationships, the dynamic flow of control, and the functional transformation of data subject to constraints. The following steps are performed in constructing the object model: Identify objects processes. Prepare data dictionary. Identify associations between objects. Identify attributes of objects and links. Organize or simplify object. Verify access paths. Iterate and refine the model. Group processes into modules. During analysis, the focus is on what needs to be done, independent of how it is done. During design, decisions are made about how the problem will be solved, first at high level, then at increasingly detailed levels.

12

System design is the first design stage in which the basic approach to solving the problem is selected. During system design, the overall structure and style are decided. The system architecture is the overall organization of the system into components called subsystems. The architecture provides the context in which more detailed decisions are made in later design stages. By making high level decisions that apply to the entire system, the system designer partitions the problem into subsystems so that further work can be done by several designers working independently on different subsystems. The system designer must make the following decisions: Organize the system into subsystems. Identify the concurrency inherent in the problem. Allocate subsystems to processors and tasks. Choose an approach for management of data stores. Handle access to global resources. Choose the implementation of control in software. Handle boundary conditions. Set trade-off priorities. 1. Breaking the System into Subsystems: The first step in system design is to divide the system into small number of components. Each major component of a system is called a sub system. Each subsystem encompasses aspects of the system that share some common property similar functionality, the same physical location, or execution on the same kind of hardware. A subsystem not an object nor a function but a package of classes, associations, operations, events, and constraints that are interrelated and that have a reasonably well-defined and small interface with other subsystems. A subsystem usually identified by the services it provides. A service is a group of related functions that share some common purpose such as I/O processing. A subsystem defines a coherent way of looking at one aspect of the problem. Each subsystem has a well-defined interface to the rest of the system.

13

The interface specifies the form of all interactions and the information flow across subsystem boundaries but does not specify how the sub system is implemented internally. Each subsystem then can be designed independently without affecting the others. The decomposition of systems into subsystems may be organized as a sequence of horizontal layers or vertical partitions. A layered system is an ordered set of virtual worlds, each built in terms of the ones below it and providing the basis of implementation for the ones above it. The objects in each layer can be independent, although there is often some correspondence between objects in different layers. Knowledge is one-way only: a subsystem knows about the layers below it, but has no knowledge of the above layers. Each layer may have its own set of classes and operations. Each layer is implemented in terms of the classes and operations of lower layers. Layered architecture comes in two forms: closed and open. In a closed architecture, each layer is built only in terms of the immediate lower layer. In an open architecture, a layer can use features of any lower layer to any depth. We decomposed our system into three subsystems as layers. The three layers are closed architecture form. The three layers are GUI layer, Network protocol layer and I/O layer. The purpose of GUI layer is to provide an efficient user interface to the user to interact with the system. It is built upon network layer, which provides basic http web services. The lowest layer is the I/O layer that provides services like reading or writing HTML documents to and from disk or an URL.
GUI subsystem Protocol Implementations Input Output System

When top-level subsystems are identified, the designer should show the information flow among the sub systems. 14

There are several architectural frameworks that are common in existing systems. They are batch transformation, continuous transformation, interactive interface, dynamic simulation, real-time system and transaction manager. In the architectural frameworks specified above, our system will best suit in interactive interface architecture, since there are large number of interactions between system and user. An interactive interface is a system that is dominated by interactions between the system and external agents, such as humans, devices or other programs. The external agents are independent of system, so their inputs cant be controlled, although the system may solicit responses from them.

2. Identifying Concurrency: One important goal of system design is to identify which objects must be active concurrently and which objects have activity that is mutually exclusive. The latter objects can be folded together in a single thread of control or task. But there is no part that is concurrent in our system. In our project there is a little amount of concurrency such as reading from an URL and loading in multiple instances of a browser. We will design these aspects with multithreading features. 3. Allocating Subsystems to Processor: In this step system designer estimates the hardware resources required and the implementation choice of either hardware or software. In our system all the subsystems will be implemented in software. The hardware requirements are general such as Pentium III, 128 MB of RAM, and clock speed 900 MHz 4. Management of Data Stores: In this stage the system designer decides what format is used to store the data stores. There are DBMS systems or file systems and others. Here in our project there are no data stores except aspx documents. We then definitely prefer files to store and retrieve aspx documents.

15

Choosing Software Control Implementation: During the analysis, all interactions are shown as events between objects. 5. Choosing Software Control Implementation: During the analysis, all interactions are shown as events between objects. But the system designer must choose among several ways to implement control in software. There are two kinds of control flows in a software system: internal and external. External control is the flow of externally visible events among the objects in the system. There are three kinds of control for external events: procedure driven, event driven sequential and concurrent. Internal control is the flow of control within a process. During the object design the designer carries out the strategy chosen during system design and fleshes out the details. There is a shift in emphasis from application domain concepts toward computer concepts. The objects discovered during the analysis serve as the skeleton of the design, but the object designer must choose among different ways to implement them with an eye toward minimizing execution time, memory, and other measures of cost. In particular, the operations identified during the analysis must be expressed as algorithms, with complex operations decomposed into simpler internal operations. The classes, attributes and associations from analysis must be implemented as specific data structures. New object classes must be introduced to store intermediate results during program execution and to avoid the need for recomputation. Optimization of the design should not carry to excess, as ease of implementation, maintainability, and extensibility are also important concern. The major steps in this stage are designing object classes and procedures for operations discovered during analysis. 6. Functional Modeling: The functional model shows how the values are computed, without regard for sequencing, decisions, or object structure. The functional model shows, which values depend on which other values, and the functions that relate them. Data flow diagrams are useful for showing functional dependencies. Functions are expressed in various ways, including natural language, mathematical equations, and pseudo code. 16

The following steps were performed in constructing the functional model: Identify input and output values. Build data flow diagrams showing functional dependencies. Describe functions. Identify constraints. Specify organization criteria. As mentioned in the previous section our system does not manipulate large data flows. There is not much concentration on functional model. Only the object model is highlighted in our system. Even though we showed basic data flow as a sample below. Structured design is a data flow based methodology. The approach begins with a system specification that identifies inputs and outputs and describes the functional aspects of the system. The next step is the definition of the modules and their relationships to one another in a form called a structure chart, using a data dictionary, DFD, and other structured tools. Structured design partitions a program into small, independent modules. They are arranged in a hierarchy that approximates a model of the business area and is organized in a top down manner. 7. Modules: Well-structured designs improve the maintainability of a system. A structured system is one that is developed from the top down and modular, that is, broken down into manageable components. In this project we modularized the system so that they have minimal effect on each other. MM module: This module manages only the client particulars. In this module marketing manager will do addition, deletion, updating of client information and views client details and status. PM Module: This module controls the work information and their scheduling and assigning them to team leaders. TL Module: This module contains the services to team leaders to view, schedule and assign them to operators and QC. And also gives detailed reports of their performance and status. 17

OP Module: This module handles operator service feature to browse their allotted jobs and time logs of their work. QCM Module: This module purpose is to view all the assigned jobs and their

updations like bugs, reverted times etc.

3.2 SOFTWARE ARCHITECTURE: A graphic tool used to describe and analyze the moment of data through a system manual or automated including the processes, stores of data, and delays in the system. Data flow diagrams are the central tools and the basis from which other components are developed. The transformation of data from input to output, through processes, may be described logically and independently of the physical components associated with the system. Systems design is the process or art of defining the architecture, components, modules, interfaces, and data for a system to satisfy specified requirements. One could see it as the application of systems theory to product development. Data flow diagram (DFD) is a picture of the movement of data between external entities and the processes and data stores within a system. A graphical tool used to analyze the moment of data through a system manual or automated including process, stores of data, and delays in the system. Data Flow Diagrams are the central tool and the basis from which other components are developed. The transformation of data from input to output, through processes, may be described logically and independently of the physical components associated with the system. The DFD is also known as dataflow graph or a bubble chart. The data flow diagram is a modeling tool that allows us to picture a system as a network of functional processes. The Data Flow Diagram (DFD) is a statement of user requirements, which portrays the system in terms of its component pieces with all the interfaces indicated. This diagram consists of terminators, data flows, control flows, data stores and process bubbles. Some of the guidelines for constructing a DFD are: Choose meaningful names for the processes, flows, stores and terminators. 18

Each process bubble must have at least one input and one output. All the data flows and control flows should be labeled. DFD should be internally consistent and also consistent with any associated DFDs. Input and output dataflow of a parent bubble (e.g. level 0 diagram) should be equivalent to input and output dataflow of the child diagram (Higher level DFD). Check the correctness. Apply conservation of data rule. All inputs to a process should be used to produce the output and the inputs must be sufficient to produce the output. There are two types of data flow diagrams 1. Physical DFD The physical DFD is the model of the current system and is used to ensure that the current system has been clearly understood. Physical DFDs show actual devices, departments, etc involved in the current system. 2. Logical DFD Logical DFDs are the model of the proposed system. They clearly should show the requirements on which the new system should be built. Later during design activity this is taken as the basis for drawing the systems architecture. Dataflow: Data move in a specific direction from an origin to a destination.

Figure 4.1 Data Move Process: Process is nothing but people, procedures, or devices that use or produce data. The physical component is not identified.

Figure 4.3 Process Source: External sources or destination of data may be people, programs, organizations or other entities. 19

Figure 4.4 Source Data Store: Here data stored or referenced by a process in the system.

Figure 4.5 Data Store Output The output of any particular module is represented by the following symbol.

LEVEL - 0
Data Store
Admin_login ADMIN

Student_Redg . Form

STUDENT

User Interface

Admin details Dataflow LEVEL - 1

20

Admin Login Form

Enter Admin User & Password

Check admin

20

Data stored

MANAGE DATABASE NO

Y E S

FACULTY DATA STORED BY ADMIN

LEVEL-2
USER
CHOOSE DEPTT. CLICK FACILITIES CLICK

FACULTIE S
ACCESS

LAB

SELECT ONE NAME VIEW FACULTY PROFILE LIST OF FACULTIES

RETRIEVING INRFORMATION BY A USER

21

CHAPTER- 6
CODING & IMPLEMENTATION
Technologies Used for Coding: Java Technology : Initially the language was called as oak but it was renamed as Java in 1995.It is developed by James Gosling found some problems in C,C++ i.e. system dependent,not so much secure,difficult etc. So he wants to devlop such a language which is simple, platform independent, secure, robust, distributed, portable, multithreaded, scalable and dynamic (these are advantages over C and C++). The most important in Java is its Byte code and JVM: Byte code of Java JVM translate java program into byte code makes it much easier to run a program in a wide variety of environments. 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.The reason is, once the run-time package exists for a given system, any Java program can run on it. 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) JVM is known as heart of java. This 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. 22

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 Source

Java byte code


JavaVM .Class

Java

Fig 6.1 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. HTML: 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 often used markup language for developing web pages. It is a tag based language. It provides suitable features by denoting certain text as headings, paragraphs, lists, and so on ,and to supplement that text with interactive forms, embedded images, and other objects. HTML is written in the form of labels (known as tags), surrounded by angle brackets. HTML can also describe, to some degree, the appearance and semantics of a document, and can include embedded scripting language code which can affect the behavior of web browsers and other HTML processors. 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. 23

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. It is a versatile language and can be used on any platform or desktop. It provides tags (special codes) to make the document look attractive. HTML tags are not casesensitive. 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. The various tags are used in HTML are as follows Basic HTML Tags: <! ---> ................................................ specifies comments Creates hypertext links Formats text as bold Formats text in large font. All tags and text in the HTML document Creates text Definition of a term Creates definition list Formats text with a particular font Encloses a fill-out form Defines a particular frame in a set of Creates headings of different levels(1 6 ) Information about a document Creates a horizontal rule Contains all other HTML tags Meta-information about a document <A>. </A> ................................... <B>. </B> .................................... <BIG>.</BIG> <BODY></BODY> .................... ....................

<CENTER>...</CENTER> .................... <DD></DD>........................................ <DL>...</DL> ......................................... <FONT></FONT> ...................

<FORM>...</FORM> ............................. <FRAME>...</FRAME> frames <H#></H#> ......................................... <HEAD>...</HEAD> <HTML></HTML> .......................... ...................

<HR>...</HR> ......................................... ....................

<META>...</META> ............................. 24

<SCRIPT></SCRIPT> <TABLE></TABLE>

.................... ....................

Contains client-side or server-side script Creates a table Indicates table data in a table Designates a table row Creates a heading in a table

<TD></TD> ........................................ <TR></TR> ......................................... <TH></TH> ........................................ Attributes:

The attributes of an element are name-value pairs, separated by "=", and written within the start label of an element, after the element's name. The value should be enclosed in single or double quotes, although values consisting of certain characters can be left unquoted in HTML (but not XHTML).Leaving attribute values unquoted is considered unsafe. Most elements take any of several common attributes: id, class, style and title. Most also take language-related attributes: Lang and Dir. The id attribute provides a documentwide unique identifier for an element. This can be used by style sheets to provide presentational properties, by browsers to focus attention on the specific element or by scripts to alter the contents or presentation of an element. The class attribute provides a way of classifying similar elements for presentation purposes. For example, an HTML document (or a set of documents) may use the designation class="notation" to indicate that all elements with this class value are all subordinate to the main text of the document (or documents). Such notation classes of elements might be gathered together and presented as footnotes on a page, rather than appearing in the place where they appear in the source HTML. Advantages of HTML: 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.

25

SPRING FRAMEWORK: The Spring Framework is an open source application framework and Inversion of Control container for the Java platform. The Spring Framework provides a comprehensive programming and configuration model for modern Java-based enterprise applications - on any kind of deployment platform. A key element of Spring is infrastructural support at the application level: Spring focuses on the "plumbing" of enterprise applications so that teams can focus on application-level business logic, without unnecessary ties to specific deployment environments. Spring includes:

Flexible dependency injection with XML and annotation-based configuration styles. Advanced support for aspect-oriented programming with proxy-based and AspectJbased variants . Support for declarative transactions, declarative caching, declarative validation, and declarative formatting . Powerful abstractions for working with common Java EE specifications such as JDBC, JPA, JTA and JMS . First-class support for common open source frameworks such as Hibernate and Quartz . A flexible web framework for building RESTful MVC applications and service endpoints . Rich testing facilities for unit tests as well as for integration tests .

Spring is modular in design, allowing for incremental adoption of individual parts such as the core container or the JDBC support. While all Spring services are a perfect fit for the Spring core container, many services can also be used in a programmatic fashion outside of the container. Supported deployment platforms range from standalone applications to Tomcat and Java EE servers such as WebSphere. Spring is also a first-class citizen on major cloud platforms with Java support, e.g. on Heroku, Google App Engine, Amazon Elastic Beanstalk and VMware's Cloud Foundry. The Spring Framework comprises several modules that provide a range of services:

Inversion of Control container: The configuration of application components and lifecycle management of Java objects done mainly via Dependency Injection. Aspect-oriented programming: It enables implementation of cross-cutting routines. Data access: It working with relational database management systems on the Java platform using JDBC and object-relational mapping tools and with NoSQL databases. Transaction management: It unifies several transaction management APIs and coordinates transactions for Java objects. 26

Model-view-controller: An HTTP- and servlet-based framework providing hooks for extension and customization for web applications and RESTful web services. Remote Access framework: configurative RPC-style export and import of Java objects over networks supporting RMI, CORBA and HTTP-based protocols including web services (SOAP). Convention-over-configuration: A rapid application development solution for Spring-based enterprise applications is offered in the Spring Roo module. Batch processing: A framework for high-volume processing featuring reusable functions including logging/tracing, transaction management, job processing statistics, job restart, skip, and resource management. Authentication and authorization: The configurable security processes that support a range of standards, protocols, tools and practices via the Spring Security sub-project (formerly Acegi Security System for Spring). Remote Management: The configurative exposure and management of Java objects for local or remote configuration via JMX. Messaging: The configurative registration of message listener objects for transparent message-consumption from message queues via JMS, improvement of message sending over standard JMS APIs. Testing: It support classes for writing unit tests and integration tests.

The Spring Framework serves as the foundation for the wider family of Spring open source projects, including:

Spring Security Spring Integration Spring Batch Spring Data Spring Web Flow Spring Web Services

SPRING SECURITY: Spring Security is a powerful and highly customizable authentication and access-control framework. It is the de-facto standard for securing Spring-based applications.Spring Security is a powerful and highly customizable authentication and access-control framework. It is the de-facto standard for securing Spring-based applications.Spring Security is one of the most mature and widely used Spring projects. Founded in 2003 and actively maintained by SpringSource since, today it is used to secure numerous demanding environments including government agencies, military applications and central banks. It is released under an Apache 2.0 license so you can confidently use it in your projects. Spring Security is also easy to learn, deploy and manage. Our dedicated security namespace provides directives for most common operations, allowing complete application security in just a few lines of XML. 27

We also offer complete tooling integration in SpringSource Tool Suite, plus our Spring Roo rapid application development framework. The Spring Community Forum and SpringSource offer a variety of free and paid support services. Spring Security is also integrated with many other Spring technologies, including Spring Web Flow, Spring Web Services, SpringSource Enterprise, SpringSource Application Management Suite and SpringSource tc Server. SPRING WEBFLOW: Spring Web Flow is a Spring MVC extension that allows implementing the "flows" of a web application. A flow encapsulates a sequence of steps that guide a user through the execution of some business task. It spans multiple HTTP requests, has state, deals with transactional data, is reusable, and may be dynamic and longrunning in nature. Spring Web Flow provides a declarative flow definition language for authoring flows on a higher level of abstraction. It allows it to be integrated into a wide range of applications without any changes (to the flow programming model) including Spring MVC, JSF, and even Portlet web applications. The following are common issues observed in stateful web applications with navigation requirements: 1. 2. 3. 4. 5. 6. Visualizing the flow is very difficult. The application has a lot of code accessing the HTTP session. Enforcing controlled navigation is important but not possible. Proper browser back button support seems unattainable. Browser and server get out of sync with "Back" button use. Multiple browser tabs causes concurrency issues with HTTP session data.

SPRING WEB SERVICES: Spring Web Services is a product of the Spring community focused on creating document-driven Web services. Spring Web Services aims to facilitate contract-first SOAP service development, allowing for the creation of flexible web services using one of the many ways to manipulate XML payloads.Spring Web Services is a product of the Spring community focused on creating document-driven Web services. Spring Web Services aims to facilitate contract-first SOAP service development, allowing for the creation of flexible web services using one of the many ways to manipulate XML payloads. Key Features:

Makes the Best Practice an Easy Practice: Spring Web Services makes enforcing best practices easier. This includes practices such as the WS-I basic profile, Contract-First development, and having a loose coupling between contract and implementation. Powerful mappings: You can distribute incoming XML request to any object, depending on message payload, SOAP Action header, or an XPath expression. 28

XML API support: Incoming XML messages can be handled in standard JAXP APIs such as DOM, SAX, and StAX, but also JDOM, dom4j, XOM, or even marshalling technologies. Flexible XML Marshalling: The Object/XML Mapping module in the Spring Web Services distribution supports JAXB 1 and 2, Castor, XMLBeans, JiBX, and XStream. And because it is a separate module, you can use it in non-Web services code as well. Reuses your Spring expertise: Spring-WS uses Spring application contexts for all configuration, which should help Spring developers get up-to-speed nice and quickly. Also, the architecture of Spring-WS resembles that of Spring-MVC. Supports WS-Security: WS-Security allows you to sign SOAP messages, encrypt and decrypt them, or authenticate against them. Integrates with Acegi Security: The WS-Security implementation of Spring Web Services provides integration with Spring Security. This means you can use your existing configuration for your SOAP service as well. Built by Maven: This assists you in effectively reusing the Spring Web Services artifacts in your own Maven-based projects. Apache license. You can confidently use Spring-WS in your project.

SPRING MVC FRAMEWORK: Spring MVC helps in building flexible and loosely coupled web applications. The Model-view-controller design pattern helps in seperating the business logic, presentation logic and navigation logic. Models are responsible for encapsulating the application data. The Views render response to the user with the help of the model object . Controllers are responsible for receiving the request from the user and calling the back-end services. The figure below shows the flow of request in the Spring MVC Framework.

29

When a request is sent to the Spring MVC Framework the following sequence of events happen.

The DispatcherServlet first receives the request. The DispatcherServlet consults the HandlerMapping and invokes the Controller associated with the request. The Controller process the request by calling the appropriate service methods and returns a ModeAndView object to the DispatcherServlet. The ModeAndView object contains the model data and the view name. The DispatcherServlet sends the view name to a ViewResolver to find the actual View to invoke. Now the DispatcherServlet will pass the model object to the View to render the result. The View with the help of the model data will render the result back to the user.

JDBC(Java Database Connectivity) 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.JDBC establish a connection with a database, Send SQL statements and Process the results. Types of JDBC Driver 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). 30

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. 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 Executestoredprocedures. DATABASE: A database management system (DBMS) is computer software designed for the purpose of managing databases, a large set of structured data, and run operations on the data requested by numerous users. Typical examples of DBMSs include Oracle, DB2, Microsoft Access, Microsoft SQL Server, Firebird, PostgreSQL, MySQL, SQLite, FileMaker and Sybase Adaptive Server Enterprise. DBMSs are typically used by Database administrators in the creation of Database systems. Typical examples of DBMS use include accounting, human resources and customer support systems. Originally found only in large companies with the computer hardware needed to support large data sets, DBMSs have more recently emerged as a fairly standard part of any company back office.

31

DATABASE TOOL/MY SQL: MySQL is the world's most used relational database management system (RDBMS) that runs as a server providing multi-user access to a number of databases The SQL phrase stands for Structured Query Language.The MySQL development project has made its source code available under the terms of the GNU General Public License, as well as under a variety of proprietary agreements. MySQL was owned and sponsored by a single for-profit firm, the Swedish company MySQL AB, now owned by Oracle Corporation. Free-software-open source projects that require a full-featured database management system often use MySQL. Applications which use MySQL databases include: TYPO3, Joomla, WordPress,phpBB, Drupal and other software built on the LAMP software stack. MySQL is also used in many high-profile, large-scale World Wide Web products. Structured Query Language (SQL) is the language used to manipulate relational databases. SQL is tied very closely with the relational model. In the relational model, data is stored in structures called relations or tables. SQL statements are issued for the purpose of: Data definition: Defining tables and structures in the database (DDL used to create, alter and drop schema objects such as tables and indexes). Data Manipulation: Used to manipulate the data within those schema objects (DML Inserting, Updating, Deleting the data, and Querying the Database). A schema is a collection of database objects that can include: tables, views, indexes and sequences. FEATURES OF MYSQL: As of April 2009, MySQL offered MySQL 5.1 in two different variants: the open source MySQL Community Server and the commercialEnterprise Server. MySQL 5.5 is offered under the same licences.[28] They have a common code base and include the following features:

A broad subset of ANSI SQL 99, as well as extensions Cross-platform support Stored procedures Triggers 32

Cursors Updatable Views Information schema Strict mode X/Open XA distributed transaction processing (DTP) support; two phase commit as part of this, using Oracle's InnoDB engine. Independent storage engines (MyISAM for read speed, InnoDB for transactions and referential integrity, MySQL Archive for storing historical data in little space) Transactions with the InnoDB, and Cluster storage engines; savepoints with InnoDB SSL support Query caching Sub-SELECTs (i.e. nested SELECTs) Replication support (i.e. Master-Master Replication & Master-Slave Replication) with one master per slave, many slaves per master, no automatic support for multiple masters per slave. Full-text indexing and searching using MyISAM engine Embedded database library Partial Unicode support (UTF-8 and UCS-2 encoded strings are limited to the BMP) ACID compliance when using transaction capable storage engines (InnoDB and Cluster) Partititoned tables with pruning of partitions in optimiser Shared-nothing clustering through MySQL Cluster Hot backup (via mysqlhotcopy) under certain conditions .

Distinguishing features: MySQL implements the following features, which some other RDBMS systems may not: Multiple storage engines, allowing one to choose the one that is most effective for each table in the application (in MySQL 5.0, storage engines must be compiled in; in MySQL 5.1, storage engines can be dynamically loaded at run time). Native storage engines (MyISAM, Falcon, Merge, Memory (heap), Federated, Archive, CSV, Blackhole, Cluster, EXAMPLE, Maria, andInnoDB, which was made the default as of 5.5). Partner-developed storage engines used to be a partner-developed storage engine, but with recent acquisitions, Oracle now owns both MySQL core and InnoDB.

33

Community-developed storage engines (memcache engine, httpd, PBXT, Revision Engine). Custom storage engines Commit grouping, gathering multiple transactions from multiple connections together to increase the number of commits per second. (PostgreSQL has an advanced form of this functionality). Limitations: MySQL does not currently comply with the SQL standard for some of the implemented functionality, including issues like silent ignore of standard SQL syntax, including silent ignore of check constraints, foreign key references, and other features used to enforce business logic consistency. Triggers are currently limited to one per action / timing, i.e. maximum one after insert and one before insert on the same table. There are no triggers on views. SQL command: ALTER AUDIT COMMIT CREATE DELETE DROP GRANT INSERT Change an existing table, view or index definition (DDL) Track the changes made to a table (DDL)

COMMENT-Add a comment to a table or column in a table (DDL) Make all recent changes permanent (DML - transactional) Create new database objects such as tables or views (DDL) Delete rows from a database table (DML) Drop a database object such as a table, view or index (DDL) Allow another user to access database objects such as tables or Insert new data into a database table (DML)

No AUDIT - Turn off the auditing function (DDL) REVOKE - Disallow a user access to database objects such as tables and views (DDL) ROLLBACK -Undo any recent changes to the database (DML - Transactional) SELECT UPDATE Retrieve data from a database table (DML) TRUNCATE-Delete all rows from a database table (can not be rolled back) (DML) Change the values of some data items in a database table (DML)

34

MYSQL COMMAND: 1. CREATE DATABASE 2. CREATE TABLE 3. ALTERTABLE 4. INSERT 5. REPLACE 6. UPDATE 7. SELECT 8. DELETE 9. VALUES 10. SET 11. WHERE 12. IN 13. RLIKE / MATCH (search) 14. AND 15. OR 16. DISTINCT 17. MAX

SERVLETS Introduction: The Java web server is Java Softs own web Server. To build customized network servers for any Internet or Intranet client/server system. Servlets are made for web server, how applets are for browser. 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.

35

They differ from applets in that they are faceless objects (without graphics or a GUI component). They serve as platform independent, dynamically loadable, pluggable helper byte code objects on the server side that can be used to dynamically extend server-side functionality. . Advantages of the Servlet API: One of the great advantages of the Servlet API is protocol independence. The protocol being used to transmit on the net How it is loaded The server environment it will be running in Its extensible - you can inherit all your functionality from the base classes made available to you. Its 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.

JAVA SERVER PAGES 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 . 36

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 others work. Features of JSP: Portability: 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.

37

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 Java WebServer. At the server side Java WebServer 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 under stands 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 Java WebServer and then it is transferred back to the result is given back to the Java WebServer and then it is transferred back to the client.

38

What is Model-View-Controller? : . Lets start by looking at how the Model, the View, and the Controller interact with one another:

Figure 6.3Model 2/MVC architecture As you can see from the above diagram, the user interacts with the Controller components (usually represented by Servlets) by submitting requests to them. In turn, the Controller components instantiate Model components (usually represented by JavaBeans or other similar technology), and manipulate them according to the logic of the application. Once the Model is constructed, the Controller decides which View (usually represented by JavaServer Pages) to show to the user next, and this View interacts with the Model to show the relevant data to the user.Using JavaServer Pages or Servlets alone is known as Model 1. Model 2 was not particularly innovative or new;It uses Servlets to resemble Controller and Java ServerPages for resembling views.Many people realized that it follows the well-known MVC pattern that was developed back in the days of Smalltalk. As such, Java programmers tend to use the terms Model 2 and MVC interchangeably. 39

What are ActionForms? :

Almost every web application has a requirement to accept input from users. Some examples of user input are credit card information, billing and shipping address information, or even something as small as a username and password. The HTML language provides the necessary components to render the input fields in a browser, including text boxes, radio buttons, check boxes, buttons, and many more. When building these types of pages, the input components must be nested inside of an HTML form Elements. The Struts framework relies on the org.apache.struts.action.ActionForm class as the key component for handling these tasks.

The ActionForm class is used to capture input data from an HTML form and transfer it to the Action class. Since the HTML input components dont natively include an input buffer and users quite often enter invalid data, web applications need a way to store the input data temporarily, so that it can be redisplayed when an error occurs. In this sense, the ActionForm class acts as a buffer to hold the state of what the user entered while it is being validated. The ActionForm also acts as a firewall for your application in that it helps to keep suspect or invalid input out of your business tier until it can be scrutinized by the validation rules. Finally, the ActionForm is also used to transfer data from the Action class back to the HTML form. This allows more consistency for your HTML forms, because they are always pulling data from the ActionForm. When the user input data does pass input validation, the ActionForm is passed into the execute() method of the Action class. From there, the data can be retrieved from the ActionForm and passed on to the business tier. Because the ActionForm imports packages from the Servlet API, you shouldnt pass the ActionForm to the business tier. Doing so would couple the business methods to the Servlet API and make it more difficult to reuse the business tier components. Instead, the data within the ActionForm should be transferred to an object from the domain model instead of being passed as an argument to the business tier. A common approach is to create a data transfer object and populate it with the data from the ActionForm. 40

You dont have to declare an ActionForm for every HTML form in your application. The same ActionForm can be associated with one or more action mappings. .Declaring ActionForm Properties as Strings:

All request parameters that are sent by the browser are Strings. This is true regardless of the type that the value will eventually map to in Java. For example, dates, times, Booleans, and other values are all strings when they are pulled out of the request. They will also be converted into strings when they are written back out to the HTML page.Therefore, it makes sense that all of the ActionForm properties where the input may be invalid, should be of type String. The reason for this is to support displaying the data back out in its original form to the user, when there is an error. For example, if a user types in 12Z for a property expecting to be an Integer, theres no way to store 12Z into an int or Integer property. However, you can store it into a String until it can be validated. This same value, which is stored in a String, can be used to render the input field with the value, so the user can see their mistake. This is functionality that even the most inexperienced users have come to expect and look for. Using Dynamic ActionForms:

Using the ActionForm class has many advantages over performing the functionality yourself in the Action class or some set of helper utility classes. Since the behavior that the ActionForm class provides is needed in nearly every web application, as well as many times in the same application, using the framework to perform the work can really reduce the development time and your frustration level. Having stated the benefits of using ActionForms, there are a few very important downsides to using them. The first and foremost problem with using ActionForms is the sheer number of classes that it can add to a project. Even if you share ActionForm definitions across many pages, the additional classes make it more difficult to manage a project and provide maintenance. This is why some developers might create a single ActionForm and implement the properties for all of the HTML forms within these.

41

The problem with this of course, is that combining the fields into this one class makes it a point of contention on a project that has more than just a few developers. Another major liability is the requirement to define the properties in the ActionForm that need to be captured from the HTML form. If a property is added or removed from the HTML form, the ActionForm class may need to be modified and recompiled. For these asons, a new type of ActionForm was added to the framework, which is dynamic innatureandallows you to avoid having to create concrete ActionForm classes for yourapplicationThedynamic ActionForm is implemented by the base class org.apache.struts.action.DynaActionForm, which extends the ActionForm class.The properties that the ActionForm defines:

1. The validate() method 2. The reset() method

The properties for a DynaActionForm are configured in the Struts configuration file, which youll see how to do in the next section. The reset() method is called at exactly the same time during request processing as it is for a standard ActionForm. The one difference is that you have a little less control over what you do during the method. However, you can always subclass the DynaActionForm to override the reset behavior. The validation of the presentation data is a little more complicated, because well need to wait until we talk about the Struts Validator components before talking about how validation occurs in a dynamic form.

42

CHAPTER -7
REPORTS: The reports are the out put screen of the web site . Screen shots of each interface of the web site are given below, Which gives the clear idea about the project.

Front page

43

Admin Login Page

Admin page 44

User Login page

Registration page 45

Feedback form

Gallery page

46

User profile page

Edit Profile Page

47

Chat login page

Chat Room

48

Approval mail automatic send from admin to user mail

Student Marksheet Upload Form page

49

Student Marksheet showing semester wise page

Student Marksheet Showing page

50

Change Password page for user and administrator

This option shows for Find people,view toppers,Search faculty,students,staff,alumini

51

CHAPTER-8
SYSTEM TESTING AND IMPLEMENTATION :
8.1 INTRODUCTION :

Software testing is a critical element of software quality assurance and represents the ultimate review of specification, design and coding. In fact, testing is the one step in the software engineering process that could be viewed as destructive rather than constructive. A strategy for software testing integrates software test case design methods into a well-planned series of steps that result in the successful construction of software. Testing is the set of activities that can be planned in advance and conducted systematically. The underlying motivation of program testing is to affirm software quality with methods that can economically and effectively apply to both strategic to both large and small-scale systems.

8.2. STRATEGIC APPROACH TO SOFTWARE TESTING :

The software engineering process can be viewed as a spiral. Initially system engineering defines the role of software and leads to software requirement analysis where the information domain, functions, behavior, performance, constraints and validation criteria for software are established. Moving inward along the spiral, we come to design and finally to coding. To develop computer software we spiral in along streamlines that decrease the level of abstraction on each turn. A strategy for software testing may also be viewed in the context of the spiral. Unit testing begins at the vertex of the spiral and concentrates on each unit of the software as implemented in source code. Testing progress by moving outward along the spiral to integration testing, where the focus is on the design and the construction of the software architecture.

52

Talking another turn on outward on the spiral we encounter validation testing where requirements established as part of software requirements analysis are validated against the software that has been constructed. Finally we arrive at system testing, where the software and other system elements are tested as a whole.

UNIT TESTING

MODULE TESTING

Component Testing

SUB-SYSTEM TESING

SYSTEM TESTING Integration Testing

ACCEPTANCE TESTING User Testing

53

8.3. UNIT TESTING : Unit testing focuses verification effort on the smallest unit of software design, the module. The unit testing we have is white box oriented and some subjects the steps are conducted in parallel. 1. WHITE BOX TESTING : This type of testing ensures that All independent paths have been exercised at least once All logical decisions have been exercised on their true and false sides All loops are executed at their boundaries and within their operational bounds All internal data structures have been exercised to assure their validity. To follow the concept of white box testing we have tested each form .we have created independently to verify that Data flow is correct, All conditions are exercised to check their validity, All loops are executed on their boundaries.

2. BASIC PATH TESTING :

Established technique of flow graph with Cyclomatic complexity was used to derive test cases for all the functions. The main steps in deriving test cases were: Use the design of the code and draw correspondent flow graph. Determine the Cyclomatic complexity of resultant flow graph, using formula: V(G)=E-N+2 or V(G)=P+1 or V(G)=Number Of Regions Where V(G) is Cyclomatic complexity, E is the number of edges, N is the number of flow graph nodes, P is the number of predicate nodes. Determine the basis of set of linearly independent paths.

54

3. CONDITIONAL TESTING : In this part of the testing each of the conditions were tested to both true and false aspects. And all the resulting paths were tested. So that each path that may be generate on particular condition is traced to uncover any possible errors.

4. DATA FLOW TESTING : This type of testing selects the path of the program according to the location of definition and use of variables. This kind of testing was used only when some local variable were declared. The definition-use chain method was used in this type of testing. These were particularly useful in nested statements.

5. LOOP TESTING : In this type of testing all the loops are tested to all the limits possible. The following exercise was adopted for all loops: All the loops were tested at their limits, just above them and just below them. All the loops were skipped at least once. For nested loops test the inner most loop first and then work outwards. For concatenated loops the values of dependent loops were set with the help of connected loop. Unstructured loops were resolved into nested loops or concatenated loops and tested as above. Each unit has been separately tested by the development team itself and all the input have been validated.

55

CHAPTER-9 SYSTEM SECURITY


9.1 INTRODUCTION

The protection of computer based resources that includes hardware, software, data, procedures and people against unauthorized use or natural Disaster is known as System Security. System Security can be divided into four related issues: Security Integrity Privacy Confidentiality SYSTEM SECURITY refers to the technical innovations and procedures applied to the hardware and operation systems to protect against deliberate or accidental damage from a defined threat. DATA SECURITY is the protection of data from loss, disclosure, modification and destruction. SYSTEM INTEGRITY refers to the power functioning of hardware and programs, appropriate physical security and safety against external threats such as eavesdropping and wiretapping. PRIVACY defines the rights of the user or organizations to determine what information they are willing to share with or accept from others and how the organization can be protected against unwelcome, unfair or excessive dissemination of information about it. CONFIDENTIALITY is a special status given to sensitive information in a database to minimize the possible invasion of privacy. It is an attribute of information that characterizes its need for protection. 9.3 SECURITY SOFTWARE System security refers to various validations on data in form of checks and controls to avoid the system from failing.

56

It is always important to ensure that only valid data is entered and only valid operations are performed on the system. The system employees two types of checks and controls:

CLIENT SIDE VALIDATION : Various client side validations are used to ensure on the client side that only valid data is entered. Client side validation saves server time and load to handle invalid data. Some checks imposed are: VBScript in used to ensure those required fields are filled with suitable data only. Maximum lengths of the fields of the forms are appropriately defined. Forms cannot be submitted without filling up the mandatory data so that manual mistakes of submitting empty fields that are mandatory can be sorted out at the client side to save the server time and load. Tab-indexes are set according to the need and taking into account the ease of user while working with the system. SERVER SIDE VALIDATION Some checks cannot be applied at client side. Server side checks are necessary to save the system from failing and intimating the user that some invalid operation has been performed or the performed operation is restricted. Some of the server side checks imposed is: Server side constraint has been imposed to check for the validity of primary key and foreign key. A primary key value cannot be duplicated. Any attempt to duplicate the primary value results into a message intimating the user about those values through the forms using foreign key can be updated only of the existing foreign key values. User is intimating through appropriate messages about the successful operations or exceptions occurring at server side. Various Access Control Mechanisms have been built so that one user may not agitate upon another. Access permissions to various types of users are controlled according to the organizational structure. 57

Only permitted users can log on to the system and can have access according to their category. User- name, passwords and permissions are controlled o the server side. Using server side validation, constraints on several restricted operations are imposed.

58

CHAPTER-10

CONCLUSION

The theme behind the project is DYNAMIC WEB PAGE is that the administrator can approve the profile of faculty members,students,staffs and aluminies can be retrieved these information of our department . So that it will be easy to have the information of a faculty, student, alumini, staff easily. Besides this the students the students can registered themand after registered they can view their profile,upload their marksheets,and discuss any subject related topic in the chat room and give their feedback also. The students of our department can get updated news and events about the schedule of internal as well as semester exams. Apart from this the students can down load the previous year marksheets from our department web-site. Many features in the front page have been changed from the previous web-site. The popup menu looks very attractive. There is a space provided for the current events which shows the recent events, along with this there is notice board where the news is flashed regularly. Thus in this project there are several features added which are required must for our department. Overall the project is complete up gradation of department web-site which have efficient database connectivity having dynamic retrieving facility.

59

CHAPTER-11

BIBILOGRAPHY :

1.ASP.NET Bible - Mridula Parihar. 2. SQL Server2000 - Jeffrey R. Shapiro. 3. http://www.c-sharpcorner.com 4. http://www.programmersheaven.com 5. Spring.NET Application Framework 6. Jolt winners 2006 7. JAX Innovation Award Gewinner 2006 8. Spring Framework 3.1 goes GA 9. http://www.andygibson.net/blog/index.php/2008/08/28/is-spring-betweenthe-deviland-the-ejb Spring VS EJB3

10. "Pitchfork FAQ". http://www.springsource.com/web/guest/pitchfork/pitchfork-faq. Retrieved 2006-06-06. 11. http://houseofhaug.wordpress.com/2005/08/12/hibernate-hates-spring Hibernate VS Spring 12. Introduction to the Spring Framework 13. Johnson, Expert One-on-One J2EE Design and Development, Ch. 12. et al. 14. Patterns of Enterprise Application Architecture: Front Controller

60

You might also like