专栏首页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 ——————

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 灵魂追问 | 教程那么多,你……看完了吗?

    机器之心
  • 《北京大学、腾讯联合在Coursera开设课程》分享有礼中奖信息

    之前推送的《教授们说了,我们的目标是培养中国最优秀的程序员》分享有礼活动,中奖名单如下,恭喜幸运参与者!我们将按照问卷中填写的信息尽快邮寄奖品! 洪瑞琦 梓鑫 ...

    腾讯高校合作
  • 嵌入式驱动工程师学习路线【建议收藏】

    网上看了很多的嵌入式学习路线,有的比较片面,有的为了博人眼球东拼西凑,几乎把整个行业用得着用不着的技术都写上去了,没有侧重点,简直是劝退指南,还有的纯粹是打广告...

    Jasonangel
  • AI与农业:苹果缺陷检测

    本文中蓝色字体为外部链接,部分外部链接无法从文章中直接跳转,请点击【阅读原文】以访问。

    AiTechYun
  • 这里有 300 篇 Python 与机器学习类原创笔记

    主要包括计算机科学中基本的算法与数据结构,结合算法思想和Leetcode实战,总结介绍。

    好好学java
  • 一作解读|Nat. Biotechnol.:水稻NRT1.1B基因调控根系微生物组参与氮利用

    https://www.mr-gut.cn/papers/read/1070836774

    生信宝典
  • Java编程思想

    《Java 编程思想》这本书赢得了全球程序员的广泛赞誉,即使是最晦涩的概念,在Bruce Eckel的文字亲和力和小而直接的编程示例面前也会化解于无形。从Jav...

    用户1518699
  • 你有一份新的C++书单,请注意查收!

    C是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C擅...

    黄小斜学Java
  • 你有一份新的C++书单,请注意查收!

    C是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C擅...

    Java技术江湖
  • 必读的Python入门书籍,你都看过吗?(内有福利)

    今天小编为大家准备了4本Python入门书籍,让大家在python的学习路上少走弯路。

    圆方圆PYTHON学院
  • 书单推荐 | 12本前端必备书籍(下)

    本书作者死月是 Node.js 核心贡献者(Node.js Core Collaborator)之一,CNode 社区版主之一,杭州 Node Party 组织...

    疯狂的技术宅
  • 5本必读Python入门书籍,你都看过吗?(附福利)

    今天技术学派为大家准备了5本Python入门书籍,除了书籍小编还整理了3个常用的资源网站分享给大家。

    燕大侠V
  • 政府案例分享:用大数据预防农产品价格过山车式波动

    【数据猿导读】 政府重视、行业龙头参与,农产品价格与大数据相结合,价格大数据分析及可视化平台有效地抑制了农产品价格“过山车”式波动,避免农业生产盲目跟风,保障农...

    数据猿
  • 百亿身家中年男子告别房地产转行学Python,我们推荐他读这6本书

    导读:几天前,数据叔在界面新闻看到这样一个标题:《【深度】潘石屹张欣彻底告别房地产》。数据叔当时还纳闷,潘老板告别房地产之后要去做什么呢?如今终于有了答案:

    华章科技
  • 大数据周周看 | Uber向美国政府提供千万用户数据 浪潮四平大数据交易所揭牌成立

    <数据猿导读> 本周,浪潮集团的消息频频出现在新闻版面上,先是传出“入驻”苹果公司数据中心,后是宣布其承建的四平云计算中心、大数据交易所完成揭牌,可谓风头正热。...

    数据猿
  • FPGA Xilinx Zynq 系列(十六)The ZedBoard

    今天给大侠带来FPGA Xilinx Zynq 系列第十六篇,开启第六章The ZedBoard,本篇内容目录简介如下:

    FPGA技术江湖
  • 达观与小说网站合作打造网络文学“第二春”;斯坦福教授加盟谷歌专注深度学习 | 大数据24小时

    数据猿导读 云计算管理平台供应商“天云软件”获是千万元融资;达观数据与磨铁在内多家小说网站合作,网络文学进入“科技春天”;中国农科学院宣布成立全球农业大数据与信...

    数据猿
  • 机器学习你不可不懂的线性代数和矩阵微分

    本文介绍本人在学习数学以及接触机器学习以来的一些感悟和书单。从大学到研究生,把自己对线性代数和矩阵论一点点感悟和心得发在这里,大家一起进步学习。

    陈灿
  • IT皇冠上的明珠! Linux 操作系统学习看过来!

    操作系统堪称是IT皇冠上的明珠,Linux阅码场专注Linux操作系统内核研究, 它的文章云集了国内众多知名企业一线工程师的心得,畅销著作有《linux设备驱动...

    编程珠玑

扫码关注云+社区

领取腾讯云代金券