软件详细设计说明书(如何编写软件设计说明书)
本文目录
如何编写软件设计说明书
文字超过1万字,请到我提供的网址下载1.1目的编写详细设计说明书是软件开发过程必不可少的部分,其目的是为了使开发人员在完成概要设计说明书的基础上完成概要设计规定的各项模块的具体实现的设计工作。1.2背景一、 软件名称
详细设计的说明书
1、引言1.1、编写目的 说明编写这份详细设计说明书的目的,指出预期的读者。1.2、背景说明:a.待开发软件系统的名称;b.本项目的任务提出者、开发者、用户和运行该程序系统的计算中心。1.3、定义 列出本文件中用到专门术语的定义和外文首字母组词的原词组。1.4、参考资料列出有关的参考资料,如:a.本项目的经核准的计划任务书或合同、上级机关的批文;b.属于本项目的其他已发表的文件;c.本文件中各处引用到的文件资料,包括所要用到的软件开发标准。列出这些文件的标题、文件编号、发表日期和出版单位,说明能够取得这些文件的来源。2、程序系统的结构用一系列图表列出本程序系统内的每个程序(包括每个模块和子程序)的名称、标识符和它们之间的层次结构关系。3、程序1(标识符)设计说明从本章开始,逐个地给出各个层次中的每个程序的设计考虑。以下给出的提纲是针对一般情况的。对于一个具体的模块,尤其是层次比较低的模块或子程序,其很多条目的内容往往与它所隶属的上一层模块的对应条目的内容相同,在这种情况下,只要简单地说明这一点即可。3.1、程序描述给出对该程序的简要描述,主要说明安排设计本程序的目的意义,并且,还要说明本程序的特点(如是常驻内存还是非常驻?是否子程序?是可重入的还是不可重入的?有无覆盖要求?是顺序处理还是并发处理等)。3.2、功能说明该程序应具有的功能,可采用IPO图(即输入一处理一输出图)的形式。3.3、性能说明对该程序的全部性能要求,包括对精度、灵活性和时间特性的要求。3.4、输入项给出对每一个输入项的特性,包括名称、标识、数据的类型和格式、数据值的有效范围、输入的方式。数量和频度、输入媒体、输入数据的来源和安全保密条件等等。3.5、输出项给出对每一个输出项的特性,包括名称、标识、数据的类型和格式,数据值的有效范围,输出的形式、数量和频度,输出媒体、对输出图形及符号的说明、安全保密条件等等。3.6、算法详细说明本程序所选用的算法,具体的计算公式和计算步骤。3.7、流程逻辑用图表(例如流程图、判定表等)辅以必要的说明来表示本程序的逻辑流程。3.8、接口用图的形式说明本程序所隶属的上一层模块及隶属于本程序的下一层模块、子程序,说明参数赋值和调用方式,说明与本程序相直接关联的数据结构(数据库、数据文卷)。3.9、存储分配根据需要,说明本程序的存储分配。3.10、注释设计说明准备在本程序中安排的注释,如:a.加在模块首部的注释;b.加在各分枝点处的注释;c.对各变量的功能、范围、缺省条件等所加的注释;d.对使用的逻辑所加的注释等等。3.11、限制条件说明本程序运行中所受到的限制条件。3.12、测试计划说明对本程序进行单体测试的计划,包括对测试的技术要求、输入数据、预期结果、进度安排、人员职责、设备条件驱动程序及桩模块等的规定。3.13、尚未解决的问题说明在本程序的设计中尚未解决而设计者认为在软件完成之前应解决的问题。4、程序2(标识符)设计说明用类似F.3的方式,说明第2个程序乃至第N个程序的设计考虑。
软件设计说明书应该怎么写
软件设计说明书编写规范一、 编写目的二、 应用文档三、 要求及内容2.1 编写格式要求2.2 说明书内容2.2.1 说明书目的2.2.2 参考资料及文档2.2.3 设计原则2.2.4 接口描述2.2.5 功能描述2.2.6 接口协议2.2.7 编程协定2.2.8 数据结构2.2.9 逻辑结构2.2.10 程序流程2.2.11 源文件列表2.2.12 其他2.3 文档修订历史四、 编写文档注意事项五、 样例及模板文档
软件详细设计说明书
面向对象软件设计说明书模板 1 概述 1.1 系统简述 对系统要完成什么,所面向的用户以及系统运行的环境的简短描述,这部分主要来源于需求说明书的开始部分。 1.2 软件设计目标 这部分论述整个系统的设计目标,明确地说明哪些功能是系统决定实现而哪些时不准备实现的。同时,对于非功能性的需求例如性能、可用性等,亦需提及。需求规格说明书对于这部分的内容来说是很重要的参考,看看其中明确了的功能性以及非功能性的需求。 这部分必须说清楚设计的全貌如何,务必使读者看后知道将实现的系统有什么特点和功能。在随后的文档部分,将解释设计是怎么来实现这些的。 1.3 参考资料 列出本文档中所引用的参考资料。(至少要引用需求规格说明书) 1.4 修订版本记录 列出本文档修改的历史纪录。必须指明修改的内容、日期以及修改人。 2 术语表 对本文档中所使用的各种术语进行说明。如果一些术语在需求规格说明书中已经说明过了,此处不用再重复,可以指引读者参考需求说明。 3 用例 此处要求系统用用例图表述(UML),对每个用例(正常处理的情况)要有中文叙述。 4 设计概述 4.1 简述 这部分要求突出整个设计所采用的方法(是面向对象设计还是结构化设计)、系统的体系结构(例如客户/服务器结构)以及使用到的相应技术和工具(例如OMT、Rose) 4.2 系统结构设计 这部分要求提供高层系统结构的描述,使用方框图来显示主要的组件及组件间的交互。最好是把逻辑结构同物理结构分离,对前者进行描述。别忘了说明图中用到的俗语和符号。 4.2.1 顶层系统结构 4.2.2 子系统1结构 4.2.3 子系统2结构 4.3 系统界面 各种提供给用户的界面以及外部系统在此处要予以说明。如果在需求规格说明书中已经对用户界面有了叙述,此处不用再重复,可以指引读者参考需求说明。如果系统提供了对其它系统的接口,比如说从其它软件系统导入/导出数据,必须在此说明。 4.4 约束和假定 描述系统设计中最主要的约束,这些是由客户强制要求并在需求说明书写明的。说明系统是如何来适应这些约束的。 另外如果本系统跟其它外部系统交互或者依赖其它外部系统提供一些功能辅助,那么系统可能还受到其它的约束。这种情况下,要求清楚地描述与本系统有交互的软件类型(比如某某某数据库软件,某某某EMail软件)以及这样导致的约束(比如只允许纯文本的Email)。 实现的语言和平台也会对系统有约束,同样在此予以说明。 对于因选择具体的设计实现而导致对系统的约束,简要地描述你的想法思路,经过怎么样的权衡,为什么要采取这样的设计等等。 5 对象模型 5.1 系统对象模型 提供整个系统的对象模型,如果模型过大,按照可行的标准把它划分成小块,例如可以把客户端和服务器端的对象模型分开成两个图表述。 对象图应该包含什么呢? 在其中应该包含所有的系统对象。这些对象都是从理解需求后得到的。要明确哪些应该、哪些不应该被放进图中。 所有对象之间的关联必须被确定并且必须指明联系的基数(一对一、一对多还是多对多,0..1,*,1..*)。聚合和继承关系必须清楚地确定下来。每个图必须附有简单的说明。 可能经过多次反复之后才能得到系统的正确的对象模型。 6 对象描述 在这个部分叙述每个对象的细节,它的属性、它的方法。在这之前必须从逻辑上对对象进行组织。你可能需要用结构图把对象按子系统划分好。 为每个对象做一个条目。在系统对象模型中简要的描述它的用途、约束(如只能有一个实例),列出它的属性和方法。如果对象是存储在持久的数据容器中,标明它是持久对象,否则说明它是个临时对象(transient object)。 对每个对象的每个属性详细说明:名字、类型,如果属性不是很直观或者有约束(例如,每个对象的该属性必须有一个唯一的值或者值域是有限正整数等)。 对每个对象的每个方法详细说明:方法名,返回类型,返回值,参数,用途以及使用的算法的简要说明(如果不是特别简单的话)。如果对变量或者返回值由什么假定的话,Pre-conditions和Post-conditions必须在此说明。列出它或者被它调用的方法需要访问或者修改的属性。最后,提供可以验证实现方法的测试案例。 6.1 子系统1中的对象 6.1.1 对象:对象1 用途: 约束: 持久性: 6.1.1.1 属性描述: 1. 属性:属性1 类型: 描述: 约束: 2. 属性:属性2 6.1.1.2 方法描述: 1. 方法:方法1 返回类型: 参数: 返回值: Pre-Condition: Post-Condition: 读取/修改的属性: 调用的方法: 处理逻辑: 测试例:用什么参数调用该方法,期望的输出是什么…… 7 动态模型 这部分的作用是描述系统如何响应各种事件。例如,可以建立系统的行为模型。一般使用顺序图和状态图。 确定不同的场景(Scenario)是第一步,不需要确定所有可能的场景,但是必须至少要覆盖典型的系统用例。不要自己去想当然地创造场景,通常的策略是描述那些客户可以感受得到的场景。 7.1 场景(Scenarios) 对每个场景做一则条目,包括以下内容: 场景名:给它一个可以望文生义的名字 场景描述:简要叙述场景是干什么的以及发生的动作的顺序。 顺序图:描述各种事件及事件发生的相对时间顺序。 7.1.1 场景:场景1 描述: 动作1 动作2 7.2 状态图 这部分的内容包括系统动态模型重要的部分的状态图。可能你想为每个对象画一个状态图,但事实上会导致太多不期望的细节信息,只需要确定系统中一些重要的对象并为之提供状态图即可。 7.2.1 状态图1: 8 非功能性需求 在这个部分,必须说明如何处理需求文档中指定的非功能性需求。尽可能客观地评估系统应付每一个非功能性的需求的能力程度。如果某些非功能性需求没有完全在设计的系统中实现,请务必在此说明。另外,你也需要对系统将来的进化作一个估计并描述本设计如何使系统能够适应这些可预见的变化。 9 辅助文档 提供能帮助理解设计的相应文档。 10 词汇索引 文章录入
更多文章:
学校里正在征集班级图书角借阅公约,你有什么金点子,请写出三条?小学金点子征集怎么写
2024年8月6日 01:50
2016春晚主持人名单(2016年看节联欢晚会节目单出来了吗)
2024年9月19日 03:30
五人墓碑记原文及翻译?五人墓碑记原文|翻译|赏析_原文作者简介
2024年8月9日 06:10
水写布是什么有什么用途是用水写字吗?书法练习用什么好,神奇水写布是什么东西 卫生,绿色环保,宣纸做的么节约么
2024年6月18日 06:20
情书全集(MP4或AVI)下载?求韩国<情书>第二季第14期的下载地址
2024年3月21日 08:10
绩效考核与培训(论述:谈谈如何运用绩效分析法确定培训需求和培训对象)
2024年7月2日 05:10