欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    软件体系结构期末考试知识点总结.docx

    • 资源ID:97756352       资源大小:46.20KB        全文页数:9页
    • 资源格式: DOCX        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    软件体系结构期末考试知识点总结.docx

    1.软件危机的表现:软件成本日益增长。开发进度难以控制。软件质量差。软件维护困难 2.软件危机的原因:用户需求不明确。缺乏正确的理论指导。软件规模变大,复杂度变高 3.软件工程的三要素:方法,工具,过程4 .构件概念:是指语义完整、语法正确和有可重用价值的单位软件,是软件重用过程中可 以明确辨识的系统;结构上,它是语义描述、通讯接口和实现代码的复合体5 .常见构件模型:OMG的CORBAo Sun的EJB。Microsoft的DCOM (分布式构件对象模型)6 .构件分类方法:关键字分类法。刻面分类法。超文本组织方法。7 .软件体系结构的定义:指定了系统的组织结构和拓扑结构,显示了系统需求和构成系统 的元素之间的对应关系,提供了一些设计决策的基本原理软件体系结构的意义:1是风险承担者进行交流的手段2是早期设计决策的体现3是可传 递和可重用的模型1 .软件体系结构模型及功能:结构模型:以体系结构的构件、连接件和其他概念来刻画结构,并力图通过结构来反映系统 的重要语义内容。框架模型:侧重于整体结构。主要以一些特殊问题为目标建立只针对和适应该问题的结构。 动态模型:是对结构或框架模型的补充,研究系统的“大颗粒”的行为性质。例如,描述系 统的重新配置或演化。动态可以指系统总体结构的配置、建立或拆除通信通道或计算的过程。 过程模型:过程模型研究构造系统的步骤和过程。功能模型:认为体系结构是由一组功能构件按层次组成,下层向上层提供服务。可以看作是 一种特殊的框架模型。2 . “4+1”视图模型及功能作用:逻辑视图:主要支持系统的功能需求,即系统提供给最终用户的服务。在逻辑视图中,系统 分解成一系列的功能抽象,这些抽象主要来自问题领域。这种分解不但可以用来进行功能分 析,而且可用作标识在整个系统的各个不同部分的通用机制和设计元素。在面向对象技术中, 通过抽象、封装和继承,可以用对象模型来代表逻辑视图,用类图来描述逻辑视图。开发视图:也称模块视图,主要侧重于软件模块的组织和管理。开发视图要考虑软件内部的 需求,如软件开发的容易性、软件的重用和软件的通用性,要充分考虑由于具体开发工具的 不同而带来的局限性。开发视图通过系统输入输出关系的模型图和子系统图来描述。进程视图:侧重于系统的运行特性,主要关注一些非功能性的需求。进程视图强调并发性、 分布性、系统集成性和容错能力,以及从逻辑视图中的主要抽象如何适合进程结构。它也定 义逻辑视图中的各个类的操作具体是在哪一个线程中被执行的。物理视图:主要考虑如何把软件映射到硬件上,它通常要考虑到系统性能、规模、可靠性等。 解决系统拓扑结构、系统安装、通讯等问题。场景视图:可以看作是那些重要系统活动的抽象,它使四个视图有机联系起来,从某种意义 上说场景是最重要的需求抽象。在开发体系结构时、它可以帮助设计者找到体系结构的构件 和它们之间的作用关系。同时,也可以用场景来分析一个特定的视图,或描述不同视图构件 间是如何相互作用的。场景可以用文本表示,也可以用图形表示。3 .核心模型的基本元素:构件、连接件、配置、端口、角色。生命周期模型阶段:软件体系结构的非形式化描述阶段;规范描述和分析阶段;求精及其验 证;实施;演化和扩展;提供评价和度量;终结;9 .软件体系结构风格定义:是描述某一特定应用领域中系统组织方式的惯用模式10 .经典的软件体系结构风格:1数据流风格:批处理序列;管道/过滤器。2调用/返回风 格:主程序/子程序;面向对象风格;层次结构。3独立构件风格:进程通讯;事件系统。4 虚拟机风格:解释器;基于规则的系统。5仓库风格:数据库系统;超文本系统;黑板系统。IL C/S (客户.服务器)风格定义:C/S软件体系结构是基于资源不对等,且为实现共享而提 出来的。它定义了工作站如何与服务器相连,以实现数据和应用分布到多个处理机上。有三 个主要组成部分:数据库服务器、客户应用程序和网络。C/S风格优点:1)对于软硬件的变化有极大的灵活性2)把大的应用处理任务分布到低成 本计算机上节约费用3)强大的数据操作和事务处理能力缺点:开发成本较高。客户端程序设计复杂。信息内容和形式单一。用户界面风格不一, 使用繁杂,不利于推广使用。软件移植困难。软件维护和升级困难。新技术不能轻易应用。 12.三层C/S风格:三层:表示层,功能层,数据层。优点:1合理地划分三层结构的功能,在逻辑上保持相对独立性,能提高系统和软件的 可维护性和可扩展性2更灵活有效地选用相应的平台和硬件系统,在处理负荷能力上与处 理特性上分别适应于结构清晰的三层;并且这些平台和各个组成部分可以具有良好的可升级 性和开放性3应用各层可以并行开发,可以选择各自最适合的开发语言4利用功能层有 效地隔离开表示层与数据层,为严格的安全管理奠定了坚实的基础缺点:1三层C/S结构各层间的通信效率若不高2设计时必须慎重考虑三层间的通信 方法、通信频度及数据量。13. B/S风格(浏览/服务器):三层C/S应用结构的一种实现方式,其具体结构为:浏览 器/Web服务器/数据库服务器优点:1)节约成本2)易于升级3)充分的利用网上的资源4)减少维护的工作量缺点:1B/S体系结构缺乏对动态页面的支持能力,没有集成有效的数据库处理功能2系 统扩展能力差,安全性难以控制3在数据查询等响应速度上,要远远地低于C/S体系结构4 数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事务处理(OLTP)应用 14.HMB风格(基于层次消息总线的体系结构风格):HMB风格基于层次消息总线/支持构 件的分布和并发,构件之间通过消息总线进行通信。消息总线是系统的连接件,负责消息 的分派、传递和过滤以及处理结果的返回。各个构件挂接在消息总线上,向总线登记感兴趣 的消息类型。构件根据需要发出消息,由消息总线负责把该消息分派到系统中所有对此消息 感兴趣的构件,消息是构件之间通信的唯-方式。构件接收到消息后,根据自身状态对消息进 行响应,并通过总线返回处理结果。由于构件通过总线进行连接,并不要求各个构件具有相同 的地址空间或局限在一台机器上。15.HMB风格消息总线的功能:1消息登记2消息分派和传递3消息过滤1. UML中的关系:依赖,关联,泛化,实现。2. 类之间的关系:关联,依赖,泛化,聚合,组合,实现,流关系。3. UML包含的图:类图、对象图、构建图、组合结构图、用例图、顺序图、通信图、定时 图、状态图、活动图、部署图、制品图、包图、交互概览图1 .软件质量属性:性能、可靠性(容错,健壮性),可用性,安全性,可修改性(可维护 性,可扩展性,结构重组,可移植性),功能性,可变性,继承性,互操作性。2 .评估主要方式:基于调查问卷或检查表、基于场景、基于度量的评估方式3 . ATAM评估步骤:描述ATAM方法;描述业务动机;描述架构;确定架构方法;生成质量 属性效用树;分析架构方法;讨论场最和对场景分级.;分析架构方法;描述评估结果。 SAAM评估步骤:形成场景、描述体系结构、对场景进行分类和确定优先级、对间接场景进 行单个评估、评估场景的相互作用、形成总体评价软件产品线定义:产品线是一个产品集合,这些产品共享一个公共的、可管理的特征集,这 个特征集能满足选定的市场或任务领域的特定需求。这些系统遵循一个预描述的方式,在公 共的核心资源基础上开发的类图书籍列表嫡增0改0查询0期计。借阅记录列表斛T印。书籍社 号名别者版价10.*0.1非计算机类书籍计算机类书籍顺序图状态图XML概念:XML是一套定义语义标记的规则,也是元标记语言,用于定义其他与特定领域 有关的,语义的,结构化的标记语言的句法语言。1. SOA定义:是一种应用程序体系结构,在这种体系结构中,所有功能都定义为独立服务, 这些服务带有定义明确的可调用接口,能够以定义好的顺序调用这些服务来形成业务流程。 2. SOA特征:松散耦合、粗粒度服务、标准化接口3. SOA设计原则:明确定义的接口;自包含和模块化;粗粒度;松耦合;互操作性、兼容 和策略声明SOA每一层的作用(技术):发现服务层(UDDK DISCO):帮助客户端应用程序解析远程服务位置,通过UDDI来实现。 描述服务层(WSDL、XML Schema):为客户端应用程序提供正确的与远程服务交互的描述 信息,通过WSDL来实现消息格式层(SOAP、REST):保证客户端应用程序和服务器端在格式上一致,SOAP实现 编码层(XML):主要为客户端和服务器之间提供一个标准的,独立于平台的数据交换编码 格式。通过XML实现。传输层(HTTP、SMTP等):为客户端和服务器之间提供两者交互的网络通信协议,通过HTTP 和SMTP实现4. SOAP 应用:HTTP、RPC6.SOAP包含几部分? 1) SOAP封装。定义整体框架,用来表示消息中包含的内容,谁处理 这些内容,以及这些内容是可选的或是必需的2) SOAP编码规则。定义序列化的机制,用 于交换系统定义的数据类型的实例3) SOAP RPC表示。定义用来表示远程过程调用和应答 的协议4) SOAP绑定。定义使用底层传输协议来完成在节点间交换SOAP信封的约定 1.设计模式:设计模式描述了一个出现在特定设计语境中的特殊的再现设计问题,并为它的解决方案提供 了一个经过充分验证的通用图示。2 .设计模式的组成:模式名称、问题、解决方案、后果。3 .设计模式的分类:创建型模式:工厂方法模式,抽象工厂模式,原型模式,单例模式,构建器模式;结构型:适配器模式、桥接模式、组合模式、装饰模式、外观模式,享元模式,代理模式; 行为型模式:职责链模式,命令模式,解释器模式,迭代器模式,中介者模式,备忘录模式, 观察者模式,状态模式,策略模式,模板方法模式,访问者模式4 . MVC SpringMVC:(1) MVC:是模型(model)视图(view)控制器(controller)缩写。是用一种业务逻辑、数据与界 面显示分离的方法来组织代码,将众多的业务逻辑聚集到一个部件里面,在需要改进和个性 化定制界面及用户交互的同时,不需要重新编写业务逻辑,达到减少编码的时间。(2) MVC构成:Model:封装领域数据及逻辑;View:查询领域数据并展现给用户Conctroller:截获用户请求并改变领域数据(2) SpringMVC分层:实体类也是POJO类,也就是MVC的数据模型,实体类仅有属性以 及获取和设置属性的get和set方法,没有事务处理方法。DAO负责数据访问Service业务层主要用来处理业务逻辑Controller层负责具体业务模块流程控制,在此层调用Serice层的接口来控制业务流程。(4)2c控制反转”:借助于“第三方”实现具有依赖关系的对象之间的解耦。一种将控制 权转移的设计模式,由传统的程序控制转移到容器控制。(5)DI依赖注入:就是由IOC容器在运行期间,动态地将某种依赖关系注入到对象之中。常用的有两种方式:构造方法注入和setter方法注入。public class Singleton private static Singleton instance;private Singleton ()public static Singleton getlnstance() if (instance = null) instance = new Singleton。;)return instance; 单例模式保证一个类只有一个实例,并提供一个访问它的全局访问点抽象工厂模式:提供接口,可以创建一系列相关或相互依赖的对象,而无需指定具体的类public interface AbstractFactory 创建产品的方法public AbstractProductA CreateProductA();public AbstractProductB CreateProductB();public interface AbstractProductA /*抽象产品接 口*/ public interface AbstractProductB /*实际的产品*/public class ProductAl implements AbstractProductA 实际的产品 Alpublic class ProductA2 implements AbstractProductA 实际的产品 A2 public class ProductBl implements AbstractProductB 实际的产品 Blpublic class CFactoryl implements AbstractFactory /*CFactory 是 ConcreteFactory 的简写*/public AbstractProductA CreateProductA() return new ProductAl。;/*在第1个车间中,创建实际产品Al*/)public class CFactoryl implements AbstractFactory public AbstractProductB CreateProductB() return new ProductBl(); )public class CFactory2 implements AbstractFactory public AbstractProductA CreateProductA() return new ProductA2();观察者模式:对象间一对多的依赖关系,对象改变,依赖它的对象得到通知并自动更新import java.util.*;public class ObserverPattern public static void main(String args) Subject subject=new ConcreteSubject();Observer obsl=new ConcreteObserver 1 ();subject.add(obsl);subject.notifyObserver();)abstract class Subject 抽象目标protected List<Observer> observers=new ArrayList<Observer>();public void add(Observer observer) observers.add(observer); public void remove(Observer observer) observers.remove(observer); public abstract void notifyObserver(); 通知观察者方法)class ConcreteSubject extends Subject /具体目标public void notifyObserver() for(Object obs:observers) (Observer)obs).response(); 具体目标发生改变 ) 抽象观察者interface Observer void response(); 反应 class ConcreteObserver 1 implements Observer public void response。具体观察者反应! "); import java.util.ArrayList;组合模式:将对象组合成树型结构表示整体-部分结构import java.util.List;public class Employee private String name;private int salary;private List<Employee> subordinates;public Employee(String name, int sal) 构造函数this.name = name;this.salary = sal;subordinates = new ArrayList<Employee>();)public void add(Employee e) subordinates.add(e);public void remove(Employee e) subordinates.remove(e);public List<Employee> getSubordinates() return subordinates; public String toString() return ("Employee : Name : ”+ name +“,salary + salary+" '*);import java.util.ArrayList;import java.util.List;public class Employee private String name;private int salary;private List<Employee> subordinates;public Employee(String name, int sal) 构造函数this.name = name;this.salary = sal;subordinates = new ArrayList<Employee>();public void add(Employee e) subordinates.add(e);public void remove(Employee e) subordinates.remove(e); public List<Employee> getSubordinates() return subordinates; public String toString() return ("Employee : Name : ”+ name +“, salary :” + salary+H M);)中间件概念:一种独立的系统软件或服务程序,分布式应用软件借助其在不同技术之间 共享资源,中间件位于操作系统之上,管理计算资源和网络通信,实现应用间相互操作。5 .中间件功能: 负责客户机与服务器之间的连接和通信,以及客户机与应用层之间的高效率通信机制。(2)提供应用层不同服务之间的互操作机制,以及应用层与数据库之间的连接和控制机制。 提供多层体系结构的应用开发和运行的平台,以及应用开发框架,支持模块化应用开发。(4)屏蔽硬件、操作系统、网络和数据库的差异。(5)应用负载均衡和高可用性、安全机制与管理功能,及交易管理机制,保证交易一致性。(6)提供一组通用的服务去执行不同的功能,避免重复的工作和使应用之间可以协作。6 .消息中间件定义和使用场景:(1)定义:消息中间件属于分布式系统中一个子系统,关注于数据的发送和接收,利用高 效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集 成。通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进程间的通信。(2)使用场景:典型的异步处理、应用解耦、流量削锋、消息通讯四个场景。举例:秒杀 活动,一般会因为流量过大,导致流量暴增,应用挂掉。加入消息队列。(流量削锋) 11 .常用消息中间件:ActiveMQ, RabbitMQ, ZeroMQ, Kafka, MetaMQ, RocketMQo 12.阻塞I/O模型:进程或线程等待某个条件,条件不满足,等待。满足,进行下一步操作。应用进程recvfrom系统调用内核A无数据报准备好进程阻塞于recvfrom的调用数据报准备好复制数据报返回成功提示处理数据报V复制完成将数据从内核空间复制到用户空间非阻塞I/O模型:应用进程与内核交互,目的未达到时,不再等,直接返回。通过轮询不停 问内核数据准备好没。进程反复调用recvfrom, 等待返回成功指示(轮询)应用进程recvfromrecvfromrecvfromrecvfrom系统调用内核无数据报准备好.EWOULDBLOCK系统调用无数据报准备好.EWOULDBLOCK系统调用A无数据报准备好.EWOULDBLOCK系统调用 一数据报准备好 复制数据报返回成功提示处理数据报V复制完成A等待数据将数据从内核空间复制到用户空间I/O复用模型:一个进程能同时等待多个文件描述符,而这些文件描述符(套接字描述符)其中的任意一个进入读就绪状态,select。函数就可以返回。应用进程系统调用内核进程继续执行Y数据复制到应用线J冲区期间进程阻塞1信号驱动式I/O模型:selectrecvfrom返回可读条件系统调用返回成功提示处理数据报Y无数据报准备好数据报准备好复制数据报复制完成将数据从内核空间复制到用户空间开启信号驱动I/O功能,执行信号处理函数。数据准备就绪为进程生成一个SIGIO信号,通知应用程序调用recvfrom读取数据,通知主循环函数来处理数据。应用进程内核sigaction系统调用r建立Sigi。的v信号处理程序返回进程继续执行Y人等待数据数据复制到应用提J冲区期间进程阻塞、递交SIGIO信号信号处理程序数据报准备好recvfrom系统调用复制数据报将数据从内核空间复制到用户空间返回成功提示处理数据报V复制完成异步I/O模型:告知内核启动某个操作,并让内核在整个操作完成后通知开发者。应用进程内核系统调用返回aio_read .无数据报准备好进程继续执行数据报准备好复制数据报信号处理程序一 I处理数据报递交在aio_read复制完成中的指定信号将数据从内核空间复制到用户空间

    注意事项

    本文(软件体系结构期末考试知识点总结.docx)为本站会员(太**)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开