Sukkur IBA University
Software Design Specification (SDS)
For
Plan-it
Version 1.0
Group Members:
Muhammad Malook
Supervisor:
Mr. Noor Nabi
Project Code
Internal Supervisor Mr. Noor Nabi
External Supervisor
Project Manager
Project Team Muhammad Malook
Submission Date
1
Document History
Version Name of Person Date Description of change
1.0 Muhammad Malook 3/03/2022 Document Created
1.0 Muhammad Malook 5/03/2022 Added Use Case Diagram
1.0 Muhammad Malook 6/03/2022 Added Sequence Diagrams
1.0 Muhammad Malook 9/03/2022 Added Test cases
1.0 Muhammad Malook 11/03/2022 Added Interface Design
1.0 Muhammad Malook 15/03/2022 Added ERD diagram of System
1.0 Muhammad Malook 16/03/2022 Added Database Diagram
1.0 Muhammad Malook 17/03/2022 Added Class Diagram
1.0 Muhammad Malook 17/03/2022 Added References
1.0 Muhammad Malook 18/03/2022 Reviewed whole document
2
Distribution List
Name Role
External Supervisor
Project Manager
Document Sign-Off
Version Sign-off Authority Project Role Sign-off Date
3
Table of Contents
Table of Contents 4
1. Introduction of Design Document 5
2. Entity Relationship Diagram (ERD) 5
6
3. Sequence Diagrams 6
4. Sequence Diagrams 6
4.1 Sign up Sequence Diagram: 7
4.2 Login Sequence Diagram: 8
4.3 Create Event Sequence Diagram: 9
4.4 View & Invite member Sequence Diagram: 10
4.5 View & Assign Task Sequence Diagram: 11
4.6 View & Add Guests Sequence Diagram: 12
4.7 View & Add notes Sequence Diagram: 13
4.8 View Events Sequence Diagram: 14
4.9 View notifications Sequence Diagram: 15
4.10 Update profile Sequence Diagram: 16
5. Architecture Design Diagram 17
6. Database Diagram 18
7. Class Diagram 19
8. Interface Design 20
20
9. Test Cases: 23
In this section of document, some of the test cases have been written. 23
References 28
4
1. Introduction of Design Document
The purpose of this document is to have a well-structured, diagrammatic design and
description of the overall system namely, “Plan-it”. With a high-level design framework, this
document includes sequence wise modules that represent; Entity Relationship Diagram (ERD),
Sequence Diagrams, use case diagram, Architecture Design Diagram, Database Diagram, Class
Diagram, Interface Design and Test Cases of the System.
2. Entity Relationship Diagram (ERD)
The system will use NoSQL MongoDB Database, however the data fields, their relation
can still be defined. The diagram below describes all the entities as “Collections”, which have
logical relationship represented by their cardinality order. Each record in collection is
represented as “Document”. The format is typically similar to JavaScript Object structure.
The diagram was designed using Moon Modeler tool (Modeler, n.d.).
Figure 1 : Entity Relationship Diagram of plan-it
5
3. Use Case Diagram
Use-case diagrams describe the high-level functions and scope of a system. These diagrams also
identify the interactions between the system and its actors. The use cases and actors in use-case
diagrams describe what the system does and how the actors use it, but not how the system
operates internally. Below diagram is made by using star UML tool.
6
Figure 2 : Use Case Diagram of plan-it
4. Sequence Diagrams
The Sequence Diagrams are used to show the interactions between objects in a single Use
case and in sequential order (Visual-Paradigm, n.d.). We have designed the Sequence Diagram to
show how objects interact with each other for our proposed system. Star UML tool was used to
design these Diagrams (UML, n.d.).
4.1 Sign up Sequence Diagram:
Figure 3: Sign up
7
4.2 Login Sequence Diagram:
Figure 4: Login
8
3.3 Create Event Sequence Diagram:
Figure 5: Create event
9
4.4 View & Invite member Sequence Diagram:
Figure 6: view and invite member
10
4.5 View & Assign Task Sequence Diagram:
Figure 7: View and Assign task
11
4.6 View & Add Guests Sequence Diagram:
Figure 8: view and Add guests
12
4.7 View & Add notes Sequence Diagram:
Figure 9: View and add notes
13
4.8 View Events Sequence Diagram:
Figure 10: view Events
14
4.9 View notifications Sequence Diagram:
Figure 11: view notifications
15
4.10 Update profile Sequence Diagram:
Figure 12: Update profile
16
5. Architecture Design Diagram
The architecture design diagram of the system is presented in this section. The System will
follow Client-Server architecture, where client can communicate with Server using HTTP over TCP/IP
communication protocols. REST APIs will be written on server side to manage business logic and those
will be consumed at client side. The server will further access the data store to perform SELECT,
UPDATE, INSERT, DELETE and other necessary operations. Following diagram was designed using
Draw.io (Draw.io, n.d.).
Figure 13: Architecture Design Diagram of Plan-it
17
6. Database Diagram
All Collections of Database are defined in following diagram with their column
names, relationship and datatype for each column. Following diagram was designed using Draw.io
(Draw.io, n.d.).
Figure 14: Database Diagram of Plan-it
18
7. Class Diagram
The class diagram for plan-it is given below. There are total 22 classes with instance
variables having getter and setter methods/functions. Two enum types are also created to defines
necessary constants.
Following diagram was designed using Draw.io (Draw.io, n.d.).
Figure 15: Class Diagram of Plan-it
19
8. Interface Design
Here are some of the interfaces that have been implemented.
Figure 16 & 17: welcome page and sign in screen
20
Figure 18 & 19: Signup and homepage screens
21
Figure 20: profile screen
22
9. Test Cases:
In this section of document, some of the test cases have been written.
TC-01 Valid Signup details
Test case Id TC-01
Test Scenario: User provide details to get registered into the system
Pre-condition User should have the app installed
User should be connected to the internet
Steps # Test Steps
1. Go to the Signup screen
2. Enter Full name
3. Enter email
4. Enter Phone number
5. Enter valid Password
6. Click Signup
Test data:
Fullname:Muhammad Malook
Username: [email protected]
Password: malook.12
Phone.:03043223343
Expected outcome: User is registered into the system
23
Display Home screen to the user
Actual results: User is registered
TC-02 Invalid Signup details
Test case Id TC-02
Test Scenario: User provide details to get registered into the system
Pre-condition User should have the app installed
User should be connected to the internet
Steps # Test Steps
1. Go to the Signup screen
2. Enter Fullname
3. Enter invalid Username
4. Enter invalid Password
5. Enter invalid phone number
6. Click Signup
Test data:
fullname:Malook
Username: malook
Password:malook.1
Phone:0304223
fullname:Malook
Username: malook
Password:malk
Phone:fsn322
Expected outcome: User is not registered into the system
User must put correct data
System should ask user to re Enter the data
Actual results: User is registered
TC-03 Empty Signup details
Test case Id TC-03
Test Scenario: User does not provide details to get registered into the system
24
Pre-condition User should have the app installed
User should be connected to the internet
Steps # Test Steps
1. Go to the Signup screen
2. User does not enter any field
3. Click Signup
Test data:
fullname
Username:
Password:
Phone:
Expected outcome: User is not registered into the system
User must be on signup screen
System should ask user to enter the data
Actual results: User is registered
TC-04 Login valid credentials
Test case Id TC-04
Test Scenario: Verify that the users are authenticated
Pre-condition User must be registered into the system
Steps # Test Steps
1. Go to the login screen
2. Enter valid Username
3. Enter valid Password.
4. Click Login
Test data:
Username: [email protected]
Password: malook.12
Expected outcome: User is logged into the system successfully
Display Home screen to the user.
Actual result: User logins successfully
25
TC-05 Login invalid credentials
Test case Id TC-05
Test Scenario: Verify that the users are not authenticated
Pre-condition User must be registered into the system
Steps # Test Steps
1. Go to the login screen
2. Enter invalid Username
3. Enter invalid Password
4. Click Login
Test data:
1. Username:[email protected]
Password: maloop.12
2. Username: malok
Password: malook.12
3. Username: malook1
Password: malook
Expected outcome: Home screen should not be displayed to the user
User should get an error message
User should be asked to re-Enter the data
Actual results User is logged into the system
TC-06 Empty Login credentials
Test case Id TC-06
Test Scenario: User does not provide login credentials
Pre-condition User must be registered into the system
Steps # Test Steps
1. Go to the login screen
2. User does not enter any field
3. Click Login
Test data:
Username:
26
Password:
Expected outcome: Home screen should not be displayed to the user
User should get an error message
User should be asked to enter the data
Actual results User is logged into the system
Table 1: Possible test cases of the system
27
References
Draw.io. (n.d.). Draw.io. From Draw.io: https://app.diagrams.net/
Modeler, M. (n.d.). Moon Modeler. From Moon Modeler:
https://www.datensen.com/data-modeling/moon-modeler-for-databases.html
UML, S. (n.d.). Star UML. From Star UML: https://staruml.io/
Visual-Paradigm. (n.d.). Sequence Diagram. From Visual-Paradigm:
https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-sequence-
diagram/
28