详细设计部分主要由向个组成部分(讨论稿)

类别:软件工程 点击:0 评论:0 推荐:

 

 

【项目名称】

详细设计说明书

 

 

 

文件状态:

[√] 草稿

[ ] 正式发布

[ ] 正在修改

文件标识:

DWR-WRALM-DS-DTDS

当前版本:

X.Y

作者:

 

完成日期:

Year-Month-Day

 

 

版 本 历 史

版本/状态

作者

参与者

起止日期

备注

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1       文档介绍 1.1    文档目的

提示:说明编写这份详细设计的目的。

1.2    读者对象

提示:指出预期的读者。详细设计的读者一般包括项目主管、开发人员、测试人员以及维护人员等。

1.3    参考文档

提示:列出本文档的所有参考文献(可以是非正式出版物),如:

a.本项目的经核准的计划任务书或合同、上级机关的批文;

b.属于本项目的其他已发表的文件;

c.本文件中各处引用的文件、资料、包括所要用到的软件开发标准。

列出这些文件资料的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。作者,文献名称,出版单位(或归属单位),日期等。

格式例如:

[1]  许新宜、王浩、甘泓等,华北地区宏观经济水资源规划理论与方法,黄河水利出版社,1997.10。

1.4    术语与缩写解释

缩写、术语

解 释

DWR

水资源所

WRALM

水资源配置模型

DN

设计 design

DTDS

详细设计 detail design

 

 

 

 

 

 

 

 

 

 

 

2          体系结构设计

[说明:设计人员应根据产品规格说明书,在充分了解了规格之后,再设计产品的体系结构。主要描述两部分内容:

1、  体系总体结构设计:描绘体系结构图,结构图中描述纵向结构与横向结构的集成关系,即模块在哪一(些)层中,每一层都有哪些模块,并配以简要说明,为什么要这么设计,有什么好处。

2、  纵向结构:描述体系如何分层,为什么这样分层,每层的具体功能如何划分,与其它层之间的关系。

3、  横向划分:如果体系较大,体系分为哪些子系统,每个子系统又有哪些模块,如不需分子系统可以描述有哪些模块,为什么要这样划分,各个子系统或模块之间的关系等等

4、  应该清楚地得到一张

]

2.1    体系总体结构设计 2.1.1   体系总体设计结构图

[制作体系总体设计结构图,明确各个子系统及层次关系]

2.1.2   设计说明

[对体系结构图进行说明,描述各层及各子系统/模块之间的关系,说明这样设计的理由及好处等]

2.2    纵向结构(N层)设计 2.2.1   纵向(N层)结构图

[多层设计结构图,明确各层之间的关系]

2.2.2   结构图说明

[对多层设计的说明,描述各层的主要内容功能及各层的关系,说明这样设计的理由及好处等]

2.2.3   第1层说明

[对每层进行详细的描述]

2.2.4   第2层说明

….

2.2.5   第N层说明 2.3    横向结构(子系统/模块)设计 2.3.1   横向结构图

[各个子系统/模块之间结构及关系]

2.3.2   结构图说明

[对子系统/模块图的说明,说明为什么要这样设计,及这样设计的好处]

2.3.3   子系统/模块1说明

[详细说明]

2.3.4   子系统/模块2说明

….

2.3.5   子系统/模块N说明 3          .net(java)工程设计

[描述并实现程序员本系统的工程及各个文件的功能说明,此工程可直接交给程序员进行下一步功能实现]

4          界面的设计

[此部分可根据《产品规格说明书》的相关部分来进行界面的实现设计,主要对用于界面的关系、流程、所用到的控件、图标、图形等资源进行]

4.1    界面关系图和工作流程图

[关于绘制界面,可为系统建立所有的工程项目,及在.net中制作界面,并定义好各个组件、界面元素的名称等,这样可将工程直接给到程序员,进行下一步功能实现,但此处要求将其界面copy过来,以形成完整文档.另外一个原因是进行此类画图可能非常耗时耗力。]

4.2    主界面

[(1)绘制主界面的视图;

(2)说明主界面中所有对象的功能和操作方式]

4.3    各子界面

[(1)绘制子界面的视图;

(2)说明子界面中所有对象的功能和操作方式]

4.4    界面资源 4.4.1   图标 4.4.2   图形 4.4.3   界面表现组件 4.5    美学设计(美工进行指导)

 

5          模块设计

[模块设计是重中之重,直接关系到如何实现,此处作为重点进行描述.

此部分设计也应以实际.net工程项目的形式将各个模块设计好,给出每个类的名称、成员、各个含数等等,这样可以直接给到程序员进行实现。但此处要求的文档描述也同样要写清楚。]

5.1    模块命名规则

[模块设计人员确定本软件的模块命名规则(例如类、函数、变量等),确保模块设计文档的风格与代码的风格保持一致,此部分可参看相关命名规范文档。]

5.2    模块汇总 5.2.1   模块汇总表

[这里模块是指相对独立的软件设计单元,例如对象类、函数包等等]

子系统A

模块名称

功能简述

 

 

 

 

 

子系统B

模块名称

功能简述

 

 

 

 

 

5.2.2   模块关系图

[可用UML图及其它图描述其间的关系,并配以说明文字]

5.2.3   子系统A的模块设计 5.2.3.1             模块A-1

[如果认为此处以表格形式不太好写,可自行编排格式,但要至少包含表格中的各个项。]

模块名称

 

对应文件

说明对应工程文件中的哪些文件等

功能描述

 

 

接口与属性

提示:用专业的设计(开发)工具来设计本模块的接口与属性,说明函数功能、输入参数、输出参数、返回值等。此处粘贴即可。如UML图

 

数据结构

与算法

提示:不论是采用经典的还是专用的数据结构与算法,都应该作必要的描述。不仅用于指导程序的实现,还可以让人们清楚地了解该对象类是如何设计的。

 

补充说明

 

5.2.3.2             模块A-n

模块名称

 

对应文件

说明对应工程文件中的哪些文件等

功能描述

 

 

接口与属性

提示:用专业的设计(开发)工具来设计本模块的接口与属性,说明函数功能、输入参数、输出参数、返回值等。此处粘贴即可。如UML图

 

数据结构

与算法

提示:不论是采用经典的还是专用的数据结构与算法,都应该作必要的描述。不仅用于指导程序的实现,还可以让人们清楚地了解该对象类是如何设计的。

 

补充说明

 

 

 

6          数据库设计

[略去]

7          打包设计

[描述对于最终交付成果的安装程序要求,安装步骤、注册表、安装目录、程序组、快捷方式、其它相关要求]

8          其它设计

[描述本文档上述未包含的描述内容]

 

9          附属文件清单及文件

[列出与详细设计相关的所有文件的清单,包括数据库设计、界面设计、UML设计、.net或java工程文件等等所有文件清单,并整理到一个目录下,放入VSS相应目录下]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

详细设计说明

一、            详细设计的目的与意义。

1、详细设计是针对需求,在代码实现之前的工作,它既是对代码实现工作的指导,又是对需求的进一步从软件角度的深化。

2、以前我们几乎没有设计,或者说有,也远远不够,这部分工作相当于建筑业的图纸设计。

3、搞好设计工作是研发工作重要的一环,在我们自己的研发过程中是必须的一环。

4、设计大部分靠的是经验,过去的项目经验,过去的积累对于设计工作的意义非常重大,注重日常项目经验的积累,是提高设计水平必经之路。

二、            针对我们自己的研发过程,设计都有哪些内容。

每个组织都有自己的设计要求,我们也不例外。设计主要有以下几个部分组成:

1、  体系设计

A、体系设计也可以叫做架构设计,软件越大,这部分重要性越明显。主要部分主要是各子系统如何组织以及如何协调工作。这种设计在目前的情况下(当然以后还要继续发展)以分层的体系是较为合适:

l        系统如何分层,分成三层(表现层、业务逻辑层、数据持久层)还是更多层。

l        各个层之间的如何通讯。

l        可借鉴的一些设计模式,如用得最多的MVC模式等。

B、子系统(或模块)设计,解决有系统要划分为哪些子系统,每个子系统又有哪些小功能模块,这些子系统(小模块)之间如何协作等。这部分可以认为是传统的设计。

C、横向(子系统)与纵向(分层)的关系。相当于软件的每个模块都处在哪个子系统,都在哪一层中。

2、  功能模块设计

对于每个子系统的所有功能模块,分重点、分缓急地设计其所包含的包、类、接口等等,以及其内部与外部的接合部分设计等等,应尽量细化,以方便实现。

3、  数据库及算法设计

此部分内容略。

4、  界面设计

对于c/s与b/s界面设计在实际操作过程中是不大相同的。b/s界面设计大部分归于美工效果,而c/s设计大部分在于设计及程序员。

界面设计要考虑主界面或首页面、子页面、弹出窗体、每个页面的每个元素的大小、位置、形状、美学设计等等。从操作角度来看应考虑如何操作最方便,从美学角度来看应考虑如何设计最美观,从业务角度来看应考虑业务具体要求。等等。

5、  打包设计

也是非常重要的部分,c/s可以打包,b/s也同样可以打包,.net程序可以打包,java程序同样也可以打包。程序安装实际是给用户的第一感觉,同时也是实施的重要步骤,打包的好坏直接关系到实施的难度、技术要求等等。

这部分主要有安装步骤、注册表、安装目录、程序组、快捷方式、其它相关要求等等。

三、            与其它过程的关系

1、设计的主要依据:

《产品规格说明书》、相关数据库等各个方面的设计文档、交流与沟通的结果。

2、作为代码实现的主要依据。

四、            设计人员与程序员的工作关系

1、设计人员负责解释设计思路、设计细节等,并指导程序员的代码实现,对于难度较大的代码部分应由设计人员编码实现。

2、测试并检验程序员实现是否符合设计,并提出修改意见等。

五、            详细设计的文档要求。

1、详细设计说明书

2、UML文档

3、所建立的项目(project )文档,并交给程序员进行实现。

 

本文地址:http://com.8s8s.com/it/it35479.htm