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

上传人:cl****1 文档编号:465211683 上传时间:2023-01-17 格式:DOC 页数:8 大小:60.50KB
返回 下载 相关 举报
软件设计与体系结构练习试题_第1页
第1页 / 共8页
软件设计与体系结构练习试题_第2页
第2页 / 共8页
软件设计与体系结构练习试题_第3页
第3页 / 共8页
软件设计与体系结构练习试题_第4页
第4页 / 共8页
软件设计与体系结构练习试题_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《软件设计与体系结构练习试题》由会员分享,可在线阅读,更多相关《软件设计与体系结构练习试题(8页珍藏版)》请在金锄头文库上搜索。

1、 .wd.软件设计与体系构造复习一、 填空题(一) Chapter 11.软件设计模式通常包含4个 基本要素:模式名称、问题、解决方案以及效果。2.软件设计模式可以分为三个层次:架构模式、设计模式、习惯用法。3.软件设计模式是对软件设计经历的总结,是对软件设计中特定环境下反复出现的设计问题的、经过验证的、成功解决方案的描述。(二) chapter 51.早在1968年,计算机领域的大师Dijstra指出:工程规模越大,其整体架构就越重要。2. 软件体系构造的三个 基本要素是:构件、连接件、约束3. 对软件质量的关注正是软件架构师与一般的软件设计师的不同之处,一般的软件设计师主要关注软件功能的设

2、计,并要遵循架构师给出的设计准那么。4. IEEE 1471-2000标准定义软件体系构造是“系统的 基本组织构造,包括系统构成要素、这些构成要素相互之间以及运行环境之间的关系,还包括系统设计及演化时应遵循的原那么。(三) chapter 21.创立型软件设计模式是解决_对象创立机制_的设计模式。2.创立型软件设计模式的两个主导思想:封装了系统使用的具体类的知识,隐藏这些具体类的实例被创立与结合的细节。3.简单工厂方法模式的特点是仅仅有一个具体的创立者类,并且在此类中包含一个_静态工厂_方法。4.生成器模式是一步一步创立一个复杂的对象,允许用户通过制定复杂对象的类型和内容就可以构建它们,用户不

3、知道内部的具体构建细节5. 单例模式是指确保一个仅有一个唯一的实例,并提供一个全局的访问点。6. 在单例模式中,为了防止客户程序利用构造方法创立多个对象,要将构造方法声明为private(或私有)类型。(四) chapter 31. 构造型软件设计模式的主要目的是将不同的类和对象组合在一起,形成更大或者更复杂的构造体。2. 组合模式指将对象组合成树形构造,以表示“局部-整体的层次构造。该模式使得对单个对象和组合对象的使用具有一致性。3.适配器模式可以分为两种:类适配器和对象适配器4. 类适配器模式通过继承的方式改变已经存在的接口而形成新的接口,使之适合客户类调用的需要;对象适配器模式使用调用或

4、者聚合的方式选择调用多个类中的方法,形成新的接口。5. 适配器模式与外观模式都是为了设计新的接口而存在。它们的区别在于:适配器模式是转换接口,外观模式是简化接口。(五) chapter 41. 行为型软件设计模式解释对象之间是若何进展交互的。2. 迭代器模式能够提供一种方法按照顺序访问一个聚合对象中的所有元素,而又不需要暴露该对象的内部表示。3. 中介者模式的要点是将所有对象之间的交互细节抽象到一个独立的类中,这个类叫做中介者类。4. 访问者模式封装了分布于多个类之间的行为。(六) Chapter 61. 利用调用-返回风格软件体系构造设计的软件系统使用的是_分而治之_策略,其主要思想是将一个

5、复杂的大系统分解为一些子系统,以便降低复杂度,并且增加可修改性。2. 在管道-过滤器软件体系构造中,每个组件都有一组输入和输出,组件读入数据流,经过数据处理,然后产生输出数据流。3. 顺序批处理软件体系构造是数据流风格体系构造的一个子类型。在该系统种,组件为独立的程序,并且这些组件按照先后顺序处理,即只有当一个组件运行彻底完毕以后,下一个组件才能开场执行。4. 主程序-子程序软件体系构造特别关注功能的实现。面向对象软件体系构造特别关注数据与功能的封装。二、 简答题(一) Chapter11. 软件体系构造为什么重要答:软件体系构造: 是软件相关人员进展交流的手段;(2分) 是一种高层次的设计复

6、用手段;2分 是早期关键设计决策的表达。1分2. 软件体系构造与软件框架的区别答:呈现形式不同:体系构造的呈现形式是一个设计规约,而框架那么是程序代码。2分目的不同:体系构造的首要目的大多是指导一个软件系统的实施与开发;而框架的首要目的是为复用因此,一个框架可有其体系构造,用于指导该框架的开发,反之不然3分3. 解释开闭原那么、Liskov替换原那么、依赖倒置原那么答:开闭原那么:构件应该对扩展具有开放性,对修改具有封闭性。(2分)Liskov替换原那么:子类可以替换它们的父类。(2分)依赖倒置原那么:依赖于抽象,而非具体实现。(1分)(二) chapter24. 说明工厂方法、简单工厂模式、

7、抽象工厂模式三个模式的主要区别。答:简单工厂模式只有一个工厂类,该工厂类的静态工厂方法负责所有产品的创立。(1分)工厂方法模式中,一个产品类层次对应一个工厂类层次,每个具体工厂负责创立一个具体的产品。2分抽象工厂模式中,一个工厂类层次对应多个产品类层次,每个具体工厂负责一个产品簇中产品的创立。2分5. 实现单例模式的三个关键要点是什么答:将构造方法私有化;(1分)定义一个静态实例;2分提供一个可以返回静态实例的静态方法。2分6. 简述生成器模式与抽象工厂模式的区别。答:前者按照步骤创立一个复杂的对象,而后者强调一类产品对象,创立一个产品族中的某个产品对象简单或复杂。3分前者将所建造的产品通常建

8、造一个复合体最后一次性返回,而不是一点一点返回,而抽象工厂所创立的产品对象立即被返回。2分(三) Chapter37. 简述外观模式与适配器模式的区别答:外观模式简化接口是为了更好地使用某个类库适配器模式转换接口的目的是将一个不适合使用的接口转换为可以被使用的接口,或者将一些接口不同但功能一样或相近的接口加以转换,以便统一使用。8. 简述构造型模式的分类。答:分为两类:构造型类模式:关心类的组合,使用继承来组合接口或类,提供了类之间的关联方式。(2分)构造型对象模式:关心类和对象的组合,描述了若何对一些对象进展组合,从而实现新功能的一些方法。具体来说,通过关联关系,可以在一个类中定义另一个类的

9、对象,然后通过该对象调用其方法。3分(四) Chapter 49. 简述迭代器模式的主要功能答:提供对聚合对象的迭代访问:以不同的方式遍历聚合对象,如向前、向后对同一聚合同时进展多个遍历以不同的遍历策略遍历聚合多态迭代:为不同的聚合构造提供统一的迭代接口,即,通过一个迭代接口访问不同的聚合构造。10. 简述访问者模式中形成的回调访问通路答:visit()与accept()方法构成一个调用通路。1分visit(X):访问者类告知具体元素X类,我要访问你,即调用它的方法。2分accept(Visitor):具体元素X类告知Visitor,我承受你的访问。Visitor访问具体元素X类的目的是什么,

10、具体元素X类不管。2分11. 策略模式和状态模式的区别。答:策略模式用来处理一组具有一样目的但是实现方法不同的算法,这些算法方案之间一般来说没有状态变迁。2分状态模式那么有所不同,它实现的一个概念可以叫做动态继承,也就是继承的子类都可以发生变化。状态的变化可以由一个状态迁移图表示。2分一般来说,实现状态模式更复杂一点,用户需要仔细考虑由谁来负责状态转换问题,是由Context类负责还是由状态类的超类负责,还是由状态类的子类负责。(2分)(五) Chapter 612. 简述面向对象体系构造,并画出面向对象体系构造图答:面向对象体系构造中,把系统看作是由一些对象的集合组成而不是由函数或方法组成,

11、消息从一个对象发送到另外一个对象。每个对象都有其相关功能。一个对象是数据以对数据操作的封装体,外界通过接口与其进展交互。3分面向对象体系构造图如下:2分,下面这幅图不需要一模一样,表达清楚意思即可13. 简述主程序-子程序软件体系构造与面向对象体系构造的不同之处。答:在设计思想上的区别:主程序-子程序关注功能的实现,即系统是由一个个过程构成。面向对象体系构造关注数据与功能的封装对象。系统是由一系列对象构成,这些对象按一定规那么通信,完成具体功能。3分在系统分析设计方面的区别。前者采用构造化分析设计方法如数据流图、面向数据流的设计,后者采用面向对象分析设计,使用用例图、类图、时序图等模型。2分1

12、4. 画出MVC体系构造的一般形式的构造类图。15. 画出应用了观察者机制的MVC体系构造设计类图。三、 设计题(一) chapter 2创立型设计模式1. 一个房屋销售查询系统,以便查询不同类型的房屋的介绍、价格和地址等。为简单起见,只考虑两种类型的房屋:别墅(House)和公寓(Condo),并假设每种房屋类型都包含:豪华(Super)、中等(Medium)两个等级。要求能够查看房屋信息和房屋价格,请使用创立型设计模式解决该问题,画出设计类图。答:参考图 1图 1 抽象工厂模式参考图2. 假设有一个web托管公司,该公司在Windows和UNIX平台上托管服务。该Web托管公司在这两种平台

13、上提供三种不同类型的托管包: 基本Basic、高级Senior和更高级Super。使用“抽象工厂模式设计一个应用,查询该托管公司提供的不同类型的托管包功能,画出设计类图。答:参考图 2图 2 抽象工厂模式解决win、Unix服务创立问题3. 生成器模式可以用于描述肯德基KFC若何创立套餐:套餐是一个复杂对象,它一般包含主食如汉堡、牛肉饭等、配餐如新奥尔良烤翅、香辣鸡翅、吮指原味鸡等和饮料如果汁、可乐等等三个组成局部,不同的套餐有不同的组成局部,而KFC的服务员可以根据顾客的要求,一步一步装配这些组成局部,构造一份完整的套餐,然后返回给顾客。套餐假设目前有如下几个套餐:午餐套餐(Lunch Su

14、it)、晚餐套餐(Supper Suit)、豪华套餐(Luxury Suit)。请用生成器模式设计该应用,画出其设计类图。答:参见图 3图 3 生成器模式KFC套餐构造4. 以以下图所示设计类图是关于游戏软件的设计。在该设计中,SlowGameFactory类负责创立SlowFighter对象与SlowMonster对象,并且将创立完的对象以其超类类型返回给ClientGUI对象。然后,ClientGUI对象将操纵SlowFighter对象与SlowMonster对象,使得它们互相打斗。(1) 上述设计使用了什么设计模式抽象工厂(2) 请在以上设计中添加SuperFighter和SuperMo

15、nster,SuperFighter与SuperMonster是对应的,请绘制新的设计类图。修正一下该答案5. 某公司要设计一个房屋选购系统,系统内的房屋分为三种类型:经济型Economic House、普通型Normal House与豪华型Luxury House。不同房型的区别表达在面积大小Area以及卧室Bedroom、卫生间Bathroom、车库Garage、花园Garden、游泳池Swimming Pool的数量上。请用生成器模式设计该选购系统,画出设计类图。(二) chapter 3 构造型设计模式6. 使用组合模式设计一款使用不同国家的语言做为问候语的软件,需要一个用于用户输入的用户图形界面。在该用户图形界面上,有各个主要国家的列表。用户可以选择一个国家,然后,单击产生问候语的按钮,程序将显示该国家见面时所使用的问候语。使用安全形式设计,画出设计类图。使用透明形式设计,画出设计类图。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 农业工程

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号