软件设计与体系结构练习题全解精品资料 - 图文
更新时间:2023-09-16 02:19:01 阅读量: 高中教育 文档下载
软件设计与体系结构复习
一、 填空题
(一) Chapter 1
1.软件设计模式通常包含4个基本要素:模式名称、问题、解决方案以及效果。 2.软件设计模式可以分为三个层次:架构模式、设计模式、习惯用法。 3.软件设计模式是对软件设计经验的总结,是对软件设计中特定环境下反复出现的设计问题的、经过验证的、成功解决方案的描述。
(二) chapter 5
1.早在1968年,计算机领域的大师Dijstra指出:项目规模越大,其整体架构就越重要。 2. 软件体系结构的三个基本要素是:构件、连接件、约束 3. 对软件质量的关注正是软件架构师与一般的软件设计师的不同之处,一般的软件设计师主要关注软件功能的设计,并要遵循架构师给出的设计准则。
4. IEEE 1471-2000标准定义软件体系结构是“系统的基本组织结构,包括系统构成要素、这些构成要素相互之间以及运行环境之间的关系,还包括系统设计及演化时应遵循的原则”。
(三) chapter 2
1.创建型软件设计模式是解决_对象创建机制_的设计模式。 2.创建型软件设计模式的两个主导思想:封装了系统使用的具体类的知识,隐藏这些具体类的实例被创建与结合的细节。
3.简单工厂方法模式的特点是仅仅有一个具体的创建者类,并且在此类中包含一个__静态工厂_____方法。
4.生成器模式是一步一步创建一个复杂的对象,允许用户通过制定复杂对象的类型和内容就可以构建它们,用户不知道内部的具体构建细节
5. 单例模式是指确保一个仅有一个唯一的实例,并提供一个全局的访问点。
6. 在单例模式中,为了防止客户程序利用构造方法创建多个对象,要将构造方法声明为private(或私有)类型。
(四) chapter 3
1. 结构型软件设计模式的主要目的是将不同的类和对象组合在一起,形成更大或者更复杂的结构体。
2. 组合模式指将对象组合成树形结构,以表示“部分-整体”的层次结构。该模式使得对单个对象和组合对象的使用具有一致性。
3.适配器模式可以分为两种:类适配器和对象适配器 4. 类适配器模式通过继承的方式改变已经存在的接口而形成新的接口,使之适合客户类调用的需要;对象适配器模式使用调用或者聚合的方式选择调用多个类中的方法,形成新的接口。 5. 适配器模式与外观模式都是为了设计新的接口而存在。它们的区别在于:适配器模式是转换接口,外观模式是简化接口。
(五) chapter 4
1. 行为型软件设计模式解释对象之间是怎样进行交互的。
2. 迭代器模式能够提供一种方法按照顺序访问一个聚合对象中的所有元素,而又不需要暴露该对象的内部表示。
3. 中介者模式的要点是将所有对象之间的交互细节抽象到一个独立的类中,这个类叫做中介者类。
4. 访问者模式封装了分布于多个类之间的行为。
(六) Chapter 6
1. 利用调用-返回风格软件体系结构设计的软件系统使用的是_分而治之_策略,其主要思想是将一个复杂的大系统分解为一些子系统,以便降低复杂度,并且增加可修改性。
2. 在管道-过滤器软件体系结构中,每个组件都有一组输入和输出,组件读入数据流,经过数据处理,然后产生输出数据流。
3. 顺序批处理软件体系结构是数据流风格体系结构的一个子类型。在该系统种,组件为独立的程序,并且这些组件按照先后顺序处理,即只有当一个组件运行彻底结束以后,下一个组件才能开始执行。
4. 主程序-子程序软件体系结构特别关注功能的实现。面向对象软件体系结构特别关注数据与功能的封装。
二、 简答题
(一) Chapter1
1. 软件体系结构为什么重要?
答:软件体系结构: ①是软件相关人员进行交流的手段;(2分) ②是一种高层次的设计复用手段;(2分) ③是早期关键设计决策的体现。(1分) 2. 软件体系结构与软件框架的区别? 答:
①呈现形式不同:体系结构的呈现形式是一个设计规约,而框架则是程序代码 。(2分) ②目的不同:体系结构的首要目的大多是指导一个软件系统的实施与开发;而框架的首要目的是为复用.因此,一个框架可有其体系结构,用于指导该框架的开发,反之不然.(3分) 3. 解释开闭原则、Liskov替换原则、依赖倒置原则
答:①开闭原则:构件应该对扩展具有开放性,对修改具有封闭性。(2分) ②Liskov替换原则:子类可以替换它们的父类。(2分)
③依赖倒置原则:依赖于抽象,而非具体实现。(1分)
(二) chapter2
4. 说明工厂方法、简单工厂模式、抽象工厂模式三个模式的主要区别。
答:①简单工厂模式只有一个工厂类,该工厂类的静态工厂方法负责所有产品的创建。(1分)②工厂方法模式中,一个产品类层次对应一个工厂类层次,每个具体工厂负责创建一个具体的产品。(2分)③抽象工厂模式中,一个工厂类层次对应多个产品类层次,每个具体工厂负责一个产品簇中产品的创建。(2分)
5. 实现单例模式的三个关键要点是什么?
答:①将构造方法私有化;(1分)②定义一个静态实例;(2分)③提供一个可以返回静态实例的静态方法。(2分)
6. 简述生成器模式与抽象工厂模式的区别。
答:①前者按照步骤创建一个复杂的对象,而后者强调一类产品对象,创建一个产品族中的某个产品对象(简单或复杂)。(3分)
②前者将所建造的产品(通常建造一个复合体)最后一次性返回,而不是一点一点返回,而抽象工厂所创建的产品对象立即被返回。(2分)
(三) Chapter3
7. 简述外观模式与适配器模式的区别?
答:①外观模式简化接口是为了更好地使用某个类库
②适配器模式转换接口的目的是将一个不适合使用的接口转换为可以被使用的接口,或者将一些接口不同但功能相同或相近的接口加以转换,以便统一使用。 8. 简述结构型模式的分类。
答:分为两类:
①结构型类模式:关心类的组合,使用继承来组合接口或类,提供了类之间的关联方式。(2分)
②结构型对象模式:关心类和对象的组合,描述了如何对一些对象进行组合,从而实现新功能的一些方法。具体来说,通过关联关系,可以在一个类中定义另一个类的对象,然后通过该对象调用其方法。(3分)
(四) Chapter 4
9. 简述迭代器模式的主要功能? 答:提供对聚合对象的迭代访问:
①以不同的方式遍历聚合对象,如向前、向后 ②对同一聚合同时进行多个遍历 ③以不同的遍历策略遍历聚合
④多态迭代:为不同的聚合结构提供统一的迭代接口,即,通过一个迭代接口访问不同的聚合结构。
10. 简述访问者模式中形成的回调访问通路?
答:visit()与accept()方法构成一个调用通路。(1分)
①visit(X):访问者类告知具体元素X类,我要访问你,即调用它的方法。(2分)
②accept(Visitor):具体元素X类告知Visitor,我接受你的访问。Visitor访问具体元素X类的目的是什么,具体元素X类不管。(2分) 11. 策略模式和状态模式的区别。
答:①策略模式用来处理一组具有相同目的但是实现方法不同的算法,这些算法方案之间一般来说没有状态变迁。(2分)
②状态模式则有所不同,它实现的一个概念可以叫做动态继承,也就是继承的子类都可以发生变化。状态的变化可以由一个状态迁移图表示。(2分)
③一般来说,实现状态模式更复杂一点,用户需要仔细考虑由谁来负责状态转换问题,是由Context类负责还是由状态类的超类负责,还是由状态类的子类负责。(2分)
(五) Chapter 6
12. 简述面向对象体系结构,并画出面向对象体系结构图?
答:面向对象体系结构中,把系统看作是由一些对象的集合组成(而不是由函数或方法组成),消息从一个对象发送到另外一个对象。每个对象都有其相关功能。一个对象是数据以对数据操作的封装体,外界通过接口与其进行交互。(3分)面向对象体系结构图如下:(2分,下面这幅图不需要一模一样,表达清楚意思即可)
13. 简述主程序-子程序软件体系结构与面向对象体系结构的不同之处。
答:①在设计思想上的区别:主程序-子程序关注功能的实现,即系统是由一个个过程构成。面向对象体系结构关注数据与功能的封装(对象)。系统是由一系列对象构成,这些对象按一定规则通信,完成具体功能。(3分)
②在系统分析设计方面的区别。前者采用结构化分析设计方法(如数据流图、面向数据流的设计),后者采用面向对象分析设计,使用用例图、类图、时序图等模型。(2分)
14. 画出MVC体系结构的一般形式的结构类图。
15. 画出应用了观察者机制的MVC体系结构设计类图。
三、 设计题
(一) chapter 2创建型设计模式
1. 一个房屋销售查询系统,以便查询不同类型的房屋的介绍、价格和地址等。为简单起见,只
考虑两种类型的房屋:别墅(House)和公寓(Condo),并假设每种房屋类型都包含:豪华(Super)、中等(Medium)两个等级。要求能够查看房屋信息和房屋价格,请使用创建型设计模式解决该问题,画出设计类图。 答:参考图 1
图 1 抽象工厂模式参考图
2. 假设有一个web托管公司,该公司在Windows和UNIX平台上托管服务。该Web托管公司
在这两种平台上提供三种不同类型的托管包:基本(Basic)、高级(Senior)和更高级(Super)。使用“抽象工厂”模式设计一个应用,查询该托管公司提供的不同类型的托管包功能,画出设计类图。
答:参考错误!未找到引用源。
正在阅读:
如何写网站首页、栏目页、内容页的标题、关键词、描述11-04
安全哲学与安全文化(new) 试题答案05-11
编制工程项目投标文件(经济标部分)的方法与技巧探析03-14
仁怀机场一标段投标施工组织设计02-03
内部控制的国内外研究现状分析05-02
《中国古代小说专题》总结11-16
2020年主题教育党日活动心得体会09-12
- 上海大众、一汽大众、东风日产车型与VIN代号对照表
- 第2章服装原型及原型制作
- 江苏省工商行政管理系统经济户口管理办法及四项制度
- 纪检监察业务知识试题2
- 传感器综合题答案
- 北京第二外国语学院翻硕招生人数及学费
- 初三新编英语教材下册
- 公司庆中秋、迎国庆联欢会客串词
- 向区委常委会汇报安全生产工作材料
- 2006年GCT英语模拟试题(三)及答案解析
- 经济法概念的早期使用
- 我爱做家务课堂教学设计
- 学校安全工作月报表、消防安全排查表、消防隐患排查台账
- 成本会计毕业论文
- 班级文化建设论文
- 2018年天津市高考文科试题与答案汇总(Word版) - 图文
- 铁路论文
- 2017年嵌入式系统设计师考试时间及地点
- 1.111--灾害与突发公共卫生事件应急预案
- 起爆点主图 注意买入 拉升 逃顶源码指标通达信指标公式源码
- 练习题
- 体系结构
- 图文
- 精品
- 设计
- 资料
- 软件
- 省卫生厅消毒产品企业卫生行政许可审批程序
- 权重的三种计算方法
- 三年级数学第二单元年月日知识点
- 2015年中国旅游业报告
- 广西蜂产业发展规划
- 流动人口计划生育管理和服务工作若干规定
- 综采队班组安全工作标准 docx
- 经典案例四湖广铁路债券案
- 11-12(2)实验课表 - 图文
- 经典创意电子小报(word版):篮球小报
- 课程设计论文-基于MFC的绘图软件的设计与实现
- 江苏省利国吴庄铁矿地质勘探报1 - 图文
- 浅析防火墙技术现状及发展
- 2011.10《经济学》习题集
- 文艺创作与表演项目可行性研究报告 - 图文
- 小学三年级优秀学生评语集锦
- 测量放线工试题
- 小学语文一年级下册听力练习题
- 1:500数字化地形图测量技术设计书编写要求和实例范本
- 论莎士比亚戏剧的基督教情结