0% found this document useful (0 votes)
3 views11 pages

Software Design Specification

The document is a Software Design Specification for a project scheduled for September 2025, detailing the high-level design, state transition diagrams, and detailed design of various features. It includes sections on software architecture, package diagrams, database design, and specific feature implementations with class and sequence diagrams. Additionally, it provides a record of changes made to the document.

Uploaded by

vinhdqhe186448
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)
3 views11 pages

Software Design Specification

The document is a Software Design Specification for a project scheduled for September 2025, detailing the high-level design, state transition diagrams, and detailed design of various features. It includes sections on software architecture, package diagrams, database design, and specific feature implementations with class and sequence diagrams. Additionally, it provides a record of changes made to the document.

Uploaded by

vinhdqhe186448
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

SOFTWARE DESIGN SPECIFICATION

Project Name (Code)

– Hanoi, Sep 2025 –

Table of Contents

I. Record of Changes. 3

II. Software Design Document 4


1. High Level Design. 4

1.1 Software Architecture. 4

1.2 Package Diagram.. 4

1.3 Database Design. 5

2. State Transition Diagrams. 7

2.1 PIN Validation. 7

2.2 ….. 7

3. Detailed Design. 8

3.1 <Feature/Function Name1>. 8

3.2 <Feature/Function Name2>. 9

I. Record of Changes
Date A* In charge Change Description
M, D
*A - Added M - Modified D - Deleted

II. Software Design Document


1. High Level Design
1.1 Software Architecture
[The content of this section includes the overall architectural diagram which includes the sub-systems
and/or components, the external systems (if any), and the relationships (communication messages)
among them. You need also provide the explanation for each of the diagram components (modules,
sub-systems, external systems, etc.)].
1.2 Package Diagram
[Provide the package diagram for each sub-system. The content of this section including the overall
package diagram, the explanation, package and class naming conventions in each package. Please
see the sample & description table format below]
Package descriptions

No Package Description

01 base contains common base classes (e.g. BaseEntity,


BaseService).

02 Config configure Spring Boot, security

03 controller defines REST/MVC Controllers to handle


requests from clients.

04 DTO defines Data Transfer Objects to exchange data


between clients and servers.

05 Entity Entity classes map tables in the database.

06 Enums declare enums (gender, class status, role…).

07 Exeption custom exception and global exception handle

08 Repository interface inherits JpaRepository or


MongoRepository, retrieves data.
09 Service interface declares business methods.

10 [Link] implementation of service interfaces, contains


processing logic and calls Repository.

1.3 Database Design

[Provide the files description, database table relationship & table descriptions like example below]

1.3.1 table_name1

[Provide brief description of the table here]

[Provide the detailed table fields description using below table format
* PK~Primary Key; FK~Foreign Key; UN~Unique; NN ~ not null

No Field PK FK UN NN Description
01 <field_name1> <Description of the field_name1>

02 <field_name2> …

..

1.3.2 table_name2

2. State Transition Diagrams


[Specify and draw state charts (state transition diagrams) for the data and system like below sample.
In the diagrams, beside the states, you are required to provide suitable events, actions on the state
transitions, entry actions, or exit actions]

2.1 Register
2.2 Add Product
2.3

3. Detailed Design
3.1 <Feature/Function Name1>
[Provide the detailed design for the feature <Feature Name1>. It includes Class Diagram and
Sequence Diagram(s); For the features/functions with the same structure of class & sequence
diagrams, you need to provide the diagrams once for one feature/function and refer to those
diagrams from other features/functions]

3.1.1 Class Diagram

[This part presents the class diagram for the relevant feature]
3.1.2 <Sequence Diagram Name1>

[Provide the sequence diagram(s) for the feature, see the sample below]

3.1.3 <Sequence Diagram Name2>

3.1.4 …

3.2 <Feature/Function Name2>


You might also like