购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.3.3 解析与答案

试题1分析

软件系统架构视图是从特定的视角出发,专注于该视角系统的结构,模块划分,基本构件职责和主要的控制流(协作接口)。

Philippe Kruchten(克鲁奇顿)在1995年提出了一个“4+1”的视图模型。它从5个不同的视角包括逻辑视图、过程视图、构件视图、部署视图和场景视图来描述软件架构。每个视图只关心系统的一个侧面,5个视图结合在一起才能反应系统的软件架构的全部内容。具体含义如下。

逻辑视图:描述设计的对象模型(使用面向对象的设计方法时)。从系统的静态结构和动态行为角度显示系统内部如何实现系统的功能。

过程视图:又叫处理视图、进程视图,用来描述设计的并发和同步特征。

构件视图:又叫开发视图、构件视图、实现视图,描述在开发环境中软件的静态组织结构。

部署视图:又叫物理视图,描述软件到硬件的映射,反映了分布式特性。

架构的描述,即所做的各种决定,可以围绕着这四个视图来组织,然后由一些用例或场景来说明,从而形成了第五个视图:场景视图。

试题1答案

(1)C

试题2分析

功能需求是指有具体的完成内容的需求。例如:比如客户登录、邮箱网站的收发邮件、论坛网站的发帖留言等。

非功能需求是指软件产品为满足用户业务需求而必须具有且除功能需求以外的特性,包括系统的性能、可靠性、可维护性、可扩充性和对技术和对业务的适应性等,响应时间、信号速度、存储容量、资源利用率都属于性能需求的范畴。

试题2答案

(2)B

试题3分析

在软件开发过程中,造成错误的原因有很多,比如,程序员的大意造成的编码错误,语法错误,设计阶段设计说明不正确时引起的错误,需求收集阶段形成的需求规格说明书语法、语义或描述错误等。

测试是为评价和改进产品质量、识别产品的缺陷和问题而进行的活动。软件测试不是导致软件错误的原因。软件测试是针对一个程序的行为,在有限测试用例集合上,动态验证是否达到预期的行为,需要选取适当的测试用例。现在的软件测试被认为是一种应该包括在整个开发和维护过程中的活动,测试不再只是一种仅在编码阶段完成后才开始的活动,它本身是实际产品构造的一个重要部分。测试不仅是检查预防措施是否有效的主要手段,而且是识别由于某种原因预防措施无效而产生的错误的主要手段。

需要注意的是,在广泛的测试活动成功完成后,软件可能仍包含错误,交付后出现的软件失效的补救措施是通过软件维护来达成的。

试题3答案

(3)A

试题4分析

本题考查软件架构相关基本概念。

软件架构设计处于传统的需求分析之后,软件设计之前,它是需求分析与软件设计之间的桥梁。像平时所说的,某个软件是C/S还是B/S结构,这个C/S与B/S就是软件架构。

由于软件架构设计处于这么一个衔接的位置,所以它的主要职能之一,就是将需求阶段的成果,即已确定要实现的需求,分配到软件架构的各个部分,或是各个层次中去。

所以本题应选D。

试题4答案

(4)D

试题5分析

软件需求规格说明书应完整、正确、无歧义,它是软件开发工作的基础和依据,同对也是软件测试和验收的依据。此外,还需考虑用户对质量的要求,包括性能、有效性、可靠性和可用性等。在需求分析阶段,可以应用快速原型法,即开发人员根据对软件需求的理解,用快速开发工具建立一个系统原型,以便使需求分析更准确。

试题5答案

(5)B

试题6分析

软件维护可以定义为需要提供软件支持的全部活动。这些活动包括在交付前完成的活动,以及交付后完成的活动。交付前完成的活动包括交付后运行的计划和维护计划等。交付后的活动包括软件修改、培训、帮助资料等。

至于四种软件维护类型的异同点在本章的考点精讲中已有详述。

试题6答案

(6)B

试题7分析

构件(component)是功能相对独立,可以被其他程序反复多次调用的软件单元。构件也是面向软件体系架构的可复用软件模块。构件是可复用的软件组成成分,可被用来构造其他软件。构件可以是被封装的对象类、类树、一些功能模块、软件框架(framework)、软件构架(或体系结构Architectural)、文档、分析件、设计模式等。

开发者可以通过组装已有的构件来开发新的应用系统,从而达到软件复用的目的。软件构件技术是软件复用的关键因素,也是软件复用技术研究的重点。可复用的构件在不断复用过程中,其中的错误和缺陷会被陆续发现,并得到及时排除,所以可复用构件的采用使模块具有更高的质量保证。

试题7答案

(7)A

试题8分析

本题考查软件维护相关内容。

在一个系统运行的过程中,软件需要维护的原因是多样的,根据维护的原因不同,可以将软件维护分为以下四种(也是对考点精讲中相关内容的补充)。

(1)改正性维护:为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的误使用,应当进行的诊断和改正错误的过程就称为改正性维护。

(2)适应性维护:在使用过程中,外部环境(新的硬、软件配置)、数据环境(数据库、数据格式、数据输入/输出方式、数据存储介质)可能发生变化。为使软件适应这种变化,而去修改软件的过程就称为适应性维护。

(3)完善性维护:在软件的使用过程中,用户往往会对软件提出新的功能与性能要求。为了满足这些要求,需要修改或再开发软件,以扩充软件功能、增强软件性能、改进加工效率、提高软件的可维护性。这种情况下进行的维护活动称为完善性维护。

(4)预防性维护:这是指预先提高软件的可维护性、可靠性等,为以后进一步改进软件打下良好基础。通常,预防性维护可定义为“把今天的方法学修改昨天的程序以解决明天的问题”。也就是说,采用先进的软件工程方法对需要维护的软件或软件中的某一部分(重新)进行设计、编码和测试。

在本题中,题目说明“为了适应未来网络带宽的需要”,这足以体现,维护工作是针对未来的,所以属于预防性维护。

试题8答案

(8)D

试题9分析

常见的建模工具:Rational Rose;

常见的设计工具:Power Designer,ERWin;

常见的开发工具:Visual Studio.NET,Eclipse;

常见的测试工具:LoadRunner;

常见的项目管理工具:Project,Clearcase,VSS,CVS。

试题9答案

(9)B

试题10分析

通过需求跟踪距阵可以跟踪一个需求使用期限的全过程,即在从需求源到实现的整个生存期中,跟踪需求与后续工作成果之间的对应关系:前期的需求在后期是否实现了,后期实现的成果是否能找到对应的前期需求源。

它跟踪的是已明确的需求的实现过程,不涉及需求开发人员的职责,也无法用于防止变更。

试题10答案

(10)A QGi61ao2ShJ5n1C7MavVRvi73oRkxq6RXR1Yl29qHldhbEJRehCCIh3xx59/Az37

点击中间区域
呼出菜单
上一章
目录
下一章
×