当前位置:问答库>考研试题

2017年南开大学计算机与控制工程学院计算机技术、软件工程之软件工程复试仿真模拟三套题

  摘要

一、名词解释

1. 软件项目管理

【答案】软件项目管理是通过计划、组织和控制等一系列活动,合理地配置和使用各种资源,保证软件生命周期中的各项活动的正常的进行。软件项目管理先于任何技术活动之前开始,并且贯穿于软件的整个生命周期之中。

二、简答题

2. 软件工程的净室方法为什么没有得到广泛的使用?

【答案】(1)净室方法学太理论、太数学化,以至难于在真实的软件开发中使用。

(2)不需要进行单元测试,而是进行正确性验证和统计质量控制,与当前大多数软件开发方式背离。

(3)软件开发产业的成熟度。净室过程的使用需要在整个生命周期阶段定义的过程中严格的应用,因为大多数软件企业的运作还处于特定的阶段(级别),因此,还没有准备好应用哪些技术。

3. 试说明主动服务与被动服务的区别。

【答案】(1)主动服务

主动服务是不需要接收消息就能主动执行的服务,它在程序实现中是一个主动的程序成分,例如用于定义进程或线程的程序单位。

(2)被动服务

被动服务是只有接收到消息才执行的服务,它在编程实现中是一个被动的程序成分,例如函数、过程、例程等。

(3)区别

被动对象的服务都是被动服务,主动对象应该有至少一个主动服务。在定义服务的过程中,对于主动对象应指出它的主动服务。

4. 使用快速原型方法构造原型时,对原型有什么样的要求?

【答案】(1)原型不同于最终系统,两者在功能上的区别是最终系统要实现软件需求的全部功能,而原型只实现所选择的部分功能,最终系统对每个软件需求都是要求详细实现,而原型仅仅是为了试验和演示的,部分功能需求可以忽略或者模拟实现。

(2)在构造原型时,必须注意功能性能的取舍,忽略一切暂时不关心的部分以加速原型的实

现,同时又要充分体现原型的作用,满足评价原型的要求。

(3)在构造原型之前,必须明确运用原型的目的,从而解决分析与构造内容的取舍,还要根据构造原型的目的确定考核、评价原型的内容。

5. 在软件测试中,应注意哪些原则?

【答案】(1)测试用例应由输入数据和预期的输出数据两部分组成。这样便于对照检查,做到“有的放矢”。

(2)测试用例不仅用合理的输入数据,还要选择不合理的输入数据。这样能更多地发现错误,提高程序的可靠性。对于不合理的输入数据,程序应拒绝接收,并给出相应提示。

(3)除了检查程序是否做了它应该做的事,还应该检查程序是否做了它不应该做的事。例如程序正确打印出用户并不需要的多余信息。

(4)应定制测试计划并严格执行,排除随意性。

(5)长期保留测试用例。测试用例的设计耗费很大的工作量,必须作为文档保存。因为修改后的程序可能有新的错误,需要进行回归测试。同时,为以后的维护提供方便。

(6)对发现错误较多的程序段,应进行更深入的测试。有统计数字表明,一段程序中已发现的错误越多,其中存在的错误概率也越大。因为发现错误数越多的程序段,其质量较差。同时在修改错误过程中又容易引入新 的错误。

(7)程序员避免测试自己的程序。测试是一种“挑剔性”的行为,心理状态是测试自己程序的障碍。另外,对需求规格说明的理解而引入的错误则更难发现。因此由别的人或另外的机构来测试程序员编写的程序会更客观、更有效。

6. 什么是抽象类?在建模时有时使用抽象类有什么好处?

【答案】(1)抽象类的定义

抽象类是指没有实例的类,定义了一些抽象的操作,即不提供实现方法的操作,只提供操作的特征,并标注。

(2)使用抽象类的好处

在建模时使用抽象类使系统结构更加的清晰,增加了系统的可读性和可理解性。

7. 什么是数据流图?其作用是什么?其中的基本符合各表示什么含义?

【答案】(1)数据流图的定义

数据流图,简称DFD ,是结构化分析方法中用于表示系统逻辑模型的一种工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。

(2)数据流图的作用

①数据流

数据流是数据在系统内部传播的路径,因此由一组成分固定的数据项组成。

②加工(又称为数据处理)

对数据流进行某些操作或变换。

③数据存储(又称为文件)

指暂时保存的数据,它可以是数据库文件或任何形式的数据组织。

④数据源点或终点

是本软件系统外部环境中的实体(包括人员、组织或其他软件系统),统称外部实体。 (3)基本符号表不的含义

箭头,表示数据流。

圆或椭圆,表示加工。

双杠,表示数据存储。

方框,表示数据的源点或终点。

三、综合应用题

8. 软件的可维护性与哪些因素有关?在软件开发过程中应该采取哪些措施来提高软件产品的可维护性?

【答案】(1)软件的可维护性与软件的可理解性、可测试性、可修改性、可重用性、可移植性有关。

(2)提高软件产品的可维护性的措施有如下几点:

①建立明确的软件直连目标。

②使用先进的软件开发技术和工具。

③建立明确的质量保证。

④选择可维护的程序设计语言。

⑤改进程序文档。

9. 举例对比形式化方法和欠形式化方法的优缺点。

【答案】(1)欠形式化方法的缺点

①矛盾

矛盾是指一组相互冲突的陈述。

②二义性是指读者可以用不同方式理解的陈述。

③含糊性

例如,人们可能经常在文档中看到类似下面这样的需求:“系统界面应该是对用户友好的。”实际上,这样 笼统的陈述并没有给出任何有用的信息。

④不完整性。

如果在规格说明书中对一个命令的功能没有更多的描述,那么,这个命令的细节是严重不完整的。

⑤抽象层次混乱。