18、 一个模块直接用另一个模块内部的代码和数据的模块间接的耦合方式称为______________耦
合。(内容) 19、 20、
_____________测试解决的主要问题是模块间接口和连接的测试。(集成)
一般来说,在管理软件中,软件生存周期各个阶段的工作量以________________阶段所占的比
例最大。(维护) 21、 22、
定性度量模块独立性的两个标准是内聚性和__________________。(耦合性)
改正性维护中,根据文档是提供的测试用例,重新对修改部分进行的测试称为_______测试。
(回归)
23、 24、 25、 26、
在模块结构图中,直接调用某一模块的其他模块数称为该模块的________________。(扇入数) 在__________________测试中,主要测试详细设计和编码实现阶段中的错误。(单元) 软件能被理解、被修改、被测试的易难程度称为_____________性。(可维护)
选择足够的测算数据,使得判定中的每个条件获得各种可能的值的测试用例产生的方法称为
___________________覆盖。(条件) 27、
如果一个软件系统完成从卡片机上读入一叠卡片,检查卡片的信息是否合理,然后对旧文件进
行修改,产生一个修改过的新文件,并被修改的记录打印成一份报告。对此系统的数据流图,应采用_________________设计策略,导出模块结构。(变换流) 28、
若模块内的各处理元素都在同一时间间隔内执行完成,这种模块内元素间的联系称为
__________________内聚。(时间) 29、
软件危机的事实使人们意识到:计算机要推广使用,其关键在于_____________技术的革新。
(软件开发)
30、 31、 32、 33、 34、 35、
所谓“用户要求”是指软件系统必须满足的______________和限制。(所有性质) 软件工程技术中,控制复杂性的两个基本手段“分解”和____________。(抽象) Jzckcon法的设计原则是:使程序结构同_________________相对应。(数据结构) 编程的目标是编写出逻辑上正确又易于_______________的程序。(阅读或理解)
检验是软件开发过程中不可缺少的部分,检验的目的在于_______。(发现错误并及时改正) 在联合测试时,采用先独立测试每一模块,然后再连到一起运行,这种方式称为_______联调。
(非渐增式)
36、
面向对象的开发,最大的优点是帮助分析者、设计者及用户清楚地表述 ________,便于互相
进行交流通讯。(抽象概念) 37、
程序评价和测试系统PET的主要功能是支持对FORTRAN程序采用白盒法测试,可以监视测试的
______________ 。(实际覆盖程度)
16
三、名词解释
1、软件 2、软件工程 3、数据字典 4、模块化 5、类: 6、软件危机 7、软件维护 8、继承 9、投资回收期 10、结构化分析方法 11、软件的生命周期12、投资回收期13、结构化分析方法14、模块15、宽度 16、事务流 17、耦合 18、 事件 19、 函数重载 20、存根模块 21、变换流 22、内聚 23、扇出 24、多态性 25、驱动模块 四、简答题
1、软件生命周期分为哪三个时期?每一时期所完成的基本任务是什么? 2、简述需求分析阶段的具体任务有哪些?
3、什么是结构化程序设计?结构化程序设计采用几种控制结构? 4、程序设计语言的特点?
5、软件测试的基本任务是什么?测试与调试的区别是什么? 6、管理复审与技术审查的任务是什么? 7、可行性研究的步骤?
8、从哪些方面验证软件需求的正确性? 9、对象的特点?
10、用面向对象方法开发软件时,通常需要建立哪三种形式的模型? 11、什么是模块的作用域?什么是模块的控制域? 12、简述两种不同集成测试策略的比较? 13、什么是类?类与对象间是什么关系? 14、面向对象方法特征有哪些?
15、可行性研究的目的?应该从哪些方面研究目标系统的可行性? 16、什么是软件工程?构成软件工程的要素是什么? 17、简述软件测试的步骤? 18、对象有哪几种定义?
19、类—&—对象间的关系可以概括为哪三种? 20、简述渐增模型的特点? 21、总体设计的过程如何? 22、有几种效益的分析方法? 23、面向对象方法的主要优点有哪些?
17
五、论述题
1、假设一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件应该列出下述数据:零件编号,零件名称,定货数据,目前价格,主要供应者,次要供应者。零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给定货系统。当某种零件的库存数量少于库存量临界值时就应该再次定货。画出上述定货系统的数据流图?
2、根据统计,软件维护工作量占软件整个生存周期工作量的10%~70%,这个比例随着时间的退役还在增加,为什么软件维护需要这么大的工作量?
3、某仓库的业务工作流程如下:职工填写领料单,主任审查签名,职工拿单领料,管理员审查单是否有签名,填写是否正确,不正确的退回,正确则给料并修改库存清单,产生定货报表,当某零件的数量低于临界值时,登记信息,下班和前为采购部门采购订单。请画出数据流图表示。
4、 计算机技术已不再是单一学科的发展,它是许多相关学科的融合和渗透。举例说明你所熟悉的这方面的技术、方法和应用。
5、某商店派出采购员分赴全国十大城市采购100类畅销产品,共有10张“采购单”,每张“采购单”中列出这100类产品的采购量,要求汇总成一张总的“进货表”,并计算每类产品的平均价格?(用结构图表示) 6、为什么说软件测试是软件开发中不可缺少的重要的环节,但不是软件质量保证的“安全网”? 7、画出下列伪码N—S图。 START
IF p1 THEN
WHILE q DO f END DO
ELSE IF p2 g
END IF
WHILE p3 DO h END DO END IF STOP
8、测试的具体任务是什么?为什么说调试是软件开发过程中最艰巨的任务?151 9、 将下列PAD图转换成N—S图。
18
10、 影响软件维护工作的因素有哪些?并举例说明?
复习题参考答案
三、名词解释
1、软件:在计算机系统中,与硬件相互依存的逻辑部件,它由程序、数据及相关文档组成。
2、软件工程:是指导计算机软件开发和维护的工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。 3、数据字典:是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。
4、模块化:是把程序划分成若干个模块,每个模块完成一个子功能,把这些模块集总起来组成一个整体,可能完成指定的功能满足问题的需求。
5、类:对具有相同数据和相同操作的一组相似对象的定义。
6、软件危机: 是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 7、软件维护:在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程. 8、继承:子类自动地共享基类中定义的数据和方法的机制.
9、投资回收期: 就是使累计的经济效果等于最初投资的需要的时间。
10、结构化分析方法: 就是面向数据流自顶向下逐步求精进行需求分析的方法。
11、软件的生命周期:一个软件从定义、开发、使用和维护,直到最终被废弃所经历的一系列时期。 12、投资回收期:就是使累计的经济效果等于最初投资的需要的时间。 13、结构化分析方法:就是面向数据流自顶向下逐步求精进行需求分析的方法。
14、模块:数据说明、可执行语句等程序对象的集合,它是单独命名的而且可通过名字来访问。 15、宽度:是软件结构内同一个层次上的模块总数的最大值。
16、事务流:数据沿输入通路到达一个处理,这个处理根据输入数据的类型在若干个动作序列中选出一个来执行。这类数据流应该划分为一类特殊的数据流,称为事务流。 17、耦合:衡量不同模块彼此间互相依赖的紧密程度。
18、事件:是某个特定时刻所发生的事情,它是对引起对象从一种状态转换到另一种状态的现实世界中的事件的抽象。
19、函数重载:指在同一作用域内的若干个参数特征不同的函数可以使用相同的函数名字。 20、存根模块:用以模拟被测模块运行过程中所调用模块或是被测模块下层模块的替代程序。
21、变换流:信息沿输入通呼进入系统,同时由外部形式变换成内部形式,进入系统的信息通过变换中心,经加工处理以后再沿输出通路变换成外部形式离开软件系统,当数据流图具有这些特征时,这种信息流就叫变换流。
19
22、内聚:衡量一个模块内部各个元素彼此结合的紧密程度 23、扇出:是一个模块直接控制的模块数目。
24、多态性:子类对象可以像父类对象那样使用,同样的消息既可以发送给父类对象也可以发送给子类对象。 25、驱动模块:用以模拟被测模块的上级调用模埠,或向被测模块输以数据输出一些必要信息,调用被测模块。 四、简答题
1、答:软件定义时期,开发时期,维护时期。 定义时期的任务:问题定义;可行性研究;需求分析。
开发时期的任务:总体设计;详细设计;编码与单元测试;综合测试。 维护时期的任务:使软件持久地满足用户的需要。 2、答:软件定义时期,开发时期,维护时期。 定义时期的任务:问题定义;可行性研究;需求分析。
开发时期的任务:总体设计;详细设计;编码与单元测试;综合测试。 维护时期的任务:使软件持久地满足用户的需要。
3、答:结构程序设计:是一种设计程序的技术,它采用自顶向下逐步求精的设计方法和单入口单出口的控制结构。顺序,选择,循环。
4、答:1、名字说明 2、类型说明 3、初始化 4、程序对象的局部性 5、程序模块
6、循环控制结构 7、分支控制结构 8、异常处理 9、独立编译
5、答:任务是在软件投入生产性运行之前,尽可能多地发现软件中的错误。 与测试的区别:测试是为了发现软件中的错误,而调试是诊断并改正错误。
6、管理复审:复查各个阶段的经费、开销、成本以及进度,投资回收期前景的展望。
技术审查:对每个阶段进行严格的审查,从而保证了各个阶段技术的正确性,防上错误的积累和复审。 7、答:(1)复查系统规模和目标。 (2)研究目前正在使用的系统。 (3)导出新系统的高层逻辑模型。 (4)重新定义问题。
(5)导出和评价供选择的解法。 (6)推荐行动方针。 (7)草拟开发计划。 (8)书写文档提交审查
8、答:(1)一致性,即所有需求必须是一致的,任何一条需求不能和其他需求互相矛盾。
20