当前位置:文档之家› 概要设计范本

概要设计范本

概要设计范本1.概要设计和详细设计怎么写知乎撰写的设计文档主要分为:总体概要设计文档+详细设计文档,后简称为“概设”+“详设”。

总设和详设都应该包含的部分:(1)需求:一般以产品的语言描述,这一块可以拷贝产品需求文档中的storylist部分;(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.概要设计摘要:本文是在概要设计实践和学习中的一些心得与学习笔记,希望与大家分享,如有不妥之处欢迎指正。

关键字:概要设计,结构化,OOD正文:在需求明确、准备开始编码之前,要做概要设计,而详细设计可能大部分公司没有做,有做的也大部分是和编码同步进行,或者在编码之后。

因此,对大部分的公司来说,概要设计文档是唯一的设计文档,对后面的开发、测试、实施、维护工作起到关键性的影响。

一、问题的提出概要设计写什么?概要设计怎么做?如何判断设计的模块是完整的?为什么说设计阶段过于重视业务流程是个误区?以需求分析文档还是以概要设计文档来评估开发工作量、指导开发计划准确?结构化好还是面向对象好?以上问题的答案请在文章中找。

二、概要设计的目的将软件系统需求转换为未来系统的设计;逐步开发强壮的系统构架;使设计适合于实施环境,为提高性能而进行设计;结构应该被分解为模块和库。

三、概要设计的任务制定规范:代码体系、接口规约、命名规则。

这是项目小组今后共同作战的基础,有了开发规范和程序模块之间和项目成员彼此之间的接口规则、方式方法,大家就有了共同的工作语言、共同的工作平台,使整个软件开发工作可以协调有序地进行。

总体结构设计:功能(加工)->模块:每个功能用那些模块实现,保证每个功能都有相应的模块来实现;模块层次结构:某个角度的软件框架视图;模块间的调用关系:模块间的接口的总体描述;模块间的接口:传递的信息及其结构;处理方式设计:满足功能和性能的算法用户界面设计;数据结构设计:详细的数据结构:表、索引、文件;算法相关逻辑数据结构及其操作;上述操作的程序模块说明(在前台?在后台?用视图?用过程?······)接口控制表的数据结构和使用规则其他性能设计。

相关主题