2018年重庆大学软件学院877C语言程序设计和数据库原理及应用之软件工程导论考研仿真模拟五套题
● 摘要
一、名词解释
1. 抽象
【答案】把在现实世界中一定事物、状态或过程之间的共性集中和概括起来,暂时忽略它们之间的差异,这就是抽象。即抽象就是抽出事物的本质特性而暂时不考虑它们的细节。
2. 文档
【答案】文档是软件开发使用和维护中的必备资料。它能提高软件开发的效率,保证软件的质量,而且在软件的使用过程中有指导、帮助、解惑的作用,尤其是在维护工作中,文档是不可或缺的资料。
二、简答题
3. 増量模型的基本思想是什么?
【答案】(1)为了克服瀑布模型的局限性,使开发过程具有一定的灵活性和可修改性,于是产生了増量模型。它是在瀑布模型的基础上加以修改而形成的。
(2)増量模型和瀑布模型之间的本质区别是:瀑布模型属于整体开发模型,它规定在开始下一个阶段的工作之前,必须完成前一阶段的所有细节。而増量模型属于非整体开发模型,它推迟某些阶段中的纽节,从而较早地产生工作软件。
(3)増量模型是在项目的开发过程中以一系列的増量方式开发系统。增量方式包括增量开发和增量提交。增量开发是指在项目开发周期内,在一定的时间间隔内以增量方式向用户提交工作软件及相应文档。增量开发和增量提交可以同时使用,也可以单独使用。
(4)有多种增量模型,根据增量的方式和形式的不同,分为渐増模型和原型模型。
4. 程序流程图的特点有哪些?
【答案】(1)程序流程图的优点
流程图的优点是直观清晰、易于使用,是开发者普遍采用的工具。
(2)程序流程图的缺点
①可以随心所欲地控制流程线的流向,容易造成非结构化的程序结构。编码时势必不加限制地使用GOTO 语言,导致基本控制块多入口多出口,这样会使软件质量受到影响,与程序设计的原则相违背。
②流程图不易反映逐步求精的过程,往往反映的是最后的结果。
③不易表示数据结构。
5. 好文档的作用和意义是什么?
【答案】(1)好文档的作用
①好的文档能提高程序的可阅读性,但坏的文档比没有文档更坏。
②好的文档意味着简明性,风格的一致性,容易修改。
③程序编码中应该有必要的注释以提高程序的可理解性。
④程序越长、越复杂,则它对文档的需求也越迫切。
(2)好文档的意义
程序文档是对程序功能、程序各组成部分之间的关系、程序设计策略、程序实现过程的历史数据等的说明和补充。
6. 什么是α测试和β测试?
【答案】(1)α (Alpha )测试
α测试由用户在开发者的场所进行,并且在开发者对用户的“指导”下进行测试,且开发者负责记录发现的错误和遇到的问题。即α测试是在受控的环境中进行的。
(2)β (Beta )测试
β测试由软件的最终用户们在一个或多个客户场所进行。开发者通常不在β测试的现场,即(β测试是软件在 开发者不能控制的环境中的“真实”应用。主要的实现步骤是:
①用户记录在β测试过程中遇到的问题,并且定期把这些问题报告给开发者;
②开发者在接收到在β测试期间报告的问题之后,对软件产品进行必要的修改;
③开发者向全体客户发布最终的软件产品。
三、综合应用题
7. 为每种类型的模块内聚举一个具体例子。
【答案】(1)逻辑内聚
一个子程序将打印季度开支报告、月份开支报告和日开支报告. 具体打印哪一个,将由传入的控制标志决定,这个子程序具有逻辑内聚性,因为它的内部逻辑是由输进去的外部控制标志决定的。
(2)时间内聚
若一个模块包含了需要在同一时间段中执行的多个任务,则称该模块的内聚为时间内聚。例如,将多个变量 的初始化放在同一个模块中实现,或将需要同时使用的多个库文件的打开操作放在同一个模块中,都会产生时间内聚的模块。
(3)过程内聚
一个子程序,它产生读取雇员的名字,然后是地址,最后是它的电话号码。这种顺序之所以重要,仅仅是因为它符合用户的要求,用户希望按这种顺序进行屏幕输入。另外一个子程序将读
取关于雇员的其它信息。这个子程序是过程内聚性,因为是由一个特定顺序而不是其它任何原因,把这些操作组合在一起的。
(4)顺序内聚
一个按给出的生日计算雇员年龄、退休时间的子程序,如果它是利用所计算的年龄来确定雇员将要退休的时间,那么它就具有顺序内聚性。而如果它是分别计算年龄和退休时间的,但使用相同生日数据,那它就只具有通 讯内聚性。
(5)功能内聚
计算雇员年龄并给出生日的子程序就是功能内聚性的,因为它只完成一项工作,而且完成得很好。
(6)偶然内聚
一个模块完成一组任务,这些任务彼此间即使有关系,关系也比较松散,就叫做偶然内聚。
8. 在什么情况下应该使用形式化说明技术?使用形式化说明技术时应遵守哪些准则?
【答案】(1)人们在理解用自然语言描述的规格说明时,容易产生二义性。为了克服非形式化方法的缺点,人们把数学引入软件工程。创造了基于数学的形式化说明技术。
(2)应用形式化方法的准则:
①应该选用适当的表示方法。
②应该形式化,但不要过分形式化。
③应该估算成本。
④应该有形式化方法顾问随时提供咨询。
⑤不应该放弃传统的开发方法。
⑥应该建立详尽的文档。
⑦不应该放弃质量标准。
⑧不应该盲目依赖形式化方法。
⑨应该测试、测试再测试。
⑩应该重用。
9. 下面给出的伪码中有一个错误。仔细阅读这段伪码,说明该伪码的语法特点,找出并改正伪码中的错误。字频统计程序的伪码如下: