当前位置:网站首页>软件设计文档示例模板 - 学习/实践
软件设计文档示例模板 - 学习/实践
2022-07-04 03:54:00 【穿素白衫的少年】
1.应用场景
| 主要用于学习,以及书写软件设计文档。 |
2.学习/操作
1.文档阅读2.整理输出在第9篇文章中,我讲了每种UML模型图的画法,以及这些画法分别适用于什么样的设计阶段,我们也可以将不同阶段输出的模型图放在一个文档中,对每张模型图配以适当的文字说明,构成一篇设计文档。 对于规模不太大的软件系统,我们可以将概要设计文档和详细设计文档合并成一个设计文档。这一篇文章中,我会展现一个设计文档示例模板,你可以参考这个模板编写你的设计文档。 文档开头是设计概述,简单描述业务场景要解决的核心问题领域是什么。至于业务场景,应该在专门的需求文档中描述,但是在设计文档中,必须要再简单描述一下,以保证设计文档的完整性,这样,即使脱离需求文档,阅读者也能理解主要的设计。 此外,在设计概述中,还需要描述设计的非功能约束,比如关于性能、可用性、维护性、安全性,甚至开发和部署成本方面的设计目标。 然后就是具体的设计了,第一张设计图应该是部署图,通过部署图描述系统整个物理模型蓝图,包括未来系统长什么样。 如果系统中包含几个子系统,那么还需要描述子系统间的关系,可以通过子系统序列图,子系统活动图进行描述。 子系统内部的最顶层设计就是组件图,描述子系统由哪些组件组成,不同场景中,组件之间的调用序列图是什么样的。 每个组件内部,需要用类图进行建模描述,对于不同场景,用时序图描述类之间的动态调用关系,对于有复杂状态的类,用状态图描述其状态转换。 具体示例模板如下: 1 设计概述……系统是一个……的系统,是公司……战略的核心系统,承担着公司……的目标任务。 1.1 功能概述系统主要功能包括……,使用者包括……。 1.2 非功能约束……系统未来预计一年用户量达到……,日订单量达到……,日PV达到……,图片数量达到 ……。
2 系统部署图与整体设计系统上线时预计部署……台物理机,……个子系统,和公司……系统交互,和外部第三方……个系统交互。 2.1 系统部署图
子系统2参照子系统1来写。 2.2 下单场景子系统序列图
2.3 退款场景子系统序列图
2.4 退款场景子系统活动图
3 子系统1设计子系统1的主要功能职责是……,其中主要包含了……组件。 3.1 子系统1组件图
组件1的功能主要是……,需要依赖组件2完成……,是子系统1的核心组件,用户……请求主要通过组件1完成。 同样的,组件2也可以参照组件1来这样写。 3.1.1 场景A组件序列图
3.1.2 场景B组件活动图
3.2 组件1设计组件1的主要功能职责是……,其中主要包含了……类。 3.2.1 组件1 类图
3.2.2 场景A 类序列图
3.2.3 对象1状态图
3.3 组件2设计重复上面的格式。 4 子系统2设计重复上面的格式。 后续补充 ... |
3.问题/补充
TBD |
4.参考
| 参见上面文档列表 |
后续补充
...
边栏推荐
- "Don't care too much about salary when looking for a job", this is the biggest lie I've ever heard
- 深入解析结构化异常处理(SEH) - by Matt Pietrek
- The five pictures tell you: why is there such a big gap between people in the workplace?
- Exploration and practice of eventbridge in the field of SaaS enterprise integration
- Krypton saikr daily question - CTF
- Application scheme of Puyuan ds1000z series digital oscilloscope in communication principle experiment
- CRS-4013: This command is not supported in a single-node configuration.
- (pointer) write a function to compare the size of strings by yourself, which is similar to StrCmp.
- Wechat brain competition answer applet_ Support the flow main belt with the latest question bank file
- Why use node
猜你喜欢

Dp83848+ network cable hot plug

Virtual commodity account trading platform source code_ Support personal QR code collection

资深开发人员告诉你,怎样编写出优秀的代码?
![leetcode:1314. Matrix area and [2D prefix and template]](/img/b4/2c9e66c8eafe1db2a3d07e861494e0.png)
leetcode:1314. Matrix area and [2D prefix and template]
![[Yugong series] go teaching course 001 in July 2022 - Introduction to go language premise](/img/f2/3b95f53d67cd1d1979163910dbeeb8.png)
[Yugong series] go teaching course 001 in July 2022 - Introduction to go language premise
![[Yugong series] go teaching course 002 go language environment installation in July 2022](/img/a8/79c48e426ce909db960d446f923795.png)
[Yugong series] go teaching course 002 go language environment installation in July 2022

What is context?

Wechat official account infinite callback authorization system source code

Leetcode skimming: binary tree 08 (maximum depth of n-ary tree)

架构实战营 - 第 6 期 模块九之毕业设计
随机推荐
Keysight n9320b RF spectrum analyzer solves tire pressure monitoring scheme
Eig launched Grupo Cerro, a renewable energy platform in Chile
Graduation project
tdk-lambda电源主要应用
Pytest基础自学系列(一)
Kivy tutorial custom fonts (tutorial with source code)
Many founders of technology companies provided enterpriser first with a round C financing of up to US $158million to help it invest in the next generation of global innovators
Pytest basic self-study series (I)
leetcode:1314. Matrix area and [2D prefix and template]
Ppt tutorial, how to save a presentation as a PDF file in PowerPoint?
仿《游戏鸟》源码 手游发号评测开服开测合集专区游戏下载网站模板
更优雅地远程操作服务器:Paramiko库的实践
[cloud native] those lines of code that look awesome but have a very simple principle
Rhcsa 04 - process management
ModStartBlog 现代化个人博客系统 v5.2.0 源码下载
I.MX6U-ALPHA开发板(模仿STM32驱动开发实验)
NFT new opportunity, multimedia NFT aggregation platform okaleido will be launched soon
Dry goods | detailed explanation of webshell Foundation
毕业设计项目
领导:谁再用redis过期监听实现关闭订单,立马滚蛋!








