资源描述
<XX系统>
详细设计说明书
XX有限公司
修订记录
日期
修订版本
修改描述
作者
审核
目 录
第一章 概述 5
1.1. 应用模块的目的 5
1.2. 应用模块总体描述 5
1.3. 应用模块接口描述 5
1.4. 假设条件 5
第二章 设计模式(Design pattern) 6
第三章 类设计 7
3.1. 分块类图 8
3.1.1. <类图1> 8
3.1.2. <类图n> 8
3.2. 整体继承关系 8
3.3. 类描述 9
3.3.1. <类名1> Class Description 9
3.3.2. <类名n> Class Description 10
第四章 交互图 12
4.1. <情景编号1: 情景名称> 12
4.1.1. 交互图 12
4.1.2. 例外情况及条件 13
4.2. <情景编号n: 情景名称> 13
第五章 状态图 14
5.1. <状态图编号1:状态图名称> 14
5.2. <状态图编号n:状态图名称> 15
第六章 时序流程图 16
第七章 用户界面设计说明 18
7.1. 用户界面关系 18
7.2. 用户界面具体描述 18
7.2.1. <界面编号1:界面名称〉 18
7.2.2. <界面编号N:界面名称〉 19
第八章 测试考虑 20
第九章 附录 21
9.1. 附录A 代码举例 21
9.2. 附录B 设计问题 21
9.2.1. <设计问题1> 21
9.2.2. <设计问题n> 21
第一章 概述
1.1. 应用模块的目的
请明确客户建立应用模块的目的。
1.2. 应用模块总体描述
描述应用模块的总体功能。
1.3. 应用模块接口描述
简要描述本应用模块的公共接口,具体接口会在相应的类中进行具体描述。建议采用列表的方式。
1.4. 假设条件
列出在问题领域,项目方案及其它影响系统设计的可能方面内,应当成立的假设条件。包括系统的约束条件和应遵循的标准。
第二章 设计模式(Design pattern)
请列出本模块设计时使用的设计模式,请参考 “Design Patterns” By Erich Gramma, Helm, Johnson & Vlissides, gang of four ISBN 0-201-63361-z (中文《设计模式》-机械工业出版社)。
第三章 类设计
类图(Class Diagram)描述类和类之间的静态关系。与数据模型不同,它不仅显示了信息的结构,同时还描述了系统的行为。 在类图的基础上,利用状态图、关系图等进一步描述了系统其他方面的特性。
类图主要描述了:
· 类(包括类的实例)
· 属性(表示知识型责任或数据)
· 方法(表示操作责任或功能)
· 类之间的关联关系
· 类之间的聚合关系
· 在父类及子类之间的继承关系
· 正式或非正式的约束描述(可选)
本节针对每个构件的进行了详细描述, 记录每个类的实例数,每个实例的占用数据库空间的平均大小等信息。
类图的设计在整个项目生命周期内通过迭代的方法得到。方案的复杂程度决定迭代的次数。
· 在考虑初始(initial)或概念(conceptual)角度类图时,我们讨论系统作什麽,该阶段即传统意义上的分析阶段,通过理解业务模型的哪些业务模型应在软件系统中实现来定义问题和需求。在这点上设计保持技术中立,但并不意味着丝毫不考虑技术,因为此时对于如何构造软件系统的决定不是首要的关注问题。
· 下一步,设计逻辑(logical)或具体(specification)角度类图时,开始关心系统如何实施和定义方案的整体结构。诸如并行及分发,协作及共享,交易及存储,用户界面性能,及系统接口例如通讯接口。在设计阶段,设计依赖于技术和架构,同时设计决策也会影响技术和架构。
· 最后的迭代是设计物理或实施角度类图,基于所选的实施语言细化架构设计。为了处理特定的实施细节,我们可能引入新的类或对现有的类进行重新定制。
请明确本节描述的是何种角度的类图。
类图的目的在于通过研究业务、用户及系统的需求,制定全面的软件模型。创建完善的类图有助于完成如下工作:
· 通过研究系统中包含的对象,优化并精简系统。
· 是系统应用架构某些层次设计的出发点,如用户界面、数据库建模。
· 通过分析问题所在及其相关领域,恰当建立对象模型,有助于明确分工,以支持并行开发。
· 通过使用简洁明了的表示方法,进一步确认系统设计。
· 全面考虑使用合适的应用设计模型、方法,避免不必要的重复工作。
· 遵循正确的设计原则,方法以提高设计质量。
在开发组合客户中更好的理解系统的设计有助于系统的重复利用和增量开发。
使用CASE工具生成图表。
3.1. 分块类图
本段按照模块的不同部分的分块描述类图。对于小的模块不须分块。
3.1.1. <类图1>
画一个类图仅描述与该部分相关的那些特征。
3.1.2. <类图n>
对每个部分重复上面的段落要求。
3.2. 整体继承关系
下面的图表描述整个应用模块的类图,在此仅显示类名及类型的。
3.3. 类描述
本章描述上述章节中提到类的详细信息。
若有可能,使用CASE工具生成这些类描述。
类列表:
请在类名出提供连接指向类的具体描述。
类名
简要描述
是否为接口类
3.3.1. <类名1> Class Description
Class
CSampleXXXX
Package
Class Format
public class CSampleXXXX
Extends
Implements
Properties
Name
Type
Default Value
Pub/Prv/Pro
Get
Set
Purpose
Methods
Name(Pub/Prv/Pro)
Parameters
Return Value
Exceptions
Description
Events
Name
Condition
Parameters
Purpose
约束条件 (可选)
实例个数 (可选)
实例平均大小 (可选)
pseudo -Code for Important Method(重要方法伪码)
注:Pub/Prv/Pro 代表private, protected, public
3.3.2. <类名n> Class Description
Class
CSampleXXXX
Package
Class Format
public class CSampleXXXX
Extends
Implements
Properties
Name
Type
Default Value
Pub/Prv/Pro
Get
Set
Purpose
Methods
Name(Pub/Prv/Pro)
Parameters
Return Value
Exceptions
Description
Events
Name
Condition
Parameters
Purpose
约束条件 (可选)
实例个数 (可选)
实例平均大小 (可选)
pseudo -Code for Important Method(重要方法伪码)
注:Pub/Prv/Pro 代表private, protected, public
第四章 交互图
交互图以图形方式描述了系统之间的交互关系。
初始的交互图仅显示分析阶段主要业务对象间主要的消息流动。后续的交互图中包含更多的控制类, 接口类,通讯,分布和存储等功能类。初始行为仅描述使用案例或具体情景中所描述的功能,后续交互图中会描述更多系统内部的行为。
交互图是实例级的图,它描述了具体对象实例间消息的沟通及参数的传递,描述了系统动态交互。
交互图作为功能性需求说明和类图之间的桥梁,帮助确定对象行为,发现问题,协助设计决定,选择其他设计方法。作为类图的补充。
交互图也可帮助评估类的设计是否能满足功能性需求,交互图和类图都是叠代开发的。
本文仅对复杂情况使用交互图描述。
请为不同的情景进行编号。 并在交互图列表的情景编号处提供联接。
交互图列表:
情景编号
情景名称
情景描述
相关使用案例
4.1. <情景编号1: 情景名称>
4.1.1. 交互图
描述主要的流程,建议使用Rational Rose 工具
示例:
4.1.2. 例外情况及条件
描述可能的例外情况及条件。可选。
4.2. <情景编号n: 情景名称>
对每个交互图重复上面的段落要求。
第五章 状态图
状态图描述了某一具体类的行为或生命周期。它描述了其可能的状态表现,由外界刺激引起的状态变化。
状态图描述了某个类与其它类交互时复杂的状态变化。以图形方式描述状态相关的行为能力,阐明了触发的事件,触发条件,及相应的行为。
本章描述了复杂的主要的状态转换。
请为不同的状态图进行编号。 并在状态图列表的编号处提供联接。
状态图列表:
状态图编号
名称
描述
相关类
5.1. <状态图编号1:状态图名称>
示例:
建议使用Rational Rose 工具
必要时可提供下表帮助描述。
状态
子状态
入口动作
内部动作
出口动作
状态
子状态
事件
条件
变化
新状态
5.2. <状态图编号n:状态图名称>
对每个交互图重复上面的段落要求。
第六章 时序流程图
通过时序图描述一个事件、功能的顺序处理过程。
图示方式表叔,并文字描述每步过程。
示例:
第七章 用户界面设计说明
用户界面设计说明描述用户期待看到的屏幕序列(窗口,对话框,及提示)及其与其与系统的交互。用户界面设计也包括详细的屏幕设计、对象、窗口小部件、选项、菜单、按键、视觉、对话框、按键状态、屏幕行为、用户意外处理及错误信息、及所有的外部用户帮助。
7.1. 用户界面关系
使用图显示用户界面的关系。通过矩形表示每个界面。确保窗口的类名能反映该窗口的业务并且与项目编码命名规则一致。如果用户能从某窗口打开另一个窗口,请用带剪头的连线表示。附上界面列表。在编号处应提供超级连接到相应的页面描述。
7.2. 用户界面具体描述
本章描述系统中每个界面的详细设计。必要时附上屏幕抓取得界面。
7.2.1. <界面编号1:界面名称〉
· 内部组件关系
典型地以OMT模型的方式,显示界面与界面内组件的关系。
· 域描述
针对每个域进行具体描述,包括类型,长短,是否是必须录入的域。
属性
注释
类型
标识
可写
排列(左,右,居中)
数据类型
是否按内容变换域宽
初始值
最大长度
· Tab 键顺序
解释视图的Tab键顺序。指出光标起始点位置。
· 行为描述
每个具体行为的详细信息:
行为
连接
注释
· 帮助信息
定义帮助面板及与视图相关的其它帮助信息细节。
· 意外事件处理及错误信息
描述如何处理错误及对用户动作发生了何种响应。
7.2.2. <界面编号N:界面名称〉
重复上面的段落及子段落的要求。
第八章 测试考虑
针对模块测试和集成测试给出测试时应考虑的问题,包括前提条件。
第九章 附录
9.1. 附录A 代码举例
针对主要的接口,给出使用举例,也可放在具体的类描述之后,建议使用伪代码。
9.2. 附录B 设计问题
本章描述用户界面设计过程中引发的问题。
9.2.1. <设计问题1>
描述问题背景,问题本身,为解决问题应采取何种措施,阐述它当前的状态。
9.2.2. <设计问题n>
重复上节内容。
展开阅读全文