软件设计与体系结构复习整理题目与答案
软件设计与体系结构题目与答案

软件设计与体系结构题目与答案1.各种性能指标及如何到达各种性能指标的方法(1)防止变异模式:是如何设计对象,子系统和系统,使这些元素内部的变化或不稳定性不会对其他元素产生不良影响。
解决方案:识别预测的变化或不稳定之处,分配职责用以创建稳定借口。
(2)依赖反转原理:把你的类从局的现实中隔离开,使他们依赖于抽象类或接口。
它促进了代码面向接口而不是实现,这通过保证对实现的低耦合来增加系统的灵活性。
2.常用的中间件有那几种类型(1)常见的对象请求代理架构(2)面向消息的中间件(3)J2EE(4)消息代理(5)业务过程代理3.有那些常见架构风格(1)管道和过滤器架构风格(2)面向对象风格(3)隐式调用风格(4)客户-服务器风格(5)分层风格(6)仓库风格(7)解释程序风格(8)过程控制风格4.架构师需要的核心技能是什么(1)涉众之间的交流(2)技术知识(3)软件工程学(4)风险管理5.什么是软件架构软件架构是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计。
软件架构是一个系统的草图。
软件架构描述的对象是直接构成系统的抽象组件。
各个组件之间的连接则明确和相对细致的描述组件之间的通讯。
在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象。
在面向对象领域中,组件之间的连接通常用接口(计算机科学)实现。
6.什么是架构风格一组原则。
你可以把它看成是一组为系统家族提供抽象框架的粗粒度模式。
7.什么是架构视图一个架构视图是对于从某一视角或某一点上看到的系统所做的简化描述,描述中涵盖了系统的某一特定方面,从而省略了此方面无关的实体。
8.各种架构风格的组件和连接器是什么1.管道和过滤器架构风格:适用于需要定义一系列的执行规则数据的独立运算,组件在输入时读数据流,在输出时产生数据流组件:称为过滤器,应用于对局部的输入流的转换,经常增长的计算,因此,在输入结束前输出就开始了连接器:称为管道,给流提供管道,把一个过滤器的输出传输到另一个输入。
软件设计及体系结构课后题答案

【题型】1.选择20道2.填空10道3.简答5或6道4.编程题2道【重点】1.软件危机的表现软件开发进度难以预测软件开发成本难以控制用户对产品功能难以满足软件产品质量无法保证软件产品难以维护2.引发软件危机的原因用户需求不明确缺乏正确的理论指导软件开发规模越来越大软件开发复杂度越来越高3.体系结构概念构件、构件之间的关系、集成构件的模式及约束条件4.构件的概念构件是指语义完整、语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统;结构上,它是语义描述、通讯接口和实现代码的复合体。
5.引入体系结构使得开发过程发生什么变化?好处是什么?软件再工程、逆工程的概念?软件设计质量的量度【变化】在引入了体系结构的软件开发之后,应用系统的构造过程变为“问题定义—>软件需求—>软件体系结构—>软件设计—>软件实现”,可以认为软件体系结构架起了软件需求及软件设计之间的一座桥梁。
【好处】克服软件危机【再工程】是指对既存对象系统进行调查,并将其重构为新形式代码的开发过程。
最大限度的复用既存系统的各种资源是再工程的最重点特征之一。
如何开发可复用软件和如何构造采用可复用软件的系统体系结构是两个关键问题。
【逆工程】是指分析软件系统,确定其构成成分及各成分间的关系,提取并生成系统抽象和设计信息的工程。
【量度】面向对象软件质量的度量重点在于对类的分析上。
应从类的以下方面考虑:耦合内聚度继承性复杂度6.5个设计原则概念【单一职责原则】就一个类而言,应该仅有一个引起它变化的原因。
【开闭原则】软件实体(类、模块、函数等等)应该可以扩展,但是不可修改。
(也就是老婆常说的对扩展开放,对修改关闭)【依赖倒转】抽象不应该依赖于细节,细节应该依赖于抽象。
要针对接口编程,不要对实现编程。
【里氏代换】在软件里面,把父类都替换成它的子类,程序行为没有变化。
简单地说,子类型必须能够替换掉它们的父类型。
【迪米特】如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用。
软件设计与体系结构练习题全解精品资料

软件设计与体系结构练习题全解精品资料软件设计与体系结构复习一、填空题(一) Chapter 11.软件设计模式通常包含4个基本要素:模式名称、问题、解决方案以及效果。
2.软件设计模式可以分为三个层次:架构模式、设计模式、习惯用法。
3.软件设计模式是对软件设计经验的总结,是对软件设计中特定环境下反复出现的设计问题的、经过验证的、成功解决方案的描述。
(二) chapter 51.早在1968年,计算机领域的大师Dijstra指出:项目规模越大,其整体架构就越重要。
2. 软件体系结构的三个基本要素是:构件、连接件、约束3. 对软件质量的关注正是软件架构师与一般的软件设计师的不同之处,一般的软件设计师主要关注软件功能的设计,并要遵循架构师给出的设计准则。
4. IEEE 1471-2000标准定义软件体系结构是“系统的基本组织结构,包括系统构成要素、这些构成要素相互之间以及运行环境之间的关系,还包括系统设计及演化时应遵循的原则”。
(三) chapter 21.创建型软件设计模式是解决_对象创建机制_的设计模式。
2.创建型软件设计模式的两个主导思想:封装了系统使用的具体类的知识,隐藏这些具体类的实例被创建与结合的细节。
3.简单工厂方法模式的特点是仅仅有一个具体的创建者类,并且在此类中包含一个__静态工厂_____方法。
4.生成器模式是一步一步创建一个复杂的对象,允许用户通过制定复杂对象的类型和内容就可以构建它们,用户不知道内部的具体构建细节5. 单例模式是指确保一个仅有一个唯一的实例,并提供一个全局的访问点。
6. 在单例模式中,为了防止客户程序利用构造方法创建多个对象,要将构造方法声明为private(或私有)类型。
(四) chapter 31. 结构型软件设计模式的主要目的是将不同的类和对象组合在一起,形成更大或者更复杂的结构体。
2. 组合模式指将对象组合成树形结构,以表示“部分-整体”的层次结构。
该模式使得对单个对象和组合对象的使用具有一致性。
(完整版)软件体系结构复习题及答案

概述部分1、请分析软件危机的主要表现和原因。
表现:a)软件成本日益增加:开发、部署与应用成本高b)开发进度难以控制:不能按期完成c)软件质量差:错误率高,不能满足用户的需求,没有生命力d)软件维护困难:成本高,维护效果不理想,可能带来潜在的错误原因:1.用户需求不明确2.缺乏正确的理论指导3.软件规模越来越大4.软件复杂度越来越高2、请说明软件规模与复杂度对软件过程的影响及解决方法。
软件规模与复杂度增加后,软件开发和维护成本增加,开发进度难以控制,软件质量差,软件维护变得困难。
应更多地采用科学的分析、设计和实现方法以及辅助工具,增强软件分析和设计的力度,并通过构件化提高软件的重用能力。
3、什么是软件体系结构,由哪三个部分组成?(构件、连接件、约束)软件体系结构为软件系统提供了一个结构、属性和行为的高级抽象。
它不仅指定了系统的组织结构和拓扑结构,并且显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。
4、请简述软件重用的含义和意义。
可重用元素包括哪些种类?软件重用是指在多次不同的软件开发过程中重复使用相同或相近软件元素的过程。
(含义)可重用的元素包括程序代码、测试用例、设计文档、需求分析文档甚至领域知识。
(种类)可重用的元素越大,我们就说重用的粒度(Granularity)越大。
软件重用是软件产业工业化、工程化的重要手段。
软件重用对提高生产率,降低开发成本,缩短开发周期,改善软件质量以及提高灵活性和标准化程度大有帮助。
(意义)5、请简述常用的构件实现模型及其意义。
实现模型:1.CORBA2.EJB / DCOM / COM+意义:这些模型通常都定义了构件的实现方式、接口定义、访问方法等。
符合这些标准的任何构件都有很高的重用能力。
描述部分6、请用图示法说明4+1模型的5种视图之间的关系及关注点和涉众用户。
数据视图风格部分7、什么是软件体系结构的风格?它在软件开发过程中具有何种意义?软件体系结构风格是指设计、组织和实现软件体系结构的各种惯用模式和习惯用法,是对一系列体系结构设计的抽象。
软件体系结构期末试题整理 配套答案

1. C.2 D. 消息传递3 C. 逻辑视图 D. 部署视图4.A,B5. C 6. C. 标准函数库 7 A,B8. D9.B10.D11 。
A12. 某游戏公司欲开发一个大型多人即时战略游戏,游戏设计的目标之一是能够支持玩家自行创建战役地图,定义游戏对象的行为和之间的关系。
针对该目标,公司应该采用(48) 架构风格最为合适。
(48)A. 管道-过滤器 B. 隐式调用 C. 主程序-子程序 D. 解释器D13 AD14 D15 A1. 分别描述两个质量属性的场景图。
下面场景表现了网上个人银行查询系统的性能。
下面场景表现了网上个人银行查询系统的修改性。
场景可以用文本表示,也可以用图形表示。
2.请描述构架设计的ADD 方法中对模块求精的5个步骤。
答题要点:a. 从具体的质量场景和功能需求集合中选择构架驱动因素。
b. 选择满足构架驱动因素的构架模式。
c. 实例化模块并根据用例分配功能,使用多个视图进行表示。
d. 定义子模块的接口。
e. 验证用例和质量场景并对其进行求精,使它们成为子模块的限制。
3. 描述A TAM 方法的步骤。
)试图同时登陆系统 网上个人银行查询系统平均响应时间5秒正常运行 请求被处理 希望改变操作界面代码只修改界面代码或配置文件 维护时 用户 修改不产生副作用,在2小时内完成500用户户ATAM方法的表述商业动机的表述构架的表述对构架方法进行分类生成质量属性效用树分析构架方法集体讨论并确定场景优先级再次分析构架方法结果的表述4. 选取两个质量属性以表格形式生成质量属性效用树效用树的表格形式如下表所示。
质量属性属性求精场景场景用文字描述,并要标明场景的优先级和实现的难易。
系统的质量属性有多种,请列举其中六种:可用性、可修改性、性能、安全、可测试性、易用性、可移植、可重用、可集成(任选六个)。
试题三参考答案(共15分)【问题1】(4分)U1:移动元素U2:调整元素大小(U1和U2的答案可以互换)(1) <<extend>> (2) << extend>>【问题2】(8分)C1:创建工具C2:选择工具C3:线条工具C4:矩形工具C5:椭圆工具C6:线条C7:矩形C8:椭圆注:C3~C5的答案可以互换;C6~C8的答案可以互换。
软件体系结构考试习题集含答案样本

1.面向对象办法优势体当前(ABD )A.简化软件开发过程B.支持软件复用C.提高软件运营效率D.改进软件构造2.顾客界面设计中三条“黄金规则”是(ABC )A.使系统处在顾客控制之中B.减少顾客记忆承担C.保持界面一致性D.保证顾客易学性E.顾客界面分析和设计过程是迭代, 其中涉及活动是(ABCD )F.顾客、任务以及环境分析和建模G.界面设计H.界面实现I.界面确认3.界面确认需要注意三个方面(ABC )A.界面对的完毕了顾客任务, 适应顾客任务变化B.易学性和易用限度C.顾客接受限度D.顾客习惯4.顾客界面分析时普通采用信息获取方式涉及(ABCD )A.顾客会谈B.销售人员信息采集C.市场分析D.顾客支持人员信息收集5.(C )把完毕一种特定功能动作序列抽象为一种过程名和参数表A.数据抽象B.动作抽象C.过程抽象D.类型抽象6.(A)把一种数据对象定义抽象为一种数据类型名A.数据抽象B.动作抽象C.过程抽象D.类型抽象7.软件体系构造设计需要考虑如下(ABCD )A.合用性B.构造稳定性C.可扩展性D.可复用性8.模块设计时应当考虑(AB )A.模块功能独立B.模块信息隐藏C.模块接口简朴D.模块实现简朴9.一种完整软件设计重要活动涉及有(ABCD )A.体系构造设计B.界面设计C.模块/子系统设计、D.数据模型、过程/算法设计等E.模块化是指把一种复杂问题分割成若干个可管理小问题后, 更易于理解, 模块化正是以此为根据, 在划分模块过程中应当考虑到(ABC )F.模块可分解性、可组装型G.模块可理解性、持续性、H.模块保护1.尽量低分割模块, 使得问题难度降到最2.什么是软件工程?构成软件工程要素是什么?3.软件工程是将系统化、规范、可度量办法应用于软件开发、运营和维护过程, 即将工程化应用于软件开发和管理之中, 对所选办法研究。
软件工程要素由办法、工具和过程构成。
办法支撑过程和工具, 而过程和工具增进办法学研究。
软件体系结构考试试题

软件体系结构考试试题一、选择题(每题 2 分,共 20 分)1、以下哪种软件体系结构风格强调将系统分解为多个独立的子系统,每个子系统都具有特定的功能和接口?()A 管道过滤器风格B 分层风格C 客户服务器风格D 仓库风格2、在软件体系结构中,以下哪个不是评估软件质量的重要属性?()A 可维护性B 可扩展性C 开发成本D 性能3、哪种架构视图主要关注系统的逻辑结构和组件之间的关系?()A 逻辑视图B 开发视图C 进程视图D 物理视图4、以下哪种模式用于解决软件系统中并发访问共享资源的问题?()A 观察者模式B 单例模式C 责任链模式D 线程同步模式5、软件体系结构的设计原则不包括以下哪一项?()A 高内聚低耦合B 开闭原则C 依赖倒置原则D 快速开发原则6、以下关于微服务架构的描述,错误的是?()A 每个微服务都可以独立部署B 微服务之间通过轻量级的通信机制进行通信C 微服务架构适合小型应用系统D 微服务架构可以提高系统的可扩展性7、哪种架构风格适用于实时系统?()A 事件驱动风格B 解释器风格C 黑板风格D 以上都不是8、在软件体系结构中,以下哪个不是组件的重要特征?()A 接口B 实现C 依赖关系D 版本号9、以下哪种架构模式可以提高系统的容错性?()A 主从模式B 对等模式C 分布式模式D 以上都是10、以下关于软件体系结构描述语言(ADL)的说法,正确的是?()A 可以精确地描述软件体系结构B 不能描述软件体系结构的动态特性C 只适用于特定的软件开发方法D 以上都不对二、填空题(每题 2 分,共 20 分)1、软件体系结构的三要素包括_____、_____和_____。
2、常见的软件体系结构风格有_____、_____、_____等。
3、架构评估的方法包括_____、_____和_____。
4、分层架构中,每一层都为上一层提供_____,同时使用下一层提供的_____。
5、客户端服务器架构中,服务器通常负责_____,客户端负责_____。
软件设计与体系结构练习题参考答案

一、选择题CDABC DABCC ACDCC BADCA DDCBC ADBDA二、判断题√√X√√√√X X√X√√√X X X X X√√X√ X X X三、简答题1、简述实体类的概念及其作用。
实体类实现所谓的对象关系映射(Object Relational Mapping,简称ORM),是为了解决面向对象的类与关系数据库的表之间,存在的不匹配的现象,通过使用描述对象和关系之间映射的元数据,在程序中的类对象,与关系数据库的表之间建立持久的关系,用于在程序中描述数据库表。
本质上就是将数据从一种形式转换到另外一种形式。
简单地说,就是描述一个业务实体的类。
实体类对象是现实世界中实体对象在计算机中的表示,在层与层之间以及层内模块间进行数据传输。
2、敏捷开发宣言。
我们正在通过亲身实践以及帮助他人实践,揭示更好的软件开发方法,通过这项工作,我们认为:个体和交互胜过过程和工具可以工作的软件胜过面面俱到的文档客户合作胜过合同谈判响应变化胜过遵循计划虽然右项也有其价值,但我们认为左项更加重要。
3、简述XP的短交付周期的概念。
迭代计划: XP项目每两周交付一次可以工作的软件。
每两周的迭代都实现了利益相关者的一些需求,在每次迭代结束时,会给利益相关者演示迭代生成的系统,以得到他们的反馈。
迭代是一次较小的交付,可能会被加入到产品中,也可能不会。
每个周期(Iteration)开发的需求都是用户最需要的东西。
发布计划:XP团队通常会创建一个计划来规划随后大约6次迭代的内容。
一次发布通常需要2-3个月的工作。
它表示了一次较大的交付,通常此次交付会被加入到产品中。
发布计划不是一成不变的,客户可以随时改变计划的内容,他可以取消用户故事,编写新的用户故事,或者改变用户故事的优先级别。
但是客户应该更改后面迭代的内容,尽量不要更改下一次迭代。
4、测试驱动开发的概念及其积极作用。
编写所有产品代码的目的都是为了使失败的单元测试能够通过。
软件架构复习题及答案

不定项选择题:1.开发过程中最困难的一个环节是()。
A需求的收集B需求的分析C体系结构的设计D人员之间思想的交流2.用例是从()的观点对系统行为的一个描述。
A分析员B设计员C程序员D用户3.顺序图所表达的是基于()的动态交互。
A时间B空间C人员D对象4.多重性5,10表示()。
A5到10 B5或10 C5与10 D5对105.在找出了类的继承关系后,通常可以用()来表示最上层的基类。
A密封类B抽象类C接口D包6.使用用例的难点在于()。
A发现高层用例B发现用例之间的包含、扩展关系C研究用例中每个场景的步骤D将用例表示成用例图7.产生类图和得到用例这两个步骤,位于前面的是()。
A产生类图B得到用例C同时进行D没有固定的套式8.面向对象理论中,对象之间发送信号,在UML状态图里就是()。
A状态B变迁C事件D动作9.当代软件工程的特点是()。
A强调无缝集成B开发阶段之间可以重叠C开发阶段之间可以反复迭代D尽可能多花时间在分析和设计上10.GRAPPLE中最重要的段是()。
A需求收集B需求分析C设计D开发11.当我们想创建一个具体的对象而又不希望指定具体的类时,可以使用()模式。
A命令B抽象工厂C策略D桥接12.当我们想将抽象部分和实现部分分离时,可以使用()模式。
A工厂方法B抽象工厂C策略D桥接13.面向对象系统中功能复用的两种最常用技术是()。
A类继承 B封装 C对象组合 D关联14.对象组合是通过获得()而在运行时刻动态定义的。
A对象 B对其它对象的引用C关联D继承15.在Lexi系统中,我们把所有文档元素都看作是图元,这样,它们就有了相同的()。
A接口B类型C名称D属性16.一个软件产品是否成功,因素有()。
A完整正确的需求分析B好的体系结构C细致全面的测试D合理的管理17.当需要在项目中定制自己的元素时,可使用()。
A注释B构造型C约束D包18.表示一个操作中的参数和返回值的数据类型的称呼是()。
软件体系结构试题与解答

模拟试题(一)第一题: 名词解释(每题5分, 共20分)1.软件体系构造(Software Architecture)2.软件体系构造风格(Software Architecture Style)3.软件质量属性4.质量属性驱动旳设计措施(ADD)第二题: 单项选择(每题4分, 共20分)1. 下面哪种方略可以用来满足可测试性(Testability)旳质量属性?A) 心跳(Heartbeat) B) 模块旳抽象化(Generalize the module)C) 记录/重放 D) 授权顾客2. “系统在提供服务给合法顾客旳同步抵制未授权使用旳能力”这是哪种质量属性关怀旳问题?A) 性能 B) 可测试性C) 可移植性 D) 安全性3. 下面哪种视图不属于软件体系构造中定义旳“4+1”视图?A) 物理视图 B) 设计视图C) 场景视图 D) 开发视图4. 下面旳图是什么图?A) 序列图 B) 组件图C) 对象图 D) 用例图5. 下面旳图形描述了何种体系构造风格?A) C/S B) 有序批处理 C) 主程序/子程序 D) 面向对象第三题:简答(每题5分, 共20分)1.请描述管道-过滤器体系构造风格旳特点并给出适合使用这种风格旳一种应用场景。
2.请简要阐明黑板风格旳定义。
3.请简要阐明体系构造权衡分析措施和该措施旳特点。
4. 什么是“4+1视图”, 分别给出每个视图旳名称和重要关注点。
软件体系构造分析: 效用树(20分)某企业要开发一种在线交易系统, 该系统重要关注性能、可更改性、可用性和安全这五个质量属性。
负责开发旳团体分析了各个质量属性, 设计了一种参照旳体系构造。
该团体欲采用效用树技术对体系构造进行评估, 下面是有关旳场景: ☎∙∙站点 断电后 可以在 秒内完毕流量到站点 旳迁移;●信用卡交易需要有99.999% 旳安全性;●顾客旳授权数据库需要在 99.999% 旳状况下保证可用;●视频必须实时传播;●可以在4人-周内完毕对Web顾客界面旳变化网络失效和恢复必须在1.5分钟内完毕;●减少对客户数据库访问旳时间至200毫秒以内;请根据以上描述, 构建对应旳效用树2. 软件体系构造构建(20分)Travelling 是一家新兴旳旅游服务提供商, 可以在线为顾客提供在线旳实时旅游信息服务, 包括路线信息, 景点简介, 公交线路查询等, 其系统旳基本旳功能如下所示:☎∙∙顾客可以在网站上注册帐号和密码 成为该站点旳客户;☎∙∙客户可以使用浏览器访问网上旳站点 搜索并返回感爱好旳景点信息;☎∙∙该企业需要集成来自旅游线路提供商旳数据库 提供旅游线路支持;需要集成来自景点旳信息提供商旳数据库提供景点信息;需要集成公交企业旳应用系统提供公交信息查询能力。
软件体系结构试题库(软件工程)试题和答案

1、软件重用是指重复使用已有的软件产品用于开发新的软件系统,以达到提高软件系统的开发质量与效率,降低开发成本的目的。
答案:√2、可重用技术对构件库组织方法要求不仅要支持精确匹配,还要支持相似构件的查找。
答案:√3、软件体系结构充当一个理解系统构件和它们之间关系的框架,特别是那些始终跨越时间和实现的属性。
答案:√5、构件可以由其他复合构建和原子构件通过连接而成。
()答案:√6、体系的核心模型由5种元素组成:构建、连接体、配置、端口和角色()答案:√7、软件体系结构的核心由5种元素组成:构件、连接件、配置端口和角色。
其中,构件、连接件和配置是最基本的元素()答案:√8、开发视图主要支持系统的功能需求,即系统提供给最终用户的服务()答案:X9、构件、连接件以及配置是体系结构的核心模型最基本的元素()答案:√10、HMB风格不支持系统系统自顶向下的层次化分解,因为它的构件比较简单。
答案:×11、正交软件体系结构由组织层和线索的构件构成。
13、线索是子系统的特例,它由完成不同层次功能的构建组成,每一条线索完成整个系统中相对独立的一部分功能。
()答案:√14、层次系统中支持抽象程度递增的系统设计是设计师可以把一个复杂系统按照递增的步骤进行分解,同时支持功能增强,但是不支持重用。
答案:×16、在软件设计中占据着主导地位的软件体系结构描述方法是图形表达工具。
答案:√18、体系结构设计是整个软件生命周期中关键的一环,一般在需求分析之后,软件设计之前进行。
答案:√19、基于软构件的系统描述语言是较好的一种以构件为单位的软件系统描述语言。
答案:√21、基于构件的动态系统结构模型分为三层,风别是应用层、中间层、和体系结构层。
答案:√23、基于构件的动态系统结构模型分为应用层,中间层和体系结构层。
答案:√29、一般的说,一个模式有一下4个基本成分,1.模式名称,2.问题,3.解决方案,4.效果,这句话是对的()答案:√30、设计模式的概念最早是由美国的一位计算机专家提出的。
软件体系结构试题库(软件工程)试题和答案

一、判断题1、软件重用是指重复使用已有的软件产品用于开发新的软件系统,以达到提高软件系统的开发质量与效率,降低开发成本的目的。
答案:√2、可重用技术对构件库组织方法要求不仅要支持精确匹配,还要支持相似构件的查找。
答案:√3、软件体系结构充当一个理解系统构件和它们之间关系的框架,特别是那些始终跨越时间和实现的属性。
答案:√5、构件可以由其他复合构建和原子构件通过连接而成。
()答案:√6、体系的核心模型由5种元素组成:构建、连接体、配置、端口和角色()答案:√7、软件体系结构的核心由5种元素组成:构件、连接件、配置端口和角色。
其中,构件、连接件和配置是最基本的元素()答案:√8、开发视图主要支持系统的功能需求,即系统提供给最终用户的服务()答案:X9、构件、连接件以及配置是体系结构的核心模型最基本的元素()答案:√10、HMB风格不支持系统系统自顶向下的层次化分解,因为它的构件比较简单。
答案:×11、正交软件体系结构由组织层和线索的构件构成。
答案:√13、线索是子系统的特例,它由完成不同层次功能的构建组成,每一条线索完成整个系统中相对独立的一部分功能。
()答案:√14、层次系统中支持抽象程度递增的系统设计是设计师可以把一个复杂系统按照递增的步骤进行分解,同时支持功能增强,但是不支持重用。
答案:×16、在软件设计中占据着主导地位的软件体系结构描述方法是图形表达工具。
答案:√18、体系结构设计是整个软件生命周期中关键的一环,一般在需求分析之后,软件设计之前进行。
答案:√19、基于软构件的系统描述语言是较好的一种以构件为单位的软件系统描述语言。
答案:√21、基于构件的动态系统结构模型分为三层,风别是应用层、中间层、和体系结构层。
答案:√23、基于构件的动态系统结构模型分为应用层,中间层和体系结构层。
答案:√29、一般的说,一个模式有一下4个基本成分,1.模式名称,2.问题,3.解决方案,4.效果,这句话是对的()答案:√30、设计模式的概念最早是由美国的一位计算机专家提出的。
软件体系结构与设计模式期末复习

体系结构期末复习一、选择题(一)1. 设计模式的基本原理是( C )A.面向实现编程B.面向对象编程C.面向接口编程D.面向组合编程2. 设计模式的两大主题是( D )A.系统的维护与开发B.对象组合与类的继承C.系统架构与系统开发D.系统复用与系统扩展3. 依据设计模式思想,程序开发中应优先使用的是( A )关系实现复用。
A.组合聚合B.继承C.创建D. .以上都不对4. 关于继承表述错误的是( D )A.继承是一种通过扩展一个已有对象的实现,从而获得新功能的复用方法。
B.泛化类(超类)可以显式地捕获那些公共的属性和方法。
特殊类(子类)则通过附加属性和方法来进行实现的扩展。
C.破坏了封装性,因为这会将父类的实现细节暴露给子类。
D.继承本质上是“白盒复用”,对父类的修改,不会影响到子类。
5. 常用的设计模式可分为( A )A.创建型、结构型和行为型B.对象型、结构型和行为型C.过程型、创建型和结构型D.抽象型、接口型和实现型6. “不要和陌生人说话”是对( D )设计原则的通俗表述。
A.接口隔离B.里氏代换C.依赖倒转D. .迪米特法则7. 在适配器模式中,对象适配器模式是对( A )设计原则的典型应用A.合成聚合B.里氏代换C.依赖倒转D. .迪米特法则8. 将一个类的接口转换成客户希望的另一个接口,这句话是对(C)设计模式的描述A.策略模式B.桥接模式C.适配器模式D.单例模式9. 以下设计模式中属于结构模式的是( D )A. 观察者模式B.单例模式C.策略模式D.外观模式10. 以下不属于对象行为型模式是( D )A. 命令模式B.策略模式C.访问者模式D.桥接模式11. 下面的类图表示的是哪个设计模式( D )A. 抽象工厂模式B.观察者模式C.策略模式D.桥接模式12. Open-Close开闭原则的含义是一个软件实体( A )A.应当对扩展开放,对修改关闭。
B.应当对修改开放,对扩展关闭。
软件体系结构试题最全试题+答案

1、设计模式一般用来解决什么样的问题( a)A.同一问题的不同表相 B不同问题的同一表相C.不同问题的不同表相D.以上都不是2、下列属于面向对象基本原则的是( c )A.继承B.封装C.里氏代换 D都不是3、Open-Close原则的含义是一个软件实体( a )A.应当对扩展开放,对修改关闭.B.应当对修改开放,对扩展关闭C.应当对继承开放,对修改关闭D.以上都不对4、当我们想创建一个具体的对象而又不希望指定具体的类时,可以使用( a )模式。
A.创建型B.结构型 C行为型 D.以上都可以5、要依赖于抽象,不要依赖于具体。
即针对接口编程,不要针对实现编程,是( d ) 的表述A.开-闭原则B.接口隔离原则C.里氏代换原则D.依赖倒转原则6、依据设计模式思想,程序开发中应优先使用的是( a )关系实现复用。
A, 委派 B.继承 C创建 D.以上都不对复用方式:继承和组合聚合(组合委派)7、设计模式的两大主题是( d )A.系统的维护与开发 B 对象组合与类的继承C.系统架构与系统开发D.系统复用与系统扩展8、单子模式中,两个基本要点( a b )和单子类自己提供单例A .构造函数私有 B.唯一实例C.静态工厂方法D.以上都不对9、下列模式中,属于行为模式的是( b )A.工厂模式 B观察者 C适配器以上都是10、“不要和陌生人说话”是( d )原则的通俗表述A.接口隔离B.里氏代换C.依赖倒转D.迪米特:一个对象应对其他对象尽可能少的了解11、构造者的的退化模式是通过合并( c )角色完成退化的。
A.抽象产品 B产品 C创建者 D使用者12、单子(单例,单态)模式类图结构如下:下列论述中,关于”0..1”表述的不正确的是( d )A.1表示,一个单例类中,最多可以有一个实例.B.”0..1”表示单例类中有不多于一个的实例C.0表示单例类中可以没有任何实例D.0表示单例类可以提供其他非自身的实例13、对象适配器模式是( a )原则的典型应用。
软件体系结构试题库试题和答案

1、软件重用是指重复使用已有的软件产品用于开发新的软件系统,以达到提高软件系统的开发质量与效率,降低开发成本的目的。
答案:√依据页码:P42、可重用技术对构件库组织方法要求不仅要支持精确匹配,还要支持相似构件的查找。
答案:√依据页码:P73、超文本组织方法与基于数据库系统的构件库组织方法不同,它基于全文检索技术。
4、答案:√依据页码:p85、软件体系结构充当一个理解系统构件和它们之间关系的框架,特别是那些始终跨越时间和实现的属性。
答案:√依据页码:P285、构件可以由其他复合构建和原子构件通过连接而成。
()答案:√依据页码:P376、体系的核心模型由5种元素组成:构建、连接体、配置、端口和角色()答案:√依据页码:P377、软件体系结构的核心由5种元素组成:构件、连接件、配置端口和角色。
其中,构件、连接件和配置是最基本的元素()答案:√依据页码:P378、开发视图主要支持系统的功能需求,即系统提供给最终用户的服务()答案:X依据页码:P32、339、构件、连接件以及配置是体系结构的核心模型最基本的元素()答案:√根据页码:P3710、HMB风格不支持系统系统自顶向下的层次化分解,因为它的构件比较简单。
答案:×依据页码:P8111、正交软件体系结构由组织层和线索的构件构成。
答案:√依据页码:P7012、基于事件的隐式调用风格的思想是构件不直接调用一个过程,而是触发或广播一个或多个事件。
答案:√依据页码:P5313、线索是子系统的特例,它由完成不同层次功能的构建组成,每一条线索完成整个系统中相对独立的一部分功能。
()答案:√依据页码:P7014、层次系统中支持抽象程度递增的系统设计是设计师可以把一个复杂系统按照递增的步骤进行分解,同时支持功能增强,但是不支持重用。
参考页码:P5515、相交关系R是一个等价关系。
答案:√16、在软件设计中占据着主导地位的软件体系结构描述方法是图形表达工具。
答案:√依据页码:10417、Rapide是一种可执行的ADL,其目的在于通过定义并模拟基于事件的行为对分布式同步系统建模。
软件设计与体系结构复习整理题目及答案

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 systems2、常用的中间件有那几种类型(四种)分类:Business Process Orchestrators 业务流程协调器Message Brokers 消息代理Application Servers 应用服务器Transport面向消息的中间件,分布式对象系统(1)CORBA---公用对象请求代理(调度)程序体系结构,它在对象间建立客户-服务器的关系,这样一个客户可以很简单地使用服务器对象的方法而不论服务器是在同一机器上还是Business Process OrchestratorsMessage BrokersApplication ServersTransport Message-Oriented Middleware,Distributed Objects SystemsJ2EE, CCM, .NET BizTalk, WebSphere Message Broker, SonicMQ BizTalk, TIBCO StaffWare, ActiveBPEL通过一个网络访问。
(常见的对象请求代理架构)(2)Basic Message-oriented middleware---- MOM指的是利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。
软件体系结构(考试习题集含答案)

1、面向对象得方法优势体现在( ABD )A.简化软件开发过程B.支持软件复用C.提高软件运行效率D.改善软件结构2.用户界面设计中得三条“黄金规则”就是( ABC )A.使系统处于用户控制之中B.减少用户得记忆负担C.保持界面得一致性D.保证用户得易学性3.用户界面得分析与设计过程就是迭代得,其中包括得活动就是( ABCD )A.用户、任务以及环境得分析与建模B.界面设计C.界面实现D.界面确认4.界面确认需要注意三个方面( ABC )A.界面正确完成了用户得任务,适应用户得任务变化B.易学性与易用程度C.用户得接受程度D.用户得习惯5.用户界面分析时通常采用得信息获取方式包括( ABCD )A.用户会谈B.销售人员信息采集C.市场分析D.用户支持人员信息收集6.( C )把完成一个特定功能得动作序列抽象为一个过程名与参数表A.数据抽象B.动作抽象C.过程抽象D.类型抽象7.( A)把一个数据对象得定义抽象为一个数据类型名A.数据抽象B.动作抽象C.过程抽象D.类型抽象8.软件体系结构设计需要考虑以下( ABCD )A.适用性B.结构稳定性C.可扩展性D.可复用性9.模块设计时应该考虑(AB )A.模块功能独立B.模块信息得隐藏C.模块接口得简单D.模块实现简单10.一个完整得软件设计得主要活动包括有( ABCD )A.体系结构设计B.界面设计C.模块/子系统设计、D.数据模型、过程/算法设计等11.模块化就是指把一个复杂得问题分割成若干个可管理得小问题后,更易于理解,模块化正就是以此为依据得,在划分模块得过程中应该考虑到( ABC )A.模块得可分解性、可组装型B.模块得可理解性、连续性、C.模块保护D.尽可能低分割模块,使得问题得难度降到最1.什么就是软件工程?构成软件工程得要素就是什么?软件工程就是将系统化得、规范得、可度量得方法应用于软件得开发、运行与维护过程,即将工程化应用于软件开发与管理之中,对所选方法得研究。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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 systems2、常用的中间件有那几种类型(四种)分类: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 SystemsJ2EE, 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脚本、传统编译器组件:称为过滤器,应用于对局部的输入流的转换,经常增长的计算,因此,在输入结束前输出就开始了。
. 连接器:称为管道,给流提供管道,把一个过滤器的输出传输到另一个输入。
(2)面向对象风格PPT49页适用于主要问题是识别和保护信息的相关主体。
数据代理和它们相关的操作封装在一个抽象数据类型里面。
优点:可以改变实施而不影响客户,可以设计作为独立的交互代理的集合的系统缺点:一个对象与另一个对象进行交互时第一个对象必须知道第二个对象的身份。
对象引起的副作用。
举例:java,c#开发的系统组件:对象连接器:功能和过程调用(方法)(3)隐式调用风格应用于涉及到组件的松耦合集,其中的每一个都执行一些操作,还可能允许其他的操作。
尤其对必须很快重新配置的应用很有用改变服务的供应商可能的或是不可能的能力不是直接的引用过程一个组件能发表一个或多个事件在系统中的其他组件能够在事件中注册一个兴趣通过与事件和过程结合当一个事件被声明后,广播系统(连接器)自己引用已经注册的事件的所有过程所有声明的事件“隐式”造成了过程在其他模块的调用优点:为重用提供强大支持、简化系统演化缺点:当一个系统广播一个事件时,不知道其他哪些组件会响应,不知道依赖于响应被调用的顺序,不知道响应什么时候结束举例:数据库管理系统中执行完整性约束(触发器)(4)客户-服务器风格PPT64页适用于涉及到分布式的数据和跨越一系列的组件的处理优点:数据分布简单明确、位置透明、混合和匹配异构平台、易于添加新服务器或升级现有服务器。
缺点:没有名称和服务的中央寄存器—很难找到什么服务是没用的举例:文件服务器、数据库服务器、对象服务器组件:服务器:标准独立的组件提供特别的服务,如打印,数据管理等。
客户端:组件调用服务器提供的服务。
连接器:网络,允许客户端访问远程服务器。
(5)分层风格PPT72页适用于涉及到分布式的能够分层的组织的类的服务,每层给它的上一层提供服务,同时作为下一层的客户端,只有仔细地从层选择选择过程,才能用于他们临近的外层。
优点:设计(基于提高抽象层次)、改善(一个层的功能改变最多影响两个层)、重用(相同层的不同实现可以交替使用)缺点:并不是所有的系统都可以很容易的实现分层,性能需求可能迫使底层实现高级功能的耦合。
举例:分层通信协议、操作系统组件:典型的过程的集合。
连接器:典型的在有限的可见性下的过程调用(6)仓库风格PPT80页适用于主要问题是建立、增加和维护复杂信息的主体部分,信息一定要能够用很多种方式操作。
经常需要长期的存在。
优点:有效存储大量数据、共享式模式模型、集中式管理缺点:必须先达成一个数据模型、很难分配数据、数据升级很昂贵举例:信息系统、编程环境、图形编辑器、人工智能知识基础、逆向工程系统组件:主要的数据结构能够表示出系统的正确状态操作主要数据结构的独立组件的集合连接器:典型地过程调用或是直接存访问(7)解释程序风格PPT87页适用于执行解决方案的最合适的语言或是机器不是直接可用的。
优点:模拟无实现的硬件、促进跨多种平台的应用程序或语言可移植性缺点:举例:编程语言编译器、基于规则的系统、脚本语言组件:包括一个状态机,有一个执行引擎和三个记忆状态:当前的执行引擎的状态程序被翻译当前的被翻译的程序的状态连接器:过程调用直接存访问(8)过程控制风格PPT94页适用于目的是维护特殊过程的输出属性在给定参考值的情形下优点:缺点:举例:实时系统软件用来控制(核电站、汽车巡航控制)组件:过程定义包括操作一些过程变量的机制控制算法决定如何去操作过程变量连接器:数据流关系过程变量:被控制的变量的值是系统能控制的输入变量能够检测过程的输入操纵变量的值能够被控制器改变设置断点是一个控制变量所需要的值传感器获得过程变量与控制有关的值6、架构师需要的核心技能是什么(1)涉众之间的交流 (2)技术知识(3)软件工程学(4)风险管理7、什么是架构视图 PPT 15页一个架构视图是对于从某一视角或某一点上看到的系统所做的简化描述,描述中涵盖了系统的某一特定方面,而省略了此方面无关的实体。