48) Online Loan Application
48) Online Loan Application
Abstract:
Existing System:
Proposed System:
1
Modules:
Users:
User should register with the application and can get login by
entering unique username and password. User can fill all the details in the loan
application. User can view the status of the loan in the loan status. Users can
download documents in the download documents field.
Admin:
Cibil:
Cibil can get login with a valid username and password. Cibil can
view all the details of users pan and can view score details.
Hard Disk - 20 GB
2
Operating System - Windows95/98/2000/XP
Database - My sql
Conclusion:
Software Environment
Java Technology
Java technology is both a programming language and a platform.
3
High performance
Interpreted
Multithreaded
Robust
Dynamic
Secure
With most programming languages, you either compile or interpret a program
so that you can run it on your computer. The Java programming language is unusual
in that a program is both compiled and interpreted. With the compiler, first you
translate a program into an intermediate language called Java byte codes —the
platform-independent codes interpreted by the interpreter on the Java platform. The
interpreter parses and runs each Java byte code instruction on the computer.
Compilation happens just once; interpretation occurs each time the program is
executed. The following figure illustrates how this works.
You can think of Java byte codes as the machine code instructions for the
Java Virtual Machine (Java VM). Every Java interpreter, whether it’s a development
tool or a Web browser that can run applets, is an implementation of the Java VM.
Java byte codes help make “write once, run anywhere” possible. You can compile
your program into byte codes on any platform that has a Java compiler. The byte
codes can then be run on any implementation of the Java VM. That means that as
long as a computer has a Java VM, the same program written in the Java
programming language can run on Windows 2000, a Solaris workstation, or on an
iMac.
4
The Java Platform
A platform is the hardware or software environment in which a
program runs. We’ve already mentioned some of the most popular platforms
like Windows 2000, Linux, Solaris, and MacOS. Most platforms can be
described as a combination of the operating system and hardware. The Java
platform differs from most other platforms in that it’s a software-only
platform that runs on top of other hardware-based platforms.
5
Native code is code that after you compile it, the compiled code runs
on a specific hardware platform. As a platform-independent environment, the
Java platform can be a bit slower than native code. However, smart
compilers, well-tuned interpreters, and just-in-time byte code compilers can
bring performance close to that of native code without threatening portability.
What Can Java Technology Do?
The most common types of programs written in the Java programming
language are applets and applications. If you’ve surfed the Web, you’re
probably already familiar with applets. An applet is a program that adheres to
certain conventions that allow it to run within a Java-enabled browser.
However, the Java programming language is not just for writing cute,
entertaining applets for the Web. The general-purpose, high-level Java
programming language is also a powerful software platform. Using the
generous API, you can write many types of programs.
An application is a standalone program that runs directly on the Java
platform. A special kind of application known as a server serves and supports
clients on a network. Examples of servers are Web servers, proxy servers,
mail servers, and print servers. Another specialized program is a servlet. A
servlet can almost be thought of as an applet that runs on the server side. Java
Servlets are a popular choice for building interactive web applications,
replacing the use of CGI scripts. Servlets are similar to applets in that they
are runtime extensions of applications. Instead of working in browsers,
though, servlets run within Java Web servers, configuring or tailoring the
server.
How does the API support all these kinds of programs? It does so with
packages of software components that provides a wide range of functionality.
Every full implementation of the Java platform gives you the following
features:
6
The essentials: Objects, strings, threads, numbers, input and output,
data structures, system properties, date and time, and so on.
Applets: The set of conventions used by applets.
Networking: URLs, TCP (Transmission Control Protocol), UDP
(User Data gram Protocol) sockets, and IP (Internet Protocol)
addresses.
Internationalization: Help for writing programs that can be localized
for users worldwide. Programs can automatically adapt to specific
locales and be displayed in the appropriate language.
Security: Both low level and high level, including electronic
signatures, public and private key management, access control, and
certificates.
Software components: Known as JavaBeansTM, can plug into existing
component architectures.
Object serialization: Allows lightweight persistence and
communication via Remote Method Invocation (RMI).
Java Database Connectivity (JDBCTM): Provides uniform access to
a wide range of relational databases.
The Java platform also has APIs for 2D and 3D graphics, accessibility,
servers, collaboration, telephony, speech, animation, and more. The following
figure depicts what is included in the Java 2 SDK.
7
How Will Java Technology Change My Life?
We can’t promise you fame, fortune, or even a job if you learn the Java
programming language. Still, it is likely to make your programs better and
requires less effort than other languages. We believe that Java technology
will help you do the following:
Get started quickly: Although the Java programming language is a
powerful object-oriented language, it’s easy to learn, especially for
programmers already familiar with C or C++.
Write less code: Comparisons of program metrics (class counts,
method counts, and so on) suggest that a program written in the Java
programming language can be four times smaller than the same
program in C++.
Write better code: The Java programming language encourages good
coding practices, and its garbage collection helps you avoid memory
leaks. Its object orientation, its JavaBeans component architecture,
and its wide-ranging, easily extendible API let you reuse other
people’s tested code and introduce fewer bugs.
Develop programs more quickly: Your development time may be as
much as twice as fast versus writing the same program in C++. Why?
You write fewer lines of code and it is a simpler programming
language than C++.
Avoid platform dependencies with 100% Pure Java: You can keep
your program portable by avoiding the use of libraries written in other
languages. The 100% Pure JavaTMProduct Certification Program has a
repository of historical process manuals, white papers, brochures, and
similar materials online.
Write once, run anywhere: Because 100% Pure Java programs are
compiled into machine-independent byte codes, they run consistently
on any Java platform.
Distribute software more easily: You can upgrade applets easily
from a central server. Applets take advantage of the feature of
allowing new classes to be loaded “on the fly,” without recompiling
the entire program.
8
ODBC
Microsoft Open Database Connectivity (ODBC) is a standard programming
interface for application developers and database systems providers. Before ODBC
became a de facto standard for Windows programs to interface with database
systems, programmers had to use proprietary languages for each database they
wanted to connect to. Now, ODBC has made the choice of the database system
almost irrelevant from a coding perspective, which is as it should be. Application
developers have much more important things to worry about than the syntax that is
needed to port their program from one database to another when business needs
suddenly change.
Through the ODBC Administrator in Control Panel, you can specify the
particular database that is associated with a data source that an ODBC application
program is written to use. Think of an ODBC data source as a door with a name on
it. Each door will lead you to a particular database. For example, the data source
named Sales Figures might be a SQL Server database, whereas the Accounts Payable
data source could refer to an Access database. The physical database referred to by a
data source can reside anywhere on the LAN.
The ODBC system files are not installed on your system by Windows 95.
Rather, they are installed when you setup a separate database application, such as
SQL Server Client or Visual Basic 4.0. When the ODBC icon is installed in Control
Panel, it uses a file called ODBCINST.DLL. It is also possible to administer your
ODBC data sources through a stand-alone program called ODBCADM.EXE.
9
to the ODBC application program. In a client/server environment, the ODBC API
even handles many of the network issues for the application programmer.
The advantages of this scheme are so numerous that you are probably
thinking there must be some catch. The only disadvantage of ODBC is that it isn’t as
efficient as talking directly to the native database interface. ODBC has had many
detractors make the charge that it is too slow. Microsoft has always claimed that the
critical factor in performance is the quality of the driver software that is used. In our
humble opinion, this is true. The availability of good ODBC drivers has improved a
great deal recently. And anyway, the criticism about performance is somewhat
analogous to those who said that compilers would never match the speed of pure
assembly language. Maybe not, but the compiler (or ODBC) gives you the
opportunity to write cleaner programs, which means you finish sooner. Meanwhile,
computers get faster every year.
JDBC
In an effort to set an independent database standard API for Java; Sun
Microsystems developed Java Database Connectivity, or JDBC. JDBC offers a
generic SQL database access mechanism that provides a consistent interface to a
variety of RDBMSs. This consistent interface is achieved through the use of “plug-
in” database connectivity modules, or drivers. If a database vendor wishes to have
JDBC support, he or she must provide the driver for each platform that the database
and Java run on.
To gain a wider acceptance of JDBC, Sun based JDBC’s framework on
ODBC. As you discovered earlier in this chapter, ODBC has widespread support on
a variety of platforms. Basing JDBC on ODBC will allow vendors to bring JDBC
drivers to market much faster than developing a completely new connectivity
solution.
JDBC was announced in March of 1996. It was released for a 90 day public
review that ended June 8, 1996. Because of user input, the final JDBC v1.0
specification was released soon after.
The remainder of this section will cover enough information about JDBC for you to
know what it is about and how to use it effectively. This is by no means a complete
overview of JDBC. That would fill an entire book.
10
JDBC Goals
Few software packages are designed without goals in mind. JDBC is one that,
because of its many goals, drove the development of the API. These goals, in
conjunction with early reviewer feedback, have finalized the JDBC class library into
a solid framework for building database applications in Java.
The goals that were set for JDBC are important. They will give you some insight
as to why certain classes and functionalities behave the way they do. The eight
design goals for JDBC are as follows:
2. SQL Conformance
SQL syntax varies as you move from database vendor to database vendor. In
an effort to support a wide variety of vendors, JDBC will allow any query
statement to be passed through it to the underlying database driver. This allows
the connectivity module to handle non-standard functionality in a manner that is
suitable for its users.
5. Keep it simple
11
This goal probably appears in all software design goal listings. JDBC is no
exception. Sun felt that the design of JDBC should be very simple, allowing for
only one method of completing a task per mechanism. Allowing duplicate
functionality only serves to confuse the users of the API.
And for dynamically updating the cache table we go for MS Access database.
Java ha two things: a programming language and a platform.
Java is a high-level programming language that is all of the following
Simple
Architecture-neutral
Object-oriented
Portable
Distributed
High-performance
Interpreted
multithreaded
Robust
Dynamic
Secure
Java is also unusual in that each Java program is both compiled and interpreted.
With a compile you translate a Java program into an intermediate language called
Java byte codes the platform-independent code instruction is passed and run on the
computer.
12
Compilation happens just once; interpretation occurs each time the program is
executed. The figure illustrates how this works.
JavaProgram Interpreter
Compilers My Program
You can think of Java byte codes as the machine code instructions for
the Java Virtual Machine (Java VM). Every Java interpreter, whether it’s a
Java development tool or a Web browser that can run Java applets, is an
implementation of the Java VM. The Java VM can also be implemented in
hardware.
Java byte codes help make “write once, run anywhere” possible. You
can compile your Java program into byte codes on my platform that has a
Java compiler. The byte codes can then be run any implementation of the
Java VM. For example, the same Java program can run Windows NT,
Solaris, and Macintosh.
Networking
TCP/IP stack
13
TCP is a connection-oriented protocol; UDP (User Datagram Protocol)
is a connectionless protocol.
IP datagram’s
UDP
14
TCP
Internet addresses
In order to use a service, you must be able to find it. The Internet uses
an address scheme for machines so that they can be located. The address is
a 32 bit integer which gives the IP address. This encodes a network ID and
more addressing. The network ID falls into various classes according to the
size of the network address.
Network address
Class A uses 8 bits for the network address with 24 bits left over for
other addressing. Class B uses 16 bit network addressing. Class C uses 24
bit network addressing and class D uses all 32.
Subnet address
Host address
8 bits are finally used for host addresses within our subnet. This places
a limit of 256 machines that can be on the subnet.
Total address
15
The 32 bit address is usually written as 4 integers separated by dots.
Port addresses
Sockets
JFree Chart
16
JFreeChart is a free 100% Java chart library that makes it easy for
developers to display professional quality charts in their applications.
JFreeChart's extensive feature set includes:
A consistent and well-documented API, supporting a wide range of
chart types;
A flexible design that is easy to extend, and targets both server-side
and client-side applications;
Support for many output types, including Swing components, image
files (including PNG and JPEG), and vector graphics file formats (including
PDF, EPS and SVG);
JFreeChart is "open source" or, more specifically, free software. It is
distributed under the terms of the GNU Lesser General Public Licence
(LGPL), which permits use in proprietary applications.
1. Map Visualizations
Charts showing values that relate to geographical areas. Some
examples include:
(a) population density in each state of the United States,
(b) income per capita for each country in Europe,
(c) life expectancy in each country of the world. The tasks in this
project include:
Sourcing freely redistributable vector outlines for the countries of the
world, states/provinces in particular countries (USA in particular, but
also other areas);
Creating an appropriate dataset interface (plus default
implementation), a rendered, and integrating this with the existing
XYPlot class in JFreeChart;
Testing, documenting, testing some more, documenting some more
17
with a sliding "view" rectangle that allows you to select the subset of the time
series data to display in the main chart.
3. Dashboards
There is currently a lot of interest in dashboard displays. Create a flexible
dashboard mechanism that supports a subset of JFreeChart chart types (dials,
pies, thermometers, bars, and lines/time series) that can be delivered easily via
both Java Web Start and an applet.
4. Property Editors
The property editor mechanism in JFreeChart only handles a small subset of
the properties that can be set for charts. Extend (or reimplement) this
mechanism to provide greater end-user control over the appearance of the
charts.
Sun Microsystems defines J2ME as "a highly optimized Java run-time environment
targeting a wide range of consumer products, including pagers, cellular phones,
screen-phones, digital set-top boxes and car navigation systems." Announced in June
1999 at the JavaOne Developer Conference, J2ME brings the cross-platform
functionality of the Java language to smaller devices, allowing mobile wireless
devices to share applications. With J2ME, Sun has adapted the Java platform for
consumer products that incorporate or are based on small computing devices.
18
J2ME uses configurations and profiles to customize the Java Runtime Environment
(JRE). As a complete JRE, J2ME is comprised of a configuration, which determines
the JVM used, and a profile, which defines the application by adding domain-
specific classes. The configuration defines the basic run-time environment as a set of
core classes and a specific JVM that run on specific types of devices. We'll discuss
configurations in detail in the Theprofile defines the application; specifically, it adds
domain-specific classes to the J2ME configuration to define certain uses for devices.
We'll cover profiles in depth in the The following graphic depicts the relationship
between the different virtual machines, configurations, and profiles. It also draws a
parallel with the J2SE API and its Java virtual machine. While the J2SE virtual
machine is generally referred to as a JVM, the J2ME virtual machines, KVM and
CVM, are subsets of JVM. Both KVM and CVM can be thought of as a kind of Java
virtual machine -- it's just that they are shrunken versions of the J2SE JVM and are
specific to J2ME.
19
Introduction In this section, we will go over some considerations you need to keep in
mind when developing applications for smaller devices. We'll take a look at the way
the compiler is invoked when using J2SE to compile J2ME applications. Finally,
we'll explore packaging and deployment and the role preverification plays in this
process.
Developing applications for small devices requires you to keep certain strategies in
mind during the design phase. It is best to strategically design an application for a
small device before you begin coding. Correcting the code because you failed to
consider all of the "gotchas" before developing the application can be a painful
process. Here are some design strategies to consider:
* Smaller is better. This consideration should be a "no brainer" for all developers.
Smaller applications use less memory on the device and require shorter installation
times. Consider packaging your Java applications as compressed Java Archive (jar)
files.
* Minimize run-time memory use. To minimize the amount of memory used at run
time, use scalar types in place of object types. Also, do not depend on the garbage
collector. You should manage the memory efficiently yourself by setting object
references to null when you are finished with them. Another way to reduce run-time
memory is to use lazy instantiation, only allocating objects on an as-needed basis.
Other ways of reducing overall and peak memory use on small devices are to release
resources quickly, reuse objects, and avoid exceptions.
20
4.Configurations overview
The configuration defines the basic run-time environment as a set of core classes and
a specific JVM that run on specific types of devices. Currently, two configurations
exist for J2ME, though others may be defined in the future:
5.J2ME profiles
A skeleton profile upon which you can create your own profile, the Foundation
Profile, is available for CDC.
Profile 1: KJava
21
KJava is Sun's proprietary profile and contains the KJava API. The KJava profile is
built on top of the CLDC configuration. The KJava virtual machine, KVM, accepts
the same byte codes and class file format as the classic J2SE virtual machine. KJava
contains a Sun-specific API that runs on the Palm OS. The KJava API has a great
deal in common with the J2SE Abstract Windowing Toolkit (AWT). However,
because it is not a standard J2ME package, its main package is com.sun.kjava. We'll
learn more about the KJava API later in this tutorial when we develop some sample
applications.
Profile 2: MIDP
MIDP is geared toward mobile devices such as cellular phones and pagers. The
MIDP, like KJava, is built upon CLDC and provides a standard run-time
environment that allows new applications and services to be deployed dynamically
on end user devices. MIDP is a common, industry-standard profile for mobile
devices that is not dependent on a specific vendor. It is a complete and supported
foundation for mobile application
development. MIDP contains the following packages, the first three of which are
core CLDC packages, plus three MIDP-specific packages.
* java.lang
* java.io
* java.util
* javax.microedition.io
* javax.microedition.lcdui
* javax.microedition.midlet
* javax.microedition.rms
22
Feasibility study refers to the overall idea of the package which we are
designing. Software feasibility has four solid dimensions. Technical- is a project
technically feasible? Is it within the state of the art? Can defects be reduced to a level
matching the application’s needs? Economical- is it financially feasible? Can
development be completed at a cost the Software organization, its client, or the
market can afford? Operational- Will the project’s time-to-market beat the
competition?.
This study tells about how this package is useful to the users and its
advantages and disadvantages, and also it tells whether this package is cost effective
are not. There are three types of feasibility study, they are
Economic Feasibility.
Technical Feasibility.
Operational Feasibility.
23
3.2.2 Technical Feasibility
Technical feasibility is important, but business need is even more important. It does
no good to build a high tech system or product that no one really wants. The Exact
Knowledge Hiding through Database Extension Software is developed using for
hiding database knowledge for the End user and is readily available with everyone so
no need to search for any requirements and this software will work only in windows
XP environment in order to pick up speed and also it is the advanced version of
windows which available with everyone. The technical requirements like hardware
and software requirements are available so it easily worked by other users.
24
SYSTEM DESIGN
25
UML DIAGRAMS
GOALS:
The Primary goals in the design of the UML are as follows:
1. Provide users a ready-to-use, expressive visual modeling Language so that
they can develop and exchange meaningful models.
2. Provide extendibility and specialization mechanisms to extend the core
concepts.
3. Be independent of particular programming languages and development
process.
4. Provide a formal basis for understanding the modeling language.
5. Encourage the growth of OO tools market.
6. Support higher level development concepts such as collaborations,
frameworks, patterns and components.
26
7. Integrate best practices.
27
Sequence diagrams
28
Class diagram
29
Activity Diagram
30
CODING
The goal of the coding or programming phase is to translate the design of the
system produced during the design phase into code in a given programming
language, which can be executed by a computer and that performs the computation
specified by the design.
The coding phase affects both testing and maintenance. The goal of coding is
not to reduce the implementation cost but the goal should be to reduce the cost of
later phases. In other words the goal is not to simplify the job of programmer. Rather
the goal should be to simplify the job of the tester and maintainer.
Coding Approach
There are two major approaches for coding any software system. They are
top-Down approach and Bottom-up approach.
Bottom-up approach can be best suitable for developing the object oriented
systems. During system design phase to reduce the complexity, we decompose the
system into an appropriate number of subsystems, for which objects can be modeled
independently. These objects exhibit the way the subsystems perform their
operations. Once objects have been modeled they are implemented by means of
coding. Even though related to the same system as the objects are independent of
each other the Bottom up approach is more suitable for coding these objects.
31
SYSTEM TESTING
INTRODUCTION:
Testing objectives:
32
. Levels of Testing:
33
Code testing:
This examines the logic of the program. For example, the logic for
updating various sample data and with the sample files and directories
were tested and verified.
Specification Testing:
Unit testing:
In Black Box Testing we just focus on inputs and output of the software
system without bothering about internal knowledge of the software
program.
The above Black Box can be any software system you want to
test. For example : an operating system like Windows, a website like
Google ,a database like Oracle or even your own custom application.
Under Black Box Testing , you can test these applications by just
focusing on the inputs and outputs without knowing their internal code
implementation.
35
Black box testing - Steps
Here are the generic steps followed to carry out any type of Black Box
Testing.
There are many types of Black Box Testing but following are the
prominent ones -
36
WHITE BOX TESTING
White box testing involves the testing of the software code for the
following:
The testing can be done at system, integration and unit levels of software
development. One of the basic goals of whitebox testing is to verify a
working flow for an application. It involves testing a series of predefined
inputs against expected or desired outputs so that when a specific input
does not result in the expected output, you have encountered a bug.
The first thing a tester will often do is learn and understand the
source code of the application. Since white box testing involves the
testing of the inner workings of an application, the tester must be very
knowledgeable in the programming languages used in the applications
they are testing. Also, the testing person must be highly aware of secure
38
coding practices. Security is often one of the primary objectives of
testing software. The tester should be able to find security issues and
prevent attacks from hackers and naive users who might inject malicious
code into the application either knowingly or unknowingly.
The second basic step to white box testing involves testing the
application’s source code for proper flow and structure. One way is by
writing more code to test the application’s source code. The tester will
develop little tests for each process or series of processes in the
application. This method requires that the tester must have intimate
knowledge of the code and is often done by the developer. Other
methods include manual testing, trial and error testing and the use of
testing tools as we will explain further on in this article.
System testing:
1 Alpha Testing
39
2 Beta Testing
3 Acceptance Testing
Alpha Testing:
This refers to the system testing that is carried out by the test team with
the Organization.
Beta Testing:
Acceptance Testing:
40
particular record should not be in all the Asp files where
updated. updations are made.
3. Validity of loginOnly the authorized This is covered in the login
persons must access procedure for the validity of
system. a user
Integration Testing:
Output testing:
Test plan:
Screens
HOME PAGE:
42
ADMIN LOGIN PAGE:
Home:
43
User Registration:
User Login:
44
Loan Application:
Loan Status:
45
Download Documents:
Admin login:
46
View Users:
47
View Cibil Report:
Upload Document:
48
Cibil Login:
View Pan:
49
Generate Score:
50