软件设计与体系结构-复习试题

合集下载

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

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

1、各种性能指标的定义及如何到达各种性能指标的方法ppt1-8 119页-124页 ①性能:吞吐量Throughput 、响应时间Response Time 、Deadlines②实现吞吐量:Peak & Average Many system have low average but high peak throughput requirements③实现响应时间: Guaranteed & Average . 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性,解决过去企业后端使用的信息产品彼此之间无法兼容,企业内部或外部难以互通的问题。

软件设计与体系结构复习题

软件设计与体系结构复习题

软件设计与体系结构复习题软件设计与体系结构复习题软件设计与体系结构是计算机科学与技术领域中的重要课程,它涉及到软件系统的设计、构建和维护。

在这篇文章中,我们将回顾一些与软件设计与体系结构相关的复习题,以帮助读者巩固知识和提高理解。

一、软件设计原则1. 什么是SOLID原则?请简要介绍每个原则的含义。

SOLID原则是面向对象设计中的五个基本原则,分别是单一职责原则、开放封闭原则、里氏替换原则、接口隔离原则和依赖倒置原则。

单一职责原则指一个类只应该有一个引起变化的原因;开放封闭原则指软件实体(类、模块、函数等)应该对扩展开放,对修改关闭;里氏替换原则指子类对象应该能够替换父类对象而不影响程序的正确性;接口隔离原则指客户端不应该依赖它不需要的接口;依赖倒置原则指高层模块不应该依赖于低层模块,它们都应该依赖于抽象。

2. 什么是DRY原则?它的目的是什么?DRY原则(Don't Repeat Yourself)指不要重复自己。

它的目的是避免代码的重复,提高代码的可维护性和可复用性。

通过遵循DRY原则,可以减少代码的冗余,降低了修改代码时的风险,同时也提高了代码的可读性。

二、软件体系结构1. 什么是软件体系结构?它有什么作用?软件体系结构是指软件系统的整体结构和组织方式,它描述了软件系统中各个组件之间的关系和交互。

软件体系结构有助于理解系统的整体架构,提供了对系统进行设计、开发和维护的指导方针。

2. 请简要介绍常见的软件体系结构模式。

常见的软件体系结构模式包括分层结构、客户端-服务器结构、发布-订阅结构、管道-过滤器结构等。

分层结构将系统划分为若干层次,每一层次负责不同的功能;客户端-服务器结构将系统划分为客户端和服务器两部分,客户端发送请求,服务器提供服务;发布-订阅结构中,发布者发布消息,订阅者订阅感兴趣的消息;管道-过滤器结构中,数据通过一系列的过滤器进行处理。

三、设计模式1. 什么是设计模式?为什么使用设计模式?设计模式是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。

软件体系结构试题免费版本

软件体系结构试题免费版本

软件体系结构考试试题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. 软件危机的概念、产生的原因、解决方法。

答:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

产生软件危机的原因:1.用户需求不明确2.缺乏正确的理论问题3.软件规模越来越大4.软件复杂度越来越高解决方法:通过运用软件工程,用工程、科学和数学的原则与方法来研制维护计算机软件的有关技术及管理,实现软件开发。

2. 构件的概念、分类。

答:构件是指语义完整、语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨别的系统。

简单来说,构件是具有一定功能的,能够独立工作或是能同其他构件装配起来的程序体。

P4构件的分类:(1)独立而成熟的构件该类构件得到实际运行环境的多次检验,隐藏了所有接口,用户只需规定好的命令进行操作。

(2)有限制的构件该构件提供接口,指出了试用的条件和前提,在装配时,产生资源冲突、覆盖等影响,在使用时需要加以测试。

(3)适用性构件该构件进行包装或使用接口技术,对不兼容性、资源冲突等进行了处理,可以直接使用。

(4)装配的构件该构件在安装时,已经装配在OS,数据库管理系统或信息系统不同层面上,使用胶水代码可以直接连接使用。

(5)可修改的构件该构件可以版本替换,要对原构件修改错误、增加新功能,则可以利用“包装”或写接口来实现构件替换。

3. 构件重用的步骤P10答:构件重用的步骤为:1.检索与提取构件2.理解与评论构件3.修改构件4.构件组装4. 软件体系结构的定义、意义答:软件体系结构是为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成。

软件体系结构的意义:P201.体系结构是风险承担者进行交流的手段2.体系结构是早期设计决策的体现3.软件体系结构是可传递和可重用的模型1. 4+1视图模型的含义和图示答:4+1视图模型含义:从5个不同的视角(逻辑视图、进程视图、物理视图、开发视图和场景视图)来描述软件体系结构,每个视图只关心系统的一个侧面,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. 组合模式指将对象组合成树形结构,以表示“部分-整体”的层次结构。

该模式使得对单个对象和组合对象的使用具有一致性。

3.适配器模式可以分为两种:类适配器和对象适配器4. 类适配器模式通过继承的方式改变已经存在的接口而形成新的接口,使之适合客户类调用的需要;对象适配器模式使用调用或者聚合的方式选择调用多个类中的方法,形成新的接口。

软件工程与系统架构设计考核试卷

软件工程与系统架构设计考核试卷
3. ______
4. ______
5. ______
6. ______
7. ______
8. ______
9. ______
10. ______
11. ______
12. ______
13. ______
14. ______
15. ______
16. ______
17. ______
18. ______
7.软件架构设计只关注系统的功能性需求。()
8.微服务架构中,每个微服务都是独立的部署单元。()
9.云计算只适用于大型企业和复杂应用。()
10.软件架构的演化意味着系统需要完全重新设计。()
五、主观题(本题共4小题,每题10分,共40分)
1.请简述软件工程的基本目标和原则,并说明它们在软件开发过程中的重要性。
A.需求评审
B.设计评审
C.代码审查
D.营销策略
13.关于软件架构风格,以下哪个描述是正确的?()
A.分层架构注重模块的横向切分
B.客户端-服务器架构中,服务器端负责处理所有的计算任务
C.面向对象架构强调数据和方法的紧密结合
D.事件驱动架构主要应用于嵌入式系统
14.以下哪个不是软件系统架构设计的主要任务?()
1.软件工程的主要目标之一是完全消除软件缺陷。()
2.需求分析是软件开发过程中唯一不需要编码的阶段。()
3.在面向对象设计中,类的继承是一种强耦合关系。()
4.软件测试的目的是证明软件是正确的。()
5.软件维护通常占软件开发总成本的70%以上。()
6.甘特图和里程碑图是软件项目管理中用于相同目的的工具。()
A.提供了弹性伸缩的能力

软件设计与体系结构-复习试题

软件设计与体系结构-复习试题

名词解释1.设计模式一些设计面向对象的软件开发的经验总结,就是系统的命名、解释、和评价某一个重要的面向对象的可重现的面向对象的设计方案。

2.软件体系结构(Software Architecture)软件体系结构以组件和组件交互的方式定义系统,说明需求与成品系统之间的对应关系,描述系统级别的可伸缩性、能力、吞吐量、一致性和兼容性等属性。

软件体系结构由组件、连接件和属性组成。

3.软件体系结构风格(Software Architecture Style)软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。

体系结构风格定义了一个系统家族,即一个体系结构定义一个词汇表和一组约束。

词汇表中包含一些构件和连接件类型约束指出系统中构件和连接件的组合方式,体系结构风格反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。

4.软件产品线产品线是一个产品集合,这些产品共享一个公共的、可管理的特征集,这个特征集能满足选定的市场或任务领域的特定需求。

这些系统遵循一个预描述的方式,在公共的核心资源(core assets)基础上开发的。

5.体系结构描述语言体系结构描述语言(ADL)是在底层语义模型的支持下,为软件系统的概念体系结构建模提供了具体语法和概念框架。

基于底层语义的工具为体系结构的表示、分析、演化、细化、设计过程等提供支持。

其三个基本元素是:构件、连接件、体系结构配置。

6.软件重用指在两次或多次不同的软件开发过程中重复使用相同或相似软件元素的过程。

软件元素包括程序代码、测试用例、设计文档、设计过程、需要分析文档甚至领域知识。

通常,可重用的元素也称作软构件,可重用的软构件越大,重用的粒度越大。

7.构件是指语义完整、语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统;结构上,它是语义描述、通信接口和实现代码的复合体。

8.构件组装构件组装是指将库中的构件经适当修改后相互连接,或者将它们与当前开发项目中的软件元素相连接,最终构成新的目标软件。

软件设计与体系结构练习题

软件设计与体系结构练习题

一、选择题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、不能因为设计的退化去责怪需求的变化。

软件体系结构考试习题集含答案样本

软件体系结构考试习题集含答案样本

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.软件工程是将系统化、规范、可度量办法应用于软件开发、运营和维护过程, 即将工程化应用于软件开发和管理之中, 对所选办法研究。

软件工程要素由办法、工具和过程构成。

办法支撑过程和工具, 而过程和工具增进办法学研究。

软件体系结构-复习题

软件体系结构-复习题

《软件体系结构》习题一、单选题第一章概述1、软件开发模型大体上可以分为3种类型。

第1种是以软件需求完全确定为前提的;第2种是在软件开发初期阶段只能提供基本需求时采用的;第3种是以形式化为基础的变换模型。

A.协同模型B.瀑布模型C.变换模型D.迭代式模型2、根据《信息技术软件生存周期过程》标准,企业为实现ERP系统而准备招标书的活动属于生存周期基本过程中的过程,与该活动属于同一过程的活动还有。

A.总体规划B.系统实现C.获取D.供应A.启动B.准备投标C.系统需求分析D.项目管理3、螺旋模型是一种演进式的软件过程模型,结合了原型开发方法的系统性和瀑布模型可控性特点。

它有两个显著特点,一是采用的方式,逐步加深系统定义和实现的深度,降低风险;二是确定一系列,确保项目开发过程中的相关利益者都支持可行的和令人满意的系统解决方案。

A.逐步交付B.顺序C.循环D.增量A.实现方案B.设计方案C.关键点D.里程碑4、极限编程是一种重要的敏捷开发方法,包括策划、设计、编码和测试4个框架活动的规则和实践。

下面关于极限编程的叙述,错误的是。

A.极限编程中使用的重要技术是重构,既包括设计技术的重构,也包括构建技术的重构B.极限编程提倡在基本设计完成后立即进行编码实现,并进行测试C.极限编程活动中的关键概念之一是“结对编程”,推荐两个人面对同一台计算机共同开发代码D.极限编程过程中建立的单元测试应当使用一个可以自动实施的框架,支持代码修改后即时的回归测试策略5、把整个软件开发流程分成多个阶段,每一个阶段都由目标设定、风险分析、开发和有效性验证以及评审构成。

A.原型模型B.瀑布模型C.螺旋模型D.V模型6、某企业使用了某厂商的软件产品,随后该厂商又推出了这种产品的新版本。

该企业信息中心正在考虑是否需要升级该软件。

信息中心未做出立即更新软件版本的决定,最可能的原因是。

A.需要等待用户部门做出支付软件版本升级费用的预算B.用户部门还没有要求软件版本升级C.虽然新版软件在社会上已普遍使用,但信息中心还是担心存在潜在问题D.新版软件与其他用户部门正在使用的软件不兼容7、某小型软件公司欲开发一个基于Web的考勤管理系统,客户对系统的基本功能、表现形式等要求并不明确。

软件体系结构试题与解答

软件体系结构试题与解答

模拟试题(一)第一题: 名词解释(每题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. 设计模式的基本原理是( 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.UML中的事物包括:结构事物,分组事物,注释事物和(D)A、实体事物B、边界事物C、控制事物D、动作事物2.(A)模型的缺点是缺乏灵活性,特别是无法解决软件需求不明确或不准确的问题A、瀑布模型B、原型模型C、增量模型D、螺旋模型3.下面哪个UML视图是描述一个对象的生命周期的( B )(A)类图 (B)状态图 (C)协作图 (D)顺序4.下列描述中,哪个不是建模的基本原则(D)A.要仔细的选择模型B.每一种模型可以在不同的精度级别上表示所要开发的系统C.模型要与现实相联系D.对一个重要的系统用一个模型就可以充分描述5.瀑布模型的生存周期是(C)A. 听取客户意见→建造/修改→测试/运行B. 计划→听取客户意见→设计→编码→测试→运行/维护C. 计划→需求分析→设计→编码→测试→运行/维护D. 需求分析→计划→设计→编码→测试→运行/维护6.下面哪个不是UML中的静态视图(A)A.状态图B.用例图C.对象图D.类图7.(A)技术是将一个活动图中的活动状态进行分组,每一组表示一个特定的类、人或部门,他们负责完成组内的活动。

A、泳道B、分叉汇合C、分支D、转移8.下列关于状态图的说法中,正确的是(C)A. 状态图是UML中对系统的静态方面进行建模的五种图之一。

B. 状态图是活动图的一个特例,状态图中的多数状态是活动状态C.活动图和状态图是对一个对象的生命周期进行建模,描述对象随时间变化的行为。

D. 状态图强调对有几个对象参与的活动过程建模,而活动图更强调对单个反应型对象建模9.在UML的顺序图中,通常由左向右分层排列各个对象,正确的排列方法是( A)(A)执行者角色控制类 用户接口业务层后台数据库(B)执行者角色用户接口控制类 业务层后台数据库(C)执行者角色控制类 用户接口后台数据库业务层(D)执行者角色用户接口业务层控制类 后台数据库10. 组成UML有三种基本的建筑块是:(A),事物和图A、关系B、类C、用例D、实体11.类图应该画在Rose的哪种(B)视图中A、Use CaseViewB、Logic ViewC、ComponentViewD、Deployment View12.类通常可以分为实体类,(C)和边界类A、父类B、子类C、控制类D、祖先类13.顺序图由类角色,生命线,激活期和(B)组成A、关系B、消息C、用例D、实体14.(D)是系统中遵从一组接口且提供实现的一个物理部件,通常指开发和运行时类的物理实现A、部署图B、类C、接口D、组件15.顺序图由对象,生命线,控制焦点和(B)组成(A)关系 (B)消息 (C)用例 (D)实体16.UML中关联的多重度是指( B)(A)一个类有多个方法被另一个类调用(B)一个类的实类能够与另一个类的多个实类相关联(C)一个类的某个方法被另一个类调用的次数(D)两个类所具有的相同的方法和属性17.关于协作图的描述,下列哪个不正确(B)A.协作图作为一种交互图,强调的是参加交互的对象的组织;B.协作图是顺序图的一种特例C.协作图中有消息流的顺序号;D.在ROSE工具中,协作图可在顺序图的基础上按“F5”键自动生成;18.组件图用于对系统的静态实现视图建模,这种视图主要支持系统部件的配置管理,通常可以分为四种方式来完成,下面哪种不是其中之一(B)A.对源代码建模B.对事物建模C.对物理数据库建模D.对可适应的系统建模19.下列对状态图描述不正确的是(C)(A)状态图通过建立类对象的生命周期模型来描述对象随时间变化的动态行为(B)状态图适用于描述状态和动作的顺序,不仅可以展现一个对象拥有的状态,还可与说明事件如何随着时间的推移来影响这些状态(C)状态图的主要目的是描述对象创建和撤销的过程中资源的不同状态,有利于开发人员提高开发效率(D)状态图描述了一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处状态对不同的事件作出反应20.一个对象和另一个对象之间,通过消息来进行通信。

(完整版)软件体系结构复习题及答案

(完整版)软件体系结构复习题及答案

概述部分1、请分析软件危机的主要表现和原因。

表现:a)软件成本日益增加:开发、部署与应用成本高b)开发进度难以控制:不能按期完成c)软件质量差:错误率高,不能满足用户的需求,没有生命力d)软件维护困难:成本高,维护效果不理想,可能带来潜在的错误原因:1.用户需求不明确2.缺乏正确的理论指导3.软件规模越来越大4.软件复杂度越来越高2、请说明软件规模与复杂度对软件过程的影响及解决方法。

软件规模与复杂度增加后,软件开发和维护成本增加,开发进度难以控制,软件质量差,软件维护变得困难。

应更多地采用科学的分析、设计和实现方法以及辅助工具,增强软件分析和设计的力度,并通过构件化提高软件的重用能力。

3、什么是软件体系结构,由哪三个部分组成?(构件、连接件、约束)软件体系结构为软件系统提供了一个结构、属性和行为的高级抽象。

它不仅指定了系统的组织结构和拓扑结构,并且显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。

4、请简述软件重用的含义和意义。

可重用元素包括哪些种类?软件重用是指在多次不同的软件开发过程中重复使用相同或相近软件元素的过程。

(含义)可重用的元素包括程序代码、测试用例、设计文档、需求分析文档甚至领域知识。

(种类)可重用的元素越大,我们就说重用的粒度(Granularity)越大。

软件重用是软件产业工业化、工程化的重要手段。

软件重用对提高生产率,降低开发成本,缩短开发周期,改善软件质量以及提高灵活性和标准化程度大有帮助。

(意义)5、请简述常用的构件实现模型及其意义。

实现模型:1.CORBA2.EJB / DCOM / COM+意义:这些模型通常都定义了构件的实现方式、接口定义、访问方法等。

符合这些标准的任何构件都有很高的重用能力。

描述部分6、请用图示法说明4+1模型的5种视图之间的关系及关注点和涉众用户。

数据视图风格部分7、什么是软件体系结构的风格?它在软件开发过程中具有何种意义?软件体系结构风格是指设计、组织和实现软件体系结构的各种惯用模式和习惯用法,是对一系列体系结构设计的抽象。

软件设计与体系结构练习题

软件设计与体系结构练习题

软件设计与体系结构练习题软件设计与体系结构复习一、填空题(一) Chapter 11.软件设计模式通常包含42.3.经过验证的、成功解决方案的描述。

(二) chapter 51.早在1968年,计算机领域的大师Dijstra2. 3. 关注软件功能的设计,并要遵循架构师给出的设计准则。

4. IEEE 1471-2000成要素相互之间以及运行环境之间的关系,还包括系统设计及演化时应遵循的原则”。

(三) chapter 21.创建型软件设计模式是解决_的设计模式。

2.例被创建与结合的细节。

3.简单工厂方法模式的特点是仅仅有一个具体的创建者类,并且在此类中包含一个__方法。

4.允许用户通过制定复杂对象的类型和内容就可以构建它们,用户不知道内部的具体构建细节5.6. 在单例模式中,为了防止客户程序利用构造方法创建多个对象,要将构造方法声明为(四) chapter 31. 构体。

2. 象和组合对象的使用具有一致性。

3.4. 需要;对象适配器模式使用调用或者聚合的方式选择调用多个类中的方法,形成新的接口。

5. 接口,外观模式是简化接口。

(五) chapter 41.2. 对象的内部表示。

3. 类。

4.(六) Chapter 61. 利用调用-返回风格软件体系结构设计的软件系统使用的是_策略,其主要思想是将一个复杂的大系统分解为一些子系统,以便降低复杂度,并且增加可修改性。

2. 处理,然后产生输出数据流。

3. 程序,并且这些组件按照先后顺序处理,即只有当一个组件运行彻底结束以后,下一个组件才能开始执行。

4. 主程序-能的封装。

二、简答题(一) Chapter11. 软件体系结构为什么重要?答:软件体系结构: ①是软件相关人员进行交流的手段;(2分) ②是一种高层次的设计复用手段;(2分)③是早期关键设计决策的体现。

(1分)2. 软件体系结构与软件框架的区别?答:①呈现形式不同:体系结构的呈现形式是一个设计规约,而框架则是程序代码。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

名词解释1.设计模式一些设计面向对象的软件开发的经验总结,就是系统的命名、解释、和评价某一个重要的面向对象的可重现的面向对象的设计方案。

2.软件体系结构(Software Architecture)软件体系结构以组件和组件交互的方式定义系统,说明需求与成品系统之间的对应关系,描述系统级别的可伸缩性、能力、吞吐量、一致性和兼容性等属性。

软件体系结构由组件、连接件和属性组成。

3.软件体系结构风格(Software Architecture Style)软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。

体系结构风格定义了一个系统家族,即一个体系结构定义一个词汇表和一组约束。

词汇表中包含一些构件和连接件类型约束指出系统中构件和连接件的组合方式,体系结构风格反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。

4.软件产品线产品线是一个产品集合,这些产品共享一个公共的、可管理的特征集,这个特征集能满足选定的市场或任务领域的特定需求。

这些系统遵循一个预描述的方式,在公共的核心资源(core assets)基础上开发的。

5.体系结构描述语言体系结构描述语言(ADL)是在底层语义模型的支持下,为软件系统的概念体系结构建模提供了具体语法和概念框架。

基于底层语义的工具为体系结构的表示、分析、演化、细化、设计过程等提供支持。

其三个基本元素是:构件、连接件、体系结构配置。

6.软件重用指在两次或多次不同的软件开发过程中重复使用相同或相似软件元素的过程。

软件元素包括程序代码、测试用例、设计文档、设计过程、需要分析文档甚至领域知识。

通常,可重用的元素也称作软构件,可重用的软构件越大,重用的粒度越大。

7.构件是指语义完整、语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统;结构上,它是语义描述、通信接口和实现代码的复合体。

8.构件组装构件组装是指将库中的构件经适当修改后相互连接,或者将它们与当前开发项目中的软件元素相连接,最终构成新的目标软件。

9.体系结构配置体系结构配置或拓扑是描述体系结构的构件与连接件的连接图。

体系结构配置提供信息来确定构件是否正确连接、接口是否分配、连接件构成的通信是否正确,并说明实现要求行为的组合含义。

10.易用性易用性关注一个用户完成需要的工作的容易程度以及系统提供的用户支持的种类,包括:学习系统特性。

如果用户对某一特定系统或者系统的特定方面不熟悉,系统应该怎样使得学习变得容易?高效地使用系统。

系统在帮助用户更高效操作方面能做些什么?11.场景(scenarios)场景可以看做是那些重要系统活动的抽象,它使4个视图有机联系起来,从某种意义上说场景是最重要的需求抽象。

12.MVC MVC是模型(Model),视图(View)和控制(Controller)三个单词的缩写。

MVC 模式的目的就是实现Web系统的职能分工。

Model是应用对象,所有的操作都在这里实现,它若需要取得视图中的对象或更新视图,需通过控制器来进行处理。

View是模型在屏幕上的表示,模型在进行操作后,其结果是通过视图显示的。

Controller用于管理用户与视图发生的交互,定义用户界面对用户输入的响应方式。

一旦用户需要对模型进行处理,不能直接执行模型,而必须通过控制器间接实现的。

13.C2体系结构风格C2体系结构风格可以概括为通过连接件绑定在一起的、按照一组规则运作的并行构件网络。

14.SOA 即service-oriented architecture,面向服务架构。

它是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。

接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。

这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。

Framework 是整个或部分系统的可重用设计,从设计模式角度来看,框架为大粒度的可复用的部件。

从体系结构角度来看,框架是一个领域体系结构。

15.DSSA Domain Specific Software Architecture:特定领域软件体系结构。

建立一种基于体系结构的方法,这需要对体系结构,其一般性构件和互联,以及客户的需求按何种方式由构件来集成都要达成共识。

简答题1.什么是体系结构描述语言?它与程序语言以及UML有哪些区别与联系?ADL是在底层语义模型的支持下,为软件系统的概念体系结构建模提供了具体语法和概念框架。

基于底层语义的工具为体系结构的表示、分析、演化、细化、设计过程等提供支持。

其三个基本元素是:构件、连接件、体系结构配置。

跟其他语言的比较:◎构造能力:ADL能够使用较小的独立体系结构元素来建造大型软件系统;◎抽象能力:ADL使得软件体系结构中的构件和连接件描述可以只关注它们的抽象特性,而不管其具体的实现细节;◎重用能力:ADL使得组成软件系统的构件、连接件甚至是软件体系结构都成为软件系统开发和设计的可重用部件;◎组合能力:ADL使得其描述的每一系统元素都有其自己的局部结构,这种描述局部结构的特点使得ADL支持软件系统的动态变化组合;◎异构能力:ADL允许多个不同的体系结构描述关联存在;◎分析和推理能力:ADL允许对其描述的体系结构进行多种不同的性能和功能上的多种推理分析。

2.管道过滤器风格结构特点①使得软构件具有良好的隐蔽性和高内聚、低耦合的特点;②允许设计者将整个系统的输入/输出行为看成是多个过滤器的行为的简单合成;③支持软件重用;④系统维护和增强系统性能简单;⑤允许对一些如吞吐量、死锁等属性的分析;⑥支持并行执行。

但是,这样的系统也存在着若干不利因素。

①通常导致进程成为批处理的结构。

这是因为虽然过滤器可增量式地处理数据,但它们是独立的,所以设计者必须将每个过滤器看成一个完整的从输入到输出的转换。

②不适合处理交互的应用。

当需要增量地显示改变时,这个问题尤为严重。

③因为在数据传输上没有通用的标准,每个过滤器都增加了解析和合成数据的工作,这样就导致了系统性能下降,并增加了编写过滤器的复杂性。

3.什么是设计模式?它与风格、框架有什么区别与联系?设计模式是对通用设计问题的重复解决方案。

软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。

软件框架是整个或部分系统的可重用设计。

模式比框架更加抽象,框架是模式的特例化。

设计模式被实现成为框架后,可以极大的减轻从设计到实现的鸿沟,利用了模式的框架比没有利用模式的框架更容易理解、更能被设计与实现重用。

通常成熟的框架包含了多种设计模式,一个框架不仅可以具体实现一个模式,还可以具体的实现多个模式。

设计模式与风格两者为近义词,通常情况下可以互相通用,风格主要是指大的,宏观的设计。

模式既可宏观,又可微观。

4.软件体系结构测试的内容与准则是什么?内容:构件端口行为与连接件约束是否一致、兼容,单元间的消息是否一致、可达,相关端口是否可连接,体系结构风格是否可满足。

准则:测试覆盖所有的构件及各个构件的接口。

各个连接件的接口、构件之间的直接连接、构件之间的间接连接。

5.什么是软件危机,软件危机的具体表现有哪些?软件危机:落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。

软件危机的表现:①软件成本日益增长;②开发进度难以控制;③软件质量差④软件维护困难。

6.说明Web服务的体系结构模型?它的三个核心协议分别是什么?Web服务的体系结构模型:Web服务是一种崭新的分布式计算模型,是Web上数据和信息集成的有效机制。

三个构成元素为:Serverice Broker、Service Provider、Service Requester三个核心协议:①简单对象访问协议SOAP;②统一描述、发现和集成协议UDDI;③Web服务描述语言WSDL。

7.简述接口对于构件的重要意义。

只能通过构件的接口来使用构件中定义的操作。

构件可以让它的接口被其他构件使用,以使其他构件可以使用这个构件中定义的操作。

提供服务的构件提供了导出接口,访问服务的构件使用了导入接口。

8.类图在UML中有何重要作用?为开发人员提供这种模仿现实世界的表达方式。

让分析员使用客户所采用的术语和客户交流,促使客户说出所要解决的问题的重要细节。

9.阐述用例对于系统开发人员来说的价值。

用例是用来从用户的观察角度收集系统需求的一项技术,便于分析员与客户和用户交流,使系统更符合用户的需求。

10.简述如何在实际工作中发现类。

在与客户的交谈中,要注意客户用来描述业务实体的名词术语。

这些名词可作为领域模型中的类。

还要注意你听到的动词,因为这些动词可能会构成这些类中的操作。

当得到一组类的核心列表后,应当向客户询问在业务过程中每个类的作用。

他们的回答将告诉你这些类的职责。

11.简述B/S架构的优点。

基于B/S体系结构的软件,系统安装、修改和维护全在服务器端解决。

用户在使用系统时,仅仅需要一个浏览器就可运行全部的模块,真正达到了“零客户端”的功能,很容易在运行时自动升级。

B/S体系结构还提供了异种机、异种网、异种应用服务的联机、联网、统一服务的最现实的开放性基础。

12.C/S系统中客户端应用程序有哪些主要任务?①提供用户与数据库的交互界面;②向数据库服务器提交用户请求并接受来自数据库服务器的信息;③利用客户端应用程序对存在于客户端的数据执行应用逻辑要求。

13.什么软件体系结构风格?软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。

体系结构风格定义了一个系统家族,即定义一个词汇表和一组约束。

词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。

14.简述MVC,介绍各自的作用和用途。

MVC是模型(Model),视图(View)和控制Controller)是三个单词的缩写。

MVC模式的目的就是实现Web系统的职能分工。

Model是应用对象,所有的操作都在这里实现,它若需要取得视图中的对象或更新视图,需通过控制器来进行处理。

View是模型在屏幕上的表示,模型在进行操作后,其结果是通过视图显示的。

Controller用于管理用户与视图发生的交互,定义用户界面对用户输入的响应方式。

一旦用户需要对模型进行处理,不能直接执行模型,而必须通过控制器间接实现的。

15.软件体系结构的定义众多,你是如何理解软件体系结构的?软件体系结构在软件系统中有何作用?软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素继承的模式以及这些模式的约束组成。

软件体系结构不仅指定了系统的组织结构和拓扑结构,还显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。

相关文档
最新文档