详细设计说明书

image.png

1 引言

1.1 编写目的

依照需求规格说明书和概要设计说明书,在本文档中详尽说明软件的详细设计,包括修正或者发行版本号,以便于编程。如果这个软件详细设计只与整个系统的一部分有关系,那么只叙述文档中说明的部分或子系统。

为系统编码提供依据。

1.2 背景

说明:

这份文档所描述的软件系统的名称;

该软件项目的任务提出者、开发者、用户(或首批用户)及安装此软件的计算中心。

1.3 术语****定义

列出本文件中用到的专门术语的定义和外文首字母组词的原词组。

1.4 参考资料

列举编写软件详细设计说明书时所直接参考的资料或其他资源。可能包括用户界面风格指导、合同、标准、系统需求规格说明、使用实例文档或相关软件需求规格说明、概要设计说明等。在这里,最好给出详细的信息,包括标题名称、作者、版本号、日期、出版单位或资料来源,以便于读者查阅这些文献。

2 综合描述

2.1 系统目标

系统最终要解决的实际问题或要达到的用户要求,系统如何能够做到客户满意。

2.2 系统概述

简述系统功能,映射详细设计的基础轮廓;

2.3 运行环境

描述软件的运行环境,包括硬件平台、操作系统和版本,还有其他软件组件或与其共存的应用程序。如与概要设计说明中一致,可注明参照概要设计说明,如果概要设计中描述的运行环境较为概括无法明确程序的具体分布和运行方式,须在本处详细说明运行环境,以便能明确程序的具体分布和运行。

体系结构说明。

2.4 程序结构说明

最终的程序分布图及说明(可执行程序、自己开发的动态链接库、自己开发的静态链接库、数据配置文件、资源文件等最终程序包中包含的程序文件,并非源程序结构)、结构图及功能与调用关系简要说明、程序种类说明。本节为以下详细设计的简要索引,为系统程序的上层结构体系描述。详细设计时可能得不到精确的最终程序文件名列表,但是应当尽量完整说明其种类和主要文件内容,在程序编码结束前应将本节补齐,如果在开发过程中设计发生变化,本节也应当做相应变更。

2.5 源程序及编译链接组装说明

本处为源程序和前一节的最终程序如函数库、可执行程序、资源文件等的对照表,以及从源程序文件转化成这些最终文件的具体过程(编译、链接、组装)描述。在详细设计时可能得不到精确的源程序文件名,但是应当尽量完整说明其种类和主要文件内容,在程序编码结束前应将本节补齐,如果在开发过程中设计发生变化,本节也应当做相应变更。

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

在此处应明确分出各级编译单元,即哪些文件需要一起编译生成一个或一组编译后的文件。编译单元文件可以是最终文件也可以是源程序和最终文件之间的中间文件。

因为源程序结构以及编译链接组装方式可能在程序开发后期才能定出,本节可以独立成册,但须与前一节保持一致。本处应注明参见哪个文件。

3 系统详细设计

系统详细设计应当以2.4节内容为索引,而不是2.5节,换句话说,应当以最终的物理功能实现为主线索,源程序的结构作为辅线索。如:在说明公共函数所在的动态链接库时,如果动态链接库只有一个,而对应的源程序有三个,应当先在下面某节描述本动态链接库,说明动态链接库的详细设计,然后在动态链接库的详细设计中说明它的源程序构成,并列出源程序与函数的对照表。如果某一源程序仅包含公共变量或约定等信息,而且这些内容已经在其它地方说明,则此处也应注明,作为索引。在本节的下一层描述函数详细设计。如果遇到概要设计中没有写明的逻辑问题,则应通知概要设计人员及时讨论并变更概要设计。

如果源程序和最终程序的对应关系不能确定,则可略去此关系说明,直接在下一层描述函数详细设计。

如果系统很大可以按照第2章第4节的索引将本章分解成若干子文件描述,每份描述子系统的文件可以直接按本章的章节描述,也可以加进第2节的章节进一步描述子系统的综述部分,子系统设计文件均重新编章节序号,分出的子系统的设计文件需要在本章各节注明并详细描述接口。

本处无文字。

3.1 子系统名称1

3.1.1 程序名称1

3.1.1.1 程序特征描述

程序名称1表示的是什么类型,如可执行程序、动态链接库、函数、成员函数子过程等,如果是物理文件名如:可执行程序,可以在此描述它的来源。如果是函数,则可在此描述其调用形式,如:int GetNum(int iNum1,char cCha1);

3.1.1.2 程序功能性能描述

程序名称1所完成的功能,如果有明确的性能指标分配,应当也在此注明。

3.1.1.3 输入/输出项

如果是函数则说明:输入参数、输出参数、返回值,以及函数的处理对象在处理前和处理后的状态。如果是其它形式的处理单元,则描述相应的输入输出形式和内容。

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

如本程序名称代表的实体是一个无算法的实体如字体资源文件,则本节可略。

3.1.1.4 数据结构说明

公共变量,内存数据结构,存取的数据库表和字段,存取机制说明。如本程序名称代表的实体是一个无算法的实体如字体资源文件,则本节可略。

涉及的表结构以及字段说明。

3.1.1.5 接口定义

本处描述调用和被调用关系,本程序名称1代表的实体被哪个或哪些实体主调,被调用或被触发方式;另外本实体调用的可执行程序公共函数库或函数,以及调用或触发方式。

3.1.1.6 算法

上述因素的具体逻辑关系精确描述,如内存数据结构的初始化公式,计算公式等,数据库表及字段与内存变量的对应等。如果在功能中可以严格描述上述因素的逻辑关系,如本程序名称代表的实体是一个无算法的实体如字体资源文件,则本节可略。

3.1.1.7 程序逻辑流程图

从程序出发,描述程序功能和算法的的逻辑流程图,如本程序名称代表的实体是一个无算法的实体如字体资源文件,则本节可略。

3.1.1.8 测试要点

列出本程序实体的测试要点,表明本实体能做到什么,不能做到什么,为编写单元测试用例和组装测试用例提供依据,组装测试用例主要以接口部分的设计和测试要点为依据。

3.1.2 程序名称2

3.1.2.1 程序特征描述

程序名称1表示的是什么类型,如可执行程序、动态链接库、函数、成员函数子过程等,如果是物理文件名如:可执行程序,可以在此描述它的来源。如果是函数,则可在此描述其调用形式,如:int GetNum(int iNum1,char cCha1);

3.1.2.2 程序功能性能描述

程序名称1所完成的功能,如果有明确的性能指标分配,应当也在此注明。

3.1.2.3 输入/输出项

如果是函数则说明:输入参数、输出参数、返回值,以及函数的处理对象在处理前和处理后的状态。如果是其它形式的处理单元,则描述相应的输入输出形式和内容。

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

如本程序名称代表的实体是一个无算法的实体如字体资源文件,则本节可略。

3.1.2.4 数据结构说明

公共变量,内存数据结构,存取的数据库表和字段,存取机制说明。如本程序名称代表的实体是一个无算法的实体如字体资源文件,则本节可略。

涉及的表结构以及字段说明。

3.1.2.5 接口定义

本处描述调用和被调用关系,本程序名称1代表的实体被哪个或哪些实体主调,被调用或被触发方式;另外本实体调用的可执行程序公共函数库或函数,以及调用或触发方式。

3.1.2.6 算法

上述因素的具体逻辑关系精确描述,如内存数据结构的初始化公式,计算公式等,数据库表及字段与内存变量的对应等。如果在功能中可以严格描述上述因素的逻辑关系,如本程序名称代表的实体是一个无算法的实体如字体资源文件,则本节可略。

3.1.2.7 程序逻辑流程图

从程序出发,描述程序功能和算法的的逻辑流程图,如本程序名称代表的实体是一个无算法的实体如字体资源文件,则本节可略。

3.1.2.8 测试要点

列出本程序实体的测试要点,表明本实体能做到什么,不能做到什么,为编写单元测试用例和组装测试用例提供依据,组装测试用例主要以接口部分的设计和测试要点为依据。

4 用户界面详细设计

因为用户界面虽然也属于程序功能的一部分,但是多数系统的用户界面较为复杂和琐碎,需要将其与后台处理分开设计,包括数据库表设计。用户界面是作为外部接口的一部分体现在概要设计中的。本章着重设计用户界面的外观要素和界面处理流程,以及主要的界面级和界面事件级的约束。

本章可以单独成册,也可以融在前一章说明。

本处无文字。

4.1 界面结构

4.1.1 界面结构或菜单结构

在本处描述界面的结构,可以以树形结构的形式描述,并加以说明。也可以以其它方式。

4.1.2 用户界面图

以上述结构为索引描述每个用户界面,可以用工具画出,在此处说明其编号。如果界面较为明确也可以略去本节。

4.1.3 用户界面与模块关系表

image.png

4.2 界面处理流程及界面约束描述

4.2.1 界面或模块名1

4.2.1.1 处理流程

界面间的调用关系,可以画流程图并加以说明。

4.2.1.2 界面约束与事件约束

描述相关界面的界面级约束和事件级约束。

4.2.1.3 触发方式

描述界面的触发方式,如通过点击菜单、右键、鼠标移入某区域、某自动事件发生等。

4.2.2 界面或模块名2

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,793评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,567评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,342评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,825评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,814评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,680评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,033评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,687评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,175评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,668评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,775评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,419评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,020评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,206评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,092评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,510评论 2 343