软件体系结构设计与常用体系结构模型ppt
合集下载
软件体系结构风格PPT课件
![软件体系结构风格PPT课件](https://img.taocdn.com/s3/m/73e85ef7af45b307e9719753.png)
特点: 1.构件是模块,模块可以是过程也可以是事件的集
合。 2.连接件:往往是以过程之间的隐式调用(Implicit
Invocation)来实现的
.
15
例:观察者模式
public interface Subject { public void attach (Observer observer);
◎难以进行错误处理,管道/过滤器结构的固有特性,决定了 很难制定错误处理的一般性策略
.
9
实例: 传统的编译器是管道/过滤器体系结构风格的一个实例
源 程
词法分析
序
语法分析
语义分析
目 标 中间代码生成 中间代码优化 目标代码生成 程 序
.
10
面向对象风格
这种风格建立在数据抽象和面向对象的基础上, 数据的表示方法和它们的相应操作封装在一个抽象 数据类型或对象中。
体系结构风格最关键的四要素
◎ 提供一个词汇表
◎ 定义一套配置规则
◎ 定义一套语义解释原则
◎ 定义对基于这种风格的系统所进行的分析
.
4
体系结构的风格有哪些? 管道-过滤器风格 面向对象风格 事件驱动风格 分层风格 数据共享风格 解释器风格 反馈控制环风格
.
5
管道-过滤器风格
特点: 1.每个构件都有输入输出,构件完成对输入数据的处
软件体系结构风格
.
1
软件框架设计的核心问题是:能否复用已经成型的 体系结构方案
不同系统的设计方案存在着许多共性问题,把这些 共性部分抽取出来,就形成了具有代表性的和可广 泛接受的体系结构风格
.
2
体系结构风格
什么是软件体系结构风格? 软件体系结构风格是描述某一特定应用领域中系统组
合。 2.连接件:往往是以过程之间的隐式调用(Implicit
Invocation)来实现的
.
15
例:观察者模式
public interface Subject { public void attach (Observer observer);
◎难以进行错误处理,管道/过滤器结构的固有特性,决定了 很难制定错误处理的一般性策略
.
9
实例: 传统的编译器是管道/过滤器体系结构风格的一个实例
源 程
词法分析
序
语法分析
语义分析
目 标 中间代码生成 中间代码优化 目标代码生成 程 序
.
10
面向对象风格
这种风格建立在数据抽象和面向对象的基础上, 数据的表示方法和它们的相应操作封装在一个抽象 数据类型或对象中。
体系结构风格最关键的四要素
◎ 提供一个词汇表
◎ 定义一套配置规则
◎ 定义一套语义解释原则
◎ 定义对基于这种风格的系统所进行的分析
.
4
体系结构的风格有哪些? 管道-过滤器风格 面向对象风格 事件驱动风格 分层风格 数据共享风格 解释器风格 反馈控制环风格
.
5
管道-过滤器风格
特点: 1.每个构件都有输入输出,构件完成对输入数据的处
软件体系结构风格
.
1
软件框架设计的核心问题是:能否复用已经成型的 体系结构方案
不同系统的设计方案存在着许多共性问题,把这些 共性部分抽取出来,就形成了具有代表性的和可广 泛接受的体系结构风格
.
2
体系结构风格
什么是软件体系结构风格? 软件体系结构风格是描述某一特定应用领域中系统组
软件体系结构课件第5章统一建模语言
![软件体系结构课件第5章统一建模语言](https://img.taocdn.com/s3/m/c63aba809fc3d5bbfd0a79563c1ec5da50e2d6d4.png)
2:GetPrefSet()
10:PrefSet(date_mg)
1:GetPrefSet()
:MeetingInitiator
第5章 统一建模语言 直接使用UML建模 – 会议安排系统的类图
Person
StronglyConflicts With
Conflicts With
Important Attendee
0..* 0..*
0..* Profers
Attendee
1..* 1..* 0..* 0..*
11 1 1
1
Meeting Initiator
Find.exe
Query .dll
部署图 定义系 统中软 硬件的 物理体
系结构
第5章 统一建模语言 部署图
客户端:个人PC QueryClient.exe
服务器
《TCP/IP》 查询
QueryServer.exe 部署图
定义系
统中软
Find.exe
硬件的
物理体
Query.dll系结构
第5章 统一建模语言
第5章 统一建模语言
直接使用UML建模 – UML中的通用表示
➢ 字符串:表示有关模型的信息; ➢ 名字:表示模型元素; ➢ 标号:不同于编程语言中的标号,是用于表示或说明图形符号的字
符串; ➢ 特殊字符串:表示某一模型元素的特性; ➢ 类型表达式:声明属性、变量及参数,含义同编程语言中的类型表
0
10
20
30s 时间刻度
第5章 统一建模语言 状态图
提交订单 已审核 印前处理
客户付钱
已付款
已处理
进行冲印
冲印中 冲印完成
描述满足 用例要求 所要进行 的活动以 及活动间 的完约成束关 系,有利 于识别并 行活动
体系结构 第2章 软件体系结构风格 ppt课件
![体系结构 第2章 软件体系结构风格 ppt课件](https://img.taocdn.com/s3/m/feea5ebb76c66137ee0619c8.png)
C/S体系结构有三个主要组成部分:数据库 服务器、客户应用程序和网络。
体系结构 第2章 软件体系 结构风格
体系结构 第2章 软件体系 结构风格
服务器
✓ 数据库安全性的要求;
✓ 数据库访问并发性的控制;
✓ 数据库前端的客户应用程序的全局数据完整性规则;
✓ 数据库的备份和恢复。
体系结构 第2章 软件体系 结构风格
体系结构 第 2章 软件体 系结构风格 软件体系结构风格
刘 伟 (Sunny)
体系结构 第2章 软 件体系结构风格
定义 管道和过滤器 数据抽象和面向对象组织 基于事件的隐式调用 分层系统 仓库系统 过程控制环路 C/S风格 三层C/S风格 B/S风格
体系结构 第2章 软 件体系结构风格
实例:
✓ 编译器,功能程序,并行程序
体系结构 第2章 软件 体系结构风格
体系结构 第2章 软件体系 结构风格
数据的表示方法和它们的相应操作被封装在 一个抽象数据类型或对象中
这种风格的构件是对象或者说是抽象数据类 型的实例
对象通过函数和过程的调用来进行交互
体系结构 第2章 软件体系 结构风格
客户应用程序
✓ 提供用户与数据库交互的界面;
✓ 向数据库服务器提交用户请求并接收来自数据库服务器 的信息;
✓ 利用客户应用程序对存在于客户端的数据执行应用逻辑 要求
体系结构 第2章 软件体系 结构风格
体系结构 第2章 软件体系 结构风格
C/S体系结构具有强大的数据操作和事务处理能力, 模型 思想简单,易于人们理解和接受。
实例:数据库管理系统,用户界面
体系结构 第2章 软件 体系结构风格
输入
事件接收
事件处理
输出
体系结构 第2章 软件体系 结构风格
体系结构 第2章 软件体系 结构风格
服务器
✓ 数据库安全性的要求;
✓ 数据库访问并发性的控制;
✓ 数据库前端的客户应用程序的全局数据完整性规则;
✓ 数据库的备份和恢复。
体系结构 第2章 软件体系 结构风格
体系结构 第 2章 软件体 系结构风格 软件体系结构风格
刘 伟 (Sunny)
体系结构 第2章 软 件体系结构风格
定义 管道和过滤器 数据抽象和面向对象组织 基于事件的隐式调用 分层系统 仓库系统 过程控制环路 C/S风格 三层C/S风格 B/S风格
体系结构 第2章 软 件体系结构风格
实例:
✓ 编译器,功能程序,并行程序
体系结构 第2章 软件 体系结构风格
体系结构 第2章 软件体系 结构风格
数据的表示方法和它们的相应操作被封装在 一个抽象数据类型或对象中
这种风格的构件是对象或者说是抽象数据类 型的实例
对象通过函数和过程的调用来进行交互
体系结构 第2章 软件体系 结构风格
客户应用程序
✓ 提供用户与数据库交互的界面;
✓ 向数据库服务器提交用户请求并接收来自数据库服务器 的信息;
✓ 利用客户应用程序对存在于客户端的数据执行应用逻辑 要求
体系结构 第2章 软件体系 结构风格
体系结构 第2章 软件体系 结构风格
C/S体系结构具有强大的数据操作和事务处理能力, 模型 思想简单,易于人们理解和接受。
实例:数据库管理系统,用户界面
体系结构 第2章 软件 体系结构风格
输入
事件接收
事件处理
输出
精品PPT课件--第9章软件体系结构与设计模式
![精品PPT课件--第9章软件体系结构与设计模式](https://img.taocdn.com/s3/m/9129dc9f88eb172ded630b1c59eef8c75fbf950a.png)
在组织形式上,框架是一个待实例化的完整系统,定义 了软件系统的元素和关系,创建了基本的模块,定义了涉 及功能更改和扩充的插件位置。典型的框架例子有MFC框 架和Struts框架。
9.1 软件体系结构的基本概念
• 体系结构的重要作用
体系结构的重要作用体现在以下三个方面 : (1)体系结构的表示有助于风险承担者(项目干系
层次结构具有以下优点: (1)支持基于抽象程度递增的系统设计,使设计者可以把
一个复杂系统按递增的步骤进行分解。 (2)支持功能增强,因为每一层至多和相邻的上下层交
互,因此,功能的改变最多影响相邻的内外层。
9.2 典型的体系结构风格
(3)支持复用。只要提供的服务接口定义不变,同一层的 不同实现可以交换使用。这样,就可以定义一组标准 的接口,从而允许各种不同的实现方法。
9.1 软件体系结构的基本概念
2.风格
风格是带有一种倾向性的模式。同一个问题可以有不同 的解决问题的方案或模式,但我们根据经验,通常会强烈 倾向于采用特定的模式,这就是风格。
每种风格描述一种系统范畴,该范畴包括: (1)一组构件(如数据库、计算模块)完成系统需要的某
种功能; (2)一组连接件,它们能使构件间实现“通信”、“合作”
个对象的表示,而不影响其他对象。 (2)设计者可将一些数据存取操作的问题分解成一些交互
的代理程序的集合。
9.2 典型的体系结构风格
其缺点如下: (1)为了使一个对象和另一个对象通过过程调用等进行
交互,必须知道对象的标识。只要一个对象的标识 改变了,就必须修改所有其他明确调用它的对象。 (2)必须修改所有显式调用它的其他对象,并消除由此 带来的一些副作用。例如,如果A使用了对象B,C 也使用了对象B,那么,C对B的使用所造成的对A 的影响可能是料想不到的。
9.1 软件体系结构的基本概念
• 体系结构的重要作用
体系结构的重要作用体现在以下三个方面 : (1)体系结构的表示有助于风险承担者(项目干系
层次结构具有以下优点: (1)支持基于抽象程度递增的系统设计,使设计者可以把
一个复杂系统按递增的步骤进行分解。 (2)支持功能增强,因为每一层至多和相邻的上下层交
互,因此,功能的改变最多影响相邻的内外层。
9.2 典型的体系结构风格
(3)支持复用。只要提供的服务接口定义不变,同一层的 不同实现可以交换使用。这样,就可以定义一组标准 的接口,从而允许各种不同的实现方法。
9.1 软件体系结构的基本概念
2.风格
风格是带有一种倾向性的模式。同一个问题可以有不同 的解决问题的方案或模式,但我们根据经验,通常会强烈 倾向于采用特定的模式,这就是风格。
每种风格描述一种系统范畴,该范畴包括: (1)一组构件(如数据库、计算模块)完成系统需要的某
种功能; (2)一组连接件,它们能使构件间实现“通信”、“合作”
个对象的表示,而不影响其他对象。 (2)设计者可将一些数据存取操作的问题分解成一些交互
的代理程序的集合。
9.2 典型的体系结构风格
其缺点如下: (1)为了使一个对象和另一个对象通过过程调用等进行
交互,必须知道对象的标识。只要一个对象的标识 改变了,就必须修改所有其他明确调用它的对象。 (2)必须修改所有显式调用它的其他对象,并消除由此 带来的一些副作用。例如,如果A使用了对象B,C 也使用了对象B,那么,C对B的使用所造成的对A 的影响可能是料想不到的。
软件设计与体系结构-第四章-面向对象的软件设计方法课件
![软件设计与体系结构-第四章-面向对象的软件设计方法课件](https://img.taocdn.com/s3/m/44fe7868b80d6c85ec3a87c24028915f814d8418.png)
l 概念模型与顶层架构设计:
l 在用户需求和相关的业务领域中,概念及概念关系的抽取
l 用户界面设计:
l 设计每个界面中的所有界面元素,确定初步的界面布局,定义用户界面动作对软件系统中设计元
素的要求
l 数据模型的设计:
l 确定设计模型中需要持久保存的类的对象及其属性,定义持久持久存储数据之间的组织方式,并
.
26
概念模型和顶层架构设计
l 边界类: 其职责包括: l 边界控制: l 包括定义数据的格式及内容转换,输出结果的呈现,软件运行过程中界
面的变化与切换等。 l 外部接口: l 实现目标软件系统与外部系统或外部设备之间的信息交流和互操作,主
要关注跨越目标软件系统边界的通信协议 l 环境隔离: l 对目标软件系统与操作系统、数据库管理系统、中间件等环境软件进行
事件流中步骤(1)
l (3)如果账户余额小于取款金额,则显示信息“账户余额不足,请重新输入”,并返回主事件流
中步骤(1)
l (4)顾客在确认取款金额前右以选择取消交易。
l 后置条件: 如果取款成功,系统从账户余额中减去相应数额,并返回等待状态;如果顾客取消交易,
则返回等待状态
.
19
用例的分析与设计
体技术没有关系 l 顶层架构的设计 l 目的: 为后续的分析和设计活动建立一种结构和划分
.
24
概念模型和顶层架构设计
l 关键概念来源: l 为建立以UML类图表示的领域概念模型,首先必须标识关键概念。关键
概念的来源包括: l (1)业务需求描述、用例说明; l (2)业务领域中的相关规范、标准、术语定义。 l (3)反映业务领域知识的既往经验。 l 业务需求描述 l 业务领域中的相关规范、标准、述评呼定义 l 反映业务领域知识的既往经验
软件开发模型(最新总结ppt)
![软件开发模型(最新总结ppt)](https://img.taocdn.com/s3/m/824e97370b4c2e3f57276357.png)
一、瀑布模型(Waterfall Model
)
定义:瀑布模型即生存周期模型,其核心思想是 按工序将问题化简,将功能的实现与设计分开, 便于分工协作,即采用结构化的分析与设计方 法将逻辑实现与物理实现分开。 结构:瀑布模型将软件生命周期划分为制定计划、 需求分析、软件设计、程序编写、软件测试和 运行维护等六个基本活动,并且规定了它们自 上而下、相互衔接的固定次序,如同瀑布流水, 逐级下落。
八、并发开发模型: 定义:也称为“并发工程”,它关注于多 个任务的并发执行,表示为一系列的主要 技术活动、任务及其相关状态。 构成:并发过程模型由客户要求、管理决 策和评审结果驱动,不是将软件工程活动 限定为一个顺序的事件序列,而是定义一 个活动网络,网络上的每一个活动均可与 其他活动同时发生。这种模型可以提供一 个项目的当前状态的准确视图。
瀑布模型图:
计划 需求分析 设计 需求变更
点:在瀑布模型中,软件开发的各项活动严 格按照线性方式进行,当前活动接受上一项活 动的工作结果影响,实施完成所需的工作内容 。 缺点: 1、 各个阶段的划分完全固定,阶段之间产生大 量的文档,极大地增加了工作量; 2、由于开发模型是线性的,用户只有等到整个 过程的末期才能见到开发成果,从而增加了开 发的风险; 3、早期的错误可能要等到开发后期的测试阶段 才能发现,进而带来严重的后果。
六、WINWIN模型 :
定义:WINWIN模型融合了螺旋模型的基本成分 以及原型实现的迭代特性,夸大风险以及标识。 路程经过过程早期谈判使客户以及开发者之间达 成一致协议,它将变成进展成软件以及系统定义 的关键标准。 优点:WINWIN模型夸大风险阐发以及标识,使 得开发职员以及用户对每个演化层出现的风险有 所相识,继而做出应有的反应。采用WINWIN模 型的优点是客户以及开发者到达一种平衡,实现 共赢,可是需要额外的谈判内容。
软件体系结构 PPT
![软件体系结构 PPT](https://img.taocdn.com/s3/m/9ac023c508a1284ac850431f.png)
•
1.1what is SA ?
• 这种全局结构的设计和规划问题包括 全局组织 结构;全局控制结构;通信和同步以及数据存 取协议;规定设计元素的功能;设计元素的组 合;物理分布;规模和性能;演化的维度;设 计方案的选择等。 • 1随着软件系统的规模和复杂性不断增加,系 统的全局结构的设计和规划变得比算法的选择 以及数据结构的设计更加重要。 • 2人们普遍认为,为系统设计一个合适的体系 结构是系统取得长远的成功的关键因素。 • 3非形式化的。
1.1what is SA ?
e.g. 每个Filter都有输入端和输出端,例如一个MPEG-1解码Filter它的输入是MPEG编码的 流数据,它的输出端是一解码过的流数据。DirectShow正是通过将不同的Filter连接在一起 完成特定的功能的,我们将这些Filter的连接叫做Filter Graph,如下图A给出是播放AVI的 Filter Graph:
1概述
• 它是一种简单的、清楚的、完善的方式 形成的 • 软件工程师需要一种更好的视角来理解 软件,并试图找到一种新的方法来构建 更复杂的大型软件系统 • SA (software architecture) • 一个简单程序到复杂系统软件的距离是 十年
1概述-需求开发的主要困难
1概述-软件危机的原因
• 软件规模越来越大 • 随着软件应用范围的增广,软件规模愈来愈大。 随着软件应用范围的增广,软件规模愈来愈大。大 型软件项目需要组织一定的人力共同完成, 型软件项目需要组织一定的人力共同完成,而多数管 理人员缺乏开发大型软件系统的经验, 理人员缺乏开发大型软件系统的经验,而多数软件开 发人员又缺乏管理方面的经验。 发人员又缺乏管理方面的经验。各类人员的信息交流 不及时、不准确、有时还会产生误解。 不及时、不准确、有时还会产生误解。 软件项目开发人员不能有效地、 软件项目开发人员不能有效地、独立自主地处理大 型软件的全部关系和各个分支, 型软件的全部关系和各个分支,因此容易产生疏漏和 错误。 错误。
软件体系结构 ppt课件
![软件体系结构 ppt课件](https://img.taocdn.com/s3/m/343ad8f27f1922791688e848.png)
图A 播放AVI文件的Graph Filter图
上图中每个模块分别代表了不同的Filter,媒体文件Filter从硬盘读取AVI文件,AVI分离 Filter将文件分离为音频流和视频流,AVI解码Filter对视频流进行解码并送往Video表现Filter, 由后者将各帧在显示器上显示,默认的 DirectSound 设备用DirectSound将音频流输 2019 10 出。。
6
•
2019
1概述-软件危机的原因
• 软件复杂度越来越高 • 软件不仅仅是在规模上快速地发展扩大,而且其复 杂性也急剧地增加。软件产品的特殊性和人类智力的 局限性,导致人们无力处理“复杂问题”。 所谓“复杂问题”的概念是相对的,一旦人们采用 先进的组织形式、开发方法和工具提高了软件开发效 率和能力,新的、更大的、更复杂的问题又摆在人们 的面前。
2019
-
3
1概述
• 它是一种简单的、清楚的、完善的方式 形成的
• 软件工程师需要一种更好的视角来理解 软件,并试图找到一种新的方法来构建 更复杂的大型软件系统 • SA (software architecture)
• 一个简单程序到复杂系统软件的距离是 十年
2019 4
1概述-需求开发的主要困难
软件体系结构
刘兴
2019
计算机学院软件工程系
1
软件体系结构内容
• • • • • • • 1概述 2软件体系结构风格 3案例研究 4软件体系结构的分析与评估(略) 5流行的软件体系结构 6设计模式与软件架构 7企业架构师和设计师、企业软件架构简介
2
2019
1概述
• • • • 我们要学的这个是什么玩意? 我们为什么要学这个玩意? 我们将来会怎么干? 其他人是怎么玩的?
《软件体系结构建模》幻灯片PPT
![《软件体系结构建模》幻灯片PPT](https://img.taocdn.com/s3/m/afa90c6ad0d233d4b04e6925.png)
体系构造建模
郑州大学软件学院 赵哲
复习
软件体系构造概论 软件危机 构件与软件重用 软件体系构造的兴起和开展 软件体系构造的应用现状
郑州大学软件学院 赵哲
本章主要内容
软件体系构造建模概述 4+1视图模型
郑州大学软件学院 赵哲
软件体系构造建模概述
建模modeling :建立系统模型的过程 软件体系构造建模:如何对软件体系构
造建立系统模型 根据建模的侧重点不同 可将软件体系构造模型分为5类
郑州大学软件学院 赵哲
软件体系构造模型的分类
构造模型(骨头拆分) 框架模型(骨骼) 动态模型(时序图、状态图和活动图来,
与操作时间或顺序有关) 过程模型(步骤、过程) 功能模型(层次) P31
郑州大学软件学院 赵哲
一点延伸
郑州大学软件学院 赵哲
软件过程
需求分析 建立体系结构
设计
实现 测试
郑州大学软件学院 赵哲
需求分析
与用户沟通 由不同代表组成的小组:分析人员、客
户、设计人员、测试人员等对需求进展 审查
郑州大学软件学院 赵哲
建立体系构造
由体系构造设计师对整个系统进展分析 选择一个适宜的体系构造风格
郑州大学软件学院 赵哲
主要侧重软件模块的组织和管理,为编 程人员效劳。
软件可以通过程序库或子程序进展组织, 这样就可以由不同的人进展开发
郑州大学软件学院 赵哲
开发视图
开发视图要考虑软件内部的需求,如软 件开发的容易性、软件的重用和软件的 通用性,要充分考虑由于具体开发工具 的不同而带来的局限性。
开发视图通过系统输入输出关系的模型 图和子系统图来描述。
郑州大学软件学院 赵哲
4+1模型
郑州大学软件学院 赵哲
复习
软件体系构造概论 软件危机 构件与软件重用 软件体系构造的兴起和开展 软件体系构造的应用现状
郑州大学软件学院 赵哲
本章主要内容
软件体系构造建模概述 4+1视图模型
郑州大学软件学院 赵哲
软件体系构造建模概述
建模modeling :建立系统模型的过程 软件体系构造建模:如何对软件体系构
造建立系统模型 根据建模的侧重点不同 可将软件体系构造模型分为5类
郑州大学软件学院 赵哲
软件体系构造模型的分类
构造模型(骨头拆分) 框架模型(骨骼) 动态模型(时序图、状态图和活动图来,
与操作时间或顺序有关) 过程模型(步骤、过程) 功能模型(层次) P31
郑州大学软件学院 赵哲
一点延伸
郑州大学软件学院 赵哲
软件过程
需求分析 建立体系结构
设计
实现 测试
郑州大学软件学院 赵哲
需求分析
与用户沟通 由不同代表组成的小组:分析人员、客
户、设计人员、测试人员等对需求进展 审查
郑州大学软件学院 赵哲
建立体系构造
由体系构造设计师对整个系统进展分析 选择一个适宜的体系构造风格
郑州大学软件学院 赵哲
主要侧重软件模块的组织和管理,为编 程人员效劳。
软件可以通过程序库或子程序进展组织, 这样就可以由不同的人进展开发
郑州大学软件学院 赵哲
开发视图
开发视图要考虑软件内部的需求,如软 件开发的容易性、软件的重用和软件的 通用性,要充分考虑由于具体开发工具 的不同而带来的局限性。
开发视图通过系统输入输出关系的模型 图和子系统图来描述。
郑州大学软件学院 赵哲
4+1模型
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
容器体系结构模型的优缺点
• 能高效的共享数据,无需在组件之间进行数据交换。 • 组件一定要与容器的数据模型一致。大量信息都按照一致的数据模型生成。 • 生产数据的组件不需要关心数据如何被其他组件使用。 • 备份、保密性、访问控制、错误回复等活动都是容器管理员的职责,客户
程序主要集中在自己的功能上。不同的组件对这些活动的要求不同,而容 器模型迫使所有的组件使用相同的策略。 • 容器中出现问题会影响整个系统。 • 是系统的静态结构,不能展现系统运行时的组织。
软件体系结构并非是可执行的软 件,它是一种设计表示,通过该 表示使得软件体系结构师能够分 析其所完成的设计是否满足软件 需求,以减少软件构造过程中存 在的风险。
体系结构设计步骤
1. 设计准备 2. 确定影响系统设计的 约束因素 3. 确定设计策略 4. 系统分解与设计 5. 撰写体系结构设计文 档 6. 设计评审
目相关人员之间讨论的焦点,有利于设计决策。 2. 有利于系统分析
在系统开发的早期阶段给出系统的体系结构,实际上就 是对系统的分析过程。对体系结构的设计决策,对系统能 否满足关键性需求具有深远的影响。 3. 有利于大规模复用
体系结构能在具有相似需求的系统之间互用,由此来支
持大规模的软件复用。
体系结构表示
体系结构模型
软件系统的体系结构要给予特定的体系结构模型
对这些模型的掌握可以简化定义系统体系结构的问题
绝大多数的大型系统的体系结构都包括不同的体系结构类型,并不属于一 个单一的类型
软件系统的体系结构要给予特定 的体系结构模型
对这些模型的掌握可以简化定义 系统体系结构的问题
绝大多数的大型系统的体系结构 都包括不同的体系结构类型,并 不属于一个单一的类型
中法计141
第三组
体系结构设计与常 用的体系结构模型
成员:陈晓雅 程茜茜 崔雪 邓祎迪 杜思琦 范珊珊
主要 内容
1 第一部分 体系结构设计 2 第二部分 体系结构模型
3 第三部分 详例应用
ONE
体系结构设计
1
软件设计
软件设计是将软件需求转换为软件 表示的过程,也是一个建模过程, 以一系列迭代的步骤建立不同的视 图来描述系统。
软件体系结构设计原则
在大规模软件开发的过程中,软件体系结 构设计起着举足轻重的作用,用它来指导 整个开发过程,可以准确满足需求并充分
提高软件系统的重用性和可维护性.
一个软件系统的体系结构设计的好不好, 可以用合适性、 结构稳定性、可扩展性和可复用性等特 征来评估。
进行体系结构设计的好处
1. 有利于利益相关者之间的沟通 体系结构是系统的一个高层表示,可以作为不同的项
体系结构的模式
软件工程师可以在给定的体系结构类型中使用许多种不同的体 系结构风格和模式,每个模式描述了一个系统类别,它包含: 一组完成系统所需功能的构件,一组使构件间通信、协调及合 作的连接件,定义如何集成构件以构成系统的约束条件,使设
计者能够理解系统整体特性的语义模型。
系统特性与体系结构
1 性能方面 2 信息安全性方面 3 系统安全性方面 4 可用性方面 5 可维护性方面
TWO
体系结构模型
2
体系结构模型
一个软件系统是由若干个组成部分,按照 一定的组织结构形式构成的.这个组织结 构形式从概念上就是一个总体性框架,它 表达了软件系统各个组成部分之间的关联 关系以及控制系统设计和进化的一组原则. 软件体系结构技术中研究的首要问题是: 部件设计决策
体系结构设计决策包括对应用类型的决策、系统分布的决策、 所使用的体系结构类型的决策以及对体系结构应该如何记录和 评估的决策
体系结构设计决策
1 对于要开发的系统,是否存在一个一般性的应用体系结构可 以拿来当模板? 2 系统将如何分配到多个处理器上? 3有哪个或哪几个体系结构模式或者风格适合本系统? 4 有哪些基本方法可以用来构成该系统? 5 如何将系统中的结构单元分解为模块? 6 应该使用什么样的策略来控制系统中单元的操作? 7 如何评估体系结构设计? 8 如何记录系统体系结构?
1. 常用非形式化的方块图来描述体系结构
2. 非形式化的方块图既没有给出系统组件之间的关系类型, 也没有显示出组件可见的外部特性,非常抽象。
3. 有利于不同层次的系统参与人员进行交流与沟通。
每个子系统在图中用一个矩形表示,子系统间的关系用带 箭头的连线表示,关系可能包含数据流,“使用”和“被 使用”关系,或一些其他类型的依赖关系。
体系结构设计是设计过程的初始阶段。 表现为设计和需求工程过程之间的桥梁。 通常是与一些系统描述活动同时进行的。 体系结构设计的输出的一个描述就是软件体 系结构。
软件体系结构的相关概念
软件体系结构是一个软件系统的 基本组织,它体现在构件、构件 间的相互关系以及构件与环境的 关系中;它还包括指导系统设计 和进化的原则。
组成部分: (1)数据中心:用于表示当前状态的中心数据结构。 (2)客户软件:用于在数据存储中心存储的数据上进行操 作的一些独立的部件组合
特点: 容器体系结构模型是基于一个共享数据库的系统模型,该模 型适合于数据由一个组件产生而有其他组件使用的情形。 体系结构为该类型的系统例子如管理信息系统(MIS)、 CAD系统、CASE工具集、可服用组件库等。
软件系统设计的5个核心内容: 体系结构设计,模块设计(对象
或类设计),用户界面设计,数据 库设计,数据结构和算法设计(详 细设计)。
体系结构设计
软件初始设计过程的任务是要识别出组成大 型系统的多个子系统,并建立子系统的控制 和通信框架,这个过程叫做体系结构设计。 它包括识别出系统的主要组件以及它们之间 的通信。
实例-某管理系统的容器体系结构模型
管理模式——中心数据存储 具体项目的管理模式——客户软件
2 分层体系结构模型
组成部分: (1)数据服务层:存储数据和提供基本数据服务。
(2)应用接口层:对应存储过程接口,用来维护服务器中数据的一致性和完整性。
(3)应用层:把用户需求转化为针对特定服务器的基本功能。 (4)用户界面层:唯一与用户的交互点。 特点: 1)层与层之间的相对独立性 相对独立,每一层只与其上面的层打交道,无需了解其他 层的语义模型在分层模型中,用户界面层、应用层、应用接口层和数据服务层。 2)适用于Internet/Intranet环境 应用层完成客户端管理、维持与多个服务器的链 接,负责与数据服务层建立稳定的链接,完成复杂的管理。 3)便于集成管理 在模型中,分布式应用管理程序通过数据传输层与分层模型集成在 一起,成为系统不可分割的一部分。 4)通用性 层分布式模型不仅为开发分布式GIS提供了一个框架,而且有助于更清楚地 理解分布式系统体系结构的本质。