2018年重庆大学协同创新研究中心877C语言程序设计和数据库原理及应用[专硕]之软件工程导论考研核心题库
● 摘要
一、名词解释
1. 多态性
【答案】多态性是指同一消息为不同的对象接受时,可产生完全不同的动作,利用多态性,用户可发送一个通用的消息,而将所有的实现细节都留给接受消息的对象自行决定。另外,多态性也可以指在父类中定义的属性或者 服务被子类集成后,可以具有不用的数据类型或者表现出不同的行为。
2. 黑盒测试
【答案】黑盒测试一种单元测试方法,它把被测试的对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件接口处进行测试,依照需求规格说明书,检查程序是否满足功能要求。因此,黑盒测试又称为功能测试或数据驱动测试。
二、简答题
3. 试说明主动服务与被动服务的区别。
【答案】(1)主动服务
主动服务是不需要接收消息就能主动执行的服务,它在程序实现中是一个主动的程序成分,例如用于定义进程或线程的程序单位。
(2)被动服务
被动服务是只有接收到消息才执行的服务,它在编程实现中是一个被动的程序成分,例如函数、过程、例程等。
(3)区别
被动对象的服务都是被动服务,主动对象应该有至少一个主动服务。在定义服务的过程中,对于主动对象应指出它的主动服务。
4. 软件工程的净室方法为什么没有得到广泛的使用?
【答案】(1)净室方法学太理论、太数学化,以至难于在真实的软件开发中使用。
(2)不需要进行单元测试,而是进行正确性验证和统计质量控制,与当前大多数软件开发方式背离。
(3)软件开发产业的成熟度。净室过程的使用需要在整个生命周期阶段定义的过程中严格的应用,因为大多数软件企业的运作还处于特定的阶段(级别),因此,还没有准备好应用哪些技
术。
5. 瀑布模型有哪些局限性?
【答案】(1)各阶段之间存在着严格的顺序性,特别强调预先定义需求的重要性,在着手进行具体的开发工作之前,必须通过需求分析预先定义并“冻结”软件需求,然后再一步一步地实现这些需求。但是实际项目很少是遵循着这种线性顺序进行的。
(2)虽然瀑布模型也允许迭代,但这种改变往往给项目开发带来混乱。在系统建立之前很难只依靠分析就确定出一套完整、准确、一致、有效的用户需求,这种预先定义需求的方法更不能适应用户需求不断变化的情况。
(3)传统的瀑布模型很难适应需求可变、模糊不定的软件系统的开发,而且在开发过程中,用户很难参与进去,只有到开发结束才能看到整个软件系统。这种思想的、线性的开发过程,缺乏灵活性,不适应实际的开发过程。
6. 简述文档在软件工程中的作用。
【答案】文档是软件开发使用和维护中的必备资料,在软件工程中的作用如下:
(1)提高软件开发过程的能见度。
(2)提高软件开发的效率。
(3)作为开发人员阶段工作成果和结束标志。
(4)记录开发过程的有关信息,便于使用和维护。
(5)提供软件运行、维护和培训的相关说明性参考资料。
(6)便于用户了解软件功能、性能和相关配置信息。
三、综合应用题
7. 为方便储户,某银行拟开发计算机储蓄系统。储户填写的存款单或取款单由业务员输入系统,如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并印出存款单给
储户;如果是取款,系统 计算利息并印出利息清单给储户。写出问题定义并分析此系统的可行性。
【答案】(1)问题定乂
①如果是存款,储户填写存款单,然后交给业务员键入系统,同时系统还要记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、利率等信息,完成后由系统打印存款单给储户。
②如果是取款,储户填写取款单,然后交给业务员,业务员把取款金额输入系统并要求储户输入密码以确认身份,核对密码正确无误后系统计算利息并印出利息清单给储户。
③为了满足储户的需求,该系统需要迅速的对用户的要求做出反馈,要对用户输入的信息作出最快的处理,所以就需要很大的主存容量,以及强大的数据库支持。由于是所面向的用户是广泛的储蓄用户群,所以需要系统 强大的安全性能支持。
(2)可行性研究方法条件、假定和限制
①建议开发软件运行的最短寿命:5年。
②进行系统方案选择比较的期限:2个月。
③经费来源和使用限制:定制银行。
④硬件、软件、运行环境和开发环境的条件和限制:银行中心拥有大型机以及用来支持的数据库,各个银行网点都有安好的PC 机,安装有Windows2000及以上的操作系统。
⑤建议开发软件投入使用的最迟时间:开发完成后试运行1个月。
(3)可行性研究方法
通过与银行熟练业务员进行深入讨论,制定详细用户调查问卷,真正了解用户以及银行业务员的实际需求,根据业务员提供的信息以及问题定义再综合调查问卷中用户提出的意见进行改进。最终确定项目需要解决的问 题,并确定问题能不能被解决。决定可行性的主要因素:项目开发成本、所需设备置办成本、技术是否能满足需 求、操作人员的熟练程度、资源有效性。
(4)处理流程和数据流程
①系统流程图
a. 存款(如图1)
图1 存款系统流程图
b. 取款(如图2)
图2 取款系统流程图
c. 数据流图(如图3)