《软件工程与UML》期末试题及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程与UML建模复习题B
一:单选题
1.是在系统之外,透过系统边界与系统进行有意义交互的任何事物
A).相关系统B).Use Case C).Class D).Actor
2.软件工程是以为核心
A).过程B).面向对象C).软件开发D).质量
3.“系统应具有很高的可靠性,使用该产品的前3个月,系统不应该出现崩溃(数据不可恢复)的现象”,这属于
A).功能性需求B).客观需求C).主观需求D).非功能性需求
4.“系统每天晚上自动生成进货报表”,Actor是:
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.设C(X)定义问题X的复杂性函数,E(X)定义解决问题X所需要工作量的函数,对于两个问题p1和p2,一般情况下如果C(p1) A).E(p1)>E(p2) B).C(p1+p2)=C(p1)+C(p2) C).E(p1+p2)>E(p1)+E(p2) D).E(p1+p2) 10.以下各种图不是UML使用的图是 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. 以下程序体现的是耦合 public PrintReport(String command) { if (command.equals("IBM") { PrintIBMData(); } else { if (command.equals("Mircosoft") { PrintMicrosoftData(); } else { PrintAllData(); } } } A).例程调用耦合B).控制耦合C).标记耦合D).数据耦合 二:填空题 1. 又称玻璃盒测试,即模块内部逻辑对测试者是可见的。 2.在面向对象的开发方法中,是一些不包含具体实现方法特征的集合。 3. 是一个将用户需求转化为软件系统所需要的活动的集合。 4. 是把一个模块作为独立的程序单元进行测试,以保证它能够正确执行规定的功能。 5.在软件设计中,为了降低复杂度,应该隐藏或者推迟考虑细节,这在软件工程中被称为 四:简答题 1.为什么需求必须是可验证的(5分)?请为某学校学籍管理系统的“系统应该用户友好”这一需求设计可行的验收标准(5分)。 2.耦合有哪些分类(5分)?在面向对象的软件开发中,如何为系统降耦(5分)? 3.什么是BRO(5分)?考虑条件C1: (E1>E2) & (E3 参考答案 一:单选题DDDCC,BBBDC,AABDB 二:填空题 白盒测试、接口、设计、单元测试、抽象 四:简答题 1.为什么需求必须是可验证的?请为某学校学籍管理系统的“系统应该用户友好”这一需求设计可行的验收标准。 需求必须是可验证的,这是因为: 1)需求通过了“验证”,才能表明所开发的系统符客户和用户的要求。 2)不可验证的需求,仅仅是对需求的一种主观愿望,对于设计和测试等活动而言都是缺 乏意义的。 3)通过需求的验证标准,可以度量出系统实现的质量。 经过开发方提供培训服务,管理员能够在3个培训工作日内掌握系统的所有功能,并能独立工作。在开始的连续30个工作日内,因不熟悉功能而需要开发方上门服务的次数最多有1次。 2.耦合有哪些分类?在面向对象的软件开发中,如何为系统降耦? 耦合的类型,它们是:内容耦合、公共耦合、外部耦合、控制耦合、标记耦合和数据耦合等。降耦方法:使用单向关联或依赖关系,通过印记耦合、通过接口、或通过数据耦合等。 4.什么是BRO(5分)?考虑条件C1: (E1>E2) & (E3 K.C.Tai提出了一个条件测试策略,被称为分支和关系算子测试方法(BRO),在条件测试中所有布尔变量与关系算子都不重复出现,并且在没有相同的变量的情况下,能够检测出条件中的分支和关系算子错误。BRO策略使用了条件约束的概念。对于一个有n个简单条件的条件C的约束定义为(D1,D2,…,D n),其中D i(1≤i≤n)是规定了条件C中第i个简单条件输出的约束符号。如果在条件C的执行中,其每个简单条件的输出满足D中对应的约束,则称C的执行覆盖了C的条件约束D。 {(>,<),(=,<),(<,<),(>,>), (>,=),(<,=),(=,=)}