软件工程练习题_第1页
软件工程练习题_第2页
软件工程练习题_第3页
软件工程练习题_第4页
软件工程练习题_第5页
免费预览已结束,剩余9页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一.填空题1 .软件生命周期分为 、需求分析、概要设计、详细设计、软件实现、软件测试及运彳T维护7个阶段。2 .是最早的软件生存周期开发模型,它将软件开发过程中的各项活动规定为 依固定顺序连接的若干阶段工作,形如瀑布流水,最终得到软件系统或软件产品。3 .是一种软件开发模型,在这种模型的每一个阶段,都要编码产生一个新的 构件,并将新构件集成到先前已经构成的产品中并作为一个整体进行测试,直到满足用户需求为止。4 .当没有足够的人员在规定的期限内开发完整的产品或者由于不可克服的客观原因而把交 付期限规定的太短时应选用 软件开发模型。5 .是一种软件开发模型,由需求定义、风险分析、实施开发和计划评审

2、4个部分组成,主要适用于大型软件项目开发。6 .文档说明该软件开发项目的实现在技术上、经济上和社会因素上等方面的可行性,评述为了合理地达到开发目的可供选择的各种可能实施的方案,说明并论证所选定实施方案的理由。7 .可行性分析的目的是 。8 .用于描述系统的物理模型,用物理符号以黑盒子的形式描绘系统里的每个 部件,仅表达信息在系统个部件之间流动的情况。9 .(一种图)可以用来进行项目进度管理。10 .结构化分析与设计是一种面向 的分析设计方法。11 .常见的需求获取方式有 、情景分析技术等。12 .在结构化分析中,用于描述加工逻辑的工具主要有结构化语言、判定树 和 。13 .数据字典中的条目主要

3、有 、数据流、文件和加工四种。14 .结构化软件开发方法贯穿始终的八字方针为 。15 .在软件生命周期中的每一个阶段结束后必须进行 ,这是为了能尽早发现 项目开发中的错误。16 .是软件生命周期中重要的一步,是软件定义阶段的最后一个阶段,是关系到软件开发成败的关键步骤。17 .数据流图分为变换型和 两种类型。18 .衡量不同模块彼此之间相互依赖的紧密程度。19 .衡量不同模块彼此之间相互依赖的紧密程度。20 .在软件模块设计时应该采取的设计原则是 。21 .内聚性与模块独立性的关系为内聚性越高,模块独立性越 。22 .概要设计阶段应产生的主要文档为 ,其中应包含对系统模块设计的结果。23 .详

4、细设计阶段生成的文档是 ,它是程序运行过程的描述。24 .详细设计阶段常用的图示工具包括程序流程图、N-S图、及过程性设计tH" 日 °25 .是编码的先导,这个阶段所产生的设计文档的质量将直接影响下一阶段程 序的质量。26 .除非对效率有特殊的要求,程序编写要做到 第一,效率第二。27 .软件从一个计算机系统或环境转移到另一个计算系统或环境的容易程度成 为。28 .RUP的全称为。29 .软件项目的风险管理一般包括风险识别、风险分析、 和风险监控4个过 程。30 .CMM的全称为。31.OOA的全称为。32.OOD的全称为。33 .软件配置管理包括 和 两个方面。34 .

5、UML中的建模包括 建模和 建模两大类。35 .在UML中,以反映类的结构(属性、操作)以及类之间的关系为主要目的,描述了软件系 统的结构的模型是。36 . UML中,参与者的外部用户所能观察到的系统功能的模型图是 。37 . UML中,的任务就是用来描述一个对象所处的可能状态以及状态之间的 转移。38 .UML中,是将活动图用线条分成一些纵向的矩形,每一个矩形属于一个特 定的对象或部门的责任区。39 .UML中,重点表示了对象之间传送消息的时间顺序。二.选择题1 .在软件开发模型中,提出最早、应用最广泛的模型是()。A.瀑布模型B .喷泉模型C .快速原型模型D.螺旋模型2 .当没有足够的人

6、员在规定的期限内开发完整的产品或者由于不可克服的客观原因而把交付期限规定的太短时应选用()软件开发模型。A.瀑布模型B .增量模型C .快速原型模型D.螺旋模型3 .下列哪个选项不是软件工程三要素。()A.方法 B. 过程 C. 工具 D. 文档4 .软件危机是指()。B.利用计算机进行经济犯罪A. 计算机病毒的出现C. 软件开发和维护中出现的一系列问题D. 人们过分迷恋计算机系统5. 螺旋模型将瀑布模型与原型模型结合起来,应且加入两种模型均忽略的() 。A. 制定计划B. 风险分析C. 实施工程D. 客户评估6. 系统流程图是一种传统工具,用于描绘系统的() 。A. 逻辑模型B. 程序结构C

7、. 体系结构D. 物理结构7. 可行性分析研究的目的是() 。A. 争取项目B. 项目值得开发否C. 开发项目D. 规划项目8. 下列哪个软件可以用来进行项目进度管理。()A. Visual C+ B. Eclipse C. SVN D. Microsoft Project9. 下列哪个选项不是项目计划中需要完成的任务。()A. 项目成本估算B. 项目进度安排C. 项目资源分配D. 系统结构设计 10. 在数据流图中,( 圆圈 ) 代表() 。A. 源点B.汇点C. 加工D. 文件11. 软件需求分析阶段的工作可以分为四个方面:需求获取、需求分析、编写需求规格说明书以及() 。A. 用户B.

8、需求评审C. 总结D.可行性分析12. 在数据流图中,( 方块 ) 代表() 。A. 源点B. 数据流C. 加工D. 文件13. 数据流图是一种传统工具,用于描绘系统的() 。A. 逻辑模型B. 程序结构C. 体系结构D. 物理结构14. 结构化分析方法的一个重要指导思想是() 。A. 自顶向下,逐步抽象B. 自底向上,逐步抽象C. 自顶向下,逐步分解D.自底向上,逐步分解15. 下列哪个软件可以用来进行项目建模。()A. Visual C+ B. Eclipse C. SVN D. Microsoft Viso16. 软件需求分析阶段建立原型的主要目的是()A. 确定系统的功能和性能要求B.

9、确定系统的运行要求C. 确定系统是否满足用户需求D.确定系统是否满足开发人员需求17. 结构分析方法的常用描述工具不包括()。A. 数据流图B. 数据字典C. 加工逻辑说明D. 系统结构图18. 数据流图示面向() 分析方法的描述工具。A. 数据结构B. 数据流C. 对象D. 构件19. 内聚是对模块功能强度的度量,下面四个选项中内聚性最强的是() 。A. 偶然内聚B. 逻辑内聚C. 功能内聚D. 信息内聚20. 内聚是对模块功能强度的度量,下面四个选项中内聚性最弱的是() 。A. 偶然内聚B. 逻辑内聚C. 功能内聚D. 信息内聚21. 下面四个选项中耦合性最强的是() 。A.内容耦合B.外

10、部耦合C.数据耦合D.标记耦合22. 下面四个选项中耦合性最弱的是() 。A.内容耦合B.外部耦合C.数据耦合D.标记耦合23. 数据耦合、内容耦合、标记耦合、控制耦合的耦合性从低到高的顺序是() 。A.数据、内容、标记、控制B.数据、标记、控制、内容C.控制、数据、标记、内容D.控制、数据、内容、标记24. 功能内聚、顺序内聚、时间内聚、偶然内聚的内聚性从低到高的顺序是() 。A.功能、顺序、时间、偶然B.偶然、功能、时间、顺序C.偶然、时间、顺序、功能D.顺序、偶然、功能、时间25. 下面对系统模块化思想描述不正确的是() 。A. 有利于降低问题的复杂度B.有效地提高软件可测试性和可维护性

11、C. 提高软件的可靠性D.给项目组织管理带来了困难26. 按照软件工程的原则,模块的作用域和模块的控制域之间的关系是() 。A. 模块的作用域应在模块的控制域之内B. 模块的控制域应在模块的作用域之内C. 模块的控制域与模块的作用域互相独立D.以上说法都不对27. 下列不属于软件设计原则的是() 。A. 高内聚B. 自底向上C. 模块化D. 低耦合28. 概要设计是软件系统结构的总体设计,以下选项中不属于概要设计的是() 。A. 把软件划分成模块B. 确定各个模块的功能C. 确定模块之间的调用关系D.设计每个模块的伪代码29. 模块中所有成分结合起来完成一项任务,该模块的内聚度是() 。 它具

12、有简明的外 部界面,由它构成的软件易于理解、测试和维护。偶然内聚B. 逻辑内聚C. 功能内聚D. 信息内聚30. 软件总体设计阶段的主要任务是() 。A. 算法设计B. 数据结构设计C. 软件模块结构设计D. 输入 / 输出设计31. 软件详细设计工具中,采用自左向右的二维图形结构描述算法的是() 。A. N-S B. PAD C. DD D. DFD32. 软件详细设计阶段的主要任务是() 。A. 算法及数据结构设计B. 功能模块设计C. 数据库设计D.功能性能分析33. 以下关于程序流程图说法不正确的是() 。A. 独立于任何一种程序设计语言B. 比较直观、清晰,易于掌握C. 不支持逐步求

13、精D.容易表示程序的层次结构34. 以下关于盒图( 方块图 ) 说法不正确的是() 。A. 控制的转移不能任意规定B. 可以表示模块的层次结构C. 很容易表现嵌套关系D. 不符合结构化程序设计的要求35. 在软件详细设计阶段,经常采用的工具是() 。A. PAD B. OOA C. DD D. DFD36. 下面关于良好的程序设计风格说法正确的是() 。A. 使用括号以改善表达式的清晰性B. 程序中的注释是可有可无的C. 尽量多使用临时变量D. 嵌套应尽可能多的使用37. 下面关于良好的程序设计风格说法不正确的是() 。A.尽可能多地使用 GOTOg句B. 程序的格式应有助于读者理解程序C.

14、注解应占到整个程序的1/2 1/3 D. 使用有意义的变量名38. 编制一个好的程序首先要确保它的正确性和可靠性,除此之外,通常更注重源程序的()。A. 易使用性、易维护性和效率B. 易使用性、易维护性和易移植性C. 易使用性、易维护性和易修改性D. 易理解性、安全性和效率39. 良好的程序设计风格中选择标识符的名字时应考虑() 。A. 名字长度越短越好,以减少源程序的输入量B. 多个变量共用一个名字,以减少变量名的数目C. 选择含义明确的名字,以正确提示所代表的实体D. 尽量以关键字作为名字,以使名字标准化40. 为了形成良好的程序设计风格,在书写语句时应考虑() 。A. 把多个短的语句写在

15、同一行中,以减少源程序的行数B. 尽量使用标准文本以外的特殊功效的语句,以提高语句的功效C. 尽量消除表达式中的括号,以简化表达式D. 避免使用测试条件“非”,以提高程序的可读性41. 下列属于维护阶段的文档是() 。A. 软件需求规格说明B. 详细设计说明书C. 软件维护申请报告D.软件测试分析报告42. 在整个软件维护阶段所花费的全部工作中,A. 改正性维护B.)所占比例最大。适应性维护C. 完善性维护D.预防性维护43. 根据引起软件维护的原因,软件维护阶段通常可分为四类,其中不包括() 。A. 改正性维护B.系统性维护C. 完善性维护D.预防性维护44. 下列叙述中不利于软件可维护性提

16、高的是() 。A. 为了缩短源程序的程度应删去源程序中的注解B. 尽可能在软件生产过过程中保证各阶段文件的正确性C. 重视程序结构的设计,使程序具有较好的层次结构D. 在进行需求分析时就应同时考虑维护性问题45. 下面关于软件质量管理说法不正确的是() 。A. 软件质量,是贯穿软件生存期的一个极为重要的问题B. 影响软件质量的要素包括软件的功能性、可移植性、可修改性等多个方面C. 软件能力成熟度模型是用于评价软件承包商能力并帮助改善软件质量的方法D. 在软件质量管理中不应该强调全面质量管理,应该是少数人对质量进行负责46. 下面关于软件配置管理说法不正确的是() 。A. 现代软件开发复杂度高是

17、提出软件配置管理的主要原因B. 软件配置管理包含为两部分配置管理和变更控制管理C. 软件配置管理有助于避免软件开发中混乱情况的发生D. 软件配置管理是对开发过程中所需软硬件进行的管理47. 下面关于软件风险管理说法不正确的是() 。A. 项目风险管理实际上就是贯穿在项目开发过程中的一系列管理步骤B. 在开发初期就应该制定完善的风险管理策略C.在风险管理中应建立风险清单、制定解决方案及风险规避办法D.风险管理包括风险识别、风险评估两个阶段。48 .下面说法不符合极限编程思想的是()。A.极限编程是一种敏捷开发方法B.极限编程推崇简单设计和小版本开发C.极限编程中测试是在编码完成之后才进行设计和实

18、施的D.极限编程具有很高的灵活性和实践性,但也备受争议49 .下面说法不符合极限编程思想的是()。A.极限编程是一种敏捷开发方法B.极限编程推崇复杂设计和大版本开发C.极限编程推崇测试先行,测试驱动开发D.极限编程具有很高的灵活性和实践性,但也备受争议50 . UML图不包括()(A)用例图(B)类图(C)状态图(D)流程图51 .在类图中,下面哪个符号表示继承关系()(A) (B):(C)F(D)-52 .下面哪个视图属于 UML语言的交互图()(A)行为图(B)状态图(C)实现图(D)顺序图53 .RUP中有()个核心过程工作流。(A) 1(B) 3(C) 6(D) 954 .类之间的关系

19、不包括( D )(A)依赖关系(B)泛化关系(C)实现关系(D)分解关系55 .如果发现一个子类从父类继承来的行为对子类毫无意义或子类不能替代其父类时,这种 继承关系违背了()。A.单一职责原则B.依赖倒置原则C. Liskov替换原则D.迪米特法则56.使用多个隔离的接口,比使用单个接口好,这是()的主要思想。A.单一职责原则B.依赖倒置原则C. Liskov替换原则D.接口隔离原则57.系统里的每一个对象应该具有单一职责,这个对象的所有服务都应该聚焦在实现这个职 责上,这是()的主要思想。A. 单一职责原则B.依赖倒置原则C. Liskov 替换原则D.接口隔离原则58. 要针对接口编程,

20、不针对实现编程,这是()的主要思想。A. 单一职责原则B.依赖倒置原则C. Liskov 替换原则D.接口隔离原则59 .下面对RU比法正确的是()。A. RUP 是 Oracle 公司开发和维护的过程产品B. RUP 采用瀑布式的开发模型C. RUP 的整个开发周期分为初始、细化、交付三个阶段D. UML是RU叫发方法的一种有力支持工具60 .下面对RU比法不正确的是()。A. RUP 是 Rational 公司开发和维护的过程产品B. RUP 采用迭代式的开发模型C. RUP 的整个开发周期分为初始、细化、交付三个阶段D. RUP 被称为软件统一开发过程三判断题1. 可行性分析是大大简化的

21、软件分析和设计过程2. 可行性分析阶段需要完成可行性分析报告的书写,不需要进行阶段评审。3. 可行性分析不是解决问题,而是确定为什么要解决这个问题,是否值得去解。4. 在绘制分层数据流图时,最上层的叫做0 层图。5. 需求分析解决目标系统“做什么”的问题,需求包括功能性需求和非功能性需求。6. 在一套分层数据流图中,如果某张图中的加工需要进一步细化,可以画出该图的子图,单应注意保持父图与子图之间的平衡。7. 对数据流图进行分层细化时必须保持信息连续性,即当把一个处理分解为一系列处理时,分解前和分解后的输入/ 输出数据流必须相同。8. 总体设计的主要任务是确定系统的总体结构,形成软件的模块结构图

22、,并完成总体设计说明书的编写工作。9. 在软件模块结构的设计上应力争做到低内聚、高耦合。10. 既然模块化可以减少工作量,那么可以把软件进行无限分解。11. 提高模块独立性是好的软件设计的关键,而设计又是决定软件质量的关键环节。12. 具有一个线性结构,有明显的逻辑输入和逻辑输出,由输入、 变换和输出三部分组成的 数据流图为事务性数据流图。13. 模块越小,模块化的优点越明显。一般来说,模块的大小都在10 行以内。14. 在将这种混合型数据流图转换成软件结构图时,通常以事务分析为主。15. 在进行程序编码时,为了代码的完整、精炼应少写注释。16. 编码规范有助于程序员形成好的程序设计风格。17

23、. 编码规范中一般从文件组织、注释、声明、命名规范等诸多方面对编码进行要求,但其中有些是可有可无的。18. 在程序编码时,变量的命名通常应具有实际意义,并采用全大写的命名方式。19. 软件测试应该在编码完成后再计划和实施。20. 软件维护会产生副作用,主要反映在三个方面:修改编码的副作用、修改数据的副作用、修改文档的副作用。21. 在编码时尽可能使用全局变量有助于提高程序的可维护性22. 在软件维护时,当有源程序代码发生修改后,不用做全面的测试。23. 在软件维护工作中,文档资料也应作及时的更新,不能明确地反映软件的实际状况,可能比没有设计文档更糟糕。24. 在进行面向对象设计时要注意对类进行

24、良好的封装,通常我们是将经常发生变动的部分封装起来。25. 迭代是进行面向对象开发的一种常见方法,在迭代过程中如果发现软件结构不能灵活应对变化,应该进行设计重构。26. 软件管理应先于任何技术活动之前,并贯穿于软件的整个生命周期之中。27. 项目开发计划和详细设计说明书是软件设计阶段必须生成的文档。28. 在软件开发过程中,应该遵循边开发,边测试的原则。29. 软件团队的组织对于软件项目开发非常重要,一个 10 人的开发团队一定比一个5 人的开发团队更有效率。30. 面向对象的软件工程方法包括面向对象分析、面向对象设计、面向对象编程、面向对象测试和面向对象维护,这些部分紧密结合在一起,填平了开

25、发过程中的鸿沟。31. UML 是面向对象开发方法的有力支持工具。四名词解释1. 软件工程2. 软件生命周期3. 数据流图4. 结构化分析方法5. 内聚度6. 耦合度7. 功能内聚8. 校正性维护9. 适应性维护10. 完善性维护11. 软件配置管理12. 开放封闭原则五简答题1. 什么是软件生命周期?分为哪几个阶段?2. 简要说明瀑布模型的主要思想。3. 简要说明增量( 渐增 ) 模型的主要思想。4. 简要说明里程碑模型的主要思想。5. 快速原型法的基本思想是什么?适用于哪些项目的开发?6. 假设你负责某种软件的研发,由于市场竞争激烈,公司规定了严格的完成期限并且已对外公布。你打算采用哪种软

26、件开发模型或方法?为什么?7. 可行性分析报告主要包括哪些内容?8. 项目计划应该包含哪些方面?请以学籍管理系统为例进行说明。9. 结构化分析方法的主要思想是什么?有哪些常用的工具?10. 需求规格说明书主要包括哪些内容?11. 需求分析阶段的主要任务是什么?应交付哪些成果?12. 软件总体设计阶段的主要任务是什么?需要提交哪些文档?13. 概要设计说明书主要包括哪些内容?14. 结构化设计的主要思想是什么?其设计结果是什么?15. 软件详细设计说明阶段的主要任务是什么?需要提交哪些文档?16. 详细设计说明书主要包括哪些内容?17. 在软件编码阶段强调编码规范的目的是什么?请任举两条基本的编码规范。18. 简述软件维护的工作流程。19. 软件开发过程中的各种文档起到什么作用?如果文档不完整或不规范会带来什么不良后果?请说明顺序图与协作图的区别与联系。六分析设计题1. 下面是一段伪代码描述的程序流程,请画出它的程序流程图。STARTINPUT(A,B,C,D)While (A>0)AND(B>0)BeginC=C+A+BD=D+A-BA一B-ENDIF(C>D)PRINT(C)ELSEPRINT(D)STOP2 .设计算法实现三个数从小到大排列的功能,并用盒图描述该算法。3 .下面是一个吉他搜索系统的类图,仔细分析该类图,回答一下问题

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论