[单选题]在关于逆向工程(Reverse Engineering)的描述中,正确的是()
正确答案 :A
从已经安装的软件中提取设计规范,用以进行软件开发
解析:逆向工程(Reverse Engineering)术语源于硬件制造业,相互竞争的公司为了了解对方设计和制造工艺的机密,在得不到设计和制造说明书的情况下,通过拆卸实物获得信息,软件的逆向工程也基本类似,不过,通常"解剖"的不仅是竞争对手的程序,而且还包括本公司多年前的产品。软件的逆向工程是分析程序,力图在比源代码更高抽象层次上建立程序的表示过程,逆向工程是设计的恢复过程。所以本题的正确答案是A。
[单选题]用户文档主要描述所交付系统的功能和使用方法。下列文档中,()属于用户文档。
正确答案 :C
安装文档
解析:用户文档主要描述所交付系统的功能和使用方法,并不关心这些功能是怎样实现的。用户文档是了解系统的第一步,它可以让用户获得对系统准确的初步印象。用户文档一般包括以下内容:①功能描述:说明系统能做什么。②安装文档:说明怎样安装这个系统及怎样使系统适应特定的硬件配置。③使用手册:简要说明如何着手使用这个系统(通过丰富的例子说明怎样使用常用的系统功能,并说明用户操作错误是怎样恢复和重新启动的)。④参考手册:详尽描述用户可以使用的所有系统设施,以及它们的使用方法,并解释系统可能产生的各种出错信息的含义(对参考手册最主要的要求是完整,因此通常使用形式化的描述技术)。⑤操作员指南(如果需要有系统操作员的话):说明操作员应如何处理使用中出现的各种情况。试题中只有安装文档属于用户文档。其他的:需求说明书、系统设计文档、系统测试计划均属于开发文档。
[单选题]关于UML中的状态图和活动图的叙述中,()是错误的。
正确答案 :D
在对一个对象的生存期建模时,只能使用状态图
解析:状态图和活动图都是UML用于对系统动态方面进行建模的行为图,其中状态图注重于由事件驱动的系统的变化状态;而活动图注重于从活动到活动的控制流。一个活动是一个状态机中进行的非原子的执行单元。活动图是状态机的一种特殊情况,其中全部或大多数状态是活动状态,并且全部或大多数转换是通过源状态中活动的完成来触发的。因为活动图是一种状态机,所以它可以适应状态机的全部特性。活动图和状态图在对一个对象的生命周期建模时都是有用的。
[单选题]软件的逆向工程是一个恢复设计的过程,从现有的程序中抽取数据、体系结构和过程的设计信息。逆向工程的完备性可以用在某一个抽象层次上提供信息的详细程度来描述,在大多数情况下,抽象层次越高,完备性就越低。下列可以通过逆向工程恢复的制品中,完备性最低的是()
正确答案 :D
UML状态图和部署图
解析:逆向工程过程及用于实现该过程的工具的抽象层次是指可从源代码中抽取出来的设计信息的精密程度。理想地,抽象层次应该尽可能高,即逆向工程过程应该能够导出过程的设计表示(一种低层的抽象);程序和数据结构信息(稍高一点层次的抽象);数据和控制流模型(一种相对高层的抽象);以及实体关系模型(一种高层抽象)。随着抽象层次增高,软件工程师获得更有助于理解程序的信息。在试题给出的4个选项中,UML状态图和部署图可以用来描述实体之间的关系,因此,其层次最高,完备性最低。
[单选题]在实际的项目开发中,人们总是希望使用自动工具来执行需求变更控制过程。下列描述中,()不是这类工具所具有的功能。
正确答案 :D
定义变更控制计划,并指导设计人员按照所制定的计划实施变更
解析:对许多项目来说,系统软件总需要不断完善,一些需求的改进是合理的而且不可避免,要使得软件需求完全不变更,也许是不可能的,但毫无控制的变更是项目陷入混乱、不能按进度完成或者软件质量无法保证的主要原因之一。一个好的变更控制过程,给项目风险承担者提供了正式的建议需求变更机制。可以通过需求变更控制过程来跟踪已建议变更的状态,使已建议的变更确保不会丢失或疏忽。在实际中,人们总是希望使用自动工具来执行变更控制过程。有许多人使用商业问题跟踪工具来收集、存储、管理需求变更;可以使用工具对一系列最近提交的变更建议产生一个列表给变更控制委员会开会时做议程用。问题跟踪工具也可以随时按变更状态分类包裹变更请求的数目。挑选工具时可以考虑以下几个方面:①可以定义变更请求的数据项。②可以定义变更请求生存期的状态转换图。③可以加强状态转换图使经授权的用户仅能做出所允许的状态变更。④记录每一种状态变更的数据,确认做出变更的人员。⑤可以定义在提交新请求或请求状态被更新后应该自动通知的设计人员。⑥可以根据需要生成标准的或定制的报告和图表。
[单选题]需求分析是一种软件工程活动,它在系统级软件分配和软件设计间起到桥梁的作用。需求分析使得系统工程师能够刻画出软件的(1)、指明软件和其他系统元素的接口、并建立软件必须满足的约束。需求分析是发现、求精、建模和规约的过程。包括详细地精化由系统工程师建立并在软件项目计划中精化的软件范围,创建所需数据、信息和(2),以及操作行为的模型,此外还有分析可选择的解决方案,并将它们分配到各软件元素中去。
正确答案 :
解析:需求分析使得系统工程师能够刻画出软件的功能需求(明确所开发的软件必须具备什么样的功能)、性能需求(明确待开发的软件的技术性能指标)、环境需求(明确软件运行时所需要的软、硬件的要求)、用户界面需求(明确人机交互方式、输入/输出数据格式)。需求分析要指明软件和其他系统元素的接口、并建立软件必须满足的约束。需求分析是发现、求精、建模和规约的过程。包括详细地精化由系统工程师建立并在软件项目计划中精化的软件范围,创建所需数据、信息和控制流,以及操作行为的模型。
[单选题]基于构件的开发模型包括软件的需求分析定义、(1)、(2)、(3),以及测试和发布5个顺序执行的阶段。
正确答案 :
解析:本题考查基于构件的软件开发模型的基础知识。基于构件的开发模型利用模块化方法将整个系统模块化,并在一定构件模型的支持下复用构件库中的一个或多个软件构件,通过组合手段高效率、高质量地构造应用软件系统的过程。基于构件的开发模型融合了螺旋模型的许多特征,本质上是演化形的,开发过程是迭代的。基于构件的开发模型由软件的需求分析定义、体系结构设计、构件库建立、应用软件构建及测试和发布5个阶段组成。
[单选题]统一软件开发过程是一种基于面向对象技术的软件开发过程,其特点是"用例驱动,以架构为核心,迭代并增量"。统一软件开发过程定义了4种通用的开发阶段,它们按照过程顺序分别是:起始阶段、(1)、构建阶段和(2),其中在构建阶段主要产生的文档有(3)。
正确答案 :
解析:统一过程适合于大、中型项目的开发,可以分为4个顺序的阶段,分别是初始阶段、细化阶段、构建阶段和移交阶段。初始阶段的任务是为系统建立业务模型并确定项目的边界。在初始阶段,必须识别所有与系统交互的外部实体,定义系统与外部实体交互的特性。在这个阶段中所关注的是整个项目的业务和需求方面的主要风险。对于建立在原有系统基础上的开发项目来说,初始阶段可能很短。细化阶段的任务是分析问题领域,建立健全的架构基础,淘汰项目中最高风险的元素。在细化阶段,必须在理解整个系统的基础上,对架构做出决策,包括其范围、主要功能和诸如性能等非功能需求,同时为项目建立支持环境。在构建阶段,要开发所有剩余的构件和应用程序功能,把这些构件集成为产品,并进行详细测试。从某种意义上说,构建阶段是一个制造过程,其重点放在管理资源及控制操作,以优化成本、进度和质量。构建阶段的主要任务是通过优化资源和避免不必要的报废和返工,使开发成本降到最低;完成所有所需功能的分析、开发和测试,快速完成可用的版本;确定软件、场地和用户是否已经为部署软件做好准备。在构建阶段,开发团队的工作可以实现某种程度的并行。即使是较小的项目,也通常包括可以相互独立开发的构件,从而使各团队之间实现并行开发。当基线已经足够完善,可以安装到最终用户实际环境中时,则进入交付阶段。交付阶段的重点是确保软件对最终用户是可用的。交付阶段的主要任务是进行β测试,制作产品发布版本;对最终用户支持文档定稿;按用户的需求确认新系统;培训用户和维护人员;获得用户对当前版本的反馈,基于反馈调整产品,如进行调试、性能或可用性的增强等。根据产品的种类,交付阶段可能非常简单,也可能非常复杂。例如,发布现有桌面产品的新发布版本可能十分简单,而替换一个国家的航空交通管制系统可能就非常复杂。交付阶段结束时也要进行技术评审,评审目标是否实现,是否应该开始演化过程,用户对交付的产品是否满意等。
[单选题]在基于构件的软件开发中,(1)描述系统设计蓝图以保证系统提供适当的功能;(2)用来了解系统的性能、吞吐率等非功能性属性。
正确答案 :
解析:在基于构件的软件开发中,逻辑构件模型用功能包描述系统的抽象设计,用接口描述每个服务集合,以及功能之间如何交互以满足用户需求,它作为系统的设计蓝图以保证系统提供适当的功能。物理构件模型用技术设施产品、硬件分布和拓扑结构,以及用于绑定的网络和通信协议描述系统的物理设计,这种架构用于了解系统的性能、吞吐率等许多非功能性属性。
[单选题]UML提供了5种对系统动态方面建模的图,其中(1)对系统行为组织和建模;(2)对系统功能建模,它强调对象之间的控制流;(3)之间是同构的。
正确答案 :
解析:UML提供了5种对系统动态方面建模的图。其中:用例图描述了一组用例和参与者及它们之间的关系,对于系统行为的组织和建模特别重要。交互图是顺序图和协作图的统称。顺序图强调消息的时间次序;协作图强调收发消息的对象的结构组织。这种是同构的,这意味着可以把一种图转换为另一种图而没有信息损失。状态图显示了一个由状态、转换、事件和活动组成的状态机,它强调一个对象按事件次序发生的行为。活动图显示了系统中从活动到活动的流,它强调对象之间的控制流,对系统的功能建模是非常重要的。
查看原题 查看所有试题