前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >资深码农教你写详细设计(附示例模板)

资深码农教你写详细设计(附示例模板)

作者头像
甲蛙全栈
发布2020-11-24 10:39:44
20K0
发布2020-11-24 10:39:44
举报
文章被收录于专栏:Java全栈

很多小伙伴都不知道怎么写详细设计,本期就带大家看一下详细设计都有哪些内容。

喜欢听我叨叨的,直接看视频

资深码农教你写详细设计(附模板)

不同的公司,详细设计不太一样,有的细,有的粗,有的甚至没有详细设计。

像银行那种一个月上线一次的,详设可以写一个星期的,不在本文讨论范围内。

像老板说这个需求明天就要的,也不在本文讨论范围内。

本文介绍的是大多数场景:“这个需求,下周就要。”

详细设计文档一般包含以下这些内容:

01 基本信息

公司的文档一般有统一的规范格式,文档的开头,一般要包含公司信息、项目名称、业务名称、版本号等。

02 变更历史

每个文档都应该有一个变更历史,即使后面可能不会再变了

03 需求描述

这里可以简要描述需求,或放入需求文档的链接,方便随时查看详细设计对应的需求。

拒绝一句话需求:

产品:下周上个新功能:登录

程序员:需求呢?有具体一点的吗?

产品:就是登录啊!

程序员:!@#¥%……&*

04 功能拆分

有些需求很简单,需求说完,改哪些东西,心里就有数了。

但是更多的需求还是比较复杂的,比如我们这个示例:完成单点登录功能。这时需要开个需求分析会议。

需求分析会议一般由开发主导,在会上,需要将需求拆分出一个一个的功能点,功能点可以是界面,接口,集成某个技术等等。

有了功能点后,就可以大概估工时了,不过此时会估得比较粗,没办法,有些老板等不到你详细设计出来再给准确工时。

05 流程图

有了功能点后,就可以开始写详细设计了,流程图是详细设计里很重要的一块,也是开发文档中相对薄弱的一块。

常见的有基本流程图,时序图,可以从前端串到后端,用不同的颜色表示。

程序员大多看得懂流程图,却画不出流程图

06 接口设计

接口设计是详细设计中非常重要的一部分,一般包含两部分的信息

  • 接口信息:描述、地址、请求方式、入参、出参。
  • 处理逻辑:尽可能写得详细,读哪些配置,查哪张表哪个字段,甚至是写伪代码

工时估得准不准,就靠这里了写得清不清晰了

07 页面设计

页面设计也是详细设计中非常重要的一部分,一般包含几方面的内容:

  • 如何进入页面?
  • 页面有哪些操作元素?
  • 表单有哪些校验?
  • 点击按钮做什么操作?
  • 有哪些看不见的逻辑?
  • 跟后端有哪些交互?

工时估得准不准,就靠这里了写得清不清晰了

08 跑批设计

在中大型项目中,一般都会有跑批功能,可能是每天、每周、每月,做一些数据统计,汇总,或是集中处理。

这里的内容包括跑批的时间、周期、处理逻辑、关联跑批等

可以考虑下面几个问题:

  • 数据量是否很大,是否需要分页?
  • 跑批期间数据是否会更新?
  • 多个跑批之间是否会有先后?
  • 跑批失败如何重跑?

09 数据库设计

这里放入本次详设相关的数据库变更。

有可能是ddl,比如增加了某张表,增加了某个字段。也有可能是dml,比如相关的初始化配置,历史数据刷库等。

注意一个问题:需要有另外一个整个项目完整的数据库设计文档。当本次迭代上线后,及时将本次变更更新数据库文档中。

领导:给我个完整的数据库文档

程序员:没...没有,都在各个迭代里面了,数据库文档好久没维护了

领导:!@#¥%……&*

10 安全设计

一般可以从前面的步骤中,寻找可能出现安全性问题的地方。比如

  • 前后端参数校验?
  • 参数传递是否需要加密?
  • 是否需要验签加签?
  • 常见的漏洞处理,如SQL注入
  • 敏感数据处理:身份证,手机号等加密存储

11 性能设计

再小的迭代也可能引起性能问题,一般测试环境数据量小,很难测试性能问题。

可以从下面几个方便考虑:

  • 大数据量跑批,如每天的报表跑批
  • 高访问量接口,如首页数据
  • 大流量接口,如文件上传

《单点登录详细设计》百度网盘下载:

https://pan.baidu.com/s/15o2FgQZO3rm1d0D0RGj-Fg

提取码:pqnq

—————— THE END ——————

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/11/23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 01 基本信息
  • 02 变更历史
  • 03 需求描述
  • 04 功能拆分
  • 05 流程图
  • 06 接口设计
  • 07 页面设计
  • 08 跑批设计
  • 09 数据库设计
  • 10 安全设计
  • 11 性能设计
相关产品与服务
访问管理
访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档