Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Z-SOLUTION
1
SOFTWARE REQUIREMENTS SPECIFICATION
(SRS)
For the
Prepared By:
MOHD NIZAM BIN ABDUL RAHMAN MAN181077
AHMAD HUSSAIN RAIMI MAN191003
MOHAMMAD ZAHIR ZOHAIR MAN181070
MUHAMMAD AZIZOL BIN MAN181046
AMINUDDIN
Signatures
2
Revision History
Number LIST OF CHANGES Version DATE: Author Reviewe
DD/MM/YY
I Document template created 0 18/04/2020 Ahmad
II All sections completed 1 26/04/2020 Ahmad Mdm Ha
III Add the changes here
3
Table of Contents
Table of Contents
1. Introduction 12
1.1 Purpose 12
1.2 Project Scope 12
1.3 Definitions, Acronyms, and abbreviations 13
1.4 References 13
2. Overall Description 13
2.1 Product Perspective 13
2.2 Product Functions 14
2.2.1 Shop Owner Module 14
2.2.2 Customer Module 14
2.2.3 Admin Module 15
2.3 User Characteristics 15
2.4 Constraints 15
2.5 Assumptions and Dependencies 15
3. Specific Requirements 16
3.1 External Interface Requirements 16
3.1.1 User Interfaces 16
3.1.2 Hardware Interfaces 17
3.2 Functional Requirements 17
3.2.1 Login (SRS_100) 18
3.2.1.1 Brief Description 18
3.2.1.2 Characteristic of Activation 18
3.2.1.3 Pre-Condition 19
3.2.1.4 Description 19
3.2.1.4.1 Basic Flow 19
3.2.1.4.2 Alternate Flow 19
3.2.1.4.3 Exception Flow 19
3.2.1.5 Post Condition(s) 19
3.2.1.6 Roles and Constraints 19
4
3.2.2 Register Customer (SRS_200) 19
3.2.2.1 Brief Description 20
3.2.2.2 Characteristic of Activation 20
3.2.2.3 Pre-Condition 20
3.2.2.4 Description 20
3.2.2.4.1 Basic Flow 20
3.2.2.4.2 Alternate Flow 20
3.2.2.4.3 Exception Flow 20
3.2.2.5 Post Condition(s) 20
3.2.2.6 Roles and Constraints 20
3.2.3 Register Shop Owner (SRS_300) 21
3.2.3.1 Brief Description 21
3.2.3.2 Characteristic of Activation 21
3.2.3.3 Pre-Condition 21
3.2.3.4 Description 21
3.2.3.4.1 Basic Flow 21
3.2.3.4.2 Alternate Flow 21
3.2.3.4.3 Exception Flow 21
3.2.3.5 Post Condition(s) 21
3.2.3.6 Roles and Constraints 22
3.2.4 Browse Product (SRS_400) 22
3.2.4.1 Brief Description 22
3.2.4.2 Characteristic of Activation 22
3.2.4.3 Pre-Condition 22
3.2.4.4 Description 22
3.2.4.4.1 Basic Flow 22
3.2.4.4.2 Alternate Flow 22
3.2.4.4.3 Exception Flow 22
3.2.4.5 Post Condition(s) 23
3.2.4.6 Roles and Constraints 23
3.2.5 Buy Product (SRS_500) 24
3.2.5.1 Brief Description 24
3.2.5.2 Characteristic of Activation 24
5
3.2.5.3 Pre-Condition 24
3.2.5.4 Description 24
3.2.5.4.1 Basic Flow 24
3.2.5.4.2 Alternate Flow 24
3.2.5.4.3 Exception Flow 24
3.2.5.5 Post Condition(s) 24
3.2.5.6 Roles and Constraints 24
3.2.6 Manage Customer Orders (SRS_600) 24
3.2.6.1 Brief Description 24
3.2.6.2 Characteristic of Activation 24
3.2.6.3 Pre-Condition 24
3.2.6.4 Description 24
3.2.6.4.1 Basic Flow 24
3.2.6.4.2 Alternate Flow 24
3.2.6.4.3 Exception Flow 24
3.2.6.5 Post Condition(s) 24
3.2.6.6 Roles and Constraints 24
3.2.7 Manage Customer Account (SRS_700) 24
3.2.7.1 Brief Description 24
3.2.7.2 Characteristic of Activation 24
3.2.7.3 Pre-Condition 24
3.2.7.4 Description 24
3.2.7.4.1 Basic Flow 24
3.2.7.4.2 Alternate Flow 24
3.2.7.4.3 Exception Flow 24
3.2.7.5 Post Condition(s) 24
3.2.7.6 Roles and Constraints 24
3.2.8 View Analytics (SRS_800) 24
3.2.8.1 Brief Description 24
3.2.8.2 Characteristic of Activation 24
3.2.8.3 Pre-Condition 24
3.2.8.4 Description 24
3.2.8.4.1 Basic Flow 24
6
3.2.8.4.2 Alternate Flow 24
3.2.8.4.3 Exception Flow 24
3.2.8.5 Post Condition(s) 24
3.2.8.6 Roles and Constraints 24
3.2.9 Manage Shop Owner Account (SRS_900) 25
3.2.9.1 Brief Description 25
3.2.9.2 Characteristic of Activation 25
3.2.9.3 Pre-Condition 25
3.2.9.4 Description 25
3.2.9.4.1 Basic Flow 25
3.2.9.4.2 Alternate Flow 25
3.2.9.4.3 Exception Flow 25
3.2.9.5 Post Condition(s) 25
3.2.9.6 Roles and Constraints 25
3.2.10 Manage Shop Owner Orders (SRS_1000) 25
3.2.10.1 Brief Description 25
3.2.10.2 Characteristic of Activation 25
3.2.10.3 Pre-Condition 25
3.2.10.4 Description 25
3.2.10.4.1 Basic Flow 25
3.2.10.4.2 Alternate Flow 25
3.2.10.4.3 Exception Flow 25
3.2.10.5 Post Condition(s) 25
3.2.10.6 Roles and Constraints 25
3.2.11 Manage Inventory (SRS_1100) 25
3.2.11.1 Brief Description 25
3.2.11.2 Characteristic of Activation 25
3.2.11.3 Pre-Condition 25
3.2.11.4 Description 25
3.2.11.4.1 Basic Flow 25
3.2.11.4.2 Alternate Flow 25
3.2.11.4.3 Exception Flow 25
3.2.11.5 Post Condition(s) 25
7
3.2.11.6 Roles and Constraints 25
3.2.12 Manage Coupon (SRS_1200) 25
3.2.12.1 Brief Description 25
3.2.12.2 Characteristic of Activation 25
3.2.12.3 Pre-Condition 25
3.2.12.4 Description 25
3.2.12.4.1 Basic Flow 25
3.2.12.4.2 Alternate Flow 25
3.2.12.4.3 Exception Flow 25
3.2.12.5 Post Condition(s) 25
3.2.12.6 Roles and Constraints 25
3.2.13 Provisioning Shop(SRS_1300) 26
3.2.13.1 Brief Description 26
3.2.13.2 Characteristic of Activation 26
3.2.13.3 Pre-Condition 26
3.2.13.4 Description 26
3.2.13.4.1 Basic Flow 26
3.2.13.4.2 Alternate Flow 26
3.2.13.4.3 Exception Flow 26
3.2.13.5 Post Condition(s) 26
3.2.13.6 Roles and Constraints 26
3.2.14 Manage Shop Owner (SRS_1400) 26
3.2.14.1 Brief Description 26
3.2.14.2 Characteristic of Activation 26
3.2.14.3 Pre-Condition 26
3.2.14.4 Description 26
3.2.14.4.1 Basic Flow 26
3.2.14.4.2 Alternate Flow 26
3.2.14.4.3 Exception Flow 26
3.2.14.5 Post Condition(s) 26
3.2.14.6 Roles and Constraints 26
3.2.15 Manage Customer (SRS_1500) 26
3.2.15.1 Brief Description 26
8
3.2.15.2 Characteristic of Activation 26
3.2.15.3 Pre-Condition 26
3.2.15.4 Description 26
3.2.15.4.1 Basic Flow 26
3.2.15.4.2 Alternate Flow 26
3.2.15.4.3 Exception Flow 26
3.2.15.5 Post Condition(s) 26
3.2.15.6 Roles and Constraints 26
3.2.16 Manage System (SRS_1600) 26
3.2.16.1 Brief Description 26
3.2.16.2 Characteristic of Activation 26
3.2.16.3 Pre-Condition 26
3.2.16.4 Description 26
3.2.16.4.1 Basic Flow 26
3.2.16.4.2 Alternate Flow 26
3.2.16.4.3 Exception Flow 26
3.2.16.5 Post Condition(s) 26
3.2.16.6 Roles and Constraints 26
3.2.17 27
3.3 Performance Requirements 27
3.4 Design Constraints 27
3.5 Software System Attributes 27
3.6 Other Requirements 27
Availability 27
Scalability 27
Confidentiality 27
Security 27
Data Integrity 27
9
10
List of Figures
11
List of Tables
List of appendices
12
1. Introduction
1.1 Purpose
Defining and describing the functions and specifications of the SES is the primary goal of
this SRS. This SRS illustrates, in clear terms, the system’s primary uses and required
functionality as specified by our client. This document is meant to define the features and
functionalities of SES to serve as a guide to the development team on one hand and a
software validation document for the client on the other. The interface of the system is an
online e-commerce website for customers to buy products through a personal account.
Also, the interface will allow the shop owners to manage their shop.
1.2 Project Scope
The software system being produced is called SES. It is being produced to help small
business that is impacted due to COVID-19 crises during MCO. This system is being
designed to provide an online platform for small businesses to enable them in selling their
products online.
The SES will allow any shop owner to create an account and register their shops. The
SES will allow the shop owner to manage orders, manage inventory and manage
coupons. Also, the system will create the shop analytics and will allow shop owners to
view. The SES will also allow any user to create an account and become a customer. The
system will allow the customer to search, select, add products to the shopping cart and
buy products. The SES will allow the admin to manage shop owners, manage users and
manage the system.
The SES will have numerous constraints on what it can do in the first phase. The system
will not allow the users to switch roles and it will not allow customers to make online
payments. There will be only cash on delivery options available. Due to time constraints
in the first phase the system will not offer multiple shipping options such as food panda
and grab food. The system will provide only one delivery option which is POS LAJU.
13
1.3 Definitions, Acronyms, and abbreviations
Convention Description
Bold Times New Roman Normally used to emphasize titles and chapters
Times New Roman Used for detail description of titles to explain each
title
Italic Times New Roman Description of use use cases sub section
1.4 References
1. IEEE Software Engineering Standards Committee, “IEEE Std 830-1998, IEEE
Recommended Practice for Software Requirements Specifications”
more references should be added here
1.5 Overview
The content should be added here
2. Overall Description
2.1 Product Perspective
SES is an online E-Commerce platform which supports a number of functions for both the
shop owner and customers.
SES involves various software elements and further interactions with users and external
systems.
14
Figure 1: SES Software elements
15
● Browse Product
● View Product Details
● Add Product To shopping Cart
● View Order List
● Review Product
● Cancel Order
● Request Refund
● Return Product
● Track Orders
● Apply Coupon
2.2.3 Admin Module
● Manage System
● Manage Shop owner
● Manage User (Customer)
● Provision Shop
2.3 User Characteristics
The typical SBES user is simply anyone that has access to the Internet and a web
browser. In detail there will be three classes of users.
● Visitor- Anyone who is not logged in to the system.
● Customer- Anyone who is registered to the system and can buy
products.
● Shop owner- Anyone who is registered and owns a shop on the
system.
● Admin- User who has the authority to manage the two above classes
of users and the system.
2.4 Constraints
No design constraints at this time
2.5 Assumptions and Dependencies
No assumption and dependencies at this time
2.6 Apportioning of requirements
Should be updated here
16
3. Specific Requirements
3.1 External Interface Requirements
3.1.1 User Interfaces
When a user first accesses the KiahStore homepage, they will encounter an interface like the
one shown below. The menu bar shows KiahStore logo, features, pricing, sign in and sign
up. The KiahStore logo will be displayed on every screen.
If it is a first time user, they will be able to click the “sign up” button to create an account. If
they already have an account, the user will be able to sign in at the top of the page. Once
logged in, the visitor will be directed to a different page where the shop owner can manage
the shop.
17
Figure 4: KiahStore homepage
18
Use Case Diagram
19
3.2.1.3 Pre-Condition
1. The system is already loaded to the browser
2. Already registered as customer or shop owner or admin
3. Can access the <<sign in>> button
3.2.1.4 Description
20
Figure 4: Register Customer Use Case
3.2.2.1 Brief Description
This use case is initiated by the visitor. It provides the capability for the visitor to register as
a customer to the system.
3.2.2.2 Characteristic of Activation
On demand of the visitor
3.2.2.3 Pre-Condition
1. The system is already loaded to the browser
2. Can access the <<signup>> button
3.2.2.4 Description
3.2.2.4.1 Basic Flow
1. This use case begins when the visitor wants to register to the system as a
customer, the visitor clicks on the <<signup>> button in the shop
homepage. (SRS_REQ_201)
2. The system displays a page to enable the visitor to fill up the customer
registration form. (SRS_REQ_202)
3. The visitor fills up the customer registration form and submits to the
system. (SRS_REQ_203)
4. The system checks if the entered values are correct. (SRS_REQ_204)
[E1: Wrong input]
5. the system display success message (SRS_REQ_205)
6. This use case ends.
3.2.2.4.2 Alternate Flow
Not Applicable
3.2.2.4.3 Exception Flow
E1: Wrong Input
1. The system displays a message showing “Invalid Input” and waits for the
customer to enter a correct value for the field. (SRS_REQ_206)
2. This use case continues.
3.2.2.5 Post Condition(s)
1. Visitor is registered as a customer
3.2.2.6 Roles and Constraints
Not Applicable
21
3.2.3 Register Shop Owner (SRS_REQ_300)
22
3.2.3.6 Roles and Constraints
Not Applicable
we have to prioritize it
23
3. The system displays the available product list based on the selected sort
option.
24
3.2.5 Buy Product (SRS_500)
3.2.5.1 Brief Description
3.2.5.2 Characteristic of Activation
3.2.5.3 Pre-Condition
3.2.5.4 Description
3.2.5.4.1 Basic Flow
3.2.5.4.2 Alternate Flow
3.2.5.4.3 Exception Flow
3.2.5.5 Post Condition(s)
3.2.5.6 Roles and Constraints
3.2.6 Manage Customer Orders (SRS_600)
3.2.6.1 Brief Description
3.2.6.2 Characteristic of Activation
3.2.6.3 Pre-Condition
3.2.6.4 Description
3.2.6.4.1 Basic Flow
3.2.6.4.2 Alternate Flow
3.2.6.4.3 Exception Flow
3.2.6.5 Post Condition(s)
3.2.6.6 Roles and Constraints
3.2.7 Manage Customer Account (SRS_700)
3.2.7.1 Brief Description
3.2.7.2 Characteristic of Activation
3.2.7.3 Pre-Condition
3.2.7.4 Description
3.2.7.4.1 Basic Flow
3.2.7.4.2 Alternate Flow
3.2.7.4.3 Exception Flow
3.2.7.5 Post Condition(s)
3.2.7.6 Roles and Constraints
3.2.8 View Analytics (SRS_800)
3.2.8.1 Brief Description
3.2.8.2 Characteristic of Activation
3.2.8.3 Pre-Condition
3.2.8.4 Description
3.2.8.4.1 Basic Flow
3.2.8.4.2 Alternate Flow
3.2.8.4.3 Exception Flow
3.2.8.5 Post Condition(s)
3.2.8.6 Roles and Constraints
3.2.9 Manage Shop Owner Account (SRS_900)
25
3.2.9.1 Brief Description
3.2.9.2 Characteristic of Activation
3.2.9.3 Pre-Condition
3.2.9.4 Description
3.2.9.4.1 Basic Flow
3.2.9.4.2 Alternate Flow
3.2.9.4.3 Exception Flow
3.2.9.5 Post Condition(s)
3.2.9.6 Roles and Constraints
3.2.10 Manage Shop Owner Orders (SRS_1000)
3.2.10.1 Brief Description
3.2.10.2 Characteristic of Activation
3.2.10.3 Pre-Condition
3.2.10.4 Description
3.2.10.4.1 Basic Flow
3.2.10.4.2 Alternate Flow
3.2.10.4.3 Exception Flow
3.2.10.5 Post Condition(s)
3.2.10.6 Roles and Constraints
3.2.11 Manage Inventory (SRS_1100)
3.2.11.1 Brief Description
3.2.11.2 Characteristic of Activation
3.2.11.3 Pre-Condition
3.2.11.4 Description
3.2.11.4.1 Basic Flow
3.2.11.4.2 Alternate Flow
3.2.11.4.3 Exception Flow
3.2.11.5 Post Condition(s)
3.2.11.6 Roles and Constraints
3.2.12 Manage Coupon (SRS_1200)
3.2.12.1 Brief Description
3.2.12.2 Characteristic of Activation
3.2.12.3 Pre-Condition
3.2.12.4 Description
3.2.12.4.1 Basic Flow
3.2.12.4.2 Alternate Flow
3.2.12.4.3 Exception Flow
3.2.12.5 Post Condition(s)
3.2.12.6 Roles and Constraints
3.2.13 Provisioning Shop(SRS_1300)
3.2.13.1 Brief Description
26
3.2.13.2 Characteristic of Activation
3.2.13.3 Pre-Condition
3.2.13.4 Description
3.2.13.4.1 Basic Flow
3.2.13.4.2 Alternate Flow
3.2.13.4.3 Exception Flow
3.2.13.5 Post Condition(s)
3.2.13.6 Roles and Constraints
3.2.14 Manage Shop Owner (SRS_1400)
3.2.14.1 Brief Description
3.2.14.2 Characteristic of Activation
3.2.14.3 Pre-Condition
3.2.14.4 Description
3.2.14.4.1 Basic Flow
3.2.14.4.2 Alternate Flow
3.2.14.4.3 Exception Flow
3.2.14.5 Post Condition(s)
3.2.14.6 Roles and Constraints
3.2.15 Manage Customer (SRS_1500)
3.2.15.1 Brief Description
3.2.15.2 Characteristic of Activation
3.2.15.3 Pre-Condition
3.2.15.4 Description
3.2.15.4.1 Basic Flow
3.2.15.4.2 Alternate Flow
3.2.15.4.3 Exception Flow
3.2.15.5 Post Condition(s)
3.2.15.6 Roles and Constraints
3.2.16 Manage System (SRS_1600)
3.2.16.1 Brief Description
3.2.16.2 Characteristic of Activation
3.2.16.3 Pre-Condition
3.2.16.4 Description
3.2.16.4.1 Basic Flow
3.2.16.4.2 Alternate Flow
3.2.16.4.3 Exception Flow
3.2.16.5 Post Condition(s)
3.2.16.6 Roles and Constraints
3.2.17
27
3.3 Performance Requirements
3.4 Design Constraints
3.5 Software System Attributes
3.6 Other Requirements
3.6.1 Availability
Availability is one of the most crucial points in most modern systems. Most of the
systems are expected to be running 24 hours, 7 days a week. The main
requirement for these points to how long does the system go down in a week's
time span. And if the system does go down, how fast can it get up back.
Scalability
Scaling is a technique by which any system uses to react to the changing number
of requests. Be it scaling up or scaling down. Most modern systems need to be
able to do this to make sure it is able to handle the request during peak hour and
off hours. This technique also reduces the cost as the system only needs to
provision resources whenever needed.
Confidentiality
For a multi-tenant SAAS system, confidentiality is an important requirement.
This is to ensure that information and data from one tenant will not be shared with
another tenant. Also, the system needs to be able to handle the customer for each
tenant. No data of the customer can be shared across the tenant.
Security
Security components are necessary for e-commerce systems. E-commerce is a
system that involves money; hence all the necessary security needs to be
implemented. SSL, XSS, CSRF, SQL injection is among the most common
security vulnerabilities in any web system. This system needs to implement
adequate protection against all of this security vulnerability.
Data Integrity
Data integrity is about how the data cannot be easily changed without anyone's
notice. This can be done by doing a logging feature. Any action by the user
should be logged and can be reviewed to ensure that any change done can be
reverted. The log should be kept and cannot be deleted by the user.
28
Appendix A: Glossary
29