2018年重庆大学软件学院877C语言程序设计和数据库原理及应用之软件工程导论考研基础五套测试题
● 摘要
一、名词解释
1. UML
【答案】UML 又称统一建模语言或标准建模语言,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。
2. 增量模型
【答案】增量模型也称为渐增模型,是一种非整体开发的模型。软件在该模型中是“逐渐”开发出来的,开发出一部分,向用户展示一部分,可让用户及早看到部分软件,及早发现问题。或者先开发一个“原型”软件,完成 部分主要功能,展示给用户并征求意见,然后逐步完善,最终获得满意的软件产品。
二、简答题
3. 一个正文文件由若干记录组成,每个记录是一个字符串,要求统计每个记录中空格字符的个数及文件中空格字符的总个数。要求输出数据格式是每复制一行字符串之后,另起一行打印出这个字符串中的空格数,最后打印出文件空格的总个数,请用Jackson 方法设计该程序结构。
【答案】(1)输入数据的Jackson 图如图1所示:
图1输入数据的Jackson 图
(2)输出数据的图如图2所示:
图2 输出数据的Jackson 图
(3) 程序结构的图如图3所示:
图3程序结构的Jackson 图
4. 什么是测试用例?动态测试有哪些方法?
【答案】(1)测试用例的定义
“测试用例”是指为寻找程序中的错误而精心设计的一组测试数据,每个测试用例一般是一个二元组(输入数据、预期结果)。
(2)动态测试的分类
动态测试主要有两种方法:白盒法和黑盒法。但无论白盒法还是黑盒法都只能选择一些有代表性的测试用例进行有限的测试。
①白盒法测试
白盒法是从被测试程序的内部逻辑入手来设计测试用例;有六种用于有判定存在的逻辑覆盖标准,即程序内部路径的覆盖程度。对于有循环存在的覆盖用限制循环次数的办法来测试。但是对于一个实际问题的程序测试中,其路径是一个庞大的数字,基本路径测试告诉了最少路径计算办法,在分析程序控制流程图环路复杂性的基础上,导出基本路径集合,从而设计测试用例,保证这些基本路径至少执行一次,以最少的用例发现尽量多的错误。
②黑盒法测试
黑盒法着重测试被测试程序的功能,而不关心内部如何实现其功能的结构,是从用户观点出发的测试。具体方法有四种,采用黑盒法的综合策略是先用等价类划分法(包括边界值分析法,即取边值上的数)设计出测试用例,然后用错误推测法补充。如果被测试程序含有多个条件的逻
辑组合,则开始就用因果图法。
5. 什么是数据流图?其作用是什么?其中的基本符合各表示什么含义?
【答案】(1)数据流图的定义
数据流图,简称DFD ,是结构化分析方法中用于表示系统逻辑模型的一种工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。
(2)数据流图的作用
①数据流
数据流是数据在系统内部传播的路径,因此由一组成分固定的数据项组成。
②加工(又称为数据处理)
对数据流进行某些操作或变换。
③数据存储(又称为文件)
指暂时保存的数据,它可以是数据库文件或任何形式的数据组织。
④数据源点或终点
是本软件系统外部环境中的实体(包括人员、组织或其他软件系统),统称外部实体。 (3)基本符号表不的含义
箭头,表示数据流。
圆或椭圆,表示加工。
双杠,表示数据存储。
方框,表示数据的源点或终点。
6. 什么是面向数据流的设计方法?它有哪些策略?
【答案】(1)面向数据流的设计方法的定义
面向数据流的设计方法也称结构化设计方法(SD ),它与结构化分析(SA )相衔接,它按一定的设计策略将数据流图转换成软件的模块层次结构。
(2)面向数据流的设计策略
①事务型分析设计
一个大的复杂的系统分解成较小的,相对简单的子系统,这些子系统彼此之间相对独立一些,而高层数据流图的数据处理往往反映这些子系统的功能,有平行分别处理的特点,因此,高层数据流图的转换通常可作为事务型处理,把一个加工逻辑看成是一类特定的事务,把它们分别映射成一个模块,最高层模块为系统模块,通过对输入初始命令的判断决定调用哪个模块。这种事务型分析设计的策略也用于较低层数据流图向软件结构图的转换。
②变换型分析设计
变换型数据流图具有主要的处理功能及实现这项处理功能所需要的输入数据流和经过处理后产生的输出数据流。确定了第三部分,高层模块就可分解出三个从属于它的新模块,分别执行输