软件体系结构.docx
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 体系结构
- 资源描述:
-
第一章 !构件的组成是什么?构件的特点是什么? 组成:语义描述+通讯接口+实现代码 特点:语义完整+语法正确+有可重用价值 !构件开发的目的是重用,简述构件库的使用者必须完成的工作。 检索与提取构件 、理解与评价构件、修改构件、构件组装。 青鸟构件模型:刻面检索法;是由北京大学杨芙清院士等人提出的,它充分吸收了通用对象请求代理结构,分布式对象构建模型,EJB等模型的优点并与它们相容,青鸟构建模型由外部接口与内部结构两部分。 构件分类:独立而成熟、有限制、适应性、装配、可修改 构件与软件重用:软件重用是指在两次或多次不同的软件开发过程中重复使用相同或相近软件元素的过程。 软件元素包括程序代码、测试用例、设计文档、设计过程、需求分析文档甚至领域知识。这些可重用的元素称做软构件,简称构件 由于构件大都经过严格的质量认证,并在实际运行环境中得到检验,因此,重用构件有助于改善软件质量 构件模型及实现:构件是指语义完整、语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统;结构上,它是语义描述、通信接口和实现代码的复合体。简单地说,构件是具有一定的功能,能够独立工作或能同其它构件装配起来协调工作的程序体。构件模型是对构件本质特征的抽象描述。 构件获取:在建立基于构件的软件开发(component-based software development, CBSD)中,构件获取可以有多种不同的途径:从现有构件中获得符合要求的构件,直接使用或作适应性修改,得到可重用的构件;通过遗留工程,将具有潜在重用价值的构件提取出来,得到可重用的构件;从市场上购买现成的商业软件,即CTOS(commerical off-the-shell)构件;开发新的符合要求的构件;;一个组织在进行以上决策时,必须考虑到不同方式获得构件的一次性成本和以后的维护成本,然后做出最优的选择 构建管理:对大量的构件进行有效的管理,以方便构件的存储、检索和提取,是成功重用构件的必要保证。构件管理的内容包括构建描述、构建分类、构件库组织、人员及权限管理和用户意见反馈等。 体系结构的定义:软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成。软件体系结构不仅指定了系统的组织结构和拓扑结构,并且显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。 第二章 1、软件体系结构模型分为5种: 结构模型-核心是体系结构描述语言ADL;框架模型-更侧重于整体的结构;动态模型-研究系统的“大颗粒”的行为性质。例如,描述系统的重新配置或演化。过程模型-构造系统的步骤和过程;功能模型-体系结构是由一组功能构件按层次组成,下层向上层提供服务 第三章 经典的软件体系结构风格:数据流风格:批处理序列;管道/过滤器。调用/返回风格:主程序/子程序;面向对象风格;层次结构。独立构件风格:进程通讯;事件系统。虚拟机风格:解释器;基于规则的系统。仓库风格:数据库系统;超文本系统;黑板系统。 4个阶段:需求分析-建立软件体系结构-设计-实现;需要全面考虑多方面因素;合适的软件体系结构风格;对于同一个问题,可以有多种设计结果;是在各种制约条件下取得的较好折衷方案;科学+经验+艺术 体系结构的生命周期:软件体系结构的非形式化描述。使用自然语言表示相关概念和原则;软件体系结构的规范化描述与分析。使用合适的理论模型精确、无歧义描述软件体系结构;软件体系结构的求精与验证。大型系统的体系结构总是从抽象到具体,逐步求精而得到的;软件体系结构的实施。将求精后的软件体系结构应用于系统设计过程中,形成系统的设计框架; 面向对象的系统的应用场合:面向对象的体系结构模式适用于数据和功能分离的系统中;也适用于问题域模型比较明显;或需要人机交互界面的系统;大多数应用事件驱动风格的系统也常常应用了面向对象风格 3层C/S:表示层是应用的用户接口部分,担负着用户与应用间的对话功能。它用于检查用户从键盘等输入的数据,显示应用输出的数据;功能层相当于应用的本体,它是将具体的业务处理逻辑编入程序中。通常,在功能层中包含确认用户对应用和数据库存取权限的功能以及记录系统处理日志的功能;数据层就是数据库管理系统,负责管理对数据库数据的读写 !C/S体系结构风格的优点有哪些?三层CS风格相较两层CS风格有哪些优点? (1)C/S 体系结构具有强大的数据操作和事务处理能力,模型思想简单,易于人们理解和接受。(2)系统的客户应用程序和服务器构件是彼此独立和充分隔离的,这使得软件环境和硬件环境的配置具有极大的灵活性,而且易于对系统进行扩展和缩小。(3)客户应用程序的开发集中于数据的显示和分析,而数据库服务器的开发则集中于数据的管理,不必在每一个新的应用程序中都要对一个DBMS进行编码。(4)将大规模的应用处理任务分布到许多通过网络连接的低成本计算机上,一定程度上降低了系统的整体开销。 三层C/S安全性大于两层C/S:利用功能层有效地隔离开表示层与数据层,未授权的用户难以绕过功能层而利用数据库工具或黑客手段去非法地访问数据层,为严格的安全管理奠定了坚实的基础。 !请从多个角度对B/S与C/S风格进行比较。C/S:“胖客户端”(两层C/S)→显示+业务处理;使用:下载客户端,安装后就可以使用;特点:响应速度快、保障安全性、通常用于局域网、维护成本高;B/S(主流):“瘦客户端”→浏览器+极少事务;使用:只要Web浏览器,无需安装客户端;特点:广域网、只需升级服务器、响应速度慢、维护方便、成本低、安全性差 第六章 !已知一个外部DTD文档,如下。要求用XML文档描述一个文件信息,包括文件名和作者,其中文件名为软件体系结构,作者为张明。试将右下角的XML文档补充完整。 <?xml version = "1.0" encoding = "gb2312"?> <!DOCTYPE myfile SYSTEM "myfile.dtd"> <myfile> <title>软件体系结构</title> <author>张明</author> </myfile> !XML(可扩展标记语言)与HTML的比较总结。 XML是用来存储、传输和交换数据的。HTML是用来显示数据的。 HTML:标记由权威团体制定,种类有限且不能随意添加。 XML:可由用户按需要增加标记。 HTML:语法规则比较多元化,具有较大灵活性。XML:对语法有严格的要求,文件格式容易转换,适合跨域跨平台传递数据。 第八章 !简述Web Service技术中的三大角色、三种操作、三大协议,并说明三大协议各自的作用。 三种角色:服务提供者:是服务的所有者,负责定义并实现服务使用WSDL对服务 进行详细,准确,规范的描述并将描述发布到服务注册中心;服务请求者:是服务的的使用者是查找绑定并调用服务或与服务进行交互应用的程序(人或程序);服务注册中心:是连接提供者和请求者的纽带有时也是整个模型中的可选角色。 三种操作:发布:为用户访问服务,提供者发布服务描述便于请求者查找,查找:请求者直接检索服务描述或服务注册中心查询所要求得服务,绑定;请求者使用服务描述中的绑定细节来定位,联系并调用服务从而运行时与服务进行交互 三大协议:WSDL、UDDI、SOAP WSDL:是基于 XML的用于描述 Web 服务以及如何访问 Web 服务的语言。 UDDI:管理、注册和查找服务。 SOAP:作为传输层,用来在消费者和服务提供者之间传送消息。 第九章 !传统Web应用程序存在那些缺点,造成这些缺点的原因是什么? 传统Web应用程序存在缺点:操作复杂性、数据复杂性、交互复杂性 造成传统Web应用程序缺点的原因:(1)传统的Web应用程序不断发送HTTP请求,并且是同步请求,每个请求是有成本的,包括时间成本和资源成本。一个完整的请求都需要经过DNS寻址、与服务器建立连接、发送数据、等待服务器响应、接收数据这样一个“漫长”的过程。(2)传统的Web应用程序受限于HTML网页技术的先天不足,不能表达高度的复杂性。 AJAX技术的核心是什么?AJAX是如何将多种已有的技术绑定在一起的?这些技术各自起到什么作用? AJAX技术的核心是javascript调用XML的异步传输。借助于AJAX,可以在用户单击按钮时,使用JavaScript和DHTML立即更新用户界面,并向服务器发出异步请求,以执行更新或查询数据库。当请求返回时,就可以使用JavaScript和css来相应的更新用户界面,而不是刷新整个页面。最重要的是,用户甚至不知道浏览器正在与服务器通信,Web站点看起来是即时响应的。 XML的高拓展性、高灵活性,使得其可以描述各种不同类的应用软件中的不同类型的数据,可以实现不同数据的集成。 XHTML结合了部分XML的强大功能和HTML的简单特性。 JavaScript主要用来传递用户界面上的数据到服务端并返回结果。 XMLHttpRequest用来响应通过HTTP传递的数据,一旦数据返回到客户端,就可以立刻使用DOM将数据显示在网页上。 DOM为XML文档的已解析版本定义了一组接口。 XSLT能够减少大量的用JavaScript编写的应用逻辑。 CSS提供了从内容中分离应用样式和设计的机制。 !RIA(富互联网应用)中“富”的含义是什么?RIA的优点有哪些?试说出几个RIA客户端的开发技术。 富=丰富的数据模型+丰富的用户界面 !RIA的优点:1)、 RIA结合了C/S架构反应速度快、交互性强的优点,以及B/S架构传播范围广及容易传播的特性。2)RIA简化并改进了B/S架构的用户交互。3)数据能够被缓存在客户端,从而可以实现一个比基于HTML的响应速度更快且数据往返于服务器的次数更少的用户界面。4) RIA可以继续使用现有的应用程序模型(包括J2EE和.NET),因而无需大规模替换现有的Web应用程序。5) RIA可以帮助企业提供多元化的重要业务效益 !典型的 RIA客户端开发技术:Flex、AJAX、JAVA、XUL等。 第十一章 软件质量属性:可用性:,可靠性(容错/健壮性)周期内系统平均无故障运行时间,安全性:系统在向合法用户提供服务的同时,能够阻止非授权用户使用的企图或拒绝服务的能力;,性能,可修改性(可维护/可扩展/结构重组/可移植),功能性,可变性,集成性,互操作性。 一般提高可靠性的同时,也同时提高了可用性。 提高可靠性需要强调减少系统中断(故障)的次数,提高可用性强调减少从故障中恢复的时间。 可靠性=工作时间/发生故障数(就是平局正常工作时间) !简述软件体系结构评估的必要性。 A.体系结构评估可以减少后期测试和纠错的开销 B.评估是挖掘隐性需求并将其补充到设计的最后机会。 C.体系结构是开发过程的中心,不良的体系结构会带来一蹋糊涂的效果。 !C/S架构与集中式计算那个架构在性能方面表现更好?B/S与RIA?分别说明理由。 RIA>B/S C/S>文件服务器 RIA\C/S>B/S>文件服务器 RIA结合了RIA结合了C/S架构反应速度快、交互性强的优点,以及B/S架构传播范围广及容易传播的特性。 B/S以网页为单位,不断发送HTTP请求,并且是同步请求,响应速度慢。 C/S客户端针对一个小的、特定的数据集,如表的行来进行操作,对某一条记录封锁,而不像文件服务器那样针对整个文件进行操作,进行封锁。因此保证了系统的并发性,使得网络上传输的数据量减到最少,从而改善系统的性能。 !三层C/S、两层C/S与B/S那个架构在安全性方面表现更好?三层C/S功能层包括对用户数据存取权限的确认,和记录系统处理日志的功能。利用功能层有效地隔离开表示层与数据层,未授权的用户难以绕过功能层而利用数据库工具或黑客手段去非法地访问数据层,为严格的安全管理奠定了坚实的基础。 B/S面向大量不可知用户。 因此:三层C/S>两层C/S>B/S 可移植性好:正交体系软件结构,SOA结构。集成性好:SOA结构。可变性好:JAVA到RIA。 6、主要评估方式: 基于调查问卷或检查表的评估方式,基于场景的评估方式(体系结构权衡分析方法(ATAM)和软件体系结构分析方法(SAAM)),基于度量的评估方式 ATAM评估方法的基本步骤是什么? (1)描述ATAM方法 (2)描述业务动机 (3)描述体系结构 (4)确定体系结构方法 (5)生成质量属性效用树 (6)分析体系结构方法 (7)讨论和分级场景 (8)分析体系结构方法 (9)描述评估结果 第十二章 中间件的概念 中间件是一种软件,处于系统软件(操作系统和网络软件)与应用软件之间。它能使处于应用层中的各应用成分之间实现跨网络的协同工作(互操作)。 中间件的功能负责客户机与服务器之间的连接和通信,以及客户机与应用层之间的高效率通信机制。提供应用层不同服务之间的互操作机制,以及应用层与数据库之间的连接和控制机制。提供一个多层体系结构的应用开发和运行的平台,一集一个应用开发框架,支持模块化的应用开发。屏蔽硬件、操作系统、网络和数据库的差异。提供应用的复杂均衡和高可用性、安全机制与管理功能,保证交易的一致性。提供一组通用的服务区执行不同的功能,避免重复的工作和使应用之间可以协作。 主要的中间件:事务处理中间件,消息中间件,数据库~,远程过程调用~;对象请求代理~;J2EE~ 中间件的分类 底层中间件(主要技术JVM,CLR,ACE),通用型~ (RPC,ORB,MOM),集成型~(WorkFlow,EAI) 中间件与构件的关系 本质上说是对分布式应用的抽象,抛开与应用相关的业务逻辑细节,保留了典型的分布交互模式的关键特征。与体系结构在本质上是一致的。 术语 !名词解释:ABSD、设计元素、复审 ABSD:基于体系结构的软件设计 设计元素:系统、概念子系统、概念构件 复审:目的是标识潜在的风险,及早发现体系结构设计中的缺陷和错误,包括体系结构能否满足需求、质量需求是否在设计中得到体现、层次是否清晰、构件的划分是否合理、文档表达是否明确、构件的设计是否满足功能与性能的要求等等。 !基于体系结构的软件开发过程可分为实验原型阶段:这一阶段的重点是获得对问题域的理解。为此,需要构建一系列原型,与实际的最终用户一起进行讨论和评审,决定是否可以实现最终系统,如果可以,则进入第二个阶段。 和演化开发阶段(两个阶段):重点是放在最终产品的开发上,也就是要将重点转移到构件的精确化上。这时,原型既被当作系统的规格说明,又可当作系统的演示版本。 ABSD方法与生命周期:左图 ABSD方法的步骤:ABSD方法定义的设计元素;设计元素的产生顺序;设计元素的活动;定义逻辑视图 --功能分解;选择体系;为风格分配功能;细化模板功能;校验创建并发视图;创建配置视图;验证质量场景;验证约束 !下图是一个电力系统变电综合管理信息系统的体系结构示意图:请指出该实例的体系结构采用了那种异构结构模型,分析该实例为什么采用这种模型。 内外有别型。 变电站内部用户通过局域网直接访问数据库服务器,外部用户(包括县调、地调和省局的用户及普通Internet用户)通过Internet访问Web服务器,再通过Web服务器访问数据库服务器。外部用户只需要一台接入Internet的计算机,就可以通过Internet查询运行生成管理情况,无需做太大的投入和复杂的设置。这样也方便所属电业局及时了解各变电站所的运行生产情况,对各变电站的运行生产进行宏观调控,使得系统有较好的开放性和易扩展性。 !CORBA的技术规范包括哪几部分内容? 接口定义语言、接口池、动态调用接口、对象适配器。 import Java.io.*; import java.util.*; public class TestPiped{ public static void main(String [] args){ sender s = new sender(); receiver r = new receiver(); PipedOutputStream out = s.getOut(); PipedInputStream in = r.getIn(); try{ in.connect(out); s.start(); r.start(); }catch(Exception e){ e.printStackTrace(); } } } class sender extends Thread { PipedOutputStream out = new PipedOutputStream(); publicPipedOutputStream getOut(){ return out; } public void run() { String str = "Hello,receiver ! I`msender\n"; try { out.write(str.getBytes()); out.close(); }catch(Exception e) { e.printStackTrace(); } } } class receiver extends Thread { PipedInputStream in = new PipedInputStream(); public PipedInputStream getIn() { return in; } public void run(){ byte [] buf = new byte[1024]; try { int len = in.read(buf); System.out.println("the following is from sender:\n"+newString(buf,0,len)); in.close(); }catch(Exception e) { e.printStackTrace();} } } 程序的执行结果: the following is from sender: Hello,receiver ! I`m sender展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




软件体系结构.docx



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/3326597.html