软件体系结构设计

  • 格式:pptx
  • 大小:2.54 MB
  • 文档页数:29

下载文档原格式

  / 29
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(3)每个层次都可替换,即,一个层次可以被能实 现同样对外服务接口的层次所替代。
2020/6/25
14
➢ 体系结构与软件需求的关系:
体系结构是以软件需求的实现为目标的软件设 计蓝图,软件需求是体系结构设计的基础和驱 动因素。
软件需求,尤其是非功能需求,对软件体系结 构具有关键性的塑形作用。
➢ 体系结构设计与详细设计的关系:
➢ 开发视图:软件源代码的程序分包及目录 结构,采用的类库、中间件或框架 (framework),它们与逻辑视图中各模块 之间的映射关系。开发视图的示例见图 7.19。
2020/6/25
16
体系结构视图
➢ 物理视图:安装部署的物理机器及其网络连接, 逻辑视图及开发视图中模块或程序包的物理部 署位置。物理视图的示例见图7.20。
2020/6/wenku.baidu.com5
9
7.1 软件体系结构的概念
本节介绍: ➢ 什么是软件体系结构 ➢ 体系结构与需求 ➢ 体系结构设计与详细设计的关系 ➢ 从多种视角探讨软件体系结构的不同表现形式
2020/6/25
10
7.1.1 何谓体系结构
➢ 软件体系结构包括三大要素: 组件(component) 连接件(connector) 约束(constraints) ➢ 连接件表示组件之间的连接和交互关系 ➢ 约束表示组件中的元素应满足的条件,以及组件经由连接
2020/6/25
13
何谓体系结构
➢ 图7.12所示的软件体系结构涉及的约束:
(1)位于较高层次的软件元素可以向低层元素发出 服务请求,低层元素完成计算后向高层元素发送 服务应答,反之不行;
(2)每个软件元素根据其职责位于最恰当的一个层 次当中,不可错置(如,核心层不能包含界面呈 现和界面输入接收职责,也不能直接与物理设备 交互);
件组装成更大模块时应满足的条件。
2020/6/25
11
图7.12 家庭保安系统的体系结构雏形
用户界面层 输入键盘接口
显示面板接口(输入)
业务逻辑层 用户命令处理
命令
配置管理
日志管理
传感器监测
设备接口层 传感器接口
警报器接口
设备接口调用 报警电话接口
显示面板接口(输出)
传感数据上报
2020/6/25
先思考几个问题?
软件设计的基本原则?(回顾) 内聚与耦合的区别?(回顾) 软件设计的过程模型?(回顾)
2020/6/25
1
阅读书的第七章回答下列问题?
➢什么是体系结构? ➢体系结构视图分为? ➢体系结构常用哪几种UML图形机制表示

10分钟
2020/6/25
2
第七章 软件体系结构设计
7.1 软件体系结构的概念
一旦启动基于体系结构的详细设计,对体系结 构进行调优的代价将远大于算法调优的代价。
2020/6/25
8
软件体系结构设计
本章试图回答的问题 ➢ 对系统进行模块划分时,怎样划分才合理? ➢ 在大型软件项目中,需求如此之多,如何基于需
求推导体系结构,如何确保体系结构满足软件需 求,尤其是非功能需求? ➢ 是否存在指导软件体系结构设计的过程及方法学?
➢ 运行视图:软件运行时进程、线程的划分,它 们之间的并发与同步,瞬时快照——软件运行 过程中某个特定时刻活跃的对象及其协作关系, 以及它们与逻辑视图和开发视图之间的映射关 系。
➢ 数据视图:持久数据的存储方案,数据传递、 备份、恢复、同步方案,与物理视图之间的映 射关系。
2020/6/25
17
7.2 体系结构的表示
7.2 体系结构的表示
包图、构件图、部署图、对象图
7.3 体系结构设计的过程
7.4 体系结构设计模式
7.5 概念设计
7.6 体系结构精化
7.7 基于构件的体系结构
7.8 体系结构验证
2020/6/25
3
第七章 软件体系结构设计
➢ 软件体系结构的定义:
软件体系结构(architecture,也称“架构”) 从高层抽象的角度刻画组成目标软件系统的设计 元素(包括子系统、构件及类)以及它们之间的 逻辑关联。
2020/6/25
4
2020/6/25
5
软件体系结构设计
➢ 体系结构设计的任务:建立满足软件需求 的软件体系结构。
体系结构既要明确定义软件各子系统、构件、 关键类的职责划分及协作关系,也要描绘它们 在物理运行环境下的部署模型;
体系结构还必须针对软件系统全局性、基础性 的技术问题给出技术解决方案,这种方案构成 目标软件系统的技术基础设施。
详细设计是针对软件体系结构中某个未展开模块的 局部设计,必须遵循体系结构中规定的原则、接口 及约束
详细设计只能实现、不能更改体系结构中规定的模 块的对外接口和外部行为;
软件体系结构必须为详细设计提供可操作的指 导和充分的约束。
7.1.2 体系结构视图
完整的软件体系结构应该包含以下视图:
➢ 逻辑视图:体系结构中各软件模块的逻辑 功能划分(或曰职责分派),以及基于这 种划分的协作行为。逻辑视图的示例见图 7.12。
7.2.1 包图
➢ 包图刻画包之间的构成和依赖关系。
包是UML模型的一种组织单元,它可以包含一组具有 逻辑关联的UML模型元素(例如用例、类等)、模型 图(例如用例图、类图、交互图、状态图、活动图 等),以及其他的包。
2020/6/25
6
2020/6/25
可信计算终端系统平台安全体系结构
7
软件体系结构设计
体系结构的重要性:
今天软件日益庞大复杂、交付时间日益紧迫、 详细设计和软件实现技术日益成熟,体系结构 设计已经成为软件质量的瓶颈。
与详细设计相比,体系结构设计对性能、灵活 性、可修改性、可扩充性等质量需求的影响是 全局性的、决定性的。
➢ 用于表示体系结构的逻辑视图的UML图形 机制主要是包图和构件图,有时还辅以类 图;
开发视图的表示可能会用到包图; 物理视图显然应表示为部署图; 因为运行视图涉及到并发、同步以及软件运行
过程中的瞬时快照,所以它应表示为活动图与 对象图; 数据视图一般表示为类图或者实体-关系图,
2020/6/25
18
12
举例:家庭保安系统软件
➢ 组件:
如,图7.12所示的体系结构将家庭保安系统软件 划分为界面、核心和物理设备接口三个层次
核心层负责存储所有业务数据并提供业务逻辑处理 功能
界面层负责向用户呈现家庭保安系统的操作界面, 接收用户的界面输入并将其转换为内部事件传递给 核心层。
物理设备接口层应核心层的要求向传感器、报警器、 报警电话等物理设备发送必要的控制指令,也负责 接收来自传感器的监测数据。