软件体系结构 期末复习提纲

1.软件体系结构概论
1.1软件危机
表现: 软件成本日益增长。开发进度难以控制。软件质量差。软件维护困难
原因: 用户需求不明确。缺乏正确的理论指导。软件规模越来越大。软件复杂度越来越高
克服: 软件工程三要素:方法 工具 过程
1.2构件
定义:构件是指语义完整、语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统;结构上,它是语义描述、通讯接口和实现代码的复合体
获取:现有直接用;旧工程中提取;购买;自己开发
分类:关键字、刻面、超文本组织
重用:检索与提取-理解与评价-修改-组装
1.3体系结构
定义:软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的素的描述、这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成。
意义:风险承担者进行交流的手段;早期设计决策的体现;可传递和可重用的模型
2.软件体系结构建模
2.1“4+1”视图模型
逻辑视图:系统的功能需求,系统分解为功能抽象—为最终用户服务
开发视图:软件模块的组织和管理,考虑软件内部的需求—编程人员的软件管理
进程视图:侧重系统的运行特性,强调并发性,分布性,系统集成性和容错能力—系统集成人员考虑性能、可扩充性、吞吐量等
物理视图:把软件映射到硬件上,考虑系统性能、规模、可靠性—系统工程人员解决系统拓扑结构、系统安装、通信等问题
场景:重要系统活动的抽象,使四个视图有机联系起来
2.2核心模型:构件-连接件-配置-端口-角色
构件:具有某种功能的可重用的软件模板单元
连接件:构件间的交互
配置:构件和连接件之间的拓扑逻辑和约束
端口:构件和外部环境的交互点
角色:定义连接件表示的交互的参与者
2.3生命周期模型:需求分析-建立体系结构-设计-实现-测试
3.软件体系结构风格
3.1管道和过滤器
构件-过滤器;连接件-管道;
每个构件都有一组输入和输出,构件读入输入数据流,经处理产生输出数据流
优点:高内聚低耦合;支持重用;系统维护简单;支持并行
缺点:进程成为批处理结构;不适合处理交互应用;过滤器编写复杂
3.2系统抽象和面向对象组织
数据的表示方法和它们的相应操作封装在一个抽象数据类型和对象中,构件是对象
优点:改变一个对象不影响其它对象;可将数据存取问题分解成交互的代理程序的集合
缺点:一个对象的标识改变,需要改变调用它的对象;必须修改显式调用它的其它对象
3.3基于事件的隐式调用
构件触发或广播一个或多个事件;构件中的过程在一个或多个事件中注册
优点:为软件重用提供强大支持;为改进系统提供方便
缺点:放弃了对系统计算的控制;有时系统必须依靠共享仓库交互数据;关于正确性的推理存在问题
3.4分层系统
层次系统组织成一个层次结构,每一层为上层服务,并作为下层客户
优点:可以把复杂系统按递增步骤分解;支持功能增强;支持重用
缺点:并不是每个系统都可以很容易划分成分层模式;很难找到合适正确的层次抽象方法
3.5仓库系统
传统型数据库或黑板系统(知识源+黑板数据结构+控制)
3.6 C2风格
构件和连接件有顶部和底部;构件之间不能直接连接;连接件直接连接时必须是一个底部到另一个的顶部
特点:构件可实现应用需求;构件间通信通过连接件;构件相对独立,依赖性较少
3.7 C/S风格
数据库服务器-客户应用程序+网络
优点:具有强大数据操作能力和事务处理能力;客户机和服务器在不同计算机上,对软硬件变化适应性和灵活性强;功能构件充分隔离;任务分布在多台低成本计算机上,节约费用
缺点:开发成本高、客户端程序设计复杂、信息内容和形式单一、用户界面风格不一、软件移植困难、系统维护升级困难、新技术不能轻易应用
3.8三层C/S风格
表示层-功能层-数据层,只有表示层在客户机上(瘦客户机)
优点:提高系统的可维护性和可扩展性;应用平台具有良好的可升级性和开放性;应用各层可以并行开发;利用功能层有效隔离表示层和数据层
3.9 B/S风格
浏览器-web服务器-数据库服务器;用浏览器实现强大功能,节约开发成本
优点:系统安装、修改、维护全在服务端解决,很容易在运行时自动升级;
缺点:缺乏对动态页面的支持能力;系统扩展能力差;数据查询响应速度慢;数据提交以页为单位,数据的动态交互性不强
3.10公共对象请求代理体系结构
CORBA:接口定义语言,接口池,动态调用接口,对象适配器
3.11正交软件体系结构
由n个线索、m个层;线索之间相互独立;有公共驱动层(顶层)和公共数据结构(底层)
3.12基于层次消息总线的体系结构风格
HMB:支持构件的分布和并发,构件间通过消息总线进行通信
消息总线的功能:消息登记;消息分派和传递;消息过滤
3.13异构结构风格
内外有别:企业内部C/S(局域网),外部B/S(互联网)
查改有别:查询和浏览B/S,维护和修改C/S;企业内部局域网/外部互联网
3.14互联系统构成的系统及其体系结构
SIS:系统分为若干个部分;互联系统之间相互通信;分上级系统和从属系统
软件过程:系统分解-用例建模-分析和设计-实现-测试-演化和维护
3.15特定领域软件体系结构
DSSA:领域分析-领域设计-领域实现
DSSA以问题域为出发点,体系结构风格以解决域为出发点
4.软件体系结构描述
4.1软件体系结构描述方法
图形表达工具;模块内连接语言;
基于软构件的系统描述语言;软件体系结构描述语言(ADL)
4.2软件体系结构描述语言
要素:构件;连接件;体系结构配置
4.3 ADL–C2
C2描述接口:
在这里插入图片描述

C2描述构件:
在这里插入图片描述

4.4 UML
统一建模语言:用例图;类图;顺序图;协作图;状态图;活动图;构件图;部署图
直接用UML建模
6.Web服务体系结构
6.1 Web服务
核心:基于可扩展标记语言XML
五个逻辑层:数据层-数据访问层-业务层-业务面-监听者
生命周期:构建-部署-运行-管理
6.2 XML
SOAP:简单对象访问协议
SOAP信封:head+body;表示信息中包含什么内容,谁来处理这些内容;是可选还是强制
WSDL:将网络服务描述为网络端点或端口的集合
UDDI:统一描述,发现和集成协议
6.3面向服务的体系结构
SOA:功能定义成独立的服务;服务带有定义明确的可调用接口
特点:松散耦合;粗粒度服务;标准化接口
实践原则:业务驱动服务,服务驱动技术;业务敏捷是基本的业务需求
7.基于体系结构的软件开发
7.1设计模式
设计面向对象软件开发的经验总结;关注特定环境下重现的设计问题,并提出解决方案
7.2 MVC
模型(处理问题的内在逻辑)-视图(展示信息)-控制器(交互操作)三种构件
7.3基于体系结构的软件设计方法ABSD
生命周期:需求分析-ABSD-实际构件设计
步骤:定义设计元素-设计元素的产生顺序-设计元素的活动-定义逻辑视图
7.4体系结构的设计和演化
实验原型阶段:第一个开发周期-第二个开发周期
演化开发阶段
7.4基于体系结构的软件开发模型ABSDM
体系结构需求-设计-文档化-复审;实现;演化
9.软件体系结构评估
9.1关注的质量属性
性能;可靠性;可用性;安全性;可修改性;功能性;可变性;集成性;互操作性
9.2评估方式
基于调查问卷或检查表的评估方式;基于场景的评估方式;基于度量的评估方式
9.3 ATAM方法
描述ATAM方法(步骤简介;技术;结果)-描述商业动机-描述体系结构-确定体系结构的方法-生成质量属性效用树-分析体系结构方法-讨论和分级(优先级)场景-分析体系结构方法-描述评估结果(归纳)
10.软件产品线体系结构
产品线=核心资源+产品集合
过程模型:双生命周期模型;SEI模型(核心资源开发+产品开发+应用工程);三生命周期模型(增加企业工程流程)
发展过程:开发阶段-配置分发阶段-演化阶段
基本活动:产品线分析产品-开发

  • 6
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 构件:是指语义完整,语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统;结构上,它是语义描述通信接口和实现代码的复合体。2. 构件模型:是对构件本质特征的抽象描述。3. 构件组装:是指将库中的构件经适当修改后相互连接,或者将它们与当前开发项目中的软件元素相连接,最终构成新的目标软件。4. 软件体系结构:Hayes Roth认为软件体系结构是一个抽象的系统规范,主要包括用其行为来描述的功能构件和构件之间的相互连接、接口和关系。5. 面向服务体系结构(SOA):本质上是服务的集合,服务间彼此通信,这种通信可能是简单地数据传送,也可能是两个或更多的服务协调进行某些活动。6. 可靠性:是软件系统在应用或系统错误面前,在意外或错误使用的情况下维持软件系统特性的基本能力。7. 可修改性:是指能够快速地以较高的性能价格比对系统进行变更的能力。通常以某些具体的变更为基准,通过考察这些变更的代价衡量可修改性。可修改性包括:可维护性、可扩展性、结构重组、可移植性。8. 敏感点:是一个或多个构件(和/或构件之间的关系)的特性。9. 权衡点:是影响多个质量属性的特性,是多个质量属性的敏感点。10. 软件产品线:就是在一个公共的软件资源集合基础上建立起来的共享同一个特性集合的系统集合。11. 框架:是封装了特定应用族抽象设计的抽象类的集合,框架又是一个模板,关键的方法和其他细节在框架实例中实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值