Sunteți pe pagina 1din 73

1.

INTRODUCTION
The project mainly deals with the automation of the activities performed at Andhra Pradesh State Finance Corporation (APSFC), which issued various kinds of loans to their Customers and accepts monthly installments from them. All the master information is gathered pertaining to the employees working in the organization, Industries to whom the loans are issued. Different types of loans available are designed and the interest rates applicable are set in the master tables. Initially after the customer is registered, loan is sanctioned according to his requirement and eligibility. Details of a particular loan are gathered such as loan number, customer number, loan code, amount, interest, and number of months, monthly installment and date of sanction. When the Industries pay the loan installments, details of loan number, payment id, amount and date of payment are gathered and stored. Simply choosing the appropriate menus such as Employee details report, Customer details report, generates various reports, Loan details report, Interest report, Customer-loan details report & Payment details report. The system security is taken care of by a login form, which allows only authorized users to utilize the system.

1.1 Motivation
The main aim/objective is to develop an effective system, which is fast, accurate, consistent, reliable, and flexible enough so that in can accommodate any further expansion.

1.2 Objective
APSFC wishes to put in place a comprehensive business / IT solution covering several areas within APSFC. Towards this, APSFC wishes to select a competent Software Developer (SD) who would be able to put together the different functions to deliver this solution to APSFC. As a first step towards selection of this SD, APSFC has issued this Request for Expression of Interest. The purpose behind this step is to identify the key set of vendors from whom APSFC would invite detailed technical and commercial proposals. 1

1.3 Identification of Need


Everything is done manually at present such as customer registration, issuing loans and keeping track of payments. As the number of customers are high and the risk involved in the transactions due to huge amount involved, the manual system was considered to be inefficient due to huge amount involved, the manual system was considered to be inefficient due to the volume of errors & lesser security. First when a customer approaches the company he has to be registered and in the manual system it is difficult to verify whether he is already registered. But in the computerized package it would be very easier to check all the customer details. When a loan is sanctioned to a customer, calculation of monthly installment is done manually in old system, which may result in wrong monthly installments. Whereas in the automated system, it is exactly calculated according to the number of months and the interest rates applicable. Also payments from the customers is difficult to maintain which could be made easier in the computerized package in which simply by entering the loan number all the other information is displayed. Therefore the problems in the current system have forced the firm to automate it by developing a software package, which would reduce their problems and increase the efficiency.

2. LITERATURE SURVEY
2.1 Introduction to JAVA
Java is a general purpose, object-oriented programming language developed by Sun Microsystems of USA in 1991. JAVA is Originally called Oak by James Gosling, one of the inventors of the language. In 1990, Sun Microsystems divided to develop special software that could be used to manipulate consumer devices. A team of Sun Microsystems programmers leaded by James Gosling was formed to undertake this task Java was developed by sun micro system and is a multithreaded object oriented programming language it is a new programming language with complete functionality like that of C++. Probably the most important thing that Java brings to the web are The capacity for more interactivity on the internet through multi media and animation. The Internet employer (version 3.0) and Netscape navigator (version 2.0) are two prominent browsers on the net that support Java. Java is an object oriented programming language with a built in applicationprogramming interface (API) that can handle graphics and user interfaces and that can be used to create applications or applets. Because of such section of APIs similar to Macintosh and windows, and its platform independence, Java can also be thought of as a platform in itself. Java also has standard libraries for doing mathematics. Java is platform-independent which means on compiled java program can be accessed by several different environments. Java handles all memory management automatically making it an extremely powerful, useful and versatile programming language

2.1.1 Concepts of Object Oriented Programming The major objective of objected oriented approach is to eliminate some of the flaws encountered in the procedural approach.

2.1.2 Features of Object Oriented Paradigm Emphasis is on data rather than procedure. Programs are divided into what are known as objects. Data structures are designed such that they characterize the objects. Methods that operate on the data of an object are tied together in the data structure. Data is hidden and cannot be accessed by external functions. Objects may communicate with each other through methods. New data and methods can be easily added whenever necessary. Follows bottom-up approach in program design. The general concepts of object oriented programming which form the heart of java language: Objects and classes Data abstraction and encapsulation Inheritance Polymorphism Dynamic binding Message communication 2.1.3 Objects Objects are the basic runtime entities in an object-oriented system. Any programming problem is analyzed in terms of objects and the nature of communication between them. When a program is executed, the objects interact by sending messages to one another. 2.1.4 Class The entire set of data and code of an object can be made a user-defined data type using the concept of class. Once a class has been defined, we can create any number of objects belonging to that class. Each object is associated with the data of type class with which they are created. Thus a class is collection of objects of similar type.

2.1.5 Data Encapsulation The wrapping up of data and methods in to a single unit (called class) is known as encapsulation. Data encapsulation is the most striking feature of a class. The data is not accessible to the outside world and only those methods, which are wrapped in the class, can access it. These methods provide the interface between the Objects data and program. This insulation of the data from direct access by the program is called data hiding. 2.1.6 Data Abstraction It allows us to focus on only those parts of an object that concerns us. Inheritance is the process by which objects of one class acquire the properties of object of another class. Inheritance supports the concept of hierarchical classification. In object oriented programming, the concept of inheritance provides the idea of reusability i.e., we can add additional features to an existing class without modifying it. This is possible by deriving a new class from the existing one. The new class will have the combined features of both the classes. 2.1.7 Polymorphism It means the ability to take more than one form. The behavior depends upon the type of data used in the operation. Polymorphism plays an important role in allowing objects having different internal structures to share the same external interface. 2.1.8 Dynamic Binding It means that the code associated with a given procedure Call is not known until the time of call at run time 2.1.9 Benefits of Object Oriented Programming Though inheritance, we can eliminate redundant code and extend the use of existing classes. Thus saving time & effort. The principle of data hiding, you can side the data which you do not want users of the class to access It is possible to have multiple objects to coexist without any interference.

Real world implementation, you can model software systems based on real world objects. It is easy to partition the work in a project based on objects. Abstractions, you can give the users the ability to ignore irrelevant details and concentrate on essentials. Object oriented systems can be early upgraded from small to large systems. Message passing techniques for communication between objects makes much simple. Software complexity can be early managed.

2.1.10 JAVA Features Sun Microsystems officially describes java with the following attributes Complied & Interpreted Platform independent and portable Object oriented Robust and secure Distributed Familiar, simple, small Multithreaded and Interactive High performance Dynamic and extensible

2.2 Introduction to JDBC


JDBC is a Java API for executing SQL statements (As a point of interest, JDBC is a trademarked name and is not an acronym; nevertheless, JDBC is often thought of as standing for "Java Database Connectivity"). It consists of a set of classes and interfaces written in the Java programming language. JDBC provides a standard API for tool/database developers and makes it possible to write database applications using a pure Java API. Using JDBC, it is easy to send SQL statements to virtually any relational database. In other words, with the JDBC API, it isn't necessary to write one program 6

to access a Sybase database, another program to access an Oracle database, another program to access an Informix database, and so on. One can write a single program using the JDBC API, and the program will be able to send SQL statements to the appropriate database. And, with an application written in the Java programming language, one also doesn't have to worry about writing different applications to run on different platforms. The combination of Java and JDBC lets a programmer write it once and run it anywhere. Java being robust, secure, easy to use, easy to understand, and automatically downloadable on a network, is an excellent language basis for database applications. What is needed is a way for Java applications to talk to a variety of different databases. JDBC is the mechanism for doing this. JDBC extends what can be done in Java. For example, with Java and the JDBC API, it is possible to publish a web page containing an applet that uses information obtained from a remote database. Or an enterprise can use JDBC to connect all its employees (even if they are using a conglomeration of Windows, Macintosh, and UNIX machines) to one or more internal databases via an intranet. With more and more programmers using the Java programming language, the need for easy database access from Java is continuing to grow. MIS managers like the combination of Java and JDBC because it makes disseminating information easy and economical. Businesses can continue to use their installed databases and access information easily even if it is stored on different database management systems. Development time for new applications is short. Installation and version control are greatly simplified. A programmer can write an application or an update once, put it on the server, and everybody has access to the latest version. And for businesses selling information services, Java and JDBC offer a better way of getting out information updates to external customers. JDBC does the following things: Establish a connection with a database Send SQL statements Process the results. The following code fragment gives a basic example of these three steps: 7

Class.forName (oracle.jdbc.driver.OracleDriver); Connectioncon=DriverManager.getConnection(jdbc:oracle:thin:@192.168.0.2:15 21:tit,scott,tiger); Statement stmt=con.createStatement (); 2.2.1 Connection A connection object represents a connection with a database. A connection session includes the SQL statements that are executed and the results that are returned over the connection. A single application can have one or more connections with a single database, or it can have connections with many different databases. 2.2.2 Opening A Connection The standard way to establish a connection with a database is to call the method DriverManager.getConnection. This method takes a string containing a URL. The Driver Manager class, referred to a the JDBC management layer, attempts to locate a driver than can connect to the database represented driver classes, and when the method get Connection is called, it checks with each driver in the list until it finds one that can connect uses this URL to actually establish the connection. The standard syntax for JDBC URLs is: Jdbc: < sub protocol>: < sub name> A JDBC URL has three parts, which are separated by colons: jdbc-the protocol. The protocol in a JDBC URL is always jdbc. <Sub protocol>-usually the driver or the database connectivity mechanism, which may be supported by one or more drivers. A prominent example of a sub protocol name is oracle, which has been reserved for URLs that specify thin-style data source names. <Sub name>- a way to identify the database. The sub names can vary, depending on the sub protocol, and it can have a sub name with any internal syntax the driver writer chooses. The point of a sub name is to give enough information to locate the database. 8

2.2.3 Sending Statement Once a connection is established, it is used to pass SQL statements to its underlying database. JDBC does not put any restrictions on the kinds of SQL statements that can be sent; this provides a great deal of flexibility, allowing the use of database-specific statements or even non-SQL statements. It requires, however, that the user be responsible for making sure that the underlying database can process the SQL statements being sent and suffer the consequences if it cannot. 2.2.4 Driver Manager The Driver Manager class is the management layer of JDBC, working between the user and the drivers. It keeps track of the drivers that are available and handles establishing a connection between a database and the appropriate driver. In addition, the driver manager class attends to things like driver login time limits and the printing of log and tracing messages. The only method in this class that a general programmer needs to use directly is DriverManager.getConnection. As its name implies, this method establishes a connection to a database. JDBC Is A Low-Level API & A Base For Higher-Level APIs JDBC is a "low-level" interface, which means that it is used to invoke (or "call") SQL commands directly. It works very well in this capacity and is easier to use than other database connectivity APIs, but it was designed also to be a base upon which to build higher-level interfaces and tools. A higher-level interface is "user-friendly," using a more understandable or more convenient API that is translated behind the scenes into a low-level interface such as JDBC. At the time of this writing, two kinds of higherlevel APIs are under development on top of JDBC: 1. An embedded SQL for Java. At least one vendor plans to build this. DBMSs implement SQL, a language designed specifically for use with databases. JDBC requires that the SQL statements be passed as Strings to Java methods. An embedded SQL preprocessor allows a programmer to instead mix SQL statements directly with Java: for example, a Java variable can be used in a 9

SQL statement to receive or provide SQL values. The embedded SQL preprocessor then translates this Java/SQL mix into Java with JDBC calls. 2. A direct mapping of relational database tables to Java classes. Javasoft and others have announced plans to implement this. In this "object/relational" mapping, each row of the table becomes an instance of that class, and each column value corresponds to an attribute of that instance. Programmers can then operate directly on Java objects; the required SQL calls to fetch and store data are automatically generated "beneath the covers." More sophisticated mappings are also provided, for example, where rows of multiple tables are combined in a Java class. As interest in JDBC has grown, more developers have been working on JDBC-based tools to make building programs easier, as well. Programmers have also been writing applications that make accessing a database easier for the end user. For example, an application might present a menu of database tasks from which to choose. After a task is selected, the application presents prompts and blanks for filling in information needed to carry out the selected task. With the requested input typed in, the application then automatically invokes the necessary SQL commands. With the help of such an application, users can perform database tasks even when they have little or no knowledge of SQL syntax. 2.2.5 JDBC Versus ODBC And Other APIs At this point, Microsoft's ODBC (Open Database Connectivity) API is probably the most widely used programming interface for accessing relational databases. It offers the ability to connect to almost all databases on almost all platforms. So why not just use ODBC from Java? The answer is that you can use ODBC from Java, but this is best done with the help of JDBC in the form of the JDBC-ODBC Bridge, which we will cover shortly. The question now becomes, "Why do you need JDBC?" There are several answers to this question: 1. ODBC is not appropriate for direct use from Java because it uses a C interface. Calls from Java to native C code have a number of drawbacks in the security, implementation, robustness, and automatic portability of applications.

10

2. A literal translation of the ODBC C API into a Java API would not be desirable. For example, Java has no pointers, and ODBC makes copious use of them, including the notoriously error-prone generic pointer "void *". You can think of JDBC as ODBC translated into an object-oriented interface that is natural for Java programmers. 3. ODBC is hard to learn. It mixes simple and advanced features together, and it has complex options even for simple queries. JDBC, on the other hand, was designed to keep simple things simple while allowing more advanced capabilities where required. 4. A Java API like JDBC is needed in order to enable a "pure Java" solution. When ODBC is used, the ODBC driver manager and drivers must be manually installed on every client machine. When the JDBC driver is written completely in Java, however, JDBC code is automatically installable, portable, and secure on all Java platforms from network computers to mainframes.

In summary, the JDBC API is a natural Java interface to the basic SQL abstractions and concepts. It builds on ODBC rather than starting from scratch, so programmers familiar with ODBC will find it very easy to learn JDBC. JDBC retains the basic design features of ODBC; in fact, both interfaces are based on the X/Open SQL CLI (Call Level Interface). The big difference is that JDBC builds on and reinforces the style and virtues of Java, and, of course, it is easy to use. More recently, Microsoft has introduced new APIs beyond ODBC: RDO, ADO, and OLE DB. These designs move in the same direction as JDBC in many ways, that is, in being an objectoriented database interface based on classes that can be implemented on ODBC. However, we did not see compelling functionality in any of these interfaces to make them an alternative basis to ODBC, especially with the ODBC driver market well established. Mostly they represent a thin veneer on ODBC. This is not to say that JDBC does not need to evolve from the initial release; however, we feel that most new functionality belongs in higher- level APIs such as the object/relational mappings and embedded SQL mentioned in the previous section. 2.2.6 Two-Tier And Three-Tier Models The JDBC API supports both two-tier and three-tier models for database access. In the two-tier model, a Java applet or application talks directly to the database. This 11

requires a JDBC driver that can communicate with the particular database management system being accessed. A user's SQL statements are delivered to the database, and the results of those statements are sent back to the user. The database may be located on another machine to which the user is connected via a network. This is referred to as a client/server configuration, with the user's machine as the client, and the machine housing the database as the server. The network can be an intranet, which, for example, connects employees within a corporation, or it can be the Internet. In the three-tier model, commands are sent to a "middle tier" of services, which then send SQL statements to the database. The database processes the SQL statements and sends the results back to the middle tier, which then sends them to the user. MIS directors find the three-tier model very attractive because the middle tier makes it possible to maintain control over access and the kinds of updates that can be made to corporate data. Another advantage is that when there is a middle tier, the user can employ an easy-to-use higher-level API which is translated by the middle tier into the appropriate low-level calls. Finally, in many cases the three-tier architecture can provide performance changes

Until now the middle tier has typically been written in languages such as C or C++, which offer fast performance. However, with the introduction of optimizing compilers that translate Java byte code into efficient machine-specific code, it is becoming practical to implement the middle tier in Java. This is a big plus, making it possible to take advantage of Java's robustness, multithreading, and security features. JDBC is important to allow database access from a Java middle tier.

2.2.7 JDBC Driver Types


The JDBC drivers that we are aware of at this time fit into one of four categories: 1. JDBC-ODBC bridge plus ODBC driver The JavaSoft bridge product provides JDBC access via ODBC drivers. Note that ODBC binary code, and in many cases database client code, must be loaded on each client machine that uses this driver. As a result, this kind of driver is most appropriate on a corporate network where client installations are 12

not a major problem, or for application server code written in Java in a threetier architecture. 2. Native-API partly-Java driver This kind of driver converts JDBC calls into calls on the client API for Oracle, Sybase, Informix, DB2, or other DBMS. Note that, like the bridge driver, this style of driver requires that some binary code be loaded on each client machine. 3. JDBC-Net pure Java driver This driver translates JDBC calls into a DBMS- independent net protocol, which is then translated to a DBMS protocol by a server. This net server middleware is able to connect its pure Java clients to many different databases. The specific protocol used depends on the vendor. In general, this is the most flexible JDBC alternative. It is likely that all vendors of this solution will provide products suitable for Intranet use. In order for these products to also support Internet access, they must handle the additional requirements for security, access through firewalls, and so on, that the Web imposes. Several vendors are adding JDBC drivers to their existing database middleware products. 4. Native-protocol pure 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 Intranet access. Since many of these protocols are proprietary, the database vendors themselves will be the primary source, and several database vendors have these in progress.

Eventually, we expect that driver categories 3 and 4 will be the preferred way to access databases from JDBC. Driver categories 1 and 2 are interim solutions where direct pure Java drivers are not yet available. There are possible variations on categories 1 and 2 (not shown in the table below) that require a connector, but these are generally less desirable solutions. Categories 3 and 4 offer all the advantages of Java, including automatic installation (for example, downloading the JDBC driver with an applet that uses it).

13

The following chart shows the four categories and their properties: DRIVER CATEGORY 1 JDBC-OCBC Bridge 2 Native API as basis 3 JDBC-Net 4 Native protocol as basis ALL JAVA? No No Yes Yes NET PROTOCOL Direct Direct Requires Connector Direct

2.2.8 Obtaining JDBC Drivers


At the time of this writing, there are dozens of drivers in Category 1: ODBC drivers that can be used with Javasoft's bridge. There are currently about a dozen Category 2 drivers built on top of native APIs for DBMSs. There are a few Category 3 drivers. Currently there are at least two Category 4 drivers, but by the end of 1997, we expect that there will be Category 4 drivers for all of the major DBMSs. To get the latest information on drivers, check the JDBC web page at http:// java.sun.com/products/jdbc. The first vendors with Category 3 drivers available were SCO, Open Horizon, Visigenic, and WebLogic. JavaSoft and Intersolv, a leading database connectivity vendor, worked together to produce the JDBC-ODBC Bridge and the JDBC Driver Test Suite

2.3 JAVA Server Pages (JSPs)


Java server Pages is a simple but powerful technology used to generate dynamic web pages on the server side. JSPs are direct extension of java servlets and provide a way to separate content generation from content presentation.

2.3.1 Features Of JSP Portability


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

14

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

Processing
A Java Server Pages file is essentially an HTML document with JSP scripting or tags. The Java Server Pages file has a JSP extension to the server as a Java Server Pages file. Before the page is served, the Java Server Pages syntax is parsed and processed into a servlet on the server side. The servlet that is generated outputs real content in straight HTML for responding to the client. JSP 2.0 The new version of the JSP specification includes new features meant to improve programmer productivity. Namely:

A faster/easier way to display parameter values. A clearer way to navigate nested beans

2.3.2 Life Cycle of A JSP JSP life cycle is described by 3- life cycle methods and 6- lifecycle phases. jspInit() jspDestroy() _jspService(request, response). 1. Life Cycle Phases Of A JSP Translation Phase. Compilation Phase. Installation phase. Initialization Phase. Servicing Phase. Destruction Phase. 15

2.3.3 Java and Internet The Internet helped catapult Java to the forefront of programming and Java in turn has had a profound effect on the Internet. The reason is simple: Java expands the universe of objects that can move about freely in cyberspace. In a network, there are two broad categories of objects transmitted between the Server and your Personal Computer: passive information and dynamic, active programs like an object that can be transmitted to your computer, which is a dynamic, self-executing program. Such a program would be an active agent to the client computer, yet the server would initiate it. As desirable as dynamic, networked programs are, they also present serious problems in the areas of security and portability. Prior to Java cyberspace was effectively closed to half the entities that now live there. Java addresses these concerns and doing so, has opened the door to an exiting a new form of program. The rise of server-side Java applications is one of the latest and most exciting trends in Java programming. It was first hyped as a language for developing elaborate client-side web content in the form of applets. Now, Java is coming into its own as a language ideally suited for server-side development. Businesses in particular have been quick to recognize Javas potential on the server-Java is inherently suited for large client/server applications. The cross platform nature of Java is extremely useful for organizations that have a heterogeneous collection of servers running various flavors of the Unix of Windows operating systems. Javas modern, object-oriented, memory-protected design allows developers to cut development cycles and increase reliability. In addition, Javas built-in support for networking and enterprise API provides access to legacy data, easing the transition from older client/server systems. Java Servlets are a key component of server-side java development. A Servlet is a small pluggable extension to a server that enhances the servers functionality. Servlets allow developers to extend and customize and Java enabled server a web server, a mail server, an application server, or any custom server with a hitherto unknown degree of portability, flexibility and ease.

16

2.4 Internet Terminology 2.4.1 Internet The Internet is a worldwide network of computer networks. People use the Internet to send electronic mail, participate in discussion forums, search authority that controls or regulates the Internet Currently there are more than 30 million people use the Internet and the number is growing at a rate of one million new users per month. 2.4.2 Intranet An internal network owned and managed by a company or organization uses the same kinds of software that you would use to explore the Internet, but only for internal use. An Internet enables a company to share its resources with it employees without confidential information being made available to everyone with Internet access. 2.4.3 Web Browser A web browser is a program run on a client workstation used to navigate the World Wide Web (WWW). 2.4.4 World Wide Web(WWW) WWW is a collection of resources (make up of Hypertext, graphics, sound files, etc) located on globally networked web/internet servers that can be accessed on the Internet by using HTTP, FTP, Telnet, Gopher and some other tools. 2.4.5 TCP-IP This is the suite of protocols that defines the Internet. It is originally designed for the Unix Operating system. TCP/IP software is now available for every major kind of computer operating system. TCP/IP stacks is required for computers want to access the Internet.

17

Uniform Resource Locator (URL) The standard way to give the address of any resource on the Internet that is part of the World Wide Web (WWW). A URL looks like this. The most common way to use a URL is to enter into a WWW browser program, such as Internet Explorer. 2.5 ORACLE 10g Server 2.5.1 Introduction to Oracle Any programming environment used to create containers, to manage human data, in the conceptualization as a Data Management System. Traditionally, the block of human data being managed is called a Database. Hence, in very simple terms, these programming environments can the conceptualized as Database Management Systems, in short DBM systems. All Databases Management Systems (that is, Oracle is DBMS) allow users to create containers for data stories and management. These containers are called cells. The minimum information that has to be given to Oracle for a suitable container to be constructed, which can hold free from human data, is: The cell name The cell length

Another name that the programming environments use for a Cell is Field. These can the conceptualized as follows: 2.5.2 Basic Database Concepts A database is a corporate collection of data with some inherent meaning, designed, built and populated with data for a specific purpose. A database stores data that is useful to us. This data is only a part of the entire data available in the world around us. To be able to successfully design and maintain databases we have to do the following:

18

Identify which part of the worlds data is of interest to us. Identify what specific objects in that part of the worlds data are of interest to us.

Identify a relationship between the objects. Hence the objects, their attributes and the relationship between them that are

of interest to us are still owed in the database that is designed, built and populated with data for a specific purpose. 2.5.3 Characteristics of a Database Management System It represents a complex relationship between data. Keeps a tight control of debtor redundancy. Enforces user-defined rules to ensure integrity of table data. Has a centralized data dictionary for the storage of information pertaining to data and its manipulation. Ensures that data can be shared across applications. Enforces data access authorization has automatic, intelligent backup and recovery procedures for data. Have different interfaces via which users can manipulate data.

2.5.3.1 Relational Database Management A relational database management system uses only its relational capabilities to manage the information stored in its databases.

19

2.5.3.2 Information Representation All information stored in a relational database is represented only by data item values, which are stored in the tables that make up the database. Associations between data items are not logically represented in any other way, such as the use of pointers from one table to the other. 2.5.3.3 Logical accessibility Every data item value stored in relational database is accessible by stating the nature of the table it is stored in, the name of the column under which it is stored and the value of the primary key that defines the row in which it is stored. 2.5.3.4 Representation of null values The database management system has a consistent method for representing null values. For example, null values for numeric data must be distinct from zero or any other numeric and for the character data it must be different from a string of blanks or any other character value. 2.5.3.5 Catalogue facilities The logical description of the relation database is represented in the same manner as ordinary data. This is done so that the facilities of the relation database management system itself can be used to maintain database description. 2.5.3.6 Data Language The relational database management system may support many types of languages for describing data and accessing the database. However, there must be at least one language that uses ordinary character strings to support the definition of data, the definition of views, the manipulation of data, constraints on data integrity, information concerning authorization and the boundaries for recovery of units.

20

2.5.3.7 View Updatability Any view that can be defined using combination of basic tables, that are theoretically up-dateable, these capital of being updated by the relational database management system. 2.5.3.8 Insert, Update and Delete Any operand that describes the results of a single retrieval operation is capable of being applied to an insert update or delete operation as well. 2.5.3.9 Physical data independence Changes made to physical storage representation or access methods do not require changes to be made to application programmers. 2.5.3.10 Logical Data Independence Changes made to tables, that do not modify any data stored in that table, do not require changes to be made to application programmers. 2.5.3.11 Integrity Constraints Constraints that apply to entity integrity and referential integrity are specifiable by the data language implemented by the database management system and not by the statements coded into the application program. 2.5.3.12 Database Distribution The data language implemented by the relation database management system supports the ability to distribute the database without requiring changes to be made to application programmers. This facility must be provided in the data language, whether or not the database management system itself supports distributed databases. 2.5.3.13 Non- Subversion If the relational database management system supports facilities that allow application programmers to operate on the tables a row at a time, an application programmer 21

using this type access is prevented from by passing entity integrity or referential integrity constraints that are defined for the database.

2.6 HTML
HTML (Hypertext Markup Language) is a computer language used to build web pages. It is a language used to create hypertext documents that have hyperlinks embedded in them. It is basically a formatting language and not a programming language. Hyperlinks are underlined or emphasized words of locations in a screen that lead to other documents. WWW is a global, interactive, dynamic, cross-platform, distributed, graphical hypertext information system. HTML is Platform Independent If you can access Internet, you can access WWW. Whatever may be your operating system, whatever may be the operating system of the web server you are accessing, all you require is a browser and a connection to the internet to get connected to WWW and download and view the HTML files. Hyper Text Markup Language (HTML) HTML is the language for describing structured documents HTML describes the structure of documents-lists, headings, paragraphs etc. Elements of Web document are leveled through the usage of HTML tags. It is the tags that describe the documents. Anything that is not a tag is part of the document itself. Advantages

HTML document is small and hence easy to send over the net. It does not include format information and so it is not big in size. HTML documents are cross platform compatible and device independent. Only HTML readable is required. Font names, locations etc., are not required. Currently the standard fully supported HTML is 4.0. HTML 5.0 is in offing.

2.7 Existing System


The system which was followed earlier was the manual work i.e., updating the records using paper, which involved a huge amount of paper work, human power, and vastly 22

time consuming. Apart from this the data entered was highly inconsistent due to several reasons.

2.8 Disadvantages of Existing System


Large amount of man power required. Highly time consuming. Scope of errors was more. Inconsistency of data. Very slow updating of data.

2.9 Proposed System


In order to overcome the above drawbacks with the existing system, there is need to develop a system which is efficient, reliable, consistent, consuming less amount of time, accurate, user friendly, easy to access and fast and should be accommodate for further expansions.

2.10 Advantages of Proposed System


Easily accessible. Reliable. Consistent. Highly Efficient. Decrease in the usage of human power

23

3. ANALYSIS
3.1 Introduction
The system mainly deals with the automation of the activities performed at Andhra Pradesh State Finance Corporation (APSFC), which issued various kinds of loans to their customers and accepts monthly installments from them. The main aim/objective is to develop an effective system, which is fast, accurate, consistent, and flexible enough so that it can accommodate further expansion.

3.2 Software Requirement Specification


3.2.1 Functional Requirements Master tables should be maintained. Master tables are nothing but the details about the employees working in the organization. For different types of loans the interest rates should be maintain in the master tables. After registering the customer loan should be sanction according to his requirements and eligibility. Details of particular loan should be gather such as loan number, customer number, loan code, amount interest and number of months, monthly installment and date of sanction. When the industries pays loan installment, details of loan number, payment id, amount and date of payment should be retrieve and update the records. Simply by choosing the appropriate menus such as Employee details report,
Customer details report, Loans detail report, Interest report, Customer-loan details report & Payment details report should be display.

The system security should provide by a login form, which has to allow only
authorized users to utilize the system.

3.2.2 Non-Functional Requirements


i. Secures access of confidential data (users details).SSL can be used ii. 24 7 availability Start working on a test-plan for the entire system. 24

This test-plan can be updated as and when new scenarios come to mind.

3.2.3 Software And Hardware Requirements


APSFC is a network-based application. When we talk about hardware and software, we have to mention requirements on both the Client and Server part.

Internet connection with 33.6 KBPS Modem. Pentium 233MHz. 42 GB HD, 256 MB RAM (Server). Any P.C with Windows/Unix compatibility, 12 MB RAM (Client). JDK 1.4.1, Web Server, running on any platform. JDBC/ODBC drivers installed. Servlets 2.0 and JSP Functional Java enabled browser. Data Base (Oracle 8i). Operating System (Windows/Unix/Linux). Rational Rose98.

25

3.3 Flowcharts
3.3.1 Online Transaction Processing
TEXT LEVEL DFD ONLINE TRANSACTION PROCESSING
Industries

Take loans a pay installments

Take loans a pay


ONLINE installments TRANSACTION MANAGEMENT

Data In / Out

Records

26

LEVEL 1 DFD

Customer

Register the customer & Gather other master information

Records

Sanction of loans to the Industries according to eligibility

Payment of loan installment amount

Records

Report generation & security

27

3.3.2 Loans Management DFD

LEVEL 2 DFD LOANS MANAGEMENT

Customer

Gives his details

Registering the Customer & sanctioning the loan amount

Customer-loan details

Payment of installment amount Loan-master details

Payment details

28

3.3.3 Flow Chart For Masters Information Module

Flow Chart For Masters Information Module

BEGIN

Input Customer/ Loans/ Interest Information

NO

Whether Information is Valid?

Store / update customer/ Loans/ interest details In the appropriate tables

Input Customer/loans/ Interest Information for Modification if required

END

29

3.3.4 Flow Chart For Loans Management Module

BEGIN

Input details of Patient & date of appointment

Check the eligibility Conditions, loan & Interest calculations Is the customer Eligible for loan ?

NO

YES

Sanction the loan amount of the customer and store/update the appropriate tables

Input details of Loan installment Payment Store / update the Payment details in the Appropriate tables END

30

3.3.5 Flow Chart For Report Generation Module


Flow Chart For Report Generation Module

BEGIN

Select The Report from the Menu

Input The Required Information If Any In The Report Calling Form

Whether Information is valid?

NO

YES

Query The Database According To The Required Columns And Retrieve The Information

Display / Print The Information In Required Format

END

31

DESIGN
4.1 Introduction
4.1.1 Code design The code design should be such that with less amount of code, the results can be achieved more easily. The speed of the system will be more if the coding is less. Whether the data in the system is unusable and readable by the system is depending on the code. 4.1.2 Data Flow Diagrams The data flow diagram is a graphical representation that depicts information flow and the transforms that are applied as data move from input to output. A data flow diagram may be used to represent a system or software at any level of abstraction. DFDs can be partitioned into levels that represent increasing information flow and functional details. A level 0 DFD also called as fundamental system model or a context model represents the entire software element as a single bubble with input and output data indicated by incoming and outgoing arrows respectively. Each of the process required at level 1 is a sub-function of the overall system depicted in a context model 4.1.3 Data Flow Diagram Symbols

- Source or destination of data - Data Flow

-Process

-Storage

32

4.2 Introduction To UML


The unified modeling language(UML) is recommended as a standard for designing the system. UML is a graphical language for visualizing, specifying, constructing and documenting the artifacts of a software system. It simplifies the complex process of software design, making a blueprint for construction. UML is a collection of variety of diagrams used for different purpose. Each type of diagram models a particular aspect of object-oriented design in an easy way to understand and visualize. The UML standard specifies exactly how the diagrams are to be drawn and what each component in the diagram means. There are UML diagrams for modeling static class relationships, dynamic temporal interactions between objects, the usage of objects, the particular of an implementation and state transition of system. 4.2.1 Class Diagram A class diagram shows the set of classes, interfaces, collaborations and their relationships. Class diagrams are the most common diagrams found in modeling the object oriented system. Use class diagrams to illustrate the static design view of a system. Class diagrams that include active classes are used to address the static process view of a system. 4.2.2 Interaction Diagrams Interaction diagrams show an interaction, consisting of set of objects and their relationships including the messages dispatched between them. They are used to model the flow of control of a use case. The two types of interaction diagrams are: Sequence diagram Collaboration diagram

4.2.3 Sequence Diagram Sequence diagrams emphasize on the time ordering of messages, which sends and receives the messages among objects.

33

4.2.4 Collaboration Diagram A collaboration diagram emphasizes the structural organization of the objects, which send and receives the messages among objects.

4.3 UML Diagrams 4.3.1 USE -CASE Diagram

pay ment

v iew loans

interest report

customer

apply ing loan

password change

retistration

customer loan

pay ment details

employ ee

employ ee details Loan Management

34

4.3.2 Class Diagram

DataStore GUIComponent

InputScreen

Menu

Report loan Customer Details Employee Details Customer Loan

DataManipulator

PwdValidator

Interest Calculator

Regn.Validator

Payment

Application Validator

35

4.3.3 Sequence Diagram For Customer Module

: customer : Menu choose

: loan

: InputScreen Application : Customer : Interest : Validator Loan Calculator

: Report

: Payment

view loans fill details

display

choose

forward details validate store

choose

view payment details

forward details calculate display

choose pay installment ack

36

4.3.4 Sequence Diagram For Employee Module

: employee

: Menu

: InputScreen : Customer Loan

: Interest Calculator

: Employee Details

: Customer Details

: Report

choose cust id loan details calculate

display

choose

emp id display

choose

cust id display

37

4.3.5 E-R Diagram

Int_Code INTEREST

Int_Rate

LN_Code Pmt_ID has Ln_No Cust_No Ln_Code No_Code

Int_Code
CUSTOMER LOAN

PAYMENT
Pmt_Amt

has

Is of

LOAN MASTER

Tot_Amt No of Mon LN_Desc Ln_Amt for

Pmt_Date

Cust_Code
Cont_Person

Ann_Turnove r

CUSTOMER Organizatio n
Designation Phone

Address

38

4.4 Database Design


Databases are normally implemented by using a package called a Data Base Management System (DBMS). Each particular DBMS has somewhat unique

characteristics, and so such, general techniques for the design of database are limited. One of the most useful methods of analyzing the data required by the system for the data dictionary has developed from research into relational database, particularly the work of E.F.Codd. This method of analyzing data is called Normalization. Unnormalized data are converted into normalized data by three stages. Each stage has a procedure to follow:Normalization The first stage is normalization is to reduce the data to its first normal form, by removing repeating items showing them as separate records but including in them the key fields of the original record. The next stage of reduction to the second normal form is to check that the record, which one is first normal form, all the items in each record are entirely dependent on the key of the record. If a data item is not dependent on the key of the record, but on the other data item, then it is removed with its key to form another record. This is done until each record contains data items, which are entirely

dependent on the key of their record. The final stage of the analysis, the reduction of third normal form involves examining each record, which one is in second normal form to see whether any items are mutually dependent. If there are any item there are removed to a separate record leaving one of the items behind in the original record and using that as the key in the newly created record. Business Modeling The information flow among business function is modeled in a way that answers the following questions: what information drives the business process? What information is generated? What generate it? Where does the information go? Who process it?

39

Data Modeling The information flow defined as a process of the business modeling is refined into a set of data objects that are needed to support the business. The characteristics (called attributes) of each object are identified and relationships between these objects are defined. Process Modeling The data objects defined in the data-modeling phase are transformed to achieve the information flow necessary to implement a business function. Processing description is created for addition, modifying, deleting, or retrieving a data object. 4.4.1 Database Tables

1) Customer Details

NAME OF FIELD CNAME CODE ONAME CSCALE CINCOME ADDRESS PHONE ZIP

DATA TYPE VARCHAR(30) VARCHAR(5) VARCHAR(30) VARCHAR(15) NUMBER (12) VARCHAR(15) VARCHAR(11) NUMBER (7)

DESCRIPTION Customer Name Customer Code Organization name Designation Monthly sales Address Phone number Zip code

PRIMARY KEY (CODE)

40

2) Customer Loan NAME OF FIELD LOANNO CCODE LCODE ICODE IAMOUNT MONTHS PAMENT DATE TOTAL DATA TYPE VARCHAR (6) VARCHAR (5) VARCHAR(5) VARCHAR (5) NUMBER (15) NUMBER (3) NUMBER (6) DATE NUMBER (15) DESCRIPTION Loan number Customer number Loan code Interest code loan amount Number of months Monthly payment Loan date Total amount

PRIMARY KEY (LOANNO) FOREIGN KEY (CCODE) FOREIGN KEY (LCODE) FOREIGN KEY (ICODE)

41

3) Employee Details

NAME OF FIELD ENO ENAME DES SAL ADDR PHN

DATA TYPE VARCHAR(5) VARCHAR(30) VARCHAR(15) NUMBER (15) VARCHAR(20) NUMBER (11)

DESCRIPTION Employee number Employee name Designation Salary Address Phone number

PRIMARY KEY (ENO)

4) Interest Details

NAME OF FIELD IGROUP ICODE IRATE

DATA TYPE VARCHAR(15) VARCHAR(5) NUMBER(4,2)

DESCRIPTION Interest Group Interest Code Interest Rate

PRIMARY KEY (ICODE)

42

5) Loan Details NAME OF FIELD LOANCODE DES DATE TYPE VARCHAR (4) VARCHAR (30) DESCRIPTION Loan code Loan description

PRIMARY KEY (LOANCODE) 6) Login

NAME OF FIELD USERNAME PASSWORD

DATA TYPE VARCHAR (20) VARCHAR(10)

DESCRIPTION User Identification User Password

7) PaymentDetails

NAME OF FIELD PID LOANNO PAMOUNT PDATE RECEIVEDBY

DATA TYPE VARCHAR(20) VARCHAR (5) NUMBER (10) DATE VARCHAR(5)

DESCRIPTION Payment id Loan number Payment amount Date of payment Received By

PRIMARY KEY (PMT_ID) FOREIGN KEY (LN_NO), REFERENCE TABLE APSFC_CUST_LOAN (LN_NO). FOREIGN KEY(RECD_BY)REFERENCE TABLE APSFC_EMP(EMP_NO) 43

The Linear Sequential Model The linear sequential model for software engineering sometimes called the classic model or the water fall model, the linear sequential suggests a systematic, sequential approach to software development that begins at eth system level and process through analysis, design, coding, testing, and maintenance. The linear sequential model is the oldest and the most widely used paradigm for software engineering. Modeled after the conventional engineering cycle, the linear sequential model encompasses the following activities: 1) System/Information Engineering And Modelling Because software is always part of a larger system (or business), work begins by establishing requirements for all system elements and then allocating some subset of these requirements to software. This system view is essential when software must interface with other elements such as hardware, people, and databases. System engineering and analysis encompasses requirements gathering at the system level with a small amount of top-level analysis and design. Information engineering encompasses requirements gathering at the strategic business level and at the strategic business level and at the business area level . 2) Software Requirements Analysis The requirements gathering process is intensified and focused specifically on software. To understand the nature of the programs to be built, the software Engineer must understand the information domain for the software, as well as required function, behavior, performance, and inter facing. Requirements for the both the system and the software are documented and reviewed with the customer. 3) Design Software design is actually a multi step process that focuses on four distinct attributes of a program: data structure, software architecture, interface representations, and procedural detail. 44 The design process translates

requirements into a representation of the software that can be assessed for quality before code generation begins. Like requirements the design is documented and becomes part of the software configuration. 4) Code Generation The design must be translated into a machine-readable form. generation step performs this task. The code

If design is performed in a detailed

manner, code generation can be accomplished mechanistically.

5) Testing
Once code has been generated, program testing process focuses on the logical internals of the software, assuring that all statements have been tested, and on the functional externals that is, conducting tests to uncover errors and ensure that defined input will produce actual results that agree with required results. 6) Maintenance Software will undoubtedly undergo change after it is delivered to the customer. Change will occur because errors have been encountered, because the software must be adapted to accommodate changes in its external environment (e.g., a change required because of a new operating system or peripheral devices), or because the customer requires functional or performance enhancement. Software maintenance reapplies each of the

preceding phases to an existing program rather than a new one.

45

4.5 Module Design 1. Employee Module


Employee is the person who is working for the APSFC. An employee can be stated as a mediator between the customers and the organization. The main functionality of the employee is to collect the required information from the customers and store them in the master tables. Employee also collects the loans from the customers, and stores the related details in the master tables. The details about an employee are also stored in the master tables. 2. Customer Module Customer module is the most important module of the project. Customer approaches the organization for the loans and pays back the installments along with the interest. The data related to the customer i.e., customer name, customer no, loan no, loan type, interest rates and personal information are captured in the master tables. The data of the customer is stored by the employee into the master tables. These master tables and the loan related data is taken care by the loan master. 3. Loan Master Loan master is the one who has the permission to access the master tables, and also takes care of all the loan sanctions and repayments of the loans. Loan master. Loan master is capable of modifying the master tables.

46

5. IMPLEMENTATION AND RESULTS


5.1 Introduction
Implementation is the process of having systems personnel check out and put new equipment into use, train users, install the new app Depending on the size of the organization that will be involved in using the application and the risk associated with its use, systems developers may choose to test the operation in only one area of the firm, say in one department or with only one or two persons. Sometimes they will run the old and new systems together to compare the results. In still other situation, developers will stop using the old system one-day and begin using the new one the next. As we will see, each implementation strategy has its merits, depending on the business situation in which it is considered. Regardless of the implementation strategy used, developers strive to ensure that the systems initial use in trouble-free. Once installed, applications are often used for many years. However, both the organization and the users will change, and the environment will be different over weeks and months. Therefore, the application will undoubtedly have to be maintained; modifications and changes will be made to the software, files, or procedures to meet emerging user requirements. Since organization systems and the business environment undergo continual change, the information systems should keep pace. In this sense, implementation is ongoing process.

Evaluation of the system is performed to identify its strengths and weakness. The actual evaluation can occur along any of the following dimensions.

Operational Evaluation Assessment of the manner in which the system functions, including ease of use, response time, suitability of information formats, overall reliability, and level of utilization.

47

Organization Impact Identification and measurement of benefits to the organization in such areas as financial concerns, operational efficiency, and competitive impact. Includes impact on internal and external information flows. User Manager Assessment Evaluation of the attitudes of senior and user mangers within the organization, as well as end-users.

Development Performance Evaluation of the development process in accordance with such yardsticks as overall development time and effort, conformance to budgets and standards, and other project management criteria. Includes assessment of development methods and tools. Unfortunately system evaluation does not always receive the attention it merits. Where properly managed however, it provides a great deal of information that can improve the effectiveness of subsequent application efforts.

48

5.2 METHOD OF IMPLEMENTATION


5.2.1 Code For Login Terminal <%@ page import="java.sql.*,java.io.*"%> <% String user=request.getParameter("username"); String pass=request.getParameter("userpassword"); %> <% Connection con=null;

Statement st=null; ResultSet rs=null; try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") con=DriverManager.getConnection("jdbc:odbc:apsfc","apsfc","apsfc"); String cmd="Select * from login where username='"+user+"' and

password='"+pass+"'"; st=con.createStatement(); rs=st.executeQuery(cmd); if(rs.next()) } if(rs.getString(2).equals(pass)) { response.sendRedirect("menu.html"); out.println("login success"); 49

} } else { response.sendRedirect("wrong.html"); out.println("wrong pass word"); } } catch(Exception e) { out.println("error ocuuree"); } %>

50

5.2.2 Code For Employee Details Terminal <%@ page import="java.sql.*;"%> <% String empnum=request.getParameter("user_eno"); String emplyename=request.getParameter("user_ename"); String desig=request.getParameter("user_designation"); String salr=request.getParameter("user_monthlysalary"); String addr=request.getParameter("user_address"); String phn=request.getParameter("user_phoneno");

%> <% Connection con=null;

PreparedStatement st=null; Statement sst=null; ResultSet rs=null; try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); con=DriverManager.getConnection("jdbc:odbc:apsfc","apsfc","apsfc"); String cmd="INSERT INTO EMPLOYEEDETAILS VALUES(?,?,?,?,?,?)"; st=con.prepareStatement(cmd); st.setString(1,empnum); st.setString(2,emplyename); st.setString(3,desig); st.setString(4,salr); st.setString(5,addr); st.setString(6,phn); st.execute(); if(st!=null) { out.println("<br><br><br><br><br><h1>Information entered Successfully</h1>");

} 51

} catch(Exception e) { out.println("<br><br><br><br><br>Error Occured while Processing Your Transaction"); }

%>

52

5.2.3 Code For Employee Details Report <%@ page import="java.sql.*" %> <%@ page import="java.io.*" %> <html> <% String loanno=request.getParameter("a");

%> <head> <title>display data</title> </head> <body bgcolor="#4F2F4F">

<%

try { Connection con = null; Statement statement = null; ResultSet rs = null; Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); con=DriverManager.getConnection("jdbc:odbc:apsfc","apsfc","apsfc"); statement = con.createStatement(); String QueryString = "Select * from employeedetails"; rs = statement.executeQuery(QueryString); %> <center> <fieldset style="BORDER-RIGHT: 000000 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: 000000 1px solid; PADDING-LEFT: 0px; PADDING-BOTTOM: 3px; BORDER-LEFT: 000000 1px solid; WIDTH: 400px; PADDING-TOP: 0px; BORDER-BOTTOM: 000000 1px solid; HEIGHT: 300px"> <legend style="color: #000033; font-family:verdena; font-size: 16pt;"><b>EMPLOYEE REPORT</b></legend>

53

<TABLE cellpadding="7" border="0" align=center width="30%"> <tr><td colspan=4 align="center"></td></tr> <td align="center"><font size="4" color="#080000 " face="Arial"><b>Employee No</b></font></td> <td align="center"><font size="4" color="#080000 " face="Arial"><b>Employee Name</b></font></td> <td align="center"><font size="4" color="#080000 face="Arial"><b>Designation</b></font></td> <td align="center"><font size="4" color="#080000 " face="Arial"><b>Salary</b></font></td> <td align="center"><font size="4" color="#080000 " face="Arial"><b>Address</b></font></td> <td align="center"><font size="4" color="#080000 " face="Arial"><b>Phone No</b></font></td>

<% while (rs.next()) { %>

<TR bgcolor= "#8B668B"> <TD align="center"><font size="4" color="#080000 " face="Monotype Corsiva"><b><%=rs.getString(1)%></b></font></TD> <TD align="center"><font size="4" color="#080000 " face="Monotype Corsiva"><b><%=rs.getString(2)%></b></font></TD> <TD align="center"><font size="4" color="#080000 " face="Monotype Corsiva"><b><%=rs.getString(3)%></b></font></TD> <TD align="center"><font size="4" color="#080000 " face="Monotype Corsiva"><b><%=rs.getString(4)%></b></font></TD> <TD align="center"><font size="4" color="#080000 " face="Monotype Corsiva"><b><%=rs.getString(5)%></b></font></TD> <TD align="center"><font size="4" color="#080000 " face="Monotype Corsiva"><b><%=rs.getString(6)%></b></font></TD>

54

</TR> <% } %> <% rs.close(); statement.close(); con.close(); } catch (Exception ex) { %>

<% out.println("Unable to connect to database."); } %> </TABLE> </fieldset> </center> </body> </html>

55

5.3 Explanation Of Key Functions


5.3.1 Output Screens Login Page

Menu Page

56

Home Page

Administration Page

57

Employee Details

Loan Details

58

Customer Details

Interest Rates

59

Customer Loan

Payment Details

60

Transaction

Reports

61

Employee Report

Loan Report

62

Customer Report

Interest report

63

Customer Loan Report

Payment Report

64

About Us

Re-login

65

6. TESTING AND VALIDATION


6.1 Introduction
Software testing is a critical element of software quality assurance and represents the ultimate review of specification, designing and coding. Testing Objectives 1. Testing is process of executing a program with the intent of finding an error. 2. A good test case design is one that has a probability of finding an as yet undiscovered error. 3. A successful test is one that uncovers an as yet undiscovered error. These above objectives imply a dramatic change in view port. Testing cannot show the absence of defects, it can only show that software errors are present.

6.2 Design Of Test Cases And Scenarios


Any engineering product can be tested in one of two ways: 1. White Box Testing: This testing is also called as glass box testing. In this testing, by knowing the specified function that a product has been designed to perform test can be conducted that demonstrates each function is fully operation at the same time searching for errors in each function. It is a test case design method that uses the control structure of the procedural design to derive test cases. Basis path testing is a white box testing. a) Basis Path Testing i. ii. iii. iv. Flow graph notation Cyclomatic Complexity Deriving test cases Graph matrices

b) Control Structure Testing i. ii. iii. Condition testing Data flow testing Loop testing 66

2. Black Box Testing: In this testing by knowing the internal operation of a product, tests can be conducted to ensure that all gears mesh, that is the internal operation performs according to specification and all internal components have been adequately exercised. It fundamentally focuses on the functional requirements of the software. The steps involved in black box test case design are: i. ii. iii. iv. Graph based testing methods Equivalence partitioning Boundary value analysis Comparison testing

Software Testing Strategies A software testing strategy provides a road map for the software developer. Testing is a set of activities that can be planned in advance and conducted systematically. For this reason a template for software testing a set of steps into which we can place specific test case design methods should be defined for software engineering process. Any software testing strategy should have the following characteristics: 1. Testing begins at the module level and works outward toward the integration of the entire computer based system. 2. Different testing techniques are appropriate at different points in time. 3. The developer of the software and an independent test group conducts testing. 4. Testing and Debugging are different activities but debugging must be accommodated in any testing strategy. Unit Testing: Unit testing focuses verification efforts in smallest unit of software design (module). 1. Unit test considerations 2. Unit test procedures

67

Integration Testing: Integration testing is a systematic technique for constructing the program structure while conducting tests to uncover errors associated with interfacing. There are two types of integration testing: Top- Down Integration Top down integration is an incremental approach to construction of program structures. Modules are integrated by moving down wards throw the control hierarchy beginning with the main control module.

1. Bottom-Up Integration Bottom up integration as its name implies, begins construction and testing with automatic modules. 2. Regression Testing In this contest of an integration test strategy, regression testing is the re execution of some subset of test that have already been conducted to ensure that changes have not propagate unintended side effects. Validation Testing At the culmination of integration testing, software is completely assembled as a package; interfacing errors have been uncovered and corrected, and a final series of software tests validation testing may begin. Validation can be fined in many ways, but a simple definition is that validation succeeds when software functions in a manner that can be reasonably expected by the customer. Reasonable expectation is defined in the software requirement specification a document that describes all user-visible attributes of the software. The specification contains a section titled Validation Criteria. Information contained in that section forms the basis for a validation testing approach.

6.3 Validation
Software validation is achieved through a series of black-box tests that demonstrate conformity with requirement. A test plan outlines the classes of tests to 68

be conducted, and a test procedure defines specific test cases that will be used in an attempt to uncover errors in conformity with requirements. Both the plan and procedure are designed to ensure that all functional requirements are satisfied; all performance requirements are achieved; documentation is correct and humanengineered; and other requirements are met. After each validation test case has been conducted, one of two possible conditions exist: (1) The function or performance characteristics conform to specification and are accepted, or (2) a deviation from specification is uncovered and a deficiency list is created. Deviation or error discovered at this stage in a project can rarely be corrected prior to scheduled completion. It is often necessary to negotiate with the customer to establish a method for resolving deficiencies. Configuration Review An important element of the validation process is a configuration review. The intent of the review is to ensure that all elements of the software configuration have been properly developed, are catalogued, and have the necessary detail to support the maintenance phase of the software life cycle. The configuration review sometimes called an audit. Alpha and Beta Testing It is virtually impossible for a software developer to foresee how the customer will really use a program. Instructions for use may be misinterpreted; strange combination of data may be regularly used; and output that seemed clear to the tester may be unintelligible to a user in the field. When custom software is built for one customer, a series of acceptance tests are conducted to enable the customer to validate all requirements. Conducted by the end user rather than the system developer, an acceptance test can range from an informal test drive to a planned and systematically executed series of tests. In fact, acceptance testing can be conducted over a period of weeks or months, thereby uncovering cumulative errors that might degrade the system over time.

69

If software is developed as a product to be used by many customers, it is impractical to perform formal acceptance tests with each one. Most software product builders use a process called alpha and beta testing to uncover errors that only the end user seems able to find. A customer conducts the alpha test at the developers site. The software is used in a natural setting with the developer looking over the shoulder of the user and recording errors and usage problems. Alpha tests are conducted in controlled environment. The beta test is conducted at one or more customer sites by the end user of the software. Unlike alpha testing, the developer is generally not present. Therefore, the beta test is a live application of the software in an environment that cannot be controlled by the developer. The customer records all problems that are encountered during beta testing and reports these to the developer at regular intervals. As a result of problems reported during bets test, the software developer makes modification and then prepares for release of the software product to the entire customer base.

70

7. CONCLUSION
7.1 Project Conclusion
The system computerizes the working in APSFC. The system provides easy and effective storage of information related to a customer and also generates reports, for each and every customer activity carried out at APSFC. It provides the facility to store historical data. The project is designed in such a way that, it can be easily understood even by a new computer user. The designed project is accurate, efficient and time saving.

7.2 Future Enhancements


Repayment of loans installments is done by the Industries through cash, but in future payments through credit cards, automatic transfer of money from bank accounts, demand drafts etc., could be added to the existing system without much difficulty. The system does not handle the loan recovery form the defaulters who fail to pay the loan installments, which could be done in future expansions. Presently scrutiny of application forms and eligibility criteria for sanction of loans is done manually but it can be included in the system easily. Backup facility is not provided in the present system but in future it could be easily coupled with the present system. The system does not consider prepayment of loan amount by the customer and hence do not impose any surcharge for prepayment. But it could be added to the systems functional

71

8. REFERENCES

1) ORACLE 8i MASTERING CLIENT-SERVER CONCEPTS, Steven M. Bobrowski 2) SYSTEM ANALYSIS AND DESIGN, James A. Senn 3) JAVA COPLETE REFERENCE, Patrick Naughton 4) SOFTWARE ENGINEERING, Roger s. Pressman 5) J2EE 2nd EDITION, Wrox Press 6) URL: http://www.google.com , http://www.w3schools.com

72

73

S-ar putea să vă placă și