您的当前位置:首页正文

软件工程(本)平时作业

2023-05-26 来源:好走旅游网


《软件工程》平时作业

第一次作业:

第一章 软件工程概述

1.软件是一种____

A、程序 B、数据 C、逻辑产品 D、物理产品

2.软件开发的结构化生命周期方法将软件生命周期划分成

A) 计划阶段、开发阶段、运行阶段 B) 计划阶段、编程阶段、测试阶段

C) 总体设计、详细设计、编程调试 D) 需求分析、功能定义、系统设计

3.“软件危机”产生的主要原因是____。

A.软件日益庞大 B.开发方法不当 C.开发人员编写程序能力差 D.没有维护好软件

4.判断:

1

(1) 软件开发小组的组成人员的素质应该好,而人数则不宜过多。 ()

(2) 文档只起备忘录的作用,可以在软件开发完成后再整理生成。 ()

(3) 题。 ()

总体设计的基本目的就是回答:“概括地说,系统应该如何实现?”这个问

(4) 没有Do-case、Do-until形结构,就不能实现某些结构化程序,从而降低了

程序的运行效率。 ()

(5) 文档是影响软件可维护性的决定因素。()

5.软件工程的结构化生命周期方法中,一般将软件设计阶段再划分为____、_____两个阶段。

6.概念:软件工程、、软件生存周期

7.什么是软件危机?为什么会发生软件危机?怎样挽救软件危机?

8.什么是软件工程?软件工程的要素是什么?

第三章 软件需求分析

2

1.原型化方法是用户和设计者之间执行的一种交互过程,适用于__A__系统,它从用户界面设计开始,首先形成__B__,用户__C__并就__D__提出意见。它是一种__E__型的设计过程。供选择的答案:

A:①需求不确定性高的 ②需求确定的 ③管理信息 ④决策支持

B:①用户界面使用手册 ②界面需求分析说明书 ③系统界面原型 ④完善的用户界面

C:①改进界面的设计 ②使用和不使用那种编程语言 ③程序的结构 ④运行界面原型

D:①同意什么和不同意什么 ②使用和不使用那种编程语言 ③程序的结构 ④执行速度是否满足要求

E:①自外向内 ②自顶向下 ③自内向外 ④自底向上

2.需求分析最终结果是产生____

A、项目开发计划 B、需求规格说明书 C、设计说明书 D、可行性分析报告

3.软件计划需经过___________、_____________两个阶段

3

4.结构化分析方法以数据流图、____和加工说明等描述工具,既用直观的图和简洁的语言来描述软件系统模型。

A) DFD图 B) PAD图 C) IPO图 D) 数据字典

5.结构化分析方法最后提供的文档是软件的

A)需求规格说明书 B)加工说明书 C)可行性分析报告 D)结构说明书

6.软件需求分析时期的任务是:

A、系统做什么 B、系统可不可以做 C、系统怎样做

7.概念:原型

8.软件需求分析是软件工程过程之中交换意见最频繁的步骤,为什么交换意见的途径会经常阻塞?

9.讨论并描述系统分析员应该具备的主要知识结构和基本素质。软件开发人员和用户分别担任系统分析员的优势和缺陷何在?

第四章 软件设计

4

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

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

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

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

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

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

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

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

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

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

2.模块之间的接口是指____

5

A) 数据传递 B) 信息传递 C) 调用方式 D) 数据文件

3.软件的____设计又称为总体结构设计,其主要任务是建立软件系统的总体结构。

A) 概要 B) 抽象 C) 逻辑 D) 规划

4.为了提高模块的独立性,模块内部最好是____

A、逻辑内聚 B、时间内聚 C、功能内聚 D、通信内聚

5.程序流程图(框图)中的箭头代表____。

A.数据流 B.控制流 C.调用关系 D.组成关系

6.结构化程序设计思想的核心是要求程序只由顺序、循环和____三种结构组成。

A) 分支 B) 单入囗 C) 单出囗 D) 有规则GOTO

7.信息隐蔽的概念与下述哪一种概念直接相关?

A)软件结构定义 B)模块独立性 C)模块类型划分 D)模块耦合度

6

8.软件设计一般分为总体设计和详细设计,它们之间的关系是

A) 全局和局部 B) 抽象和具体 C) 总体和层次 D) 功能和结构

9.概念:耦合、内聚

10.结构化设计的3种基本程序结构是什么?各有什么特点?

11.试述模块凝聚和模块耦合的基本概念以及引入这两个概念的目的。

12.试说明划分模块原则和软件设计总的目的关系?信息隐蔽原则与模块独立性原则的关系?

第二次作业:

第七章 程序编码

1.源程序的版面文档要求应有变量说明,适当注释和____

A) 框图 B) 统一书写格式 C) 修改记录 D) 编程日期

2.从下列叙述中选出5条符合程序设计风格指导原则的叙述。

7

(1)嵌套的重数应加以限制。

(2)尽量多使用临时变量。

(3)不滥用语言特色。

(4)不用可以省略的括号。

(5)使用有意义的变量名。

(6)应尽可能把程序编得短些。

(7)把常见的局部优化工作留给编译程序去做

(8)注解越少越好

(9)程序的格式应该有助于读者理解程序

(10)应该尽可能地多用GOTO语句

3.从下列叙述中选出5条关于好的程序设计风格的正确叙述。

8

(1)使用括号以改善表达式的清晰性。

(2)对递归定义的数据结构不要使用递归过程。

(3)尽可能地对程序代码进行优化。

(4)不要修补不好的程序,要重新写。

(5)不要进行浮点数的相等比较。

(6)应该尽可能多地输出中间结果。

(7)利用数据类型对数据值进行防范。

(8)用计数方法而不是用文件结束符或输入序列结束符来判别输入的结束。

(9)程序中的注释是可有可无的。

(10)使用有意义的标识符。

4.软件开发过程中所使用的资源一般包括______、软件资源和硬件资源。

9

5.软件开发一般都被划分为独立的阶段,并完成不同的任务,各阶段划分时,其占用时间相对较少,而又可能占用人力最多的阶段往往是______。

6.概念:程序复杂性、

7.结构化程序设计有时被错误地称为“无GOTO语句”的程序设计,请说明为什么会出现在这样的说法,并讨论环绕着这个问题的一些争论。

8.根据你自己的经验,总结编程应该遵循的风格,并说明为什么如此即能增加代码的可读性和可理解性。

9.根据198页的公式V(G)=m-n+2,若给出程序流程图,应会画出程序图,并计算出其环路复杂度。

10

第八章 软件测试

1.软件开发时,一个错误发现得越晚,为改正它所付出的代价就____

A) 越大 B) 越小 C) 越不可捉摸 D) 越接*均水平

2.软件测试的目的是__A__。为了提高软件测试的效率,应该__B__。使用白盒测试方法时,确定测试数据应该根据__C__和指定的覆盖标准。与测试数据无关的文档是__D__。软件的集成测试工作最好由__E__承担,以提高集成测试的效果。可供选择的答

11

案:

A:①评价软件的质量 ②发现软件的错误 ③找出软件中的所有错误 ④证明软件是正确的

B:①随机地选取测试数据 ②取一切可能的输入数据作为测试数据

③在完成编码以后制定软件的测试计划 ④选择发现错误的可能性大的数据作为测试数据

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

D:①该软件的设计人员 ②程序的复杂程度 ③源程序 ④项目开发计划

E:①该软件的设计人员 ②该软件开发组的负责人 ③该软件的编程人员 ④不属于该软件开发组的软件设计人员

3.在软件工程中,软件测试的目的是____

A) 试验性运行软件 B) 发现软件错误 C) 证明软件是正确的 D) 找出软件中全部错误

12

4.软件测试是软件开发的重要环节,是软件质量保证的重要手段,而进行软件测试的目的是

A) 证明软件错误不存在 B) 证明软件错误的存在 C) 改正程序所有的错误 D) 发现程序的错误

5.软件测试是软件质量保证的重要手段,下述哪种测试是软件测试的最基础环节?

A)功能测试 B)单元测试 C)结构测试 D)确认测试

6.软件测试方法中,黑盒测试法和白盒测试法是常用的方法,其中黑盒测试法主要是用于测试

A)结构合理性 B)程序外部功能 C)程序正确性 D)程序内部逻辑

7.软件测试是保证软件质量的重要措施,它的实施应该是在

A)程序编码阶段 B)软件开发全过程 C)软件运行阶段 D)软件设计阶段

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

(1) 为了使得软件容易测试,应该使用高级的程序设计语言编制程序。

13

(2) 软件测试是一个程序的执行过程,目的是为了发现软件中隐藏的错误。

(3) 如果程序中连锁式连接了8个判定(IF)结构,则程序中总的路径数达28。

(4) 白盒测试仅仅与程序的内部结构有关,完全可以不考虑程序的功能要求。

(5) 为了快速完成集成测试,采用一次性继承方式是适宜的。

(6) 对一批模块进行测试,发现错误多的模块中残留的错误将比其它的模块少。

(7) 好的测试用例应能证明软件是正确的。

(8) 边界值分析方法是取输入/输出等价类的边界值作为测试用例。

(9) 等价类划分方法考虑了各等价类之间取值的组合情况下可能的结果。

(10) 判定覆盖法可能查不出在判定中逻辑运算符使用有误时产生的错误。

9.概念:软件测试、白盒法、黑盒法

10.为什么说在确认测试阶段,如果发现对用户需求理解的错误,要修改就要付出极大的代价?

14

11.根据198页的公式,若给出程序流程图,则画出程序图,计算出其环路复杂度,并

找出基本路径集。

第三次作业:

第九章 面向对象的软件工程

1.OMT 是一种对象建模技术,它定义了三种模型,它们分别是__A__模型,__B__模型和__C__模型。其中,__A__模型描述了系统中对象的静态结构,以及对象之间的联系:__B__模型描述系统中与时间和操作顺序有关的系统特征,表示瞬时的行为上的系统的“控制”特征,通常可用__D__来表示;__C__模型描述了与值的变换有关的系统特

15

征,通常可用__E__表示。

供选择的答案:

A:①对象 ②功能 ③ER ④静态面向对象的程序设计一般依赖于程序设计语言,为什么?

B:①控制 ②时序 ③动态 ④实时

C:①对象 ②功能 ③变换 ④计算

D:①类图 ②状态图 ③对象图 ④数据流图

E:①类图 ②状态图 ③对象图 ④数据流图

2.面向对象分析的首要工作是建立____。

A.系统的功能模型 B.系统的动态模型 C.软件对象类定义 D.问题的对象模型

3.概念:对象、类

4.面向对象技术的特点?

16

第十章 软件质量保证

1.在软件工程中,当前用于保证软件质量的主要技术手段还是____

A) 正确性证明 B) 测试 C) 自动程序设计 D) 符号证明

2.软件的____一般由故障平均间隔时间来度量

A) 可维护性 B) 可靠性 C) 效率 D) 可测试性

3.在软件质量因素中,软件在异常条件下仍能运行的能力称为软件的

A)可靠性 B)健壮性 C)可用性 D)安全性

4.现在评价软件的好坏,一般不考虑

A. 用户界面友好 B. 程序短 C. 易于修改 D.. 足够的可靠性

5.概念:软件可靠性

6.试述影响系统安全性的主要因素。

17

占用内存少 E

7.软件可靠性包含哪几个要素?

第四次作业:

第十一章 软件维护

1.软件可维护性的特性中相互矛盾的是____

A、可修改性和可理解性 B、可测试性和可理解性 C、效率和可修改性 D、可理解性和可读性

2.软件维护产生的副作用,是指____

A、开发时的错误 B、隐含的错误 C、因修改软件而造成的错误 D、运行时误操作

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

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

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

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

18

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

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

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

(7) 重视程序结构的设计,使程序具有良好的层次结构。

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

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

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

4.软件维护是软件生命周期中的固有阶段,一般认为,各种不同的软件维护类型中以____维护所占的维护量最大。

5.概念:软件可维护性、基线

6.软件既然交付使用作为产品已投入运行为什么还要进行维护?

7.“改错性维护”和“排错”是否是一回事?为什么?

19

8.什么是基线?它在配置管理中有什么作用?为什么要做基线控制?

第十二章 软件工程标准化与软件文档

1.软件文档是软件工程实施中的重要成份,它不仅是软件开发各阶段的重要依据而且也影响软件的

A)可理解性 B)可维护性 C)可扩展性 D)可移植性

2.概念:文档

3.系统开发中文档作用如何?

第十三章 软件项目管理与计划

1. 影响软件质量的因素?

2. 软件开发中的资源是什麽?

20

21

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