MOOC北京大学软件工程测验答案-第八周-面向对象设计、编码实现、敏捷开发方法
一、人机交互部分的设计
人机交互是OOD阶段的任务,在OOA阶段不需考虑 ×
人机交互的设计需要重点考虑比例最大的使用人群的情况,并适当地兼顾其他人 √
人机交互的交互内容需求不仅与系统的功能需求有关,而且与人的主观意识也有很大关系 ×
人机交互部分的设计可以从use case抽取人机交互内容及过程,在抽取过程中需要删除所有与输入输出无关的语句 √
二、控制驱动和数据管理部分的设计
控制驱动部分由系统中的(主动类)构成
控制流是一个在处理机上顺序执行的动作序列,在目前的实现技术中,一个控制流就是一个进程或线程 √
为什么需要在OOD阶段考虑控制驱动部分,以下说法正确的是:
并发行为是现实中固有的,当前大量的系统都是并发系统
多任务的设置
隔离硬件、操作系统、网络的变化对整个系统的影响
数据管理部分主要目的是为系统中的(长久存储的对象)提供数据存储和恢复的功能
三、程序设计范型和面向对象编程语言的特点发展
在以下几种编程语言中,不属于面向对象编程语言的是(C)
过程设计是面向对象程序设计范型的特点之一 ×
面向对象的编程语言强调严格的封装 ×
C++是一种在C语言基础上扩充OO成分,对封装采取灵活策略的语言,所以属于混合型面向对象语言 √
四、如何选择编程语言
使用非OO语言不能实现OOD模型 ×
计算机语言中,静态绑定发生在程序执行之前,而动态绑定则只用到运行期的可用信息 √
Java和C++在实现对象之间的关联关系的方法上是一致的 ×
五、敏捷开发概述
下列关于敏捷软件开发说法错误的是(敏捷软件开发强调文档的重要性)
下列关于敏捷联盟宣言的理解错误的是(客户合作胜过合同谈判,表明成功的项目需要客户配合开发团队明确地制定合同,避免开发时关于工作内容的过多交互)
下列关于敏捷原则说法错误的是(首要的进度衡量标准是代码量)
下列软件哪个最适合采用敏捷开发方法(小型创业项目软件)
六、极限编程
极限编程是采取必要的手段,充分挖掘软件开发团队人员的极限能力,在最短的时间内交付软件的开发方法 ×
极限编程采用(用户素材)工具来了解与需求相关的内容
下列哪项不是结对编程的含义(酬劳平分)
下列关于极限编程原则说法正确的是(在编写功能代码的时候要同时编写测试代码)
下列关于极限编程原则说法正确的是(策划、设计、编码、测试)
七、敏捷设计
下列哪些问题会导致设计不能很好应对需求的变化:
在一部分的设计中包含了对其它部分有用的成分
设计中包含了当前没有用的成分
软件中的重复代码
难于理解的模块
为了防止软件腐化,开发团队不需要一个成熟的初始设计,而是通过多次使用单元测试和验收测试,灵活、持续地改进设计 √
敏捷设计要求系统设计在任何时间都尽可能的简单、干净和富有表现力,下面对敏捷设计理解错误的是(对于软件管理者来说,只需要做很少的管理工作)
八、Scrum模型
Scrum模型中产品的一次迭代称作一个(冲刺)
在Scrum模型中,为用户提供商业价值的项目需求或特征的优先级列表称作(待定项)
下列关于Scrum模型的说法错误的是(Scrum模型在迭代全部结束后向客户交付软件)