一._单项选择题_____(本大题共__15__题,每题___1___分,共___15___分。
)1. 软件生存周期中时间最长的是( ) 阶段。
A. 需求分析B. 概要设计C. 测试D. 维护2. 技术可行性要解决( ) 。
A. 存在侵权否B. 成本效益问题C. 运行方式可行D. 技术风险问题3. 需求说明书的作用不应包括( ) 。
A. 软件设计的依据B. 用户与开发人员对软件要做什么的共同理解C. 软件验收的依据D. 软件可行性研究的依据4. 分层DFD是一种比较严格又易于理解的描述方式,它的顶层图描述了系统的( ) 。
A. 细节B. 输入与输出C. 软件的作者D. 绘制的时间5. 结构化分析方法(SA) 的一个重要指导思想是( ) 。
A. 自顶向下,逐步抽象B. 自底向上,逐步抽象C. 自顶向下,逐步分解D. 自底向上,逐步分解6. ()意味着一个操作在不同的类中可以有不同的实现方式。
A. 多态性B. 多继承C. 类的复用D. 封装7. ()是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。
A 多态性B 继承C 封装D 消息8. 概要设计是软件系统结构的总体设计,以下选项中不属于概要设计的是( ) 。
A. 把软件划分成模块B. 确定各个模块的功能C. 确定模块之间的调用关系D. 设计每个模块的伪代码9. 为了提高测试的效率,应该( ) 。
A. 随机选取测试数据B. 取一切可能的输入数据作为测试数据C. 在完成编码以后制定软件的测试计划D. 选择发现错误可能性大的数据作为测试计划10. 下列哪项内容不属于OOD的重要特征()。
A.抽象B.信息隐蔽C.性能独立性D.模块性11. 白盒测试方法一般适合用于( ) 测试。
A. 单元B. 系统C. 集成D. 确认12. 在黑盒测试中,着重检查输入条件的组合是( ) 。
A. 等价类划分法B. 边界值分析法C. 错误推测法D. 因果图法13.()不属于OO三要素。
A.对象B.封装C.继承D.多态14. UML()描述对象之间动态的交互关系,着重体现对象间消息传递的时间顺序。
A.状态图B.顺序图C.合作图D.活动图15. CMM提供了一个框架,将软件过程改进的进化步骤组织成5个成熟度等级。
除第1级外,每一级都包含了实现这一级目标的若干关键过程域,每一个关键过程域又包含若干()。
A 关键实践B 软件过程性能C 软件过程能力D 软件过程二._组合选择题______(本大题共______题,每空___1___分,共___30_____分。
)请从供选择的答案中选出正确或合适的答案填入( ) 中。
③④①③①1. 软件设计中划分模块的一个准则是( A ) 。
两个模块之间的耦合方式中,( B ) 耦合的耦合度最高,( C ) 耦合的耦合度最低。
一个模块内部的内聚种类中( D ) 内聚的内聚度最高,( E ) 内聚的内聚度最低。
A:①低内聚低耦合②低内聚高耦合③高内聚低耦合④高内聚高耦合B、C:①数据②非直接③控制④内容D、E:①偶然②逻辑③功能④过程2. 软件详细设计工具可分为三类,即:图示工具、设计语言和表格工具。
图示工具中,( A ) 简单而应用广泛、( B ) 表示法中,每一个处理过程用一个盒子表示,盒子可以嵌套。
( C ) 可以纵横延伸,图形的空间效果好。
( D ) 是一种设计语言,它是一种面向( E ) 的语言。
②①④②①A - C:① NS图②流程图③ HIPO图④ PAD图D:① C ② PDL ③ PROLOG ④ PASCALE:①人②机器③数据结构④对象3. 软件的易维护性是指理解、改正、改进软件的难易程度。
通常影响软件易维护性的因素有易理解性、易修改性和( A ) 。
在软件的开发过程中往往采取各种措施来提高软件的易维护性。
如采用( B ) 有助于提高软件的易理解性;( C ) 有助于提高软件的易修改性。
在软件质量特性中,( D ) 是指在规定的一段时间和条件下,与软件维持其性能水平的能力有关的一组属性;( E ) 是指防止对程序及数据的非授权访问的能力。
④③②③①A:①易使用性②易恢复性③易替换性④易测试性B:①增强健壮性②信息隐蔽原则③良好的编程风格④高效的算法C:①高效的算法②信息隐蔽原则③增强健壮性④身份认证D:①正确性②准确性③可靠性④易使用性E:①安全性②适应性③灵活性④容错性4. 程序的三种基本控制结构是( A ) 。
它们的共同点是( B ) 。
结构程序设计的一种基本方法是( C ) 。
②④④②①软件测试的目的是( D ) 。
软件排错的目的是( E ) 。
A:①过程,子程序,分程序②顺序,条件,循环③递归,堆栈,队列④调用,返回,转移B:①不能嵌套使用②只能用来写简单的程序③已经用硬件实现④只有一个入口和一个出口C:①筛选法②递归法③归纳法④逐步求精法D:①证明程序中没有错误②发现程序中的错误③测量程序的动态特性④检查程序中的语法错误E:①找出错误所在并改正之②排除存在错误的可能性③对错误性质进行分类④统计出错的次数5. 用面向对象方法分析大型系统(复杂问题)时,一般会将对象模型分为5个层次,从高到低依次是(次序不能错误)。
④⑦①②⑧( A ) ( B ) ( C ) ( D ) ( E )A – E:①结构层②属性层③功能层④主题层⑤模型层⑥动态层⑦类与对象层⑧服务层⑨需求层6. 从供选择的答案中选出同下列各条叙述关系最密切的字句。
④③⑥⑤⑦( A ) 软件从一个计算机系统或环境转移到另一个计算机系统或环境的容易程度。
( B ) 软件在需要它投入使用时能实现其指定的功能的概率。
( C ) 软件使不同的系统约束条件和用户需求得到满足的容易程度。
( D ) 在规定条件下和规定期间内,实现所指定的功能的概率。
( E ) 尽管有不合法的输入,软件仍能继续正常工作的能力。
①可测试性②可理解性③可靠性④可移植性⑤可用性⑥兼容性⑦坚固性⑧可修改性⑨可接近性⑩一致性三.判断题(本大题共__3__题,每题___5___分,共___15_____分。
)1. 从下列叙述中选出5条符合程序设计风格指导原则的叙述。
(2) (3) (5) (7) (9)(1) 嵌套的重数应加以限制。
(2) 尽量多使用临时变量。
(3) 不滥用语言特色。
(4) 不用可以省略的括号。
(5) 使用有意义的变量名。
(6) 应尽可能把程序编得短些。
(7) 把常见的局部优化工作留给编译程序去做。
(8) 注解越少越好。
(9) 程序的格式应有助于读者理解程序。
(10) 应尽可能多用GOTO语句。
2. 从下列关于软件测试的叙述中,选出5条正确的叙述。
(2) (5) (7) (8)(1) 测试最终是为了证明程序无错误。
(2) 在进行同等测试后,若发现A部分有错并改正了10个错误,B部分发现并改正了5个错误,则再进行测试时,A部分中发现错误的可能性比B部分中大。
(3) 对一个模块测试的根本依据是测试用例。
(4) 用黑盒法测试时,测试用例是根据程序内部逻辑设计的。
(5) 一组测试用例是判定覆盖,则一定是语句覆盖。
(6) 一组测试用例是条件覆盖,则一定是语句覆盖。
(7) 在整个测试过程中增量式所需测试时间比非增量式多。
(8) 验收的依据是需求说明书。
3. 从下列叙述中选出5条与提高软件的可移植性有关的叙述。
(1) (3) (4) (7) (8)(1) 把程序中与计算机硬件特性有关的部分集中在一起。
(2) 选择时间效率和空间效率高的算法。
(3) 使用结构化的程序设计方法。
(4) 尽量用高级语言编写程序中对效率要求不高的部分。
(5) 尽可能减少注释。
(6) 采用表格控制方式。
(7) 文档资料详尽、正确。
(8) 在有虚拟存储器的计算机系统上开发软件。
(9) 减少程序中对文件的读写次数。
(10) 充分利用宿主计算机的硬件特性。
四.简答题(本大题共__2__题,每题___5___分,共___10_____分。
)1.简述过软件工程中的螺旋模型。
2.简述面向对象设计中的四个子系统。
1. 问题陈述:为开发一个铁路自动售票系统(该系统预计从2007年使用到2017年),该系统需要完成的功能如下:乘客提出购票请求,系统进行受理,查询售票车次表和售票记录后,如果乘客所购车票系统尚有,那么就受理,并请乘客支付车费后行登记,记录该条售票记录并将车票发给乘客;如果没有,那么就拒绝乘客的受理请求。
(10分)(1)以结构化方法建立该问题的数据流图(至少2层,即顶层和0层) (7分)(2)描述数据流图中的主要数据字典(3分)顶层数据流图略(2分)画出基本的数据流图(2分)顶层和0层数据流图平衡(2分)每个数据流都有名称(1分)基本的数据字典描述(3分)2.依据下面给出的N—S图画出其流程图;在此基础上,设计最少测试用例,实现语句覆盖和条件组合覆盖。
(10分,流程图3分,语句覆盖3分,条件组合覆盖4分)本题答案不唯一,条件组合覆盖在此题中即路径覆盖。
3.请建立下述杂货店问题的对象模型(10分)一家杂货店想使其库存管理自动化,这家杂货店拥有能记录顾客购买的所有商品的名称和数量的销售终端。
顾客服务台也有类似的终端,以处理顾客的退货。
它在码头有另一个终端用户处理供应商发货。
肉食都和农产品都有终端用于输入由于损耗导致的损失和折扣。
根据上述需求建立杂货店问题相应的对象模型。