软件架构设计 版本 修订历史记录 日期 版本 修订说明 作者 1
1 软件架构设计 版本 修订历史记录 日期 版本 修订说明 作者
1引言… 1.1编写目的. 1.2适用范围. 1.3定义.… 1.4参考资料 1.5概述. 2目前软件系统体系架构… 3软件系统架构设计目标, 2 4建议的软件系统架构… ..............2 4.1概述 2 4.2用例视图 2 4.3系统逻辑视图 2 4.4系统运行视图 3 4.5系统实现视图 4.6系统物理视图 3 4.7边界条件设计 3 4.8数据管理设计 3 4.9其他设计… 3 2
2 1 引言..................................................................................................................................................1 1.1 编写目的...................................................................................................................................1 1.2 适用范围...................................................................................................................................1 1.3 定义...........................................................................................................................................1 1.4 参考资料...................................................................................................................................1 1.5 概述...........................................................................................................................................1 2 目前软件系统体系架构................................................................................................................ 1 3 软件系统架构设计目标................................................................................................................ 2 4 建议的软件系统架构.....................................................................................................................2 4.1 概述.......................................................................................................................................... 2 4.2 用例视图.................................................................................................................................. 2 4.3 系统逻辑视图.......................................................................................................................... 2 4.4 系统运行视图...........................................................................................................................3 4.5 系统实现视图...........................................................................................................................3 4.6 系统物理视图...........................................................................................................................3 4.7 边界条件设计.......................................................................................................................... 3 4.8 数据管理设计...........................................................................................................................3 4.9 其他设计.................................................................................................................................. 3
软件需求规约 1引言 1.1编写目的 说明:编写这份软件架构设计的目的,并指出预期的读者。 1.2适用范围 列出此文档适用的软件应用程序,以及受到此文档影响的任何其他产品。 1.3定义 列出本文件中用到的专门术语的定义和外文的首字母缩写词。可以引用项目词汇表来提 供。 1.4参考资料 列出本文中各处引用的文档资料,包括每个文档的标题、文档编号、发表日期和出版单 位并列出能够得到这些文件资料的来源。 1.5概述 说明本文件中其他各部分包含的内容,与本文件的内容组织方式。 2目前软件系统体系架构 对目前存在的系统进行描述,如果原来没有系统,则对相类似的系统进行描述。指出目 前系统存在的问题,新系统希望得到的改进。 对原来系统架构的描述可以采用UML包图,或者部署图
1 软件需求规约 1 引言 1.1 编写目的 说明:编写这份软件架构设计的目的,并指出预期的读者。 1.2 适用范围 列出此文档适用的软件应用程序,以及受到此文档影响的任何其他产品。 1.3 定义 列出本文件中用到的专门术语的定义和外文的首字母缩写词。可以引用项目词汇表来提 供。 1.4 参考资料 列出本文中各处引用的文档资料,包括每个文档的标题、文档编号、发表日期和出版单 位并列出能够得到这些文件资料的来源。 1.5 概述 说明本文件中其他各部分包含的内容,与本文件的内容组织方式。 2 目前软件系统体系架构 对目前存在的系统进行描述,如果原来没有系统,则对相类似的系统进行描述。指出目 前系统存在的问题,新系统希望得到的改进。 对原来系统架构的描述可以采用 UML 包图,或者部署图
3软件系统架构设计目标 本节说明对构架具有某种重要影响的软件需求和目标,例如:安全性、保密性、市售产 品的使用、可移植性、分销和重复使用。还应记录可能适用的特殊约束:设计与实施策 略、开发工具、团队结构、时间表、遗留代码等 4建议的软件系统架构 4.1概述 对整个软件的架构进行概述,给出软件架构采用的架构模式及其选择理由。 描述软件架构中重用的框架、中间件和类库。 简略描述包含哪些子系统,每个子系统的功能是什么。 4.2用例视图 本节选择列出所有用例中的某一些用例或场景,这些用例或场景应体现最终系统中重要 的、核心的功能:或是在构架方面涉及范围很广(使用了许多构架元素):或与构架中 某一特别的设计有关系。 4.3系统逻辑视图 (1)系统架构 首先利用UML的包图,给出一个系统架构图,简要介绍该系统架构的特点,各个子系 统的功能: (2)子系统 针对每一个子系统描述其: ●子系统的功能 ● 子系统向外界提供的服务的详细描述(定义其接口具体形式) ●给出每一个子系统的组件图、类图 (3)用例实现 针对选择的每一个核心用例,用顺序图刻画其具体实现 (4)子系统协作 以交互图的形式围绕核心用例,刻画子系统之间的协作过程。此时,每一个子系统是一 个黑盒子,在交互图中作为一个对象。 2
2 3 软件系统架构设计目标 本节说明对构架具有某种重要影响的软件需求和目标,例如:安全性、保密性、市售产 品的使用、可移植性、分销和重复使用。还应记录可能适用的特殊约束:设计与实施策 略、开发工具、团队结构、时间表、遗留代码等 4 建议的软件系统架构 4.1 概述 对整个软件的架构进行概述,给出软件架构采用的架构模式及其选择理由。 描述软件架构中重用的框架、中间件和类库。 简略描述包含哪些子系统,每个子系统的功能是什么。 4.2 用例视图 本节选择列出所有用例中的某一些用例或场景,这些用例或场景应体现最终系统中重要 的、核心的功能;或是在构架方面涉及范围很广(使用了许多构架元素);或与构架中 某一特别的设计有关系。 4.3 系统逻辑视图 (1) 系统架构 首先利用 UML 的包图,给出一个系统架构图,简要介绍该系统架构的特点,各个子系 统的功能; (2) 子系统 针对每一个子系统描述其: 子系统的功能 子系统向外界提供的服务的详细描述(定义其接口具体形式) 给出每一个子系统的组件图、类图 (3) 用例实现 针对选择的每一个核心用例,用顺序图刻画其具体实现 (4) 子系统协作 以交互图的形式围绕核心用例,刻画子系统之间的协作过程。此时,每一个子系统是一 个黑盒子,在交互图中作为一个对象
4.4系统运行视图 该部分首先描述系统的控制流结构的选择,例如是采用数据流驱动、事件驱动,还是采 用多线程。 如果软件中涉及到并发的情形,提供相应的进程视图给以相应的解释。 4.5系统实现视图 该部分分两部分。 1.系统开发模型:首先说明开发环境、开发语言、版本控制工具的选择,在开发环境中一 个项目包含哪些目录,包含哪些源文件,用组件图来说明源文件包含的类,以及源文件 之间的依赖关系。 2.系统实现模型:定义编译后的可执行文件及其依赖关系。通过组件图来表示可执行文件 及其依赖关系。 4.6系统物理视图 利用UML的部署图描述系统的软硬件部署方式。列出硬件配置的规格要求以及选择理 由。 4.7边界条件设计 描述了系统中如何启动、关闭以及进行错误处理。描述的方式是采用用例的方式来进行 说明,即提供启动用例、关闭用例、错误处理用例的分别说明,并通过交互图来说明这些用 例是如何实现的。 4.8数据管理设计 采用UML的类图表示那些需要持久化的数据。 说明选择的数据持久化保存的方式及理由。 如果是数据库保存,确定所选的数据库管理系统,并给出数据库的表设计,如果是文件 系统,说明文件的目录结构,文件的格式。 4.9其他设计 列出针对设计目标提出的特别的设计考虑,比如说访问控制和安全,可靠性设计等。 (1)访问控制和安全设计 采用表格列出不同的操作者对不同对象的权限: 描述用户认证的方式: 如果需要,给出数据的加/解密方式、给出接口调用的安全认证: 3
3 4.4 系统运行视图 该部分首先描述系统的控制流结构的选择,例如是采用数据流驱动、事件驱动,还是采 用多线程。 如果软件中涉及到并发的情形,提供相应的进程视图给以相应的解释。 4.5 系统实现视图 该部分分两部分。 1. 系统开发模型:首先说明开发环境、开发语言、版本控制工具的选择,在开发环境中一 个项目包含哪些目录,包含哪些源文件,用组件图来说明源文件包含的类,以及源文件 之间的依赖关系。 2. 系统实现模型:定义编译后的可执行文件及其依赖关系。通过组件图来表示可执行文件 及其依赖关系。 4.6 系统物理视图 利用 UML 的部署图描述系统的软硬件部署方式。列出硬件配置的规格要求以及选择理 由。 4.7 边界条件设计 描述了系统中如何启动、关闭以及进行错误处理。描述的方式是采用用例的方式来进行 说明,即提供启动用例、关闭用例、错误处理用例的分别说明,并通过交互图来说明这些用 例是如何实现的。 4.8 数据管理设计 采用 UML 的类图表示那些需要持久化的数据。 说明选择的数据持久化保存的方式及理由。 如果是数据库保存,确定所选的数据库管理系统,并给出数据库的表设计,如果是文件 系统,说明文件的目录结构,文件的格式。 4.9 其他设计 列出针对设计目标提出的特别的设计考虑,比如说访问控制和安全,可靠性设计等。 (1)访问控制和安全设计 采用表格列出不同的操作者对不同对象的权限; 描述用户认证的方式; 如果需要,给出数据的加/解密方式、给出接口调用的安全认证;
以及其他安全问题。 (2)可靠性设计 如果有特定的可靠性要求,给出在可靠性方面采取的特定设计方案
4 以及其他安全问题。 (2)可靠性设计 如果有特定的可靠性要求,给出在可靠性方面采取的特定设计方案