Professional Documents
Culture Documents
1. INTRODUCTION
This system “car services” allows providing vehicle for service. If customer got any problem
with his vehicle can request for providing services.Customers can view service details,book
for service,view service status,Post Feedback.Admin can manage services,service charges
and update service status and customer queries.Proposed application uses indexing for
inserting customer details ,service details.Indexing is a data structure technique which allows
you to quickly retrieve records from a database file. An Index is a small table having only
two columns. The first column comprises a copy of the primary or candidate key of a table.
Its second column contains a set of pointers for holding the address of the disk block where
that specific key value stored.
Existing System
Existing system is manual where customer should go and check for available
services and book for services.Need Manual effort not so user friendly.
Proposed System
Proposed application developed using indexing to minimize the disk usage and fasten the
data access.Proposed application provides single platform for customer and admin to manage
car services.
2. LITRATURE SURVEY
Indexing
https://www.geeksforgeeks.org/indexing-in-databases-set-1/
https://www.guru99.com/indexing-in-database.html
Introduction
When we come to technology we are using java JDK 1.6 version , Java is
a programming language originally developed by James Gosling at Sun
Microsystems (which is now a subsidiary of Oracle Corporation) and released
in 1995 as a core component of Sun Microsystems' Java platform. The language
derives much of its syntax from C and C++ but has a simpler object model and
fewer low-level facilities. Java applications are typically compiled to byte code
(class file) that can run on any Java Virtual Machine (JVM) regardless of
computer architecture. Java is a general-purpose, concurrent, class-based,
object-oriented language that is specifically designed to have as few
implementation dependencies as possible. It is intended to let application
developers "write once, run anywhere". Java is currently one of the most
popular programming languages in use, and is widely used from application
software to web applications. Java is a platform independent language.JDK is
the Java Development Kit which includes the Java Runtime Environment (JRE).
JDK is for programmers to write Java programs and applets. Applets are java
executable code that runs in a web browser for example a lot of broadband
speed tests use a java applet that loads in the web browser.JRE must be installed
on the client PC to support the running of the applet. Java is used a lot on the
web and also in mobile phones and consumer devices because java is versatile
and platform independent
One characteristic of Java is portability, which means that computer
programs written in the Java language must run similarly on any supported
hardware/operating-system platform. This is achieved by compiling the Java
language code to an intermediate representation called Java byte code, instead
of directly to platform-specific machine code. Java byte code instructions are
analogous to machine code, but are intended to be interpreted by a virtual
machine (VM) written specifically for the host hardware. End-users commonly
use a Java Runtime Environment (JRE) installed on their own machine for
standalone Java applications, or in a Web browser for Java applets.
Standardized libraries provide a generic way to access host-specific
features such as graphics, threading, and networking.
A major benefit of using byte code is porting. However, the overhead of
interpretation means that interpreted programs almost always run more slowly
than programs compiled to native executables would. Just-in-Time compilers
were introduced from an early stage that compiles byte codes to machine code
during runtime.
Java Implementations
Sun's trademark license for usage of the Java brand insists that all
implementations be "compatible". This resulted in a legal dispute with
Microsoft after Sun claimed that the Microsoft implementation did not support
RMI or JNI and had added platform-specific features of their own. Sun sued in
1997 and in 2001 won a settlement of US$20 million, as well as a court order
enforcing the terms of the license from Sun. As a result, Microsoft no longer
ships Java with Windows, and in recent versions of Windows, Internet Explorer
cannot support Java applets without a third-party plug-in. Sun, and others, have
made available free Java run-time systems for those and other versions of
Windows.
Platform-independent Java is essential to the Java EE strategy, and an even
more rigorous validation is required to certify an implementation. This
environment enables portable server-side applications, such as Web services,
Java Servlets, and Enterprise JavaBeans, as well as with embedded systems
based on OSGi, using Embedded Java environments. Through the new
GlassFish project, Sun is working to create a fully functional, unified open
source implementation of the Java EE technologies. Sun also distributes a
superset of the JRE called the Java Development Kit (commonly known as the
JDK), which includes development tools such as the Java compiler, Javadoc,
Jar, and debugger.
Java Performance
Programs written in Java have a reputation for being slower and requiring
more memory than those written in C. However, Java programs' execution
speed improved significantly with the introduction of Just-in-time compilation
in 1997/1998 for Java 1.1 the addition of language features supporting better
code analysis (such as inner classes, String Buffer class, optional assertions,
etc.), and optimizations in the Java Virtual Machine itself, such as Hotspot
becoming the default for Sun's JVM in 2000. Currently, Java code has
approximately half the performance of C code.Platforms offer direct hardware
support for Java; there are microcontrollers that can run java in hardware
instead of a software JVM, and ARM based processors can have hardware
support for executing Java byte code through its Jazelle option.
Garbage collection may happen at any time. Ideally, it will occur when a
program is idle. It is guaranteed to be triggered if there is insufficient free
memory on the heap to allocate a new object; this can cause a program to stall
momentarily. Explicit memory management is not possible in Java.
Java does not support C/C++ style pointer arithmetic, where object addresses
and unsigned integers (usually long integers) can be used interchangeably. This
allows the garbage collector to relocate referenced objects and ensures type
safety and security.
Java contains multiple types of garbage collectors. By default, Hotspot uses the
Concurrent Mark Sweep collector, also known as the CMS Garbage Collector.
However, there are also several other garbage collectors that can be used to
manage the Heap. For 90% of applications in Java, the CMS Garbage Collector
is good enough.
o Processor : i3
o RAM : 8GB
Tool : Eclipse
System Design
The purpose of the design phase is to plan a solution of the problem specified
by the requirements document. This phase is the first step in moving from the
problem domain to the solution domain. In other words, starting with what is
needed; design takes us toward how to satisfy the needs. The design of a system
is perhaps the most critical factor affecting the quality of the software; it has a
major impact on the later phases particularly testing and maintenance.
Architecture design.
Detailed design.
Architecture Design:
It is common practice to draw a context-level data flow diagram first, which shows
the interaction between the system and external agents which act as data sources
and data sinks. On the context diagram (also known as the 'Level 0 DFD') the
system's interactions with the outside world are modeled purely in terms of data
flows across the system boundary. The context diagram shows the entire system as
a single process, and gives no clues as to its internal organization. This context-
level DFD is next "exploded", to produce a Level 1 DFD that shows some of the
detail of the system being modeled. The Level 1 DFD shows how the system is
divided into sub-systems (processes), each of which deals with one or more of the
data flows to or from an external agent, and which together provide all of the
functionality of the system as a whole. It also identifies internal data stores that
must be present in order for the system to do its job, and shows the flow of data
between the various parts of the system.
A process transform data values. The lowest processes are our functions without
side effects.
Data flows
A data flow connects the output of an object or process to the input of another
object or process.
Actors
An actor is an active object that drives the data flow graph by producing or
consuming values.Actors are attached to the inputs and outputs of a dataflow
graph.
Data store
A data store is a passive object within a data flow diagram that stores data for
later access.
any activities(jobs);
individual components of the system and how they can interact with other
software components;
how the systems will run;
how entities interact with others(components and interfaces);
external user interface;
Use case diagrams model the functionality of a system using actors and use
cases. Use cases are services or functions provided by the system to its users.
Use case diagrams are usually referred to as behavior diagrams used to describe
a set of actions (use cases) that some system or systems (subject) should or can
perform in collaboration with one or more external users of the system (actors).
Each use case should provide some observable and valuable result to the actors
or other stakeholders of the system.
Actor
An actor is a person, organization or external system that plays a role in one or
Use case
A rectangle is drawn around the use cases, called the system boundary box, to
indicate the scope of the system. Anything within the box represents
functionality that is in scope and anything outside the box.
Use case Diagram for User
Sequence diagram
The Sequence Diagram models the collaboration of objects based on a time
sequence. It shows how the objects interact with others in a particular scenario
of a use case. With the advanced visual modelling capability, you can create
complex sequence diagram in few clicks. Besides, Visual Paradigm can
generate sequence diagram from the flow of events which you have defined in
the use case description. The sequence diagram models the collaboration of
objects based on a time sequence. It shows how the objects interact with others
in a particular scenario of a use case. It depicts the objects and classes involved
in the scenario and the sequence of messages exchanged between the objects
needed to carry out the functionality of the scenario.
Symbols used in Sequence diagram:
Lifelines
Message
Messages, written with horizontal arrows with the message name above them
display information.
Activation box
Activation box are opaque rectangles drawn on top of lifelines to represent that
4. IMPLEMENTATION
The Waterfall Model was first Process Model to be introduced. It is also
referred to as a linear-sequential life cycle model. It is very simple to
understand and use. In a waterfall model, each phase must be completed fully
before the next phase can begin. This type of model is basically used for the
project which is small and there are no uncertain requirements. At the end of
each phase, a review takes place to determine if the project is on the right path
and whether or not to continue or discard the project. In this model the testing
starts only after the development is complete. In waterfall model phases do not
overlap.
PURPOSE OF TESTING
Finding defects which may get created by the programmer while developing the
software.
To prevent defects.
To make sure that the end result meets the business and user requirements.
To ensure that it satisfies the BRS that is Business Requirement Specification and
SRS that is System Requirement Specifications.
To gain the confidence of the customers by providing them a quality product.
TYPES OF TESTING
Internal system design is not considered in this type of testing. Tests are based on
requirements and functionality. This method is named so because the software program, in
the eyes of the tester, is like a black box; inside which one cannot see. Black box testing is a
testing technique that ignores the internal mechanism of the system and focuses on the output
generated against any input and execution of the system. It is also called functional testing.
LEVELS OF TESTING
4. ACCEPTANCE TESTING
Acceptance Testing is a level of the software testing process where a system is tested
for acceptability. The purpose of this test is to evaluate the system’s compliance with the
business requirements and assess whether it is acceptable for delivery.
REGRESSION TESTING
The purpose of regression testing is to confirm that a recent program or code change
has not adversely affected existing features. Regression testing is nothing but full or partial
selection of already executed test cases which are re-executed to ensure existing
functionalities work fine. This testing is done to make sure that new code changes should not
have side effects on the existing functionalities. It ensures that old code still works once the
new code changes are done.
Test Test case name Test case test steps test data Expected Actual Status
case Description output output
Id
1 Customer login validate Customer Enter valid mailId: Customer Customer Pass
login username Password login should login is
and password be successful
successful
2 Customer login validate Customer Enter invalid mailId error error Pass
login username and password message as message as
valid “enter valid “enter valid
password username/p username/p
assword” assword” is
should be displayed
displayed
3 View Services Customer view Select service Service data Customer Customer Pass
service details must view successfully
services and sent service
request for request and
a service service
details are
visible in
service page
5 View Bill Bill details Select view userId and Customer Bill data Pass
bill service id must be displayed
able to view successfully
bill details
Conclusion:
Car service management is an user friendly web application ,which gives single
platform for both user and service provider,where provider can upload service
details and customer can request for service using web application.Proposed
application is secured and automates the existing manual process of booking
services.
References:
Books:
Websites:
https://www.javatpoint.com/cpp-tutorial
https://www.programiz.com/cpp-programming
https://www.cplusplus.com/doc/tutorial/
https://www.tutorialspoint.com/cplusplus/index.htm
https://www.tutorialspoint.com/data_structures_algorithms/hash_data_structure.htm
https://www.geeksforgeeks.org/hashing-data-structure/