`

互联网公司研发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人体红外热释电传感器...

    Dorado7研发文档

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

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

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

    rd450x bmc reset

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

    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。

    SST89E54RD2/RD / SST89E58RD2/RD

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

    基于SST89E516RD的数字钟设计

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

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

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

    适用于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 RD340用户指南

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

    网站需求设计文档模板.pdf

    网站需求设计文档模板是一个详细的文档,用于描述网站的需求和设计。该文档包括多个部分,分别是角色描述、功能性需求、非功能性需求等。下面是对该文档的详细解释和知识点。 一、角色描述 在网站中,有多种角色,...

    RD算法源程序.rar_RD_bandoqr_rd算法_widelyess

    RD算法,全称为Rate-Distortion Optimization,是信息论和图像编码领域中一个重要的理论与技术。它在数据压缩中扮演着核心角色,通过优化编码速率(Rate)和失真(Distortion)之间的平衡,来实现高效的数据压缩。在...

    rd.rar_RD_RD算法是_RD算法是什么_rd 算法

    "rd算法.doc"文档可能详细介绍了RD算法的数学模型、实现步骤、优化技巧以及在SAR成像中的具体应用案例。它可能包含以下内容: 1. **RD函数与优化目标**:解释了如何构建和优化码率失真函数。 2. **量化策略**:探讨...

Global site tag (gtag.js) - Google Analytics