Академический Документы
Профессиональный Документы
Культура Документы
APPLICATION DEVELOPMENT – II
Of
M.Tech
In
Information Technology
By
AMIT KUMAR
16MIN0810
DOCUMENT APPROVAL
The following Software Design Specification has been accepted and approved by the
following:
2
Software Design Document
Table of Contents
1. INTRODUCTION ............................................................................................................................................ 4
1.1 Description about APD 1 .................................................................................................................... 4
1.2 Purpose................................................................................................................................................. 4
1.3 Scope..................................................................................................................................................... 5
1.4 Overview .............................................................................................................................................. 5
1.5 Reference Material .............................................................................................................................. 6
1.6 Definitions and Acronyms .................................................................................................................. 6
2. SYSTEM OVERVIEW .................................................................................................................................... 6
3. SYSTEM ARCHITECTURE .......................................................................................................................... 7
3.1 Architectural Design.................................................................................................................................. 7
3.2 Decomposition Description ..................................................................................................................... 15
3.3 Design Rationale ...................................................................................................................................... 16
4. DATA DESIGN .............................................................................................................................................. 17
4.1 Data Description ...................................................................................................................................... 17
4.2 Data Dictionary ........................................................................................................................................ 17
5. COMPONENT DESIGN ............................................................................................................................... 20
6. HUMAN INTERFACE DESIGN .................................................................................................................. 22
6.1 Overview of User Interface ..................................................................................................................... 22
6.2 Screen Images .......................................................................................................................................... 24
6.3 Screen Objects and Actions .................................................................................................................... 29
7. REQUIREMENT MATRIX .......................................................................................................................... 30
7.1 Hardware Interfaces................................................................................................................................ 30
7.2 Software Interfaces .................................................................................................................................. 31
7.3 Communications Interfaces .................................................................................................................... 33
8. APPENDICES ................................................................................................................................................ 33
3
Software Design Document
1. INTRODUCTION
This Software design specification specifies the design specifications of the vehicle rental
application, which will be useful to the real time customers. The developers and clients to know
more about the architecture and the designs of the systems or units that are interrelated to each
other will use this document. This will helps the developers to identify the connectivity
between the two layers, which are dependent, with each other.
The module connectivity with the help of ESB layers (which access middleware) is needed to
ensure flawless transactions performed by each Individual Customer.
Car rental application is specifically developed for use who want to rent there vehicle, and
user who want to get a vehicle for rent.
The purpose of the APD 1 SRS document is to collect and analyze all assorted ideas that have
come up to define the system, its requirements with respect to users who will be using this
system. Also, we shall predict and sort out how we hope this system will be used in order to
gain a better understanding of the project, outline concepts that may be developed later, and
document the ideas that are being considered, but may be discarded as the product develops.
In short, the purpose of SRS document is to provide a detailed overview of our software
product, its parameters and goals. This document describes the project's target audience and its
user interface, hardware and software requirements for using the Car Rental System and
Website.
1.2 Purpose
The traditional way of renting a vehicle was to enter the details and record them. Every time
the user needs a vehicle for rent, he has to identify shops, which provide the service, has to
visit each shop to check the available vehicles and there rate. It may be a hard-hitting task for
4
Software Design Document
the users and service providers too. The project gives real life understanding of Internet rental
system and activities performed by various roles in the supply chain.
Here, we provide automation for rental system through Internet. Internet rental system project
captures activities performed by different roles in real life vehicle renting which provides
enhanced techniques for maintaining the required in- formation up-to-date, which results in
efficiency. The project gives real life understanding of rental system and activities performed
by various roles in the supply chain to make their life easier.
The essence of the document helps the engineer (System Developer) to make sure the
qualitative build of the application as well as the reliability, which does not make end users
being burdened at times. This project will allow the developers to know about the data flow
from unit to each other and how the data is being processed.
1.3 Scope
The CRS caters the basic rental services value transactions vehicle registration, booking, cancel
booking, searching for available vehicles and payment methods.
The scope of this project is System Design, which is the process of gathering and interpreting
facts, diagnosing the facts in order to create a new and efficient system. System design is a
creative process the essential feature of a creative process is the association of previously
unconnected concepts. Design requires a complete understanding of the problem. The system
study has set certain well-defined objectivities for the efficient and effective functioning of the
system.
1.4 Overview
The System overview section provides an overall description of the Car functionality, design
and implementation of the project.
The System architecture section provides description the program structure and the relationship
between the modules to achieve the goal of the system.
The data design section provides a detailed description of domain of the system, which is
transformed into data structures.
5
Software Design Document
The last section provides a detailed description about the each component.
http://www.apartmentguide.com/blog/apartment-application-items-you-need/
https://www.clearcarrental.com/terms-conditions
https://olao.od.nih.gov/division-logistics-services/transportation-management-
branch/government-vehicles-daily-use-rental
https://en.wikipedia.org/wiki/Rental_agreement
2. SYSTEM OVERVIEW
System Design is the process of gathering and interpreting facts, diagnosing the facts in order
to create a new and efficient system. System design is a creative process the essential feature
of a creative process is the association of previously unconnected concepts. Design requires a
complete understanding of the problem. The system study has set certain well-defined
objectivities for the efficient and effective functioning of the system. The primary objectives
are furnished below:
6
Software Design Document
3. SYSTEM ARCHITECTURE
3.1 Architectural Design
The Car Rental System is a web-based client/server software application system, which will be
applied on a distributed computing environment. The technique of layered architecture can
provide one basis for geographic distribution. From function and performance viewpoints,
specification of functions within distinct layers allows us to keep similar actions closely
aligned. Layering design can improve simplicity, understandability and maintainability of the
system. We identified the following various sub-systems of the Car rental system: User
Interface subsystem, Event Handler subsystem, Client subsystem, Server subsystem, Database
subsystem. User Interface subsystem provides a user friendly graphical user interface for the
customer to provide and retrieve information. Event Handler subsystem isolates the User
Interface subsystem from the Client subsystem. It separates the physical events from the logical
events. This enables much easier debugging during implementation and during upgrading the
system when new features are added. Client subsystem interacts with the Server subsystem to
fetch various objects based on user requests. It is also responsible to continuously update the
objects resident on the client machine based on the events received from the Event Manager,
which is located in the Server system. Server subsystem serves various clients' requests by
fetching objects from the database. It receives "pushed" events from the Database and updates
the objects resident on the Client subsystem and Server subsystem. For the client side update,
the Event manager communicates with the Client subsystem. And. the Event Manager is
responsible for the server side update. The Event Manager plays a key role in maintaining
consistency of data between the Client, the Server and the Database. Database subsystem
serves objects requested by the customer. It also pushes events to the Event Manager as new
events are recorded on the database.
To understand the need and benefits offered by CRS application we need to know and
understand traditional form of renting vehicles, its limitations and shortcomings.
The user need to visit a rental shop to book a vehicle, he needs to agree to the terms and
conditions. He need to select a vehicle of his choice and budget and make the payment.
Customer has to wait in a queue for his turn for performing any activity.
The customer has to visit the shop to get the vehicle details, rate and availability. Customer
needs to fill up various forms before his query is resolved.
7
Software Design Document
The CRS application will be developed using ASP.Net, SQL Server and JavaScript.
Login:
This module provides the user to login with their Username and Password. If it is the first time,
they can register.
Registration:
This module allows the users and service providers to register if they have not registered. User
has to provide the licence details and upload a scanned copy to verify his identity. Service
provider must enter the vehicle details and contact information.
Booking:
Vehicle Information:
This module provides the details of vehicles registered. Service provider has the option to
view/edit and remove the vehicles registered.
Funds Transfer:
This module provides the option to transfer the amount to service provider after booking
confirmation.
Contact Us:
This module provides the UI to log a complaint or to ask about any application related queries.
8
Software Design Document
9
Software Design Document
SERVICE PROVIDER:-
1) LOGIN: The service provider can log in to the system by giving correct user name and
password.
2) REGISTERATION: The service provider can register if they are not registered in the system.
3) VIEW BOOKING DETAILS: The service provider can view the booking details.
4) CANCEL BOOKING DETAILS: The service provider can cancel booking of vehicle if the
10
Software Design Document
USER
1) LOGIN: The users can log in to the system by giving correct user name and password.
2) REGISTERATION: The users can register if he has not registered in the system.
3) VIEW AVAILABLE VEHICLES: The user can view the list of available vehicles, which
4) CANCEL BOOKING: The user can cancel a booking, which is made by him.
5) MAKE PAYMENT: The users can make payment online or make payment directly to the
service provider.
11
Software Design Document
12
Software Design Document
CUSTOMER
VEHICLE
13
Software Design Document
BOOKING
PAYMENT
14
Software Design Document
Entity
Process
Data flow
Level 1 – DFD:
15
Software Design Document
Choice of Architecture
The Car rental system has to respond to asynchronous events from the customers and the
database. The customers are allowed to view available vehicles, add vehicles modify vehicle
details, book available vehicle, change address and password thus to interact with the system.
The dynamic nature of the various objects contribute the system's dynamic characteristics. A
combination of interactive and dynamic architecture best addresses these requirements.
Scalability
One of the key issues for any online system is its ability to scale up. The Car rental system
should be capable of handling increasing number of users with minimum effect on the response
time. By maintaining a set of active objects on the client machine, the response time is vastly
improved as most of the user requests are served locally. At the same time, the Car rental
16
Software Design Document
system could handle more number of connections in a given time. The overheads involved in
such client side processing are negligible compared to the features it provides.
Concurrency
The Car rental system receives asynchronous events that need to be addressed simultaneously.
The system is divided into suitable independent sub-systems to handle such concurrent events.
Data displayed on the client machine has to be continuously updated as new events are recorded
on the database. The event manager that receives the "pushed" event from the database in turn
interacts with the controller to incrementally refresh the displayed information on the User
interface.
Consistency of data
One of the key issues in the design is the need to maintain consistency of data between the
Client, Server and the Database. The controller and event manager coordinate to maintain
consistency of data across the system.
Persistence
In an effort to provide fault tolerance to the Car system, all active transactions are stored and
continuously updated in the database. In case of a system crash, the transaction objects with
the latest balance could be retrieved.
4. DATA DESIGN
4.1 Data Description
The database subsystem stores al1 the data that the system can provide to its users and the inter-
relationship between the data. Upon user requests, the event handler subsystem may
accordingly search database for information, update data, or save new data into the database
through Client subsystem and Server subsystem. The Database subsystem is connected to
Server subsystem by ODBC as middle ware. Through the query, it can get data from or save
data to database. The query is attached with each component if that component need to access
database.
17
Software Design Document
Table: Vehicle
18
Software Design Document
Table: Booking
This table contains the details of the bookings made by user.
Table: Payment
This table provides the details of the payments done online.
19
Software Design Document
5. COMPONENT DESIGN
This section contains the description of each module in subsystems. It explains the overall
function and purpose of that module.
The User Interface module is composed of al1 levels of user interfaces on the client site, which
are the first and the only means for the user and the Car Rental system to communicate with
each other. Inside this module, not only can al1 interfaces be developed using the same set of
tools and be supported by the same interface applications, but also are al1 interfaces tightly and
dynamically inter-related with each other. Any particular sequential combination of a set of
user interfaces actually represents the sequence of user inputs and system responses. Outside
this module, from a bird's view of the system, this user interface module as a whole performs
the sole function of accepting user input on one side and passing the user message to every
module in Event Handler subsystem on the other side or vice versa.
20
Software Design Document
This module performs the security check for user access to the system information and services.
It verifies the user input, and passes the checked result to the User Interface subsystem by
displaying the different pages according to the different checking result. This module is the
bridge between user interface module and other modules.
This module provides services including registering vehicle details, booking vehicles, and view
booked vehicle details, change addresses and passwords. This module provides services for
current customers of Car rental system with user IDs and passwords.
The following sections introduce the internal component organization of these modules in the
Application subsystem.
Security Module
21
Software Design Document
The Security Module is shown in above Figure. It is to check user whether has desired right to
get the services requested. If the services, which user asks for need security check, the user
interface will show a security check interface, ask user to input user identified id and password.
The user interface passes the message to Security module. There are two phases. In phase 1,
the format of id and password are checked without involving database. ID should consist of
seven digits and password should consisted of string less than eight characters. If input format
is correct, mer check involved data stored database is implemented in phase II. If the user
passes through the security check correctly, the security module passes the control to other
module corresponding to the service user requested. Otherwise, the security module will pass
a message to user interface, and inform that the user has no right to get the services.
The User Interface Specification (UIS) consists of one main graphical user interface (GUI),
which consists with different operations enlisted in the options.
The customer must first register then only the customer can open a new account in the system.
22
Software Design Document
He/She must fill all the details in the form, as well as choose a password in order to login after
the registration.
The system verifies customers input in the field of account no and password, and displays an
error message if the customer enters incorrect information. Thus, if the customer provides an
appropriate data, then he will be allowed to log in.
The sequence diagram shows how the customer can register in the CRS system in order to login
the system. When the customer submits all the details in the form then the system automatically
sends to the database.
23
Software Design Document
24
Software Design Document
Login Page:
25
Software Design Document
26
Software Design Document
27
Software Design Document
28
Software Design Document
Contact Us
Login: Validates the user name and password entered and allows the user to view home page
if validation is success.
29
Software Design Document
Contact Us:
Save Changes: Validate the data and saves the changes in database.
7. REQUIREMENT MATRIX
7.1 Hardware Interfaces
Since web portal have any designated hardware, it does not have any direct hardware interfaces.
The GUI (Graphical User Interface) is managed web browser and the hardware connection to
the database server is managed by the underlying operating system.
30
Software Design Document
Developers can easily access the benefits of these technologies, which include the managed
common language runtime environment (CLR), type safety, inheritance, and so on.
ASP.NET has been designed to work seamlessly with HTML editors and other programming
tools, including Microsoft Visual Studio .NET. Not only does this make Web development
easier, but it also provides all the benefits that these tools have to offer, including a GUI that
developers can use to drop server controls onto a Web page and fully integrated debugging
support.
Developers can choose from the following two features when creating an ASP.NET
application. Web Forms and Web services, or combine these in any way they see fit. Each is
supported by the same infrastructure that allows you to use authentication schemes; cache
frequently used data, or customizes your application's configuration, to name only a few
possibilities.
Web Forms allows us to build powerful forms-based Web pages. When building these pages,
we can use ASP.NET server controls to create common UI elements, and program them for
common tasks. These controls allow we to rapidly build a Web Form
Each of these models can take full advantage of all ASP.NET features, as well as the power of
the .NET Framework and .NET Framework common language runtime.
Accessing databases from ASP.NET applications is an often-used technique for displaying data
to Web site visitors. ASP.NET makes it easier than ever to access databases for this purpose.
It also allows us to manage the database from your code.
31
Software Design Document
Javascript
The most common use of JavaScript is to add client-side behavior to HTML pages, also known
as Dynamic HTML(DHTML). Scripts are embedded in or included from HTML pages and
interact with the Document Object Model (DOM) of the page. Some simple examples of this
usage are:
Loading new page content or submitting data to the server via Ajax without reloading the page
(for example, a social network might allow the user to post status updates without leaving the
page).
Animation of page elements, fading them in and out, resizing them, moving them, etc.
Interactive content, for example games, and playing audio and video. Validating input values
of a Web form to make sure that they are acceptable before being submitted to the server.
Transmitting information about the user's reading habits and browsing activities to various
websites. Web pages frequently do this for Web analytics, ad tracking, personalization or other
purposes.
Because JavaScript code can run locally in a user's browser (rather than on a remote server),
the browser can respond to user actions quickly, making an application more responsive.
Furthermore, JavaScript code can detect user actions that HTML alone cannot, such as
individual keystrokes. Applications such as Gmail take advantage of this: much of the user-
interface logic is written in JavaScript, and JavaScript dispatches requests for information (such
as the content of an e-mail message) to the server. The wider trend of Ajax programming
similarly exploits this strength.
A Web browser is by far the most common host environment for JavaScript. Web browsers
typically create "host objects" to represent the DOM in JavaScript. The Web server is another
common host environment. A JavaScript Web server would typically expose host objects
representing HTTP request and response objects, which a JavaScript program could then
interrogate and manipulate to dynamically generate Web pages.
SQL Database
SQL is a domain-specific language used in programming and designed for managing data held
in a relational database management system (RDBMS), or for stream processing in a relational
data stream management system (RDSMS).
32
Software Design Document
Originally based upon relational algebra and tuple relational calculus, SQL consists of a data
definition language, data manipulation language, and data control language. The scope of SQL
includes data insert, query, update and delete, schema creation and modification, and data
access control. Although SQL is often described as, and largely is, a declarative
language (4GL), it also includes procedural elements.
SQL was one of the first commercial languages for Edgar F. Codd's relational model, as
described in his influential 1970 paper, "A Relational Model of Data for Large Shared Data
Banks." Despite not entirely adhering to the relational model as described by Codd, it became
the most widely used database language.
SQL became a standard of the American National Standards Institute (ANSI) in 1986 and of
the International Organization for Standardization (ISO) in 1987. Since then, the standard has
been revised to include a larger set of features. Despite the existence of such standards, most
SQL code is not completely portable among different database systems without adjustments.
8. APPENDICES
NA
33