您的当前位置:首页正文

2015 江西理工软件工程题库挂答案

2024-06-27 来源:爱go旅游网
一、 选择题(20题,每题1分。这是ABC三份试卷的全部题目,删去了选项) 1. 白盒测试法是通过分析程序的( 内部逻辑 )来设计测试用例的。

2. 风险预测从两个方面评估风险,即风险发生的可能性以及( 风险发生所产生的后果 )。 3. 下列不属于黑盒测试的技术是( 程序段或语句的功能 )。 4. 为了提高模块的独立性,模块之间最好是( 数据耦合 )。

5. 一个软件开发过程描述了“谁做”,“做什么”,“怎么做”和“什么时候做”,RUP用( 角

色 )来表述“谁做”。

6. 功能性注释嵌入在源程序内部,它是用来说明( 程序段或语句的功能 )。

7. 在结构化分析方法中,数据字典是重要的文档。对加工的描述是数据字典的组成内容之一,常用

的加工描述方法( 有结构化语言、判定树和判定表 )。 8. 软件危机的主要原因是( 软件本身特点与开发方法 )。

9. DFD是常用的进行软件需求分析的图形工具,其基本符号是( 加工、数据流、数据存储和外

部实体 )。 10.

软件工程管理是对软件项目的开发管理,或者说是对整个软件( 生存期 )的一切活

动进行管理。 11. 12.

在面向数据流的软件设计方法中,一般将信息流分为( 变换流和事务流 )。 在软件工程项目中,不随参与人数的增加而使软件的生产率增加的主要问题是( 参与人

员之间的通信困难 )。 13. 14. 15.

下面( 有形性与可控性 )不是软件的特征。

下列说法错误的是( 面向对象的设计是面向对象分析的另一种思维方式 )。 在软件的可行性分析中,可以从不同的角度对软件进行研究,其中是从软件的功能可行性

角度考虑的是( 技术可行性 )。 16. 17. 18.

下述任务中,不属于软件工程需求分析阶段的是( 确定软件系统的运行平台 )。 在面向对象方法中,信息隐蔽是通过对象的( 封装性 )来实现的。

面向对象方法中,抽取和整理用户需求并建立问题域精确模型的过程叫(面向对象分

析 )。 19.

在遵循软件工程原则开发软件过程中,计划阶段应该依次完成( 系统定义、软件计划、

需求分析 )。 20.

某处代码错误被修正后,却引起以前可以正确运行的代码出错。( 回归测试 )最可能

发现这个问题。 21. 22.

从工程管理的角度来看,软件设计分两步完成( 概要设计与详细设计 )。

某系统重用了第三方组件(但无法获得其源代码),则应采用( 黑盒测试 )对组件进

行测试。 23.

在软件设计与编码过程中,采取( 编写详细正确的文档采用良好的程序结构 )的

做法将使软件更容易理解和维护。 24.

为了降低软件维护的成本和难度,可采取的措施有( 在开发过程中就采取有利于维护的

措施并加强维护管理 )。 25.

( 结构化开发方法 )是一种面向数据流的开发方法,其基本思想是软件功能的分解

和抽象。 26.

在人机界面的设计过程中应该需要考虑下列问题( 1系统响应时间2用户帮助设施3

出错信息处理4命令交互 )。 27. 28.

等价分类法的关键是( 划分等价类 )。

为了使网上银行系统能够支持信用卡多币种付款功能而进行扩充升级,这需要对原有系统

的数据类型进行修改,这样的修改属于( 适应性 )维护。 29.

测试用例是用于对软件某项功能或功能组合进行测试的文档化细则。测试用例应对( 测

试目标和被测功能。测试环境和其他条件。测试数据和测试步骤。 )进行详细描述。 30.

( 螺旋 )适合于大型软件的开发,它吸收了软件工程“演化”的概念,使得开发人员

和用户对每个周期出现的风险有所了解,从而做出相应的反应。 31. 32. 33.

软件测试中,白盒法是通过分析程序的( 内部逻辑 )来设计测试用例的。 可行性分析要作的需求分析和设计应是( 简化、压缩的 )。

面向对象分析与面向对象设计的说法,不正确的是( 面向对象设计一般不关注技术和实现

层而的细节 )。 34.

软件设计时需要遵循抽象、模块化、信息隐蔽和模块独立原则。在划分软件系统模块时,

应尽量做到( 高内聚低耦合 )。 35.

软件工程要求在每一个关键阶段结束前进行可维护性复审。系统设计阶段复审时主要应针

对( 容易修改、模块化和功能独立的目的 )进行复审,评价软件的结构和过程。 36.

软件的集成测试工作最好由( 不属于该软件开发组的软件设计人员 )承担,以提高

集成测试的效果。 37.

极限编程(XP)由价值观、原则、实践和行为四部分组成,其中价值观包括沟通、简单性、

( 反馈和勇气 )。

38. 39. 程序的三种基本控制结构是( 顺序条件循环 )。 ( 分析和理解程序 )是决定软件维护成败和质量好坏的关键。 40. 数据库设计时的概念数据模型一般用( E-R )图表示。 41. 若有一个计算类型的程序,它的输入量只有一个,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是( 边界值分析 )。 42. 在结构化分析方法(SA)中,( 数据字典 )与数据流图共同构成了系统的逻辑模型,是需求规格说明书的主要组成部分。 43. 44. 45. 46. 47. 48. 49. 50. 面向对象的分析方法主要是建立三类模型,即( 对象模型、动态模型、功能模型 )。 成功的测试是指运行测试用例后( 发现了程序错误 )。 面向数据流的设计方法把( 数据流图 )映身成软件结构。 软件危机是指( 软件开发和维护过程中遇到的一系列严重问题 )。 检查软件产品是否符合需求定义的过程称为( 确认测试 )。 汽车有一个发动机,汽车和发动机之间的关系是( 整体与部分 )关系。 详细设计的基本任务是确定每个模块的( 算法和使用的数据结构 )设计 软件产品的生产主要是脑力劳动,软件产品的成本主要体现在软件的( 开发和研制 )上。 51. 52. 53. 54. 55. 56. 以下( 需求设计 )不属于系统设计。 需求规格说明书的作用不应该包括( 软件可行性研究的依据 )。 软件质量必须从需求分析开始,在( 整个开发过程 )加以保证。 软件是( 一系列按照特定顺序组织的计算机数据和指令的集合 )。 SA方法的基本思想是( 自顶向下逐步分解 )。 软件工程是一门( 交叉性 )学科。 二、 名词解释题(6题,每题3分) 1. 模块独立性:指每个模块只完成系统要求的独立的子系统(即:功能单一),并且与其他模块

的联系最少且接口单一(比如:只有一个接口)

2. 软件复用:将已有的软件的各种有关知识用于建立新的软件,以缩减软件开发和维护的花费 3. 模块耦合性:块之间的联系,软件系统结构中各个模块之间相互联系紧密程度的一种度量

4. 模块内聚性:一个模块内部各成分之间相关联程度的度量

5. 测试用例:为摸个特殊的目标而编制的一组测试输入、执行条件及预期结果,以便测试摸个

程序的路径或者是核实是否满足某个特定要求。

6. 软件生存期模型:描述软件开发过程中各种活动如何执行的模型

7. 瀑布模型:将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工作

8. 信息隐蔽原则:将每个程序的成分隐蔽或封装在一个单一的设计模块中, 定义每一个模块时尽

可能少地显露其内部的处理

9. 动态模型:用于描述系统的过程和行为

10. 软件维护:在软件运行和维护阶段对软件产品所进行的修改

11. CMM:软件过程能力成熟度模型(Capability Maturity Model for Software)

12. 软件调试:软件测试成功后,根据错误迹象确定错误的原因和准确位置,并加以改正。 13. E-RD:描述数据对象间的关系,用来进行数据建模活动的记号 14. DFD:数据流图,描绘系统的逻辑模型

15. 数据字典:描述数据流阁的数据存储、数据加工(最底层加工)和数据流。

16. 状态转换图:通过描绘系统的状态及引起的系统状态转换事件,来表示是系统的行为 17. SA:structured analysis 结构化分析,是一种适用于大型数据处理系统的、面向数据流的需求

分析方法

18. UML:统一建模语言 三、 填空题(6题12空,每空1分) 1. 软件能力成熟度模型(CMM)将软件能力自低到高依次划分为哪几级? a) 初始级、可重复级、定义级、管理级和优化级。 2. 软件工程的两大主要范型是什么? a) 结构化泛型和面向对象泛型

3. 软件需求分析必不可少的、关键参与者是哪些人? a) 需求分析员、开发人员、客户需求工程师

4. 除数据流模型外,结构化分析建模还可使用什么模型? a) 状态转换模型

b) 实体关系模型

5. 数据字典是对哪四类元素的详细定义或描述? a) 数据流 b) 数据流分量 c) 数据存储 d) 数据处理

6. 在UML中,特殊/一般关系怎么表示?整体/部分关系又怎么表示? a) 泛化 b) 聚集

7. 面向对象程序中实现重用的主要机制是什么? a) 继承 b) 多态

8. 在设计阶段,要充分体现软件工程的哪些基本原则? a) 模块化、抽象、信息隐蔽

9. 结构化需求分析(SA)的关键模型为哪个?其核心是什么? a) 结构化分析模型,核心是数据字典

10. 数据流图的4种基本元素是什么?(开口矩形、矩形、箭头、圆角矩形) a) 数据源点,产生数据的地方 b) 数据终点:数据最终消费者 c) 数据流:在系统中进行流动的数据 d) 数据存储:存储数据的地方 e) 数据处理:数据加工的过程

11. E-R模型是用来描述什么的数据建模技术? a) 数据库

12. 瀑布模型是一种靠什么驱动的过程模型?螺旋模型又是什么驱动? a) 文档驱动 b) 风险驱动

13. 软件生存周期可划分为哪三个大的阶段? a) 计划 b) 开发 c) 运行

14. 统一过程模型是靠什么驱动的、以什么为中心的、迭代、增量过程模型? a) 风险驱动

b) 用例技术、以架构为重心的、迭代、增量过程模型

15. 软件需求分析回答的是什么问题?软件设计又是要回答什么关键问题? a) 软件需求分析回答的分析回答软件要做什么 b) 软件设计回到的问题是怎么做

16. 按照产生和使用的范围不同,软件文档主要可分为哪几种? a) 开发文档、管理文档和用户文档 b) 可行性研究报告属于开发文档 四、 简答题(5题,每题6分) 1. 软件工程的两大范型分别是什么?它们有什么不同?

a) 分别是传统的结构化范型和面向对象范型。结构化范型要么面向行为要么面向数据,但没有

既面向数据又面向行为的;而面向对象范型把数据和行为看成同等重要,即将对象视作一个融合了数据及在其上操作的行为的统一的软件组件。面向对象相对于结构化技术,无论对象的内部细节如何变化,只要对象提供的方法即接口保持不变,则整个软件产品的其他部分就不会受到影响,不需要了解对象内部的变化。 2. 如何画分层数据流图? a) 第一步,画子系统的输入输出:把整个系统视为一个大的加工,然后根据数据系统从哪些外部实体接收数据流,以及系统发送数据流到那些外部实体,就可以画出输入输出图。这张图称为顶层图。 b) 第二步,画子系统的内部:把顶层图的加工分解成若干个加工,并用数据流将这些加工连接起来,使得顶层图的输入数据经过若干加工处理后,变成顶层图的输出数据流。这张图称为0层图。从一个加工画出一张数据流图的过程就是对加工的分解。 3. 面向对象程序设计有哪些优点?

a) 易维护采用面向对象思想设计的结构,可读性高,由于继承的存在,即使改变需求,那么维

护也只是在局部模块,所以维护起来是非常方便和较低成本的。

b) 质量高在设计时,可重用现有的,在以前的项目的领域中已被测试过的类使系统满足业务需

求并具有较高的质量。

c) 效率高在软件开发时,根据设计的需要对现实世界的事物进行抽象,产生类。使用这样的方

法解决问题,接近于日常生活和自然的思考方式,势必提高软件开发的效率和质量。 d) 易扩展由于继承、封装、多态的特性,自然设计出高内聚、低耦合的系统结构,使得系统更

灵活、更容易扩展,而且成本较低。 4. 在软件测试中,应注意哪些原则? a) 认真执行测试计划 b) “尽早和不断地进行软件测试/评审” c) 优选测试工具、技术和方法 d) 精心设计测试用例 e) 交叉进行软件检测 f) 重点测试群集现象 g) 全面检查并分析测试结果 h) 妥善保管测试文档 5. 良好的程序设计风格强调编程时应遵循哪些基本规范? a) 源程序文档化 2)数据说明的方法 3)语言的结构 4)输入和输出 6. 面向对象分析与面向对象设计的关系? a) 面向对象分析与面向对象设计的任务相同,面向对象分析的结果可以作为开始面向对象设计的模型,面向对象的设计结果可以作为蓝图,利用面向对象编程方法最终实现一个系统。 7. 统一建模语言UML包括哪些视图及图?

a)

8. 用户需求和系统需求各有什么特点?

a) 用户需求是从用户角度来描述系统功能和非功能需求,以便让不具备专业技术方面知识的用

户能看懂。用户需求是描述系统的外部行为,用自然语言、图表和直观的图形来叙述。系统需求是比用户需求更详细的需求描述,是系统实现的基本依据,因此,是一个完全的、一致的系统描述,是软件工程人员系统设计的起点。 9. 简述面向对象设计的基本准则。 a) 模块化

b) 抽象 c) 信息隐藏 d) 弱耦合 e) 强内聚 f)

可重用

10. 简述软件需求分析的任务及过程。

a) 需求分析过程主要有沟通、导出需求、分析与精化、可行性研究、协商与沟通、规格说明、

需求验证、变更管理等步骤。

11. 软件设计分哪两个阶段?它们的主要任务各是什么?

a) 总体设计——概要设计、软件结构设计、高层设计,仔细地分析需求规格说明,研究开发产

品的模块划分。

b) 详细设计——(模块)过程设计、低层设计,为结构设计中的各个模块设计过程细节,确定

模块所需的算法和数据结构等。

c) 设计测试——测试和复审,确保设计的正确和优化。 12. 何谓软件结构图?它包括哪些符号元素?

a) 软件结构图是软件系统的模块层次结构,反映了整个系统的功能实现,即将来程序的控制层

次体系。

b) 模块:模块带有名字和方框表示,名称应体现模块的功能

信息关系:控制关系反映了模块间的调用关系,用单向箭头或直线表示 信息传递:用带有注释的短箭头表示模型调用过程中传递的功能

循环调用和选择调用:在上部模块底部加一个菱形符号表示选择调用,在上部模块的下方加一个弧形箭头,表示循环调用

c) 主要元素有:模块、控制关系、信息传递、循环调用和选择调用 13. 何谓面向对象方法?它有什么特点和优势? a) 面向对象方法是以认识论为基础,用对象来理解和分析问题空间,并设计和开发出由对象构成的软件系统(解空间)的方法。 b) 特点:封装性、多态性、继承性,具有很强的类的概念,因此他就能很自然地直观的模拟人类认识客观世界的方式,亦即模拟人类在认知进程中的由一般到特殊的演绎功能或由特殊到一般的归纳功能,类的概念既反映出对象的本质属性,又提供了实现对象共享机制的理论根据。 14. 何谓编码风格?良好的编码风格主要体现在哪些方面? a) 是指一个人编制程序时所表现出来的特点、习惯和逻辑思路等。 b) 注意事项: c) 源程序文档化(标识符应按意取名。 程序应加注释。) d) 数据说明: i. ii. 数据说明顺序应规范,使数据的属性更易于查找,从而有利于测试、纠错与维护。例如按以下顺序:常量寿命、类型说明、全程量说明、局部量说明。 一个语句说明多个变量时,各变量名按字典序排列。 iii. f) 对于复杂的数据结构,要加注释,说明在程序实现时的特点 e) 语句构造:简单直接,不能为了追求效率而使代码复杂化 输入输出: i. ii. iii. iv. v. vi. i. ii. 输入操作步骤和输入格式尽量简单。 应检查输入数据的合法性、有效性,报告必要的输入状态信息及错误信息。 输入一批数据时,使用数据或文件结束标志,而不要用计数来控制。 交互式输入时,提供可用的选择和边界值。 当程序设计语言有严格的格式要求时,应保持输入格式的一致性。 输出数据表格化、图形化 效率是一个性能要求,目标在需求分析给出。 追求效率建立在不损害程序可读性或可靠性基础上,要先使程序正确,再提高程序效率,先使程序清晰,再提高程序效率。 15. 简述面向对象分析与设计的过程。 a) 需求获取

根据需求写用例描述或话用例图,做到已经了解用户想让系统实现的方方面面 b) 系统分析(实体类)

根据用例描述或用例图识别出类。先识别出类,再识别出类的属性,然后是类的方法,最后是类的关系。这中间伴随着活动图和顺序图,并且是个迭代的过程,直到各种业务实体类都已经被识别到系统来。

c) 系统设计(界面层、业务层、服务层)

根据不同的业务规则,再结合各种设计模式,设计高级业务类、控制类、界面类、服务类。设计界面类的时候一起设计用户控件,这些统统作为界面层的东西。设计高级业务类,控制类即为业务层。服务类即为服务层。在涉及持久对象的服务类时,可以只设计空的而服务,因为这个时候可以不必理会将来或其他人是用何种方法实现持久层的。 d) 系统设计(持久层、数据层)

设计持久层与数据层,可以自己封装数据操作方法,也可以使用别人写好的。比如IBatis工具。而对于实例类,则需要在这里进行关系数据库映射,把类都映射成数据表,并画出ER图。然后通过代码工具(当然也可以自己写),实现这些映射。如Ibatis就是写一堆Dao类与XML文件。

e) 系统设计(补充服务层)

现在回头把服务类的具体持久层服务方法补充完整。当然,你如果想采用WCF,则还需要设计契约等。 f)

静态工具类设计

在整个过程中,可以逐步的完善此系统的静态工具类。

g) 追求效率 五、 应用题(2题,每题10分) 1. 请画出ATM机系统的状态图。

2. 某“调整工资”处理模块接受一个“职称”的变量,根据职称的不同(助教、讲师、副教授、教授)作不同的处理,其中若是讲师和助教还必须输入工龄,讲师只有工龄超过5年,助教只有工龄超过2年才能调整工资。请用等价类划分法设计测试用例。 3. 已知一个公司有多个部门,每个部门可生产多种产品,每种产品仅由一个部门生产。公司员工

分为经理和工人两类,工人可参与多个项目,每个项目需要多名工人参加;每个项目仅由一个经理负责,但一个经理可以负责多个项目,他(她)至少要管理一个部门。各事物的结构如下:①公司(公司名称,主要产品,公司地址),②部门(部门名称), ③员工(姓名,地址,身份证号码),④项目(项目名称),⑤产品(产品名称)。请画出表示该公司信息结构的对象模型。 4. 画出银行取款过程的DFD图。问题描述为:储户用存折取款,首先填写取款单,根据“账卡”中的信息检验取款单与存折,如有问题,将问题反馈给储户,否则,登录“储户存款数据库”,修改相应数据,并更新“账卡”,同时发出付款通知,出纳向储户付款。

5. 高考录取统分子系统有如下功能:

1)计算标准分:根据考生原始分计算,得到标准分,存入考生分数文件;

2)计算录取线分数:根据标准分、招生计划文件中的招生人数,计算录取线,存入录取线文件。

试根据要求画出该系统的数据流图,并将其转换为软件结构图。

6. 某学校对学生成绩的评定办法为:若期末考试成绩大于等于90分,作业情况为好 的成绩为优,而作业成绩为差的定为良;否则,若期末考试成绩大于等于75分,作业 情况为好的成绩为良,而作业成绩为差的定为及格;若期末考试成绩大于等于60分, 作业情况为好的成绩为及格,而作业成绩为差的定为不及格,期末考试成绩低于60分, 成绩定为不及格。上述功能请用决策表(判定表)表示。

因篇幅问题不能全部显示,请点此查看更多更全内容