1. 概要设计和详细设计怎么写 知乎
撰写的设计文档主要分为:总体概要设计文档 + 详细设计文档,后简称为“概设”+“详设”。
总设和详设都应该包含的部分:
(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倍计算;
互联网公司,产品迭代块,项目周期长,基本没有“文档”一说,但其实写好文档,对系统和项目未来的维护是非常有帮助的。
2. 软件概要设计说明书怎么写
通用的软件概要设计说明书国家有标准。例如概要设计说明书(GB8567-88)包括如下内容:
1引言
1.1编写目的
1.2背景
1.3定义
1.4参考资料
2总体设计
2.1需求规定
2.2运行环境
2.3基本设计概念和处理流程
2.4结构
2.5功能器求与程序的关系
2.6人工处理过程
2.7尚未问决的问题
3接口设计
3.1用户接口
3.2外部接口
3.3内部接口
4运行设计
4.1运行模块组合
4.2运行控制
4.3运行时间
5系统数据结构设计
5.1逻辑结构设计要点
5.2物理结构设计要点
5.3数据结构与程序的关系
6系统出错处理设计
6.1出错信息
6.2补救措施
6.3系统维护设计
根据具体项目内容可以有所微调。
3. 系统概要设计怎么写
软件文档中概要设计也称“总体设计”,是开发人员在明确用户需求(要什么)后对系统的一个总体考虑(明确系统目标、设计原则,初步考虑数据库设计和功能设计),国家关于这方面有相关标准(概要设计说明书(GB8567-88))。
在具体实践中可以按下列提纲撰写内容:1.引言1.1编写目的 [说明编写这份概要设计说明书的目的,指出预期的读者。]1.2背景 a.[待开发软件系统的名称;] b.[列出本项目的任务提出者、开发者、用户。
]1.3定义 [列出本文件中用到的专门术语的定义和外文首字母组词的原词组。]1.4参考资料 [列出有关的参考资料。
]2.总体设计2.1需求规定 [说明对本系统的主要的输入输出项目、处理的功能性能要求。包括]2.1.1系统功能2.1.2系统性能2.1.2.1精度2.1.2.2时间特性要求2.1.2.3可靠性2.1.2.4灵活性2.1.3输入输出要求2.1.4数据管理能力要求2.1.5故障处理要求2.1.6其他专门要求2.2运行环境 [简要地说明对本系统的运行环境的规定。
]2.2.1设备 [列出运行该软件所需要的硬设备。说明其中的新型设备及其专门功能。
]2.2.2支持软件 [列出支持软件,包括要用到的操作系统、编译(或汇编)程序、测试支持软件等。]2.2.3接口 [说明该系统同其他系统之间的接口、数据通信协议等]2.2.4控制 [说明控制该系统的运行的方法和控制信号,并说明这些控制信号的来源。
]2.3基本设计概念和处理流程 [说明本系统的基本设计概念和处理流程,尽量使用图表的形式。]2.4结构 [给出系统结构总体框图(包括软件、硬件结构框图),说明本系统的各模块的划分,扼要说明每个系统模块的标识符和功能,分层次地给出各模块之间的控制与被控制关系。
]2.5功能需求与系统模块的关系 [本条用一张矩阵图说明各项功能需求的实现同各模块的分配关系。]2.6人工处理过程 [说明在本系统的工作过程中不得不包含的人工处理过程。
]2.7尚未解决的问题 [说明在概要设计过程中尚未解决而设计者认为在系统完成之前必须解决的各个问题。]3.接口设计3.1用户接口 [说明将向用户提供的命令和它们的语法结构,以及相应的回答信息。
] [说明提供给用户操作的硬件控制面板的定义。]3.2外部接口 [说明本系统同外界的所有接口的安排包括软件与硬件之间的接口、本系统与各支持系统之间的接口关系。
]3.3内部接口 [说明本系统之内的各个系统元素之间的接口的安排。]4.运行设计4.1运行模块组合 [说明对系统施加不同的外界运行控制时所引起的各种不同的运行模块组合,说明每种运行所历经的内部模块的支持软件。
]4.2运行控制 [说明每一种外界的运行控制的方式方法和操作步骤。]4.3运行时间 [说明每种运行模块组合将占用各种资源的时间。
]5.系统数据结构设计 [不涉及软件设计可不包含]5.1逻辑结构设计要点 [给出本系统内软件所使用的每个数据结构的名称、标识符以及它们之中每个数据项、记录、文卷和系的标识、定义、长度及它们之间的层次的或表格的相互关系。]5.2物理结构设计要点 [给出本系统内软件所使用的每个数据结构中的每个数据项的存储要求,访问方法、存取单位、存取的物理关系、设计考虑和保密条件。
]5.3数据结构与程序的关系 [说明各个数据结构与访问这些数据结构的各个程序之间的对应关系。]6.系统出错处理设计6.1出错信息 [用一览表的方式说明每种可能的出错或故障情况出现时,系统输出信息的形式、含意及处理方法。
]6.2补救措施 [说明故障出现后可能采取的变通措施。]6.3系统维护设计 [说明为了系统维护的方便而在程序内部设计中作出的安排,包括在程序中专门安排用于系统的检查与维护的检测点和专用模块。
] 概要设计是一个设计师根据用户交互过程和用户需求来形成交互框架和视觉框架的过程,其结果往往以反映交互控件布置、界面元素分组以及界面整体板式的页面框架图的形式来呈现。这是一个在用户研究和设计之间架起桥梁,使用户研究和设计无缝结合,将对用户目标与需求转换成具体界面设计解决方案的重要阶段。
[1] 概要设计的主要任务是把需求分析得到的系统扩展用例图转换为软件结构和数据结构。设计软件结构的具体任务是:将一个复杂系统按功能进行模块划分、建立模块的层次结构及调用关系、确定模块间的接口及人机界面等。
数据结构设计包括数据特征的描述、确定数据的结构特性、以及数据库的设计。显然,概要设计建立的是目标系统的逻辑模型,与计算机无关。
(1)层次图。层次图用来描绘软件的层次结构。
一个矩形框代表一个模块,方框间的连线表示调用关系。如图,最顶层的方框代表正文加工系统的主控模块,它调用下层模块,完成正文加工的全部功能。
第二层的每个模块完成正文加工的一个主要功能。(2)HIPO图。
HIPO图是IBM公司发明的“层次图加输入/处理/输出图”。层次图加上编号称为H图。
在层次图的基础上,除最顶层的方框之外,其余每个方框都加了编号。层次图中每一个方框都有一个对应的IPO图(表示模块的处理过程)。
每张IPO图应增加的编号与其表示的(对应的)层次图编号一致。IPO图是输入/加工/输出图的简称。
(3)结构图。结构图是Yordon提出的进行软件结构设计的工具,结构图和层次图类似,一个方框代表一个模块。
4. 系统概要设计怎么写
是软件的概要设计么?网上应该到处都有的,我以前也会打过一样的问题给你一个我以前用的吧~概要设计说明书1引言1.1编写目的说明编写这份概要设计说明书的目的,指出预期的读者。
1.2背景说明:a. 待开发软件系统的名称;b. 列出此项目的任务提出者、开发者、用户以及将运行该软件的计算站(中心)。1.3定义列出本文件中用到的专门术语的定义和外文首字母组词的原词组。
1.4参考资料列出有关的参考文件,如:a. 本项目的经核准的计划任务书或合同,上级机关的批文;b. 属于本项目的其他已发表文件;c. 本文件中各处引用的文件、资料,包括所要用到的软件开发标准。列出这些文件的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。
2总体设计2.1需求规定说明对本系统的主要的输入输出项目、处理的功能性能要求,详细的说明可参见附录C。2.2运行环境简要地说明对本系统的运行环境(包括硬件环境和支持环境)的规定,详细说明参见附录C。
2.3基本设计概念和处理流程说明本系统的基本设计概念和处理流程,尽量使用图表的形式。2.4结构用一览表及框图的形式说明本系统的系统元素(各层模块、子程序、公用程序等)的划分,扼要说明每个系统元素的标识符和功能,分层次地给出各元素之间的控制与被控制关系.2.5功能器求与程序的关系本条用一张如下的矩阵图说明各项功能需求的实现同各块程序的分配关系: 程序1 程序2 …… 程序n功能需求1 √ 功能需求2 √ …… 功能需求n √ √2.6人工处理过程说明在本软件系统的工作过程中不得不包含的人工处理过程(如果有的话)。
2.7尚未问决的问题说明在概要设计过程中尚未解决而设计者认为在系统完成之前必须解决的各个问题。3接口设计3.1用户接口说明将向用户提供的命令和它们的语法结构,以及软件的回答信息。
3.2外部接口说明本系统同外界的所有接口的安排包括软件与硬件之间的接口、本系统与各支持软件之间的接口关系。3.3内部接口说明本系统之内的各个系统元素之间的接口的安排。
4运行设计4.1运行模块组合说明对系统施加不同的外界运行控制时所引起的各种不同的运行模块组合,说明每种运行所历经的内部模块和支持软件。4.2运行控制说明每一种外界的运行控制的方式方法和操作步骤。
4.3运行时间说明每种运行模块组合将占用各种资源的时间。5系统数据结构设计5.1逻辑结构设计要点给出本系统内所使用的每个数据结构的名称、标识符以及它们之中每个数据项、记录、文卷和系的标识、定义、长度及它们之间的层次的或表格的相互关系。
5.2物理结构设计要点给出本系统内所使用的每个数据结构中的每个数据项的存储要求,访问方法、存取单位、存取的物理关系(索引、设备、存储区域)、设计考虑和保密条件。5.3数据结构与程序的关系说明各个数据结构与访问这些数据结构的形式:6系统出错处理设计6.1出错信息用一览表的方式说朗每种可能的出错或故障情况出现时,系统输出信息的形式、含意及处理方法。
6.2补救措施说明故障出现后可能采取的变通措施,包括:a. 后备技术说明准备采用的后备技术,当原始系统数据万一丢失时启用的副本的建立和启动的技术,例如周期性地把磁盘信息记录到磁带上去就是对于磁盘媒体的一种后备技术;b. 降效技术说明准备采用的后备技术,使用另一个效率稍低的系统或方法来求得所需结果的某些部分,例如一个自动系统的降效技术可以是手工操作和数据的人工记录;c. 恢复及再启动技术说明将使用的恢复再启动技术,使软件从故障点恢复执行或使软件从头开始重新运行的方法。6.3系统维护设计说明为了系统维护的方便而在程序内部设计中作出的安排,包括在程序中专门安排用于系统的检查与维护的检测点和专用模块。
各个程序之间的对应关系,可采用如下的矩阵图的形式;。
5. 软件工程概要设计说明怎么写
一般是分以下几个章节:1.引言1.1编写目的 1.2项目背景1.3定义 1.4参考资料 2.任务概述2.1目标2.2运行环境2.3需求概述2.4条件与限制 3.总体设计 3.1处理流程3.2总体结构和模块外部设计 3.3功能分配4.接口设计4.1外部接口4.2内部接口 5.数据结构设计5.1逻辑结构设计5.2物理结构设计5.3数据结构与程序的关系 6.运行设计6.1运行模块的组合6.2运行控制6.3运行时间 7.出错处理设计7.1出错输出信息7.2出错处理对策 8.安全保密设计 9.维护设计
要不你把邮箱给我 我给你传份模板
6. 系统概要设计怎么写
是软件的概要设计么?网上应该到处都有的,我以前也会打过一样的问题给你一个我以前用的吧~概要设计说明书1引言1.1编写目的说明编写这份概要设计说明书的目的,指出预期的读者。
1.2背景说明:a. 待开发软件系统的名称;b. 列出此项目的任务提出者、开发者、用户以及将运行该软件的计算站(中心)。1.3定义列出本文件中用到的专门术语的定义和外文首字母组词的原词组。
1.4参考资料列出有关的参考文件,如:a. 本项目的经核准的计划任务书或合同,上级机关的批文;b. 属于本项目的其他已发表文件;c. 本文件中各处引用的文件、资料,包括所要用到的软件开发标准。列出这些文件的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。
2总体设计2.1需求规定说明对本系统的主要的输入输出项目、处理的功能性能要求,详细的说明可参见附录C。2.2运行环境简要地说明对本系统的运行环境(包括硬件环境和支持环境)的规定,详细说明参见附录C。
2.3基本设计概念和处理流程说明本系统的基本设计概念和处理流程,尽量使用图表的形式。2.4结构用一览表及框图的形式说明本系统的系统元素(各层模块、子程序、公用程序等)的划分,扼要说明每个系统元素的标识符和功能,分层次地给出各元素之间的控制与被控制关系.2.5功能器求与程序的关系本条用一张如下的矩阵图说明各项功能需求的实现同各块程序的分配关系: 程序1 程序2 …… 程序n功能需求1 √ 功能需求2 √ …… 功能需求n √ √2.6人工处理过程说明在本软件系统的工作过程中不得不包含的人工处理过程(如果有的话)。
2.7尚未问决的问题说明在概要设计过程中尚未解决而设计者认为在系统完成之前必须解决的各个问题。3接口设计3.1用户接口说明将向用户提供的命令和它们的语法结构,以及软件的回答信息。
3.2外部接口说明本系统同外界的所有接口的安排包括软件与硬件之间的接口、本系统与各支持软件之间的接口关系。3.3内部接口说明本系统之内的各个系统元素之间的接口的安排。
4运行设计4.1运行模块组合说明对系统施加不同的外界运行控制时所引起的各种不同的运行模块组合,说明每种运行所历经的内部模块和支持软件。4.2运行控制说明每一种外界的运行控制的方式方法和操作步骤。
4.3运行时间说明每种运行模块组合将占用各种资源的时间。5系统数据结构设计5.1逻辑结构设计要点给出本系统内所使用的每个数据结构的名称、标识符以及它们之中每个数据项、记录、文卷和系的标识、定义、长度及它们之间的层次的或表格的相互关系。
5.2物理结构设计要点给出本系统内所使用的每个数据结构中的每个数据项的存储要求,访问方法、存取单位、存取的物理关系(索引、设备、存储区域)、设计考虑和保密条件。5.3数据结构与程序的关系说明各个数据结构与访问这些数据结构的形式:6系统出错处理设计6.1出错信息用一览表的方式说朗每种可能的出错或故障情况出现时,系统输出信息的形式、含意及处理方法。
6.2补救措施说明故障出现后可能采取的变通措施,包括:a. 后备技术说明准备采用的后备技术,当原始系统数据万一丢失时启用的副本的建立和启动的技术,例如周期性地把磁盘信息记录到磁带上去就是对于磁盘媒体的一种后备技术;b. 降效技术说明准备采用的后备技术,使用另一个效率稍低的系统或方法来求得所需结果的某些部分,例如一个自动系统的降效技术可以是手工操作和数据的人工记录;c. 恢复及再启动技术说明将使用的恢复再启动技术,使软件从故障点恢复执行或使软件从头开始重新运行的方法。6.3系统维护设计说明为了系统维护的方便而在程序内部设计中作出的安排,包括在程序中专门安排用于系统的检查与维护的检测点和专用模块。
各个程序之间的对应关系,可采用如下的矩阵图的形式;。