任务:
目标、环境、需求、局限;
总体设计:
处理流程、总体结构与模块、功能与模块的关系;
接口设计:
总体说明外部用户、软、硬件接口;内部模块间接口(注:接口≈系统界面)
数据结构:
逻辑结构、物理结构,与程序结构的关系;
模块设计:
每个模块“做什么”、简要说明“怎么做”(输入、输出、处理逻辑、与其它模块的接口,与其它系统或硬件的接口),处在什么逻辑位置、物理位置;
运行设计:
运行模块组合、控制、时间;
出错设计:
出错信息、处错处理;
其他设计:
保密、维护;
软件概要设计说明书结构
1 概述
系统简述、软件设计目标、参考资料、修订版本记录
这部分论述整个系统的设计目标,明确地说明哪些功能是系统决定实现而哪些时不准备实现的。同时,对于非功能性的需求例如性能、可用性等,亦需提及。需求规格说明书对于这部分的内容来说是很重要的参考,看看其中明确了的功能性以及非功能性的需求。
这部分必须说清楚设计的全貌如何,务必使读者看后知道将实现的系统有什么特点和功能。在随后的文档部分,将解释设计是怎么来实现这些的。
2 术语表
对本文档中所使用的各种术语进行说明。如果一些术语在需求规格说明书中已经说明过了,此处不用再重复,可以指引读者参考需求说明。
3 用例
此处要求系统用用例图表述(UML),对每个用例(正常处理的情况)要有中文叙述。
4 设计概述
4.1 简述
这部分要求突出整个设计所采用的方法(是面向对象设计还是结构化设计)、系统的体系结构(例如客户/服务器结构)以及使用到的相应技术和工具(例如OMT、Rose)
4.2 系统设计设计
这部分要求提供高层系统结构(顶层系统结构、各子系统结构)的描述,使用方框图来显示主要的组件及组件间的交互。最好是把逻辑结构同物理结构分离,对前者进行描述。别忘了说明图中用到的俗语和符号。
4.3 系统界面
各种提供给用户的界面以及外部系统在此处要予以说明。如果在需求规格说明书中已经对用户界面有了叙述,此处不用再重复,可以指引读者参考需求说明。如果系统提供了对其它系统的接口,比如说从其它软件系统导入/导出数据,必须在此说明。
4.4 约束和假定
描述系统设计中最主要的约束,这些是由客户强制要求并在需求说明书写明的。说明系统是如何来适应这些约束的。
另外如果本系统跟其它外部系统交互或者依赖其它外部系统提供一些功能辅助,那么系统可能还受到其它的约束。这种情况下,要求清楚地描述与本系统有交互的软件类型以及这样导致的约束。
实现的语言和平台也会对系统有约束,同样在此予以说明。
对于因选择具体的设计实现而导致对系统的约束,简要地描述你的想法思路,经过怎么样的权衡,为什么要采取这样的设计等等。
5 对象模型
提供整个系统的对象模型,如果模型过大,按照可行的标准把它划分成小块,例如可以把客户端和服务器端的对象模型分开成两个图表述。在其中应该包含所有的系统对象。这些对象都是从理解需求后得到的。要明确哪些应该、哪些不应该被放进图中。所有对象之间的关联必须被确定并且必须指明联系的基数。聚合和继承关系必须清楚地确定下来。每个图必须附有简单的说明。
6 对象描述
在这个部分叙述每个对象的细节,它的属性、它的方法。在这之前必须从逻辑上对对象进行组织。你可能需要用结构图把对象按子系统划分好。
为每个对象做一个条目。在系统对象模型中简要的描述它的用途、约束(如只能有一个实例),列出它的属性和方法。如果对象是存储在持久的数据容器中,标明它是持久对象,否则说明它是个临时对象(transient object)。
对每个对象的每个属性详细说明:名字、类型,如果属性不是很直观或者有约束(例如,每个对象的该属性必须有一个唯一的值或者值域是有限正整数等)。
对每个对象的每个方法详细说明:方法名,返回类型,返回值,参数,用途以及使用的算法的简要说明(如果不是特别简单的话)。如果对变量或者返回值由什么假定的话,Pre-conditions和Post-conditions必须在此说明。列出它或者被它调用的方法需要访问或者修改的属性。最后,提供可以验证实现方法的测试案例。
7 动态模型
这部分的作用是描述系统如何响应各种事件。一般使用顺序图和状态图。
确定不同的场景是第一步,不需要确定所有可能的场景,但是必须至少要覆盖典型的系统用例。不要自己去想当然地创造场景,通常的策略是描述那些客户可以感受得到的场景。
7.1 场景
对每个场景做一则条目,包括以下内容:
场景名:给它一个可以望文生义的名字
场景描述:简要叙述场景是干什么的以及发生的动作的顺序。
顺序图:描述各种事件及事件发生的相对时间顺序。
7.2 状态图
这部分的内容包括系统动态模型重要的部分的状态图。可能你想为每个对象画一个状态图,但事实上会导致太多不期望的细节信息,只需要确定系统中一些重要的对象并为之提供状态图即可。
分享到:
相关推荐
【软件系统概要设计说明书】 本《软件系统概要设计说明书》是软件开发过程中的关键文档,它在《软件需求规格说明书》的基础上建立,详细阐述了软件系统的整体设计思路、结构和功能,确保了设计与用户需求的一致性。...
它综合了概要设计和详细设计,同时可能还包括以下内容: - **数据库设计**:包括实体关系图(ER图)、表结构、索引设计等,对于有数据库存储需求的系统至关重要。 - **网络和分布式设计**:涉及网络通信协议、...
#### 三、学生选课信息系统概要设计内容 1. **系统架构**: - **逻辑架构**:系统采用了B/S(浏览器/服务器)架构模式,便于用户通过浏览器访问系统。 - **物理架构**:虽然没有详细描述,但可以推测该架构将包括...
软件开发过程中,概要设计书是至关重要的一个环节,它为整个项目的后续开发提供了清晰的蓝图。这份压缩包文件包含了软件开发过程中的多种关键文档,对于编写和理解软件设计非常有帮助。 首先,"可行性研究报告(GB...
10. **文档编写**:完成概要设计说明书,详述上述设计内容,供团队成员理解和遵循,同时也是后期评审和验证的基础。 在进行概要设计时,开发团队通常会参考一些工具,例如UML(统一建模语言)用于绘制系统架构图、...
概要设计说明书中涵盖了软件结构设计的相关内容,如逻辑结构设计、物理结构设计、数据结构设计等。 3. 系统需求规定:系统需求规定是软件设计的基础,确定了软件的功能、性能和安全性等方面的要求。概要设计说明书...
软件概要设计文档模板的主要内容包括: 1. 设计概述:介绍软件概要设计的目的和原则,包括编写目的、项目风险、预期读者和阅读建议、参考资料等。 2. 系统逻辑设计:涵盖了系统组织设计、系统结构设计、系统接口...
概要设计是软件开发项目的重要组成部分,它规定了软件的总体架构、功能需求、运行环境、接口设计等方面的内容。概要设计模板提供了一个统一的格式和结构,帮助开发团队对软件开发项目进行系统的设计和规划。 在概要...
8. **项目计划与资源分配**:根据设计内容,制定项目进度计划,分配人力、物力资源。 **详细设计** 详细设计,又称模块设计,是在概要设计基础上,对每个模块的功能、接口、输入输出、处理过程等进行具体化和细化...
通过以上对比可以看出,概要设计与详细设计虽然都属于软件设计阶段,但它们的关注点、设计内容以及目的都有所不同。概要设计着眼于整个系统的架构和模块划分,而详细设计则是针对每个模块的具体实现细节进行设计。在...
【软件概要设计方案模板】 软件概要设计是软件开发过程中的关键阶段,它在软件项目的初期扮演着承上启下的角色。此模板适用于计划阶段的软件系统设计或软件的概要设计,无论是在后台软件还是纯软件产品中,都能作为...
7. **文档编写**:完成概要设计说明书,包含上述内容的详细描述,便于团队理解和执行。 **详细设计阶段** 详细设计阶段,又称为模块设计或低层设计,是在概要设计基础上对每个模块进行具体实现的设计。此阶段的关键...
3. 软件概要设计模板的内容:软件概要设计模板的内容包括软件的总体设计、需求规格、运行环境规定、设计思想、系统结构和处理流程等。 4. 软件概要设计模板的重要性:软件概要设计模板是软件开发项目管理中的一种...
在IT行业中,系统设计是软件开发过程中的关键环节,它涉及到架构设计、概要设计、详细设计和数据库设计等多个步骤。这些步骤都是确保项目成功、高效且可维护的关键。以下是对这些知识点的详细阐述: 1. **架构设计*...
4. **设计内容**:概要设计通常包括以下几个部分: - **系统架构设计**:描述系统的组成,包括主要模块、子系统及其相互关系。 - **模块设计**:详细说明每个模块的功能、输入、输出、算法和内部数据结构。 - **...
在软件开发过程中,需求分析、概要设计、详细设计以及数据库设计是四个至关重要的阶段,它们构成了项目开发的基础。下面将分别对这四个阶段进行详细阐述。 **需求分析**是软件开发的第一步,主要目标是明确和理解...
描述部分重复了标题的内容,强调了该文件的主题是系统概要设计说明书。概要设计是软件开发过程中的一个关键步骤,它决定了系统的整体架构和设计理念。一个好的概要设计可以确保系统的稳定性、可扩展性和可维护性。 ...