Title Page/Front Page
“Car Dealer System”
A Minor Project I Report Master of Computer Applications 2008-2011
Guided by:- Mrs.Riya Dahale
Submitted :-rahul mishra
“To Produce Value Based World Class Professionals and Develop Technologies to Serve the Society Globally”
Approval Sheet The project entitled, “Car Dealer System”, is successfully accomplished by “rahul Mishra” of IV semester and is approved towards the partial fulfillment for the requirement of degree of Master of Computer Applications (MCA).
Project Guide
Internal Examiner
Head of Department
External Examiner Principal
2
ACKNOWLED GEMENT The whole process of developing the project has been quite an experience; a lot of new and interesting things helped me in making this Project a success. We are highly indebted to Mrs.Nidhi Dahale for all the help they provided us throughout the project completion. They were closely involved during all stages of development, right from its inception implementation. We wish to express our heartiest and venerable regards to our H.O.D.Mrs. Kshama Paithankar .We are highly indebted to respected madam for all the support that she has always provided for getting all the information for project. We are also expressing our gratitude to all the professor of I.I.S.T. Institute for providing us valuable support and inspiration all through our M.C.A course. We are also thankful to the library staff of our Institute for their help and for providing books and information to us regarding this project. We express our profound gratitude to all friends who have made innumerable contribution affection and support for the completion of this project successfully and effectively. rahul Mishra (Semester IV)
3
CHAPTER-1
INTRODUCTION
1.1 Project Over View:4
This application is meant for users (Employees and Customers) who can access the information from database about the car. Our objective is executives and administrators can easily automate their work with less effort. For example they can generate quotations for any enquiry for a car in no time. They can also have the customer’s feedback to the show room authority regarding show room services.
1.2 Technology Over View : Java Technology, J2EE,Swings
MySQL Server 5.01.
About JAVA and its importance:Java is related to C++, which is a direct descendent of C. Much of the character of Java is inherited from these two languages. From C, Java derives its syntax. Many of Java’s object-oriented features were influenced by C++. In fact, several of Java’s defining characteristics come from—or are responses to—its predecessors. Moreover, the creation of Java was deeply rooted in the process of refinement and adaptation that has been occurring in computer programming languages for the past three decades. For these reasons, this section reviews the sequence of events and forces that led up to Java. As you will see, each innovation in language design was driven by the need to solve a fundamental problem that the preceding languages could not solve. Java is no exception. The Creation of Java:Java was conceived by James Gosling, Patrick Naughton, Chris Warth, Ed Frank, and Mike Sheridan at Sun Microsystems, Inc. in 1991. It took 18 months to develop the first working version. This language was initially called “Oak” but was renamed “Java” in 1995. Between the initial implementation of Oak in the fall of 1992 and the public announcement of Java in the spring of 1995, many more people contributed to the design and evolution of the language. Bill Joy, Arthur van Hoff, Jonathan Payne, Frank Yellin, and Tim Lindholm were key contributors to the maturing of the original prototype. Somewhat surprisingly, the original impetus for Java was not the Internet! Instead, 5
the primary motivation was the need for a platform-independent (that is, architectureneutral) language that could be used to create software to be embedded in various consumer electronic devices, such as microwave ovens and remote controls. As you can probably guess, many different types of CPUs are used as controllers. The trouble with C and C++ (and most other languages) is that they are designed to be compiled for a specific target. Although it is possible to compile a C++ program for just about any type of CPU, to do so requires a full C++ compiler targeted for that CPU. The problem is that compilers are expensive and time-consuming to create. An easier— and more cost-efficient—solution was needed. In an attempt to find such a solution, Gosling and others began work on a portable, platform-independent language that could be used to produce code that would run on a variety of CPUs under differing environments. This effort ultimately led to the creation of Java.
Java’s Magic: The Bytecode:The key that allows Java to solve both the security and the portability problems just described is that the output of a Java compiler is not executable code. Rather, it is bytecode. Bytecode is a highly optimized set of instructions designed to be executed by the Java run-time system, which is called the Java Virtual Machine (JVM). That is, in its standard form, the JVM is an interpreter for bytecode. This may come as a bit of a surprise. As you know, C++ is compiled to executable code. In fact, most modern languages are designed to be compiled, not interpreted—mostly because of performance concerns. However, the fact that a Java program is executed by the JVM helps solve the major problems associated with downloading programs over the Internet. Here is why. Translating a Java program into bytecode helps makes it much easier to run a program in a wide variety of environments. The reason is straightforward: only the JVM needs to be implemented for each platform. Once the run-time package exists for a given system, any Java program can run on it. Remember, although the details of the JVM will differ from platform to platform, all interpret the same Java bytecode. If a Java program were compiled to native code, then different versions of the same program would have to exist for each type of CPU connected to the Internet. This is, of course, not a feasible solution. Thus, the interpretation of bytecode is the easiest way to create truly portable programs. The fact that a Java program is interpreted also helps to make it secure. Because the execution of every Java program is under the control of the JVM, the JVM can contain the program and prevent it from generating side effects outside of the system. As you will see, safety is also enhanced by certain restrictions that exist in the Java language. Technical Feasibility:6
Technical feasibility centers on the existing computer system and to what extent it can support the proposed addition. This project is technically feasible as no special software other than jdk 1.6.0_05
and MySQL Server 5.01 is used for
database connectivity. The following are the possible ways in which we can implement our project: For coding of Eclipse 3.2 is used where we write java code. JDK 1.5 is used for implementation. For our system 586/200 MHz or faster processor, 512 MB of RAM or more,100 MB free hard disk space or more.
1.3
Organization Over View:-
Today is the era of information technology and everything is going to be computerized. Almost all institute, company and organization are using computer in their day to day activities. They combine their computers and form network so that they can share their resource and data. Many software companies are working to develop SOFTWARE APPLICATIONS for different organizations in almost every domain. For developing any software from scratch much of the effort, time and money are required. To make standalone USER APPLICATION, you will probably need the following expertise: •
A computer interface designer
•
A database programmer
•
Experienced, knowledgeable script writer. 7
•
And Knowledge of Technology.
Now the main issue involved here is how the efforts of these expertise’s can be saved. All organization needs their system to be automated these days therefore they give their projects to the software companies. We are going to develop an application for car dealers, because the manual approach used by the various car dealers is very cumbersome and required lots of paper work. So car dealer/showrooms needs this type of system that will help them to improve their efficiency and overall results of the car show room. Also this approach is more customers friendly.
1.3.1 Software Process Model:The designer's goal is to produce a model or representation of an entity that will later be built. Software design sits at the technical kernel of software engineering and is applied regardless of the software process model that is used. Beginning once software requirements have been analyzed and specified, software design is the first of three technical activities—design, code generation, and test—that are required to build and verify the software. Each activity transforms information in a manner that ultimately results in validated computer software. In order to evaluate the quality of a design representation, we must establish technical criteria for good design. Later in this chapter, we discuss design quality criteria in some detail. For the time being, we present the following guidelines: 1. A design should exhibit an architectural structure that (1) Has been created using recognizable design patterns. (2) Is composed of components that exhibit good design characteristics.
8
(3) Can be implemented in an evolutionary fashion, thereby facilitating Implementation and testing . 2. A design should be modular; that is, the software should be logically Partitioned into elements that perform specific functions and sub functions . 3. A design should contain distinct representations of data, architecture, Interfaces and components (modules). 4. A design should lead to data structures that are appropriate for the objects to be implemented and are drawn from recognizable data patterns. 5. A design should lead to components that exhibit independent functional characteristics. 6. A design should lead to interfaces that reduce the complexity of connections between modules and with the external environment. 7. A design should be derived using a repeatable method that is driven by information obtained during software requirements analysis.
Translating the analysis model into a software design
9
CHAPTER-2
System Analysis
10
2.1 Preliminary Investigation:In this section we had done a deep analysis of the proposed system in which we studied about the feasibility of our “Car Dealer System” which was further divided into three categories which are economical, technical and behavioral. We also did the requirement analysis and the specifications were noted and worked upon to find an optimal solution. In our report a proper Entity-relationship diagram and class diagram has been shown to understand the working ability of the system. 2.1.1 Identification Of Need :Can automated their manual work related to car sales. This project is based on database server technology; therefore user (Employees, administrator) can access the car information using this application software with the help of their respective username and password from a system. Through this stand until now there were no (or very less) such system available by which the car show room alone application user can access car details, generate bills for car sale, quotations etc. Through this application, an administrator can modify, delete, add the car records easily and user of the organization also accesses this application easily and properly. We can upload the current updates regarding cars available in the show room, time of delivery, list of all the cars using this application. The application that we have developed is user friendly and easy to operate because there are lots of easily available options which will provide you all the information. Even a new user or novice can get use to after once he had used our application.
11
2.1.2
Feasibility study:-
Technical Feasibility:Technical feasibility centers on the existing computer system and to what extent it can support the proposed addition. This project is technically feasible as no special software other than jdk 1.6.0_05
and MySQL Server 5.01 is used for
database connectivity. The following are the possible ways in which we can implement our project: For coding of Eclipse 3.2 is used where we write java code. JDK 1.5 is used for implementation. For our system 586/200 MHz or faster processor, 512 MB of RAM or more,100 MB free hard disk space or more. Economical Feasibility:The project is economically feasible as there is no special investment that has to be done for hardware and software. This project requires just a computer with minimum requirement. No investment in maintaining the database is required Economic feasibility is the most frequently used method for evaluating the effectiveness of a candidate system. More commonly known as cost/ benefit analysis, the procedure is to determine the benefit and saving that are expected from a candidate system and compare them with the costs. This project “Car Dealer System” is economic feasible according this specification. Because it has 1) Low maintenance cost. 2) Low development cost. 12
Behavioral Feasibility:This feasibility tells how much the project and user of the project are adaptable to change. Since, this project will be requiring only the knowledge of the internet ,which will used to open our website and this website provides very user friendly interface so that is easily adoptable. Our project will behave in very simple manner because most of the users who will access it will be not be so user friendly and they will need a simple working of the system so that they could understand it easily and use it properly. This make sour project Behavioral feasible. Time Feasibility:Our project has a length enough that can be completed in a given period of Time. So our project fulfills the Time Feasibility Constraint. Resource Feasibility:As such we do not have any special hardware and software resource Requirement and the human resource is competent enough to complete the Project in a specific time .Thus the Resource Feasibility is also fulfilled. 2.2 Requirment Analysis :In this section we had done a deep analysis of the proposed system in which we studied about the feasibility of our “Car Dealer System” which was further divided into three categories which are economical, technical and behavioral. We also did the requirement analysis and the specifications were noted and worked upon to find an optimal solution. In our report a proper Entity-relationship diagram and class diagram has been shown to understand the working ability of the system.
13
2.2 .1 Existing system:In the Present System, the Car dealers and Customers have no or very few dynamic medium to show all the Car Models, Catalogs, quotations etc. if any customer wants to buy any car or needs any inquiry about the same. The existing system is very slow and not very attactive for the customers to expose many cars and their features even if they are not available in the show room at present. Customers have to compromise with the available car models in the absence of particular car information or less information available. 2.2.2
Propose System:Our System is based on client server technology; According to this
technology we have developed an application for any car dealer/ show room. In this application we manage all the car related information in the database. Our interfaces for users are developed using JAVA technology and we have used MySQL Server 5.01 for database connectivity.
2.2.3
Data Flow Diagram:-
Administrator
Car Dealer System
Employee
Context diagram 14
Request
Car Dealer System
Response
Fig3.1: Level 0 DFD
15
CHAPTER-3
Software Design
16
3.1 Design Objective And Continents:The waterfall process model used to divide tasks for developing software.
Analysis Planning
Designing
Implementation Documentation
Delivery Report
3.2 Design Methodology / Technique:-
17
This application is stand alone application with database storing all the information. Database can be located on database server.Database may be on the same machine or any dedicated machine for database server.basically uses application provides the capability to use the most cost – effective user interface, data storage, and database connectivity and application services. Organizations competeing in the market place further increase the need to take the advantage of benefits available from applications build on Client/Server model. Client/Server computing in its best implementations moves the data-capture and information-processing functions directly to the knowledgeable worker—i.e., the worker with the ability to respond to errors in data and the worker with the ability to use the information made available. Systems used in the front office, directly involved in the process of doing the business, are forced to show value. If they don’t, they are discarded under the Cost pressure of doing business. System that operate in the back room after the business process is complete or frequently designed and implemented to satisfy an administrative need, without regard to their impact on the business operations .Client/Server applications integrate the front and back office processes because data capture and usage becomes an integral part of the business rather than an after-thefact administrative process. In this mode of operation, the processes are continuously evaluated for effectiveness. Client/Server computing provides the technology platform to support the vital business practice of continuous improvement. The client/server computing model provides the means to integrate personal productivity applications for an individual employee or manager with specific
business data processing needs to satisfy total information processing for the entire enterprise.
18
3.3
Database Design:-
3.3.1 E.R Diagram :-
Fig : ER Diagram for Car Dealer System
19
3.3.2 Table Structure:-
S. No.
Task Name
Start
Finish
Week’s (Approx.)
1
Analysis&Planning 02/02/11
28/02/11
3
2
Designing
01/03/11
23/03/11
3
3
Coding
26/03/11
15/04/11
3
4
Testing
16/04/11
30/04/11
2
5
Implementation
01/5/11
08/5/11
1
6
Documentation
09/5/11
25/5/11
2
7
Total
-
-
14
20
3.4 UML Views:3.4.1 Class Diagram:-
: Ad m in is tra to r
L o g in
L o g in C o n tro lle r
D a ta b a s e
u n a m e ,p a s s w o rd s u b m it ch e ck u n a m e , p w d
Fig 1 :Class Diagram
21
3.4.2 Object Diagram :-
Login
Change Password
Administrator
Do Payment
Employee Show Car Details
Register Employee
Search Car
Enter Customer Details
22
3.5
Input & Output Design:-
3.5.1 Screen Layout:-
Login page:
23
Main Window:
24
Change Password Window:
25
Search Car Window:
26
Add Car Window:
27
Payment by Cash Window:
28
CHAPTER-4
Testing
29
Testing:Software testing is a critical element of software quality assurance and represents the ultimate reviews of specification, design and coding. Testing is concerned with uncovering of the system error. Testing involves the process of checking the system thoroughly and making shore that no unwanted result it shows. So that user can access it properly and with any error.
4.1 Objective of Testing are: Testing is done with intent of finding an error. A good test case is one that has high probability of finding an uncovered error. Testing is done in order to check the various control flow of system. Testing makes the system to work all its features properly without showing any unexpected result. 4.2 Testing Methodologies: White Box Testing:Each and every module of the project has been tested sufficiently by applying various test cases. The testing has been carried out in following categories:
Condition Testing:- In this type , all the conditions and the constraints which are applied in our system are tested. This makes shore that all the specifications which are required in the system are working as they are intended to do so 30
Data Flow Testing:-In this type, all the data entry fields are tested so that they are generating a error if wrong data is entered into the text box. for example if user enter alphabets in the text box of age of the student then the system will generate an error Loop Testing:- In this type, all the loops which are used in the coding phase of the system development are tested. This makes shore that no exception occurs into the system.
Input
Outpu t
Black Box Testing:This testing focuses on the functional requirements of the project. The project has been sufficiently gone through the tests discovering following: Interface errors Errors in Data Structures Performance Errors Initialization and Termination Errors 31
Input
Output
Graphical User Interface Testing:For the Project “Car Dealer System” following steps have been followed to test the GUI: The users must enter all correct entries of particular field related to their links.
The user must follow all the process which are required to get the information and to provide the feedback.
Testing Data Set:All the data sets are tested thoroughly and this helps in getting rid of all the errors and exception will be generated due to the lack of the data requested by the user in the database. Our project i.e. Car Dealer System needs no special type of testing for the data set. Because in our project the user will get all the information from the database in a
32
predefined format set by the system developer. No other special information will be providing to the user. This makes our project simple in testing phase. Results/ Set:Tester’s will find the bugs during testing and edit the bugs related information on the data base and last they will send a message( which contain developer email address and Bug Id) to the developer with in the intranet. Developer will provide the solution regarding bugs and edit the solution in the data base, which we can use in future for removing bugs from our developing application. Administrator will perform following task: Edit / Delete / modify the information of tester and developer which will work on web application. As our system will produce the car information in a strict format which needs no special type of testing? And this our project very simple in testing phase.
33
CHAPTER-5
Implementation
34
5.1 Installation Requirement:Implementation means converting a new or revised system design into an operational one. Implementation is the stage of the project when theoretical design is turned into a working system. This means that the new design is implemented to establish a working system design. This stage should be handled carefully to achieve a new successfully running system giving the user confidence that the new system will work efficiently and as per the requirements.
For understanding any project some basic requirement should be fulfilled. For example, this project is build around the client server architecture. So the reader should be clear with the architecture. Also the project is developed in java Swing, so the reader needs to have knowledge to them also. So the reader has to be familiar with it also. Apart from the technology there are some specific terms used in the context of the project. So the meaning of all the terms should be clear, before diving into the intricacies of the project. Nevertheless, we are providing a brief overview of the technology that we have used and also we are providing the illustrated meaning of the terms that we have used, so that reader can have the basic understanding about our project at the first look.
35
CHAPTER-6
Conclusion & Discussion
36
6.1 Limitations of Project:Though our project is very useful for the Car Dealers. But our system had some limitations in it which decreases its scope. We have identified following limitations: In this system, database for the cars in the showroom need to be updated manually as and when needed. As our application is offline so employees can not operate this application while being at home and not coming to show room. There is no provision for customers to use our application. All the information must be provided on demand by the employees of the show room. Customer can not have the car information or place the order staying at home itself due the offline system
6.2 Difficulties encountered:During the development of the Car Dealer System we had face a lots of difficulties, but not the major ones of them. We had to design such an application which was removing the demerits of the existing system. We have to keep in mind that lot of user who are accessing this site are not computer friendly and it was a challenge to make the system user friendly and to provide all the
convenience of the people who will working in this
environment.
37
6.3 Future Enhancements Possible:The future enhancements are as follows:
In future we will enhance this application to work online using JSP and Servlet.
In future, all the updates about the cars will be centralized because of the application being online.
Provision for customer to access our system will be available.
Users will be able to visit our show room being at home due to the system being online.
38
CHAPTER-7
Bibliography & References
39
7.1 Reference Books:-
1. JAVA 2 Complete Reference. 2. Java 2 - Volume II Advanced Features 5th Edition 3. java how to program 6th by Deitel and Deitel 4. Java The primer by E. Balagurusamy.
7.2 Other Documents & Resources:1. 2. 3.
www.java2s.com www.javabeginner.com www.java.sun.com
4. 5.
www.w3schools.com www.google.com
40
41