Вы находитесь на странице: 1из 18

Software Engineering Project

Car Renting Management System


Software Architecture Document
Version 1.0

CRMS
Software Architecture Document

Version:
1.0
Date: 11-04-2016

Revision History
Date
11-04-2016

Confidential

Version
1.0

Description
Initial design details

Software Engineering Project,


2016

Author
N. Ravindu Hasantha

Page 2 of 18

CRMS
Software Architecture Document

Version:
1.0
Date: 11-04-2016

Table of Contents
1.

Introduction

1.1
1.2
1.3
1.4
1.5

4
4
4
4
4

Purpose
Scope
Definitions, Acronyms, and Abbreviations
References
Overview

2.

Architectural Representation

3.

Architectural Goals and Constraints

4.

Use-Case View

4.1
4.2

6
6

5.

6.

Use case diagram


Use-Case Realizations

Logical View

12

5.1

12

Architecturally Significant Design Packages

Process View

13

6.1

Activity diagrams
6.1.1 Create customer account
6.1.2 Reserve vehicle
6.1.3 Update vehicle details
6.2
Sequence diagrams
6.2.1 Update vehicle details
6.2.2 Reserve vehicle
6.2.3 Search for vehicle

13

7.

Data View

18

8.

Quality

18

Confidential

13
14
15
16
16
17
17

Software Engineering Project,


2016

Page 3 of 18

CRMS
Software Architecture Document

Version:
1.0
Date: 11-04-2016

Software Architecture Document


1.

Introduction

1.1

Purpose
This document provides a comprehensive architectural overview of the system, using a number of different
architectural views to depict different aspects of the system. It is intended to capture and convey the
significant architectural decisions which have been made on the system.

1.2

Scope
The system is divided into two subparts according to the users of the system:
Customer subsystem System consist of all the functionalities related to customers.
Business subsystem System consist of all the functionalities related to business end. (Company staff)
This document covers entire system and all its subparts. The functionalities of the system are also clearly
divided into the above mentioned subparts and explained in simple and understandable way.

1.3

Definitions, Acronyms, and Abbreviations


CRMS Car Renting Management System
SRS Software Requirements Specification
Customer The person who wants to rent a car

1.4

References

[1] "Tutorialspoint," [Online]. Available: http://tutorialspoint.com. [Accessed 08 04 2016].

1.5

Overview
The following is discussed in this document:
Architectural representation in the next section.
Architectural goals and constraints.
Design model diagrams:

2.

Usecase diagram

Class diagram

Activity diagram

Sequence diagram

ER diagram

Architectural Representation

Confidential

Software Engineering Project,


2016

Page 4 of 18

CRMS
Software Architecture Document

Version:
1.0
Date: 11-04-2016

Logical view Class diagram


Process view Activity diagrams, Sequence diagrams
Data view ER diagram

3.

Architectural Goals and Constraints


This system will be using an API to implement the text message sending functionality. Which can be
considered as using an off-the-shelf product

4.

Use-Case View

Following are the main use cases identified in the system


1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.

Customer wants to create an account


Customer wants to login to the system
Customer wants to view vehicle with details
Customer wants to request text message notification
Customer wants to reserve vehicle for renting
Customer wants to update/ cancel reservation
Customer wants to give feedback on vehicle
Admin wants to add/ remove new vehicle/ vehicle category
Admin wants to update vehicle details
Admin wants to change vehicle status
Admin wants to change cost details
Admin wants to view report
System wants to send availability details via text message

Confidential

Software Engineering Project,


2016

Page 5 of 18

CRMS
Software Architecture Document
4.1

Version:
1.0
Date: 11-04-2016

Use case diagram


Following figure is a high level abstraction of usecases found in CRMS. The stakeholder Admin might
be separated into few more stakeholders considering the expansion of the system.

4.2

Use-Case Realizations

Use case name

1.

create an user account

Actor

customer

Description

In order to log in to the system new customer


must create an account providing basic details

preconditions

Customer should have an email address

Main flow

Choosing create account option


Provide basic details including email
Set username and password
Confirm account from email account

Successful end/post condition


Confidential

Success notification & e mail confirmation


Software Engineering Project,
2016

Page 6 of 18

CRMS
Software Architecture Document

Version:
1.0
Date: 11-04-2016

Fail end/post condition

Re submission of the form with changes

Extensions

If the email address or the NIC number already


available in the system, the user will be asked
login with existing account

2.

Use case name

Logging in to the system

Actor

Customer

Description

Customer must log in to use the system

preconditions

Username, password

Main flow

Enter username and password


Log in

Successful end/post condition

Login successful notification and customer view of


the system

Fail end/post condition

Login failed notification & redirect to login page

Extensions

N/A
3.

Use case name

View vehicle with details

Actor

Customer

Description

Customer can search for a vehicle and view the


details

preconditions

Customer must be logged into the system

Main flow

Search for vehicle using keywords


Select the desired vehicle

Successful end/post condition

Detailed view of the vehicle

Fail end/post condition

N/A

Extensions

N/A

Use case name

4.

Request text message notification

Actor

Customer

Description

Customer can request for text message notification


to be received when a vehicle is available

preconditions

Customer must be logged into the system


Vehicle must be unavailable at the moment

Main flow

View vehicle details


Select text message notification function

Successful end/post condition

Function enabled notification

Fail end/post condition

Function enabling failed notification

Confidential

Software Engineering Project,


2016

Page 7 of 18

CRMS
Software Architecture Document
Extensions

Use case name

Version:
1.0
Date: 11-04-2016
In the case of contact number not available, the
customer will be asked to provide an contact
number
5.

Reserve vehicle for renting

Actor

Customer

Description

Customer can reserve the selected vehicle to be


rented

preconditions

Customer must be logged into the system


Selected vehicle must be available in the given
duration

Main flow

View vehicle details


Select vehicle for renting
Fill in necessary details about reservation
Calculate cost (optional)
Confirm vehicle reservation

Successful end/post condition

Successful reservation notification

Fail end/post condition

Reservation failed notification

Extensions

Email notification confirming reservation

Use case name

6.

Update/ cancel reservation

Actor

Customer

Description

Customer can update or cancel the reservation


beforehand

preconditions

Customer must be logged into the system


Customer should have an existing reservation

Main flow

Select the existing reservation


Select update/ cancel reservation option
Update:
Change necessary details
Submit reservation

Successful end/post condition

Successfully updated/cancelled notification

Fail end/post condition

Failed update/cancellation notification

Extensions

Email notification confirming reservation

Confidential

Software Engineering Project,


2016

Page 8 of 18

CRMS
Software Architecture Document

Version:
1.0
Date: 11-04-2016

7.

Use case name

Give feedback on vehicle

Actor

Customer

Description

Customer can provide a feedback about the vehicle


and the service provided by the company

preconditions

Customer must be logged into the system


Customer must have at least one completed renting
process

Main flow

Select renting history


Select the renting instance to give feedback
Fill in the feedback form and submit

Successful end/post condition

Feedback success notification

Fail end/post condition

N/A

Extensions

Feedback is added to the relevant vehicle


8.

Use case name

Add/remove new vehicle/vehicle


category

Actor

Admin

Description

In the case of business expansion, new


vehicles/categories can be added to the system and
also removed from the system.

preconditions

Admin must be logged into the system


When removing vehicle should not be reserved by
a customer

Main flow

Select add new vehicle/ vehicle category function


or remove vehicle/vehicle category function
Add:
Fill the form details and upload relevant pictures
Confirm the addition
Remove:
Confirm removal

Successful end/post condition

Addition/removal success notification

Fail end/post condition

Failed Adding/ removal notification

Extensions

N/A

Confidential

Software Engineering Project,


2016

Page 9 of 18

CRMS
Software Architecture Document

Version:
1.0
Date: 11-04-2016

9.

Use case name

Update vehicle details

Actor

Admin

Description

Details of the vehicles can be changed in the case


of modification

preconditions

Admin must be logged into the system

Main flow

Select vehicle to be updated


Select update function
Enter changed details
Confirm update

Successful end/post condition

Successfully updated notification

Fail end/post condition

Update failed notification

Extensions

N/A
10. Change vehicle status

Use case name


Actor

admin

Description

The availability status of the vehicle can be


changed

preconditions

Admin must be logged into the system

Main flow

Select vehicle
Change status using dispatch or return function

Successful end/post condition

Successfully changed notification

Fail end/post condition

Failed notification

Extensions

N/A
11. Change cost details

Use case name


Actor

Admin

Description

Admin can change the charges of renting

preconditions

Admin must be logged into the system

Main flow

Select vehicle/ vehicle category


Change the charges and confirm

Successful end/post condition

Successfully changed charges notification

Fail end/post condition

Changing charges failed notification

Extensions

N/A

Confidential

Software Engineering Project,


2016

Page 10 of 18

CRMS
Software Architecture Document

Version:
1.0
Date: 11-04-2016

12. View report

Use case name


Actor

Admin

Description

Admin is able view statistical reports regarding the


transactions happened in the system

preconditions

Admin must be logged in

Main flow

Select generate report function


Select the report type and time duration
Generate report

Successful end/post condition

Requested report

Fail end/post condition

Failed to generate report notification

Extensions

N/A
13. Send availability details via text message

Use case name


Actor

System

Description

System will be sending a text message to the


relevant customers regarding availability of a
selected vehicle

preconditions

The requested vehicles status changed from


unavailable to available

Main flow

Generate text message


Send out the text message using text message API

Successful end/post condition

Test message sent successfully

Fail end/post condition

Failed to send message notification

Extensions

N/A

Confidential

Software Engineering Project,


2016

Page 11 of 18

CRMS
Software Architecture Document

Version:
1.0
Date: 11-04-2016

5.

Logical View

5.1

Architecturally Significant Design Packages


The following is a very basic model of the system using UML class diagram. The level of abstraction is
high.
This system is a web based application. More detailed data model of the system is presented in section 7.

Confidential

Software Engineering Project,


2016

Page 12 of 18

CRMS
Software Architecture Document

6.

Process View

6.1

Activity diagrams

6.1.1

Create customer account

Confidential

Version:
1.0
Date: 11-04-2016

Software Engineering Project,


2016

Page 13 of 18

CRMS
Software Architecture Document

6.1.2

Version:
1.0
Date: 11-04-2016

Reserve vehicle

Confidential

Software Engineering Project,


2016

Page 14 of 18

CRMS
Software Architecture Document

6.1.3

Version:
1.0
Date: 11-04-2016

Update vehicle details

Confidential

Software Engineering Project,


2016

Page 15 of 18

CRMS
Software Architecture Document

6.2

Version:
1.0
Date: 11-04-2016

Sequence diagrams

6.2.1

Confidential

Update vehicle details

Software Engineering Project,


2016

Page 16 of 18

CRMS
Software Architecture Document
6.2.2

Reserve vehicle

6.2.3

Search for vehicle

Confidential

Version:
1.0
Date: 11-04-2016

Software Engineering Project,


2016

Page 17 of 18

CRMS
Software Architecture Document

7.

Version:
1.0
Date: 11-04-2016

Data View

The data view is represented using an Entity-Relationship diagram.

8.

Quality
The system architecture will enforce all the capabilities of the system such as extensibility, reliability,
portability.

Confidential

Software Engineering Project,


2016

Page 18 of 18