Software Design Document: Carpool System
Software Design Document: Carpool System
Software Design Document: Carpool System
DESIGN
DOCUMENT
GROUP SUCH
CARPOOL SYSTEM
OVERVIEW
TABLE OF CONTENT
1. OVERVIEW .........................................................................................................................................................7
1.1. SCOPE ..............................................................................................................................................................7
1.2. PURPOSE ........................................................................................................................................................7
1.3. INTENDED AUDIENCE..............................................................................................................................7
2. DEFINITIONS.....................................................................................................................................................8
3. CONCEPTUAL MODEL FOR SOFTWARE DESIGN DESCRIPTION.................................................9
3.1. SOFTWARE DESIGN IN CONTEXT .......................................................................................................9
3.2. SOFTWARE DESIGN DESCRIPTIONS WITHIN THE LIFE CYCLE.............................................9
3.2.1. INFLUENCES ON SDD PREPARATION ...........................................................................................9
3.2.2. INFLUENCES ON SOFTWARE LIFE CYCLE PRODUCTS ..........................................................9
3.2.3. DESIGN VERFICATION AND DESIGN ROLE IN VALIDATION ..............................................9
4. DESIGN DESCRIPTION INFORMATION CONTENT ........................................................................ 10
4.1. INTRODUCTION ....................................................................................................................................... 10
4.2. SDD IDENTIFICATION ........................................................................................................................... 10
4.3. DESIGN STAKEHOLDERS AND THEIR CONCERNS .................................................................... 10
4.4. DESIGN VIEWS .......................................................................................................................................... 10
4.5. DESIGN VIEWPOINTS ............................................................................................................................ 10
4.6. DESIGN ELEMENTS ................................................................................................................................ 11
4.6.1. DESIGN ENTITIES ............................................................................................................................... 11
4.6.2. DESIGN ATTRIBUTES........................................................................................................................ 11
4.6.3. DESIGN RELATIONSHIPS ................................................................................................................ 12
4.6.4. DESIGN CONSTRAINTS..................................................................................................................... 12
4.7. DESIGN RATIONALE............................................................................................................................... 12
4.8. DESIGN LANGUAGES .............................................................................................................................. 13
5. DESIGN VIEWPOINTS ................................................................................................................................. 14
5.1. INTRODUCTION ....................................................................................................................................... 14
5.2. CONTEXT VIEWPOINT .......................................................................................................................... 14
5.2.1. SIGN UP ................................................................................................................................................... 16
5.2.2. SIGN IN .................................................................................................................................................... 16
Page 2
OVERVIEW
Page 3
OVERVIEW
Page 4
OVERVIEW
TABLE OF FIGURES
Figure 1. Visualization of Use Case Diagram .........................................................................................................................15
Figure 2. Visualization of Sign Up Use Case Diagram ........................................................................................................16
Figure 3. Visualization of Sign In Use Case Diagram ..........................................................................................................16
Figure 4. Visualization of Sign Out Use Case Diagram .......................................................................................................17
Figure 5. Visualization of Add Transportation Route Use Case Diagram ..................................................................17
Figure 6. Visualization of Delete Transportation Route Use Case Diagram .............................................................18
Figure 7. Visualization of Request Transportation Route Use Case Diagram .........................................................18
Figure 8. Visualization of Search Transportation Route Use Case Diagram ............................................................19
Figure 9. Visualization of Send Message Use Case Diagram ...........................................................................................19
Figure 10. Visualization of Reply to Message Use Case Diagram ..................................................................................20
Figure 11. Visualization of Block User Use Case Diagram ...............................................................................................20
Figure 12. Visualization of Rate User Use Case Diagram .................................................................................................21
Figure 13. Visualization of Change Language Use Case Diagram .................................................................................21
Figure 14. Visualization of Class Diagram ..............................................................................................................................22
Figure 15. Visualization of User Class Diagram....................................................................................................................23
Figure 16. Visualization of Transportation Class Diagram ..............................................................................................24
Figure 17. Visualization of Message Class Diagram ...........................................................................................................25
Figure 18. Visualization of ReceivedMessage Class Diagram .........................................................................................25
Figure 19. Visualization of Rating Class Diagram ................................................................................................................26
Figure 20. Visualization of DriverRating Class Diagram ..................................................................................................26
Figure 21. Visualization of HitchhikerRating Class Diagram..........................................................................................27
Figure 22. Visualization of LoginUser Class Diagram ........................................................................................................27
Figure 23. Visualization of ER Diagram ...................................................................................................................................28
Figure 24. Visualization of System Component Diagram .................................................................................................29
Figure 25. Visualization of User Component Diagram ......................................................................................................29
Figure 26. Visualization of Server Component Diagram ..................................................................................................30
Figure 27. Visualization of Sign Up User Interface .............................................................................................................31
Figure 28. Visualization of Sign In User Interface ...............................................................................................................32
Figure 29. Visualization of Add Transportation User Interface ....................................................................................33
Figure 30. Visualization of Sign Up Sequence Diagram ....................................................................................................34
Figure 31. Visualization of Sign In Sequence Diagram ......................................................................................................35
Figure 32. Visualization of Sign Out Sequence Diagram ..................................................................................................36
Figure 33. Visualization of Add Transportation Route Sequence Diagram..............................................................37
Figure 34. Visualization of Delete Transportation Route Sequence Diagram .........................................................38
Figure 35. Visualization of Request Transportation Route Sequence Diagram .....................................................39
Page 5
OVERVIEW
Page 6
OVERVIEW
1. OVERVIEW
Software Design Document (SDD) of Carpool provides necessary definitions to
conceptualize and further formalize design of the software, whose requirements and
functionalities were summarized in Software Requirements Specifications (SRS) Report. Aim is
to provide guidance to a design which could be easily implemented by any programmer reading
this report. The document complies with the IEEE standards (IEEE Std 1016 – 2009).
1.1. SCOPE
This complete SDD will contain the general definition and features of the project, design
constraints, the overall system architecture and data architecture, a brief explanation about our
current progress and schedule of the project. With the help of UML diagrams, design of the
system and subsystems/modules will be explained visually in order to help the programmer to
understand all information stated in this document correctly and easily.
1.2. PURPOSE
This SDD is intended to provide a software system design which will satisfy functional and
nonfunctional requirements stated in SRS Document of Carpool. Purpose of this document is
serving as a guideline throughout development phase of the project for developers.
Page 7
DEFINITIONS
2. DEFINITIONS
DEFINITIONS TABLE
TERMS DEFINITIONS
Acquirer Project Consultant – Atilla Ozgit
Customer Drivers and Hitchhikers
GUI Graphical User Interface
DBMS Database Management System
IEEE Institute of Electrical and Electronics Engineers
SDD Software Design Description
SRS System Requirements Specification
API Application Programming Interface
PHP Hypertext Preprocessor
Hitchhiker User accompanies the driver during the transportation
Driver User who owns the car
Route Transportation path
SMS Short Message Service
CAPTCHA Completely Automated Public Turing test to tell Computers
and Humans Apart
ER Entity Relation
HTML Hyper Text Markup Language
UML Unified Modeling Language
Page 8
CONCEPTUAL MODEL FOR SOFTWARE DESIGN
DESCRIPTION
Page 9
DESIGN DESCRIPTION INFORMATION CONTENT
For instance, we are about to integrate an activity module to our system, MVC architecture
and object-oriented design provide us an environment to adapt our web application to this new
feature easily. Context view gives us structured analysis context diagram and UML use case
diagram of systems services and users. Interface views clearly specify which inputs give which
outputs.
Page 10
DESIGN DESCRIPTION INFORMATION CONTENT
In addition, information view provides us persistent information with help of UML class
diagram and entity relation diagram. With composition view we made team organization. This
view also shows estimated cost, staffing and scheduling. Relationships of the classes are easily
perceived. Interaction views gives service definition and service access. Interface viewpoint is
needed for the test cases. It includes the details of the external and internal interfaces. State
dynamic view shows the state transitions with diagrams.
DEFINITIONS TABLE
Page 11
DESIGN DESCRIPTION INFORMATION CONTENT
Moreover, with object-oriented design we can easily maintain our project as we mentioned
before we can easily add some extra features and identify the source of error and fixed it
immediately. Finally, each function in the software will be commented so that it can be
Page 12
DESIGN DESCRIPTION INFORMATION CONTENT
understandable for the other developers and also they can change the code by help of these
comments.
We choose six viewpoints which are Context Viewpoint, Logical Viewpoint, Information
Viewpoint, Interface Viewpoint, Interaction Viewpoint, State Dynamic Viewpoint.
Logical Viewpoint is chosen because object-oriented systems such as our system can be
illustrated with class diagrams very easily and effectively.
Information Viewpoint is chosen because database management is crucial for our system
and it should be handled in more detail in terms of ER Diagrams.
Interface Viewpoint is chosen because our system is a web-based application and user
behavior is very significant on our system. Therefore, we should provide some user interfaces
and component diagram to handle over this issue.
System reactions to user events, such as sign up and sign in events, should be clear for both
developers and stakeholders. For that reason, Interaction Viewpoint is chosen.
In our system and almost all web-based applications, every single web page can be
considered as a state and transitions between states are very crucial. Therefore, we chose to use
State Dynamic Viewpoint.
Page 13
DESIGN VIEWPOINTS
5. DESIGN VIEWPOINTS
5.1. INTRODUCTION
In this document, five viewpoint are designed for the system as listed below;
Context Viewpoint
Logical Viewpoint
Information Viewpoint
Interface Viewpoint
Interaction Viewpoint
State Dynamic Viewpoint
Page 14
DESIGN VIEWPOINTS
Page 15
DESIGN VIEWPOINTS
5.2.1. SIGN UP
Users need to be signed up in order to benefit from the website. They need to specify
their unique username and password. They are required to enter their name, surname, e-
mail, age, job, phone and gender.
5.2.2. SIGN IN
Users may sign in to the system by entering their unique username and password in
main page. He/She needs to be signed up first.
Page 16
DESIGN VIEWPOINTS
Page 17
DESIGN VIEWPOINTS
Page 18
DESIGN VIEWPOINTS
Page 19
DESIGN VIEWPOINTS
Page 20
DESIGN VIEWPOINTS
Page 21
DESIGN VIEWPOINTS
Page 22
DESIGN VIEWPOINTS
5.3.1.1. FIELDS
id : This is an integer value that is unique for every user. This id is chosen by the
system.
username : This is a string value that is unique for every user. This is selected by
the user.
password : Every user has his/her own password that is selected by him/her.
name : This is first name of the user.
surname : This is family name of the user.
age : This is age of the user
job : This is job of the user
photo : This is image of the user.
email : This is e-mail of the user. Every user has to have unique e-mails.
phone : This is phone number of the user.
gender : This is sex of the user.
sendMessages : This is the messages that are sent by the user.
receivedMessages : This is the messages that are sent to the user.
ratingList : This is the list of rating that are done to the user.
Page 23
DESIGN VIEWPOINTS
5.3.1.2. FUNCTIONS
addTransportation : This function is called when user hits add button in add
transportation page. And add the specified transportation to transportation list.
searchTransportation : This function is called when user hits search button in
search transportation page. And finds all transportations that includes the
specified route.
rateUser : This function is called when a user wants to rate a user that he/she
transported with.
5.3.2.1. FIELDS
route : This is the specific route for the transportation. This is an object of
DirectionsRoute class of Google Map API.
neededPassengerNumber : This is the number of people that might enter the
transportation.
driverId : That is the id of the user that created the transportation and is the
driver of the transportation.
Page 24
DESIGN VIEWPOINTS
5.3.3.1. FIELDS
senderId : Id of the user who sent the message.
receiverId : Id of the user to whom the message was sent.
text : Body of the message.
5.3.4.1. FIELDS
isRead : This fields is about whether the message has been read by the user or
not.
5.3.4.2. FUNCTIONS
setAsRead : This functions marks the message as read.
setAsUnRead : This function marks the message as unread.
Page 25
DESIGN VIEWPOINTS
5.3.5.1. FIELDS
punctuality : This is the rating criteria about users attending transportation on
time.
companionship : This is the rating criteria about friendship of the user during
the transportation.
honesty : This is the rating criteria about users being honest.
overallrating : This is the rating criteria about general attitudes of the user.
5.3.6.1. FIELDS
safeDriving : This criteria is about carefulness of the driver during the
transportation.
comfort : This criteria is about comfort of the transportation vehicle
Page 26
DESIGN VIEWPOINTS
5.3.7.1. FIELDS
hygieneAndNeatness : This criteria is about users being clean and not griming
the car.
5.3.8.1. FIELDS
id : This is the id of current logged in user.
Page 27
DESIGN VIEWPOINTS
Page 28
DESIGN VIEWPOINTS
User Component aims to visualizes events from the system and react the user
event to the system via Web browsers. User Component has three inside components in
terms of User Management, Bootstrap and User Interface Component.
Page 29
DESIGN VIEWPOINTS
User Interface Component aims to show interface of the system to users via
HTML.
Server Component aims to handle control of data flow over the system as
managing the server side. Server Component has two components in terms of Server
Management and Database Component.
Page 30
DESIGN VIEWPOINTS
Page 31
DESIGN VIEWPOINTS
Google map API interface is shown in the middle of the page to pin directions of
the route on the map.
The other alternative of determine the route via filling the textbox of start
location and end location.
Page 32
DESIGN VIEWPOINTS
Page 33
DESIGN VIEWPOINTS
5.6.1. SING UP
User performs register operation by this functionality. User enters his or her name,
surname, password and e-mail information and receives verification e-mail send by the
system. By confirming register information, user successfully finish the register operation.
Page 34
DESIGN VIEWPOINTS
5.6.2. SIGN IN
After sign up process, user can sign in to the system by entering his or her account
information. Then, user can benefit from system functionalities.
Page 35
DESIGN VIEWPOINTS
When the user click sign out button through the system interface, he or she can perform
secure exit from the system. All cookies and sessions will be cleared by the system.
Page 36
DESIGN VIEWPOINTS
User selects transportation route from Google Map and fills other necessary information
required for the route. After this step, system stores user’s route data through database
service.
Page 37
DESIGN VIEWPOINTS
This functionality is used for deletion of a selected route from route list of a user. When
the deletion is successful, the deleted route will no longer be available to the user.
Page 38
DESIGN VIEWPOINTS
When user logs in to the system, he or she can request transportation route from the
driver. After the request, system sends e-mail and sms to driver about requested route. From
that point, if hitchhiker and driver settle on the route, system adds this route related to both
user.
Page 39
DESIGN VIEWPOINTS
The system provides search about available routes to its users. To accomplish this
functionality, user shall enter his or her starting and destination point of a route. After that,
system lists all available transportations related to these points.
Page 40
DESIGN VIEWPOINTS
The system has capability of messaging between its users. To accomplish this, sender
user shall enter receiver’s profile page and click the send message button. After that point,
message panel will be loaded and send message will be stored to database by the system.
Page 41
DESIGN VIEWPOINTS
User can list his or her messages by clicking message box in profile page. And he or she
selects row which is intended to reply. After that, user can click send message button and
message panel will be loaded by the system.
Page 42
DESIGN VIEWPOINTS
User can block another user by the system. To accomplish this, first user shall enter the
intended user’s profile page and click block user button. After this point, system removes
the blocked user from communication list of a user. When the operation is successfully
executed, user will lose contact with the blocked user.
Page 43
DESIGN VIEWPOINTS
Hitchhikers can rate drivers by the system. When the hitchhiker logs in to the system
after the transportation, system loads a popup window related to driver specific attributes.
And hitchhiker can rate driver by clicking the star icon on the popup window.
Page 44
DESIGN VIEWPOINTS
System supports Turkish and English languages. There is a button top of the main page
interface. By clicking this button, user can change language of a system and system loads
related page content from the server and user can view system with desired language.
Page 45
DESIGN VIEWPOINTS
Page 46
DESIGN VIEWPOINTS
Page 47
PLANNING OF THE PROJECT
PLANNING TABLE
DATE TASK
16.12.2013 Sign Up and Sign In Modules should be completed.
06.01.2014 Add Transportation Module should be completed.
27.01.2014 Search Transportation and User Profile Modules should be completed.
17.03.2014 Rating Module should be completed.
21.04.2014 Messaging Module should be completed.
28.04.2014 Compatibility of whole system should be completed.
12.05.2014 Unit Testing should be done.
26.05.2014 System Testing should be done.
02.06.2014 System Release.
Page 48