软件体系期末复习终结版.docx
- 文档编号:30395682
- 上传时间:2023-08-14
- 格式:DOCX
- 页数:19
- 大小:60.18KB
软件体系期末复习终结版.docx
《软件体系期末复习终结版.docx》由会员分享,可在线阅读,更多相关《软件体系期末复习终结版.docx(19页珍藏版)》请在冰豆网上搜索。
软件体系期末复习终结版
第1章软件体系结构概论
1、软件危机的表现:
1 软件成本日益增长
2 开发进度难以控制
3 软件质量差
4 软件维护困难
二、软件危机的原因:
1 用户需求不明确
2 缺乏正确的理论指导
3 软件规模越来越大
4 软件复杂度越来越高
3、如何克服软件危机:
1 人们面临的不光是技术问题,更重要的是管理问题,管理不善必然导致失败。
2 要提高软件开发效率,提高软件产品质量,必须采用工程化的开发方法与工业化的生产技术。
3 在技术上,应该采用基于重用的软件生产技术;在管理上,应该采用多维的工程管理模式。
软件工程包含的三个要素:
方法、工具和过程。
4、构件的定义:
构件是指语义完整、语义正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统;结构上,它是语义描述,通讯接口和实现代码的复合体。
5、构件模型的三个主要流派:
OMG(对象管理集团)的CORBA(通用对象请求代理结构)SUN的EJB(EnterpriseJavaBean)
Microsoft的DCOM(分布式构件的对象模型)
六、构件获取的途径:
1 从现有构件中获得符合要求的构件,直接使用或作适应性修改,得到可重用的构件。
2 通过遗留工程,将具有潜在重用价值的构件提取出来,得到可重用的构件。
3 从市场上购买现成的商业构件(COTS)构件。
4 开发新的符合要求的构件。
七、构件管理:
1、构件描述2、构件分类与构件库组织3、人员及权限管理
构件分类方法:
1、关键字分类法2、刻面分类法3、超文本组织法
八、构件重用:
为了让构件在新的软件项目中发挥作用,库的使用者必须完成以下工作:
1 检索与提取构件:
基于关键字的检索:
优点:
简单,易于实现;
刻面检索法:
优点:
易于实现相似构件的查找;
超文本检索法:
优点:
用户界面友好;
其他......
2 理解与评价构件
3 修改构件
4 构件组装:
基于功能的组装技术:
构件以子程序/过程/函数形式出现;采用“子程序调用”和“参数传递”的方式将构件组装起来;强内聚,松耦合。
基于数据的组装技术:
子程序调用与参数传递;面向数据的设计方法。
面向对象的组装技术:
构造法和子类法。
九、软件重用概念:
软件重用是指在两次或多次不同的软件开发过程中重复使用相同或相近软件元素的过程。
软件元素包括:
程序代码,测试用例,设计文档,设计过程.....
十、软件体系的结构的定义:
软件体系结构为软件系统提供了一个结构,行为和属性的搞基抽象,由构成系统的元素的描述。
这些元素的相互作用,指导元素集成的模式以及这些模式的约束组成,软件体系结构不仅仅指定了系统的组织结构和拓扑结构。
并且显示系统需求的构成,系统的元素之间的对应关系。
提供了一些设计决策的基本原理。
第二章软件体系结构建模
1、根据建模侧重点不同,可以将软件体系结构的模型分为5种:
1 结构模型最直观,最普遍
2 框架模型
3 动态模型
4 过程模型
5 功能模型
二、“4+1”视图模型
“4+1”视图模型从5个不同的视角包括逻辑视图、物理视图、开发视图、进程视图和场景视图来描述软件体系结构。
逻辑视图也成为概念视图,主要支持系统功能需求的抽象描述,即系统最终将提供给用户什么样的服务。
开发视图也称为模块视图,主要侧重于软件的组织和管理,软件可以通过程序库或子系统进行组织。
进程视图(过程分解)也称过程视图侧重于系统的运行特性,主要关注一些非功能性的需求(并发性,分布性,系统集成性,容错能力)
物理视图:
主要考虑如何把软件映射到硬件上,它通常要考虑到系统系能、规模、可靠性等。
场景视图:
场景可以看作是那些重要系统活动的抽象,它使4个视图有机联系起来,从某种意义上说场景是最重要的需求抽象。
场景可以用文本表示,也可以用图形表示。
场景视图的作用:
a.以视图为驱动来发现体系结构元素
b.在体系结构设计结束后,此视图承担验证和描述的角色。
三、体系结构的核心模型由5种元素组成:
构件、连接件、配置、端口、角色;其中构件、连接件、配置是最基本的元素。
构件:
具有某种功能的可重用的软件模板单元,表示系统中主要的计算元素和数据存储;
连接件:
表示构件之间的交互;
配置:
表示构件和连接件的拓扑逻辑和约束;
端口:
表示构件的外部环境的交互点;
角色:
定义了该连接件表示的交互参与者。
4、软件体系结构的生命周期
1 软件体系结构的非形式化描述
2 软件体系结构的规范描述和分析
3 软件体系结构的求精及验证
4 软件体系结构的实施
5 软件体系结构的演化和扩展
6 软件体系结构的提供、评价和度量
7 软件体系结构的终结。
第3章软件体系结构风格
1、软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。
体系结构风格定义了一个系统家族,即一个体系结构定义一个词汇表和一组约束。
词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。
体系结构风格反映了领域中众多系统所共有的结构和语义特性,并描写如何将各个模块和子系统有效地组织成一个完整的系统。
2、通用软件体系结构风格:
1 数据流风格(批处理序列,管道/过滤器)
2 调用/返回风格(主程序/子程序,面向对象风格,层次结构)
3 独立构件风格(进程通信,事件系统)
4 虚拟机风格(解释器,基于规则的系统)
5 仓库风格(数据库系统,超文本系统,黑板系统)
管道/过滤器风格优点:
1 具有良好的隐蔽性、高内聚、低耦合的特点
2 简单性
3 支持软件重用
4 具有较强的可维护性和可拓展性
5 允许对一些如吞吐量、死锁等属性的分析
6 支持并行执行
缺点:
1 通常导致进程成为批处理的结构
2 不适合处理交互的应用
3 因为在数据传输上没有通用的标准,每个过滤器都增加了解析和合成数据的工作,这样就导致了系统性能下降,并增加了编写过滤器的复杂性。
三、经典软件体系结构风格
1 管道和过滤器
2 数据抽象和面向对象组织
3 基于事件的隐式调用
4 分层系统
5 仓库系统及知识库
6 C2风格
四、客户/服务器风格
C/S体系结构有三个主要组成部分:
数据库服务器、客户应用程序和网络。
C/S优点:
1 C/S体系结构的主要优点在于:
系统的客户应用程序和服务器构件分别运行在不同的计算机上,系统中每台服务器都可以适合各构件的要求,这对于硬件和软件的变化显示出极大的适应性和灵活性,而且易于对系统进行扩充和缩小。
2 C/S体系结构具有强大的数据操作和事务处理能力,模型思想简单,易于人们理解和接受。
3 在C/S体系结构中,系统中的功能构件允许隔离,客户应用程序的开发集中于数据的显示和分析,而数据库服务器的开发则集中于数据的管理,不必再每一个新的应用程序都要对一个DBMS进行编码,将大的应用处理任务分布到许多通过网络连接的低成本计算机上,以节约大量费用。
C/S缺点:
1 开发成本较高
2 客户端程序设计复杂
3 信息内容和形式单一
4 用户界面风格不一,使用繁杂,不利于推广使用
5 软件移植困难
6 软件维护和升级困难
7 新技术不能轻易使用
5、三层C/S增加了一个应用服务器
将应用功能分成表示层、功能层和数据层。
六、B/S和C/S混合异构风
1 内外有别(内部C/S;外部B/S)
2 查改有别(维护修改C/S;查询B/S)
7、DSSA的基本活动(特定领域软件体系结构)
领域分析;领域设计;领域实现
8、正交软件体系结构:
正交软件体系结构由组织层和线索的构建构成。
层是由一族具有相同抽象级别的构件构成。
线索是子系统的特例。
由完全不同层次动能的构建组成。
(画图)正交软件体系结构特点:
1.正交软件体系结构由完全不同功能的n(n>1)个线索组成
2.系统具有m(m>1)个不同抽象级别的层
3.线索之间是相互独立的
4.系统有一个公共驱动和公共数据结构。
正交软件体系结构的优点:
1.结构清晰易于理解2.易修改维护性强3.可移植性强重用粒度大
4章、软件体系结构描述
1、软件体系结构的描述和表达
图像表达工具(主要符号:
矩形框+有向线段);模块内连接语言;基于软构件的系统描述语言;软件体系结构描述语言
二、ADL是在底层语义模型的支持下为软件系统的概念体系结构建模提供了具体语法和概念框架。
基于底层语义的工具为体系结构的表示、分析、演化、细化、设计过程等提供支持。
体系结构描述语言ADL的三个基本元素是:
构件、连接件和体系结构配置。
主要的体系结构描述语言有:
Aesop、MetaH、C2、Rapide、SADL、Unicon和Wright等
ADL与其他语言的比较:
构造能力;抽象能力;重用能力;组合能力;异构能力;分析和推理能力
Unicon:
关注软件体系结构化特征支持异构;
C2:
是用于图形界面(GUI)密集系统的软件体系结构,实例会议安排系统;
为了更好的使用ADL,一个配套的开发环境,提供以下工具:
创建和浏览设计的图形化编辑体系结构的一致性检查,代码生成器,模式仓储等。
第5章动态软件体系结构
1、由于系统需求、技术、环境、分布等因素的变化而最终导致软件体系结构的变化,称之为软件体系结构演化,运行时刻的变动称为体系结构的动态性、静态修改称为结构的扩展。
2、基于构件的动态系统结构模型支持运行系统的动态更新,分为三层:
应用层、中间层和体系结构层。
3、更新执行步骤:
1 检测更新的范围
2 更新准备工作
3 执行更新
4 存储更新
四、动态软件体系结构概念
体系结构的动态性:
交互式动态性;结构化动态性;体系结构动态性
根据所要修改的不同内容,软件体系结构的动态演化主要包括四个方面:
属性改变;行为改变;拓扑结构改变;风格改变。
动态软件体系结构用处主要研究方向:
1、研究模拟和描述体系结构动态更新的语言,2.研究支持体系结构动态更新的执行工具。
五、更新分为局部更新和全局更新
局部更新只涉及中间层和应用层;全局更新涉及三个层。
第6章web服务体系结构
1、Web服务是使用标准技术在Internet上运行的商务流程,它可以使用标准的Internet协议将功能纲领性地体现在Internet和Intranet(企业内部网)上。
2、Web服务特点:
使用标准协议规范;使用协约的规范性;高度集成能力;完好的封装性;松散耦合。
3、Web服务体系结构模型
包括三种逻辑构件:
服务提供者,服务代理,服务请求
发现updiwsdl发布
绑定soap
定义三种操作:
发布、发现、绑定
4、web服务开发生命周期(四个阶段):
构建;部署;运行;管理
Web服务栈:
发现服务层
UDDI,DISCO
描述服务层
WSDL,XML,Schema
消息格式层
SOAP
编码格式层
XML
传输协议层
HTTP、TCP/IP、SMTP等
Web服务体系结构的优势:
1 高度的通用性和易用性
2 完全的平台,语言的独立性
3 高度的集成性
4 容易部署和发布
Web服务的核心技术:
1 作为web服务基础的XML
2 简单对象的访问协议SOAP
3 Web服务描述语言WSDL
4 统一描述、发现和集成协议UDDI
面向服务的软件体系结构特征:
松散耦合;粗粒度服务;标准化接口
第7章基于软件体系结构的软件开发
1、设计模式基本成分:
模式名称;解决方案;问题;后果。
2、设计模式:
所谓设计模式,简单的理解是一些设计面向对象的的软件开发的经验总结,一个设计模式事实上是系统的命名,解释和评价某一个重要的可重现的面向对对象的设计方案。
。
研究方向:
设计模式与其他面向对象设计方法的关系
3、模式和软件体系结构关系:
1 模式作为体系结构构造块
2 构造异构体系结构
3 模式和方法
4 实现模式
第8章软件体系结构的分析和测试
1、风格模型:
顺序结构风格;并行/管道-过滤器结构风格;容错结构风格;调用-返回结构风格
2、软件体系结构测试的内容准则?
1 内容:
构件端口行为与连接件约束是否一致、兼容,单元间的消息是否一致、可达,相关端口是否可连接。
体系结构是否可满足
2 准则:
测试应覆盖所有的构件及各个构件的接口、各个连接件的接口、构件之间的直接连接,构件之间的间接连接
第9章软件体系结构评估
1、系统质量属性:
性能;可靠性(容错,健壮性);可用性;安全性;可修改性;功能性;可变性;集成性;互操作性
2、主要评估方式:
1 基于调查问卷或检查表的评估方式(主观)
2 基于场景的评估方式(基于特定领域)
3 基于度量的评估方式(客观和量化的质量评估)
比较:
评估方式
调查问卷或检查表
场景
度量
调查问卷
检查表
通用性
通用
特定领域
特定系统
通用或特定领域
评估者对体系结构的了解程度
粗略了解
无限制
中等了解
精确了解
实施阶段
早
中
中
中
客观性
主观
主观
较主观
较客观
3、ATAM(体系结构权衡分析方法)评估方法
使用ATAM方法对软件体系结构进行评估的目标是理解体系结构关于系统的质量属性需求决策的结果
步骤:
1 描述ATAM方法
2 描述商业动机
3 描述体系结构
4 确定体系结构的方法
5 生成质量属性效用树
6 分析体系结构方法
7 讨论和分级场景
8 分析体系结构方法
9 描述评估结构
4、SAAM(软件体系结构分析方法)评估方法
步骤:
1 形成场景
2 描述体系结构
3 对场景进行分类和确定优先级
4 对间接场景进行单个评估
5 评估场景的相互作用
6 形成总体评估
7 SAAM评估日程安排
ATAM、SAAM都是基于场景的评估方式。
十章
软件产品线的基本概念是什么?
产品线是一个产品集合,这些产品共享一个公共的,可管理的特征集。
这个特征集能满足选定的市场或任务领域的特定需求,这些系统遵循一个预描述的方法,在公共的核心资源基础上开发。
产品线的特点:
1过程驱动2特定领域3技术支持4体系结构中心
1、软件元素包括程序代码、测试用例、设计文档、设计过程、需求分析文档、甚至领域知识。
2、软件工程包括3个要素方法、工具、过程。
3、采用层次式软件体系结构,将产品的系统构件模型定义为4个层次,分别为:
系统构件层、通用类构件层、业务构件层、表现层。
4、三层C/S结构风络是由_表示层、功能层、数据层三个层次构成。
5、层次系统最广泛的应用是分层通信协议。
6、、Web服务开发生命周期分为构建、部署、运行、管理四个阶段。
7、MVC模式的中的M,V,C分别对应Mode、View、Controller三个单词。
8、ABSD方法取决于决定系统的体系结构驱动,所谓体系结构驱动,是指构成体系结构的业务、质量、功能需求。
9、后果描述应用设计模式后的结果、权衡。
10、软件过程是人们建立、维护和进化软件产品整个过程中所有技术活动和管理活动的集合。
11、基于体系结构的软件开发模型(ABSDM)将软件开发过程划分为体系结构需求、设计、文档化、复审、实现、演化等六个子过程。
12、浏览器/服务器(B/S)风格是三层应用结构的一种实现方式,其具体结构分为浏览器、Web服务器、数据库服务器三个部分。
13、软件体系结构设计的核心问题是能否使用重复的体系结构模式,即能否达到体系结构级的软件重用。
14、构件分类方法可以归纳为三大类,分别是关键字分类法、刻面分类法、超文本组织方法。
15、大量使用构件,软件的灵活性和标准化程度也能得到提高。
16、功能分组可选择的标准包括功能聚合、功能的局部性、数据或计算行为的类似模式、数据类似的抽象级别等四个。
17、面向对象已经成为软件开发的主流思想,以演化和增量方法为基础的迭代开发过程已经成为面向对象开发过程的标准。
18、框架是从特定域中提取出来的一组组件及其相互关系的可重用的体系结构。
19、软件危机的原因:
20、在三层C/S体系结构中,中间件是最重要的构件。
21、通常,一个Web服务可以分为四个逻辑层,分别为数据层、数据访问层、业务层、监听者。
离客户最远的是数据层
22、同传统分布式体系结构相比,Web服务体系结构的主要优势体现为
高度的通用性和易用性、完全的平台、语言独立性、高度的集成性、容易部署和发布
23、一般来说,模式有以下四个基本成分:
模式名称、问题、解决方案、效果
24、软件体系结构设计过程:
提出软件体系结构模型、把已标识的构件映射到软件体系构件中、分析构件之间的相互作用、产生软件体系结构、设计评审
25、软件重用是指重复使用已有的软件产品用于开发新的软件系统,以达到提高软件系统的开发质量与效率,降低开发成本的目的。
26、软件体系结构充当一个理解系统构件和它们之间关系的框架,特别是那些始终跨越时间和实现的属性
27、基于事件的隐式调用风格的思想是构件不直接调用一个过程,而是触发或广播一个或多个事件。
29、SOA模型具有松散耦合、粗粒度服务、标准化接口等特征。
30、利用设计模式可以方便地重用成功的设计和结构。
31、软件系统的可靠性依赖于状态的执行顺序和每一个状态的可靠性。
32、体系结构设计是整个软件生命周期中关键的一环,一般在需求分析之后,软件设计之前进行。
39、构件模型流派包括COBRA、EJB、DCOM。
40、Web服务栈包含以下5个层次:
消息格式层、描述服务层、发现服务层、编码格式层、传输协议层。
41、和Web服务密切相关的协议和语言中:
包括SOAP、WSDL、UDDI
42、体系结构设计是整个软件生命周期中关键的一环,一般在需求分析之后,软件设计之前进行。
43、面向对象的组装技术包括构造法和子类法。
44、事实上,软件总是有体系结构的,不存在没有体系结构的软件。
45、软件重用是指重复使用已有的软件产品用于开发新的软件系统,以达到提高软件系统的开发质量与效率,降低开发成本的目的。
46、在设计层次,大多数模式只需要适当的编程语言的抽象机制,如模块或数据抽象。
因此,可以用几乎所有的编程范例,并在所有的编程语言中来实现模式。
51、软件危机是指计算机软件的开发和维护过程中所遇到的一系列严重问题。
52、软件重用是指在两次或多次不同的软件开发过程中重复使用相同或相近软件元素的过程
53、软件体系结构风格描述某一特定领域中系统组织方式的惯用模式。
54、SOAP简单对象访问协议,SOAP是一个基于XML的,在松散分布式环境中交换结构化信息的轻量级协议。
55、设计模式是一些设计面向对象的软件开发的经验总结,是系统的命名、解释、和评价某一个重要的面向对象的可重现的面向对象的设计方案。
56、纵观软件体系结构技术的发展过程,从最初的“无结构”设计到现在的基
于体系结构的软件开发,可以认为经历了哪四个阶段?
答:
(1)“无体系结构”设计阶段。
以汇编语言进行小规模应用程度开发为特征。
(2)萌芽阶段。
出现了程序结构设计主题,以控制流图和数据流图构成软件结构为特征。
(3)初期阶段。
出现了从不同侧面描述系统的结构模型,以UML为典型代表。
(4)高级阶段。
以描述系统的高层抽象结构为中心,不关心集体的建模细节,划分了体系结构模型与软件结构的界限,该阶段以kruchten,提出了4+1模型为标志,由于概念沿不统一,描述规范也不能达成一致认识,因此在软件开发实践中软件体系结构尚不能发挥重要作用。
57、试阐述与C/S体系结构相比,B/S体系结构的不足之处
答:
(1)B/S体系结构缺乏对动态页面的支持能力,没有集成有效的数据库处理功能;
(2)B/S体系结构的系统扩展能力差,安全性难以控制;(3)采用B/S体系结构的应用系统,在数据查询等响应速度上,要远远的地低于C/S体系结构;(4)B/S体系结构的数据提交一般以页面为单位,数据的动态交互不强,不利于在线事务处理应用。
58、管道过滤器风格有哪些特点?
答:
(1)使得软件具有良好的隐蔽性和高内聚、低耦合的特点;
(2)允许设计者将整个系统的输入/输出行为看成是多个过滤器的行为的简单合成;(3)支持软件重用;(4)系统维护和增强性能简单;(5)允许对一些吞吐量、死锁属性的分析;(6)支持并行执行。
但是,这样的系统也存在着若干不利因素。
(1)通常导致进程成为批处理的结构。
这是因为虽然过滤器右增车式地处理数据,但它们是独立的,所以设计者必须将每个过滤器看成一个完整的从输入到输出的转换。
(2)不适合处理交互的应用。
当需要增量地显示改变时,这个问题尤为严重。
(3)因为在数据传输上没有通用的标准,每个过滤器都增加了解析和合成数据的工作,这样就导致了系统性能下降,并增加了编写过滤器的复杂性。
59、什么是设计模式?
它与风格、框架有什么区别联系?
设计模式是对通用设计问题的重复解决方案。
软件体系结构风络是描述某一特定应用领域中系统组织方式的惯用模式。
软件框架是整个或部分系统可重用设计。
模式经框架更加抽象,框架是模式的特例化,设计模式被实现成为框架后,可以极大的减轻从设计到实现的鸿沟,利用了模式的框架比没有利用模式的框架更容易理解、更能被设计与实现重用,通常成熟的框架包含了多种设计模式,一个框架不仅可以具体实现一个模式,还可以具体的实现多个模式,设计模式与风格两者这近义词,通常情况下可以互相通用,风格主要是指大的,宏观设计。
模式既可宏观,又可微观。
60、WSDL是一种XML格式,用于将网络服务描述为一组端点,这些端点对包含面向文档或面向过程信息的消息进行操作。
61、构件是指语义完整、语法正确和有可重用价值的单位软件。
62、软件体系结构:
软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成。
63、软件重用是指在两次或多次不同的软件开发过程中重复使用相同或相近软件元素的过程。
64、ABSD是指基于体系结构的软件设计,它为软件系统的概念体系结构提供构造方法。
65、什么是MVC模式,其优缺点分别是什么?
MVC是一种交互界面组织结构模型,用它把系统的组成分解为模型、视图和控制三种构件。
优点:
(1)可以支持多个视图。
因为视图与模型分离,可以为一个模型提供多个视图。
(2)方便对视图的更改。
因为模型不依赖于视图,因此对视图的更改不影响模型。
缺点:
(1)增加了复杂性。
MVC模式引入了新的间接级别,因此增加了解决方案的复杂性。
还增加了用户界面代码的事件驱动特性,调试用户界面代码会变得更加困难。
(2)增加了频繁更新的成本。
66、试述Web服务模型的组成和相关操作
67、异构结构中“内外有别”模型和“查改有别”模型的含义和特点分别是什么?
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 体系 期末 复习 终结