1、软件工程随堂练习一、选择题1. 软件工程是()。A、是结构化程序设计的指导方法B、是软件开发技术和软件工程管理学为内容的学科C、是指导计算机软件开发和维护的工程学科 D、是指导软件开发的工程方法。2. 软件工程中的各种方法是完毕软件工程项目的技术手段,它们支持软件工程的( )阶段。A. 各个 B. 前期 C.中期 D.后期3. 原型方法是用户和设计者之间的一种交互过程,选用于()系统。A. 需求拟定的 B. 需求不拟定性较高的C. 管理信息 D. 决策支持4. 要将一个复杂的系统分析清楚,常用方法是结构化分析方法,结构化分析方法就是( )。A、面向数据流自顶向下逐步求精的方法B、由内向外进行分
2、析的方法C、先局部后整体的分析方法D、使用IPO图形工具分析的方法5. 概要设计过程是()A. 先拟定系统的实现方案,然后在结构设计阶段中拟定软件的模块结构B. 拟定软件的模块结构,再设计出系统的所有程序和数据文献C. 设计出系统的HIPO图并对所有模块进行描述D. 规划出系统的后期设计总体结构6. 程序的三种基本结构是()。A、过程,子程序,分程序B、顺序,选择,循环C、递归,堆栈,队列D、调用,返回,转移7. 结构化程序设计的一种基本方法是()。A、筛选法B、递归法C、归纳法D、逐步求精法8. 软件维护的四类维护活动是:( )A. 改正性维护,适应性维护,完善性维护和防止性维护。B. 适应
3、性维护,完善性维护,抢救性维护和辅助性维护。C. 改正性维护,适应性维护,完善性维护和辅助性维护。D. 适应性维护,完善性维护,抢救性维护和防止性维护。9. 软件开发瀑布模型中的软件定义时期各个阶段依次是:( )A. 可行性研究,问题定义,需求分析。B. 问题定义,可行性研究,需求分析。C. 可行性研究,需求分析,问题定义。D. 以上顺序都不对。10. 在软件生存周期中,工作量所占比例最大的阶段是( )阶段。 A需求分析 B设计 C测试 D维护11. 一个软件产品开发完毕投入使用后,经常由于各种因素需要对它做适当的变更,通常把软件交付使用后所做的变更称为( )。 A维护 B设计 C软件再工程
4、D逆向工程12. 结构化生命周期方法具有各种特性,下列各种叙述中,哪一个不是结构化方法的特性?( )A.严格定义需求 B.划分开发阶段C.提供运营模型 D.制定规范文档 C13. 需求分析的任务不涉及( )。A. 问题分析 B.系统设计 C.需求描述 D.需求评审。14. 软件工程方法是在实践中不断发展着的方法,而初期的软件工程方法是指( )A.原型化方法 B.结构化方法C.面向对象方法 D.功能分解法15. 对软件进行分解,是为了( )A、减少模块的复杂限度B、减少模块间接口的复杂限度C、减少模块的复杂限度,并减少模块间接口的复杂限度D、减少模块的复杂限度,并提高模块间接口的复杂限度16.
5、面向对象分析的独到之处是()。A、将数据和解决结合在一起而不是分离B、数据和解决分别独立考虑C、仅考虑数据结构D、仅考虑解决过程17. 通常所说的结构化设计即SD是属于基于( )的设计方法。A、数据结构B、数据流C、对象D、以上均可18. 技术可行性是可行性研究的关键,其重要内容一般不涉及( )。A.风险分析 B.资源分析C.人员分析 D.技术分析19. 结构化程序设计重要强调的是( )A程序的规模 B程序的效率 C程序设计语言的先进性 D程序易读性20. 在具体设计阶段,经常采用的工具有( )A程序流程图 BSA CSC DDFD21. 登记表白,软件测试工作往往占软件开发总工作量的( )%
6、以上。A. 20 B. 40 C. 60 D. 8022. 单元测试的测试对象是( )。A. 系统 B.程序模块 C. 模块接口 D. 系统功能23. 软件生存周期的( )工作和软件可维护性有密切的关系。 A编码阶段 B设计阶段C测试阶段 D每个阶段24. 以下不属于白盒测试技术的是( )A. 逻辑覆盖 B. 基本途径测试 C. 循环覆盖测试 D.等价类划分25. 使用黑盒测试时,测试用例应根据()。A、程序的内部逻辑B、程序的复杂限度C、使用说明书D、程序的功能26. 软件总体设计是指软件总体结构设计和数据设计,该阶段的重要任务不涉及( )。A. 设计软件的模块结构 B. 定义接口并建立数据
7、结构C. 生成概要设计规格说明和组装测试计划 D. 模块设计27. 耦合是对软件不同模块之间互连限度的度量。各种耦合按从强到弱排列如下:( )A. 内容耦合,控制耦合,数据耦合,公共环境耦合。B. 内容耦合,控制耦合,公共环境耦合,数据耦合。C. 内容耦合,公共环境耦合,控制耦合,数据耦合。D. 控制耦合,内容耦合,数据耦合,公共环境耦合。28. 维护的副作用可分三类,不涉及( )。A. 代码副作用 B. 数据副作用C. 文档副作用 D.人员副作用29. 按照软件工程的原则,模块的作用域和模块的控制域之间的关系是:( )A. 模块的作用域应在模块的控制域之内。B. 模块的控制域应在模块的作用域
8、之内。C. 模块的控制域与模块的作用域互相独立。D. 以上说法都不对。30. 在整个软件维护阶段所花费的所有工作中,( )所占的比例最大。 A校正性维护 B适应性维护 C完善性维护 D防止性维护31. 软件维护是保证软件正常、有效的重要手段,软件的下述特性中,( )有利软件的维护。 可测试性 可理解性 可修改性 可移植性 可重用性 A只有 B和C、和 D都有利32. 软件可移植性是用来衡量软件的()的重要尺度之一。A、通用性B、效率C、质量D、人机关系33. 软件工程的重要目的是提高( ),减少维护的代价。 A软件的生产率 B软件的可靠性 C软件的可维护性 D维护的效率34. 在软件维护的实行
9、过程中,为了对的、有效地修改,需要经历以下三个环节:分析和理解程序、修改程序和重新验证程序。( )是决定维护成败和质量好坏的关键。 A分析和理解程序 B重新验证程序 C修改程序 D验收程序35. 人们称在软件运营维护阶段对软件产品所进行的修改就是维护。( )是由于开发时测试的不彻底、不完全导致的。 A校正性维护 B适应性维护C完善性维护 D防止性维护36. 消息是对象间交互的手段,消息刺激接受对象产生某种行为。消息的构成有三部分:( ),消息名,若干变元。A发出消息的对象 B接受消息的对象 C消息编号 D时间二、填空题1. 需求分析阶段产生的文档是(1),它的重要组成部分是(2)。2. 测试的
10、关键是设计出(3)的测试用例,测试用例应由(4)和(5)两部分组成。3. 描绘物理系统的传统工具是(6)4. 软件工程由(7)、(8)和(9)三部分组成,称为软件工程的三要素。5. 总在面向对象的软件中,(10)是对具有相同数据和相同操作的一组相似对象的定义;(11)是由某个特定的类所描述的一个具体对象。6. 软件测试的目的是(12),通常把测试方法分为(13)和(14)两大类。7. 一个软件的宽度是指其控制的(15),而软件的深度是指其控制的(16)。8. 软件有效性,指软件系统的 (17) 和 (18) 效率。9. 可行性研究的任务是从(19)、(20)、(21)等3个方面研究。三、判断题
11、1. 软件工程使用的软件工具可以自动或半自动地支持软件的开发、管理和文档的生成。2. 验收的依据是需求说明书。3. 需求规格说明书是在计划时期可行性研究阶段产生的文档。4. 需求分析阶段的成果重要是需求规格说明,但该成果与软件设计、编码、测试直至维护关系不大。5. 软件开发人员对用户需求的理解有偏差,这将导致软件产品与用户的需求不一致,是产生软件危机的唯一因素。6. 软件生命周期中,测试的工作量最大。7. 编码时应尽也许使用全局变量。8. 程序的可靠性、可维护性和效率通常由程序设计语言、源代码的质量和语言的实现机制决定的。9. 一个模块的扇入是指该模块被其它模块调用的个数,扇入应尽也许的小。1
12、0. 概要设计也称总体设计,其过程由拟定设计方案和结构设计两个阶段组成。11. 系统测试是把软件、硬件和环境连在一起的全面测试。12. 尽也许在软件生产过程中保证各阶段文献的对的性。13. 完毕测试作业后,为了缩短源程序的长度应删去源程序中的注释。14. 假如测试过程没有发现任何错误,则说明软件没有错误。15. 结构化程序设计SP强调模块采用自上而下逐步求精设计方法,单入口、单出口16. 内聚度标志一个模块内部各成分彼此结合的紧密限度,按其高低限度可分为七级,内聚度越低越好。17. 快速原型技术合用于软件产品规定大量的用户交互、或产生大量的可视输出、或设计一些复杂的算法等场合。18. 文档记录
13、软件开发活动和阶段成果,具有永久性,可供人或机器阅读。19. 面向对象方法中的对象就是结构化方法中的模块。20. 黑盒测试法可有效的检查模块的内部逻辑结构的对的性。21. 软件需求是指用户对目的软件系统在功能、性能、行为、设计约束等方面的盼望。22. 缺少有力的方法学的指导和有效的开发工具的支持,这往往是产生软件危机的因素之一。一个好的开发人员应具有的素质和能力不涉及具有良好的书面和口头表达能力。23. 一个好的开发人员应具有的素质和能力涉及善于分析和综合问题,具有严密的逻辑思维能力。四、名词解释:软件工程、软件危机、黑盒法、白盒法、结构程序设计、维护、内聚、耦合、类、对象、实例、消息、方法、属性、继承四、简答题1. 在可行性研究阶段的任务是什么? 2简述软件工程的基本原理。3简述瀑布模型及其特点4简述快速原型模型及其特点5简述需求分析的任务6E-R图7简述总体设计过程中应当遵循的基本原理。8用流程图描述结构程序设计中3种基本控制结构。