软件体系期末复习终结版_第1页
软件体系期末复习终结版_第2页
软件体系期末复习终结版_第3页
软件体系期末复习终结版_第4页
软件体系期末复习终结版_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一章软件体系结构概论、软件危机的表现:软件成本日益增长开发进度难以控制软件质量差软件维护困难、软件危机的原因:用户需求不明确缺乏正确的理论指导软件规模越来越大软件复杂度越来越高三、如何克服软件危机 人们面临的不光是技术问题,更重要的是管理问题,管理不善必然导致失败。 要提高软件开发效率,提高软件产品质量,必须采用工程化的开发方法与工业化的 生产技术。 在技术上,应该采用基于重用的软件生产技术;在管理上,应该采用多维的工程管理模式。软件工程包含的三个要素:方法、工具和过程。四、构件的定义:构件是指语义完整、语义正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统;结构上,它是语义描

2、述,通讯接口和实现代码的复合体。五、构件模型的三个主要流派:OMG (对象管理集团)的CORBA (通用对象请求代理结构)SUN的EJB(En terprise Java Bean)Microsoft的DCOM (分布式构件的对象模型)六、构件获取的途径: 从现有构件中获得符合要求的构件,直接使用或作适应性修改,得到可重用的构 件。 通过遗留工程,将具有潜在重用价值的构件提取出来,得到可重用的构件。 从市场上购买现成的商业构件(COTS)构件。 开发新的符合要求的构件。七、构件管理:1、构件描述 2、构件分类与构件库组织3、人员及权限管理构件分类方法:1、关键字分类法 2、刻面分类法 3、超文

3、本组织法八、构件重用:为了让构件在新的软件项目中发挥作用,库的使用者必须完成以下工作: 检索与提取构件:基于关键字的检索:优点:简单,易于实现; 刻面检索法:优点:易于实现相似构件的查找; 超文本检索法:优点:用户界面友好;其他 理解与评价构件 修改构件 构件组装:基于功能的组装技术:构件以子程序/过程/函数形式出现;采用“子程序调用”和“参数传递”的方式将构件组装起来;强内聚,松耦合。基于数据的组装技术:子程序调用与参数传递;面向数据的设计方法。面向对象的组装技术:构造法和子类法。九、软件重用概念:软件重用是指在两次或多次不同的软件开发过程中重复使用相同或相近软件 元素的过程。软件元素包括:

4、程序代码,测试用例,设计文档,设计过程十、软件体系的结构的定义: 软件体系结构为软件系统提供了一个结构,行为和属性的搞基抽象,由构成系统的元素的描述。这些元素的相互作用, 指导元素集成的模式以及这些模式的约束组成,软件体系结构不仅仅指定了系统的组织结构和拓扑结构。并且显示系统需求的构成,系统的元素之间的对应关系。提供了一些设计决策的基本原理。第二章软件体系结构建模、根据建模侧重点不同,可以将软件体系结构的模型分为5种:结构模型最直观,最普遍框架模型动态模型过程模型功能模型二、“ 4+1 ”视图模型“4+1 ”视图模型从5个不同的视角包括逻辑视图、物理视图、开发视图、进程视图和场景视图来描述软件

5、体系结构。最终用户功能需求编程人员软件管理nrir允性.吞吐加第拓扑、安裝.通信箸逻辑视图也成为概念视图,主要支持系统功能需求的抽象描述,即系统最终将提供给用 户什么样的服务。开发视图也称为模块视图,主要侧重于软件的组织和管理,软件可以通过程序库或子系 统进行组织。进程视图(过程分解)也称过程视图侧重于系统的运行特性,主要关注一些非功能性的需求(并发性,分布性,系统集成性,容错能力)物理视图:主要考虑如何把软件映射到硬件上,它通常要考虑到系统系能、规模、可靠场景视图:场景可以看作是那些重要系统活动的抽象,它使4个视图有机联系起来,从某种意义上说场景是最重要的需求抽象。场景可以用文本表示,也可以

6、用图形表示。场景视图的作用:a. 以视图为驱动来发现体系结构元素b. 在体系结构设计结束后,此视图承担验证和描述的角色。构件、连接件、配置、端口、角色;其中构三、体系结构的核心模型由 5种元素组成:件、连接件、配置是最基本的元素。表示系统中主要的计算元素和数据存储;表示构件和连接件的拓扑逻辑和约束; 表示构件的外部环境的交互点; 定义了该连接件表示的交互参与者。软件体系结构的生命周期软件体系结构的非形式化描述 软件体系结构的规范描述和分析 软件体系结构的求精及验证 软件体系结构的实施 软件体系结构的演化和扩展 软件体系结构的提供、评价和度量 软件体系结构的终结。构件:具有某种功能的可重用的软件

7、模板单元, 连接件:表示构件之间的交互; 配置 端口 角色四、第三章软件体系结构风格一、 软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。体系结构风格定义了一个系统家族,即一个体系结构定义一个词汇表和一组约束。词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。体系结构风格反映了领域中众多系统所共有的结构和语义特性,并描写如何将各个模块和子系统有效地组织成一个完整的系统。二、通用软件体系结构风格: 数据流风格(批处理序列,管道 /过滤器) 调用/返回风格(主程序/子程序,面向对象风格,层次结构) 独立构件风格(进程通信,事件系统) 虚拟机风格

8、(解释器,基于规则的系统) 仓库风格(数据库系统,超文本系统,黑板系统)管道/过滤器风格优点: 具有良好的隐蔽性、高内聚、低耦合的特点 简单性 支持软件重用 具有较强的可维护性和可拓展性 允许对一些如吞吐量、死锁等属性的分析 支持并行执行缺点: 通常导致进程成为批处理的结构 不适合处理交互的应用 因为在数据传输上没有通用的标准,每个过滤器都增加了解析和合成数据的工作, 这样就导致了系统性能下降,并增加了编写过滤器的复杂性。三、经典软件体系结构风格 管道和过滤器 数据抽象和面向对象组织 基于事件的隐式调用 分层系统 仓库系统及知识库 C2风格四、客户/服务器风格C/S体系结构有三个主要组成部分:

9、数据库服务器、客户应用程序和网络。C/S优点: C/S体系结构的主要优点在于:系统的客户应用程序和服务器构件分别运行在不同的计算机上,系统中每台服务器都可以适合各构件的要求,这对于硬件和软件的变化显示出极大的适应性和灵活性,而且易于对系统进行扩充和缩小。 C/S体系结构具有强大的数据操作和事务处理能力,模型思想简单,易于人们理解和接受。 在C/S体系结构中,系统中的功能构件允许隔离,客户应用程序的开发集中于数据的显示和分析,而数据库服务器的开发则集中于数据的管理,不必再每一个新的应用程序都要对一个DBMS进行编码,将大的应用处理任务分布到许多通过网络连接的低成本计算机上,以节约大量费用。C/S

10、缺点: 开发成本较高 客户端程序设计复杂 信息内容和形式单一 用户界面风格不一,使用繁杂,不利于推广使用 软件移植困难 软件维护和升级困难 新技术不能轻易使用五、三层C/S增加了一个应用服务器 将应用功能分成表示层、功能层和数据层。六、B/S和C/S混合异构风 内外有别(内部 C/S;外部B/S) 查改有别(维护修改 C/S;查询B/S)七、DSSA的基本活动(特定领域软件体系结构)领域分析;领域设计;领域实现八、正交软件体系结构:正交软件体系结构由组织层和线索的构建构成。层是由一族具有相同抽象级别的构件构成。线索是子系统的特例。由完全不同层次动能的构建组成。(画图)正交软件体系结构特点:1.

11、正交软件体系结构由完全不同功能的n (n 1)个线索组成2.系统具有m( m 1)个不同抽象级别的层3 .线索之间是相互独立的4.系统有一个公共驱动和公共数据结构。正交软件体系结构的优点:1 结构清晰易于理解2易修改维护性强3.可移植性强重用粒 度大4章、软件体系结构描述一、软件体系结构的描述和表达图像表达工具(主要符号:矩形框 +有向线段);模块内连接语言;基于软构件的 系统描述语言;软件体系结构描述语言二、ADL是在底层语义模型的支持下为软件系统的概念体系结构建模提供了具体语 法和概念框架。基于底层语义的工具为体系结构的表示、分析、演化、细化、设计过程 等提供支持。体系结构描述语言 ADL

12、的三个基本元素是:构件、连接件和体系结构配置。主要的体系结构描述语言有:Aesop、MetaH、C2、Rapide、SADL、Unicon 和 Wright 等ADL与其他语言的比较:构造能力;抽象能力;重用能力;组合能力;异构能力;分析和推理能力Unicon:关注软件体系结构化特征支持异构;C2:是用于图形界面(GUI)密集系统的软件体系结构,实例会议安排系统; 为了更好的使用 ADL,一个配套的开发环境,提供以下工具:创建和浏览设计 的图形化编辑体系结构的一致性检查,代码生成器,模式仓储等。第五章动态软件体系结构一、由于系统需求、技术、环境、分布等因素的变化而最终导致软件体系结构的变化,称

13、之为软件体系结构演化,运行时刻的变动称为体系结构的动态性、静态修改称为结构的扩展。二、 基于构件的动态系统结构模型支持运行系统的动态更新,分为三层:应用层、中间 层和体系结构层。三、更新执行步骤:检测更新的范围更新准备工作执行更新存储更新四、动态软件体系结构概念体系结构的动态性:交互式动态性;结构化动态性;体系结构动态性根据所要修改的不同内容,软件体系结构的动态演化主要包括四个方面:属性 改变;行为改变;拓扑结构改变;风格改变。动态软件体系结构用处主要研究方向:1、研究模拟和描述体系结构动态更新的语言,2研究支持体系结构动态更新的执行工具。五、更新分为局部更新和全局更新局部更新只涉及中间层和应

14、用层;全局更新涉及三个层。第六章 web服务体系结构一、Web服务是使用标准技术在In ternet上运行的商务流程,它可以使用标准的In ternet 协议将功能纲领性地体现在In ternet 和Intran et (企业内部网)上。二、Web服务特点:使用标准协议规范;使用协约的规范性;高度集成能力;完好的封 装性;松散耦合。三、Web服务体系结构模型包括三种逻辑构件:服务提供者,服务代理,服务请求定义三种操作:发布、发现、绑定四、web服务开发生命周期(四个阶段):构建;部署;运行;管理Web服务栈:发现服务层UDDI,DISCO描述服务层WSDL,XML,Schema消息格式层SOA

15、P编码格式层XML传输协议层HTTP、TCP/IP、SMTP 等Web服务体系结构的优势: 高度的通用性和易用性 完全的平台,语言的独立性 高度的集成性 容易部署和发布Web服务的核心技术: 作为web服务基础的XML 简单对象的访问协议SOAP Web服务描述语言 WSDL 统一描述、发现和集成协议 UDDI面向服务的软件体系结构特征:松散耦合;粗粒度服务;标准化接口第七章基于软件体系结构的软件开发一、设计模式基本成分:模式名称;解决方案;问题;后果。二、设计模式:所谓设计模式,简单的理解是一些设计面向对象的的软件开发的经验总结,一个设计模式事实上是系统的命名,解释和评价某一个重要的可重现的

16、面向对对象的设计方案。 研究方向:设计模式与其他面向对象设计方法的关系三、模式和软件体系结构关系: 模式作为体系结构构造块 构造异构体系结构 模式和方法 实现模式第八章软件体系结构的分析和测试一、风格模型:顺序结构风格;并行 /管道-过滤器结构风格;容错结构风格;调用 -返回 结构风格二、软件体系结构测试的内容准则? 内容:构件端口行为与连接件约束是否一致、兼容,单元间的消息是否一致、 可达,相关端口是否可连接。体系结构是否可满足 准则:测试应覆盖所有的构件及各个构件的接口、各个连接件的接口、 构件之间的直接连接,构件之间的间接连接第九章软件体系结构评估一、 系统质量属性:性能;可靠性(容错,

17、健壮性);可用性;安全性;可修改性;功 能性;可变性;集成性;互操作性二、主要评估方式: 基于调查问卷或检查表的评估方式(主观) 基于场景的评估方式(基于特定领域) 基于度量的评估方式(客观和量化的质量评估)比较:评估方式调杳问卷或检杳表场景度量调杳冋卷检查表通用性通用特定领域特定系统通用或特定领域评估者对体系结 构的了解程度粗略了解无限制中等了解精确了解实施阶段早中中十中:客观性主观主观较主观较客观三、ATAM (体系结构权衡分析方法)评估方法使用ATAM方法对软件体系结构进行评估的目标是理解体系结构关于系统的质量属性需求 决策的结果步骤: 描述ATAM方法 描述商业动机 描述体系结构 确定

18、体系结构的方法 生成质量属性效用树 分析体系结构方法 讨论和分级场景 分析体系结构方法 描述评估结构四、SAAM (软件体系结构分析方法)评估方法步骤: 形成场景 描述体系结构 对场景进行分类和确定优先级 对间接场景进行单个评估 评估场景的相互作用 形成总体评估 SAAM评估日程安排ATAM、SAAM都是基于场景的评估方式。十章软件产品线的基本概念是什么?产品线是一个产品集合,这些产品共享一个公共的,可管理的特征集。 这个特征集能满足选定的市场或任务领域的特定需求,这些系统遵循 一个预描述的方法,在公共的核心资源基础上开发。产品线的特点:1过程驱动2特定领域3技术支持4体系结构中心1、软件元素

19、包括程序代码、测试用例、设计文档、设计过程、需求分析文档、甚至领域知识。2、软件工程包括3个要素方法、工具、过程。3、 采用层次式软件体系结构,将产品的系统构件模型定义为4个层次,分别为:系统构件层、通用类构件层、业务构件层、表现层。4、三层C/S结构风络是由_表示层、功能层、数据层 三个层次构成。5、层次系统最广泛的应用是分层通信协议。6、Web服务开发生命周期分为 构建、部署、运行、管理 四个阶段。7、 MVC模式的中的 M, V,C分别对应 Mode View、Controller 三个单词。8、ABSD方法取决于决定系统的体系结构驱动, 所谓体系结构驱动,是指构成体系结构的业务、质量、

20、功能需求。9、后果描述应用设计模式后的 结果、权衡。10、软件过程是人们建立、维护和进化软件产品整个过程中所有技术活动和管理活动的集合。11、基于体系结构的软件开发模型(ABSDM将软件开发过程划分为体系结构需求、设计、文档化、复审、实现、演化 等六个子过程。12、浏览器/服务器(B/S)风格是三层应用结构的一种实现方式,其具体 结构分为浏览器、Web!务器、数据库服务器三个部分。13、软件体系结构设计的核心问题是能否使用重复的体系结构模式,即能 否达到体系结构级的软件重用 。14、构件分类方法可以归纳为三大类,分别是 关键字分类法、刻面分类法、 超文本组织方法。15、大量使用构件,软件的灵活

21、性和标准化程度也能得到提高。16、功能分组可选择的标准包括 功能聚合、功能的局部性、数据或计算行 为的类似模式、数据类似的抽象级别 等四个。17、 面向对象已经成为软件开发的主流思想,以演化和增量方法为基础 的迭代开发过程已经成为面向对象开发过程的标准。18、框架是从特定域中提取出来的一组组件及其相互关系的可重用的体系 结构。19、软件危机的原因:20、在三层C/S体系结构中,中间件是最重要的构件。21、通常,一个 Web服务可以分为四个逻辑层,分别为 数据层、数据访问层、业务层、监听者。离客户最远的是数据层22、同传统分布式体系结构相比,Web服务体系结构的主要优势体现为高 度的通用性和易用

22、性、完全的平台、语言独立性、高度的集成性、容易 部署和发布23、 一般来说,模式有以下四个基本成分:模式名称、问题、解决方案、效果24、软件体系结构设计过程:提出软件体系结构模型、把已标识的构件映 射到软件体系构件中、分析构件之间的相互作用、产生软件体系结构、 设计评审25、软件重用是指重复使用已有的软件产品用于开发新的软件系统,以达 到提高软件系统的开发质量与效率,降低开发成本的目的。26、软件体系结构充当一个理解系统构件和它们之间关系的框架,特别是 那些始终跨越时间和实现的属性27、基于事件的隐式调用风格的思想是构件不直接调用一个过程,而是触 发或广播一个或多个事件。29、SOA莫型具有松

23、散耦合、粗粒度服务、标准化接口 等特征。30、利用设计模式可以方便地重用成功的设计和结构。31、软件系统的可靠性依赖于状态的执行顺序和每一个状态的可靠性。32、体系结构设计是整个软件生命周期中关键的一环,一般在需求分析之 后,软件设计之前进行。39、构件模型流派包括COBRAEJB DCO。40、Web务栈包含以下5个层次:消息格式层、描述服务层、发现服务层、 编码格式层、传输协议层。41、和Web服务密切相关的协议和语言中:包括 SOAP WSDL UDDI42、体系结构设计是整个软件生命周期中关键的一环,一般在需求分析之 后,软件设计之前进行。43、面向对象的组装技术包括构造法和子类法。4

24、4、事实上,软件总是有体系结构的,不存在没有体系结构的软件。45、软件重用是指重复使用已有的软件产品用于开发新的软件系统,以达 到提高软件系统的开发质量与效率,降低开发成本的目的。46、在设计层次,大多数模式只需要适当的编程语言的抽象机制,如模块 或数据抽象。因此,可以用几乎所有的编程范例,并在所有的编程语言 中来实现模式。51、软件危机是指计算机软件的开发和维护过程中所遇到的一系列严重问 题。52、软件重用是指在两次或多次不同的软件开发过程中重复使用相同或相 近软件元素的过程53、软件体系结构风格描述某一特定领域中系统组织方式的惯用模式。54、SOAR简单对象访问协议,SOAP是一个基于XM

25、L的,在松散分布式环境 中交换结构化信息的轻量级协议。55、设计模式是一些设计面向对象的软件开发的经验总结,是系统的命名、 解释、和评价某一个重要的面向对象的可重现的面向对象的设计方案。56、纵观软件体系结构技术的发展过程,从最初的“无结构”设计到现在的基 于体系结构的软件开发,可以认为经历了哪四个阶段?答:(1) “无体系结构”设计阶段。以汇编语言进行小规模应用程度开发为特征。(2)萌芽阶段。出现了程序结构设计主题,以控制流图和数据流图构成软件结 构为特征。(3)初期阶段。出现了从不同侧面描述系统的结构模型,以UML为典型代表。(4)高级阶段。以描述系统的高层抽象结构为中心,不关心集体的建模

26、 细节,划分了体系结构模型与软件结构的界限,该阶段以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)因

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论