软件详细设计说明书

哪位大虾可以提供一下~软件详细设计说明书~··小弟初来乍到··想了解一下,,最好有分文书例子···谢过··

面向对象软件设计说明书模板

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 词汇索引

文章录入
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-12-09
中培教育-(详细设计专题)

时间

上午

下午

第一天

1、软件详细设计概述

系统设计目标描述

系统文档描述

系统架构文档描述

软件详细设计实践流程与计划

2、面向对象设计工具及UML编程语言

EA工具及案例介绍

用例图 类图  顺序图

状态图 活动图 组件图

部署图 协作图 对象图

3、软件详细设计过程

健壮性分析(获得边界对象、控制对象与实体对象)

转换需求场景(使用时序图转述需求,获得对象行为细节)

整理分析类(获得对象间关系)

对象状态建模(使用状态图建模)

局部分析阶段成果提交

评审局部分析成果(发布局部分析基线)

第二天

4、从需求到设计的过程

案例概述

识别系统需求中的概念策略

通过需求建立概念模型的指导原则

概念模型的关联添加原则和方法

概念模型的属性添加方法

系统顺序图的建立

系统行为契约分析

通过协作图设计活动之间的协作关系

建立概念类图

通过具体案例进行指导和演练

5、系统类职责分配模式(GRASP)与案例应用

案例概述

专家(expert)模式与应用

创建者(creator) 模式与应用

高内聚(high cohesion) 模式与应用

低耦合(low coupling) 模式与应用

控制者(controller) 模式与应用

多态模式与应用

纯虚构模式与应用

中介者模式与应用

“不要和陌生人讲话” 模式与应用

CRC卡片与应用

第三天

6、用户界面规划设计

UCD(以用户为中心的设计)的概述

整体用户体验的重要性

设计师,程序员和用户的思维模型

UCD的主要原则

界面开发的过程及周期

建立符合标准软件产品

交互流程设计:概念草图,系统流程展示

视觉设计原则

图像制作技巧 、图文资源管理

功能的任务化与场景设计

用户界面方案设计

7、数据库详细设计

数据库基本设计原则

基于OO的数据库设计

数据库性能设计

数据库安全设计

数据库程序规划与业务混入问题

8.经典设计模式及其案例应用

1)创建型设计模式与案例使用

简单工厂模式

工厂方法模式

抽象工厂模式

单例模式

2)结构型设计模式与案例使用

适配器模式

组合模式

装饰模式

外观模式

代理模式

3)行为型设计模式与案例使用

命令模式

迭代器模式

观察者模式

状态模式

策略模式

模板模式
--更多百度搜:中培教育,tel:①⑧⑦零一三七84零零
第2个回答  2013-05-22
SADWWQE
相似回答