1、软件工程习题集软件工程习题集一、选择题1. 下例说法中正确的是 A) 测试用例应由输入数据和预期的输出数据两部分组成B) 测试用例只需选用合理的输入数据C) 每个程序员最好测试自己的程序D) 测试用例只需检查程序是否做了应该做的事 2. 被测试程序不在机器上运行,而是采用人工检测和计算机辅助静态分析的手段对程序进行检测,这种测试称为 A) 白盒测试 B)黑盒测试 C)静态测试 D)动态测试 3. 在七种偶合中,最低偶合是 A) 内容偶合B) 公共偶合C) 数据偶合D) 控制偶合 4. 检查软件产品是否符合需求定义的过程称为()。A) 确认测试B) 集成测试C) 验收测试D) 验证测试 5. 软
2、件的定义阶段集中于哪个阶段?_A) 见客户 B) 怎么做 C) 做什么 D) 查错误 6. 对于软件公司来说最重要的什么?_ A) 高级PC机 B) 企业服务器 C) 软件工程师 D) 项目管理规范 7. 软件神话之一是,“即使进度拖后,也可以增加更多的人手,在项目后期赶上进度”。但是,实际上往往达不到预期目标,原因在于_。 A) 新来者技术水平不佳 B) 新来者与原来者沟通能力有问题 C) 新来者外语平不佳 D) 新来者与原来者沟通增加通信成本8. 版本管理属于以下那种领域?_A) SCM B) SQA C) OOA D) WEB 9. 在产品工程层次中,系统构造与集成活动不包括以下那类活动
3、?_A) 代码生成 B) 系统测试 C) 技术支持 D) 系统建模 10. 以下关于实体-关系图(ERD)的说法哪个是正确的?_A) ERD只能用在数据库设计领域B) ERD中的关系(用菱形表示)不可能有属性C) ERD中的各个实体之间可以形成层次结构,类似于UML中的类图(Class图)D)ERD中的各个关系可以表达动态信息(数据的流动)答案:A C C A C D D A A C11. 以下关于接口设计的说法哪个正确?_A) 接口设计要在概要设计之前完成 B) 接口设计就是用户界面设计C) 接口设计和数据流图(在分析模型中)有密切的映射关系D) 接口设计和状态变迁图(在分析模型中)有密切的
4、映射关系12. 白盒测试属于以下哪种测试?_A) 单元测试 B) 系统测试 C) 集成测试 D) 确认测试13. 独立测试组(ITG)为何比公司内部员工更适合来做一些测试?_A) 他们的水平更高 B) 他们靠找出错误来拿工资C) 他们很懂得黑盒测试 D) 他们不参与项目的整个过程14. Beta测试是在以下哪个场所进行的?_A) 客户的单位 B) 野外 C)网络中心 D) 开发者的场所15. 面向对象的软件工程更加侧重以下哪个方面?_A) 系统的数据 B) 系统的界面 C)系统的行为 D) 系统的性能16. 在面向对象设计(OOD)模型中,消息设计(message design)对应面向对象分
5、析(OOA)模型中的哪一个部分?_A) 用例(use cases) B) CRC索引卡片 C) 对象-关系模型 D) 对象-行为模型17. OO测试与传统测试在以下哪个方面存在区别?_A) 测试目标发生变化 B) 包括测试OOA与OOD模型C) 确认测试发生变化 D) 不再存在单元测试18. 当前的客户机/服务器(C/S)应用更多采用以下哪种软件构件的分布?_A) “胖”服务器/“胖”客户机 B) “瘦”服务器/“胖”客户机C) “瘦”服务器/“瘦”客户机 D) “胖”服务器/“瘦”客户机19. 以下那种Web应用体系结构最适合电子商务站点销售图书商品?_A) 线性结构 B) 网格(grid)
6、结构C) 层次结构 D) 网络(networked)结构答案:C A D A C D B B B20. 代码行(LOC)是被用于进行软件度量的一个参量,它是用于_的。A) 公共度量 B) 私有度量 C) 直接测量 D) 间接策测量21. 概要设计一般不包括以下哪个内容?_A) 项目背景介绍 B) 伪码实现C) 子系统划分 D) 具体模块描述22. 比较测试属于以下哪种测试?_A) 黑盒测试 B) 灰盒测试 C) 白盒测试 D) 蓝盒测试23. 用例图中,( )关系意味着某个用例的执行必然激活另一个用例。A、包含 B、扩展 C、泛化 D、关联24. 类图中,类被表示为三栏的矩形,类的方法写在(
7、)中A、第一栏 B、第二栏 C、第三栏 D、随便25. 如果数据加工的策略中包含复杂的嵌套条件判断和多目标动作,则更适合使用( )描述其计算策略。A. 判定表 B. 结构化英语 C. 定义式 D. 协作图 26. 下列属于非功能需求的是( ) A、对系统发布时间的限制 B、对开发工具的限制 C对系统性能的要求 D、其上全是27. 在以下( )情况下,更适合以调查表作为需求获取的主要手段A、需要与用户就某些功能的细节进行协商。B、需要了解目标系统的应用范围、战略目标和商业价值C、需要从大量用户那里获取关于需求的统计性信息 D、需要实际了解用户日常的工作过程和工作习惯。28. ( )技术强调应该使
8、程序具有单一的访问点和结束点,并且仅仅使用三种最基本的控制流程,以提高程序的可靠性和可理解性。A、结构化分析 B、结构化设计 C、结构化编程 D、都不是29. 顺序图能够直观的体现( )之间动态协作的时序关系A、对象 B、类 C、包 D、用例答案:C B B A C A D C C A30. 关于用例图以下说法不正确的是( )A、每个用例至少要关联到一个参与者B、每个参与者至少要关联到一个用例C、扩展关系指向扩展用例D、包含关系指向基础用例31. 下列软件开发过程模型中,以风险控制为焦点的是( )。A. 瀑布模型 B. V模型 C. 螺旋模型 D.组件开发模型32. 在下列收集需求的方式中,与
9、用户直接沟通的方式是( )。A. 访谈 B. 调查表 C. 原型 D. JAD会议33. 业务需求的获取应该来自于( )。A. 客户 B. 用户 C. 系统分析员 D. 都不是34. 对于此前没有类似开发经验的软件项目,系统分析员在需求开发阶段需要首先完成的工作任务是( )。A. 访谈 B. 领域了解 C. 确定业务需求 D. 划分用户群体35. 根据绘制数据流图的指导原则,数据流图中不能存在“黑洞”和“奇迹”,所谓“黑洞”是指( )。A. 只有输入数据流而没有输出数据流的数据加工B. 只有输出数据流而没有输入数据流的数据加工C. 没有标注方向的数据流D. 没有命名的数据流36. 结构化分析应
10、用的各种模型中,( )用于对目标系统的功能域建模。A. 实体关系图 B. 数据流图 C.状态迁移图 D. Petri网37. “注释”在UML中使用( )符号表示。38. UML规定使用( )符号来表示类内部成员的protect可见性。A. B. C. D. 答案:A C A B B A B B D39. UML的协作图表现的是( )之间的动态协作过程。A. 类 B. 对象 C. 包 D. 用例40. 继承反映了类之间的层次关系,而( )反映了一种整体与部分的关系。A继承 B组合 C封装 D多态41. 下列描述中与给定实体关系图的含义有冲突的是( )。 A. 甲老师上学期没有承担授课任务。 B
11、. 甲老师本学期讲授了系统建模、软件工程、数据结构三门课。 C. 甲老师、乙老师和丙老师本学期都讲授C语言这门课。D. 甲老师上学期讲授的是C语言和PASCAL,这学期讲授的是C+和DELPHI。42. 用结构化语言来描述加工逻辑的外层结构时,以下不属于基本结构的是( )A.顺序结构B.选择结构C.嵌套结构D.循环结构43. 关于软件测试的目的,下面观点错误的是( )A.为了发现错误而执行程序的过程B.一个好的测试用例能够发现至今尚未发现的错误C.证明程序是正确、没有错误的D.一个成功的测试用例是发现了至今尚未发现的错误的测试44. 一个模块的( )是指能直接控制该模块的模块数。A扇出数 B扇
12、入数 C 宽度 D 深度45. 单元测试的测试对象是()。A系统 B程序模块 C 模块接口 D系统功能46. 瀑布模型的存在问题是( )。 A用户容易参与开发 B体现了推迟实现的观点 C用户与开发者易沟通 D. 不适用可变需求47. 程序的三种基本控制结构是( )。 A过程、子程序和分程序 B顺序、选择和重复 C递归、堆栈和队列 D调用、返回和转移48. 需求分析中开发人员要从用户那里了解( )。 A软件做什么 B用户使用界面 C输入的信息 D软件的规模答案:B B C C C B B D B A49. 需求分析阶段的任务是确定( )。A软件开发方法 B软件开发工具C软件开发费 D软件系统的功
13、能50. 在下列图形符号中,UML使用( )表示事物间的组合关系。51. 如果一个软件是给许多客户使用的,大多数软件厂商要使用几种测试过程来发现那些可能只有最终用户才能发现的错误,( )测试是由一个用户在开发者的场所来进行的.测试的目的是寻找错误的原因并改正之。 A. B. C. D. 52. 系统测试是将软件系统与硬件、外设和网络等其他因素结合,对整个软件系统进行测试。( )不是系统测试的内容。A路径测试B可靠性测试C安装测试 D安全测试55、软件设计的主要任务是设计软件的结构、过程和模块,其中软件结构设计的主要任务是要确定( )。A模块间的操作细节 B模块间的相似性C模块间的组成关系 D模
14、块的具体功能答案: D D A A C53. 下图显示了某个学校课程管理系统的部分类图,其中一个学生(student)可以知道所有注册课程的教师(instructor),一个教师也可以知道所有注册课程的学生。现在提出一个新的需求:一个教师也可以是某些课程的学生,那么下面设计AC中哪一个是最好的?为什么?设计A:设计B:设计C:答案:设计_最好。 理由:设计C最好。 336353312424312DBDD B C1系统测试是将软件系统与硬件、外设和网络等其他因素结合,对整个软件系统进行测试。 ( ) 不是系统测试的内容。 A. 路径测试 B. 可靠性测试 C. 安装测试 D. 安全测试2 在结构
15、化分析方法中,数据字典是重要的文档。对加工的描述是数据字典的组成内容之一,常用的加工描述方法( ) 。 A. 只有结构化语言 B. 有结构化语言和判定树 C. 有结构化语言、判定树和判定表 D. 有判定树和判定表3软件设计的主要任务是设计软件的结构、过程和模块,其中软件结构设计的主要任务是要确定 ( ) 。 A. 模块间的操作细节 B. 模块间的相似性C. 模块间的组成关系 D. 模块的具体功能4 在UML提供的图中, () 用于描述系统与外部系统及用户之间的交互; () 用于按时间顺序描述对象间的交互。 (31)A. 用例图 B. 类图 C. 对象图 D. 部署图 (32)A. 网络图 B.
16、 状态图 C. 协作图 D. 序列图6 应该在 () 阶段制定系统测试计划。 A. 需求分析 B. 概要设计 C. 详细设计 D. 系统测试7耦合度描述了 ( ) 。 A. 模块内各种元素结合的程度 B. 模块内多个功能之间的接口 C. 模块之间公共数据的数量 D. 模块之间相互关联的程度8内聚是一种指标,表示一个模块 ( ) 。 A. 代码优化的程度 B. 代码功能的集中程度 C. 完成任务的及时程度 D. 为了与其他模块连接所要完成的工作量9两个小组独立地测试同一个程序,第一组发现 25 个错误,第二组发现 30 个错误,在两个小组发现的错误中有15 个是共同的,那么可以估计程序中的错误总
17、数是 ( ) 个。 A. 25 B. 30 C. 50 D. 6010 下面有关测试的说法正确的是 ( ) 。 A. 测试人员应该在软件开发结束后开始介入 B. 测试主要是软件开发人员的工作 C. 要根据软件详细设计中设计的各种合理数据设 D. 严格按照测试计划进行,避免测试的随意性11 在面向对象软件开发过程中,采用设计模式 ( ) 。 A. 允许在非面向对象程序设计语言中使用面向对象的概念 B. 以复用成功的设计和体系结构 C. 以减少设计过程创建的类的个数 D. 以保证程序的运行速度达到最优值 12采用UML进行软件建模过程中,类图是系统的一种静态视图,用( )可明确表示两类事物之间存在
18、的整体/部分形式的关联关系。A. 依赖关系 B. 聚合关系 C. 泛化关系 D. 实现关系13内聚性和耦合性是度量软件模块独立性的重要准则,软件设计时应力求( )。A. 高内聚,高耦合 B. 高内聚,低耦合C. 低内聚,高耦合 D. 低内聚,低耦合14 在软件设计和编码过程中,采取( )的做法将使软件更加容易理解和维护。A.良好的程序结构,有无文档均可 B.使用标准或规定之外的语句C.编写详细正确的文档,采用良好的程序结构 D.尽量减少程序中的注释ACCABDBCDBBC二、填空题1. (软件危机 )是指在软件的开发和维护过程中遇到的一系列严重问题,表现为软件开发的成本和进度严重超过预算,软件
19、无法更新和维护等等。2. (功能 )需求描述系统所预期提供的功能和服务。(非功能 )需求对系统如何提供服务和功能给出限制条件。3. 系统建模是对问题领域中的本质信息进行(抽象)和( 模型化表示 )的过程。4. 可用于需求收集和用户通信的主要技术手段包括( 访谈 )、(调查表 )、( 实际观察 )、构造原型、JAD等等。5. ( 原型 )是对目标系统的部分实现,作为一种尝试和探索的手段,可以应用到软件开发的各个阶段;根据其用途和作用不同,大致可分为(抛弃型 )和( 演化型 )两种类型。6. 在用例模型中,若用例A的执行必然激活用例B,则二者之间应定义为( 包含 )关系,若用例A的执行在某个条件点
20、上激活用例B,二者之间应定义为( 拓展 )关系。7. 软件测试阶段的主要依据是( SRS )8. UML的41视图分别是( 用例视图 )、( 静态视图 )、( 交互视图 )、( 行为视图 )、( 实施视图 )。其中的“1”指(用例视图)视图。9. UML中定义的基本关系形式有( 依赖 ),( 泛化 ),( 关联 ),( 实现 ),其中(泛化)关系表达了特殊事物与一般性事物之间“is a kind of”的语义。10. 结构化的系统分析方法中,对目标系统的功能域建模主要使用( 数据流 )图;对行为域建模主要使用(状态迁移 )图,对数据域建模主要使用(实体关系)图。11. 结构化分析方法将目标系统
21、分解为( 功能 )的集合,而面向对象的分析方法则将系统分解为( 对象 )的集合,它们之间通过( 消息 )进行通信和协作。12. 统一建模语言的英文缩写是( UML );它是一种定义良好、功能强大且普遍适用的可视化建模语言。13. ( 0层DFD )是处于最高抽象层次的数据流图,它给出目标系统全部的数据源点/终点和代表全部系统功能的一个( 数据加工 ),可以有效地表示出目标系统的应用范围。14. SRS的中文含义是( 软件需求规格说明书 );它是用户和开发组织对于目标系统的要求所达成的正式契约;也是后续开发活动参考的基本依据。15. UML规定使用( )、( )和( )符号来对应表示类内部成员的
22、public, private和protect可见性。16. ( 组合 )和( 聚合 )用于描述事物间“整体/部分”的特殊结构关系,其中( 组合 )使用实心菱形符号。17. 软件工程的三要素是指( 过程 )、( 方法 )、( 工具 )。18. ( 瀑布 )模型按线性关系组织过程活动,强调活动执行次序的单向性和相邻依赖性。该过程模型的焦点是文档和可交付产品。19. CMM的中文含义是( 能力成熟度模型 ),它是SEI制订的一个用于对软件过程标准化和规范化程度进行评估的方法。 20. ( 数据字典 )是对结构化分析模型中全部元素的一个有组织的列表以及精确、严格的定义。21. 在UML中类被表示为一
23、个三栏的矩形,类的( 名称 )列在第一栏中,类的( 属性 )列在第二栏中,类的( 方法 )列在第三栏中。22. UML的顺序图和协作图可以展现( 对象 )之间的动态协作和消息通信过程,其中( 顺序 )图更直观的表现了消息通信的时序。23. 结构化程序设计强调使用( 单一 )入口和(单一 ) 出口的基本控制结构,即 ( 顺序) 、(选择) 、和( 循环) 结构,通过组合嵌套,形成程序的控制结构;尽可能避免使用GOTO语句。在程序设计过程中尽量采用自 ( 顶 ) 向 ( 下) 和逐步 ( 求精) 的原则。24. 动态测试中,( 黑盒 ) 测试法主要检查程序是否满足功能要求 25. 用等价类划分法设
24、计一个测试用例,使其只覆盖( 一个 ) 不合理等价类。26. 结构化分析方法利用图形等半形式化的描述方式表达需求,简明易懂,用它们形成需求说明书中的主要部分。这些描述工具是:数据字典;( ERD/STD );描述加工逻辑的结构化语言PDL,( 判定树 )、( 判定表 )。 27. .在软件项目进度安排及跟踪方面,常常使用两种图。一种是用来定义任务网络的,做作PERT图;另外一种是用来定义项目时间进度的,叫做( 甘特 )。28. 传统的软件设计方法是出于解决(面向过程)语言系统的设计问题为目的。主要是那些基于功能分析或数据分析基础上的(结构化方法)。把算法作为基本构造单元。三、论述题1. 概要设
25、计的基本任务有哪些?A设计软件系统结构 B数据结构及数据库设计 C编写概要设计文档 D评审2什么是软件设计?软件设计是一个把软件需求转换为软件表示的过程,最初只描述软件的总的体系结构,称为软件概要设计或结构设计,然后对结构进一步细分,称为详细设计或过程设计。3软件测试是为了发现错误而执行程序的过程,软件测试时需要哪三类信息?A软件配置:指需求规格说明书、设计说明书、源程序等。 B测试配置:指测试方案、测试用例、测试驱动程序等 C测试工具:指计算机辅助测试的有关工具。 4简要说明面向对象开发同结构化开发的区别?OO方法结构化方法 系统由代表问题领域实际事物的对象构成。 将描述对象状态的数据和对象
26、提供的服务功能封装。 以“事物”作为分析重点。 对象之间通过消息协作。 系统由实现数据处理的功能构成。 分离并单独分析系统的数据域和功能域。 以功能作为分析重点。 功能模块间通过数据传递协作。5举例说明软件工程过程模型的种类并绘制瀑布模型。6试述结构化分析模型构成及分析模型同设计模型关系7简述调试和测试的区别?调试:发现并改正错误测试:发现错误8简述需求工程的主要活动?A需求开发(需求发现,需求分析,需求文档化,需求验证B需求管理(变更控制,版本控制,需求跟踪,状态管理9 UML的四种主要关系及图标?(依赖、泛化、实现、关联)10什么是用户界面设计的“黄金规制”? a)减少用户记忆负担b)保持
27、界面一致c)一切至于用户控制之下11软件需求分析能够被分为哪几个工作区域?a)领域了解b)获取项目需求c) 确定用户群体和用户代表d)利用有效的技术收集用户需求12试述软件体系结构设计的风格和模式。a数据为中心的体系结构b数据流风格的体系结构c调用返回的体系结构d面向对象的体系结构e层次风格的体系结构13简述集成测试的常用方法?A非渐增式的 B渐增式的(自底向上、自顶向下)14关于软件项目组的组织方式,请解释什么是民主分散式(Democratic Decentralized, DD)和控制集中式(Controlled Centralized, CC),并说明二者各自的适用领域。民主分散式无固定
28、复杂人,小组成员间的通信是水平的。适合解决简单问题控制集中式有小组复责人,复责人与小组成员间的通信是垂直的。适合解决模块化程度较低、困难问题15 什么是软件? 什么是软件工程?16软件测试过程一般可划分为哪四个主要阶段? 单元测试、集成测试、确认测试和系统测试17 CMM是什么?共分几级?初始级、可重复级、已定义级、已管理级、优化级18在UML包括的各种图中,哪些是用于表现系统动态行为特征的?用例图、状态图、活动图、协作图、顺序图。19软件危机的原因和表现1) 造成软件危机的原因 早期软件开发的随意性 缺少有效的工程管理和团队协调机制 硬件发展和计算机普及造成的冲击 软件规模和复杂度提高造成的
29、影响2) 软件危机的主要表现 软件开发周期、成本的严重超过预算; 软件质量难于保证,用户不满意 缺乏有效的文档说明,导致软件无法维护和完成适应性改变 生产效率远远低于计算机普及的速度20面向对象三要素?封装、继承和多态21软件工程的研究内容软件开发技术软件过程软件开发方法软件工具和软件工程环境软件工程三要素软件工程管理管理学、经济学、心理学等相关内容22软件工程三要素:过程、方法和工具方法:软件开发各项任务的技术方法工具:开发中运用的软件支撑环境过程:为了获得高质量的软件所需要完成的一系列任务的框架及完成各项任务的步骤23黑盒测试同白盒测试的区别?黑盒测试白盒测试优点适用于各阶段测试 从产品功能角度测试容易入手生成测试数据可构成测试数据使特定程 序部分得到测试有一定的充分性度量手段可或较多工具支持缺点某些代码得不到测试如果规格说明有误, 则无法发现不易进行充分性测试不易生成测试数据(通常)无法对未实现规格说明的 部分进行测试工作量大,通常只用于单 元测试,有应用局限24什么是需求工程需求工程应用有效的技术、方法进行需求开发和管理。确定客户需求,帮助分析
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1