Car Rental Management System - System Architecture Document
Short Description
PHP, Mysql...
Description
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
4
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
4
3.
Architectural Goals and Constraints
5
4.
Use-Case View
5
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
View more...
Comments