华南理工大学软件体系结构复习提纲_第1页
华南理工大学软件体系结构复习提纲_第2页
华南理工大学软件体系结构复习提纲_第3页
华南理工大学软件体系结构复习提纲_第4页
华南理工大学软件体系结构复习提纲_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

1、1. 理解并比较构件分类的三种方法,如何在其中检索构件?每种方法各有什么优缺点?分类方法方法描述基于分类方法的检索优缺点关键字分类法根据领域分析的结果将应用领域的概念按照从抽象到具体的顺序逐次分解为树形或有向无回路图结构,每个概念用一个描述性的关键字表示,不可分解的原子级关键字包含隶属于它的某些构件。系统在图形用户界面上将构件库的关键字树形结构直观地展示给用户,用户通过对树形结构的逐级浏览寻找需要的关键字并提取相应的构件。简单,易于实现,但在某些场合没有应用价值。刻面分类法主要思想来源于图书馆学,定义若干用于刻画构件特征的“面”,每个面又通过若干概念表述构件在面上的特征。描述构件刻面的集合称为

2、构件描述符。用户提供要查找的构件在每个刻面上的特征,生成构件描述符,计算机辅助软件工程工具在构件库中寻找相同或相近的构件描述符及相应的构件,并按相似程度排序,同时还可以按照与重用有关的度量信息排序。易于实现相似构件的查找,但用户在构造查询时比较麻烦。超文本组织方法所有构件必须辅以详尽的功能或行为说明文档;说明中出现的重要概念或构件以网状链接方式相互链接;检索者在阅读文档的过程中可按照人类的联想思维方式任意跳转到包含相关概念或构件的文档;全文检索系统将用户给出的关键字说明文档中的文字进行匹配,实现构件的浏览式检索。用户首先给出一个或数个关键字,系统在构件的说明中进行精确的或模糊的语法匹配,匹配成

3、功后,向用户列出相应的构件说明。构件说明是含有许多超文本结点的正文,用户阅读这些正文时可实现多个构件说明文档之间的自由跳转,最终选择合适的构件。为构造构件和重用构件提供了友好,直接的多媒体方式,易于修改构件库的结构。但在某些情况下用户难以在超文本浏览过程中正确选取构件。2. 详细了解什么是web服务体系结构?web服务(web service)是基于xml和https的一种服务,其通信协议主要基于soap,服务的描述通过wsdl,通过uddi来发现和获得服务的元数据。web services技术的主要目标就是在现有的各种异构平台的基础上构筑一个通用的平台无关、语言无关的技术层,各种不同平台之上

4、的应用依靠这个技术层来实施彼此的连接和集成。(1)web服务模型:一个完整的web服务包括三种逻辑构件:服务提供者、服务代理和服务请求。与web服务相关的操作有发布、发现和绑定。(2)web服务协议栈层次协议作用发现服务层uddi(统一描述,发现和集成协议)解决在哪里,怎么获得服务信息的问题(主要用来帮助客户端解析远程服务的位置)描述服务层wsdl(web服务描述语言)解决web服务怎么描述的问题(为客户端提供正确地与远程服务交互的描述信息)消息格式层soap(简单对象访问协议)解决消息怎么传输的问题(5端在格式设置上保持一致)编码格式层xml(可扩展标记语言)解决数据怎么表示的问题(为客户端

5、和服务器之间提供一个标准的、独立于平台的数据交换编码格式)传输协议层http(超文本传输协议) smtp(简单邮件传输协议)解决消息怎么传输的问题(为客户端和服务器之间提供交互的网络通信协议)3. 引入了软件体系结构以后,传统软件过程发生了哪些变化?这种变化有什么好处?软件体系结构的引入使软件设计开发更加具体和形象,它的模型更使得软件过程更加方便和多样化。其好处在于:包括程序员在内的绝大多数系统的利益相关人员都借助软件体系结构来进行彼此理解、协商、达成共识或者相互沟通的基础,软件体系结构的模型可以应用到具有相似质量属性和功能需求的系统中,并能够促进大规模软件的系统级复用,在很多方面使得软件开发

6、更加人性化。4. adl侧重于构件、连接件和风格组成的动态软件体系结构,请用adl对你熟悉的一个简单系统结构或其一部分进行描述。(客户/服务器规约)5. 比较继承方式和类的聚合方式的优缺点。聚合:一个对象包含另一个对象或是另一个对象的一部分,并且被包含对象和其所有具有相同的生命周期,即所谓的“同生共死”的关系。l 优点Ø 容器类仅能通过被包含对象的接口来对其进行访问Ø 黑盒重用,因为被包含对象的内部细节是不可见的Ø 很好的封装性,每个类专注于一个任务Ø 通过获得和被包含对象的类型相同的对象引用,可以在运行时动态定义聚合的方式l 缺点Ø 导致系统

7、的对象过多Ø 为了使聚合时可以使用不同的对象,必须小心的定义接口继承:是一种通过扩展一个已有对象实现的,从而获得新功能的复用方法。基类有通用的属性和方法子类提供更多的属性和方法来扩展基类。l 优点:Ø 新的实现很容易,因为大部分是继承来的Ø 很容易修改和扩展已有的实现l 缺点:Ø 破坏了封装性, 因为这会将父类的实现细节暴露给子类 Ø 白盒复用, 因为父类的内部细节对于子类而言通常是可见的 Ø 当父类的实现更改时, 子类也不得不随之更改 Ø 从父类继承来的实现将不能在运行期间进行改变6. 详细了解所讲过的设计模式. 设计模式

8、是指在软件开发中,经过验证的、用于解决在特定环境下、重复出现的、特定问题的解决方案。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。装饰模式定义:动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式相比生成子类更为灵活。设计原则:1. 多用组合,少用继承。2. 类应设计的对扩展开放,对修改关闭。要点:1 装饰者和被装饰对象有相同的超类型。2 可以用一个或多个装饰者包装一个对象。3 装饰者可以在所委托被装饰者的行为之前或之后,加上自己的行为,以达到特定的目的。4 对象可以在任何时候被装饰,所以可以在运行时动态的,不限量的用你喜欢的装饰者来装饰对象。5 装饰模式中使用

9、继承的关键是想达到装饰者和被装饰对象的类型匹配,而不是获得其行为。6装饰者一般对组件的客户是透明的,除非客户程序依赖于组件的具体类型。在实际项目中可以根据需要为装饰者添加新的行为,做到“半透明”装饰者。7 适配器模式的用意是改变对象的接口而不一定改变对象的性能,而装饰模式的用意是保持接口并增加对象的职责。优点:1. decorator模式与继承关系的目的都是要扩展对象的功能,但是decorator可以提供比继承更多的灵活性。2. 通过使用不同的具体装饰类以及这些装饰类的排列组合,设计师可以创造出很多不同行为的组合。缺点:1. 这种比继承更加灵活机动的特性,也同时意味着更加多的复杂性。2. 装饰

10、模式会导致设计中出现许多小类,如果过度使用,会使程序变得很复杂。3. 装饰模式是针对抽象组件(component)类型编程。但是,如果你要针对具体组件编程时,就应该重新思考你的应用架构,以及装饰者是否合适。7. 对一个你曾经开发过的软件系统进行考虑,请用一种adl对其体系结构进行描述acme 对c/s体系结构的描述在acme中,体系架构用7中核心实体表示:构件、系统、端口、角色、表示、rep-maps。8. 结合具体项目采用软件体系结构风险分析方法进行评估。整个atam(架构权衡分析方法)评估过程包括九个步骤,按其编号顺序分别是:1) 描述atam方法2) 描述商业动机3) 描述体系结构4)

11、确定体系结构方法5) 生成质量属性效用树6) 分析体系结构方法7) 讨论和分级场景8) 分析体系结构方法(是第六步的重复)9) 描述评估结果。*补充题型*补充题型*9. 软件体系结构的分析与测试风险评估对于任何软件风险管理计划都是一个重要的过程。风险评估应该是基于能够通过定量的方法对软件产品属性进行的度量。体系结构级的风险评估是基于动态的方法。该方法用动态复杂性和动态耦合性来定义用于描述体系结构元素的复杂性因子。动态耦合度是用来度量在特定的执行场景中,两个互相连接的构件或连接件之间的活跃程度。动态复杂度方法是用来测量特定构件在给定场景下的动态行为。构件依赖图(cdg)是用于在体系结构级进行可靠

12、性分析的概率模型;它是控制流图的扩展。分析方法的主要步骤:1. 采用adl对体系结构进行建模。2. 通过模拟方法执行复杂性分析。3. 通过fmea(失效模型和影响分析)和模拟运行执行严重性分析。4. 为构件和连接件开发启发式风险因子。5. 建立用于风险评估的cdg。6. 通过图论中的算法执行风险评估和分析。10. 软件体系结构建模 软件体系结构建模的种类有5种:结构模型,框架模型,动态模型,过程模型,功能模型 “4+1”模型概述 “4+1”视图模型从5个不同的视角包括逻辑视图、进程视图、物理视图、开发视图和场景视图来描述软件体系结构。 每一个视图只关心系统的一个侧面,5个视图结合在一起才能反映

13、系统的软件体系结构的全部内容。 逻辑视图主要支持系统的功能需求,即系统提供给最终用户的服务。开发视图也称模块视图,主要侧重于软件模块的组织和管理。进程视图侧重系统的运行特性,关注非功能性的需求。物理视图主要考虑如何把软件映射到硬件上,它通常要考虑到系统性能、规模、可靠性等。解决系统拓扑结构、系统安装、通讯等问题。场景可以看作是那些重要系统活动的抽象,它使四个视图有机联系起来,从某种意义上说场景是最重要的需求抽象。11. 软件体系结构风格软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。管道和过滤器 每个构件都有一组输入和输出,构件读输入的数据流,经过内部处理,然后产生输出数据流。这个过程通常通过对输入流的变换及增量计算来完成,所以在输入被完全消费之前,输出便产生了。 这里的构件被称为过滤器,这种风格的连接件就象是数据流传输的管道,将一个过滤器的输出传到另一过滤器的输入。优点 使得软构件具有良好的隐蔽性和高内聚、低耦合的特点; 允许设计者将整个系统的输入/输出行为看成是多个过滤器的行为的简单的叠加和组合,可以将问题分解,化繁为简; 支持软件重用。任何两个过滤器,只要它们之间传送的数据遵守共同的规约就可以相连接; 系统维护和增强系统性能简单。新的过滤器可以添加到现有系统中来;旧的可以被改进的过滤器替

温馨提示

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

评论

0/150

提交评论