软件工程复习6165组考题

北京治疗白癜风医院 http://baidianfeng.39.net/bdfby/yqyy/
黑色字体为原本答案,蓝色字体修改补充了复习题组「61-65/61-65/13/13」一、名词解释61.确认测试

检查已实现的软件是否满足了需求规格说明中所确定的各种需求,以及软件配置是否完全、正确。(过程:功能性测试---软件配置复查---验收测试----α测试和β测试)

(补充)确认测试也称为验收测试,它的目标是验证软件的有效性。通常,验证指的是保证软件正确地实现了某个特定要求的一系列活动;确认指的是为了保证软件确实满足了用户需求而进行的一系列活动。

6.过程模式(未找到答案)

所谓软件过程模型就是一种开发策略,这种策略针对软件工程的各个阶段提供了一套范形,使工程的进展达到预期的目的。对一个软件的开发无论其大小,我们都需要选择一个合适的软件过程模型,这种选择基于项目和应用的性质、采用的方法、需要的控制,以及要交付的产品的特点。一个错误模型的选择,将迷失我们的开发方向。

63.RMMM计划(RiskMitigation,MonitoringandManagementPlan)

翻译为:风险缓解,监测和管理计划,又称软件项目风险管理,是软件项目管理的重要内容。在进行软件项目风险管理时,要辩识风险,评估它们出现的概率及产生的影响,然后建立一个规划来管理风险。风险管理的主要目标是预防风险。

软件项目风险是指在软件开发过程中遇到的预算和进度等方面的问题以及这些问题对软件项目的影响。软件项目风险会影响项目计划的实现,如果项目风险变成现实,就有可能影响项目的进度,增加项目的成本,甚至使软件项目不能实现。

风险管理策略可以包含在软件项目计划中,或者风险管理步骤也可以组织成一个独立的风险缓解、监控和管理计划(RMMM计划)。RMMM计划将所有风险分析文档化,并由项目管理者作为整个项目计划中的一部分来使用。

64.耦合

耦合是模块之间的相对独立性(互相连接的紧密程度)的度量。

65.多态性

同一操作作用于不同的类的实例,将产生不同的执行结果,即不同类的对象收到相同的消息时,得到不同的结果。对象根据所接受的消息而做出动作,同样的消息被不同的对象接收时可能导致完全不同的行为,这种现象称为多态性。

(补充)在面向对象的设计中,多态主要体现在向不同的对象发送同一个信息,不同的对象在接收时会产生不同的行为(即方法),对像可以用自己的方法去响应共同的信息。(多态:在同一个时刻,体现出来的不同状态)

二、简答题

61.简述模型在软件开发中的作用。

软件开发是一个复杂的过程,建立模型可降低复杂度.

建立模型可以使开发者有效地交流.

软件开发模型能清晰、直观地表达软件开发全过程,明确规定了要完成的主要活动和任务,用来作为软件项目工作的基础。

6.软件维护有哪些特点?

1、结构化维护与非结构化维护差别巨大

、维护的代价高昂

3、维护的问题很多

下面列出和软件维护有关的部分问题:

(1)理解别人写的程序通常非常困难,而且困难程度随着软件配置成分的减少而迅速增加。如果仅有程序代码没有说明文档,则会出现严重的问题。

()需要维护的软件往往没有合格的文档,或者文档资料显著不足。认识到软件必须有文档仅仅是第一步,容易理解的并且和程序代码完全一致的文档才真正有价值。

(3)当要求对软件进行维护时,不能指望由开发人员给我们仔细说明软件。由于维护阶段持续的时间很长,因此,当需要解释软件时,往往原来写程序的人已经不在附近了。

(4)绝大多数软件在设计时没有考虑将来的修改。除非使用强调模块独立原理的设计方法学,否则修改软件既困难又容易发生差错。

  (5)软件维护不是一项吸引人的工作。形成这种观念很大程度上是因为维护工作经常遭受挫折。

上述种种问题在现有的没采用软件工程思想开发出来的软件中,都或多或少地存在着。不应该把一种科学的方法学看做万应灵药,但是,软件工程至少部分地解决了与维护有关的每一个问题。

63.模块化的三个重要特征是什么,阐明各自的作用。

1.相对独立性,可以对模块单独进行设计、制造、调试、修改和存储,这便于由不同的专业化企业分别进行生产;   

.互换性,模块接口部位的结构、尺寸和参数标准化,容易实现模块间的互换,从而使模块满足更大数量的不同产品的需要; 

3.通用性,有利于实现横系列、纵系列产品间的模块的通用,实现跨系列产品间的模块的通用。

64.单元测试时,为什么需要开发驱动模块和桩模块?

这是因为在开发设计的初级阶段,完成一个单元的开发任务后,这个单元相关联上面、下面的模块尚未开发出来,为了要测试所开发单元,所以要驱动模块和桩模块

在底层进行的测试叫做单元测试,也叫做模块测试。

驱动模块:

驱动模块是用来模拟被测模块的上一级模块,相当于被测模块的主程序。它接收数据并将相关数据传送给被测模块,启用被测模块并打印出相应结果。驱动模块的目的很单纯,就是访问类库的属性和方法来确定类库是否正确。

桩模块:

桩模块是模拟被测试模块所调用的模块,而不是软件产品的组成部分。主程序作为驱动模块,与之直接相连的模块是桩模块,也称为“替身模块”。桩模块本身不执行任何功能,只在它作为替身被调用时返回静态值。

65.什么是UseCasesModel,主要作用是什么?

是系统既定功能及系统环境的模型

用例模型最重要的作用是将系统行为传达给客户或最终用户。

用例(UseCase)是一种描述系统需求的方法,使用用例的方法来描述系统需求的过程就是用例建模。

使用用例的方法来描述系统的功能需求的过程就是用例建模,用例模型主要包括以下两部分内容:

用例图(UseCaseDiagram)确定系统中所包含的参与者、用例和两者之间的对应关系,用例图描述的是关于系统功能的一个概述。

用例规约(UseCaseSpecification)针对每一个用例都应该有一个用例规约文档与之相对应,该文档描述用例的细节内容、

用例模型的作用

首先,用例模型是一种标准的语言,很容易成为开发人员之间交流和沟通的媒介,用例模型可以精确地定义软件需求,出现歧义的可能性很小,这可以保证用户和开发人员对需求理解的一致性

其次,用例模型可以成为我们评估压法工作量的一个标准,特别是对于迭代式开发言。迭代式开发模型里,通常依据用例模型来划分软件的开发周期:优先级别高的用例会在早期的迭代周期中实现,而优先级别低的用例则被安排在后续的迭代周期中完成。可以通过限制每个迭代周期中的用例个数来保证迭代周期长度的合理性

再次,用例模型在整个开发过程中都扮演着非常重要的角色,它可以驱动软件的分析和设计逐步细化

最后,测试过程中使用的测试用例-----特别是那些



转载请注明地址:http://www.henanledxianshiping.com/rjkfjh/20115.html
  • 上一篇文章:
  • 下一篇文章: 没有了