当前位置:文档之家› 软件体系期末复习终结版

软件体系期末复习终结版

第一章软件体系结构概论一、软件危机的表现:①软件成本日益增长②开发进度难以控制③软件质量差④软件维护困难二、软件危机的原因:①用户需求不明确②缺乏正确的理论指导③软件规模越来越大④软件复杂度越来越高三、如何克服软件危机:①人们面临的不光是技术问题,更重要的是管理问题,管理不善必然导致失败。

②要提高软件开发效率,提高软件产品质量,必须采用工程化的开发方法与工业化的生产技术。

③在技术上,应该采用基于重用的软件生产技术;在管理上,应该采用多维的工程管理模式。

软件工程包含的三个要素:方法、工具和过程。

四、构件的定义:构件是指语义完整、语义正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统;结构上,它是语义描述,通讯接口和实现代码的复合体。

五、构件模型的三个主要流派:OMG(对象管理集团)的CORBA(通用对象请求代理结构)SUN的EJB (Enterprise Java Bean)Microsoft的DCOM(分布式构件的对象模型)六、构件获取的途径:①从现有构件中获得符合要求的构件,直接使用或作适应性修改,得到可重用的构件。

②通过遗留工程,将具有潜在重用价值的构件提取出来,得到可重用的构件。

③从市场上购买现成的商业构件(COTS)构件。

④开发新的符合要求的构件。

七、构件管理:1、构件描述2、构件分类与构件库组织3、人员及权限管理构件分类方法:1、关键字分类法2、刻面分类法3、超文本组织法八、构件重用:为了让构件在新的软件项目中发挥作用,库的使用者必须完成以下工作:①检索与提取构件:基于关键字的检索:优点:简单,易于实现;刻面检索法:优点:易于实现相似构件的查找;超文本检索法:优点:用户界面友好;其他......②理解与评价构件③修改构件④构件组装:基于功能的组装技术:构件以子程序/过程/函数形式出现;采用“子程序调用”和“参数传递”的方式将构件组装起来;强内聚,松耦合。

基于数据的组装技术:子程序调用与参数传递;面向数据的设计方法。

面向对象的组装技术:构造法和子类法。

九、软件重用概念:软件重用是指在两次或多次不同的软件开发过程中重复使用相同或相近软件元素的过程。

软件元素包括:程序代码,测试用例,设计文档,设计过程.....十、软件体系的结构的定义:软件体系结构为软件系统提供了一个结构,行为和属性的搞基抽象,由构成系统的元素的描述。

这些元素的相互作用,指导元素集成的模式以及这些模式的约束组成,软件体系结构不仅仅指定了系统的组织结构和拓扑结构。

并且显示系统需求的构成,系统的元素之间的对应关系。

提供了一些设计决策的基本原理。

第二章软件体系结构建模一、根据建模侧重点不同,可以将软件体系结构的模型分为5种:①结构模型最直观,最普遍②框架模型③动态模型④过程模型⑤功能模型二、“4+1”视图模型“4+1”视图模型从5个不同的视角包括逻辑视图、物理视图、开发视图、进程视图和场景视图来描述软件体系结构。

逻辑视图也成为概念视图,主要支持系统功能需求的抽象描述,即系统最终将提供给用户什么样的服务。

开发视图也称为模块视图,主要侧重于软件的组织和管理,软件可以通过程序库或子系统进行组织。

进程视图(过程分解)也称过程视图侧重于系统的运行特性,主要关注一些非功能性的需求(并发性,分布性,系统集成性,容错能力)物理视图:主要考虑如何把软件映射到硬件上,它通常要考虑到系统系能、规模、可靠性等。

场景视图:场景可以看作是那些重要系统活动的抽象,它使4个视图有机联系起来,从某种意义上说场景是最重要的需求抽象。

场景可以用文本表示,也可以用图形表示。

场景视图的作用:a. 以视图为驱动来发现体系结构元素b. 在体系结构设计结束后,此视图承担验证和描述的角色。

三、 体系结构的核心模型由5种元素组成:构件、连接件、配置、端口、角色;其中构件、 连接件、配置是最基本的元素。

构件:具有某种功能的可重用的软件模板单元,表示系统中主要的计算元素和数据存储; 连接件:表示构件之间的交互;配置:表示构件和连接件的拓扑逻辑和约束; 端口:表示构件的外部环境的交互点;角色:定义了该连接件表示的交互参与者。

四、 软件体系结构的生命周期① 软件体系结构的非形式化描述 ② 软件体系结构的规范描述和分析 ③ 软件体系结构的求精及验证 ④ 软件体系结构的实施⑤ 软件体系结构的演化和扩展⑥ 软件体系结构的提供、评价和度量 ⑦ 软件体系结构的终结。

第三章 软件体系结构风格一、软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。

体系结构风格定义了一个系统家族,即一个体系结构定义一个词汇表和一组约束。

词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。

体系结构风格反映了领域中众多系统所共有的结构和语义特性,并描写如何将各个模块和子系统有效地组织成一个完整的系统。

二、通用软件体系结构风格:① 数据流风格(批处理序列,管道/过滤器)② 调用/返回风格(主程序/子程序,面向对象风格,层次结构) ③ 独立构件风格(进程通信,事件系统) ④ 虚拟机风格(解释器,基于规则的系统)⑤ 仓库风格(数据库系统,超文本系统,黑板系统) 管道/过滤器风格优点:① 具有良好的隐蔽性、高内聚、低耦合的特点 ② 简单性③ 支持软件重用④ 具有较强的可维护性和可拓展性⑤ 允许对一些如吞吐量、死锁等属性的分析 ⑥ 支持并行执行 缺点:① 通常导致进程成为批处理的结构软件体系结构配置连接件构件端口角色1:N1:N1:N②不适合处理交互的应用③因为在数据传输上没有通用的标准,每个过滤器都增加了解析和合成数据的工作,这样就导致了系统性能下降,并增加了编写过滤器的复杂性。

三、经典软件体系结构风格①管道和过滤器②数据抽象和面向对象组织③基于事件的隐式调用④分层系统⑤仓库系统及知识库⑥C2风格四、客户/服务器风格C/S体系结构有三个主要组成部分:数据库服务器、客户应用程序和网络。

C/S优点:①C/S体系结构的主要优点在于:系统的客户应用程序和服务器构件分别运行在不同的计算机上,系统中每台服务器都可以适合各构件的要求,这对于硬件和软件的变化显示出极大的适应性和灵活性,而且易于对系统进行扩充和缩小。

②C/S体系结构具有强大的数据操作和事务处理能力,模型思想简单,易于人们理解和接受。

③在C/S体系结构中,系统中的功能构件允许隔离,客户应用程序的开发集中于数据的显示和分析,而数据库服务器的开发则集中于数据的管理,不必再每一个新的应用程序都要对一个DBMS进行编码,将大的应用处理任务分布到许多通过网络连接的低成本计算机上,以节约大量费用。

C/S缺点:①开发成本较高②客户端程序设计复杂③信息内容和形式单一④用户界面风格不一,使用繁杂,不利于推广使用⑤软件移植困难⑥软件维护和升级困难⑦新技术不能轻易使用五、三层C/S增加了一个应用服务器将应用功能分成表示层、功能层和数据层。

六、B/S和C/S混合异构风①内外有别(内部C/S;外部B/S)②查改有别(维护修改C/S;查询B/S)七、DSSA的基本活动(特定领域软件体系结构)领域分析;领域设计;领域实现八、正交软件体系结构:正交软件体系结构由组织层和线索的构建构成。

层是由一族具有相同抽象级别的构件构成。

线索是子系统的特例。

由完全不同层次动能的构建组成。

(画图)正交软件体系结构特点:1.正交软件体系结构由完全不同功能的n(n>1)个线索组成2.系统具有m(m>1)个不同抽象级别的层3 .线索之间是相互独立的4.系统有一个公共驱动和公共数据结构。

正交软件体系结构的优点:1.结构清晰易于理解2.易修改维护性强3.可移植性强重用粒度大4章、软件体系结构描述一、软件体系结构的描述和表达图像表达工具(主要符号:矩形框+有向线段);模块内连接语言;基于软构件的系统描述语言;软件体系结构描述语言二、ADL是在底层语义模型的支持下为软件系统的概念体系结构建模提供了具体语法和概念框架。

基于底层语义的工具为体系结构的表示、分析、演化、细化、设计过程等提供支持。

体系结构描述语言ADL的三个基本元素是:构件、连接件和体系结构配置。

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

第五章动态软件体系结构一、由于系统需求、技术、环境、分布等因素的变化而最终导致软件体系结构的变化,称之为软件体系结构演化,运行时刻的变动称为体系结构的动态性、静态修改称为结构的扩展。

二、基于构件的动态系统结构模型支持运行系统的动态更新,分为三层:应用层、中间层和体系结构层。

三、更新执行步骤:①检测更新的范围②更新准备工作③执行更新④存储更新四、动态软件体系结构概念体系结构的动态性:交互式动态性;结构化动态性;体系结构动态性根据所要修改的不同内容,软件体系结构的动态演化主要包括四个方面:属性改变;行为改变;拓扑结构改变;风格改变。

动态软件体系结构用处主要研究方向:1、研究模拟和描述体系结构动态更新的语言,2.研究支持体系结构动态更新的执行工具。

五、更新分为局部更新和全局更新局部更新只涉及中间层和应用层;全局更新涉及三个层。

第六章 web服务体系结构一、Web服务是使用标准技术在Internet上运行的商务流程,它可以使用标准的Internet协议将功能纲领性地体现在Internet和Intranet(企业内部网)上。

二、Web服务特点:使用标准协议规范;使用协约的规范性;高度集成能力;完好的封装性;松散耦合。

三、Web 服务体系结构模型包括三种逻辑构件:服务提供者,服务代理,服务请求发现updi wsdl 发布 绑定soap定义三种操作:发布、发现、绑定四、web 服务开发生命周期(四个阶段):构建;部署;运行;管理 Web 服务栈: 发现服务层 UDDI ,DISCO 描述服务层 WSDL ,XML ,Schema 消息格式层 SOAP 编码格式层XML传输协议层HTTP 、TCP/IP 、SMTP 等Web 服务体系结构的优势:① 高度的通用性和易用性② 完全的平台,语言的独立性 ③ 高度的集成性 ④ 容易部署和发布Web 服务的核心技术:① 作为web 服务基础的XML ② 简单对象的访问协议 SOAP ③ Web 服务描述语言WSDL④统一描述、发现和集成协议UDDI面向服务的软件体系结构特征:松散耦合;粗粒度服务;标准化接口第七章 基于软件体系结构的软件开发一、设计模式基本成分:模式名称;解决方案;问题;后果。

相关主题