SDD Mes3043
SDD Mes3043
SDD Mes3043
SOFTWARE DESIGN
GROUP PROJECT
PREPARED FOR
GROUP: B3
MATRIC
NO. STUDENT NAME
NUMBER
Version 4.0
Revision History
Document Approval
The following Software Requirement and Specification has been accepted and approved by
the following:
1.0 Introduction
1.1 Purpose 1
1.2 Scope
1
1.3 Definitions
2
1.4 Reference
2
1.5 Overview
2
This section gives a scope of description and an overview of everything included in this
Software Design Document (SDD) document. The purpose of this document is
described, and a list of abbreviations and definitions is provided.
1.1 Purpose
The purpose of this document is to provide detailed information on the designs of all
functions and specifications for the Rabbit Laundry Delivery Service System. This
document will give detailed explanations of the overall architectural design, the
diagram design of the interface, and design details with descriptions. The diagram in
this document uses the Unified Modeling Language (UML) standard. This document
was prepared for the sole purpose of acceptance by a client and as a guide for the
development team to implement the first testing version of the product.
1.2 Scope
The Rabbit Laundry Delivery Service System is an application that allows users to
easily send and receive clean laundry during their packed schedule. The app will also
notify the user if the laundry is finished cleaning and give them the option to either pick
it up themselves or have it delivered to their doorstep.
DOCUMENT IDENTIFICATION
1.3 Definitions
Term Definition
1.4 Reference
- https://organizing.tv/best-laundry-delivery-services/
- https://www.sapphiresolutions.net/blog/top-10-trending-laundry-service-apps-
easy-to-use-apps
1.5 Overview
The remaining section of this document will include a general description of the system
that will soon be built, as mentioned in Section 2 of this document, that also provides
several informational items on the system perspective and its functions, user
characteristics, general constraints, assumptions, and dependencies. Section 3 will give
more specific requirements about the external interfaces for building user, hardware,
software, and communication interfaces. Explanations about the details of the system
to be built will be present within Section 3, including overall functional requirements,
use cases, an activity diagram, a class diagram, and quality requirements. Section 4 will
explicitly provide the various interfaces that are related to the Rabbit Laundry Delivery
Service System as well as many different analytical diagrams and models. This will be
shown and explained to give stakeholders and clients a grasp on the project.
DOCUMENT IDENTIFICATION
This is the architectural design view for the Rabbit Laundry Delivery Service
Application. The Rabbit Laundry Delivery Service Application is installed on the
smartphone via the Play Store, App Store, and Huawei App Gallery. There are a few
functions in the application, which include the Face ID function, the Quick Response
(QR) function, the Live Location function and the Premium User function. The Face
ID function needs to use a Face ID Scanner and built-in camera in the smartphone to
scan the user's face for a login alternative. The Quick Response (QR) function also
needs to use the built-in camera on the smartphone and the QR Code Scanner to scan
the QR code for payment purposes. The QR code will be generated when the user
DOCUMENT IDENTIFICATION
chooses to do the transaction using the QR code. In this application, a cloud database
is used to store the user's data. The Rabbit Laundry Delivery Service Application uses
Application Programming Interface (API) to communicate with Banking Service for
payment purposes and the Google Maps Service for tracking purposes. API also used
to communicate with company servers.
The Rabbit Laundry Delivery Service Application uses the layered architecture pattern
in its architecture diagram. The layered architecture pattern has each layer handling
different types of roles. The presentation layer is responsible for user interaction with
the application. The business layer handles application function sets that are available
to the end users. The data service layer is responsible for encapsulating the logic for
retrieving, storing, updating, and deleting data, shielding the rest of the application from
the complexities of the underlying data storage technology. Layered architecture
supports scalability by allowing individual layers to be scaled independently. For
DOCUMENT IDENTIFICATION
instance, if the application experiences increased user demand, the presentation layer
can be scaled horizontally to handle more user requests, while the underlying business
logic and data access layers can remain unchanged. In some cases, the layered
architecture can lead to duplication of code or data transformations across layers. For
example, if the data access layer and the business logic layer perform similar
transformations on data, it can result in redundant code and increased maintenance
effort. Ensuring consistency and avoiding duplication across layers can be challenging.
DOCUMENT IDENTIFICATION
Rabbit Laundry Delivery Service application ADV3 describes all the subsystems in the
application. There are 6 subsystems in this application, which are the Account
Subsystem, View Status Subsystem, Menu Subsystem, Order Service Subsystem,
Payment Subsystem, and Tracking Subsystem. Users have to register or sign in as a
member in order to login before they can access the other subsystems. All subsystems
in Rabbit Laundry Delivery Service Application send and receive request data / service
through Application Programming interface (API) that connects to the Cloud Database.
There are three layer in these Architecture Design View 3 which are presentation layers
that contain User interface (UI) and the components that process the UI components
where the functions are presented to the end user. In the presentation layer, Rabbit
Laundry Delivery Service users can view the service that are been requested through
the user interface. Business layer contains application functions that are available to the
end users. It will provide and get data from Rabbit laundry Delivery Service user by
using API for the services. Data service layer allows Rabbit laundry Delivery Service
users to access the data or service requested. For instance, view service provided, scan
QR code, use real-time tracking
DOCUMENT IDENTIFICATION
Account Subsystem To View Account Account Details Package Account Details Validation Account Details DataAccess
Details Package Package
Component P1.1
UIAccountHomepage Component B1.1 Component D1.1
GetAccountDetails() GetAccountDetails_sendData()
Component P1.2
UIAccountMenu Component B1.2 Component D1.2
SenttoValidateDataEntries() GetAccountDetails_DataEntry()
Component P1.3
UIViewAccountDetails Component B1.3
ValidateUsingDatabase()
DOCUMENT IDENTIFICATION
Component B1.4
SaveValidateResults()
Component B1.5
GetUIViewAccountDetails()
DOCUMENT IDENTIFICATION
DOCUMENT IDENTIFICATION
View Status To View The Status Of Laundry View Laundry Status UI View Laundry View Laundry
Subsystem Order Package Validation Package DataAccess Package
DOCUMENT IDENTIFICATION
DOCUMENT IDENTIFICATION
Menu Subsystem To display options of Menu UI Package Menu Validation Package Menu DataAccess Package
the subsystem
Component P3.1 Component B3.1 Component D3.1
UIHomepage getViewStatus() ViewStatusDataAccess_SendRequest()
DOCUMENT IDENTIFICATION
DOCUMENT IDENTIFICATION
DOCUMENT IDENTIFICATION
Order Service Display Order Service Display Order Service UI Display Order Service Display Order Service
Subsystem Provided Package Validation Package Data Access Package
DOCUMENT IDENTIFICATION
Component P4.5
UIViewOrderServiceDetail
Error
DOCUMENT IDENTIFICATION
DOCUMENT IDENTIFICATION
Payment Make Payment Using Payment Option UI Payment Option Validation Payment Option
Subsystem Online Banking And E- Package Package DataAccess Package
Wallet
Component P5.1 Component B5.1 Component D5.1
UIOrderService getUserBankAcc() payment_SendRequest()
DOCUMENT IDENTIFICATION
Component P5.4
UIPaymentSuccessful
Component P5.5
UIPaymentUnsuccessful
DOCUMENT IDENTIFICATION
DOCUMENT IDENTIFICATION
Tracking Subsystem Tracking Tracking Location Tracking Location Option Tracking Location Option
Location Option UI Package Validation Package DataAccess Package
Maps
Component P6.1 Component B6.1 Component D5.1
UIHomepage sendValidationLocationAccess DataLocationAccess_sendRequest()
()
Component P6.2 Component D5.2
UICamera Component B6.2 DataLocationAccess_ReceiveRequest()
receiveValidationLocationAcce
Component P6.3 ss ()
UIScanLocation
DOCUMENT IDENTIFICATION
DOCUMENT IDENTIFICATION
Design Goals QR_ID Quality Requirements Design Criterion Group Design Criterion Subsystem Involved
DESIGN GOAL QR001 Rabbit Laundry Delivery Service RELIABILITY AVAILABILITY Login Subsystem
1 App should work all the time, Homepage Subsystem
24/7 View Status
Subsystem
Menu Subsystem
Order Service
Subsystem
Payment Subsystem
Tracking Subsystem
DESIGN GOAL QR002 Rabbit Laundry Delivery Service USABILITY EASE OF USE Payment Subsystem
2 App QR code reader and face ID Login Subsystem
detection should be user-friendly
DOCUMENT IDENTIFICATION
DESIGN GOAL QR003 Rabbit Laundry Delivery Service PERFORMANCE RESPONSIVENESS Payment Subsystem
3 App QR code reader should be Login Subsystem
able to detect QR codes, and Face
ID should be able to detect the
user's face
DESIGN GOAL QR004 Rabbit Laundry Delivery Service PERFORMANCE SPEED Login Subsystem
4 App should be able to launch Homepage Subsystem
quickly and work as responsive View Status
Subsystem
Menu Subsystem
Order Service
Subsystem
Payment Subsystem
Tracking Subsystem
DOCUMENT IDENTIFICATION
DESIGN GOAL QR005 Rabbit Laundry Delivery Service PERFORMANCE EASY TO Login Subsystem
5 App should be able to finish DOWNLOAD Homepage Subsystem
downloading under 1 minutes on View Status
the user’s mobile device Subsystem
Menu Subsystem
Order Service
Subsystem
Payment Subsystem
Tracking Subsystem
DESIGN GOAL QR006 Rabbit Laundry Delivery Service PERFORMANCE STORAGE Login Subsystem
6 App should be able to store many
user account information in the
database
DOCUMENT IDENTIFICATION
Design Goals QR_ID Quality Requirements Design Criterion Group Design Criterion Subsystem Involved
DESIGN GOAL 1 QR001 Rabbit Laundry Delivery RELIABILITY AVAILABILITY Login Subsystem
Service App should work all Homepage
the time, 24/7 Subsystem
View Status
Subsystem
Menu Subsystem
Order Service
Subsystem
Payment Subsystem
Tracking Subsystem
DOCUMENT IDENTIFICATION
Issues:
DOCUMENT IDENTIFICATION
DOCUMENT IDENTIFICATION
DESIGN GOAL 2 QR002 Rabbit Laundry Delivery USABILITY EASE OF USE Payment Subsystem
Service App QR code reader Login Subsystem
and face ID detection should
be user-friendly
Issues:
DOCUMENT IDENTIFICATION
Rabbit Laundry Delivery Service App involves implementing security measures to ensure that only authorized
users can access the app and its features. This can be achieved through various means such as requiring users
to set up a secure account, utilizing secure login methods such as password protection, or using face ID
detection. Additionally, this application can also guarantee safer user security when making any payment online.
DOCUMENT IDENTIFICATION
DESIGN GOAL 3 QR003 Rabbit Laundry Delivery PERFORMANCE RESPONSIVENESS Payment Subsystem
Service App QR code reader Login Subsystem
should be able to detect QR
codes, and Face ID should be
able to detect the user's face
Issues:
DOCUMENT IDENTIFICATION
DOCUMENT IDENTIFICATION
DESIGN GOAL 4 QR004 Rabbit Laundry Delivery PERFORMANCE SPEED Login Subsystem
Service App should be able Homepage
to launch quickly and work Subsystem
responsively. View Status
Subsystem
Menu Subsystem
Order Service
Subsystem
Payment Subsystem
Tracking Subsystem
Issues:
DOCUMENT IDENTIFICATION
of users and information at the same time is needed for the user to access the data at any time and have a faster
response time.
DOCUMENT IDENTIFICATION
DESIGN GOAL 5 QR005 Rabbit Laundry Delivery PERFORMANCE EASY TO Login Subsystem
Service App should be able DOWNLOAD Homepage
to finished download under 1 Subsystem
minutes on the user’s mobile View Status
device Subsystem
Menu Subsystem
Order Service
Subsystem
Payment Subsystem
Tracking Subsystem
Issues:
DOCUMENT IDENTIFICATION
DOCUMENT IDENTIFICATION
DESIGN GOAL 6 QR006 Rabbit Laundry Delivery PERFORMANCE STORAGE Login Subsystem
Service App should be able
to store many user account
information in the database
Issues:
DOCUMENT IDENTIFICATION
DOCUMENT IDENTIFICATION
DOCUMENT IDENTIFICATION
DOCUMENT IDENTIFICATION
DOCUMENT IDENTIFICATION
DOCUMENT IDENTIFICATION
DOCUMENT IDENTIFICATION
DOCUMENT IDENTIFICATION
DOCUMENT IDENTIFICATION
View Status Subsystem High View Laundry Status Progress 1. Order Details
2. Laundry Status
DOCUMENT IDENTIFICATION
Order Service High Display Order Service Provided 1. View Order Options
Subsystem 2. Order Service Details
Payment Subsystem High Make Payment And Receive 1. Choose payment options
Payment Receipt 2. Make payments using online
banking
3. Get payment receipt
DOCUMENT IDENTIFICATION