100% found this document useful (3 votes)
363 views

Software Design Specifications v1

This document is a software design specification for version 00.04 of the Caravan project. It provides an introduction, outlines the project scope, describes assumptions and dependencies, and identifies risks. It also includes sections on system architecture, software architecture, database design, application design including sequence diagrams, state diagrams, and GUI mockups. The intended audience is current developers and future developers.

Uploaded by

Rafay Saeed
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
100% found this document useful (3 votes)
363 views

Software Design Specifications v1

This document is a software design specification for version 00.04 of the Caravan project. It provides an introduction, outlines the project scope, describes assumptions and dependencies, and identifies risks. It also includes sections on system architecture, software architecture, database design, application design including sequence diagrams, state diagrams, and GUI mockups. The intended audience is current developers and future developers.

Uploaded by

Rafay Saeed
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 22

DHA Suffa University

Department of Computer Science

Software Design Specifications

Caravan
Version: 00.04

Project Code
Supervisor Twaha Ahmed Minai
Co Supervisor Dr. Hironao Takahashi
Project Team Rameez Raja
Mahad Saddique
Irtija Alam

Submission Date 1/4/2018

In partial fulfilment of the requirements for the degree of


Bachelor of Science
(2018)
<Project code> Software Design Specification <Version 00.04>

Document History
Versio Name of Person Date Description of change
n
0.01 Rameez Raja 20/3/2018 Added Sequence and State
diagrams
0.02 Irtija Alam 23/3/2018 Added Class diagram
0.03 Mahad Siddiqui 24/3/2018 Added Database Design

Distribution List
[Following table will contain list of people whom the document will be distributed after every sign-off]

Page 2 of 22 of
<Project code> Software Design Specification <Version 00.04>

Name Role
Twaha Ahmed Minai Supervisor
Dr. Hironao Takahashi Co Supervisor

Document Sign-Off
[Following table will contain sign-off details of document. Once the document is prepared and revised, this
should be signed-off by the sign-off authority.
Any subsequent changes in the document after the first sign-off should again get a formal sign-off by the
authorities.]

Version Sign-off Authority Project Role Signatur Sign-off


e Date

Document Information

Page 3 of 22 of
<Project code> Software Design Specification <Version 00.04>

Category Information
Customer Personal Project
Project Caravan
Document Software Design Specification
Document Version 1.0
Status Draft
Rameez raja
Author(s) Mahad Sadique
Irtija Alam
Approver(s) Twaha Ahmed Minai
Issue Date 1/4/2018
Document Location Karachi
Distribution Supervisor

Definition of Terms, Acronyms and Abbreviations


Term Description
ASP Active Server Pages
DD Design Specification

Page 4 of 22 of
<Project code> Software Design Specification <Version 00.04>

Table of Contents

1 6Introduction8
1.1 Purpose of Document 8
1.2 Intended Audience 8
1.3 Document Convention 8
1.4 Project Overview 8
1.5 Scope 8

2 7
2.1 Assumptions and Dependencies 9
2.2 Risks and Volatile Areas 9

3 8
3.1 System Level Architecture 10
3.2 Software Architecture 10

4 8

5 9
5.1 Design Class Diagram 12
5.2 Database Design 12
5.2.1 ER Diagram 12
5.2.2 Data Dictionary 12
5.2.2.1 Data 1 12
5.2.2.2 Data 2 12
5.2.2.3 Data n 12
5.3 Application Design 14
5.3.1 Sequence Diagram 14
5.3.1.1 <Sequence Diagram 1> 14
5.3.1.2 <Sequence Diagram 2> 14
5.3.1.3 <Sequence Diagram n> 14
5.3.2 State Diagram 14
5.3.2.1 <State Diagram 1> 14
5.3.2.2 <State Diagram 2> 14
5.3.2.3 <State Diagram n> 14
5.4 GUI Design 14
5.4.1 <Use Case Name - Mock Screen 1> 14
5.4.2 <Use Case Name - Mock Screen 2> 14
5.4.3 <Use Case Name - Mock Screen 3> 15

6 22

7 Error! Bookmark not defined.

Page 5 of 22 of
<Project code> Software Design Specification <Version 00.04>

1 Introduction
1.1 Purpose of Document
This document is created to maintain the design specification of our project, it will
provide clarity of what we shall develop and the document can be used by developers or
reviewers for their understanding.

1.2 Intended Audience


This document is intended for current developers and for any future developer and
Documents is for supervisors to grant sign off of specification or any change in it.

1.3 Document Convention


Font style: Arial
Font size: Text 11, Subheading 14 , Heading 16

1.4 Project Overview


Carpooling is the sharing of car journeys so that more than one person travels in a
car, and prevents the need for others to have to drive to a location themselves. By having
more people using one vehicle, carpooling reduces each person's travel costs and the
stress of driving. Car sharing is a good way to use up the full seating capacity of a car,
which would otherwise remain unused if it were just the driver using the car. The method
of ride-sharing shall be based on the fact that the driver selects and inputs their
destination, then customers are computed based on an algorithm involving their nearby
vicinity, their shared route and in rare cases the same destination.

1.5 Scope
● Payment methods (billing solution, fare estimation) - Tentative.
● Ride share.
● User login system (driver profile management system and customer profile
management system).
● Driver and customer ranking system.
● Run time location tracking.
● Relevant information of route according to user’s preference.

Page 6 of 22 of
<Project code> Software Design Specification <Version 00.04>

2 Design Considerations
2.1 Assumptions and Dependencies
Assumption:
● SMS Verification and Email Verification is a must for users to register. Only verified
and authenticated logged in user can use our service.
● We shall be covering the premises of Karachi city only for our preliminary
coverage, not any other city or country.
● We assume that we shall be using Android OS as a preliminary stage, and would
not focus on compatibilities to other popular OS, such as IOS, unless we find the
adequate need.
● We shall make the application compatible to the following versions of Android OS:
Android Oreo (8.0) Android Nougat (7.0 – 7.1.2) Android Marshmallow (6.0 –
6.0.1)
● We shall be using the following devices for our debugging and testing: Motorola
G4 plus. Samsung S7 Huawei Mate 10
Dependencies:
● User should have a unique id & password for their login process.
● Above 18 years age user should submit their CNIC
● Below 18 years age user should submit their school/college/or any other official
● Only verified and authenticated logged in users shall be the ones to book or to
put their vehicle for carpooling. • Geo-location and mapping system
● User Trust
● Passengers depend on Drivers and vice versa.

2.2 Risks and Volatile Areas


● Risk of creation of an application which targeted user doesn’t want.
● Risk of unsuitable growth of users.
● Risk of focusing on Android Users only. As we are only developing for Android OS.
● Risk of security

Page 7 of 22 of
<Project code> Software Design Specification <Version 00.04>

3 System Architecture
3.1 System Level Architecture

3.2 Software Architecture


NA

4 Design Strategy

4.1 User Interfaces:


Following are three dashboards/interfaces on the application:
1. System Admin Interface
2. Driver Interface.
3. Passenger Interface.

The drivers can initiate carpooling event, view their previous events, update their profile, & view
their feedback given by passengers, through their interface. The passengers can request ride,
view their previous events, update their profile, & view their feedback given by drivers & others
passengers, through their interface. The system admin can view drivers & passengers profile,
feedback. To be precise, the system admin will manage the information through his interface.

4.2 User Experience (UX):


This application will be beneficial for both type of its user. The driver will get their daily travelling
petrol/cng expense covered. The passengers will have to pay less fare as compared to other
vehicle booking app, because the fare will be divided between the passengers. Both the driver
and passengers can give feedback after the ride is ended. Unlike other applications, for security
concerns, women will be given a filter option at the time of booking. they can choose that their
fellow passengers should only be women.

4.3 Technology Stack


Page 8 of 22 of
<Project code> Software Design Specification <Version 00.04>

Following is the Tech Stack:


Native Application: Android Studio
Programming Language: Java

4.3.1 Backend
A custom Backend as a Service (BaaS) might be in order, therefore following are the usage for
the backend:
Hosting: Cloud, such as EC2
Database: Relational DB, SQL, such as MySQL initially for ease. If the total user count
increases on a high rate in future, Non-Relational DB, NoSQL, such as MongoDB nodejs can be
used.

4.3.2 Frontend
This app is specifically designed to perform effectively on only android operating system.
Therefore, our frontend would be developed through Android Studios and the programming
language would be Java. For creative designing, we will use Adobe Photoshop.

5 Detailed System Design


5.1 Design Class Diagram

Page 9 of 22 of
<Project code> Software Design Specification <Version 00.04>

5.2 Database Design


5.2.1 ER Diagram

Page 10 of 22 of
<Project code> Software Design Specification <Version 00.04>

5.2.2 Data Dictionary


5.2.2.1 Data 1

Page 11 of 22 of
<Project code> Software Design Specification <Version 00.04>

5.2.2.2 Data 2

Page 12 of 22 of
<Project code> Software Design Specification <Version 00.04>

5.2.2.3 Data 3

Page 13 of 22 of
<Project code> Software Design Specification <Version 00.04>

5.2.2.4 Data 4

5.2.2.5 Data 5

Page 14 of 22 of
<Project code> Software Design Specification <Version 00.04>

Page 15 of 22 of
<Project code> Software Design Specification <Version 00.04>

5.3 Application Design


5.3.1 Sequence Diagram

5.3.1.1 SignUp

5.3.1.2 Booking

Page 16 of 22 of
<Project code> Software Design Specification <Version 00.04>

5.3.1.3 Update User Profile

5.3.1.4 Creating Carpool Event.

Page 17 of 22 of
<Project code> Software Design Specification <Version 00.04>

5.3.2 State Diagram


5.3.2.1 Booking

Page 18 of 22 of
<Project code> Software Design Specification <Version 00.04>

5.3.2.2 Car

5.4 GUI Design


5.4.1 Mock screens of SignUp & SignIn Process:

Page 19 of 22 of
<Project code> Software Design Specification <Version 00.04>

Page 20 of 22 of
<Project code> Software Design Specification <Version 00.04>

Page 21 of 22 of
<Project code> Software Design Specification <Version 00.04>

5.4.2 Mock screen of creating CarPooling Event:

6 References
http://www.ijritcc.org/download/1429421413.pdf
http://leeds-faculty.colorado.edu/moyes/html/documents/ShredSledBusinessPlan.pdf

http://www.sce.carleton.ca/faculty/wainer/papers/CarPool.pdf

7 Appendices
NA

Page 22 of 22 of

You might also like