正确答案: D
UML状态图和部署图
题目:软件的逆向工程是一个恢复设计的过程,从现有的程序中抽取数据、体系结构和过程的设计信息。逆向工程的完备性可以用在某一个抽象层次上提供信息的详细程度来描述,在大多数情况下,抽象层次越高,完备性就越低。下列可以通过逆向工程恢复的制品中,完备性最低的是()
解析:逆向工程过程及用于实现该过程的工具的抽象层次是指可从源代码中抽取出来的设计信息的精密程度。理想地,抽象层次应该尽可能高,即逆向工程过程应该能够导出过程的设计表示(一种低层的抽象);程序和数据结构信息(稍高一点层次的抽象);数据和控制流模型(一种相对高层的抽象);以及实体关系模型(一种高层抽象)。随着抽象层次增高,软件工程师获得更有助于理解程序的信息。在试题给出的4个选项中,UML状态图和部署图可以用来描述实体之间的关系,因此,其层次最高,完备性最低。
查看原题 查看所有试题
学习资料的答案和解析:
[单选题]关于UML中的状态图和活动图的叙述中,()是错误的。
在对一个对象的生存期建模时,只能使用状态图
解析:状态图和活动图都是UML用于对系统动态方面进行建模的行为图,其中状态图注重于由事件驱动的系统的变化状态;而活动图注重于从活动到活动的控制流。一个活动是一个状态机中进行的非原子的执行单元。活动图是状态机的一种特殊情况,其中全部或大多数状态是活动状态,并且全部或大多数转换是通过源状态中活动的完成来触发的。因为活动图是一种状态机,所以它可以适应状态机的全部特性。活动图和状态图在对一个对象的生命周期建模时都是有用的。
[单选题]需求工程活动产生软件运行特征的规约,指明软件和其他系统元素的接口并建立()
软件必须满足的约束条件
解析:需求工程活动产生软件运行特征的规约,指明软件和其他系统元素的接口并建立软件必须满足的约束条件。数据流图和数据字典只是这些约束条件的表示方法,而程序流程图和体系结构模型是设计阶段的工作。
[单选题]博学公司欲开发一个在线交易系统。为了能够精确表达用户与系统的复杂交互过程,应该采用UML的()进行交互过程建模。
顺序图
解析:显然,为了能够精确表达用户与系统的复杂交互过程,应该使用交互图。在UML中,交互图包括顺序图、通信图、定时图和交互概览图。顺序图强调消息的时间次序,通信图强调消息流经的数据结构,定时图强调消息跨越不同对象或角色的实际时间,交互概览图是顺序图和活动图的混合体。
[单选题]企业信息系统往往是一个具有业务复杂性和技术复杂性的大系统,针对其建设,系统分析首先要进行的工作是(1)。系统开发的目的是(2)。
解析:通常,软件开发项目是要实现目标系统的物理模型,即确定待开发软件系统的系统元素,并将功能和数据结构分配到这些系统元素中,它是软件实现的基础。但是,目标系统的具体物理模型是由它的逻辑模型经实例化(即具体到某个业务领域)得到的。与物理模型不同,逻辑模型忽视实现机制与细节,只描述系统要完成的功能和要处理的数据。作为目标系统的参考,需求分析的任务就是借助于当前系统的逻辑模型导出目标系统的逻辑模型,解决目标系统"做什么"的问题。结合现有系统(当前)分析,进行新系统设计的过程如图7-7所示。①获得当前系统的物理模型。当前系统可能是需要改进的某个已在计算机运行的数据处理系统,也可能是一个人工的数据处理过程。在这一步首先分析、理解当前系统是如何运行的,了解当前系统的组织机构、输入输出、资源利用情况和日常数据处理过程,并用一个具体模型来反映自己对当前系统的理解。这一模型应客观地反映现实世界的实际情况。②抽象出当前系统的逻辑模型。在理解当前系统"怎样做"的基础上,抽取其"做什么"的本质,从而从当前系统的物理模型抽象出当前系统的逻辑模型。在物理模型中有许多物理因素,随着分析工作的深入,有些非本质的物理因素就成为不必要的负担,因而需要对物理模型进行分析,区分出本质的和非本质的因素,去掉那些非本质的因素即可获得反映系统本质的逻辑模型。③建立目标系统的逻辑模型。分析目标系统与当前系统逻辑上的差别,明确目标系统到底要"做什么",从当前系统的逻辑模型导出目标系统的逻辑模型。④建立目标系统的物理模型。根据新系统的逻辑模型构建出相应的物理模型。值得注意的是,原有系统可以是一个正在运行的软件系统,也可以是一个纯手工运作的流程。
[单选题]基于构件的开发模型包括软件的需求分析定义、(1)、(2)、(3),以及测试和发布5个顺序执行的阶段。
解析:本题考查基于构件的软件开发模型的基础知识。基于构件的开发模型利用模块化方法将整个系统模块化,并在一定构件模型的支持下复用构件库中的一个或多个软件构件,通过组合手段高效率、高质量地构造应用软件系统的过程。基于构件的开发模型融合了螺旋模型的许多特征,本质上是演化形的,开发过程是迭代的。基于构件的开发模型由软件的需求分析定义、体系结构设计、构件库建立、应用软件构建及测试和发布5个阶段组成。
[单选题]统一软件开发过程是一种基于面向对象技术的软件开发过程,其特点是"用例驱动,以架构为核心,迭代并增量"。统一软件开发过程定义了4种通用的开发阶段,它们按照过程顺序分别是:起始阶段、(1)、构建阶段和(2),其中在构建阶段主要产生的文档有(3)。
解析:统一过程适合于大、中型项目的开发,可以分为4个顺序的阶段,分别是初始阶段、细化阶段、构建阶段和移交阶段。初始阶段的任务是为系统建立业务模型并确定项目的边界。在初始阶段,必须识别所有与系统交互的外部实体,定义系统与外部实体交互的特性。在这个阶段中所关注的是整个项目的业务和需求方面的主要风险。对于建立在原有系统基础上的开发项目来说,初始阶段可能很短。细化阶段的任务是分析问题领域,建立健全的架构基础,淘汰项目中最高风险的元素。在细化阶段,必须在理解整个系统的基础上,对架构做出决策,包括其范围、主要功能和诸如性能等非功能需求,同时为项目建立支持环境。在构建阶段,要开发所有剩余的构件和应用程序功能,把这些构件集成为产品,并进行详细测试。从某种意义上说,构建阶段是一个制造过程,其重点放在管理资源及控制操作,以优化成本、进度和质量。构建阶段的主要任务是通过优化资源和避免不必要的报废和返工,使开发成本降到最低;完成所有所需功能的分析、开发和测试,快速完成可用的版本;确定软件、场地和用户是否已经为部署软件做好准备。在构建阶段,开发团队的工作可以实现某种程度的并行。即使是较小的项目,也通常包括可以相互独立开发的构件,从而使各团队之间实现并行开发。当基线已经足够完善,可以安装到最终用户实际环境中时,则进入交付阶段。交付阶段的重点是确保软件对最终用户是可用的。交付阶段的主要任务是进行β测试,制作产品发布版本;对最终用户支持文档定稿;按用户的需求确认新系统;培训用户和维护人员;获得用户对当前版本的反馈,基于反馈调整产品,如进行调试、性能或可用性的增强等。根据产品的种类,交付阶段可能非常简单,也可能非常复杂。例如,发布现有桌面产品的新发布版本可能十分简单,而替换一个国家的航空交通管制系统可能就非常复杂。交付阶段结束时也要进行技术评审,评审目标是否实现,是否应该开始演化过程,用户对交付的产品是否满意等。