0% found this document useful (0 votes)
38 views14 pages

Lab Requirements For SWR302

Uploaded by

kle2042004
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
38 views14 pages

Lab Requirements For SWR302

Uploaded by

kle2042004
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 14

<<PROJECT NAME>>

Software Requirement Specification

– Quynhon, October 2024 –

1|Page
RECORD OF CHANGES

Date A*, M, D In Change Description


charge
13/Apr A KienNT Thêm mô tả chức năng Setting Details (II.1.a)

*A – Added; M – Modified; D - Deleted

2|Page
The content of your assignment has 2 basic parts:
You must propose the structure of your assignment document by combine the structure of
the template of Vision and Scope Template in Chapter 5 and the Structure of the
Software Requirement Specification template in Chapter 10.
Part 1: Include the content of Vision and Scope (see template of Vision and Scope
Template in Chapter 5)
Part 2: Software Architecture design

1. Identified the problems and writing the problems in software requirement


specification. The software requirements can be break into 2 smaller parts:
a. Identify Functional requirements. Writing in short statements. Not long
paragraphs.
i. List function name in table format.
See sample

ii. Draw use case diagram.


See sample here
https://www.youtube.com/watch?v=zid-MVo7M-E&t=720s
iii. Draw feature tree.
See sample

3|Page
One feature = collection of related use case.
One use case NORMALLY = one screen. You need to draw the mockup
screen of each use case.
Draw the screen flow. See sample here

4|Page
b. Identify Non-functional requirements. Should write non-functional in
numbers and short statements.
See sample

2. Software Architecture design.


Draw the context diagram.

Include the info about the development environment:

5|Page
List all Hardware (Version number)
List all Operating systems (Version number)
List all Protocol (Version number)

Hardware Requirements
 Supported Devices: The system should be accessible on:
o Desktops and Laptops (Windows, macOS, Linux)
o Tablets (iOS, Android)
o Smartphones (iOS, Android)
2. Operating Systems
The website should support a range of modern operating systems:
 Windows: Version 10 or later
 macOS: Version 11.0 (Big Sur) or later
 Linux: Latest distributions such as Ubuntu 22.04, Fedora 36, etc.
 Android: Version 10 or later
 iOS: Version 13 or later
3. Web Browsers
The website must be compatible with modern web browsers:
 Google Chrome: Latest version
 Mozilla Firefox: Latest version
 Microsoft Edge: Latest version
 Cốc Cốc: Latest version
 Safari: Latest version (for iOS/macOS)
4. Software & Technologies
The following software will be used in developing and managing the website:
4.1. Front-End Development
 ReactJS: A JavaScript library for building user interfaces.
 HTML5: For structuring web pages.
 CSS3: For styling web content.
4.2. Back-End Development
 Node.js: For running JavaScript on the server-side.
 Express.js: For building RESTful APIs and handling server-side logic.
5. Protocols
The website will utilize modern web protocols to ensure security and
performance:
 HTTPS: For secure communication between the browser and server.
 HTTP/2 or HTTP/3: For better performance.
 RESTful API: To enable communication between the front-end and back-end.

6|Page
 TCP/IP: Underlying network protocol used by all internet connections.
6. Internet Connection
 A stable internet connection is required for users to browse the site and make
purchases.

Identify the name of your software system. Your software system can be devide
into how many sub-systems? Identify all the name of sub-systems.
Present the name of the system or all sub-system on the context diagram.
List all the database name (version number)
Describe how your software work, how the data flow between the components
of the systems.
The system deploy on the local server or the cloud server? Draw the deployment
diagram.
List all Software Framework (Java JDK, IDE, Spring MVC, Spring Boots, Bootstapts,
Agular….) The version of the Framework.
1. System Name:
Let's assume your system is named "Clothing E-Commerce Platform". You can
refine the name as needed.
2. Sub-systems:
Your system can be divided into several key sub-systems based on the database
tables and their relationships:
 Product Management System: Handles products, categories, collections, and
product details.
 Order Management System: Manages orders, order details, and payment
information.
 User Management System: Deals with users, their feedback, and their wishlists.
 Inventory and Stock Management: Focused on product stock, availability, and
status.
 Content Management System: Manages banners, images, and collections
displayed on the website.
 Feedback System: Manages user feedback for products.
 Publishing and Content System: Deals with publishers and product content
creation.
3. Context Diagram:

7|Page
In a context diagram, these sub-systems could be depicted as individual
components interacting with each other via shared data (e.g., users, products,
orders). Each sub-system could communicate with a central database or API
layer.
4. Database Names:
To list the database names and versions, we assume you're using a relational
database such as MySQL or PostgreSQL. Let’s assume you're using:
 MySQL v8.0 (or PostgreSQL v14.0) as the database system. Each table represents
a component of the system.
5. Data Flow Between Components:
The system appears to follow a modular approach where the different
components (sub-systems) share data through common entities like:
 Product and Image Tables: The product sub-system references the image sub-
system to store multiple images for products.
 Order and Order Detail Tables: When a user places an order, the data flows from
the user management system to the order management system. The order
details reference the product and user.
 Collection and Product Collection Tables: Collections of products are managed
by a content management system and are linked to products in the product
management system.
 Feedback Table: User feedback about specific products is stored here, flowing
from the user sub-system to the feedback sub-system.
6. Deployment on Local or Cloud Server:
 The system could be deployed on either local servers or cloud servers (AWS,
Azure, or Digital Ocean).
 If deployed on the cloud, the server hosts the back-end services (Node.js and
Express.js, assuming these are used). The front-end is deployed on a CDN (for
example, using Netlify or Vercel).
7. Deployment Diagram:
The deployment diagram could have two main parts:
1. Web Server: Hosts the application (front-end & back-end). Could be deployed on
AWS, Azure, or other cloud services.
2. Database Server: Stores all data (MySQL/PostgreSQL) and is either hosted in the
cloud or on a local machine.
The front-end and back-end interact with each other via RESTful APIs.
8. Software Frameworks:
For the development of your web platform, the following frameworks and tools
might be used:

8|Page
 Java JDK: Version 11 (or newer) for any Java-based processing.
 Node.js: v18+ (for back-end API handling).
 Express.js: v4.18 (for server-side routing and APIs).
 React.js: v18+ (for front-end development).
 Bootstrap: v5.3 (for responsive web design).
 MySQL: v8.0 (as the database).
 IDE: Visual Studio Code or IntelliJ IDEA (latest versions).

Draw the database table diagram.

HOW MANY TABLES in your database?


Present the data dictionary in table format
Sample here
https://data.nal.usda.gov/data-dictionary-examples

EACH database table need to describe one data dictionary.

Table Description

No Table Description

9|Page
01 product Stores details about each product being sold on the platform.
02 order Manages customer orders.
03 order_detail Stores detailed information about each item in an order.
04 user Contains information about users who have accounts on the
platform.
05 feedback Stores user feedback for products.
06 image Manages images associated with products.
07 collection Manages product collections
08 product_collectio Links products to specific collections.
n
09 product_category Manages categories for products.
10 wishlist Manages users' wishlists of products.
11 publisher Stores information about product publishers
12 baner Stores information about banners displayed on the website.

Table Description Detail

product

Field Constraint Description


No Type
Primary key, Unique identifier for each
01 id BIGINT
increment product.
Stock Keeping Unit for product
02 sku VARCHAR Not null
tracking.
03 name VARCHAR Not null Name of the author

Detailed description of the


04 description TEXT Optional
product.
Selling price of the
05 price DECIMAL Not null
product.
Quantity available in
06 stock INTEGER Optional
inventory.
Size of the product (e.g., S, M,
07 zize VARCHAR Optional
L).
Color of the
08 color VARCHAR Optional
product.
Material composition of the
09 material VARCHAR Optional
product.
Weight of the
10 weight DECIMAL Optional
product.
ID of the brand or publisher
11 brand_id BIGINT Poreign key
associated with the product.
ID of the publisher associated
12 publisher_id BIGINT Poreign key
with the product.
Date when the product was
13 release_date DATE Optional
released.
Status to indicate if the product
14 is_active VARCHAR Optional
is active.
Image references for the
15 images VARCHAR Optional
product.

10 | P a g e
Target gender for the product
16 gender VARCHAR Optional
(e.g., men, women).
17 rating DECIMAL Optional Average rating of the product.

image

No Field Type Constraint Description

01 id BIGINT Primary Key Unique identifier for each


image.
02 description VARCHAR Optional Description of the image.

03 link VARCHAR Not Null URL or path to the image file.

04 product_id BIGINT Foreign Key ID of the product associated with


the image.

collection

No Field Type Constraint Description

01 id BIGINT Primary Key Unique identifier for each


collection.
02 is_display BIT Not Null Flag to indicate whether the
collection is displayed.
03 name VARCHAR Not Null Name of the collection.

04 type VARCHAR Optional Type of collection (e.g., seasonal).

product_collection
No Field Type Constraint Description

01 product_id BIGINT Foreign Key ID of the product.

11 | P a g e
02 collection_id BIGINT Foreign Key ID of the associated collection.

feedback

No Field Type Constraint Description

01 id BIGINT Primary Key Unique identifier for each


feedback entry.
02 comment TEXT Optional User comment on the product.

03 created_at DATETIME Not Null Date and time the feedback was
created.
04 state VARCHAR Optional Status of the feedback (e.g.,
approved, pending).
05 product_id BIGINT Foreign Key ID of the product being reviewed.

06 user_id BIGINT Foreign Key ID of the user who submitted the


feedback.

product_category

No Field Type Constraint Description

01 id BIGINT Primary Key Unique identifier for each


category.
02 name VARCHAR Not Null Name of the product category.

publisher

No Field Type Constraint Description

01 id BIGINT Primary Key Unique identifier for each


publisher or brand.
02 name VARCHAR Not Null Name of the publisher or brand.

03 website VARCHAR Optional Website URL of the publisher or


brand.

12 | P a g e
wishlist

No Field Type Constraint Description

01 id

02 product_id

03 user_id

order_detail

No Field Type Constraint Description

01

02

03

04

order

No Field Type Constraint Description

01

02

03

04

user

13 | P a g e
No Field Type Constraint Description

01

02

03

04

banner

No Field Type Constraint Description

01

02

03

04

14 | P a g e

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy