Вы находитесь на странице: 1из 115

Citizen card

Citizen card

Organization Profile: VIPULA Technologies was founded in the year 2000 by Mr.M.V.RamiReddy, a young business entrepreneur with a great ambition to embark in the IT industry and succeed at any cost. The objective was to provide unique, cost-effective and powerful solutions in business management, manufacturing processes, defense research and allied fields. The objective has been fulfilled to large extent and today the company is poised for major developments in the high-end technological domains. The company is currently planning to launch a major research center, which will form the backbone of the various development activities by transferring high-end technologies. The company is also engaged in parallel, in providing high-quality training and experience to the engineering student community. The students not only benefit from finely chiseled course curriculum, but also from the practical experience gained through the development center. In order to realise these end-results, the company is supported by domain expects with strong technical

Citizen card

background and rich industrial experience. The development activities may broadly summarised under the following heads: Turnkey solutions in business management Process Automation solutions to manufacturing companies Flexible and Intelligent Manufacturing Systems, vision-based Robots High-end Technological Solutions to Defense & Aerospace Industry In-house development of microprocessor-based products Web Based Applications using J2EE and .Net Technologies High-end Software development using leading technologies in different domains Investment in high-quality manpower has largely been the reason for the success of the organization. The technical team is headed by B.Chandra Sekhar, Viswanath, B.Uday Reddy and Ashok whom have substantial industrial experience with numerous successful projects to their credit both in the industry and the defence sector. The following list represents a typical cross section of the clients who have eulogised on the quality of services provided by us. We have built confidence and trust into our clients through our quality services and dependable on-going support. Turbo Engineering Prem Industries JK Mills Deepak Oils

Citizen card

Maheshwari Marriage Bureau Jayasree Enterprises DigitalAUM Arithmatics Gempac India VishVision Malhotra Shaving Products Limited Bayer India Limited Hoechst Pharmaceuticals Limited Klockner Windsor Limited Hindustan Dorr Oliver Electronic Corporation of India (Bangalore) The company provides a close-knit, sleeves rolled-up atmosphere throughout, rather than a flat hierarchy. The company allows employees to customise benefit programs and provide flexible time-off policy. Our goal:- Change the World, Make a Kings ransom to achieve profitability and get acquired.

Citizen card

Citizen card

Contents
Introduction Organization Profile Problem Definition Software Design Software Requirements Overview of Java Java Database Connectivity Java Servlets JSP HTML & Java Script Oracle 8i Overview of Testing Dataflow Diagram Data Dictionary ER Diagrams Operational Profile Implementation Use Case Document Software Testing Design Test Cases Performance Evaluation Report Conclusion and future scope

Citizen card

Introduction:

The Project Citizen Card System gives us the information about the citizen in any country. A Citizen has unique Id to find out the personal information in each and every department or service wherever a citizen goes. This information can be found out by the unique Id of the citizen. If any citizen wants to utilize the services or utilities by the Government or Private organizations, he has to go to each and every department with different Id for that particular department. Instead, a citizen card helps in having all the utilities and services under one unique Id.This system not only help us to know the information about the services or utilities but also it gives the information about the character of the citizen in credit rating. This System consists of the modules like Personal Information, Credit Rating, Banking, Insurance, Tax, Provident Fund, Electricity, Telephone, Gas, Movies, Municipality, RTO, Voting, Passport, Travel Agency etc.

Citizen card

Project Description:
Citizen Card System provides the information about the citizen in any country. A Citizen has unique Id to find out the personal information in each and every department or service wherever a citizen goes. This information can be found out by the unique Id of the citizen. If any citizen wants to utilize the services or utilities by the Government or Private organizations, he has to go to each and every department with different Id for that particular department.

How they work?


In citizen card system the citizen will perform the all transactions basing on id.If citizen want to take a policy like Insurance policy then citizen basing on id he/she logins and register themselves to take a policy .Not only the Insurance but also he/she perform the transactions like banking, Electricity, Banking, Insurance, Tax, Provident Fund, Telephone, Gas, Movies, Municipality, Credit rating etc. Credit rating tells the behavior of the person whether citizens character is good or bad.

Citizen card

MODULES:
Personal Information :
This module contains the personal information like name , id , address etc., of citizen. If administrator want to view the personal details of the citizen administrator can verify the personal information module. Credit Rating : This module gives the information about the character of the citizen. It determines whether the citizens behavior basing on all the things is good or bad. It provides the information of the citizen . Insurance : This module provides the amount insured and regarding its installments. Basing on citizen id the insurance details can be displayed.If the citizen wants to make a policy in the insurance then citizen can make it by his citizen id. Taxation:

Citizen card

This module provides the information regarding the tax paid and tax to be paid. If Administrator wants to know about the particular citizen details whether he/she paid the tax or not then the administrator can check it basing on id. Gas : This module provides the information regarding the deliveries of the gas. The information provides the amount particular gas no and gas type. RTO : This module provides information regarding licenses for vehicles.It gives the information like vehicle name,vehicle reg number,engine number,Service number,Owner address etc Voting : This module provides the online voting facility. Citizen can choose particular area to the voting.citizen can vote according to his/her choice. Banking : This module allows all banking transactions. Citizen can make any bank transactions basing on citizen id.Bank like SBI, ICICI, Andhra bank etc All the banking transactions can be done with citizen id. Telephone : paid by the customer to the

10

Citizen card

This module provides information about the telephone bill payments. It provides the information about the STD calls/ISD calls and their charges of particular citizen id.. Electricity : This module provides information about electricity bill payments and all.It provides the information like number of units and previous no of units and the charge for that bill basing on id of particular citizen. Passport: This module provides information about particular citizen.Details like citizen personal information and date,validupto etc., dateissued,issued govt ,renewal

Objectives To enable the Administrator to perform operations basing on citizen id like voting, passport,gas,banking Personal Information, Credit Rating, etc.

SOFTWARE DESIGN DOCUMENT

11

Citizen card

Purpose Purpose of this document is to clearly describe all known classes, processes, GUI, and data fields for this software.

FEASIBILITY STUDY: Feasibility considerations: The feasibility study is carried out to find whether the proposed system can be developed and implemented without any problem. The following feasibility is considered for the project in order to ensure that the project is viable and it does not have any major obstructions. In this regard technical, behavioral, and economic feasibility are analyzed. Technical feasibility: Technical feasibility such as whether the necessary technology exist to do what is suggested and if the equipment have the capacity to hold data required by the use of new system. Also any technical guarantees of accuracy, reliability, ease of access, data security could be provided etc.

12

Citizen card

Behavioral Feasibility: People are inherently resistant to change and computers have known to facilitate changes. Every department welcomes the idea of computerization. But the resistance will be from the operators who are involved in the existing system or manual system.

Behavioral Feasibility is also studied like whether the changes made to the system facilitates the user and if he is able to adapt to the change made by introducing computers. An agreement is made between management and staff so that computerizing system will be installed step by step by giving training to existing staff members only.

Economic Feasibility: Economic feasibility like if the existing resources are sufficient introducing. Any extra h/w required should be affordable in terms of cost. Also can the system be built within the specified time interval? Establish cost and schedule constraints. Defining functions for h/w, s/w people. Create system definition that forms a foundation for all subsequent engineering work.

13

Citizen card

Software Requirements

SOFTWARE SPECIFICATION: JAVA JDBC SERVLETS JSP HTML ORACLE SCRIPT LANGUAGE: JAVA SCRIPT WEB BROWSER: TOMCAT (OR) WEBLOGIC Hardware Requirements
Pentium III and above with 10 GB HDD and 256 RAM

14

Citizen card

15

Citizen card

JAVA The initial release of Java was nothing of revolutionary, but it did not mark the end of javas era of rapid innovation. Unlike most other software systems that usually settle into a pattern of small, increment improvements, java had already created java1.1 were more significant and substantial than the increase 1 the minor revision number would have you think. Java1.1 added many new library elements, redefined the way events are handled by applets, and reconfigured many features of the 1.0 library .It also deprecated several features originally defined by java1.0. Thus java1.1 both features. Features added by 1.1 Version1.1 added some important elements to Java. Most of the addition occurred in the Java library. However, a few new language features were also included. Here is a list of the important features added by 1.1: Java Beans, which are software components that are written in Java. Serialization, which allows you to save and restore the state of an object. added and subtracted attributes from its original specification. Continuing in this evolution, java2 also and subtracts

16

Citizen card

Remote Method Invocation, which allows a Java, objects to invoke the methods of another Java object that located on a different machine. This is an important facility for building distributed applications. Java Database Connectivity (JDBC), which allows programs to access SQL, databases from many different vendors. The Java Native Interface (JNI), which provides a new way for your programs to interface with code libraries written in other languages. Reflection, which is a process of determining the fields, constructors and methods of a java object at run time. Various security features, such as digital signatures, messages digests, and access control lists and key generation. Built in support for 16-bit character streams that handle Unicode characters. Significant changes to event handling that improve the way in which events generated by graphical user interface (GUI) components are handled. Inner classes, which allow one class to be defined within another.

Deprecated by Features 1.1 As just mentioned java 1.1 depreciated many earlier library elements. For example, most of the original Date class was deprecated. However, the deprecated features did not go away. Instead, they were replaced with updated alternatives. In general, deprecated 1.0 feature is still available in

17

Citizen card

java to support legacy code, but they should not be used by new applications. Features added by java 2.0 Building upon 1.1, java 2.0 adds many important new features. Here is a partial list. Swing is a set of user interface components that is implemented entirely in java You can use a look and feel that is either specific to a particular operating system or uniform across operating systems. You can also design your own look and feel. Collections are group of objects. Java 2.0 provides several types of collection, such as linked lists, dynamic arrays and hash tables for use. Collections offer a new way to solve several common-programming problems. Digital certificates provide mechanism to establish the identity of a user. You may think of them as electronic passports. Java programs can parse and use certificates to enforce security policies. Text components can now receive Japanese, Chinese and Korean characters from keyboard. Using a sequence of keystrokes to represent one character does this. The Common Object request Broker Architecture (CORBA) defines an Object request Broker (ORB) and an Interface Definition Language (IDL). Java 2.0 includes an ORB and an IDL to java compiler. The latter generates code from an IDL specification.

18

Citizen card

Performance improvements have been made in several areas. A Just-InTime (JIT) compiler is included in JDK. Many browsers include a Java Virtual Machine that is used to execute applets. Unfortunately, browsers JVMs typically do not include the latest java features. The java Plug-in solves this problem. It directs a browsers JVM .The JRE is a subset of the JDK.It does not include the tools and classes that are used in a development environment. Various tools such as Javac, Java and Javadoc have been enhanced. Debugger and Profiler interfaces for the JVM arte available.

Features Deprecated by 2 Although not as extensive as the deprecations experienced between 1.0 and 1.1 some features of java 1.1 are deprecated by java 2.0. For example, the suspend (), resume () and stop () methods of the Thread class should not be used in new code Javas Magic: The Byte Code: The key that allows java to solve both the security and the portability problems just described is that the output of the java compiler is not an executable code. Rather, it is Byte Code. Byte Code is a highly optimized set of instructions designed to be executed by virtual machine that the java Run-time system emulates. This may come as it of surprise as you know c++ is compiled, not interpreted-mostly because of performance concerns.

19

Citizen card

However, the fact that a java program is interpreted helps solve the major problems associated with downloading the program over the Internet. Here is why java was designed to be interpreted language. Because java programs are interpreted rather than compiled .It is easier to run them in wide variety of environments. Only the java runtime system needs to be implemented for each platform. Once the runtime package exists for a given system any java program can run on it. If java were a compiled langu8age then different versions of the same program will have to exist for each type of CPU connected to the Internet. Thus interpretation is the easiest way to create truly portable programs. Although java was designed to be interpreted, there is technically nothing about java that prevents on the fly compilation of Byte Code into native code. However, even if dynamic compilation were applied to Byte Code, the portability and safety would still apply, because the run time system would still be in change of the execution environment. The Java Buzz Words No discussion of the genesis of java is complete without a look at the java buzzwords. Although the fundamentals that necessitated the invention of java are portability and security, there are other factors that played an important role on molding the final form of the language. The java in the following list of buzzwords summed up the key considerations. Simple Portable Object-oriented

20

Citizen card

Robust Multithreaded Architectural-neutral High performance Distributed Dynamic

OBJECT ORIENTED PROGRAMMING AND JAVA

Object-oriented Programming was developed because of limitations found in earlier approaches of programming. To appreciate what OOP does, we need to understand what these limitations are and how they arose from traditional programming. PROCEDURAL LANGUAGES Pascal, C, Basic, FORTRAN, and similar languages are procedural languages. That is, each statement in the language tells the computer to do something: Get some input, add these numbers,, divide by 6, display the output. A program in a procedural language is a list of instructions.

21

Citizen card

For very small programs no other organizing principle (often called a paradigm) is needed. The programmer creates the list of instructions, and the computer carries them out. Division into Functions When programs become larger, a single list of instructions becomes unwieldy. Few programmers can comprehend a program of more than a few hundred statements unless it is broken down into smaller units. For this reason the function was adopted as a way to make programs more comprehensible to their human creators. (The term functions is used in C++ and C. In other languages the same concept may be referred to as a subroutine, a subprogram, or a procedure.) A program is divided into functions, and (ideally, at least) each function has a clearly defined purpose and a clearly defined interface to the other functions in the program. The idea of breaking a program into functions can be further extended by grouping a number of functions together into a larger entity called a module, but the principle is similar: grouping a number of components that carry out specific tasks. Dividing a program into functions and modules is one of the cornerstones of structured programming, the somewhat loosely defined discipline that has influenced programming organization for more than a decade. Problems with Structured Programming

22

Citizen card

As programs grow ever larger and more complex, even the structured programming approach begins to show signs of strain. You may have heard about, or been involved in, horror stories of program development. The project is too complex, the schedule slips, more programmers are added, complexity increases, costs skyrocket, the schedule slips further, and disaster ensues. Analyzing the reasons for these failures reveals that there are weaknesses in the procedural paradigm itself. No matter how well the structured programming approach is implemented, large programs become excessively complex. What are the reasons for this failure of procedural languages? One of the most crucial is the role played by data. Data Undervalued In a procedural language, the emphasis is on doing things--read the keyboard, invert the vector, check for errors, and so on. The subdivision of a program into functions continues this emphasis. Functions do things just as single program statements do. What they do may be more complex or abstract, but the emphasis is still on the action. What happens to the data in this paradigm? Data is, after all, the reason for a program's existence. The important part of an inventory program isn't a function that displays the data, or a function that checks for correct input; it's the inventory data itself. Yet data is given second-class status in the organization of procedural languages. For example, in an inventory program, the data that makes up the inventory is probably read from a disk file into memory, where it is treated

23

Citizen card

as a global variable. By global we mean that the variables that constitute the data are declared outside of any function, so they are accessible to all functions. These functions perform various operations on the data. They read it, analyze it, update it, rearrange it, display it, write it back to the disk, and so on. We should note that most languages, such as Pascal and C, also support local variables, which are hidden within a single function. But local variables are not useful for important data that must be accessed by many different functions. Now suppose a new programmer is hired to write a function to analyze this inventory data in a certain way. Unfamiliar with the subtleties of the program, the programmer creates a function that accidentally corrupts the. This is easy to do, because every function has complete access to the data. It's like leaving your personal papers in the lobby of your apartment building: Anyone can change or destroy them. In the same way, global data can be corrupted by functions that have no business changing it. Another problem is that, since many functions access the same data, the way the data is stored becomes critical. The arrangement of the data can't be changed without modifying all the functions that access it. If you add new data items, for example, you'll need to modify all the functions that access the data so that they can also access these new items. It will be hard to find all such functions, and even harder to modify all of them correctly. It's similar to what happens when your local supermarket moves the bread from aisle 4 to aisle 12. Everyone who patronizes the supermarket must figure out where the bread has gone, and adjust their shopping habits accordingly.

24

Citizen card

What is needed is a way to restrict access to the data, to hide it from all but a few critical functions. This will protect the data, simplify maintenance, and offer other benefits as well. Relationship to the Real World Procedural programs are often difficult to design. The problem is that their chief components--functions and data structures--don't model the real world very well. For example, suppose you are writing a program to create the elements of a graphics user interface: menus, windows, and so on. Quick now, what functions will you need? What data structures? The answers are not obvious, to say the least. It would be better if windows and menus corresponded more closely to actual program elements.

New Data Types There are other problems with traditional languages. One is the difficulty of creating new data types. Computer languages typically have several built-in data types: integers, floating-point numbers, characters, and so on. What if you want to invent your own data type? Perhaps you want to work with complex numbers, or two dimensional coordinates, or dates quantities the built-in data types dont handle easily. Being able to create your own types is called extensibility; you can extend the capabilities of the language. Traditional languages are not usually extensible. Without unnatural convolutions, you cant bundle together both X and Y coordinates into a single variable called Point, and then add and subtract

25

Citizen card

values of this type.

The result is that traditional programs are more

complex to write and maintain. The object oriented approach The fundamental idea behind object-oriented languages is to combine into a single unit both data and the functions that operate on that data. Such a unit is called an object. An objects functions, called member methods in Java, typically provide the only way to access its data. If you want to read the item and return the value to you, you call a member function in the object. It will read the item and return the value to you. You cant access the data directly. The data is hidden, so it is safe from accidental modification. Data and its functions are said to be encapsulated into a single entity. oriented languages. If you want to modify the data in an object, you know exactly what functions interact with it: the member functions in the object. No other functions can access the data. This simplifies writing, debugging, and maintaining the program. A Java program typically consists of a number of objects, which communicate with each other by calling one anothers members functions. We should mention that what are called member functions in C++ are called methods in Java. message to the object. Also, data items are referred to as instance variables. Calling an objects member function is referred to as sending a Data encapsulation and data hiding are key terms in the description of object

26

Citizen card

An analogy You might want to think of objects as departmentssuch as sales, accounting, personnel, and so onin a company. Departments provide an important approach to corporate organization. In most companies (except very small ones), people dont work on personnel problems one day, the payroll the next, and then go out in the field as sales people the week after. Each department has its own personnel, with clearly assigned duties. It also has its own data: payroll, sales figures, personnel records, inventory, or whatever, depending on the department. The people in each department control and operate on those departments data. Dividing the company into departments makes its easier to The payroll comprehend and control the companys activities, and helps them maintain the integrity of the information used by the company. department, for instance, is responsible for the payroll data. If you are from the sales department, and you need to know the total of all the salaries paid in the southern region in July, you dont just walk into the payroll department and start rummaging through file cabinets. You send a memo to the appropriate person in the department, and then you wait for that person to access the appropriate person in the department, and then you wait for that person to access the data and send you a reply with the information you want. This ensures that the data is accessed accurately and that inept outsiders do not corrupt it. (This view of corporate organization is show in figure). In the same way, objects provide an

27

Citizen card

approach to program organization, while helping to maintain the integrity of the programs data. OOP: An approach to organization Keep in mind that object-oriented programming is not primarily concerned with the details of program operation. Instead, it deals with the overall organization of the program.

Characteristics of object-oriented languages: Lets briefly examine a few of the major elements of object-oriented languages in general and Java in particular. Objects When you approach a programming problem in an object oriented language, you no longer ask how the problem will be divided into functions, but how it will be divided into objects. Thinking in terms of objects, rather than functions, has a surprisingly helpful effect on how easily programs can be designed and objects in the real world. What kinds of things become objects-oriented programs? The answer to this is limited only by your imagination, but there are some typical categories to start you thinking: Physical objects

28

Citizen card

Automobile in a traffic-flow simulation Electrical components in a circuit design to a program Countries in an economics model Aircraft in an air-traffic control system Elements of the computer-user environment Windows Menus Graphics objects (lines, rectangles, circles) The mouse and the keyboard

Programming constructs Customized arrays Stacks Linked lists

Collection of data An inventory A personnel file A dictionary

A table of the latitudes and longitudes of world cities User defined data types Time Angles Complex numbers

29

Citizen card

Points on the plane

Components in a computer games Ghosts in maze game Positions in a board game (chess, checkers) Animals in an ecological simulation Opponents and friends in adventure games

The match between programming objects and real-world objects us the happy result of combining data and functions: the resulting objects offer a revolution in program designing, no such close match between programming constructs and the items being modeled exists in a procedural language. Classes In OOP we say that objects are members of classes. What does this mean? Lets look at an analogy. Almost all computer languages have built-in data types. For instance, a data type int, meaning integer is pre-defined in Java. You can declare as many variables of type int as you need in your program: Int day; Int count; Int divisor; Int answer; A class serves as a plan, or template. It specifies what data, and what functions will be included in objects of that class. Defining the class

30

Citizen card

doesnt create any objects, just as the mere existence of a type int doesnt create any variables. A class is thus a collection of similar objects. This fits our non-technical understanding of the word class, Prince, sting etc., are members of the class of rock musicians. There is no person called rock musician but specific people with specific names are members of this class if they possess certain characteristics.

Abstraction An essential element of object-oriented programming is abstraction. Humans manage complexity through abstraction. For example, people do not think of a car as a set of tens of thousands of individual parts. They think of it as a well-defined object with its own unique behavior. This abstraction allows people to use a car to drive to the grocery store without being overwhelmed by the complexity of the parts that form the car. They can ignore the details of how the engine, transmission, and braking systems work. Instead they are free to utilize the object as a whole. A powerful way to manage abstraction is through the use of hierarchical classifications. This allows you to layer the semantics of complex systems, breaking them into more manageable pieces. From the outside, the car is a single object. Once inside, you see that the car consists of several subsystems: steering, brakes, sound system, seat belts, heating, cellular phone, and so on. In turn, each of these subsystems is made up of more specialized units. For instance, the sound system consists of a radio, a CD player, and/or a tape player. The point is that you manage the

31

Citizen card

complexity of the car(or any other complex system) through the use of hierarchical abstractions. Hierarchical abstractions of complex systems can also be applied to computer programs. The data from a traditional process-oriented program can be transformed by abstraction into its component objects. A sequence of process steps can become a collection of messages between these objects. Thus, each of each object describes its own unique behavior. You can treat these objects as concrete entities that respond to messages telling them to do something. programming. Object-oriented concepts form the heart of Java just as they form the basis for human understanding. It is important that you understand how these concepts translate into programs. As you will see, object-oriented programming is a powerful and natural paradigm for creating programs that survive the inevitable changes accompanying the life cycle of any major software project, including conception, growth, and aging. For example, once you have a well defined objects and clean, reliable interfaces to those objects, you can gracefully decommission or replace parts of an older system without fear. Encapsulation Encapsulation is the mechanism that binds together code and the data it manipulates, and keeps both safe from outside interference and misuse. One way to think about encapsulation is as a protective wrapper that prevents the code and data from being arbitrarily accessed by other This is the essence of object-oriented

32

Citizen card

code defined outside the wrapper. Access to the code and data inside the wrapper is tightly controlled through a well-defined interface. To relate this to the real world, consider the automatic transmission on an automobile. It encapsulates hundreds of bits of information about your engine, such as how much you are accelerating, the pitch of the surface you are on, and the position of the shift lever. You , as the user, have only one method of affecting this complex encapsulation: by moving the gear-shift lever. You cant affect the transmission by using the turn signal or windshield wipers, for example. Thus, the gear-shift lever is a well-defined (indeed, unique) interface to the transmission. Further, what occurs inside the For transmission does not affect objects outside the transmission.

example, shifting gears does not turn on the headlights! Because an automatic transmission is encapsulated, dozens of car manufacturers can implement one in any way they please. However, from the drivers point of view, they all work the same. This same idea can be applied to programming. The power of encapsulated code is that everyone knows how to access it and thus can use it regardless of the implementation detailsand without fear of unexpected side effects. In Java the basis of encapsulation is the class. Although the class will be examined in great detail later in this book, the following brief discussion will be helpful now. A class defines the structure and behavior (data and code) that will be shared by a set of objects. Each object of a given class contains the structure and behavior defined by the class, as if it were stamped out by a mold in the shape of the class. For this reason, objects

33

Citizen card

are sometimes referred to as instances of a class. Thus, a class is a logical construct; an object has physical reality. When you create a class, you will specify the code and data that constitute that class. Collectively, these elements are called members of the class. Specifically, the data defined by the class are referred to as member variables or instance variables. The code that operates on that data is referred to as member methods or just methods. Since the purpose of a class is to encapsulate complexity, there are mechanisms for hiding the complexity of the implementation inside the class. Each method or variable in a class may be marked private or public. The public interface of a class represents everything that external users of the class need to know, or may know. The private methods and data can only be accessed by code that is a member of the class. Therefore, any other code that is not a member of the class cannot access a private method or variable. Since the private members of a class may only be accessed by other parts of your program through the class public methods, you can ensure that no improper actions take place. Of course, this means that the public interface should be carefully designed not to expose too much of the inner workings of a class.

Inheritance

34

Citizen card

Inheritance is the process by which one object acquires the properties of another object. This is important because it supports the concept of hierarchical classification. classifications. As mentioned earlier, most knowledge is made manageable by hierarchical (that is, top-down) For example, a Golden Retriever is part of the classification dog, which in turn is part of the mammal class, which is under the larger class animal. Without the use of hierarchies, each object would need to define all of its characteristics explicitly. However, by use of inheritance, an object need only define those qualities that make it unique within its class. It can inherit its general attributes from its parent. Thus, it is the inheritance mechanism that makes it possible for one object to be a specific instance of a more general case. Most people naturally view the world as made up of objects that are related to each other in a hierarchical way, such as animals, mammals, and dogs. If you wanted to describe animals in an abstract way, you would say they have some attributes, such as size, intelligence, and type of skeletal system. Animals also have certain behavioral aspects; they ear, breathe, and sleep. This description of attributes and behavior is the class definition for animals. If you wanted to describe a more specific class of animals, such as mammals, they would have more specific attributes, such as type of teeth, and mammary glands. This is known as a subclass of animals, where animals are referred to as mammals super class.

35

Citizen card

Since mammals are simply more precisely specified animals, they inherit all of the attributes from animals. A deeply inherited subclass inherits all of the attributes from each of its ancestors in the class hierarchy. Inheritance interacts with encapsulation as well. If a given class encapsulates some attributes, then any subclass will have the same attributes plus any that it adds as part of its specialization. This is a key concept, which lets object-oriented programs grow in complexity linearly rather than geometrically. A new subclass inherits all of the attributes of all of its ancestors. It does not have unpredictable interactions with the majority of the rest of the code in the system. Polymorphism Polymorphism (from the Greek, meaning many forms) is a feature that allows one interface to be used for a general class of actions. The specific action is determined by the exact nature of the situation. Consider a stack (which is a last-in, first-out list). You might have a program that requires three types of stack. One stack is used for integer values, one for floatingpoint values, and one for characters. The algorithm that implements each stack is the same, even though the data being stored differs. In a nonobject-oriented language, you would be required to create three difference sets of stack routines, with each set using different names. However, because of polymorphism, in Java you can specify a general set of stack routines that all share the same names. More generally, the concept of polymorphism is often expressed by the phrase one interface, multiple methods. This means that it is

36

Citizen card

possible to design a generic interface to a group of related activities. This helps reduce complexity by allowing the same interface to be used to specify a general class of action. It is the compilers job to select the specific action (that is, method) as it applies to each situation. You, the programmer, do not need to make this selection manually. You need only remember and utilize the general interface. Extending the dog analogy, a dogs sense of smell is polymorphic. If the dog smells a cat, it will bark and run after it. If the dog smells its food, it will salivate and run to its bowl. The same sense of smell is at work in both situations. The difference is what is being smelled, that is, the type of data being operated upon by the dogs nose! This same general concept can be implemented in Java as it applies to methods within a Java program. Polymorphism, Encapsulation, and Inheritance Work Together When properly applied, polymorphism, encapsulation, and inheritance combine to produce a programming environment that supports the development of far more robust and scaleable programs than does the process-oriented model. A well-designed hierarchy of classes is the basis for reusing the code in which you have invested time and effort developing and testing. Encapsulation allows you to migrate your implementations over time without breaking the code that depends on the public interface of your classes. Polymorphism allows you to create clean, sensible, readable, and resilient code. Of the two real-world examples, the automobile more completely illustrates the power of object-oriented design. Dogs are fun to think

37

Citizen card

about from an inheritance standpoint, but cars are more like programs. All drivers rely on inheritance to drive different types (sub classes) of vehicles. Whether the vehicle is a school is a school bus, a Mercedes sedan, a Porsche, or the family minivan, drivers can all more or less find and operate the steering wheel, the brakes, and the accelerator. After a bit of gear grinding, most people can even manage the difference between a stick shift and an automatic, because they fundamentally understand their common super class, the transmission. People interface with encapsulated features on cars all the time. The brake and gas pedals hide an incredible array of complexity with an interface so simple you can operate them with your feet! The implementation of the engine, the style of brakes, and the size of the tires have no effect on how you interface with the class definition of the pedals. The final attribute, polymorphism, is clearly reflected in the ability of car manufacturers to offer a wide array of options on basically the same vehicle. For example, you can get an antilock braking system or traditional brakes, power or rack-and-pinion steering, 4-, or 6-, or 8-cylender engines. Either way, you will still press the break pedal to stop, turn the steering wheel to change direction, and press the accelerator when you want to move.

Java Data Base Connectivity (JDBC) JDBC is a set of specification that defines how a program written in java can communicate and interact with a database. It provides a vehicle for the

38

Citizen card

exchange of SQL between java application and databases. Programs developed with java and the JDBC are platform independent and vendor independent. The same java database program can run on PC, a workstation, or java powered terminal. You can move your data from one database to another, for example from Microsoft SQL Server to Oracle and the same program can still read your data. This is in sharp contrast to the database programming typically done on personal computers today. It is all common that one writes the database application in proprietary database language, using a database management system that is available only from one or two platforms. At the heart of the JDBC is the JDBC driver. JDBC driver is responsible for ensuring that any requests made by the application are presented to the database in away that is meaningful to the databases. JDBC was designed to support the most common form of SQL known as ANSI SQL92 entry level standard. The JDBC consists of two layers .The top layer is the JDBC API. This API communicates with JDBC manager driver API sending, it the various SQL statements. The manager should communicate with the various third party drivers that actually connect to the database and return the information from the query or performed the action specified by the query. Typical uses of the JDBC Just as one can use java for both applications and applets, one can use the JDBC enhanced version of java in both applications and applets. When

39

Citizen card

that version is used in an applet, all the normal security restrictions applied. JDBC continues to assume all applets are trusted. In particular, applets that use JDBC would only be able to open a database connection from the server from which they are downloaded. They can make neither explicit nor implicit use of information. Although the JDBC extensions of the java security model allow on to download a JDBC driver and register it with JDBC device manager on the server, that driver can be used only for connections from the same server the applet came from. That means the web server and the database must be the same machine, which is not a typical set up. Of course, the web server can have a proxy service that routes database traffic to an other machine. When signed java applets become possible this restriction could be loosened. Applications on the other hand have complete freedom. They can give the application the total access to files and remote servers. We envision that JDBC applications will be very common.

Components of JDBC There are three components to the JDBC The JDBC driver manager The JDBC driver test suite and

40

Citizen card

The JDBC-ODBC bridge The JDBC driver manager is the backbone of the JDBC architecture. It actually quite small and simple its primary function is to connect java application s to the connect JDBC driver and then get out of the way. The JDBC driver test suite provides some confidence that JDBC drivers will run your program. Only drivers that pass the JDBC driver test suite can be designated JDBC COMPLIANT. The JDBC-ODBC Bridge allows ODBC drivers to be used as JDBC drivers. It was implemented, as a way to get JDBC off the ground quickly, a long term will provide a way to access some of the less popular DBMSs if JDBC drivers are not implemented for them. JDBC DRIVER TYPES JDBC-ODBC Bridge: ODBC driver is the only driver that can be used with the multiple databases and is vendor independent. The ODBC interface remains constant no matter which database is used. This means that this type of JDBC driver only needs to speak only one language ODBC.

Native-API -Party-Java Driver:

41

Citizen card

This makes use of local native libraries to communicate with the database. The driver does this by making call to the locally installed native call level interface (CLI). The CLI libraries are responsible for the actual communication with the database server.

JDBC-Net-All-Java-Driver: The main difference when using this driver is that the native CLI libraries are placed on a remote server and the driver uses a network protocol to facilitate communication between the application and the driver .All c communication between the application and the database server are 100% java to java. Communication between the database itself and the server processes is still done with a native database CLI. Native-Protocol-All-Java-Driver: This kind of driver converts JDBC calls into the network protocol used by DBMS directly. This allows a direct call from the client machine to the DBMS server and is a practical solution for Internet access. Since many of these protocols are proprietary, the database vendors themselves will be the primary source and database vendors have these in progress

42

Citizen card

SERVLETS In the early days of the web, a server could dynamically construct a page by creating a separate process to handle each client request. The process would open connection to one or more databases in order to obtain the necessary information. It communicated with the web server via an interface known as the Common Gateway Interface (CGI) .CGI allowed the separate process to read data from HTTP request and write data to the HTTP response. A variety of different languages were used to build CGI programs including C, C++ and Perl. However, CGI suffered serious performance problems. Creating a separate process for each request was expensive, in terms of the processor and resources. It was also expensive to open and close database connections for each request. Servlets offer several advantages over CGI: Performance is significantly better. Servlets execute within the address space of a web browser. Creating a separate process to handle each request isnt necessary. Servlets are platform-independent, because they are written in java. Several web servers, from vendors such as Sun, Netscape and Microsoft

43

Citizen card

offers the Servlets API. Programs developed for this API can be moved to any of these environments without recompilation. The java security manager on the server enforces a set of restrictions to protect the resources on a server machine. You will see that some servlets are trusted and others are untrusted. The full functionality of the class libraries is available to a servlet.

The life cycle of a servlet: Three methods are central to the cycle of a servlet: Init () Service () Destroy () They are implemented by every servlet and are invoked at specific times by the server. Consider next a typical user scenario, to understand when these methods are called. First, assume that a user enters a Uniform Resource Locator (URL) to the web browser. The Browser then generates a HTTP request for this URL and sends it to the appropriate server. Second, the web server receives this HTTP request. The server maps this request to a particular servlet. This servlet is dynamically retrieved and located into the address space of the server.

44

Citizen card

Third, the server invokes the init () method of the servlet. This method is invoked only when the servlet is first loaded into the memory. You will see the initialization parameters can be passed to the servlet so that it may configure itself. Fourth, the server invokes the servlets service () method, which is called to process the HTTP request. You will see that the servlet can read data that has been provided in the HTTP request, and may also formulate an HTTP response for the client. The servlet remains in the servers address space and is available to process any other HTTP requests received from clients. The service () method is called for each HTTP request. Finally the server may decide to unload the servlet from its memory. The algorithms by which this determination is made are specific to each server. The server calls destroy () method to relinquish any resources, such as file handlers that are allocated for a servlet. Important data may be saved to a persistent store. The memory allocated for the servlet and its objects can then be garbage collected.

SERVLET ARCHITECTURE OVERVIEW: The central abstraction in the JSDK is the servlet interface. All servlets implements this interface, either directly or more commonly by extending a class that implements it such as HTTP servlet. The servlet interface provides for methods that manage the servlet and its developing a servlet.

45

Citizen card

When a servlet accepts a call from client it receives two object one is servlet request and the other is a servlet response. The servlet request class encapsulates the communication from the back to the client. The servlet request interface allows the servlet access to the information such as the names of the parameters passed in by the client, the protocol (scheme) being used by the client, and the names of the remote host that made the request and the server that received it. It also provides the servlet with access to the input stream. Servlet classes of servlet request allow the servlet to retrieve more protocol specific data. Input stream, through which the servlet gets data from clients that are using application, protocols such as the HTTP POST and PUT methods. Subclasses of servlet request allow the servlet to retrieve more protocol specific data. The Servlet Response interfaces give the servlet methods to the client. It allows the servlet to set the content length and mime type of the reply and provides an output stream. Servlet output stream and a writer through which the servlet can send the reply data. Subclasses of Servlet Response give the servlet more protocol specific capabilities. For example, HTTP Servlet Response contains methods that allow the servlet to manipulate the HTTP specific header information.

46

Citizen card

Services load and run servlets, which then accept zero or more requests from clients and return data to them. They can also remove servlets. These are the steps of a servlets life cycle. When a service () loads a servlet, it runs the servlets init () method. Even though most servlets are run in multi-threaded services, there are no concurrency issues during servlet initialization. This is because the service calls the init () method once, when it loads the servlet, and will not call it again unless it is reloading the servlet. The service cannot reload a servlet until after it has removed the servlet by calling the destroy () method. Initialization is allowed to complete before the client requests are handled or the servlet is destroyed. Each clients request has its call to the service () method run in its own servlet. The method receives the clients request and sends the client its response. Servlets can run multiple service () methods at a time .It is important therefore that service () methods be written a thread -safe manner. Servlets until they are removed from the service. When a service removes a servlet, it removes a servlet, it runs the servlet destroy () method. The method is run once; the service3 will not run it again until after it reloads the reinitializes the servlet. When the destroy () method runs, however, other threads might be running service request .If in cleaning up, it is necessary to access shared resources that access should be synchronized.

47

Citizen card

HYPER TEXT MARKUP LANGUAGE (HTML) HTML is a language used to create hypertext documents that have hyperlinks embedded in them .You can build web pages. It is only a formatting language and not a programming language. Hyperlinks are underlined or emphasized words or locations in a screen that lead to other documents. WWW is a global, interactive, graphical, hypertext information system. The behind hypertext is that instead of reading text in rigid liner structure you can easily jump from point to another point .You can navigate through the information based on your interest and preferences. Hyper Media: HTML pages audio and video files linked to them are Hyper Media. HTML is platform independent: If you can access Internet, you can access WWW, irrespective of your Operating System and the Operating System of Web Server you are accessing .All you require is to view and download the HTML files, which are on the WWW, are browser and Internet connections. HTML is a language for describing structured documents. HTML describes the structure of documents -lists, heading, and paragraph, etc.

48

Citizen card

Elements of web document are through the usage of HTML tags. It is tags that describe documents. Anything that is not a tab is part of a document itself. HTML does not describe page layout: Word for windows or Lotus AmiPro for example, have different styles

for Headings, fonts, size and identification. HTML does not have all these. Based on the platform, exact placement or appearance of any element will change. There may be or may not be fonts installed. So your formatted text will appear differently on differently on different machines/platforms. By separating the structure of the document and its appearance, a program that reads and understands HTML can make formatting decision based on capabilities of the individual platform. In addition to providing the networking functions to retrieve documents, web browsers are also HTML formatters. They parse and format documents and display them on the screen. Different browsers show data differently.

Advantages: An HTML document is a small and hence easy to send over the net. It is small because it does not include format information.

49

Citizen card

HTML documents are cross names, locations etc are required.

platform compatible and device

independent. You only need HTML readable browser to view them. Font

50

Citizen card

JAVA SCRIPT Introduction To Java Script: JAVA script enables you to embed commands in an HTML page. When a compatible web browser, such as Netscape Navigator 2 or higher or Internet explorer 3 or higher, downloads the page, your JAVA script commands are loaded by the web browser as part of the HTML document. These commands can be triggered when the user clicks page items, manipulates gadgets and fields in an HTML form, or moves through the page history list. JAVA script is an interpreted language - the computer must evaluate the program every time it is run. You embed your JavaScript commands within an HTML page, and any browser that supports JavaScript can interprets the commands and act on them. JavaScript is powerful and simple. Scripting Language: JavaScript enables Web authors to write small scripts that execute on the users browsers rather than on the server. An application that collects data from a form and then posts it to the server can validate the data for completeness and correctness, for example, before sending it to the server. This can greatly improve the performance of the browsing session because users dont have to send data to the server until it has been verified as correct.

51

Citizen card

Another important Web browser scripting languages such as JavaScript comes as a result of the increased functionality being introduced for Web browsers in the form of Java applets, plug-ins, Dynamic HTML elements, Active X Controls, and VRML objects and worlds. Web authors can use each of these things to add extra functions and interactivity to a Web page. Scripting language acts as the glue that binds everything together. A Web page might use an HTML form to get some user input and then set a parameter for a Java applet based on that input. It is usually a script that carries out. Use of JavaScript: JavaScript provides a fairly complete set of built-in functions and commands, enabling you to perform math calculations, manipulate strings, play sounds, open new windows and new URLs, and access and verify user input to your Web forms. Code to perform these actions can be embedded in a page and executed when the page is loaded. We can also write functions containing code that is triggered by events you specify. You can write a JavaScript method that is called when the user clicks submit button of a form, for example, or one that is activate when the user clicks a hyperlink on the active page. JavaScript can also set the attributes, or properties, of Web page elements, Active-x controls, Java applets and other objects present in the browser.

52

Citizen card

This way, you can change the behavior of plug-ins or other objects without having to rewrite them. Your JavaScript code could automatically set the text of an Active-X Label Control, for example, based on what time the page is viewed. JavaScript commands are embedded in your HTML documents. Embedding JavaScript in your pages requires only one new HTML element: <SCRIPT> and </SCRIPT>. The <SCRIPT> element takes the attribute LANGUAGE, which specifies the scripting language to use when evaluating the script, and SRC, which can be used to load a script from an external source.

53

Citizen card

The following are some simple rules to help you understand how the language is structured: JavaScript is case sensitive. JavaScript is flexible about statements. A single statement can cover multiple lines, and you can put multiple short statements on a single line - just make sure to add a semicolon (;) at the end of each statement. Braces (the {and} characters) group statements into blocks; A block may be the body of a function or a section of code that gets executed in a loop or as part of the conditional test. JavaScript is designed to resemble Java, which, in turn, looks a lot like C and C++. The difference is that Java was built as a General-purpose object language; JavaScript, on the other hand, is intended to provide a quicker and simpler language for enhancing Web pages and servers.

54

Citizen card

ORACLE DATABASE MANAGEMENT SYSTEMS (DBMS) : A DBMS consists of a collection of interrelated date and a set of programs to access that data and to modify the data. The collection of data is usually referred as the database. The database contains information about any particular enterprise. The primary goal of a DBMS is to provide an environment that is both convenient and efficient to use in retrieving and storing information into the database. Database systems are designed to manager large bodies of information. The management of data involves both the definition of the structure for the storage of information and the provision of mechanisms for the manipulation of information. In addition the database system must provide for the safety of information stored in the database despite system crashes or attempts by users, the system must avoid possible anomalous results. Characteristics Of Database Management Systems: Have different It represents complex relationships between data. Keeps a tight control on data redundancy. Enforces user-defined rules to ensure that integrity of table data. Enforces threat data can be shared by different applications. Enforces data access authorization.

55

Citizen card

Have automatic, intelligent backup and recovery procedures for data.interfaces via which users can manipulate data. The data is stored in the form of tables. The tables consist of one or more records or rows. Each row has one or more fields or columns. The unit of data is accessed by a row and column intersection. A column that has a unique set of values through out the table can be used to access the data. Such a column is called the key or the primary Key. If no such single column exists, using a set of columns such that when combined they are unique throughout the table can access the data. These set of columns are called Composite Key. In short modern (Relational) RDBMS act as a transparent interface between the physical storage and the logical presentation of data. It provides a set of flexible and sophisticated tools for handling information. The tools can be used to Define database Query a database. Add, delete and modify the database. Modify the structure of the database. Secure the data public access. Communication within networks/time sharing environments. Export and import the data.

56

Citizen card

Data Abstraction

The major purpose of a database system is to provide users with an abstract view of data. That is the system hides certain details of how the data is stored and maintained while the data is sufficiently retrieved. Levels are Physical Level: The lowest level of abstraction describes how the data is actually stored. Conceptual Level: T he next level of abstraction describes what data is actually stored in the database, and the relationships that exist among the data. Data base administrators, who must decide what information is to be kept in the database, use the conceptual level of abstraction. View Level: The highest level of abstraction describes only part of the entire database. The system may provide many views for the same database.

Data Model: Underlying the structure of a database is the concept of the data model, a collection of conceptual tools for describing data relationships, data semantics and consistency constraints.

57

Citizen card

The various data models fall into three groups. They are Object Based logical model: These are used in describing data at the conceptual and view levels. Some of the object based logical models are Entity-relationship model Object-oriented model Binary model Semantic model Info logical model Functional data model Record based logical model: Record-based logical models are used in describing data at the conceptual and view levels. These are so named because the database is structured in fixed format records of several types. In this the three most widely accepted data models are Relational Model: - The relational model represents data and relationships among data by a collection of tables, each of which has number of columns with unique names. NetWork Model: - Data in the network model is represented by collection of records and relationship among data represented by links, which can be used, as pointers. The records in the database are organized as collection of arbitrary groups. Hierarchical Model: - It is same as the network model, but the records are organized as collection of trees rather than arbitrary groups.

58

Citizen card

Physical Data Model: Physical data models are used to describe data at the lowest level. Two of the widely known ones are Unifying model Frame model Instances and Schemas: The collection of information stored in the database at particular moment in time is called an instance of the database. The overall design of the database is called as the Database Schema. Database systems have several schemes. They are Physical Schema Conceptual Schema Sub Schema Data Independence: The ability to modify a schema definition in one level without affecting a schema definition in the next higher level is called data independence. The two levels of data independence are

59

Citizen card

Physical Data Independence: It is the ability to modify the physical schema without causing application programs to be rewritten. Logical Data Independence: It is the ability to modify the conceptual schema with out causing application programs to be rewritten.

Data Definition Language (DDL): A database schema is especially by a set of definitions, which are expressed by a special language called data definition language. The result is a set of tables, which are stored in a special file as data dictionary. Data Manipulation Language (DML): By data manipulate we mean that The retrieval of information stored in the database. The insertion of information into the database. The deletion of information from the database.

60

Citizen card

The goal should be to provide efficient human interaction with the system. The DML is a language that enables us to a view data as organized by the appropriate data model. There are basically two types of data manipulation languages, they are Procedural: - DML requires the user to specify what data is needed and how to get it. Here the data gets modified in each procedure and execution is in the form of procedure by procedure. Non-procedural: - DML requires the user to specify what data is needed without specifying how to get it. The form is based on certain events, that is event driven. On-procedural DML is usually easier to learn than procedural DML. A query is a statement requesting the retrieval of information. The portion of DML that involves information retrieval is called Query Language. Hence sometimes DML is also called as query language. Data Dictionary: A data dictionary is a file that contains Meta data that is data about data. This file is consulted before actual data is read or modified in the database system. The data storage and definition language specifies the storage and access methods of the database system.

Overall System Structure A database system consists of functional components.

61

Citizen card

File Manager: - Manager the allocation of space on the disk storage and the data structure used to represent the information stored on the disk. Data Manager: - Provides the interface between the low-level storage in the database and the application programs and queries submitted to the system. Query Processor: -Translates the statements in a query language into low level instructions that the database manager understands. It also attempts to transform the query into an efficient and optimized equivalent query. DML pre-compiler: - Converts DML statements embedded in an application program to normal procedural call in the host language. DDL compiler: - Converts DDL statements to a set of tables are containing the data. These tables are then stored in the data dictionary. Normalization: Relational databases a form of database specification based upon the mathematical concept of a relation. The mathematical nature of the concept is, however, not necessary to its appreciation and

database may be regarded as composed of a number of rectangular tables, each expressing one relation. Unlike network or hierarchical

62

Citizen card

database models, the relational system is structured at the time each query is posed rather than at the time if the database is established. The structures are achieved by the combination of relations using relational operators.

Normalization is carried out for three reasons. 1. To secure the data so that any pertinent relationship between entities can be represented. 2. To simplify the maintenance of the data through updates, inserts and deletions. 3. To reduce the need to restructure or re-organize data when new application requirements arise.

First Normal Form: First normal form is achieved when a record is designed to be of fixed length. Removing the repeating group and creating a separate file or relation containing the repeating group accomplish this. The original and new records are interrelated by a common data item. Second Normal Form: Second normal form is achieved when a record is in the first normal form and each item in the record is fully dependent on the primary record key for identification data item is functionally dependent if its

63

Citizen card

value is uniquely associated with a specific data items .To achieve second normal form, every data item in the record that is not dependent on the primary key of the record should be removed and used to form a separate relation.

Third Normal Form: Third normal form is achieved when transitive dependencies are removed from a record designed conversion to third normal form removes the transitive dependencies by splitting the relation into two separate relations.

Boyce Code Normal Form A relation is said to be in the BCNF if determinate is a candidate key. Relations in 3NF can also have anomalies. Relations in BCNF have no anomalies regarding functional dependencies and this seemed to have put the issue of modification anomalies to rest. However it was soon discovered that anomalies could arise from situations other than functional dependencies. The fourth, fifth and domain key normal forms were proposed to overcome these anomalies.

64

Citizen card

INTERNET Internet is a network. The simple definition has many complications, implementations and consequences. Primarily it differs from the ordinary networks, in the respect that it connects networks but not computers. Now, because we want to connect various networks there could be hundreds of different types of networks and surprisingly Internet accommodates all these. From a home PC to a super computer can be present on the Internet. It can use the simple serial ports to the most advanced satellites. There are no special advantages of Internet apart from those of general network. Whether it is an Internet or general network it can do only information interchange and we can achieve the same secondary advantage. But the difference is in the extendibility and reach.

World Wide Web (WWW): World Wide Web (WWW) is a global hypertext system that uses the Internet as its transmission medium.

65

Citizen card

Hypertext: Hypertext is a method of preparing and publishing text in which users can choose their own paths through the material. The text is broken in to small units such as single pages called nodes. Then hyperlinks are embedded into the text. Typically the user can has a GUI on which he clicks a button to navigate through the different pages.

Hyperlink: A hyperlink is an underlined or emphasized work that when clicked with a mouse displays another document. These documents can come from other sites on the Internet. Clicking on these links activates the necessary protocols and pulls up the chosen site. Web: A collection of documents inter-linked by hyperlinks is called as web. A web page is a synonymous with web documents. It is not the same as a page on your screen .It is also defined as a hypertext information system. Browsing: The process of navigation among documents is called browsing. The users have click software such as Netscape Navigator, Internet Explorer to actually retrieve and browse the information on the WWW. WWW

66

Citizen card

supports many kinds of documents such as text, pictures, video and audio. Sometimes it is referred to as Net Surfing. Web Browser It is basically a program that run on an Internet connected computer and provides access to WWW resources.

Browser Types: There are two types of Browsers 1. Text only browsers such as Linux are used on Shell accounts. This is faster but does not provide GUI features and so not that user friendly. 2. Graphical Web Browsers such as Netscape Navigator, Internet Explorer is more popular. HotJava and Mosaic are also Web Browsers. These Browsers provide with in line images, fonts and document layouts.

Website: The website is a computer system that runs on web server and has been set up for publishing documents. Some websites have only a

67

Citizen card

single document while others consists of hundreds of pages, for example about the services or products provided by the company. Web Server: A web server is a program that accepts requests for information framed according to the Hypertext Transfer Protocol. The server processes these requests and sends the request documents. When you access a WWW server, the document is transferred to your computer and then the connection is terminated. This reduces network traffic by not having to hold on to a line while you read a document.

Testing

Testing is the major quality control measure employed for software development. Its basic function is to detect errors in the software. During requirement analysis and

68

Citizen card

design, the output is document that is usually textual and non-textual. After the coding phase, computer programs are available that can be executed for testing purpose. This implies that testing has to uncover errors introduced during coding phases. Thus, the goal of testing is to cover requirement, design, or coding errors in the program. The starting point of testing is unit testing. In this a module is tested separately and are often performed by the programmer himself simultaneously while coding the module.

The purpose is to exercise the different parts of the module code to detect coding errors. After this the modules are gradually integrated into subsystems, which are

69

Citizen card

then integrated themselves too eventually forming the entire system. During integration of module integration testing is performed. The goal of this is to detect designing errors, while focusing the interconnection between modules. After the system was put together, system testing is performed. Here the system is tested against the system requirements to see if all requirements were met and the system performs as specified by the requirements. Finally accepting testing is performed to demonstrate to the client for the operation of the system. For the testing to be successful, proper selection of the test case is essential. There are two different approaches for selecting test case. The software or the module to be tested is

70

Citizen card

treated as a black box, and the test cases are decided based on the specifications of the system or module. For this reason, this form of testing is also called black box testing. The focus here is on testing the external behavior of the system. In structural testing the test cases are decided based on the logic of the module to be tested. A common approach here is to achieve some type of coverage of the statements in the code.

The two forms of testing are complementary: one tests the external behavior, the other tests the internal structure. Often structural testing is used for lower levels of testing, while functional testing is used for higher levels.

71

Citizen card

Testing is an extremely critical and time-consuming activity. It requires proper planning of the overall testing process. Frequently the testing process starts with the test plan. This plan identifies all testing related activities that must be performed and specifies the schedule, allocates the resources, and specifies guidelines for testing. The test plan specifies conditions that should be tested;

different units to be tested, and the manner in which the module will be integrated together. Then for different test unit, a test case specification document is produced, which lists all the different test cases, together with the expected outputs, that will be used for testing.

72

Citizen card

During the testing of the unit the specified test cases are executed and the actual results are compared with the expected outputs. The final output of the testing phase is the testing report and the error report, or a set of such reports. Each test report contains a set of test cases and the result of executing the code with the test cases. The error report describes the errors encountered and the action taken to remove the error.

Error Messages

The term error is used in two different ways. Errors refer to the discrepancy between computed and observed values. That is error refers to the difference between the actual

73

Citizen card

output of the software and the correct output. In this interpretation, error essentially is a measure of the difference between the actual and the ideal. Error is also used to refer to human action that results in the software containing a defect or a fault. This detection is quite general and encompasses all phases.

The consequence of thinking is the belief that the errors largely occur during programming, as it is the can see, the errors occur through the development. As we can see, the errors occur throughout the development process. However, the cost of connecting the errors of different phases is not the same and depends upon when the error

74

Citizen card

was detected and corrected. The cost of correcting errors in the function of where they are detected. As one would expect the greater the delay in detecting an error after it occurs, the more expensive it is to correct it. Suppose an error occurs during the requirement phase and it was corrected after the coding then the cost is higher than correcting it in the requirements phase itself. The reason for this is fairly obvious. If there was error in the requirements phase that error will affect the design and coding also. To correct the error after coding is done require both the design and the code to be changed there by increasing the cost of correction. The main moral of this section is that we should attempt to detect the errors that occur in a phase during the phase itself should not wait until testing to detect errors. This is

75

Citizen card

not often practiced. In reality, sometimes testing is the sole point where errors are detected. Besides the cost factor, reliance on testing as a primary source for error detection and correction should be a continuous process that is done throughout the software development. In terms of the development phase, what this means is that we should try to validate each phase before starting the next.

Testing Techniques Testing is a process, which reveals errors in the program. It is the major quality measure employed during software development. During testing, the program is executed with a

76

Citizen card

set of conditions known as test cases and the output is evaluated to determine whether the program is performing as expected. In order to make sure that the system does not have errors, the different levels of testing strategies that are applied at differing phases of software development are:

Unit Testing

Unit Testing is done on individual modules as they are completed and become executable. It is confined only to the designer's requirements.

EACH MODULE CAN BE TESTED USING THE FOLLOWING TWO STRATEGIES:

77

Citizen card

Black Box Testing: In this strategy some test cases are generated as input conditions that fully execute all Functional requirements for the program. This testing has been uses to find errors in the Following categories: a) b) c) d) e) Incorrect or missing functions Interface errors Errors in data structure or external database access Performance errors Initialization and termination errors.

In this testing only the output is checked for correctness. The logical flow of the data is not checked.

White Box Testing

78

Citizen card

In this the test cases are generated on the logic of each module by drawing flow graphs of that module and logical decisions are tested on all the cases.

It has been uses to generate the test cases in the following cases: a) b) c) operational d) Execute internal data structures to ensure their validity. Guarantee that all independent paths have been executed. Execute all logical decisions on their true and false sides. Execute all loops at their boundaries and within their

Integration Testing

Integration testing ensures that software and subsystems work together as a whole. It tests the interface of all the modules to make sure that the modules behave properly when integrated together.

79

Citizen card

System Testing

Involves in-house testing of the entire system before delivery to the user. Its aim is to satisfy the user the system meets all requirements of the client's specifications.

Acceptance Testing It is a pre-delivery testing in which entire system is tested at client's site on real world data to find errors. Validation Testing The system has been tested and implemented successfully and thus ensured that

80

Citizen card

all the requirements as listed in the software requirements specification are completely Fulfilled. In case of erroneous input corresponding error messages are displayed.

COMPILING TEST It was a good idea to do our stress testing early on, because it gave us time to fix some of the unexpected deadlocks and stability problems that only occurred when components Were exposed to very high transaction volumes.

EXECUTION TEST

This program was successfully loaded and executed. Because of good programming there

81

Citizen card

were no execution error.

OUTPUT TEST The successful output screens are placed in the output screens section above.

Data Flow Diagrams (DFD)

DATA FLOW ANALYSIS

This states a great deal about how organization objectives are accomplished in the course of handling transactions and completing task. Data is input, processed, stored, retrieved, Used, changed and output. Data flow analysis studies the use of data in each activity.

82

Citizen card

FEATURES OF DATA STRATEGY: Data flow analysis examines the use of the data to carry out specific process Within the scope of a systems investigation. TOOLS OF DATA FLOW STRATEGY: Data flow strategy shows the use of data in the system pictorially. The tools used in the data flow strategy are: DATA FLOW DIAGRAM (DFD): A graphical tool is used to describe and analyse the movement of the data through a system manually or automate including the process of data storage, and delay in the system. DFDs are central tools and the basis for the development of other components. The transformation of data from one

83

Citizen card

process to another process is independent of physical components. These types of DFDs are called LOGICAL DATA FLOW DIAGRAMS. In contrast, physical data flow diagrams show the actual implementation and movements of the data through people, departments and workstations. DATA FLOW DIAGRAMS Data flow diagram is a structure analysis tool that is used for graphical representation of Data processes through any organization. The data flow approach emphasis on the logic underlying the system, by using combination of only 4 symbols. It follows a top down approach. A full description of a system actually consists of set of DFD s, which

84

Citizen card

comprises of various levels. And initial over view model is exploded lower level diagrams that show additional feature of the system. Further each process can be broken down into a more detailed DFD. This occurs repeatedly until sufficient details are described.

DFD SYMBOLS

Square: It defines a source (originator) or destination of system data.

Arrow: It indicates data flow-data in motion. It is a pipeline through which information flows.

Circle or Bubble: It represents a process that transforms incoming data flow(s) into outgoing data

85

Citizen card

flow(s).

Open Rectangle: it is a data store-data at rest, or a temporary repository of data. Here I am giving only the Data Flow Diagram.

They are explained by GANE and SARON method DEMACRO YORDAN method

86

Citizen card

GANE

AND

SARSON NOTATION

DATA FLOW

DATA STRUCTURE

EXTERNAL ENTITY OR DATA LINK

PROCESS

DATA BASE

87

Citizen card

88

Citizen card

DEMACRO YORDAN NOTATION DATA FLOW DATA STRUCTURE

EXTERNAL ENTITY OR DATA LINK

PROCESS

DATA BASE

89

Citizen card

90

Citizen card

DATA FLOW DIAGRAMS

Administrator

Employee

91

Citizen card

Registration

logging in and logging out

Adding details display details

92

Citizen card

1-LEVEL DFD for citizen MODE

Insurance

Banking

citizen
passport Server

Gas details

93

Citizen card

1-LEVEL DFD for ADMINISTRATOR MODE

login

Add ci ti
DATABASE

Administ rators
Update citizen details
View citizen details

94

Citizen card

ADVANTAGES OF DFDs: Users, persons who are part of the process being studied, early understand the notations. So analysts can work with the users and involve them in the study of data flow diagram. For accurate business activity users can make suggestions for modification and also they examine charts and spot out the problems quickly. If the errors are not found in the development process they will be very difficult to correct latter and the system may be failure.

Data flow analysis permits analyst to isolate areas of interest in the organization

95

Citizen card

and study them by examining the data that enters the process and see how it is changed when it leaves the process. Data Flow Diagram

Administrators

Add citizen details

Update citizen details

View citizen details

96

Citizen card

UML Diagrams :`Usecasediagram of Citizen

Personal info

Voting

Passport

Municipality

Electricity

Gas

RTO

97

Citizen card

USECASE DIAGRAMS OFADMINISTRATOR PERSONAL INFORMATION :

Adding Citizen Personal details

Updating Citizen Personal details

View Citizen Personal details

USE CASE DIAGRAM FOR VOTING :

Adding Citizen Voting details

Updating Citizen Voting details

View Citizen Voting details

98

Citizen card USE CASE DIAGRAM FOR PASSPORT :

Adding Citizen Passport details

Updating Citizen Passport details

View Citizen Passport details

USE CASE DIAGRAM FOR MUNICIPALITY :

Adding Citizen Municipal details

Updating Citizen Municipal details

View Citizen Municipal details

99

Citizen card USE CASE DIAGRAM FOR ELECTRICITY :

Adding Citizen Electricity details Updating Citizen Electricity details

View Citizen Electricity details

USE CASE DIAGRAM FOR GAS :

Adding Citizen Gas details Updating Citizen Gas details

View Citizen Gas details

USE CASE DIAGRAM FOR RTO : 100

Citizen card

Adding Citizen RTO details

Updating Citizen RTO details

View Citizen RTO details

USE CASE DIAGRAM FOR TELEPHONE :

Adding Citizen Telephone details

Updating Citizen Telephone details

View Citizen Telephone details

USE CASE DIAGRAM FOR PROVIDENT FUND :

101

Citizen card

Adding Citizen Provident Fund details

Updating Citizen Provident Fund details

USE CASE DIAGRAM FOR TAXATION :

Adding Citizen Tax details Updating Citizen Tax details

View Citizen Tax details

USE CASE DIAGRAM FOR BANKING :

102

Citizen card

Adding Citizen Banking details Updating Citizen Banking details

View Citizen Banking details

USE CASE DIAGRAM FOR INSURANCE :

Adding Citizen Insurance details

Updating Citizen Insurance details

View Citizen Insurance details

USE CASE DIAGRAM FOR CREDIT RATING :

103

Citizen card

Adding Citizen Creadit rating details

Updating Citizen Credit rating details

View Citizen Credit rating details

104

Citizen card Sequence Diagram for Citizen :

Persona l

Credit rating

Electricity

Insurance

Electricity

Banking

Tax

105

Citizen card

Activity Diagram for Citizen:

Login

Create, Modify Citizen

Access Citizen Options

Client

Updates

Server

Reports

106

Citizen card Activity Diagram for ADMIN :

Enter username

Enter Password

Check to correctness of entered text

Validat ed?

Citizen Access
Admin Page

Apply Items

107

Citizen card Diagram for Admin :

Create the Citizens

Modify the Citizen

Remove Citizen

108

Citizen card Diagram for User Options :

Get User Details

Select the Option

If Not Eligible If Eligible for Apply?

If Eligible for the Options

Apply for the Items

Access and Apply Online

109

Citizen card

DATA DICTIONARY Database tables


User Details Create table userdata(cdid varchar2(20), Name varchar2(20), Pass varchar2(20)); Personal Information Create table personal1data (name varchar2(20), Idno varchar2(20), Fname varchar2(20), Dateofbirth varchar2(20), Gender varchar 2(10), Quli varchar2(10), Addr varchar2(10), Language varhcar2(10), Cdno varchar2(20)); Taxation Create table tax2data(cdno varchar2(10) not null, Idno varchar2(10) not null, Aincome varchar2(10) not null, Incometax varchar2(10) not null, Assets varchar2(10) not null, Ptax number(10) not null, Rtax number(10) not null, Amount number(8) not null);

110

Citizen card

Gas Details Create table gas2data(cdno varchar2(10) not null, Name varchar2(20) not null, Idno varchar2(15) not null, Gasno varchar2(10) not null, Gastype varchar2(10) not null, Addr varchar2(10) not null, Amount varchar2(10) not null);

RTO: create rto1data(name varchar2(10), idno varchar2(15), v_type varchar2(10), v_regno varchar2(10), v_engno number(8), v_serviceno varchar2(10), addr varchar2(40), licence varhcar2(15), re_date varchar2(10));

Banking: create sbi1data(name varchar2(10), citizenid varchar2(15), balance number(8)); create icici1data(name varchar2(10), citizenid varchar2(15), balance number(8)); create ab1data(name varchar2(10),
111

Citizen card

citizenid balance Voting:

varchar2(15), number(8));

create vote2data(cdno varchar2(10) not null, name varchar2(10) not null, fname varchar2(20) not null, idno varchar2(10) not null, age varchar2(10) not null, sex varchar2(10) not null, addr varchar2(40) not null);

create votedata(cdno varchar2(10) not null, name varchar2(10) not null, fname varchar2(20) not null, idno varchar2(10) not null, age varchar2(10) not null, sex varchar2(10) not null, addr varchar2(40) not null) voterno varchar2(10) not null); Telephone: create tele2data(cdno varchar2(10) not null, name varchar2(10) not null, fname varchar2(20) not null, idno varchar2(10) not null, age varchar2(10) not null, noofphn varchar2(10) not null, totbill varchar2(40) not null) duedate varchar2(10) not null);

Electricity:

112

Citizen card

create elect2data(cdno varchar2(10) not null, name varchar2(10) not null, fname varchar2(20) not null, idno varchar2(10) not null, age varchar2(10) not null, noofphn varchar2(10) not null, amtbill varchar2(40) not null duedate varchar2(10) not null);

Municipality: create table muni2data(cdno varchar2(10) not null, name varchar2(10) not null, idno varchar2(10) not null, addr varchar2(10) not null, contno varchar2(10) not null, waterbill varchar2(40) not null htax varchar2(10) not null bill varchar2(10) not null duedate varchar2(10) not null);

Insurance: create table insurance1data( cdno varchar2(10) not null, name varchar2(10) not null, idno varchar2(10) not null, addr varchar2(10) not null, typeofinsurance varchar2(10), amount number(10) not null);

Passport: create pass2data(cdno varchar2(10) not null,


113

Citizen card

name varchar2(10) not null, idno varchar2(10) not null, addr varchar2(10) not null, fname varchar2(10) not null, contno varchar2(10) not null, dob varchar2(10) not null, gender varchar2(10) notnull, country varchar2(10) not null, passno number2(10) notnull, noofstamps varchar2(10) notnull, fileno varchar2(10)not null, rendate varchar2(10) notnull); Provident Fund: create pf2data(cdno varchar2(10) not null, name varchar2(10) not null, idno varchar2(10) not null, company varchar2(10) not null, aincome varchar2(15) not null, amount varchar2(10) not null, saving varchar2(10) not null); Credit Rating: create table credit1data(name varchar2(20), idno varchar2(10), fir varchar2(50), ss varchar2(20), credit varchar2(5));

114

Citizen card

Drawbacks: Citizen Card project has some drawbacks like The details are maintained by the number of administrators. There is a chance of gathering wrong information in personal information details until administrator works good without fraud. Conclusion: Citizen card project maintains unique id to every citizen to utilize there own services in private or Govt Organizations. A Citizen has unique Id to find out the personal information in each and every department or service wherever a citizen goes. This information can be found out by the unique Id of the citizen. It maintains and manages the transactions different departments. easily in

115

Вам также может понравиться