当前位置:文档之家› 详细设计说明书_模板

详细设计说明书_模板

文档作者:文档呈送:文档抄送:XX项目详细设计说明书<VX.Y>编写:审核:批准:参与评审:变更记录版本号变化状态修改点说明变更人存放位置审批人审批日期*变化状态:C――创建,A——增加,M——修改,D——删除修改点说明:对变化状态进行简单解释,如增加了某项功能,修改了某个模块等信息。

不允许出现“根据评审意见修改等字样”注:当文档未评审通过前版本号标识规则为V0.X ,第一次评审通过后,版本号直接升级为V1.0,之后变更按照V1.X升级。

目录1前提和约束 (4)编写目的 (4)预期读者和阅读建议 (4)定义、缩写词、略语 (4)参考资料 (5)2前提和约束 (6)前提条件 (6)限制和约束 (6)3综合描述 (6)3.1系统目标 (6)3.2系统需求 (6)3.3系统概述 (7)3.4程序结构说明 (7)3.5源程序及编译链接组装说明 (7)4系统详细设计 (7)4.1XXX子系统名称 (8)4.1.1XXX包名称 (9)4.2XXX子系统名称2 (10)5用户界面详细设计(可裁剪) (10)5.1界面结构 (11)5.1.1界面结构或菜单结构 (11)5.1.2用户界面图(如无此需要,可省略) (11)5.2界面处理流程及界面约束描述(如无此需要,可省略)错误!未定义书签。

5.2.1界面或模块名1................................................. 错误!未定义书签。

5.2.2处理流程............................................................ 错误!未定义书签。

5.2.3界面约束与事件约束........................................ 错误!未定义书签。

5.2.4触发方式 (12)5.2.5界面或模块名2................................................. 错误!未定义书签。

6尚未解决的问题 (13)7资源对象说明 (13)1文档简介[说明]本部分要描述文档的目的,帮助读者对本文档建立基本印象,并为阅读后续内容扫清障。

蓝色字体部分是文档的说明,请各位同事在完成文档撰写后删除该部分。

编写目的[说明]本部分主要阐述文档目的,而非项目目的。

否则造成同一项目多个文档之间的内容重复,不利于文档维护。

预期读者和阅读建议[说明]指定需要认真阅读此文档的人员。

本小节应指明文档针对的读者对象,最好列出各种读者角色,并说明每种读者角色应该重点阅读的章节。

指明文档组织方式,简要描述各文档各部分关注的内容和解决的问题。

定义、缩写词、略语[说明]按字母或拼音顺序列出所有的定义和缩略语,以便读者可以正确地理解《架构设计说明书》,包括词头和缩写。

注意:只需要列出对理解本文有用的术语。

序号术语/缩略语说明/定义英文全称中文译名123...参考资料[说明]列举编写《架构设计说明书》时所参考的资料或其它来源。

包括但不限于:用户界面风格指导、合同、标准、系统需求规格说明书、用户需求、相关产品的产品需求规格说明书等。

可根据项目的实际情况选择参考资料的范围,但至少应包括用户需求说明书和需求分析说明书。

作者文献名称出版单位(或归属单位)版本或日期2前提和约束前提条件[说明]对详细设计工作依赖的上游文档做说明。

可使用表格或文字进行简要说明,没有的项目写无。

类别文件名称主要依据章节及内容是否完全依据需求是架构是概要设计是是其他前提条件限制和约束[说明]阐述应遵循的重要限制和约束,包括技术条件、软硬件条件、功能、性能目标约束等。

3综合描述3.1 系统目标[说明]系统最终要解决的实际问题或要达到的用户要求,系统如何能够做到客户满意。

3.2 系统需求[说明]系统由上游文档规定的需求的简要说明。

说明本系统,本文档涵盖的需求及功能实现部分。

3.3 系统概述[说明]简述系统功能,映射详细设计的基础轮廓。

用系统结构图表示系统内的包和主要类的名称、标识符和它们之间的层次结构关系,可以以系统体系结构划分,也可以由类类别划分(边界类、控制类、助手类、实体类、数据类),甚至可以由功能结构划分。

3.4 程序结构说明[说明]结合上游文件中的逻辑视图,描述最终的程序划分、结构图及功能与调用关系简要说明、程序种类说明。

本节为以下详细设计的简要索引,为系统程序的上层结构体系描述。

详细设计时可能得不到精确的最终程序文件名列表,但是应当尽量完整说明其种类和主要文件内容。

建议使用UML图配合文字说明。

3.5 源程序及编译链接组装说明[说明]结合上游文件中的物理视图,本处为源程序和前一节的最终程序如函数库、可执行程序、资源文件等的对照表,以及从源程序文件转化成这些最终文件的具体过程(编译、链接、组装)描述。

在详细设计时可能得不到精确的源程序文件名,但是应当尽量完整说明其种类和主要文件内容。

如果不同的文件具有不同的编译链接组装方式,则应在此处分别描述清楚。

在此处应明确分出各级编译单元,即哪些文件需要一起编译生成一个或一组编译后的文件。

编译单元文件可以是最终文件也可以是源程序和最终文件之间的中间文件。

建议使用UML图配合文字说明。

4系统详细设计[说明]系统详细设计应当以3.4节程序结构说明节内容为索引,而不是3.5节源程序及编译链接组装说明,换句话说,应当以最终的物理功能实现(逻辑视图)为主线索,源程序的结构(物理视图)作为辅线索,结合数据结构(数据视图)进行存储设计,结合模块间交互(运行视图)。

编写原则为公用的,重要的,接口类的程序段,应当尽量组织在文档前部,以示声明。

功能性的可以放在文档偏后的位置,如果使用公共模块应当标明引用章节位置。

建议在设计时做好公共模块的封装和组织。

如:在说明公共函数所在的动态链接库时,如果动态链接库只有一个,而会被三个其他程序调用,应当先描述本动态链接库,说明动态链接库的详细设计,其他程序调用时说明引用地址,并列出源程序与函数的对照表。

如果遇到概要设计中没有写明的逻辑问题,则应通知概要设计人员及时讨论并变更概要设计。

本章描述重点是程序段(面向对象中称作类中的方法或在面向过程中称为函数)。

在描述程序段过程中兼顾数据,流程,结构等内容。

菜单级别组织:参考上游文档中五视图的划分,建议如下划分详细设计内容对系统模块的划分可按以下两种方式进行:方式一按系统的层级进行分解,每个层机中分别描述模块的功能及交互数据等内容,如:4.1系统第一层分解描述4.1,1系统第二层分解4.1.1.1系统第三层分解4.1.1.1.1函数名称1方式二先划分子系统再划分包,再划分类,最后至方法:4.1子系统4.1.1包定义4.1.1.1类定义4.1.1.1.1方法名称1以下以方式二为例说明:菜单层级可以根据项目大小变化,方法或函数内的内容框架应当按照模板进行描述。

本处无文字。

4.1 XXX子系统名称[说明]子系统描述,参考上游文件进行描述。

说明子系统的功能。

建议使用UML包图描述并附加说明。

需概括说明可以被其他系统调用接口,及需要调用其他接口情况。

如果较多可以使用列表说明。

4.1.1XXX包名称[说明]说明本包的功能,作用,划分依据,包内类的相互关系及其他包相关内容。

建议使用UML类图并并附加说明。

需概括说明可以被其他包调用接口,及需要调用其他包的情况。

如果较多可以使用列表说明。

4.1.1.1 X XX类名称[说明]说明本类的功能,作用,划分依据,类内各个函数的相互关系及其他包相关内容。

需说明可以被其他类调用接口,及需要调用其他类的情况。

如果较多可以使用列表说明。

4.1.1.1.1XXXXX函数或方法名称1a)方法特征描述[说明]<可在此描述其调用形式,如:int GetNum(int iNum1,char cCha1);>b)功能性能描述[说明]<方法所完成的功能,如果有明确的性能指标分配,应当也在此注明。

该章节将作为单元测试的输入>c)输入/输出项[说明]<如果是函数则说明:输入参数、输出参数、返回值,以及函数的处理对象在处理前和处理后的状态。

如果是其它形式的处理单元,则描述相应的输入输出形式和内容。

如果输入输出需要某种条件触发,需明确描述输入输出项的发生条件。

异常抛出算做输出>d)数据结构说明[说明]<公共变量,内存数据结构,存取的数据库表和字段,存取机制说明。

>e)调用关系[说明]<本处描述调用和被调用关系,本方法被哪个或哪些实体主调,被调用或被触发方式;另外本方法调用的可执行程序公共函数库或函数,以及调用或触发方式。

>f)算法[说明]<上述因素的具体逻辑关系精确描述,如内存数据结构的初始化公式,计算公式等,数据库表及字段与内存变量的对应等。

建议使用UML图并附上说明>g)程序逻辑流程图[说明]<从程序出发,描述程序功能和算法的的逻辑流程图,建议使用UML图并附上说明> 4.2 XXX子系统名称2[说明]<下一级章节如4.1.>。

5用户界面详细设计<因为用户界面虽然也属于程序功能的一部分,但是多数系统的用户界面较为复杂和琐碎,需要将其与后台处理分开设计,包括数据库表设计。

用户界面是作为外部接口的一部分体现在概要设计中的。

本章着重设计用户界面的外观要素和界面处理流程,以及主要的界面级和界面事件级的约束。

控制台程序可以以文字说明,WEB或窗口程序建议以图片说明。

本处无文字。

>5.1 界面结构5.1.1界面结构或菜单结构5.1.1.1 基本框架5.1.1.2 框架结构描述●Container“container“就是将页面中的所有元素包在一起的部分,这部分还可以命名为: “wrapper“, “wrap“, “page“.●Header“header”是页面的头部区域,一般来讲,它包含网站的logo和一些其他元素。

这部分还可以命名为:“page-header” (或 pageHeader).●Navbar“navbar“等同于横向的导航栏,是最典型的网页元素。

这部分还可以命名为:“nav”, “navigation”, “nav-wrapper”.●Menu“Menu”区域包含一般的链接和菜单,这部分还可以命名为: “subNav “, “links“,“sidebar-main”.●Main“Main”是网页的主要区域,所有业务的处理区域。

这部分还可以命名为: “content“, “main-content” (或“mainContent”)。

●Footer“Footer”包含附加信息如软件的开发商信息或软件版本发布信息,这部分还可以命名为: “copyright“5.2 界面设计及模块分析5.2.1界面设计1、采用CSS+DIV重构界面。

相关主题