正确答案:
题目:UML提供了5种对系统动态方面建模的图,其中(1)对系统行为组织和建模;(2)对系统功能建模,它强调对象之间的控制流;(3)之间是同构的。
解析:UML提供了5种对系统动态方面建模的图。其中:用例图描述了一组用例和参与者及它们之间的关系,对于系统行为的组织和建模特别重要。交互图是顺序图和协作图的统称。顺序图强调消息的时间次序;协作图强调收发消息的对象的结构组织。这种是同构的,这意味着可以把一种图转换为另一种图而没有信息损失。状态图显示了一个由状态、转换、事件和活动组成的状态机,它强调一个对象按事件次序发生的行为。活动图显示了系统中从活动到活动的流,它强调对象之间的控制流,对系统的功能建模是非常重要的。
查看原题 查看所有试题
学习资料的答案和解析:
[单选题]软件()是指改正产生于系统开发阶段而在系统测试阶段尚未发现的错误。
正确性维护
解析:本题考查软件维护相关知识。 软件维护的类型包括改正性维护(正确性维护)、适应性维护、完善性维护、预防性维护。 改正性维护:在软件交付使用后,必然会有一部分隐藏的错误被带到运行阶段来。这些隐藏下来的错误在某些特定的使用环境下就会暴露出来。为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的误使用,应当进行的诊断和改正错误的过程,就叫做改正性维护。 适应性维护:随着计算机的飞速发展,外部环境(新的硬、软件配置)或数据环境(数据库、数据格式、数据输入输出方式、数据存储介质)可能发生变化,为了使软件适应这种变化,而去修改软件的过程就叫做适应性维护。 完善性维护:在软件的使用过程中,用户往往会对软件提出新的功能与性能要求。为了满足这些要求,需要修改或再开发软件,以扩充软件功能、增强软件性能、改进加工效率、提高软件的可维护性。这种情况下进行的维护活动叫做完善性维护。 预防性维护:为了提高软件的可维护性、可靠性等而提出的一种维护类型,它为以后进一步改进软件打下良好基础。通常,预防性维护定义为:“把今天的方法学用于昨天的系统以满足明天的需要”。也就是说,采用先进的软件工程方法对需要维护的软件或软件中的某一部分(重新)进行设计、编制和测试。
[单选题]关于UML中的状态图和活动图的叙述中,()是错误的。
在对一个对象的生存期建模时,只能使用状态图
解析:状态图和活动图都是UML用于对系统动态方面进行建模的行为图,其中状态图注重于由事件驱动的系统的变化状态;而活动图注重于从活动到活动的控制流。一个活动是一个状态机中进行的非原子的执行单元。活动图是状态机的一种特殊情况,其中全部或大多数状态是活动状态,并且全部或大多数转换是通过源状态中活动的完成来触发的。因为活动图是一种状态机,所以它可以适应状态机的全部特性。活动图和状态图在对一个对象的生命周期建模时都是有用的。
[单选题]软件测试是为了发现错误而执行程序的过程。黑盒测试法主要根据()来设计测试用例。
程序内部功能
解析:软件测试是为了发现错误而执行程序的过程。黑盒测试也称为功能测试,这种测试将待测试的模块(软件)当成一个黑色的盒子,测试人员不清楚模块的内部设计,仅知道模块的功能。所以只是根据规格说明所规定的功能来设计测试用例,它不考虑程序的内部结构和处理过程。常用的黑盒测试技术有等价类划分、边值分析、错误猜测和因果图等
[单选题]需求分析是一种软件工程活动,它在系统级软件分配和软件设计间起到桥梁的作用。需求分析使得系统工程师能够刻画出软件的(1),指明软件和其他系统元素的接口,并建立软件必须满足的约束。需求分析是发现、求精、建模和规约的过程。包括详细地精化由系统工程师建立并在软件项目计划中精化的软件范围,创建所需数据、信息和(2)以及操作行为的模型,此外还有分析可选择的解决方案,并将它们分配到各软件元素中去。
解析:需求分析使得系统工程师能够刻画出软件的功能需求(明确所开发的软件必须具备什么样的功能)、性能需求(明确待开发的软件的技术性能指标)、环境需求(明确软件运行时所需要的软、硬件的要求)、用户界面需求(明确人机交互方式、输入输出数据格式)。需求分析要指明软件和其他系统元素的接口、并建立软件必须满足的约束。需求分析是发现、求精、建模和规约的过程。包括详细地精化由系统工程师建立并在软件项目计划中精化的软件范围,创建所需数据、信息和控制流以及操作行为的模型。
[单选题]统一软件开发过程是一种基于面向对象技术的软件开发过程,其特点是"用例驱动,以架构为核心,迭代并增量"。统一软件开发过程定义了4种通用的开发阶段,它们按照过程顺序分别是:起始阶段、(1)、构建阶段和(2),其中在构建阶段主要产生的文档有(3)。
解析:统一过程适合于大、中型项目的开发,可以分为4个顺序的阶段,分别是初始阶段、细化阶段、构建阶段和移交阶段。初始阶段的任务是为系统建立业务模型并确定项目的边界。在初始阶段,必须识别所有与系统交互的外部实体,定义系统与外部实体交互的特性。在这个阶段中所关注的是整个项目的业务和需求方面的主要风险。对于建立在原有系统基础上的开发项目来说,初始阶段可能很短。细化阶段的任务是分析问题领域,建立健全的架构基础,淘汰项目中最高风险的元素。在细化阶段,必须在理解整个系统的基础上,对架构做出决策,包括其范围、主要功能和诸如性能等非功能需求,同时为项目建立支持环境。在构建阶段,要开发所有剩余的构件和应用程序功能,把这些构件集成为产品,并进行详细测试。从某种意义上说,构建阶段是一个制造过程,其重点放在管理资源及控制操作,以优化成本、进度和质量。构建阶段的主要任务是通过优化资源和避免不必要的报废和返工,使开发成本降到最低;完成所有所需功能的分析、开发和测试,快速完成可用的版本;确定软件、场地和用户是否已经为部署软件做好准备。在构建阶段,开发团队的工作可以实现某种程度的并行。即使是较小的项目,也通常包括可以相互独立开发的构件,从而使各团队之间实现并行开发。当基线已经足够完善,可以安装到最终用户实际环境中时,则进入交付阶段。交付阶段的重点是确保软件对最终用户是可用的。交付阶段的主要任务是进行β测试,制作产品发布版本;对最终用户支持文档定稿;按用户的需求确认新系统;培训用户和维护人员;获得用户对当前版本的反馈,基于反馈调整产品,如进行调试、性能或可用性的增强等。根据产品的种类,交付阶段可能非常简单,也可能非常复杂。例如,发布现有桌面产品的新发布版本可能十分简单,而替换一个国家的航空交通管制系统可能就非常复杂。交付阶段结束时也要进行技术评审,评审目标是否实现,是否应该开始演化过程,用户对交付的产品是否满意等。
[单选题]逆向工程过程的抽象层次是指可从源代码中抽取出来的设计信息的精制程度。抽象层次分为4层,其中,"最低层"抽象能够导出过程的设计表示文档,"低层"抽象能够导出程序和数据结构信息,"中层"能够导出(1),"高层"抽象能够导出(2)。
解析:逆向工程过程能够导出过程的设计模型(实现级,一种低层的抽象)、程序和数据结构信息(结构级,稍高层次的抽象)、对象模型、数据和控制流模型(功能级,相对高层的抽象)和UML状态图和部署图(领域级,高层抽象)。随着抽象层次增高,完备性就会降低。抽象层次越高,它与代码的距离就越远,通过逆向工程恢复的难度就越大,而自动工具支持的可能性相对变小,要求人参与判断和推理的工作增多。所以本题选D、A。