0% found this document useful (0 votes)
179 views38 pages

Loan Origination System: A Minor Project Report On

This document is a minor project report submitted by Jagmeet Kaur for the partial fulfillment of the requirements for a Bachelor of Technology degree in Computer Science and Engineering. The project involved developing and testing a Java application called "Loan Origination System" to enable users to calculate loan EMIs. The report describes the history and features of Java, objectives and scope of the project, hardware and software requirements, design and implementation details, testing process, screenshots of the application interface, source code, and conclusions.

Uploaded by

Jagmeet Kaur
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
179 views38 pages

Loan Origination System: A Minor Project Report On

This document is a minor project report submitted by Jagmeet Kaur for the partial fulfillment of the requirements for a Bachelor of Technology degree in Computer Science and Engineering. The project involved developing and testing a Java application called "Loan Origination System" to enable users to calculate loan EMIs. The report describes the history and features of Java, objectives and scope of the project, hardware and software requirements, design and implementation details, testing process, screenshots of the application interface, source code, and conclusions.

Uploaded by

Jagmeet Kaur
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 38

Minor project report

A
MINOR PROJECT REPORT ON
LOAN ORIGINATION SYSTEM
submitted in the partial fulfillment of the requirement for the
award of degree of

BACHELOR OF TECHNOLOGY
IN
COMPUTER SCIENCE AND ENGINEERING

SUBMITTED BY:
Jagmeet Kaur (A40319025)

Batch: 2019-2023

PROJECT GUIDE:
Ms. Mani
(A.P. in CSE Department)

Department of Computer Science & Engineering


Faculty of Engineering & Technology
P.D.M. University, Bahadurgarh

pg. 1
Minor project report

DECLARATION

I hereby declare that the work presented in this report entitled “Loan Origination
System using JAVA”, in fulfilment of the requirement for the award of the degree
Bachelor of Technology in Computer Science & Engineering, submitted in CSE
Department, PDMU, Bahadurgarh, Haryana is an authentic record of my own work
carried out during my degree under the guidance of Ms. Mani.

The work reported in this has not been submitted by me for award of any other
degree or diploma.

Jagmeet Kaur (A40319025)


Date:
B.Tech CSE 5th Sem
Place: Haryana

pg. 2
Minor project report

Certificate of Completion

This is to certify that the Project work entitled “Loan Origination System using
JAVA” submitted by Jagmeet Kaur in fulfilment for the requirements of the award
of Bachelor of Technology Degree in Computer Science & Engineering at
PDMU, Bahadurgarh, Haryana is an authentic work carried out by him/her
under my supervision and guidance. To the best of my knowledge, the matter
embodied in the project has not been submitted to any other University / Institute
for the award of any Degree.

Ms. Mani
A.P. in CSE Department
Faculty of Engineering & Technology
PDM University, Bahadurgarh Haryana

pg. 3
Minor project report

Abstract

This project is about managing, developing, and testing a Java application “Loan
Origination System”. The proposed system is to enable people to calculate EMI of
a loan.

For making this project I have used JAVA on a software named Eclipse
Eclipse is a multi-lingual software development environment, which consists of
integrated development environment (IDE) and extra plug-in system. An IDE
provides many different tools e.g. code writing, compiling, running, debugging,
file management, and documentation all at one single platform.
Eclipse is one of the IDEs which are mostly used professionally to develop
applications and software solutions. An advantage of Eclipse over other
professional IDEs is that Eclipse is an open-source platform, and therefore, it is
easy to add new libraries and resources in it. Most of it is written in Java
programming language.
There are a variety of languages, whose applications can be developed in Eclipse
by means of extensible plug-in systems. Some of mostly programmed languages in
Eclipse are JAVA, C, C++, COBOL, Perl, Android, Python, Ruby, Groovy and
Scheme.

pg. 4
Minor project report

ACKNOWLEDGEMENT

I express my sincere gratitude to Dr. Jasvinder Kaur (Head, Department of CSE) and
Ms. Mani (A.P. in CSE Department), for her valuable guidance and timely
suggestions during the entire duration of my project work, without which, this work
would not have been possible. I would also like to convey my deep regards to all
other faculty members who have bestowed their great effort and guidance at
appropriate times without which it would have been very difficult on my part
to finish this work. Finally, I would also like to thank my friends for their advice and
pointing out my mistakes.

Jagmeet Kaur (A40319025)


B.Tech CSE 5th SEM.

pg. 5
Minor project report

TABLE OF CONTENTS

CHAPTER 1 INTRODUCTION TO JAVA 8


1.1 History of JAVA
1.2 Features of JAVA
CHAPTER 2 OBJECTIVE AND SCOPE OF THE SYSTEM 15
CHAPTER 3 HARDWARE AND SOFTWARE SPECIFICATIONS 16
3.1 Requirements at The Server Side
3.2 Hardware Requirements
3.3 Software Specifications
CHAPTER 4 DESIGN AND IMPLEMENTATION 17
4.1 Requirements
4.2 Design
CHAPTER 5 TESTING AND DEBUGGING 19
5.1 System Testing
5.2 Code Testing
5.3 Types of Testing
CHAPTER 6 SCREENSHOTS OF APPLICATION 23
CHAPTER 7 SOURCE CODE 32
CHAPTER 8 CONCLUSION AND FUTUREWORK 35
REFERENCES 36
APPENDIX - 1 37

pg. 6
Minor project report

List of Figures

Fig.1.1 Features of Java 9


Fig.1.2 Platform Independent 11
Fig.1.3Runtime Environment 12
Fig.4.1 Interactive environment of eclipse 17
Fig.5.1 Levels of Testing 18
Fig.6.1 Home Page 22
Fig.6.2 Add Details 23
Fig.6.3 Mandatory Fields 24
Fig.6.4 Minimum Age Criteria 25
Fig.6.5 Enter Credentials 26
Fig.6.6 Enter Valid Email ID 27
Fig.6.7 Checking the Information Provided 28
Fig.6.8 Confirmation page 29
Fig.6.9 Calculated EMI 30

pg. 7
Minor project report

Chapter – 1

Introduction to Java

1.1 The History of JAVA


The history of Java is very interesting. Java was originally designed for interactive television, but it was
too advanced technology for the digital cable television industry at the time. The history of java starts
from Green Team. Java team members (also known as Green Team), initiated this project to develop a
language for digital devices such as set-top boxes, televisions etc. But, it was suited for internet
programming. Later, Java technology was incorporated by Netscape.

Currently, Java is used in internet programming, mobile devices, games, e-business solutions etc. There
are given the major points that describes the history of java.

1) James Gosling, Mike Sheridan, and Patrick Naughton initiated the Java language project in June 1991.
The small team of sun engineers called Green Team.

2) Originally designed for small, embedded systems in electronic appliances like set-top boxes.

3) Firstly, it was called "Greentalk" by James Gosling and file extension was .gt.

4) After that, it was called Oak and was developed as a part of the Green project.

pg. 8
Minor project report

1.2 Features of Java

The main objective of Java programming language creation was to make it portable, simple and
secure programming language. Apart from this, there are also some awesome features which
play important role in the polularity of this language. The features of Java are also known as
java buzzwords. Following is a list of most important features of Java language. The Java
Features given below are simple and easy to understand.

Fig.1 Features of Java.

1. Simple
2. Object-Oriented
3. Portable
4. Platform independent
5. Secured
6. Robust
7. Architecture neutral
8. Dynamic
9. Interpreted

pg. 9
Minor project report

10. High Performance


11. Multithreaded
12. Distributed

1 Simple

Java is very easy to learn and its syntax is simple, clean and easy to understand. According to
Sun,

Java language is simple because:

• syntax is based on C++ (so easier for programmers to learn it after C++).

• removed many confusing and/or rarely-used features e.g., explicit pointers,


operator overloading etc.

• No need to remove unreferenced objects because there is Automatic Garbage


Collection in java.

2 Object-Oriented
Java is Object-oriented programming language. Everything in Java is an object. Object-oriented
means we organize our software as a combination of different types of objects that incorporates
both data and behaviour.

Object-oriented programming (OOPs) is a methodology that simplifies software


development and maintenance by providing some rules.

Basic concepts of OOPs are:

1. Object
2. Class
3. Inheritance
4. Polymorphism
5. Abstraction
6. Encapsulation

pg. 10
Minor project report

3 Platform Independent

Fig.2 Platform Independent.

Java is platform independent because it is different from other languages like C, C++ etc. which
are compiled into platform specific machines while Java is a write once, run anywhere language. A
platform is the hardware or software environment in which a program runs. There are two types of
platforms software-based and hardware-based. Java provides software-based platform. The Java
platform differs from most other platforms in the sense that it is a software-based platform that runs
on the top of other hardware-based platforms. It has two components:

1. Runtime Environment
2. API (Application Programming Interface)

pg. 11
Minor project report

Java code can be run on multiple platforms e.g. Windows, Linux, Sun Solaris, Mac/OS etc. Java
code is compiled by the compiler and converted into bytecode. This bytecode is a platform-
independent code because it can be run on multiple platforms i.e. Write Once and Run
Anywhere(WORA).

4 Secured

Java is best known for its security. With Java, we can develop virus-free systems. Java is secured

because:

1. No explicit pointer
2. Java Programs run inside virtual machine sandbox

Fig.3 Runtime Environment.

3. Classloader: Classloader in Java is a part of the Java Runtime Environment(JRE)


which is used to dynamically load Java classes into the Java Virtual Machine. It adds
security by separating the package for the classes of the local file system from those
that are imported from network sources.
4. Bytecode Verifier: It checks the code fragments for illegal code that can violate access
right to objects.

pg. 12
Minor project report

5. Security Manager: It determines what resources a class can access such as reading and
writing to the local disk.

These securities are provided by java language. Some security can also be provided by application

developer through SSL, JAAS, Cryptography etc.

5 Robust

Robust simply means strong. Java is robust because:

1. It uses strong memory management.


2. There are lack of pointers that avoids security problem.
3. There is automatic garbage collection in java.
4. There is exception handling and type checking mechanism in java. All these points
makes java robust.

6 Architecture-neutral

Java is architecture neutral because there is no implementation dependent features e.g. size of
primitive types is fixed.

In C programming, int data type occupies 2 bytes of memory for 32-bit architecture and 4 bytes
of memory for 64-bit architecture. But in java, it occupies 4 bytes of memory for both 32- and
64-bit architectures.

7 Portable

Java is portable because it facilitates you to carry the java bytecode to any platform.

pg. 13
Minor project report

8 High-performance
Java is faster than traditional interpretation since bytecode is "close" to native code still somewhat

slower than a compiled language (e.g., C++). Java is an interpreted language, so it is also a reason
that why it is slower than compiled language C, C++.

9 Distributed

Java is distributed because it facilitates us to create distributed applications in java. RMI and EJB
are used for creating distributed applications. We may access files by calling the methods from
any machine on the internet.

pg. 14
Minor project report

Chapter – 2

OBJECTIVE AND SCOPE OF THE SYSTEM

The primary objective of the project is to manage, develop and test a Java application
“Loan Origination System”. The proposed system is to enable people to calculate
EMI of a loan. The aim of the project was to make people work a lot easy by
approving the loan and calculate the EMI after the loan is approved.

Our goals in developing the proposed Java Application are:

Accuracy: The level of accuracy in the proposed system will be higher. All
operation would be done correctly, and it ensures that whatever information is
accurate.
Access: Any person who wants to calculate EMI of their approved loan can access
it remotely.
Immediate retrieval of information: The main objective of proposed system is to
provide for a quick and efficient retrieval of information.
Easy to Operate: The system should be easy to operate and should be such that it
can be developed within a short period of time.
Security: Negative customers who have a fraud record are not eligible for
approval of loan.

pg. 15
Minor project report

Chapter-3

Hardware And Software Specifications


3.1 Requirements At The Server Side
Hardware Requirements:
1. Intel Processor Family with a speed of 800 MHz or above
2. 256 MB RAM
3. 40 GB above hard disk as per the requirements of the org

3.2 Hardware Requirements


1. 256 MB RAM
2. 40 Gb Hard disk space
3. Ethernet Card

3.3 Software Specifications


1. Windows XP as Operating System
2. Eclipse
3. Android Studio
4. Apache Tomcat 5.0 web server
5. Oracle 10 g as database server
6. JDK 1.5.0 as java software

pg. 16
Minor project report

Chapter – 4

Design and Implementation

In this chapter different steps for the design and implementation of application are presented.
4.1-Requirements
To develop this application, following softwares and APIs are required:

▪ Eclipse IDE (Integrated Development Environment)


Eclipse is a multi-lingual software development environment, which consists of
integrated development environment (IDE) and extra plug-in system. An IDE provides
many different tools example code writing, compiling, running, debugging, file
management, and documentation all at one single platform.

Eclipse is one of the IDEs which are mostly used professionally to develop applications
and software solutions. An advantage of Eclipse over other professional IDEs is that
Eclipse is an open source platform, and therefore, it is easy to add new libraries and
resources in it. Most of it is written in Java programming language.

There are a variety of languages, whose applications can be developed in Eclipse by means
of extensible plug-in systems. Some of mostly programmed languages in Eclipse are
JAVA, C, C++, COBOL, Perl, Android, Python, Ruby, Groovy and Scheme.
Below is a Figure that shows typical interactive environment of Eclipse, for the development of an app.

Figure 4.1 Interactive environment of eclipse

pg. 17
Minor project report

• ANDROID STUDIO
Android Studio is Android's official IDE. It is purpose-built for Android to accelerate the
development and help to build the highest-quality apps for every Android device.

Eclipse can be downloaded free of cost from internet. A description of how to download, install
and configure for use can be found easily. The download link of Eclipse for Java developers has
been given in Appendix.

4.2 DESIGN

There are many different approaches to design the application which depends upon the
developer/designer. In this case, it requires a good programing knowledge in Java. In addition
to this, familiarization to Eclipse makes it easier to find and fix the bugs.

pg. 18
Minor project report

Chapter – 5

TESTING AND DEBUGGING

In order to uncover the errors present in different phases we have the concept of
levels of testing. The basic levels of testing are shown below

Figure 5.1 Levels of Testing

5.1 System Testing

The philosophy behind testing is to find errors. Test cases are devised with this in mind. A strategy
employed for system testing is code testing.

5.2 Code Testing:

This strategy examines the logic of the program. To follow this method we developed some test data
that resulted in executing every instruction in the program and module i.e. every path is tested.
Systems are not designed as entire nor are they tested as single systems. To ensure that the coding is
perfect two types of testing is performed or for that matter is performed or that matter is performed or
for that matter is performed on all systems.

pg. 19
Minor project report

5.3 Types Of Testing

Unit Testing
Link Testing

5.3.1 Unit Testing

In this project each service can be thought of a module. There are so many modules like Login,
HWAdmin, MasterAdmin, Normal User, and PManager. Giving different sets of inputs has tested
each module. When developing the module as well as finishing the development so that each
module works without any error. The inputs are validated when accepting from the user.

5.3.2 Link Testing

Link testing does not test software but rather the integration of each module in system. The
primary concern is the compatibility of each module. The Programmer tests where modules are
designed with different parameters, length, type etc.

5.3.3 Integration Testing

After the unit testing we have to perform integration testing. The goal here is to see if modules
can be integrated proprerly, the emphasis being on testing interfaces between modules. This
testing activity can be considered as testing the design and hence the emphasis on testing module
interactions.
In this project integrating all the modules forms the main system. When integrating all the
modules I have checked whether the integration effects working of any of the services by giving
different combinations of inputs with which the two services run perfectly before Integration.

5.3.4 System Testing

Here the entire software system is tested. The reference document for this process is the
requirements document, and the goal os to see if software meets its requirements.
Here entire ‘ATM’ has been tested against requirements of project and it is checked whether all
requirements of project have been satisfied or not.

5.3.5 Acceptance Testing

Acceptance Test is performed with realistic data of the client to demonstrate that the software is
working satisfactorily. Testing here is focused on external behavior of the system; the internal
logic of program is not emphasized.

pg. 20
Minor project report

In this project ‘Network Management Of Database System’ I have collected some data and tested
whether project is working correctly or not.
Test cases should be selected so that the largest number of attributes of an equivalence class is
exercised at once. The testing phase is an important part of software development. It is the process
of finding errors and missing operations and also a complete verification to determine whether the
objectives are met and the user requirements are satisfied.

5.3.6 White Box Testing

This is a unit testing method where a unit will be taken at a time and tested thoroughly at a
statement level to find the maximum possible errors. I tested step wise every piece of code, taking
care that every statement in the code is executed at least once. The white box testing is also called
Glass Box Testing.
I have generated a list of test cases, sample data. which is used to check all possible
combinations of execution paths through the code at every module level.

5.3.7 Black Box Testing

This testing method considers a module as a single unit and checks the unit at interface and
communication with other modules rather getting into details at statement level. Here the module
will be treated as a block box that will take some input and generate output. Output for a given set
of input combinations are forwarded to other modules.

5.3.8 Criteria Satisfied by Test Cases

1) Test cases that reduced by a count that is greater than one, the number of additional test cases
that must be designed to achieve reasonable testing.
2) Test cases that tell us something about the presence or absence of classes of errors, rather than
an error associated only with the specific test at hand.
Following is the table of Test Cases VS Action Taken:

pg. 21
Minor project report

S No Test Case Action taken


1 Enter correct username and password for Displays Home Page
Admin at the login form
2 Create users of departments PickUp, New Users of these departments
Verifiaction and Legal will be created
3 Register the customer info Customer Info has to be registered

4 Create a loan information related to a bank New Loan Info has to be stored
Related to that bank
5 Register a customer It registers a new customer

6 Login as customer with correct username Displays customer home page


and password.
7 Select a bank and get the interest rates Displays Interests Rates

8 Apply for the loan Posts the application

9 View the loan applications by logging as Displays new application


admin
10 Forward the application to Pickup from Forwards to an employee in
admin Pickup Dept
11 Forward the application to verification Dept Forwards to Verification Dept
from Pickup dept
12 Forward the application to Admin Dept Forwards to Admin
from Verification Dept
13 Enter Builder Info Creates APF No

14 Update the status of the application by Updates Status


admin finally
15 Check the status Displays current status of the
application
16 Send a message to a user It Sent a message

pg. 22
Minor project report

Chapter- 6

Screen shots of the Application


Below are the screenshots of different interfaces of application which is installed in a mobile
phone and is working properly.

This is the home page of our


application which is user
Friendly and easy to interact
with. By clicking on ‘GET
STARTED’ tab we proceed to
our next interface.

Figure 6.1 Home Page

pg. 23
Minor project report

After clicking ‘GET STARTED’


tab the Application will
proceed to this interface
where we have to provide
our details and choose the
type of LOAN, Loan Amount
and for how much months
we have to convert it into
EMI. Then proceed to next
interface by clicking on
‘NEXT’ tab.

Figure 6.2 Add details

pg. 24
Minor project report

The detail fields cannot be


left empty. The user have to
provide with this mandatory
information to get verified
and to generate the EMI
amount.
User cannot proceed without
providing the required
information.

Figure 6.3 Mandatory Fields

pg. 25
Minor project report

The User have to be of


minimum 18 years of Age
else he/she would not be
able to get the Loan. This
criteria is set for potential
customer and to eliminate
all the frauds and pranks.

Figure 6.4 Minimum Age Criteria

pg. 26
Minor project report

By proceeding with
clicking on Next tab.
Enter your credentials
such as username,
password, income,
months of EMI, phone
number and Email ID.
If you have not entered
a valid phone number,
then it will show error
and you will not be able
to proceed.

Figure 6.5 Enter Credentials

pg. 27
Minor project report

Email Address of the user


should be valid, otherwise
he/she would not be able to
proceed.
After typing a valid Email ID ,
user can proceed by clicking
on next tab and a new
interface will appear,

Figure 6.6 Enter valid Email ID

pg. 28
Minor project report

User can verify the


credentials and the
information provided and
then proceed to next
interface by clicking on
‘NEXT’ tab.

Figure 6.7 Checking the information provided

pg. 29
Minor project report

After proceeding with ‘NEXT’


tab, a confirmation page will
appear and will ask if user
want to bring the loan or not.
If the information id correct
then by selecting ‘YES’ and
clicking on ‘NEXT’ tab user
will proceed to next
interface.

Figure 6.8 Confirmation page

pg. 30
Minor project report

The final EMI is calculated


and shown on screen. User
can proceed to the home
page again by clicking on
‘BACK TO HOMEPAGE’

Figure 6.9 Calculated EMI

pg. 31
Minor project report

Chapter - 7

SOURCE CODE

package com.PDM.anytimeloans.operations;

import java.util.ArrayList;
import com.example.anytimeloans.Utils.CommonConstants;
import com.example.anytimeloans.Utils.LoanConstants;
import com.example.anytimeloans.Utils.StageConstants;
import com.example.anytimeloans.Utils.Utility;
import static com.example.anytimeloans.Utils.Utility.serialCounter;
import static com.example.anytimeloans.Utils.Utility.scanner;
import androidx.annotation.NonNull;
import com.example.anytimeloans.customer.Customer;
import com.example.anytimeloans.customer.LoanDetails;
import com.example.anytimeloans.customer.PersonalInformation;

public class LOSProcess implements StageConstants, CommonConstants {

private ArrayList<Customer> customers = new ArrayList<>();

public void (Customer customer)


{

String panCard = scanner.next();


String voterId = scanner.next();
double income = scanner.nextDouble();
double liability = scanner.nextDouble();
String phone = scanner.next();
String email = scanner.next();
customer.getPersonal().setPanCard(panCard);
customer.getPersonal().setVoterId(voterId);
customer.getPersonal().setEmail(email);
customer.setIncome(income);
customer.setLiability(liability);
customer.getPersonal().setPhone(phone);
}

public void approval(Customer customer) {

customer.setStage(APPROVAL);

int score = customer.getLoanDetails().getScore();

pg. 32
Minor project report

double approveAmount = customer.getLoanDetails().getAmount() * (score / 100);


char choice = scanner.next().toUpperCase().charAt(0);

if(choice == NO)
{
customer.setStage(REJECT);
customer.setRemarks("Customer Deny the Approved Amount "+approveAmount);
return;
}
else {
showEMI(customer);
}
}

public static double showEMI(Customer customer)


{
if(customer.getLoanDetails().getType() == LoanConstants.HOME_LOAN)
{
customer.getLoanDetails().setRoi(LoanConstants.HOME_LOAN_ROI);
}
if(customer.getLoanDetails().getType() == LoanConstants.AUTO_LOAN)
{
customer.getLoanDetails().setRoi(LoanConstants.AUTO_LOAN_ROI);
}
if(customer.getLoanDetails().getType() == LoanConstants.PERSONAL_LOAN)
{
customer.getLoanDetails().setRoi(LoanConstants.PERSONAL_LOAN_ROI);
}

double perMonthPrinciple = customer.getLoanDetails().getAmount() /


customer.getLoanDetails().getDuration();
double interest = perMonthPrinciple * customer.getLoanDetails().getRoi();

double totalEMI = perMonthPrinciple + interest;

System.out.println("Your EMI is: "+totalEMI);


return totalEMI;
}

public void moveToNextStage(Customer customer)


{
if(customer.getStage() == SOURCING)
{
char choice = scanner.next().toUpperCase().charAt(0);

else {
return;
}
}

pg. 33
Minor project report

public void sourcing()


{
Customer customer = new Customer();
customer.setId(serialCounter);
customer.setStage(SOURCING);

String firstName = scanner.next();


String lastName = scanner.next();
int age = scanner.nextInt();
String type = scanner.next();
double amount = scanner.nextDouble();
int duration = scanner.nextInt();

PersonalInformation pd = new PersonalInformation();


pd.setFirstName(firstName);
pd.setLastName(lastName);
pd.setAge(age);
customer.setPersonal(pd);

LoanDetails loanDetails = new LoanDetails();


loanDetails.setType(type);
loanDetails.setAmount(amount);
loanDetails.setDuration(duration);
customer.setLoanDetails(loanDetails);

customers.add(customer);
serialCounter++;
}
}

pg. 34
Minor project report

Chapter - 8

Conclusion & Future Work

The project titled “ Loan Origination System using JAVA “is a Java based application.
The aim of the project is to manage, develop and test a Java application “Loan Origination
System”. The proposed system is to enable people to calculate EMI of a loan. The aim of the
project was to make people work a lot easy by approving the loan and calculate the EMI after
the loan is approved

While developing this application, all the constraints have been met with success and as we had
planned them in the design phase, it came out as the same. The project gives good idea on
developing a user-friendly application which satisfying different user.

The system is made flexible and versatile. This application has a user-friendly screen that enables
the employees to use the application without any inconvenience. The application is very secure
as all the major decisions and major details are only entered by the admin and he can also run a
quality check any time anywhere to make sure that everything that the employees are doing and
all the details they are entering is correct or not.

The system created met its objectives, by being simple to use. This software is developed with
scalability in mind. Additional modules can be easily added when necessary. However there is
still a lot of scope for future improvement and add on in functionality. Some of the major ones
being developing.
.

pg. 35
Minor project report

References

[1] The Complete Reference Java2 Fourth Edition – Herbert Schildt.

[2] https://developer.android.com

[3] https://www.techopedia.com/definition/5594/java-development-kit-jdk

[4] http://www.theserverside.com/definition/Java-Runtime-Environment-JRE

[5] https://www.techopedia.com/definition/5442/java-runtime-environment-jre

[6] www.quora.com

pg. 36
Minor project report

Appendix – 1

Java Version History

There are many java versions that has been released. Current stable release of Java is Java SE 9.

1. JDK Alpha and Beta (1995)


2. JDK 1.0 (23rd Jan, 1996)
3. JDK 1.1 (19th Feb, 1997)
4. J2SE 1.2 (8th Dec, 1998)
5. J2SE 1.3 (8th May, 2000)
6. J2SE 1.4 (6th Feb, 2002)
7. J2SE 5.0 (30th Sep, 2004)
8. Java SE 6 (11th Dec, 2006)
9. Java SE 7 (28th July, 2011)
10. Java SE 8 (18th March, 2014)
11. Java SE 9 (21st Sep, 2017

JRE, JVM, AND JDK

JRE

The Java Runtime Environment (JRE) is a set of software tools for development of Java
applications. It combines the Java Virtual Machine (JVM), platform core classes and
supporting libraries.

JRE is part of the Java Development Kit (JDK), but can be downloaded separately. JRE
was originally developed by Sun Microsystems Inc., a wholly-owned subsidiary of Oracle
Corporation.

pg. 37
Minor project report

JVM

The Java Virtual Machine (JVM) is an abstraction layer between a Java application and the
underlying platform. As the name implies, the JVM acts as a “virtual” machine or
processor. To the bytecodes comprising the program, they are communicating with a
physical machine; however, they are actually interacting with the JVM.

JVM allows Java portability to execute within platform and hardware-independent


applications. It's a big part of the "write once, run anywhere (WORA)" philosophy. The
JVM is part of the Java Runtime Environment (JRE). It is the JRE (JVM plus base classes)
that enables Java bytecode to run on any platform. Bytecodes, which are interpreted by the
JVM, simply call classes found in the JRE when they need to perform actions, they cannot
do by themselves. First, it allows Java programs to be very small compared to other
executable programs. Second, and more importantly, it allows them to be very portable.

JDK

The Java Development Kit (JDK) is a software development environment used for
developing Java applications and applets. It includes the Java Runtime Environment (JRE),
an interpreter/loader (java), a compiler (javac), an archiver (jar), a documentation generator
(javadoc) and other tools needed in Java development.

Java developers are initially presented with two JDK tools, java and javac. Both are run
from the command prompt. Java source files are simple text files saved with an extension
of .java. After writing and saving Java source code, the javac compiler is invoked to create
.class files. Once the .class files are created, the 'java' command can be used to run the java
program.

There are different JDKs for various platforms. The supported platforms include Windows,
Linux and Solaris. Mac users need a different software development kit, which includes
adaptations of some tools found in the JDK.

pg. 38

You might also like