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