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