2017年河南师范大学585软件工程(同等学力加试)复试实战预测五套卷
● 摘要
一、名词解释
1. UML
【答案】UML 又称统一建模语言或标准建模语言,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。
二、简答题
2. 什么是软件工程?简述软件工程的基本原理及软件工程的目标。
【答案】(1)软件工程的定义
①软件工程是从管理和技术两方面研究如何更好地开发和维护计算机软件的一门学科。
②软件工程采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术 和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。
(2)软件工程的基本原理
①用分阶段的生命周期计划严格管理。
①坚持进行阶段评审。
②实行严格的产品控制。
③采用现代程序设计技术。
④结果应能清楚地审查。
⑤开发小组的人员应该少而精。
⑥承认不断改进软件工程实践的必要性。
(3)软件工程的目标
软件工程的目标是在给定成本和进程的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性、可互操作性并满足用户需要的高质量软件产品。
3. 说明McCall 软件质量度量模型。
【答案】McCall 质量度量模型是McCall 等人于1979年提出的软件质量模型。针对面向软件产品的运行、修正、转移,软件质量概念包括11个特性,其定义如下。
(1)面向软件产品操作
①正确性:软件满足设计规格说明及用户预期目标的程度。
②可靠性:软件按照设计要求,在规定时间和条件下不出故障、持续运行的程度。
③效率:为了完成预定功能,软件系统所需的计算机资源和程序代码数量。
④完整性:对非授权人访问软件或数据行为的控制程度。
⑤可使用性:用户熟悉、使用及准备输入和解释输出所需工作量的大小。
(2)面向软件产品修改
①可维护性:找到并改正程序中的一个错误所需代价。
②可测试性:测试软件以确保其能够执行预定功能所需工作量。
③灵活性:修改可运行程序所需要付出的努力。
(3)面向软件产品适应
①可移植性:将一个软件系统从一个计算机系统或环境移植到另一个计算机系统或环境中运行所需的工作量。
②可重用性:一个软件(或软件的部件)能再次用于其他相关应用的程度。
③连接性:将一个系统耦合到另一个系统所需的工作量。
4. 简述事件如何触发操作。
【答案】(1)如果仅描述事件的模式,那状态图就会失去意义。一个对象的行为描述必须指出在事件的响应中该对象做些什么。在响应所对应的状态和事件过程中,完全依附于状态和变迁的操作。
(2)活动是需要花费时间来完成的操作
①活动与状态有关,一个活动可以是连续的操作,例如在电视机屏幕上显示一幅画面。
②一个活动也可以包括经过一段时间间隔之后的自动终结顺序操作,例如关闭阀门,或者执行一次计算。
③一个状态可以控制一个连续性活动,这种控制可以持续到一个事件使该状态发生变迁时才结束,例如电话铃响。在状态框中用 表示活动A 开始进入该状态并在退出该状态时结束。
表示时序活动A 开始进④一个状态也可以控制时序的活动,例如机器人移动一个零件,这种控制持续到完成该行动,或因另一个事件被中断而提前停止该活动时才结束。相同的记号
入该状态,当完成时停止。
(3)如果一个事件在行动完成之前发生状态的变迀,则该活动被提前终止。例如机器人遇到阻碍而停止移动。这两种使用没有本质的区别:连续性活动可以被看成延续时间不确定的时序活动。
5. 软件工程的净室方法为什么没有得到广泛的使用?
【答案】(1)净室方法学太理论、太数学化,以至难于在真实的软件开发中使用。
(2)不需要进行单元测试,而是进行正确性验证和统计质量控制,与当前大多数软件开发方式背离。
(3)软件开发产业的成熟度。净室过程的使用需要在整个生命周期阶段定义的过程中严格的应用,因为大多数软件企业的运作还处于特定的阶段(级别),因此,还没有准备好应用哪些技
术。
6. 什么是面向数据流的设计方法?它有哪些策略?
【答案】(1)面向数据流的设计方法的定义
面向数据流的设计方法也称结构化设计方法(SD ),它与结构化分析(SA )相衔接,它按一定的设计策略将数据流图转换成软件的模块层次结构。
(2)面向数据流的设计策略
①事务型分析设计
一个大的复杂的系统分解成较小的,相对简单的子系统,这些子系统彼此之间相对独立一些,而高层数据流图的数据处理往往反映这些子系统的功能,有平行分别处理的特点,因此,高层数据流图的转换通常可作为事务型处理,把一个加工逻辑看成是一类特定的事务,把它们分别映射成一个模块,最高层模块为系统模块,通过对输入初始命令的判断决定调用哪个模块。这种事务型分析设计的策略也用于较低层数据流图向软件结构图的转换。
②变换型分析设计
变换型数据流图具有主要的处理功能及实现这项处理功能所需要的输入数据流和经过处理后产生的输出数据流。确定了第三部分,高层模块就可分解出三个从属于它的新模块,分别执行输入、变换、输出功能。变换分析设计一般用于对较低层数据流图向软件结构图的转换。
7. 衡量模块独立的两个标准是什么?它们各表示什么含义?
【答案】(1)衡量模块独立的两个标准
衡量模块的独立性的标准是两个定性的度量标准:耦合性和内聚性。耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。
(2)衡量模块独立的两个标准的含义
①耦合性
也称块间联系,指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息。
②内聚性
又称块内联系,指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。若一个模块内各元素(语句之间、程序段之间)联系得越紧密,则它的内聚性就越高。
三、综合应用题
8. Rational 统一过程主要适用于何种项目?
【答案】Rational 统一过程(RUP )强调采用迭代和渐増的方式来开发软件,整个项目开发过程由多个迭代过程 组成。在每次迭代中只考虑系统的一部分需求,针对这部分需求进行分析、设