软件工程试题及答案

合集下载

软件工程考试试题与答案

软件工程考试试题与答案

软件工程考试试题与答案软件工程是一个综合性较强的学科,涉及到软件开发的各个方面。

为了帮助考生更好地备考软件工程考试,下面为大家整理了一些常见的软件工程考试试题与答案。

一、选择题1. 软件工程是指()。

A. 设计、开发和维护软件的工程学科B. 使用计算机辅助设计软件的学科C. 算法和数据结构的学科D. 编程语言和工具的学科答案:A2. 软件生命周期包括以下几个阶段:()。

A. 需求分析、系统设计、编码和测试B. 可行性研究、需求分析、系统设计、编码、测试和维护C. 需求分析、系统设计、编码、测试和维护D. 可行性研究、编码和测试答案:B3. 软件需求分析的目的是()。

A. 确定软件系统的功能和性能要求B. 设计软件系统的架构C. 编写软件源代码D. 测试软件系统的正确性答案:A4. 软件测试的目的是()。

A. 检查软件系统是否满足需求B. 修复软件系统中的错误C. 优化软件系统的性能D. 审查软件系统的代码质量答案:A5. 软件工程的核心原则是()。

A. 按计划进行工作B. 管理好项目进度C. 不断改进开发过程D. 保证代码质量答案:C二、简答题1. 请简要说明软件需求分析的过程。

答:软件需求分析的过程包括以下几个步骤:需求获取、需求分析、需求规格说明、需求验证。

需求获取阶段主要是通过与用户沟通、文档分析等方式了解用户的需求。

需求分析阶段是将获取到的需求进行分析和整理,确定软件系统的功能和性能需求。

需求规格说明阶段是编写详细的需求规格文档,明确系统功能、非功能性需求、界面设计等内容。

需求验证阶段是通过测试等方式验证需求规格是否满足用户需求。

2. 请简要介绍软件设计的常见方法。

答:软件设计的常见方法包括结构化设计、面向对象设计和面向服务的设计。

结构化设计是按照自顶向下的步骤将系统划分为模块,并确定模块之间的接口和数据流动。

面向对象设计是通过定义对象及其相互关系来描述软件系统。

面向服务的设计是将软件系统划分为服务,每个服务提供一组特定的功能,并通过服务间的通信实现系统功能。

软件工程试题及答案

软件工程试题及答案

1. 软件生命期各阶段的任务是什么?答:软件生命期分为7个阶段:1、问题定义:要解决的问题是什么2、可行性研究:确定问题是否值得解,技术可行性、经济可行性、操作可行性3、需求分析:系统必须做什么4、总体设计:系统如何实现,包括系统设计和结构设计5、详细设计:具体实现设计的系统6、实现:编码和测试7、运行维护:保证软件正常运行。

2、软件重用的效益是什么?答:1、软件重用可以显著地改善软件的质量和可靠性。

2、软件重用可以极大地提高软件开发的效率。

3、节省软件开发的成本,避免不必要的重复劳动和人力、财力的浪费.3、自顶而下渐增测试与自底而上渐增测试各有何优、缺点?答:①自顶而下渐增测试优点:不需要测试驱动程序,能够在测试阶段的早期实现并验证系统的主要功能,而且能够尽早发现上层模块的接口错误。

缺点:需要存根程序,底层错误发现较晚.②自底而上渐增测试优点与缺点和自顶而下渐增测试相反.4 、提高可维护性的方法有哪些?答:在软件工程的每一阶段都应该努力提高系统的可维护性,在每个阶段结束前的审查和复审中,应着重对可维护性进行复审。

在需求分析阶段的复审中,应对将来要扩充和修改的部分加以注明.在讨论软件可移植性问题时,要考虑可能要影响软件维护的系统界面。

在软件设计的复审中,因从便于修改、模块化和功能独立的目标出发,评价软件的结构和过程,还应对将来可能修改的部分预先做准备。

在软件代码复审中,应强调编码风格和内部说明这两个影响可维护性的因素。

在软件系统交付使用前的每一测试步骤中都应给出需要进行预防性维护部分的提示。

在完成每项维护工作后,都应对软件维护本身进行仔细认真的复审.为了从根本上提高软件系统的可维护性,人们正试图通过直接维护软件规格说明来维护软件,同时也在大力发展软件重用技术。

简述软件测试要经过哪几个步骤,每个步骤与什么文档有关.【解答】测试过程按4 个步骤进行,即单元测试(模块测试)、集成测试(子系统测试和系统测试)、确认测试(验收测试)和平行运行。

软件工程考试试题(含答案)

软件工程考试试题(含答案)

软件⼯程考试试题(含答案)⼀、填空题(每空1分,共25分)1.软件⽣存周期⼀般可以划分为,问题定义、____________、____________、设计、编码、测试和____________。

2.基于软件的功能划分,软件可以划分成__________、__________、__________三种。

3.可⾏性研究,应从、技术可⾏性、运⾏可⾏性、和开放⽅案可⾏性等⽅⾯研究。

4.系统流程图是描绘的传统⼯具。

它的基本思想是⽤图形符号以描绘系统⾥⾯的每个部件。

5.数据流图的基本四种成分:数据输⼊的源点和数据输出汇点、、和。

6.结构化分析⽅法是⾯向________________进⾏需求分析的⽅法。

结构化分析⽅法使⽤________________与________________来描述。

7.是⾃动地共享类、⼦类和对象中的⽅法和数据的机制。

8.软件详细设计⼯具可分为3类,即________________、________________和________________。

9.为了在软件开发过程中保证软件的质量,主要采取下述措施:________________、复查和管理复审、________________。

10.⼤型软件测试包括、、确认测试和四个步骤。

1、可⾏性研究需求分析运⾏与维护2、系统软件⽀撑软件应⽤软件3、经济可⾏性法律可⾏性4、物理系统⿊盒⼦形式5、加⼯数据流数据存储⽂件6、数据流数据流图DFD 数据字典DD7、继承性8、图⽰⼯具、设计语⾔表格⼯具9、审查测试10、单元测试集成测试系统测试⼆、单项选择题(每⼩题2分,共20分)1 2 3 4 5C C C A C6 7 8 9 10D D A C B1.软件设计中划分模块的⼀个准则是()。

A、低内聚低耦合B、低内聚⾼耦合C、⾼内聚低耦合D、⾼内聚⾼耦合2.Jackson设计⽅法是由英国的M. Jackson提出的,它是⼀种⾯向()的软件设计⽅法。

软件工程试题库及答案

软件工程试题库及答案

一、选择题软件〔2〕1.在软件开发的各种资源中,〔 D 〕是最重要的资源。

A 开发工具B 法C 硬件环境D 人员2.软件的复杂性是〔A 〕,它引起人员通信困难、开发费用超支、开发时间超时等问题。

A 固有的B 人为的C 可消除的D 不可降低的3.3:软件是计算机系统中与硬件相互依存的另一局部,它的组成局部是〔D 〕。

A.程序、数据 B.程序、文档 C.程序 D. 程序、数据、文档4.软件是一种〔B 〕产品。

A、有形B、逻辑C、物质D、消耗软件危机〔1〕5.1:开发软件所需高本钱和产品的低质量之间有着锋利的矛盾,这种现象称做( C )A.软件工程B.软件期C.软件危机D.软件产生6.2:在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等原因导致了〔A 〕A.软件危机B.软件工程C.程序设计革命D.构造化程序设计7.3:以下哪一项不是软件危机的表现形式( C )(A〕本钱高〔B〕生产率低(C) 技术开展快〔D〕质量得不到保证8.4:"软件危机〞产生的主要原因是( A )。

A.软件日益庞大B.开发法不当C.开发人员编写程序能力差D.没有维护好软件9.5:软件危机是指在软件开发和〔 C 〕过程中遇到的一系列重问题。

A 开发B 使用C维护D更新软件工程〔2〕10.1:为了解决软件危机人们提出了用〔B 〕的原理来设计软件,这就是软件工程诞生的根底。

(A) 运筹学(B) 工程学(C) 软件学(D) 数学11.2.在软件工程时期,决定软件质量的主要因素是( A )A.管理水平 B.个人程序技术C.小组技术水平 D.硬件的开展12. 3. 软件管理工作涉及到的直接对象不包括( B )。

A.软件开发人员B.硬件设备C.工程经费D.软件工程13. 4. 软件工程法学有三个要素,它们是〔A 〕A.法、工具和过程B.质量、进度和本钱C.顺序、分支和循环D.入口、过程、出口生命期及模型〔5〕14.1:软件工程中描述生命期的瀑布模型一般包括方案、( A )、设计、编码、测试、维护等几个阶段。

软件工程试题与答案

软件工程试题与答案

一、单选题1.在软件危机中表现出来的软件质量差的问题,其原因是_____C__。

A.软件研发人员素质太差B.用户经常干预软件系统的研发工作C.没有软件质量标准D.软件开发人员不遵守软件质量标准2.在软件质量因素中,软件在异常条件下仍能运行的能力成为软件的___B__。

A.安全性B.健壮性C.可用性D.可靠性3.在下列测试技术中,__D____不属于黑盒测试技术。

A.等价划分B.边界值分析C.错误推测D.逻辑覆盖4.软件工程方法是在实践中不断发展着的方法,而早期的软件工程方法主要是指_____B_。

A.原型化方法B.结构化方法C.功能化方法D.面向对象方法5.__C____是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。

A.多态B.继承C.封装D.消息6.Jackson方法是在软件开发过程中常用的方法,使用Jackson方法时可以实现____A__。

A.从数据结构导出程序结构B.从数据流图导出初始结构图C.从模块结构导出数据结构D.从模块结构导出程序结构7.软件测试时为了_____B___而执行程序的过程。

A.纠正错误B.发现错误C.避免错误D.证明错误8.在软件系统中,一个模块应具有什么样的功能,这是由__B___决定的。

A.总体设计B.需求分析C.详细设计D.程序设计9.面向对象分析是对系统进行___A______的一种方法。

A.需求分析B.程序设计C.设计评审D.10.测试验收软件文档是软件工程实施中的重要部分,它不仅是软件开发各阶段的重要依据,而且影响软件的___B____。

A.可理解性B.可维护性C.可扩展性D.11.可移植模块内聚度越高,说明模块内各成分彼此结合的程序越____B___。

A.松散B.紧密C.无法判断D.12.相等软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码、测试和维护等阶段,一般认为可能占用人员最多的阶段是_____C___。

软件工程考试试题(含答案)

软件工程考试试题(含答案)

一、填空题(每空1分,共25分)1.软件生存周期一般可以划分为,问题定义、____________、____________、设计、编码、测试和____________.2.基于软件的功能划分,软件可以划分成__________、__________、__________三种.3.可行性研究,应从、技术可行性、运行可行性、和开放方案可行性等方面研究。

4.系统流程图是描绘的传统工具。

它的基本思想是用图形符号以描绘系统里面的每个部件。

5.数据流图的基本四种成分:数据输入的源点和数据输出汇点、、和。

6.结构化分析方法是面向________________进行需求分析的方法。

结构化分析方法使用________________与________________来描述。

7.是自动地共享类、子类和对象中的方法和数据的机制.8.软件详细设计工具可分为3类,即________________、________________和________________。

9.为了在软件开发过程中保证软件的质量,主要采取下述措施:________________、复查和管理复审、________________。

10.大型软件测试包括、、确认测试和四个步骤.1、可行性研究需求分析运行与维护2、系统软件支撑软件应用软件3、经济可行性法律可行性4、物理系统黑盒子形式5、加工数据流数据存储文件6、数据流数据流图DFD 数据字典DD7、继承性8、图示工具、设计语言表格工具9、审查测试10、单元测试集成测试系统测试1.软件设计中划分模块的一个准则是()。

A、低内聚低耦合B、低内聚高耦合C、高内聚低耦合D、高内聚高耦合2.Jackson设计方法是由英国的M。

Jackson提出的,它是一种面向()的软件设计方法.A、对象B、数据流C、数据结构D、控制结构3.试判断下列叙述中,哪个(些)是正确的( ).a、软件系统中所有的信息流都可以认为是事务流b、软件系统中所有的信息流都可以认为是变换流c、事务分析和变换分析的设计步骤是基本相似的A、aB、bC、cD、b和c4.()是用户和设计交换最频繁的方法.A、原型化方法B、瀑布模型方法C、螺旋模型方法D、构件组装模型5.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是()。

软件工程试题及答案(较详细)

软件工程试题及答案(较详细)

一.判断题:1.如果决定将软件全部包给第三方公司开发。

(×)2.有了对系统的目标有了大致的了解,就可以开始开发项目,以后的在开发中继续了解。

(×)3.对于一个成功的软件项目,可执行程序是唯一交付的东西。

(×)4.直到程序运行,才评估软件系统的质量。

(×)5.如果未能按时完成任务,我们可以通过增加程序员来加快完成任务.(×)6.虽然软件需求不断变更,但因软件比硬件有弹性,所以我们经常可以变更它.(×)7.软件工程将导致我们产生大量的无用文档,降低工作效率。

(×)8.在面向对象建模中,主题划分提供了在更高一层上描述。

(主题划分是指UML中将一组关联比较强的类的集合。

则上百个类可划分为几个主题)(√)9.面向对象的开发,对象分解取代功能分解. (√)10.软件中80%的错误存在20%的模块中。

(√)11.结构化分析方法在建立系统模型时,使用一般――特殊结构(实际上没有这种关系)来处理信息。

(×)12.开发软件就是编程。

(×)13.需求规格说明书说明了(√)14.结构化方法,建立系统模型时使用一般连接组织信息. (×)15.敏捷过程模型选用小而高激励的团队使用而不适用于大团队。

(√)二.简答题1.软件工程是层次化的,其四个层次是?答:方法,工具,过程,质量保证软件工程是一种层次化的技术(如图2-1所示)。

任何工程方法(包括软件工程)必须以有组织的质量保证为基础。

全面的质量管理和类似的理念刺激了不断的过程改进,正是这种改进导致了更加成熟的软件工程方法的不断出现。

支持软件工程的根基就在于对质量的关注。

软件工程的基层是过程层。

软件工程过程是将技术层结合在一起的凝聚力,使得计算机软件能够被合理地和及时地开发出来.过程定义了一组关键过程区域的框架(KPAs)[PAY93],这对于软件工程技术的有效应用是必须的。

关键过程区域构成了软件项目的管理控制的基础,并且确立了上下各区域之间的关系,其中规定了技术方法的采用、工程产品(模型、文档、数据、报告、表格等)的产生、里程碑的建立、质量的保证及变化的适当管理。

软件工程试题库及答案

软件工程试题库及答案

一、选择题软件(2)1.在软件开发的各种资源中,( D )是最重要的资源。

A 开发工具B 方法C 硬件环境D 人员2.软件的复杂性是( A ),它引起人员通信困难、开发费用超支、开发时间超时等问题。

A 固有的B 人为的C 可消除的D 不可降低的3.3:软件是计算机系统中与硬件相互依存的另一部分,它的组成部分是( D )。

A.程序、数据 B.程序、文档 C.程序 D. 程序、数据、文档4.软件是一种( B )产品。

A、有形B、逻辑C、物质D、消耗软件危机(1)5.1:开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( C )A.软件工程B.软件周期C.软件危机D.软件产生6.2:在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等原因导致了( A )A.软件危机B.软件工程 C.程序设计革命D.结构化程序设计7.3:以下哪一项不是软件危机的表现形式( C )(A)成本高(B)生产率低(C) 技术发展快(D)质量得不到保证8.4:“软件危机”产生的主要原因是( A )。

A.软件日益庞大B.开发方法不当C.开发人员编写程序能力差D.没有维护好软件9.5:软件危机是指在软件开发和( C )过程中遇到的一系列严重问题。

A 开发B 使用 C维护D更新软件工程(2)10.1:为了解决软件危机人们提出了用(B )的原理来设计软件,这就是软件工程诞生的基础。

(A) 运筹学(B) 工程学 (C) 软件学(D) 数学11.2.在软件工程时期,决定软件质量的主要因素是( A )A.管理水平 B.个人程序技术 C.小组技术水平 D.硬件的发展12.3. 软件管理工作涉及到的直接对象不包括( B )。

A.软件开发人员 B.硬件设备 C.项目经费 D.软件项目13.4. 软件工程方法学有三个要素,它们是( A )A.方法、工具和过程B.质量、进度和成本C.顺序、分支和循环D.入口、过程、出口生命周期及模型(5)14.1:软件工程中描述生命周期的瀑布模型一般包括计划、( A )、设计、编码、测试、维护等几个阶段。

软件工程试题及答案

软件工程试题及答案

4. 面向对象的分析方法主要是建立三类模型,即( D )。

A) 系统模型、ER模型、应用模型B) 对象模型、动态模型、应用模型C) E-R模型、对象模型、功能模型D) 对象模型、动态模型、功能模型5. 在E-R模型中,包含以下基本成分( )。

A) 数据、对象、实体B) 控制、联系、对象C) 实体、联系、属性D) 实体、属性、操作9.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0, 1.0],现从输入的角度考虑一组测试用例:-1.001, -1.0, 1.0, 1.001.设计这组测试用例的方法是( c )A.条件覆盖法 B.等价分类法C.边界值分析法 D.错误推测法10、详细设计的基本任务是确定每个模块的( d )A.功能B.调用关系C.输入输出数据 D.算法11.设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X需要的工作量(时间)。

对于两个问题P1和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是:( a )A.模块化的根据B.逐步求精的根据C.抽象的根据D.信息隐藏和局部化的根据13.面向数据流的设计方法把( D )映射成软件结构。

A.数据流B.系统结构C.控制结构D.信息流14.内聚程度最低的是( A.偶然 )内聚A.偶然 B.过程 C.顺序 D.时间15.确定测试计划是在( D )阶段制定的.A.总体设计 B.详细设计 C.编码 D.测试16.需求分析的产品是( D )A.数据流程图案B.数据字典C.判定表D.需求规格说明书17.数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( C )A.数据库设计B.数据通信C.数据定义D.数据维护18.( D )引入了“风险驱动”的思想,适用于大规模的内部开发项目。

A.增量模型B.喷泉模型C.原型模型D.螺旋模型(×)2、系统测试的主要方法是白盒法,主要进行功能测试、性能测试、安全性测试及可靠性等测试。

软件工程试题与答案 (21)

软件工程试题与答案 (21)

( C )1. 软件是()。

A. 处理对象和处理规则的描述B. 程序C. 程序及其文档D. 计算机系统( B )2. 软件需求规格说明的内容不应包括()。

A. 主要功能B. 算法的详细描述C. 用户界面及运行环境D. 软件的性能( B )3. 程序的三种基本控制结构是()。

A. 过程、子程序和分程序B. 顺序、选择和重复C. 递归、迭代和回溯D. 调用、返回和转移( D) 4. 面向对象的分析方法主要是建立三类模型,即( )。

A) 系统模型、ER模型、应用模型B) 对象模型、动态模型、应用模型C) E-R模型、对象模型、功能模型D) 对象模型、动态模型、功能模型( C ) 5. 在E-R模型中,包含以下基本成分( )。

A) 数据、对象、实体B) 控制、联系、对象C) 实体、联系、属性D) 实体、属性、操作( A ) 6. 各种软件维护的类型中最重要的是( )。

A) 完善性维护B) 纠错性维护C) 适应性维护D) 预防性维护( B ) 7.软件测试的目标是()。

A. 证明软件是正确的B. 发现错误、降低错误带来的风险C. 排除软件中所有的错误D. 与软件调试相同( D )8.软件生命周期中所花费用最多的阶段是()A.详细设计 B.软件编码 C.软件测试 D.软件维护( C )9.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0, 1.0],现从输入的角度考虑一组测试用例:-1.001, -1.0, 1.0, 1.001.设计这组测试用例的方法是()A.条件覆盖法 B.等价分类法 C.边界值分析法 D.错误推测法( D )10、详细设计的基本任务是确定每个模块的( )设计A.功能 B.调用关系 C.输入输出数据 D.算法( A )11.设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X需要的工作量(时间)。

对于两个问题P1和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是:()A.模块化的根据B.逐步求精的根据C.抽象的根据D.信息隐藏和局部化的根据( D )12.下面几种白箱测试技术,哪种是最强的覆盖准则()A.语句覆盖B.条件覆盖C.判定覆盖D.条件组合覆盖( A )13.面向数据流的设计方法把()映射成软件结构。

软件工程试题及答案.docx

软件工程试题及答案.docx

软件工程窗体顶端1 :92 •下面说法哪个不属于设计准则(1•①提高模块的内聚,降低模块间的耦合2•②降低模块接口的复杂程度3•③模块大小要适中4•④模块要有重用性2: 88.计算机的体系结构对程序设计语言具有( 1•①反作用2•②促进作用3•③抑制作用4•④完善作用3: 79.程序图的作用是1.①定性度量软件的复杂程度2•②定量度量软件的复杂程度3.③预测软件的质量标准4•④估计软件中的错误数量4:87 .下面说法正确的是(1•① 模块的作用域在模块的控制域之内2•②模块的控制域在模块的作用域之内3•③模块的作用域和模块的控制域有时相同4•④模块的作用域和模块的控制域都是一种层次结构5: 94.等价类划分属于()1•①白盒测试亠2•②黑盒测试二3.③穷尽测试4•④系统测试6: 90.软件维护组织包括()'1•①系统维护人员和系统管理人员2•②系统程序员和硬件维护人员3•③系统程序员和操作员4•④打字员和软件工程师86 •可行性研究阶段使用的图形工具是()‘1•①DFD图2.②N-S图3•③PAD图4.④ Warnier 图85 .好的软件结构它的外观形状一般呈()1.①线性2.②扇形亠3.③椭圆形4.④层次型9:93 .变换型结构的数据流呈()* 1•①线性形状2•②辐射状3•③椭圆形4•④阶梯形10 : 78.结构化程序设计就是要()1•①保留GoTo语句2•②取消前转GOTO语句'3•③限制GOTO语句的使用4•④取消后转GOTO语句11 :89 •若要保证开发出来的软件局部优化,而且能尽早发现设计上的错误,应采用()1•① 自顶向下的开发方法‘2•② 自底向上的开发方法3•③渐增式的开发方法4•④非渐增式的开发方法12 :软件工程的七条基本原理中有一条是“坚持进行阶段评审”,要这么做的理由有(1)。

①大部分错误是在编码之前造成的②在软件开发过程中插入阶段评审是为了张弛有度、提高开发效率③错误发现得越晚,所付出的修正代价越高④为了便于控制开发进度1•供选择的答案:1A①②2B①③3.C∙②④4. D.③④13 :76 .软件的开发模式有()1•①面向过程模式、面向对象模式、混合模式于」2.② 变换模式、渐增模式、瀑布模式3•③ 自顶向下模式、自底向上模式、关系模式4•④分步模式、渐增模式、非渐增模式14 :80 . V (G)=m-n+p中的P取3意味着()1•①软件有三个模块2•②软件有两个子程序"3•③主程序中含两个子程序4•④软件有三个子程序15 :82 .模块的初始化工作和模块处理意外故障均属于()1•①时间内聚2•②顺序内聚3•③功能内聚4•④逻辑内聚16 :81 .在数据流图中,源点和终点的数量()1•①必须是一对一的2•②源点个数大于终点个数3•③终点个数大于源点个数4•④依需要而定20 :84.数据字典和数据流图共同构成系统的()1.①物理模型2.②结构模型3•③设计说明书* 1•①层次、输入、处理、输出2.②高速、信息、程序、目标3.③顶层的IPO图4.④关于输入、处理、输出的层1.A. CMM2.B. PSP3.C. ISO-900077 •需求分析的方法包括()1.①结构化分析技术、面向对象的分析技术、原型开发技术2.②结构化分析技术、面向对象的分析技术3.③面向对象的分析技术、原型开发技术17 : 83. HlPo的含义是(18 :CMU/SEI推出的(2 )将软件组织的过程能力分为五个成熟度级别,每一个级别定义了一组过程能力目标,并描述了要达到这些目标应该具备的实践活动。

软件工程试题及答案

软件工程试题及答案

软件工程一、选择题1、软件需求规格说明的内容不包括(B)A、主要功能B、算法的详细描述C、用户界面及运行环境D、软件的性能2、面向对象的分析方法主要是建立三类模型,即(D)A、系统模型、ER模型、应用模型B、对象模型、动态模型、应用模型C、ER模型、对象模型、功能模型D、对象模型、动态模型、功能模型3、在ER模型中,包括以下基本成分(C)A、数据、对象、实体B、控制、联系、对象C、实体、联系、属性D、实体、属性、操作4、各种软件维护的类型中最重要的是(A)A、完善性维护B、纠错性维护C、适应性维护D、预防性维护5、若有一个计算类型的程序,它的输入量只有一个X,其范围是[-2.0,2.0],现从输入的角度考虑一组测试用列-2.001,-2,20,2.001,设计这组测试用列的方法是(C)A、条件覆盖法B、等价分类法C、边界值分析法D、错误推测法6、下列白盒测试法,哪种是最强的覆盖准则(D)A、语句覆盖B、条件覆盖C、判定覆盖D、条件组合覆盖7、确定测试计划是在(A)阶段制定的。

A、总体设计B、详细设计C、编码D、测试8、数据字典是软件需求分析阶段最重要的工具之一,其最基本的功能是(C)A、数据库设计B、数据通信C、数据定义D、数据维护9、软件开发当中,抽取和整理用户需求并建立问题域精确模型的过程(D)A、生成期B、软件意向C、结构化程序设计D、面向对象分析10、以下不属于IT企业当中过程管理和过程改进模型的是(D)A、ISO9001B、CMMIC、软件企业文化D、UML11、适合互联网上编程并可供不同平台运行的面向对象程序设计的语言是(java)12、软件结构图中,模块之间用直线连接,则表示他们之间存在(A )。

A、调用关系B、组成关系C、链接关系D、顺序执行关系13、生命周期方法设计软件的过程中,画用例图属于(A)阶段的工作。

A、需求分析B、概要设计C、详细设计D、软件维护14、PDL属于(B)语言。

软件工程复习试题及答案

软件工程复习试题及答案

一、填空题(在下划线上填写正确的答案,每题2分,共20分)1.等价划分是一种黑盒测试技术,这种技术把程序的输入域划分为若干个数。

2.数据流图和数据字典共同构成了系统的逻辑模型。

3.盒图也称为N-S图。

这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题。

4.软件有效性,指软件系统的时间和空间效率。

6.数据流图有四种基本成分:源、终点,处理,存储,数据流。

7中数据项是组成数据流和数据存储的最小元素。

8.软件工程中的结构化分析SA是一种面向数据流的分析方法。

9.软件开发是一个自顶向下逐步细化和求精的过程,而软件测试是一个由下而上的过程。

10.耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚、低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。

1.常用的软件开发模型有瀑布模型、原型模型、增量模型、螺旋模型、喷泉模型。

2.软件生存周期一般可分为问题定义、可行性研究、需求分析、设计、编码、单元测试、运行与维护阶段。

3.软件测试的步骤:单元、集成、系统、验收。

4.数据流图的基本符号包括加工、数据流、数据存储文件、汇点。

5.IPO图由输入、处理和输出三个框组成。

这个图的特点是能够直观的显示三者之间的关系。

6.面向对象方法是一种运用类、实例、属性、重载、消息传送、多态性等概念来构造系统的软件开发方法。

7.分析已有的程序,寻求比源代码更高级的抽象表现形式,这就是软件的逆向工程。

8.程序测试是对编码阶段的语法错、语义错和运行错进行查找的编码执行活动。

9.为了获得较高的模块独立性,尽量设计出具有高内聚和低藕合性能的模块。

10.常用的测试方法有黑盒测试和白盒测试。

1.可行性研究,应从技术可行性、经济可行性、运行可行性和法律和社会效益可行性等方面研究。

2.构化程序设计中程序主要的3种基本控制结构是顺序结构、选择结构、循环结构。

3.软件生存周期中时间最长、花费精力和费用最多的一个阶段是维护阶段。

考研软件工程试题及答案

考研软件工程试题及答案

考研软件工程试题及答案一、单项选择题(每题2分,共20分)1. 软件工程的主要目标是()。

A. 提高软件的可靠性B. 提高软件的生产率C. 降低软件的成本D. 以上都是答案:D2. 软件需求分析阶段的主要任务是()。

A. 确定软件的功能需求B. 确定软件的非功能需求C. 确定软件的界面需求D. 确定软件的性能需求答案:A3. 在软件测试中,黑盒测试的主要依据是()。

A. 程序内部逻辑B. 程序外部功能C. 程序设计文档D. 用户操作手册答案:B4. 软件开发过程中,需求变更可能导致()。

A. 项目延期B. 成本增加C. 质量下降D. 以上都是答案:D5. 面向对象分析与设计的主要概念不包括()。

A. 对象B. 类C. 模块D. 继承答案:C二、多项选择题(每题3分,共15分)1. 以下哪些是软件工程的基本原则?()A. 系统性原则B. 可维护性原则C. 可测试性原则D. 可扩展性原则答案:ABCD2. 软件项目管理包括以下哪些方面?()A. 时间管理B. 成本管理C. 风险管理D. 质量管理答案:ABCD3. 软件测试的目的是()。

A. 发现软件中的缺陷B. 验证软件是否满足需求C. 确保软件的可靠性D. 提高软件的性能答案:ABC三、简答题(每题5分,共20分)1. 简述软件生命周期的各个阶段。

答案:软件生命周期包括需求分析、设计、编码、测试、维护等阶段。

2. 什么是软件危机?它主要表现在哪些方面?答案:软件危机是指在软件开发过程中出现的一系列问题,如成本超支、进度延误、质量低下等。

3. 请解释什么是软件重构。

答案:软件重构是指在不改变软件外部行为的前提下,对软件内部结构进行调整,以提高其可理解性和可维护性。

4. 什么是敏捷开发?答案:敏捷开发是一种以人为核心、迭代、循序渐进的软件开发方法,强调团队合作、客户反馈和对变化的响应。

四、计算题(每题10分,共20分)1. 假设一个软件项目的开发周期为18个月,预计成本为1000万元。

《软件工程》试题及参考答案(第2套)

《软件工程》试题及参考答案(第2套)

第一部分选择题1、在软件开发模型中,提出最早、应用最广泛的模型是( )A、瀑布B、螺旋C、演化D、智能2、软件可行性研究一般不考虑( )A、是否有足够的人员和相关的技术来支持系统开发B、是否有足够的工具和相关的技术来支持系统开发C、待开发软件是否有市场、经济上是否合算D、待开发的软件是否会有质量问题3、软件详细设计的主要任务是确定每个模块的( )A、算法和使用的数据结构B、外部接口C、功能D、编程4、为了提高软件的可维护性,在编码阶段应注意( )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、模块的内聚性最高的是( )A、逻辑内聚B、时间内聚C、偶然内聚D、功能内聚10、与确认测试阶段有关的文档是( )A、需求规格说明书B、概要设计说明书C、详细设计说明书D、源程序11. 面向对象分析是对系统进行()的一种方法。

A 需求建模B 程序设计C 设计评审D 测试验收13、因计算机硬件和软件环境的变化而作出的修改软件的过程称为( )A.校正性维护B.适应性维护C.完善性维护D.预防性维护14、一个模块内部各程序都在同一数据结构上操作,这个模块的内聚性称为( )。

A、时间内聚B、功能内聚C、信息内聚C、过程内聚15.面向对象技术中,对象是类的实例。

对象有三种成份:( )、属性和方法(或操作)。

A. 标识B. 规则C. 封装D. 消息16.数据字典是用来定义_()中的各个成份的具体含义的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

4. 面向对象的分析方法主要是建立三类模型,即( D )。 A) 系统模型、ER模型、应用模型 B) 对象模型、动态模型、应用模型 C) E-R模型、对象模型、功能模型 D) 对象模型、动态模型、功能模型 5. 在E-R模型中,包含以下基本成分( )。 A) 数据、对象、实体B) 控制、联系、对象 C) 实体、联系、属性 D) 实体、属性、操作 9.若有一个计算类型的程序,它的输入量只有一个X,其范围是[, ],现从输入的角度考虑一组测试用例:, , , .设计这组测试用例的方法是( c ) A.条件覆盖法 B.等价分类法C.边界值分析法 D.错误推测法 10、详细设计的基本任务是确定每个模块的( d )A.功能B.调用关系C.输入输出数据 D.算法 11.设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X需要的工作量(时间)。对于两个问题P1和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是:( a ) A.模块化的根据 B.逐步求精的根据 C.抽象的根据 D.信息隐藏和局部化的根据 13.面向数据流的设计方法把( D )映射成软件结构。 A.数据流 B.系统结构 C.控制结构 D.信息流 14.内聚程度最低的是( A.偶然 )内聚A.偶然 B.过程 C.顺序 D.时间 15.确定测试计划是在( D )阶段制定的.A.总体设计 B.详细设计 C.编码 D.测试 16.需求分析的产品是( D ) A.数据流程图案 B.数据字典 C.判定表 D.需求规格说明书 17.数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( C ) A.数据库设计 B.数据通信 C.数据定义 D.数据维护 18.( D )引入了“风险驱动”的思想,适用于大规模的内部开发项目。 A.增量模型 B.喷泉模型 C.原型模型 D.螺旋模型 ( × )2、系统测试的主要方法是白盒法,主要进行功能测试、性能测试、安全性测试及可靠性等 测试。 ( × )4、软件需求分析的任务是建立软件模块结构图。 ( √ )5、尽可能使用高级语言编写程序( × )6、以结构化分析方法建立的系统模型就是数据流图。 ( × )7、进行总体设计时加强模块间的联系。( × )8、编码时尽量多用全局变量. ( √ )9、用CASE环境或程序自动生成工具来自动生成一部分程序.( × )10、软件测试是要发现软件中的所有错误。 1. 软件生命期各阶段的任务是什么 答:软件生命期分为7个阶段:1、问题定义:要解决的问题是什么 2、可行性研究:确定问题是否值得解,技术可行性、经济可行性、操作可行性3、需求分析:系统必须做什么 4、总体设计:系统如何实现,包括系统设计和结构设计5、详细设计:具体实现设计的系统 6、实现:编码和测试7、运行维护:保证软件正常运行。 2、软件重用的效益是什么 答:1、软件重用可以显着地改善软件的质量和可靠性。2、软件重用可以极大地提高软件开发的效率。 3、节省软件开发的成本,避免不必要的重复劳动和人力、财力的浪费。 3、 自顶而下渐增测试与自底而上渐增测试各有何优、缺点 答:① 自顶而下渐增测试 优点:不需要测试驱动程序,能够在测试阶段的早期实现并验证系统的主要功能,而且能够尽早发现上层模块的接口错误。 缺点:需要存根程序,底层错误发现较晚。 ② 自底而上渐增测试优点与缺点和自顶而下渐增测试相反。 4 、 提高可维护性的方法有哪些答:在软件工程的每一阶段都应该努力提高系统的可维护性,在每个阶段结束前的审查和复审中,应着重对可维护性进行复审。 在需求分析阶段的复审中,应对将来要扩充和修改的部分加以注明。在讨论软件可移植性问题时,要考虑可能要影响软件维护的系统界面。 在软件设计的复审中,因从便于修改、模块化和功能独立的目标出发,评价软件的结构和过程,还应对将来可能修改的部分预先做准备。 在软件代码复审中,应强调编码风格和内部说明这两个影响可维护性的因素。 在软件系统交付使用前的每一测试步骤中都应给出需要进行预防性维护部分的提示。 在完成每项维护工作后,都应对软件维护本身进行仔细认真的复审。 为了从根本上提高软件系统的可维护性,人们正试图通过直接维护软件规格说明来维护软件 ,同时也在大力发展软件重用技术。 简述软件测试要经过哪几个步骤,每个步骤与什么文档有关。【解答】测试过程按 4 个步骤进行,即单元测试(模块测试)、集成测试(子系统测试和系统测试)、确认测试(验收测试)和平行运行。 单元测试集中对用源代码实现的每一个程序单元进行测试,与其相关的文档是单元测试计划和详细设计说明书。 集成测试把已测试过的模块组装起来,主要对与设计相关的软件体系结构的构造进行测试。与其相关的文档是集成测试计划和软件需求说明书。 确认测试则是要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以及软件配置是否完全、正确。与其相关的文档是确认测试计划和软件需求说明书。 平行运行把已经经过确认的软件纳入实际运行环境中,与其他系统成份组合在一起进行测试。与其相关的文档:用户指南、使用手册等。 四、应用题(每题8分,共40分) 1、 假设一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件应该列出下述数据:零件编号,零件名称,定货数量,目前价格,主要供应者,次要供应者。零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给定货系统。当某种零件的库存数量少于库存量临界值时就应该再次定货。要求:画出系统的数据流图。 答:

2、 将下面给出的伪码转换为N-S图和PAD图。 void root ( float root1, float root2 ) { i = 1; j = 0; while ( i <= 10 ) { 输入一元二次方程的系数a, b, c; p = b*b – 4*a*c; if ( p < 0 ) 输出“方程i无实数根”; else if ( p > 0 ) 求出根并输出; if ( p == 0 ) { 求出重根并输出; j = j + 1; } i = i +1; } 输出重根的方程的个数j; } 【解答】(1)N-S图

(2)PAD图

3、:输入三整数,判断是否构成三角形,如构成三角形,则输出三条边的值,否则输出”不能构成三角形”. 要求:1.用程序流程图表示该问题的算法;2.计算程序复杂度; 3.设计路径覆盖的测试用例。 答:

i = 1; j = 0; while ( i <= 10 ) 输入a, b, c; 计算 p = b2 - 4ac; p < 0 输出“方程i”无实根 求出根并输出

p > 0

p == 0 求出重根并输出; j = j + 1; i = i + 1; 输出重根的方程个数i

T T

T

F F

F

i = 1; j = 0;

输出重根的方程个数i while ( i <= 10 ) 输入a,b,c; 计算 p = b2–4ac;

求出根并输出 p > 0

p < 0 输出方程i无实根

p = 0 求出重根并输出; j = j+1;

i = i + 1;

开始 输入A,B,C A+B>C F ① 路径: 1.①—②—③—④—⑥—⑦ 2.①—②—⑤—⑥—⑦ 3.①—⑤—⑥—⑦ 4.①—②—③—⑤—⑥—⑦

程序复杂度=3+1=4 测试用例

路径 测试用例(A,B,C) 结果 1 A=3,B=4,C=5 A=3,B=4,C=5 2 A=5,B=8,C=2 不能构成三角形

3 A=2,B=2,C=5 不能构成三角形

4 A=5,B=2,C=2 不能构成三角形

4、某航空公司规定,乘客可以免费托运重量不超过30kg的行李。当行李重量超过30kg时,对头等舱的国内乘客超重部分每公斤收费4元,对其他舱的国内乘客超重部分每公斤收费6元,对外国乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。用判定树表示与上述每种条件组合相对应的计算行李费的算法.答案:

5、一个软件公司有许多部门,分为开发部门和管理部门两种,每个开发部门开发多个软件产品,每个部门由部门名字唯一确定。该公司有许多员工,员工分为经理,工作人员和开发人员。 开发部门有经理和开发人员,管理部门有经理和工作人员。每个开发人员可参加多个开发项目,每个开发项目需要多个开发人员,每位经理可主持多个开发项目,建立该公司的对象模型。答案:

软件公司

部门名 有

① ②①

④ ⑤

⑥ ⑦

Ⅰ ⅰ

Ⅲ ⅰ Ⅳ

ⅰ 1、C 2、B 3、B 4、D 5、C 6、A 7、B 8、D 9、C 10、D 11、A 12、D 13、A 14、A 15、A 16、D 17、C 18、D 19、D 20、DB卷 1、瀑布模型把软件生命周期划分为8个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和(运行阶段)。 2、从结构化的瀑布模型看,在它的生命周期中的八个阶段中,需求分析阶段出错,对软件的影响最大。 3、在结构化的瀑布模型中,(需求分析阶段)定义的标准将成为软件测试中的系统测试阶段的目标。 4、软件工程的出现主要是由于(软件危机的出现)5软件工程方法学的目的:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是软件开发工具和软件开发的环境。 6、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为相互补充。 7、UML是软件开发中的一个重要工具,它主要应用于基于对象的面向对象的方法。 8、在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高(原型化方法)。 9、结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的(数据流)。 10、软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是(编码阶段)。 11、软件开发模型是指软件开发的全部过程、活动和任务的结构框架。主要的开发模型有瀑布模型、演化模型、螺旋模型、喷泉模型和智能模型。螺旋模型将瀑布模型和演化模型相结合,并增加了(风险分析),它建立在()的基础上,沿着螺线自内向外每旋转一圈,就得到(原型)的一个新版本。喷泉模型描述了(面向对象)的开发模型,它体现了这种开发方法创建软件的过程所固有的(递归)和(开发各阶段之间无“间隙”)的特征。 12、以下不属于白盒测试技术的是(等价类划分)。 13、为改正软件系统中潜藏的错误而进行的维护活动称为(纠错性维护 )。 14、保证软件质量的手段有复审、复查、管理复审和测试等。其中复审发生在软件生命周期的(每个阶段结束之前 )。 15、完整的系统设计应包括( 计算机系统设计、应用软件设计、数据库设计和网络设计 )。 16、在信息系统的物理模型中,表示系统各个物理组成部分之间的数据流动情况的工具是(系统流程图 )。 二、填空题(每题1分,共10分) 系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的( 信息流动)情况。 2、成本效益分析的目的是从(经济)角度评价开发一个项目是否可行。 3、自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先策略和(宽度优先策略) 。 4、在JSP方法中解决结构冲突的具体办法是(中间数据结构或中间文件)。 5、详细设计的任务是确定每个模块的内部特性,即模块的算法、(使用的数据)。 6、所有软件维护申请报告要按规定方式提出,该报告也称(软件问题)报告。 7、独立路径是指包括一组以前没有处理的语句或条件的一条路径。从程序图来看,一条独立路径是至少包含有一条(在其

相关文档
最新文档