您的当前位置:首页正文

软件工程期末复习2014

2022-12-19 来源:个人技术集锦
《软件工程》期末复习题

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

程序复杂度=3+1=4

1

测试用例

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

2、根据伪码程序画出程序流程图、盒图(N-S图)。 START a

IF x1 THEN

REPEAT UNTIL x2 b

END REPEAT ELSE BLOCK c d

END BLOCK END IF STOP

答:流程图:

N-S图:

2

3.假设一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件应该列出下述数据:零件编号,零件名称,定货数量,目前价格,主要供应者,次要供应者。零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给定货系统。当某种零件的库存数量少于库存量临界值时就应该再次定货。要求:画出系统的数据流图。 答:

4、用Jackson图表示下图所示的二维表格:

学生名册

表头 姓名 …… 表体 性别 …… 年龄 …… 学号 …… 该学生名册由表头和表体两部分组成。其中表头又顺序包括表名和字段名。表体可由任意行组成,每行包括学生的姓名、性别、年龄和学号。 答:

3

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

6.软件生命周期各阶段的任务是什么? 答:软件生命期分为7个阶段: (1)问题定义:要解决的问题是什么

(2)可行性研究:确定问题是否值得解,技术可行性、经济可行性、操作可行性 (3)需求分析:系统必须做什么

(4)总体设计:系统如何实现,包括系统设计和结构设计 (5)详细设计:具体实现设计的系统 (6)实现:编码和测试

(7)运行维护:保证软件正常运行。 7、简述什么是软件,什么是软件工程。 答:软件由以下三部分组成:

(1)在运行中能提供所希望的功能和性能的指令集(即程序);

4

(2)使程序能够正确运行的数据结构; (3)描述程序研制过程、方法所用的文挡。

软件是一种产品,同时又是开发和运行产品的载体。作为一种产品,它表达了由计算机硬件体现的计算潜能。作为开发运行产品的载体,软件是计算机工作的基础、信息通信的基础,也是创建和控制其他程序的基础。

软件工程是指导计算机软件开发和维护的工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验证明正确的管理技术和当前能够得到的最好的技术方法结合起来。

8. 软件重用的效益是什么? 答:(1)软件重用可以显著地改善软件的质量和可靠性。 (2)软件重用可以极大地提高软件开发的效率。

(3)节省软件开发的成本,避免不必要的重复劳动和人力、财力的浪费 9、简述面向数据流的需求分析方法。

答:(1)结构化分析方法是面向数据流进行需求分析的方法。结构化分析方法使用数据流图DFD与数据字典DD来描述,面向数据流问题的需求分析适合于数据处理类型软件的需求描述。其核心思想是分解化简问题,将物理与逻辑表示分开,对系统进行数据与逻辑的抽象。

(2)具体来说,结构化分析方法就是用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件为止。 10、软件复用

答:是指在两次或多次不同的软件开发过程中重复使用相同或相似的软件元素。包括软件开发中的文档、设计过程、程序代码、测试用例等。 11、Case技术

答:是一组工具和方法的集合,可以辅助软件生命周期各个阶段进行软件开发。一个完整的CASE系统支持所有的软件系统开发工作,它可以驻留在多种硬件平台上。 12、自顶而下渐增测试与自底而上渐增测试各有何优、缺点? 答:

① 自顶而下渐增测试

优点:不需要测试驱动程序,能够在测试阶段的早期实现并验证系统的主要功能,而且能够尽早发现上层模块的接口错误。

缺点:需要存根程序,底层错误发现较晚。 ② 自底而上渐增测试

优点与缺点和自顶而下渐增测试相反。

13、简述软件测试要经过哪几个步骤,每个步骤与什么文档有关。 答:

测试过程按 4 个步骤进行,即单元测试(模块测试)、集成测试(子系统测试和系统测试)、确认测试(验收测试)和平行运行。

单元测试集中对用源代码实现的每一个程序单元进行测试,与其相关的文档是单元测试计划和详细设计说明书。

集成测试把已测试过的模块组装起来,主要对与设计相关的软件体系结构的构造进行测试。与其相关的文档是集成测试计划和软件需求说明书。

确认测试则是要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以及软件配置是否完全、正确。与其相关的文档是确认测试计划和软件需求说明书。

5

平行运行把已经经过确认的软件纳入实际运行环境中,与其他系统成份组合在一起进行测试。与其相关的文档:用户指南、使用手册等。

识记内容:

1.软件工程学的内容可包括理论、结构、方法、工具、环境、管理、规范等。

2.面向对象方法是一种运用对象、类、继承、封装、聚合、消息传送、多态性等概念来构造系统的软件开发方法。

3.模块的独立成都可以用两个定性标准度量,它们是内聚、耦合。

4.软件测试方法按测试过程是否在实际应用环境中分为静态测试、动态测试。 5.在可行性研究中,技术可行性是最关键的因素。 6.模块的分解和合并应力求低耦合高内聚。

7.程序的效率包括两个方面的内容程序的执行速度、程序占用的存储空间。 8.瀑布模型的核心思想是按工序将问题简化。

9、成本估计方法包括:自顶向下估计、自底向上估计、算法模型估计。 10、内存检查、连接检查属于主动式防错程序设计。 11、在衡量软件质量时,最重要的标准是:符合要求。

12、选择足够多的测试数据,使得判定表达式中的每个条件都取得各种可能的值,而且每个判定表达式也都取到各种可能的结果。满足这种测试条件的覆盖是:判定/条件覆盖。 13、各类软件维护活动中最重要的是完善性维护。

14、Jackson系统开发方法是一种典型的面向对象的分析设计方法。( 错误) 15、以结构化分析方法建立的系统模型就是数据流图。( 错误)

16、用CASE环境或者程序自动生成工具来自动生成一部分程序是可行的。(正确) 17、编写程序时应尽可能利用硬件特点以提高程序效率。( 错误)

18、软件开发所需的资源可以画成一个金字塔,塔的高层最基本的资源是人。(正确) 19、在软件开发中采用原型系统策略的主要困难是成本问题。(正确)

20、系统测试的主要方法是白盒法,主要进行功能测试、性能测试、安全性测试和可靠性测试等。( 错误)

21、进行总体设计时应加强模块间的联系。( 错误)

22、HIPO图是由一组IPO图加一张HC图组成。是美国IBM公司在软件设计中使用的主要表达工具。(正确)

6

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