软件工程2019样卷A

发布 2024-01-14 15:30:06 阅读 8315

浙江工业大学之江学院 2008/2009学年。

第一学期《 软件工程 》期终试卷。

考试类型:闭卷)

班级姓名学号。

注意:请将第二题和第三题的答案填在**中,谢谢!

一. 名词解释:(每题3分,共15分)

1. case

2. sa3. 桩。

4. 信息隐藏原则。

5. 面向对象软件工程。

二. 选择题:(每题1分,共25分)

请从供选择的答案中选出正确或合适的答案填入 ( 中。

1. 软件需求分析的任务不应包括 ( a ) 进行需求分析可使用多种工具,但 ( b ) 是不适用的。在需求分析中,开发人员要从用户那里解决的最重要问题是 ( c ) 需求规格说明书的内容不应包括 ( d ) 该文档在软件开发中具有重要作用,但其作用不应包括 ( e )

供选择的答案:

a: ①问题分析信息域分析 ③ 结构化程序设计 ④ 确定逻辑模型。

b: ①数据流程图 ② 判定表pad图数据词典。

c: ①要让软件做什么要给该软件提供哪些信息。

要求软件工作效率怎样要让该软件具有何种结构。

d: ①对重要功能的描述对算法的详细过程描述。

软件确认准则软件的性能。

e: ①软件设计的依据 ② 用户和开发人员对软件 “要做什么” 的共同理解。

软件验收的依据 ④ 软件可行性分析的依据。

2. 模块内聚度用于衡量模块内部各成份之间彼此结合的紧密程度。

(1) 一组语句在程序的多处出现,为了节省内存空间把这些语句放在一个模块中,该模块的内聚度是 ( a ) 的。

(2) 将几个逻辑上相似的成分放在同一个模块中,该模块的内聚度是 ( b ) 的。

(3) 模块中所有成分引用共同的数据,该模块的内聚度是 ( c ) 的。

(4) 模块内的某成份的输出是另一些成份的输入,该模块的内聚度是 ( d ) 的。

5) 模块中所有成份结合起来完全一项任务,该模块的内聚度是 ( e ) 的。 它具有简明的外部界面,由它构成的软件易于理解、测试和维护。

a – e: ①功能性顺序性通信性过程性。

偶然性瞬时性逻辑性。

3. 软件测试的目的是 ( a ) 为了提高测试的效率,应该 ( b ) 使用白盒测试方法时,确定测试数据应根据 ( c ) 和指定的覆盖标准。一般说来,与设计测试数据无关的文档是 ( d ) 软件的集成测试工作最好由 ( e ) 承担,以提高集成测试的效果。

a: ①评价软件的质量发现软件的错误,并加以修正。

③ 找出软件中的所有错误证明软件是正确的。

b: ①随机地选取测试数据。

② 取一切可能的输入数据作为测试数据。

③ 在完成编码以后制定软件的测试计划。

④ 选择发现错误的可能性大的数据作为测试数据。

c: ①程序的内部逻辑 ② 程序的复杂程度 ③ 使用说明书 ④ 程序的功能。

d: ①需求说明书程序的复杂程度 ③ 源程序项目开发计划。

e: ①该软件的设计人员该软件开发组的负责人。

该软件的编程人员不属于该软件开发组的软件设计人员。

4. 软件的易维护性是指理解、改正、改进软件的难易程度。通常影响软件易维护性的因素有易理解性、易修改性和 ( a ) 在软件的开发过程中往往采取各种措施来提高软件的易维护性。

如采用 ( b ) 有助于提高软件的易理解性;( c ) 有助于提高软件的易修改性。

在软件质量特性中,( d ) 是指在规定的一段时间和条件下,与软件维持其性能水平的能力有关的一组属性;( e ) 是指防止对程序及数据的非授权访问的能力。

a: ①易使用性易恢复性易替换性易测试性。

b: ①增强健壮性信息隐蔽原则。

良好的编程风格高效的算法。

c: ①高效的算法 ② 信息隐蔽原则 ③ 增强健壮性 ④ 身份认证。

d: ①正确性准确性可靠性易使用性。

e: ①安全性适应性灵活性容错性。

5. 软件开发模型用于指导软件的开发。演化模型是在快速开发一个 ( a ) 的基础上,逐步演化成最终的软件。

螺旋模型综合了 ( b ) 的优点,并增加了 ( c )

喷泉模型描述的是面向 ( d ) 的开发过程,反映了该开发过程的 ( e ) 特征。

a. ①模块运行平台原型主程序。

b. ①瀑布模型和演化模型瀑布模型和喷泉模型。

演化模型和喷泉模型原型和喷泉模型。

c. ①质量评价进度控制版本控制风险分析。

d. ①数据流数据结构对象构件。

e. ①迭代和有间隙迭代和无间隙。

无迭代和有间隙无选代和无间隙。

三. 判断题:(每题1分,共25分)

1. 从下列叙述中选出5条有利于软件可维护性的正确叙述。

(1) 在进行需求分析时需同时考虑维护性问题。

(2) 完成测试作业后,为了缩短源程序的长度应删去源程序中的注解。

(3) 如果文档不全,也可以维护一个软件。

(4) 编码时应尽可能使用全局变量。

(5) 选择时间效率和空间效率尽可能高的算法。

(6) 尽可能利用硬件的特点。

7) 维护软件就是改正软件中的错误。

8) 使用维护工具或支撑环境。

(9) 在进行概要设计时应加强模块间的联系。

(10) 提高程序的易读性,尽可能使用高级语言编写程序。

11) 为了加快软件维护作业的进度,应尽可能增加维护人员的数目。

12) 重视程序结构的设计,使程序具有较好的层次结构。

13) 维护软件是一件很吸引人的创造性工作。

14) 阅读别人写的程序并不困难。

15) 尽可能在软件生产过程中保证各阶段文件的正确性。

2. 从下列关于文档编制的叙述中选出5条正确的叙述。

(1) 可行性研究报告应评述为了合理地达到开发目标而可能选择的各种方案,以便用户抉择。因此,编写者不必提出结论。

(2) 操作手册的编写工作应该在软件测试阶段之前完成。

(3) 软件开发单位应该建立本单位文档的标识方法,使文档每一页都具有明确的标识。

(4) 为了使得文档便于修改并保持一致性,各文档内容不应有相互重复的地方。

(5) 用户手册要使用专门术语,并充分地描述该软件系统的结构及使用方法。

(6) 详细设计说明书中可以使用判定表及必要的说明来表示程序的逻辑。

(7) 概要设计说明书中可以使用ipo图来说明接口设计。

(8) 测试分析报告应把每个模块实际测试的结果,与软件需求说明书和概要设计说明书中规定的要求进行对照并做出结论。

(9) 软件需求说明书中可以对软件操作和维护人员的教育水平和技术专长提出要求。

(10) 项目开发计划除去规定项目开发所需的资源、开发的进度等以外,还可以包括用户培训计划。

3. 从下列关于模块化程序设计的叙述中选出5条正确的叙述。

(1) 程序设计比较方便,但比较难以维护。

(2) 便于由多个人分工编制大型程序。

(3) 软件的功能便于扩充。

(4) 程序易于理解,也便于排错。

(5) 在主存贮器能够容纳得下的前提下,应使模块尽可能大,以便减少模块的个数。

(6) 模块之间的接口叫做数据文件。

(7) 只要模块之间的接口关系不变,各模块内部实现细节的修改将不会影响别的模块。

(8) 模块间的单向调用关系叫做模块的层次结构。

(9) 模块越小,模块化的优点越明显。一般来说,模块的大小都在10行以下。

(10) 一个模块实际上就是一个进程。

4. 从下列关于软件测试的叙述中,选出5条正确的叙述。

(1) 测试最终是为了证明程序无错误。

(2) 在进行同等测试后,若发现a部分有错并改正了10个错误,b部分发现并改正了 5个错误,则再进行测试时,a部分中发现错误的可能性比b部分中大。

(3) 对一个模块测试的根本依据是测试用例。

(4) 用黑盒法测试时,测试用例是根据程序内部逻辑设计的。

(5) 白盒法可以进行穷举测试。

(6) 语句覆盖是比较强的覆盖标准。

7) 一组测试用例是条件覆盖,则一定是语句覆盖。

8) 软件验收的依据是需求规格说明书。

(9) 人工检测不能发现计算机不易发现的错误。

(10) 在整个测试过程中增量式所需测试时间比非增量式多。

11) 一般来说,驱动模块的设计比桩模块的设计复杂。

12) alpha测试和beta测试必须要有用户参与测试。

5. 从下列关于面向对象设计叙述中选出5条正确的描述。

1) 采用面向对象方法开发软件的基本目的和主要有点是通过重用提高软件的生产率。

(2) 在面向对象程序中,对象彼此间通过继承和多态性启动相应的操作。

(3) 多态性是指相同的操作或函数、过程可作用于多种类型的对象上并获得不同结果。

4) 封装性是保证软件部件具有优良的模块性的基础。

5) 面向对象分析与面向对象设计的的定义没有明显的区别。

6) 在实际的软件开发过程中,面向对象分析与面向对象设计的界限是模糊的。

7) 应用执行对象的操作,可以改变该对象的属性,它的应用必须通过信息的传递。

8) 从面向对象分析到面向对象设计,是一个逐渐扩充模型的过程。

9) 类生存期有自己的步骤,与任何特定应用的开发无关。

10)活**是用来描述系统中对象之间的动态协作关系的,侧重于描述各个对象之间存在的消息收发关系,而不专门突出这些消息发送的时间顺序。

四. 简单题:(每题5分,共35分)

1. 用结构化分析方法获得的软件文件资料主要包括那些内容?请简要说明。

2. 从自身编程和使用软件经历,列出5条以上良好的编程风格,并简要说明。

3. 用熟悉的图形设计工具描述如下算法substr(s, i, n):在一个字符串的某一个位置开始截取任意长度的子串。

2019软件工程样卷 16K

2009 2010学年第二学期。一 填空题 每空1分,共20分 二 单项选择题 本大题共20小题,每小题1分,共20分 1 在软件开发中,是指对将要开发的系统的开发成本进行估算,然后与可能取得的效益进行比较和权衡。a.成本 效益分析b.可行性分析。c.结构化分析d.软件需求分析。2 在软件生产的程序...

集美大学软件工程2019 B卷

11 是软件生存期中各开发阶段的一个特定点,它可作为一个检查点,它是经过评审的软件配置项和交付物的集合。二 选择题 共15分,每小题1分 1 一个模块直接控制 调用 的下层模块的数目称为模块的。a 扇入数 b 扇出数 c 宽度 d 作用域。2 成功的测试是指。a 运行测试实例后未发现错误 b 发现程...

2019级计科软件工程A卷答案

2012级计算机科学与技术专业。软件工程 试卷a卷标准答案及评分标准。一 填空题 每空1分,共30分 1.沟通 策划 建模 构建 部署 答案不分先后 2.包含,泛化。3.边界类,控制类。4.自顶向下的集成测试,自底向上的集成测试 答案不分先后 5.人员,产品,过程,项目 答案不分先后 6.线性过程流...