2017年南昌大学软件工程复试实战预测五套卷
● 摘要
一、名词解释
1. 模块化
【答案】模块化就是把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起 来构成一个整体,可以完成指定的功能满足用户的需求。模块化是为了使一个复杂的大型程序能被人的智力所管理。
二、简答题
2. 什么是软件的可靠性?它们能否定量计算?
【答案】(1)软件可靠性是指在给定的时间内,在规定的环境条件下系统完成所指定功能的概率。
(2)软件可靠性可以进行定量计算,常用指标是平均失效等待时间MTTF 与平均失效间隔时间MTBF 。
假如对n 个相同的系统(硬件或软件)进行测试,它们的失效时间分别是
均失效等待时间MTTF 定义为:
MTBF 是平均失效间隔时间,它是指两次相继失效之间的平均时间。MTBF 在实际使用时通常是指当n 很大时,系统第n 次失效与第次失效之间的平均时间。
3. 通常采取哪些措施来降低模块问的耦合度?
【答案】(1)在耦合方式上降低模块间接口的复杂性。模块间接口的复杂性包括模块的接口方式、接口信息的结构和数量。接口方式不采用直接引用(内容耦合),而采用调用方式。接口信息通过参数传递且传递信息的结构尽量简单,不用复杂参数结构,参数的个数也不宜太多,如果很多,可考虑模块的功能是否庞大复杂。
(2)在传递信息类型上尽量使用数据耦合,避免控制耦合,慎用或有控制地使用公共耦合。这只是原则,耦合类型的选择要根据实际情况综合地考虑。
4. 快速原型模型有哪几种?各有何特点?
【答案】(1)快速原型模型的分类
原型模型又称快速原型模型,它是增量模型的另一种形式。它是在开发真实系统之前,构造一个原型,在该原型的基础上,逐渐完成整个系统的开发工作。根据原型的不同作用,可以分为探索型模型、实验型模型和演化型模型三类。
(2)三种快速原型模型的特点
则平
①探索型模型
这种类型的原型模型是把原型用于开发的需求分析阶段,目的是要弄清用户的需求,确定所期望的特性,并探索各种方案的可行性。它主要针对开发目标模糊,用户与开发者对项目都缺乏经验的情况,通过对原型的开发来说明用户的需求。
②实验型模型
这种原型主要用于设计阶段,考核实现方案是否合适,能否实现。对于一个大型系统,若对设计方案心中没有把握时,可通过这种原型来证实设计方案的正确性。
③演化型模型
这种原型主要用于及早向用户提交一个原型系统,该原型系统或者包括系统的框架,或者包含系统的主要功能,在得到用户的认可后,将原型系统不断扩充演变为最终的软件系统。它将原型的思想扩展到软件开发的全过程。
5. 什么是需求分析?需求分析阶段的基本任务是什么?
【答案】(1)需求分析的定义
需求分析是指开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求
陈述转化为完整的需求定义,再由需求定义转换到相应的形式功能规约(需求规格说明)的过程。
(2)需求分析的基本任务
需求分析的基本任务是要准确地定义新系统的目标,为了满足用户需要,回答系统必须“做什么”的问题。本阶段要进行以下几方面的工作。
①问题识别
双方确定对问题的综合需求,这些需求如下:
a. 功能需求
所开发的软件必须具备什么样的功能,这是最重要的。
b. 性能需求
待开发的软件的技术性能指标。如存储容量、运行时间等限制。
c. 环境需求
软件运行时所需要的软、硬件(如机型、外设、操作系统、数据库管理系统等)的要求。 d. 用户界面需求
人机交互方式、输入输出数据格式等等。
另外还有可靠性、安全性、保密性、可移植性、可维护性等方面的需求,这些需求一般通过双方交流、调查研究来获取,并达到共同的理解。
②分析与综合,导出软件的逻辑模型
分析人员对获取的需求,进行一致性的分析检查,在分析、综合中逐步细化软件功能,划分成各个子功能。这里也包括对数据域进行分解,并分配到各个子功能上,以确定系统的构成及主要成分,并用图文结合的形式,建立起新系统的逻辑模型。
③编写文档
a. 编写“需求规格说明书”,把双方共同的理解与分析结果用规范的方式描述出来,作为今后各项工作的基础。
b. 编写初步用户使用手册,着重反映被开发软件的用户功能界面和用户使用的具体要求,用户手册能强制分析人员从用户使用的观点考虑软件。
c. 编写确认测试计划,作为今后确认和验收的依据。
d. 修改完善软件开发计划。在需求分析阶段对待开发的系统有了更进一步的了解,所以能更准确地估计开发成本、进度及资源要求,因此对原计划要进行适当修正。
6. 提高软件质量和可靠性的技术有哪些?
【答案】(1)避开错误技术
即在开发的过程中不让差错潜入软件的技术;避开错误技术是进行质量管理,实现产品应有质量所必不可少的技术。但是,无论使用多么高明的避开错误技术,也无法做到完美无缺和绝无错误。
(2)容错技术
即对某些无法避开的差错,使其影响减至最小的技术。,容错技术即使错误发生也不影响系统特性,使错误发生时对用户影响限制在某些允许的范围内。
7. 什么是事件?
【答案】事件是发生在某一个时问点的一件事,例如,用户单击左边按钮,或者某次航班从北京出发。
三、综合应用题
8. 仅当每个与会者都在事先作了准备时,正式的技术复审才能取得预期的效果。如果自己是复审小组的组长,怎样发现事先没做准备的与会者?打算采取什么措施来促使大家事先做准备?
【答案】(1)可以通过如下关于软件配置复审因素的问题来发现实现没有做准备的与会者:
①变更指令中指令的变更是否完成?
②每个附加变更是否已经纳入到系统中?
③是否进行了正时技术复审?
④是否遵循软件工程标准?
⑤变更的软件配置项是否做了特殊标记而得到强调?
⑥是否注明变更日期和变更执行人员?
⑦软件配置属性是否反映了变更?
⑧是否遵循与变更有关的注释、记录及报告的软件配置管理规程?
⑨相关的软件配置是否都得到了同步更新?
(2)经常督促大家事先做充足的准备,平日里严格要求每次在准备开会前几天再次提醒每个与会者,开会时记录下每个与会者回答问题的准确程度,根据此内容对与会者进行适当的赏罚。