体系结构作业简答.doc_第1页
体系结构作业简答.doc_第2页
体系结构作业简答.doc_第3页
体系结构作业简答.doc_第4页
体系结构作业简答.doc_第5页
全文预览已结束

下载本文档

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

文档简介

问题:简述“4+1”模型?答:“4+1”模型是采用多视图模型的方法描述软件体系结构,为了最终能够处理赋予挑战性的,大规模的软件系统,该模型由五个视图组成:1.逻辑视图:主演支持系统的功能需求,及系统提供给最终用户的服务,在面向对象技术中,通过抽象,封装和继承,用对象模型来代表逻辑视图,用类图来描述逻辑视图;2.进程视图:侧重于系统的运行特性,主要关注一些非功能性的需求,它强调并发性,分布性,系统集成和容错能力,以及从逻辑视图中的主要抽象如何适合进程结构,系统集成人员:性能可扩充性和吞吐量等;3.物理视图:主要考虑如何把软件映射到硬件上,它通常要考虑到系统性能,规模,可靠性等,解决系统拓扑结构,系统安装,通讯等问题。当环境改变时,物理视图对系统其他视图的影响最小;4.开发视图:也称模块视图,主要侧重于软件模块的组织和管理,主要考虑软件内部的需求(软件开发的容易性,软件的重用和软件的通用性,要充分考虑由于具体开发工具的不同而带来的局限性),通过系统输入输出关系的模型图和子系统图来描述,最好采用4-6层子系统;5.通过选择出的一些用例(场景)对体系结构加以说明,它们构成了第五个视图:场景(可以用文本表示,也可以用图形表示)可以看做是那些重要系统活动的抽象,它使四个视图有机联系起来,从某种意义上说场景是最重要的需求抽象。在开发体系结构是,它可以帮助设计者找到体系结构的构件和他们之间的作用关系。同时,也可以用场景来分析一个特定是视图,或描述不同视图构件间是如何相互作用的;对于不用的软件体系结构来说,侧重的角度也有所不同。逻辑视图和开发视图是描述系统的静态结构,而进程视图和物理视图描述系统的动态结构。软件体系结构的基本研究内容:1、软件体系结构描述研究:软件体系结构描述语言,使用“4+1”模型描述软件体系结构和使用UML描述软件体系结构。2、软件体系结构设计研究: 体系结构设计方法,体系结构设计原理,体系结构设计模式,体系结构设计风格3、基于体系结构的研究开发方法4、软件体系结构评估5、特定领域的体系结构框架6、软件体系结构支持工具问:分层体系结构综述?答:软件体系结构分为三层,分别是:表示层(提供与用户交互的界面),业务逻辑层(实现各种业务逻辑),数据访问层(负责存放和管理应用的持久性业务数据)。这样的层次风格是从内向外提供服务的构件出发,沿着连接关系递次搜索各构件和连接子,如果形成的拓扑结构是一个有向无圈图(典型情况下是一个线性结构),那么这个系统的体系结构风格就是层次式的。这种设计风格便于将复杂的系统进行分解,对系统进行改动是,只需改动相应的那一层,因而便于系统的维护;同时也便于构件替换:只要保持接口一致,就可以将某一层的软件替换掉,也可以用不同的方法实现,而不会影响到系统的其他部分;但是并非所有系统都能以分层方式实现,对有些系统要精确地划分其抽象层次往往是十分困难的。每个层都由一组相关的类或组件构成,共同完成特定的功能;层与层之间存在自上而下的依赖关系,即上层组件会访问下层组件的API,而下层组件不应该依赖上层组件;每个层对上层公开API,但具体的实现细节对外透明,当某一层的实现发生变化,只要他的API不变,就不会影响其它层的实现。恰当的软件分层,将会提高软件的伸缩性,可维护性,可扩展性,可重用性,可管理性;但是并不代表分层越多就约好,对软件设计人员来说,软件分层越多,对他们的要求就越高。在设计阶段,必须花时间构思合理的体系结构。此外,软件层越多,调试也会越困难。如果应用规模比较小,业务逻辑很简单,软件层数少反而会简化开发流程并提高开发效率。运用这种层次风格的典型应用有:开放系统互联(OSI)七层网络模型,Windows NT操作系统的内核结构。体系结构风格大致可分为以下几类数据流风格:批处理序列、管道过滤器调用/返回风格:主程序/子程序、面向对象风格、层次结构独立构建风格:进程通讯、事件系统虚拟机风格:解释器、基于事件的系统仓库风格:数据库系统、超文本系统、黑板系统较为经典的体系结构风格有数据抽象和面向对象风格:优点:面向对象的风格可以使对象之间相互隐藏自己的表示,改变自己而不会影响到其他对象缺点:必须知道对象的标识才能进行对象间的交互;必须修改所有显式调用它的其它对象,并消除一些带来的副作用管道和过滤器风格:优点:使构建具有高内聚、低耦合的特点,利于软件的重用,系统维护和性能增强并且支持任务并行运行缺点:通常导致系统成为批处理的结构,不适合处理交互的应用,增加了数据的解析和合成工作,导致系统的性能下降基于事件的隐式调用:优点:为软件重用提供了强大的支持,为改进系统带来了方便缺点:不能保证进程的调用顺序,有一定程度上的数据交换问题,全局性能和资源管理也一定程度上成为要考虑的问题分层系统:优点:支持基于抽象程度递增的系统设计,支持功能增强,支持重用缺点:并不是每个系统都能划分分层的模式,很难找到合适的正确的层次抽象方法C2风格:C2风格构件相对独立,构件间的依赖性相对减小;系统中的构件可以将任意复杂度的功能封装在一起,所有构件间的联系是通过中间件来实现通讯的仓库风格:在仓库风格中有中央数据结构和独立构件。中央数据结构说明当前的状态,独立构件在中央数据结构存储上操作用例是一种描述系统需求的方法,其描述的过程就是用例建模。用例图的主要构成元素:1.参与者:参与者指存在于系统外部并与该系统发生交互的人或者其他系统,他们代表的是系统的使用者或者使用环境。2.用例:用例表示系统所提供的服务,它定义了系统是如何被参与者所使用的,描述的是参与者为了使用系统所提供的某一完整功能而与系统之间发生的一段对话。3.关联:关联表示参与者和用例之间的对应关系,它表示参与者使用了系统的哪些服务(用例)。类图是静态结构模型额图形化,它由各种静态关系连接器分类器元素而构成。类图是一组静态的描述模型元素相互连接的集合图形。类图模型元素包括:类、接口和它们的之间的关系。面向对象原则概述:1、开-闭原则:定义:一个软件实体应当对扩展开放,对修改关闭。举例:开-闭原则解决回家开灯、离家关灯过程增添电视机、收音机的问题。对象为家、灯,操作分为开、关。现在房子加上电视机、收音机等,可直接创建对象执行操作,只是添加而不修改源码。2、里氏替换原则:定义:子类型必须能替换基类型。举例:里氏替换原则解决正方形替换长方形的问题。创建一个新的抽象类,强调所有子类所能做的共同行为,将继承关系改写为聚合关系。这样子类正方形就可以替换基类型了。3、依赖倒置原则:定义:抽象不应当依赖于细节;要针对接口编程,不要针对实现编程。举例:依赖倒置原则解决账号、账号种类、账号状态的关系。账号不依赖于账号种类和账号状态。4、接口分离原则:定义:不强迫类实现它不需要的方法;使用多个专门的接口而不使用单一的总接口举例:定制服务的出现。客户端需要什么,那么就向他提供什么,不需要的则不提供。以对付不同的客户端,减少系统维护量。5、单一职责原则:定义:一个类应该仅有一个引起它变化的原因。举例:要实现逻辑和界面的分离。可以从以下方面评估软件体系结构:一、性能方面:性能是指体统的影响能力,即要经过多长时间才能对某个事件作出响应,或者在某段事件内系统所能吹的事件的个数。二、可靠性方面:可靠性是软件系统在应用或系统错误面前,在意外或错误使用的情况下维持软件系统的功能特性的基本能力。三、可用性方面:可用性是系统能够正常运行的时间比例。经常用两次故障间的时间长度或在出现故障时系统能够恢复正常的速度来表示。四、安全性方面:安全性是指系统在向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。安全性有可划分为机密性、完整性、不可否认性及可控性等特性

温馨提示

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

评论

0/150

提交评论