软件设计与体系结构复习整理题目与答案
- 格式:doc
- 大小:4.79 MB
- 文档页数:38
1、各种性能指标的定义及如何到达各种性能指标的方法ppt1-8 119页-124页 ①性能:吞吐量Throughput 、响应时间Response Time 、Deadlines
②实现吞吐量:Peak & Average Many system have low average but high peak throughput requirements
③实现响应时间: Guaranteed & Average E.g. 95% of responses in sub-4 seconds, and all within 10 seconds
④Dealines :Deadlines often associated with batch jobs in IT systems
2、常用的中间件有那几种类型(四种)
分类:Business Process Orchestrators 业务流程协调器
Message Brokers 消息代理
Application Servers 应用服务器
Transport
面向消息的中间件,分布式对象系统
(1)CORBA---公用对象请求代理(调度)程序体系结构,它在对象间建立客户-服务器的关系,这样一个客户可以很简单地使用服务器对象的方法而不论服务器是在同一机器上还是通过一个网络访问。 (常见的对象请求代理架构)
(2)Basic Message-oriented middleware---- MOM 指的是利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可在分布环境下扩展进程间的通信,并支持多通讯协议、语言、应用程序、硬件和软件平台。 (面向消息的中间件)
(3)J2EE---- J2EE 核心是一组技术规与指南,其中所包含的各类组件、服务架构及技术层次,均有共同的标准及规格,让各种依循J2EE 架构的不同平台之间,存在良好的兼容性,
Message-Oriented Middleware,
Distributed Objects Systems
J2EE, CCM, .NET BizTalk, WebSphere Message Broker, SonicMQ BizTalk, TIBCO StaffWare, ActiveBPEL
解决过去企业后端使用的信息产品彼此之间无法兼容,企业部或外部难以互通的问题。(4)Message brokers----消息代理是一种在数据源与目的地之间移动数据使信息处理流畅的软件技术,数据源与目的地包括已有的应用、文件、数据库、对象、硬拷贝输出及Web 客户端等。(消息代理)
(5)Business process orchestrators----“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现”。(业务过程代理)
3、什么是软件架构(好几种定义,但是主要点是结构,元素,关系,接口)PPT 第4页
架构是一个系统的基本组织,体现在它的组件,它们之间的相互关系和环境,其设计原则和进化论
程序或计算系统的软件架构是系统的结构或结构,由软件元素,这些元素的外部可见的属性,它们之间的关系
(软件架构)超过计算的算法和数据结构;设计和指定的总体系统结构作为一种新的问题出现。结构性问题包括组织和全球生产总值(gdp)控制结构;协议进行通信,同步和数据访问;分配的功能设计元素;物流;设计元素构成;扩展和性能,设计方案中选择
它是关于软件设计:所有的架构是软件设计,但不是所有的设计都是软件架构。设计过程的一个部分;简单地说,架构关注“一旦系统建立后就很难或是不可能改变的问题”:质量属性,例如安全性,性能;非功能性需求,像开销,硬件配置。
【百度答案】软件架构(software architecture)是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计。软件架构是一个系统的草图。软件架构描述的对象是直接构成系统的抽象组件。各个组件之间的连接则明确和相对细致地描述组件之间的通讯。在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象。在面向对象领域中,组件之间的连接通常用接口_(计算机科学)来实现
系统的软件体系结构是建立一个对系统来说所需要的结构,包括软件元素,它们之间的关系,以及两者的性质。
4、什么是架构风格 PPT1-8 36页
An Architectural Style defines a family of systems in terms of a pattern of structural organization. It determines:
❑ the vocabulary of components and connectors that can be used in instances of that style,
❑ a set of constraints on how they can be combined. For example, one might constrain:
⏹the topology of the descriptions (e.g., no cycles).
⏹execution semantics (e.g., processes execute in parallel).
描述软件的基本结构组织或纲要,提供事先定义好的子系统,制定好责任并将它们组织在一起的法则和指南。| 答案2:也叫架构模式,一个架构风格描述软件系统里的基本的结构组织或纲要。架构风格提供一些事先定义好的子系统,指定他们的责任并给出把他们组织在一起的法则和指南。一个架构模式常常可以分解成很多个设计模式的联合使用。MVC模式就属于架构模式。
软件系统有哪几类结构?
模块、组件和连接器、配置。
模块分配具体的职责,是工作的基础;
我们调用运行时结构组件和连接器结构,在我们的使用中,组件始终是运行时实体;
分配结构描述从软件结构映射到系统的环境,组织、发展、安装、执行;
元素是一类模块(类、层或功能的划分等),模块与其他模块相关联通过概括化或专业化的关系;
元素运行组件如服务、同行、客户、服务器、过滤器等,连接器是组件间的通信工具;
5、有那些常见架构风格
(1)管道和过滤器架构风格PPT 40页
适用于需要定义一系列的执行规则数据的独立运算。组件在输入时读数据流,在输出时产生数据流。
优点:易于理解、支持重用、容易保持或增强、允许某些专业分析、支持并发执行
缺点:转换特性导致其不擅长处理交互系统、书写自己的过滤器时,过度地解析或不解析导致性能损失和更加复杂
举例:unix的shell脚本、传统编译器
组件:称为过滤器,应用于对局部的输入流的转换,经常增长的计算,因此,在输入结束前输出就开始了。