`

互联网公司研发RD如何撰写总体设计与详细设计文档

 
阅读更多

研发工程师(RD)需要撰写的设计文档主要分为:总体设计文档 + 详细设计文档,后简称为“总设”+“详设”。

总设和详设都应该包含的部分:
(1) 需求:一般以产品的语言描述,这一块可以拷贝产品需求文档中的story list部分;
(2) 名词解释(可选):非相关领域内的同学需要看到文档需要提前了解的一些概念性质的东西;
(3) 设计目标:又分为功能目标和性能目标,功能目标一般是对产品需求的技术描述,性能目标是根据产品给出的数据对性能进行的评估。一般来说,新服务必须要有性能目标一项,性能目标可能会影响设计方案。

除了都应该包含的部分,总体设计一般还包含:
(1) 系统架构:一般来说会有个简单的架构图,并配以文字对架构进行简要说明;
(2) 模块简介:架构图中如果有很多模块,需要对各个模块的功能进行简要介绍;
(3) 设计与折衷设计与折衷是总体设计中最重要的部分
(4) 潜在风险(可选);
输出总体设计的时候,很多方案还是不确定的,需要在设计评审会议上确认。

总体设计重点在“方案折衷”,总体设计评审完毕之后,此时应该是所有方案都确认了,需要输出各模块的详细设计,详细设计重点在“详细”:
(1) 总体设计结论汇总(可选):总体设计上达成一致的结论有个简要概述,说明详设是对这些结论的实现;
(2) 交互流程:简要的交互可用文字说明,复杂的交互建议使用流程图,交互图或其他图形进行说明;
(3) 数据库设计:这个是应该放在总设还是详设呢?
(4) 接口形式:有了数据库+接口+流程,别的同学拿到详设文档,基本也能够搞定了;
(5) 其他细节:例如公式等;
理论上输出了详细设计之后,无论谁拿到了这个详设文档,都是能够完成该项目的。

个人实践分享:
一、 大图
(1) 大系统或复杂流程,其架构图或者流程图会非常大,经常比A4纸或word的一页大很多,此时不宜在word中直接贴图形,贴了也看不清,建议将图放在wiki上,文档中直接贴链接;
(2) 一定要保存viso或者其他图形的源文件,否则今后改动起来要重画,代价可想而知;

二、 设计与折衷
(1) 设计与折衷是总设中最重要的内容,总设评审中,主要就是讨论这些折衷的优劣
(2) 评审过后,不但要邮件周知结论,还要在总设中进行更新,说明最终决定使用了哪种方案,为什么使用这种方案;根据自己的经验,接手别人的模块、项目,拿到代码和文档,设计方案对我来说完全是个谜!!!
(3) 有时候因为排期或者其他原因,不一定采用了最优的设计方案,此时更应该在总设中记录决策的过程与原因;
(4) 最后,设计折衷是一个很好的自我辩解的机会:因为项目进度,或者历史遗留问题,我不得不采取了一个这样的设计,不要再骂我了

三、 性能目标
性能目标是新模块文档必不可少的一部分,很多项目对性能影响较大的话,也必须撰写性能目标,性能一般来说可能包含以下部分:
(1) 日平均请求:一般来自产品人员的评估;
(2) 平均QPS:日平均请求 除以 4w秒得出,为什么是4w秒呢,24小时化为86400秒,取用户活跃时间为白天算,除2得4w秒;
(3) 峰值QPS:一般可以以QPS的2~4倍计算;

互联网公司,产品迭代块,项目周期长,基本没有“文档”一说,但其实写好文档,对系统和项目未来的维护是非常有帮助的。

分享到:
评论

相关推荐

    软件详细设计文档开发模板

    软件详细设计文档开发模板 软件详细设计文档开发模板是一个软件设计开发标准模板,直接套用,旨在提供一个通用的软件设计文档模板,为软件开发项目提供详细的设计指南和参考依据。本模板涵盖软件设计的各个方面,...

    RD.zip_RD_RD 成像算法_RD成像_RD成像算法_雷达成像

    通过RD成像算法,我们可以从雷达数据中提取丰富的信息,这对于现代雷达系统的设计、优化以及各种实际应用都具有重要意义。对于研究者来说,理解并掌握这种算法,不仅可以深化理论知识,还能为实际工程问题提供解决...

    网站需求设计文档模板

    《网站需求设计文档》全面而细致地规划了网站的功能需求,从角色定义到具体功能点,再到操作流程与预期结果,形成了一个完整的指导框架,为网站开发团队提供了明确的方向,有助于确保最终产品符合预期目标,满足用户...

    RD624红外热释资料

    在提供的文档中,"RD624.docx"可能包含RD624传感器的详细规格、工作原理和应用指南;"红外人体感应biss0001.pdf"和"BISS0001中文资料.pdf"可能会深入讲解BISS0001的工作机制和配置方法;"RD-624人体红外热释电传感器...

    明华RD系列读卡器开发驱动

    本文将深入探讨"明华RD系列读卡器开发驱动",这是一种专为明华RD系列读卡器设计的驱动程序,涵盖了多种操作系统平台,包括C库、Foxbase、Foxpro.dos、Linux、Unix以及Windows DLL。 首先,让我们理解"明华RD系列...

    Dorado7研发文档

    根据提供的"Dorado7研发文档"的信息,我们可以提炼出多个关键知识点。这些知识点涵盖了从项目的基础概念到具体的开发技巧,以及研发手册中所涉及的技术细节。接下来将逐一进行详细阐述。 ### 一、词汇表(V) ####...

    rd450x bmc reset

    标题“rd450x bmc reset”与描述“rd450x bmc”都提到了RD450X和BMC,这暗示我们讨论的主题是关于RD450X服务器平台上的基板管理控制器(Baseboard Management Controller)及其重置过程。RD450X是一款常见的服务器...

    资料RD01MUS1

    根据给定的文件信息,我们可以深入探讨RD01MUS1这一特定型号的功率MOSFET的关键特性、应用以及其在IT领域的价值。 ### RD01MUS1概述 RD01MUS1是三菱电机(Mitsubishi Electric)生产的一款硅基射频(RF)功率...

    NVME RD540 BIOS.zip

    标题“NVME RD540 BIOS.zip”指出这是一个与联想服务器RD540相关的更新,特别是针对NVME固态硬盘的BIOS(基本输入/输出系统)升级。BIOS是计算机启动时运行的第一段软件,它负责初始化硬件并提供与操作系统交互的...

    RD图文编辑软件小卡专用

    "RD图文编辑软件小卡专用"正是这样一款专为特定用户群体设计的软件,它针对RD(可能是Research & Development,研发)领域的图文处理需求,提供了定制化的解决方案。本文将深入探讨这款软件的功能、特性以及如何在...

    基于P89V51RD2的单片机试验板设计与实现

    基于P89V51RD2的单片机试验板设计与实现,张雪峰,,P89V51RD2是一款功能非常强大的微处理器。针对项目预研,开发一款基于P89V51RD2的单片机试验板。对试验板进行总体设计,完成硬件设计与

    RD980中转台

    根据给定的信息,“RD980中转台”是一款由海能达公司推出的数字中转台设备,主要用于增强无线电通信信号的传输距离和质量。以下将详细解析该产品的相关知识点。 ### RD980数字中转台概述 RD980是海能达公司...

    ThinkServer RD650, RD550, RD450, RD350, TD350显卡驱动

    联想ThinkServer RD650, RD550, RD450, RD350, TD350显卡驱动,能够解决在系统安装后,显示分辨率异常问题,适用WindowServer2012~2019。

    适用于ThinkServer RD640, RD540, RD440, RD340, TD340 TCM驱动

    适用于ThinkServer RD640, RD540, RD440, RD340, TD340 TCM驱动 此安装包是官方安装包 可以在一下系统安装: Windows Server 2008 32位 Windows Server 2008 64位 Windows Server 2008 R2 Windows Server 2012 ...

    适用于ThinkServer RD640, RD540, RD440, RD340, TD340 ME驱动

    适用于ThinkServer RD640, RD540, RD440, RD340, TD340 ME驱动 此安装包是官方安装包 可以在一下系统安装: Windows Server 2008 32位 Windows Server 2008 64位 Windows Server 2008 R2 Windows Server 2012 ...

    SST89E54RD2/RD / SST89E58RD2/RD

    我们可以详细解析出关于SST89E54RD2/RD与SST89E58RD2/RD这两款微控制器(MCU)的关键技术特征和功能,它们属于SST(Silicon Storage Technology)公司旗下的FlashFlex家族产品,基于其专利的SuperFlash CMOS半导体...

    基于SST89E516RD的数字钟设计

    此外,还需要撰写一份详细的设计报告,并提供电路原理图和源程序代码。 #### 3. 课程相关的技术与应用 ##### 3.1 用SST89E516RD自制51单片机仿真器 - **背景**:在单片机实验与开发过程中,程序调试是极其关键的...

    SST89E516RD2-SST89E564RD烧录配置字.doc

    SST89E516RD2-SST89E564RD烧录配置字是Microchip公司生产的一种FLASH存储器烧录配置字,主要用于微控制器的烧录配置。下面我们将详细介绍SST89E516RD2-SST89E564RD烧录配置字的相关知识点。 一、SST89E516RD2-SST89...

    ThinkServer-RD350RD450-OS安装手册-V1.0

    - **描述**:此文档为ThinkServer RD350 和 RD450 服务器的操作系统安装指南。 - **标签**:ThinkServe - **部分内容**:文档包含了针对不同操作系统版本的安装步骤和指导,包括准备工作、BIOS设置等。 ### 二、...

    联想ThinkServer RD340用户指南

    联想ThinkServer RD340是一款企业级的单插槽机架式服务器,设计用于提供高效能、可扩展性和可靠性。本用户指南详细介绍了如何安装、维护、配置以及诊断这款服务器,帮助用户充分发挥其性能。 首先,RD340服务器的...

Global site tag (gtag.js) - Google Analytics