XXXX系统
软件架构说明书
作者:___XX XXXX___________
审核:___XXXXXXXX____________
批准:_____XXXX__________
完成时间:___2014-06-17_______
文件建立/修改记录
目录
1 简介........................................................................................................................................... 4
1.1 文档编写目的 ........................................................................................................... 4
1.2 文档范围 ................................................................................................................... 4
1.3 术语和省略语 ........................................................................................................... 4
1.4 参考资料 ................................................................................................................... 4
架构表示方式 ........................................................................................................................... 4
架构设计目标与约束 ............................................................................................................... 5
3.1 关键功能需求 ........................................................................................................... 5
3.2 关键质量需求 ........................................................................................................... 5
3.2.1 有效性 ............................................................................................................... 5
3.2.2 性能 ................................................................................................................... 5
3.2.3 性能可扩展 ....................................................................................................... 5
3.2.4 功能可扩展 ....................................................................................................... 5
3.3 系统设计原则 ........................................................................................................... 6
3.4 开发策略 ................................................................................................................... 6
3.4.1 软件复用策略 ................................................................................................... 6
3.4.2 使用开源架构 ................................................................................................... 6
3.4.3 使用商业构件 ................................................................................................... 6
3.5 其它设计约束 ........................................................................................................... 6
用例视图 ................................................................................................................................... 6
4.1 概述 ........................................................................................................................... 6
4.2 关键用例 ................................................................................................................... 7
4.2.1 关键的系统参与者 ........................................................................................... 7
4.2.2 关键的系统用例 ............................................................................................... 7
4.3 关键系统用例简述 ................................................................................................... 7
逻辑视图 ................................................................................................................................... 7
5.1 概述 ........................................................................................................................... 7
5.2 系统层次模型 ........................................................................................................... 7
5.3 主要的设计包和子系统 ........................................................................................... 7
进程视图 ................................................................................................................................... 8
6.1 概述 ........................................................................................................................... 8
6.2 总体进程架构 ........................................................................................................... 8
部署视图 ................................................................................................................................... 8
7.1 概述 ........................................................................................................................... 8
7.2 部署方案1 ................................................................................................................ 8
7.3 部署方案2 ................................................................................................................ 8
7.4 部署方案N ............................................................................................................... 8
实施视图 ................................................................................................................................... 8
8.1 概述 ........................................................................................................................... 8
8.2 实施模型总体架构 ................................................................................................... 9
数据视图 ................................................................................................................................... 9
9.1 概述 ........................................................................................................................... 9
9.2 数据域模型设计 ....................................................................................................... 9
2 3 4 5 6 7 8 9
1 简介
1.1 文档编写目的
本文档全面与系统地表述目标软件系统的构架,并通过使用多种视图来从不同角度描述系统的各个主要方面,以满足相关涉众(客户、设计人员等)对目标系统的不同关注焦点。
本文档记录并表述了架构师对系统构架方面做出的重要决策;项目经理将根据构架定义的构件结构制定项目的开发计划;设计员将据此进行各构件的详细设计;测试设计员按照构架设计系统的总体测试框架;另外构架文档还用于指导各构件的实施、集成及测试。
1.2 文档范围
本文档适合XXXX系统的总体应用架构。
1.3 术语和省略语
1.4 参考资料
《XXXX系统》
2 架构表示方式
本文档以一系列的视图(View)来表示系统的软件构架,主要包括用例视图、逻辑视图、进程视图、部署视图、实施视图(即RUP推荐的4+1视图)等;每个视图拥有一个或多个模型(Model)(例如逻辑视图包含分析模型、设计模型和数据模型等);并围绕相关视图来描述系统的基本结构、组成机制与工作原理等。
本文档还将系统的构架机制描述也放在了逻辑视图之下。
本文档主要使用统一建模语言(UML)来充当相关模型的表达语言;主要图表(Diagram)引用自目标系统的Rose Model。
3 架构设计目标与约束
描述构架设计必须满足的关键系统功能需求和质量约束,这些功能需求和质量要求对软件构架有重大的影响,并决定了构架的设计。
本节同时还列明影响构架的其他相关因素,如软件的复用策略、使用商业构件、设计与实施的策略等。
3.1 关键功能需求
内部用户、系统管理员在安全性较高的内网中使用系统的功能。
3.2 关键质量需求
3.2.1 有效性
系统平均可用时间大于99.99%。
3.2.2 性能
系统并发用户在线数大于50。
普通数据录入、查找等操作,每单步操作最大延迟时间应小于5秒。
一般查询统计,结果集在100条记录以内情况下,最大延迟时间不超过30秒。
所有统计,其最大延迟时间不超过2分钟。
3.2.3 性能可扩展
支持硬件系统性能升级与数量扩充。
3.2.4 功能可扩展
系统应支持新的管理模块业务。
3.3 系统设计原则
3.4 开发策略
3.4.1 软件复用策略
系统中重要基础构件应当具备较高的设计与构建质量,可以在产品中复用。
3.4.2 使用开源架构
系统基础框架主要采用业界的一些主流开源框架,包括:struts、spring、hibernate、log4j等。
单元测试使用junit框架。
3.4.3 使用商业构件
不适用。
3.5 其它设计约束
目标构架总体上应采用分层结构,并全面应用面向对象设计、编程技术使系统具有较好的扩展性与重用性。
本系统支持与其他系统进行集成,所以要提取出良好的集成接口。
4 用例视图
4.1 概述
用例视图从用户使用的角度描述系统构架的基本外部行为特性,通常包含业务用例模型与系统用例模型。业务用例模型不适用于本系统,这里只关注系统用例。
这里选取了用例模型中对系统构架的内容产生重大影响的应用场景与用例集合,这些用例代表了系统主要的核心功能,往往决定了系统构架的基本组成元素。有些用例强调或决定了构架的某些具体然而重要的细节,通常也可以列在本节内,总之所列的用例集合应基本覆
盖系统构架的主要方面。
4.2 关键用例
4.2.1 关键的系统参与者
4.2.2 关键的系统用例
4.3 关键系统用例简述
描述系统用例场景。
5 逻辑视图
5.1 概述
逻辑视图从系统内在逻辑结构的角度描述系统的基本结构与动态行为,通常包括分析模型(Analysis Model)、设计模型(Design Model)以及数据模型(Data Model)等。
设计模型说明了系统的组成元素、组织架构和关系,并描述了各组成元素的协作以及状态转换关系等(通过用例实现Use Case Realization予以表达)。本节将分别在系统层次结构模型中描述系统的层次组织结构;在主要的包和子系统中说明系统的具体组成;并在架构机制中详述系统中的各种构架机制;最后在关键用例实现中通过描述最重要的用例实现,来说明构架的典型协作(动态行为)。
分析模型对等于设计模型,是在更高的抽象层次上定义系统的结构,作为可选项,本文档将不予说明。
5.2 系统层次模型
5.3 主要的设计包和子系统
对每一层进行描述
6 进程视图
6.1 概述
进程视图从系统运行时刻的角度,描述系统划分为进程、线程的结构,及其动态关系。模型主要说明进程、线程的分类,系统构架敏感的主要边界类、控制类对象等在进程、线程中的分布,以及它们之间的创建、交互与消息通讯关系等。
6.2 总体进程架构
7 部署视图
7.1 概述
部署视图从系统软硬件物理配置的角度,描述系统的网络逻辑拓扑结构。模型包括各个物理节点的硬件与软件配置,网络的逻辑拓扑结构,节点间的交互与通讯关系等。同时还表达了进程视图中的各个进程具体分配到物理节点的映射关系。
7.2 部署方案1
7.3 部署方案2
7.4 部署方案N
8 实施视图
8.1 概述
实施视图从软件编译与构建的角度,描述系统实施构件的组织结构与依赖关系(主要是编译依赖)。模型包括实施子系统和构件结构,及其依赖关系。同时还表达了逻辑视图中各个包和类分配到实施视图中的子系统和构件的映射关系。
8.2 实施模型总体架构 9 数据视图
9.1 概述
9.2 数据域模型设计
XXXX系统
软件架构说明书
作者:___XX XXXX___________
审核:___XXXXXXXX____________
批准:_____XXXX__________
完成时间:___2014-06-17_______
文件建立/修改记录
目录
1 简介........................................................................................................................................... 4
1.1 文档编写目的 ........................................................................................................... 4
1.2 文档范围 ................................................................................................................... 4
1.3 术语和省略语 ........................................................................................................... 4
1.4 参考资料 ................................................................................................................... 4
架构表示方式 ........................................................................................................................... 4
架构设计目标与约束 ............................................................................................................... 5
3.1 关键功能需求 ........................................................................................................... 5
3.2 关键质量需求 ........................................................................................................... 5
3.2.1 有效性 ............................................................................................................... 5
3.2.2 性能 ................................................................................................................... 5
3.2.3 性能可扩展 ....................................................................................................... 5
3.2.4 功能可扩展 ....................................................................................................... 5
3.3 系统设计原则 ........................................................................................................... 6
3.4 开发策略 ................................................................................................................... 6
3.4.1 软件复用策略 ................................................................................................... 6
3.4.2 使用开源架构 ................................................................................................... 6
3.4.3 使用商业构件 ................................................................................................... 6
3.5 其它设计约束 ........................................................................................................... 6
用例视图 ................................................................................................................................... 6
4.1 概述 ........................................................................................................................... 6
4.2 关键用例 ................................................................................................................... 7
4.2.1 关键的系统参与者 ........................................................................................... 7
4.2.2 关键的系统用例 ............................................................................................... 7
4.3 关键系统用例简述 ................................................................................................... 7
逻辑视图 ................................................................................................................................... 7
5.1 概述 ........................................................................................................................... 7
5.2 系统层次模型 ........................................................................................................... 7
5.3 主要的设计包和子系统 ........................................................................................... 7
进程视图 ................................................................................................................................... 8
6.1 概述 ........................................................................................................................... 8
6.2 总体进程架构 ........................................................................................................... 8
部署视图 ................................................................................................................................... 8
7.1 概述 ........................................................................................................................... 8
7.2 部署方案1 ................................................................................................................ 8
7.3 部署方案2 ................................................................................................................ 8
7.4 部署方案N ............................................................................................................... 8
实施视图 ................................................................................................................................... 8
8.1 概述 ........................................................................................................................... 8
8.2 实施模型总体架构 ................................................................................................... 9
数据视图 ................................................................................................................................... 9
9.1 概述 ........................................................................................................................... 9
9.2 数据域模型设计 ....................................................................................................... 9
2 3 4 5 6 7 8 9
1 简介
1.1 文档编写目的
本文档全面与系统地表述目标软件系统的构架,并通过使用多种视图来从不同角度描述系统的各个主要方面,以满足相关涉众(客户、设计人员等)对目标系统的不同关注焦点。
本文档记录并表述了架构师对系统构架方面做出的重要决策;项目经理将根据构架定义的构件结构制定项目的开发计划;设计员将据此进行各构件的详细设计;测试设计员按照构架设计系统的总体测试框架;另外构架文档还用于指导各构件的实施、集成及测试。
1.2 文档范围
本文档适合XXXX系统的总体应用架构。
1.3 术语和省略语
1.4 参考资料
《XXXX系统》
2 架构表示方式
本文档以一系列的视图(View)来表示系统的软件构架,主要包括用例视图、逻辑视图、进程视图、部署视图、实施视图(即RUP推荐的4+1视图)等;每个视图拥有一个或多个模型(Model)(例如逻辑视图包含分析模型、设计模型和数据模型等);并围绕相关视图来描述系统的基本结构、组成机制与工作原理等。
本文档还将系统的构架机制描述也放在了逻辑视图之下。
本文档主要使用统一建模语言(UML)来充当相关模型的表达语言;主要图表(Diagram)引用自目标系统的Rose Model。
3 架构设计目标与约束
描述构架设计必须满足的关键系统功能需求和质量约束,这些功能需求和质量要求对软件构架有重大的影响,并决定了构架的设计。
本节同时还列明影响构架的其他相关因素,如软件的复用策略、使用商业构件、设计与实施的策略等。
3.1 关键功能需求
内部用户、系统管理员在安全性较高的内网中使用系统的功能。
3.2 关键质量需求
3.2.1 有效性
系统平均可用时间大于99.99%。
3.2.2 性能
系统并发用户在线数大于50。
普通数据录入、查找等操作,每单步操作最大延迟时间应小于5秒。
一般查询统计,结果集在100条记录以内情况下,最大延迟时间不超过30秒。
所有统计,其最大延迟时间不超过2分钟。
3.2.3 性能可扩展
支持硬件系统性能升级与数量扩充。
3.2.4 功能可扩展
系统应支持新的管理模块业务。
3.3 系统设计原则
3.4 开发策略
3.4.1 软件复用策略
系统中重要基础构件应当具备较高的设计与构建质量,可以在产品中复用。
3.4.2 使用开源架构
系统基础框架主要采用业界的一些主流开源框架,包括:struts、spring、hibernate、log4j等。
单元测试使用junit框架。
3.4.3 使用商业构件
不适用。
3.5 其它设计约束
目标构架总体上应采用分层结构,并全面应用面向对象设计、编程技术使系统具有较好的扩展性与重用性。
本系统支持与其他系统进行集成,所以要提取出良好的集成接口。
4 用例视图
4.1 概述
用例视图从用户使用的角度描述系统构架的基本外部行为特性,通常包含业务用例模型与系统用例模型。业务用例模型不适用于本系统,这里只关注系统用例。
这里选取了用例模型中对系统构架的内容产生重大影响的应用场景与用例集合,这些用例代表了系统主要的核心功能,往往决定了系统构架的基本组成元素。有些用例强调或决定了构架的某些具体然而重要的细节,通常也可以列在本节内,总之所列的用例集合应基本覆
盖系统构架的主要方面。
4.2 关键用例
4.2.1 关键的系统参与者
4.2.2 关键的系统用例
4.3 关键系统用例简述
描述系统用例场景。
5 逻辑视图
5.1 概述
逻辑视图从系统内在逻辑结构的角度描述系统的基本结构与动态行为,通常包括分析模型(Analysis Model)、设计模型(Design Model)以及数据模型(Data Model)等。
设计模型说明了系统的组成元素、组织架构和关系,并描述了各组成元素的协作以及状态转换关系等(通过用例实现Use Case Realization予以表达)。本节将分别在系统层次结构模型中描述系统的层次组织结构;在主要的包和子系统中说明系统的具体组成;并在架构机制中详述系统中的各种构架机制;最后在关键用例实现中通过描述最重要的用例实现,来说明构架的典型协作(动态行为)。
分析模型对等于设计模型,是在更高的抽象层次上定义系统的结构,作为可选项,本文档将不予说明。
5.2 系统层次模型
5.3 主要的设计包和子系统
对每一层进行描述
6 进程视图
6.1 概述
进程视图从系统运行时刻的角度,描述系统划分为进程、线程的结构,及其动态关系。模型主要说明进程、线程的分类,系统构架敏感的主要边界类、控制类对象等在进程、线程中的分布,以及它们之间的创建、交互与消息通讯关系等。
6.2 总体进程架构
7 部署视图
7.1 概述
部署视图从系统软硬件物理配置的角度,描述系统的网络逻辑拓扑结构。模型包括各个物理节点的硬件与软件配置,网络的逻辑拓扑结构,节点间的交互与通讯关系等。同时还表达了进程视图中的各个进程具体分配到物理节点的映射关系。
7.2 部署方案1
7.3 部署方案2
7.4 部署方案N
8 实施视图
8.1 概述
实施视图从软件编译与构建的角度,描述系统实施构件的组织结构与依赖关系(主要是编译依赖)。模型包括实施子系统和构件结构,及其依赖关系。同时还表达了逻辑视图中各个包和类分配到实施视图中的子系统和构件的映射关系。
8.2 实施模型总体架构 9 数据视图
9.1 概述
9.2 数据域模型设计