4.下列关于构架的说法,不正确的是( D ) (D)构架描述包括测试用例和测试规程。
5.分析阶段的基本任务是完成系统的( A )
(A)逻辑模型
6.选购软件开发工具首先应考虑的是( B) (B)明确目的与要求
7.用户界面设计的任务不包括( B ) (B)建立功能模块
8.统一过程使用( A )来制定软件系统的所有蓝图。 (A)UML
9.( A )阶段的基本目标是满足初始阶段所确立的需求,处理在用户环境中运转时遇到的所有问题。 (A)移交
10.参与实现的工作人员包括(D ) (D)以上都是
11.软件开发的要素不包括( A ) (A)模型
12.( C )模型将系统静态结构定义为子系统、类和接口。 (C)设计
13.( C)阶段的主要目标是开发整个系统,并确保产品可以移交给客户,即产品达到最初的可操作能力。 (C)构造
14.( C )是在系统开发过程中,由工作人员创建、生产、修改或使用的各种信息? (C)制品
15.UML中的用例图(用况图)没有描述的是( A ) (A)系统的划分
16.测试 关键问题是( D ) (D)如何选择测试用例
17.关于统一过程的特点,下列说法正确的是( B ) (B)以上都是
18.( D )是一个将用户需求转化为软件系统所需要的活动的集合。 (A)制品
19.快速原型是利用原型辅助软件开发的一种新思想,它是在研究( B)的方法和技术中产生的。 (B)需求阶段
20.下列关于分析模型的说法不正确的是( C )
(C)分析模型产生的需求规格说明书没有从需求捕获得到的结果精确。
二、简答题(本大题共6小题,每小题7分,共42分)
21.什么是软件开发过程?什么是同样过程?统一过程的突出特点是什么?
软件开发过程(process)是一个将用户需求转化为软件系统所需要的活动的集合。
统一过程是一个软件开发过程, 一个通用的过程框架,可用于各种不同类型的软件系统、各种不同的应用领域、各种不同类型的组织、各种不同的功能级别以及各种不同的项目规模。 统一过程是基于构件的,使用UML来制定软件系统的所有蓝图
统一过程的突出特点:用况驱动、以构架为中心、迭代和增量。这是统一过程所特有的。
22.使用用况的主要原因是什么?
答案:(1)用况着眼于为用户增加价值,提供了一种捕获功能需求的系统而且直觉的方法。 (2)
用况可驱动整个开发过程,分析、设计和测试等大部分活动都是从用况开始执行的。设计和测试可根据用况进行规划和协调。
23.为什么采用迭代和增量的开发方法?
∙ 为了尽早处理关键风险和重要风险 ∙ 为了建立一个构架来指导软件开发
∙ 为更好地处理不可避免的需求以及其他变化而提供一个框架 ∙ 为了随时间而递增地构建系统
∙ 为了提供一个开发过程,使所有工作人员可以更高效地工作
24.需求捕获中用到的主要制品是什么?
答案:需求捕获中用到的主要制品是用况模型,包括用况和参与者: (1)用况模型
∙ 用况模型可以使软件开发人员和客户在需求方面达成共识
∙ 用况模型是一种包括参与者、用况以及它们之间关系的系统模型 (2)参与者
∙ 参与者包括用户及与系统进行交互的外部系统
∙ 一个参与者实例是与该系统进行交互的一个具体用户 (3)用况
∙ 用况确定了一个与系统参与者进行交互、并可由系统执行的动作序列 ∙ 用况是一个类元,具有操作和属性
∙ 用况说明可以包括状态图、活动图、协作图和顺序图
∙ 事件流规定了在执行确定的用况时系统要完成的工作以及系统如何与参与者进行交互 ∙ 特殊需求是汇集了一个用况的所有需求的文本描述,主要是与用况有关的非功能性需求,需要在后续的工
作流中进行处理。 25.设计在软件生命周期中的作用?
答案:设计工作集中在细化阶段的末期到构造阶段的初期,产生合理而稳定的构架,创建实现模型的蓝图 ;设计模型非常接近实际的系统,在整个软件生命周期里要保持并维护好设计模型 ;在双向工程中,设计模型可用来可视化地刻画系统实现并支持图形化编程技术。 26.统一软件建模过程的五个核心工作流是什么?
答案:
(1)捕获需求,初始阶段的重点主要放在第一个核心工作流即需求工作流上,包括识别和详细描述与本阶段相关的用况 。包括以下几个主题:
1. 列出作为系统特征清单候选的需求 2. 理解系统语境
3. 以用况的形式捕获有关的功能性需求 4. 捕获有关的非功能性需求
(2)分析
1、分析工作流的目的是分析并细化需求,将这些需求构造成用作设计模型第一个剪辑的对象模型。 2、 这阶段的成果是生成初始的分析模型,精确定义用况和帮助生成候选构架 3、 构架分析
4、 分析一个用况
5、 分析一个类和分析一个包
(3)设计
1、本阶段设计工作流的目的是为包含在初步构架描述中的候选够家勾画出设计模型 2、设计一个用况
3、设计一个类和设计一个子系统
(4)实现,实现工作流的活动范围依赖于项目经理早期所作的决定
(5)测试,探索性的演示原型主要用作说明而不是供进一步使用,在初始阶段期间不进行大量的测试 三、设计题(本大题共1小题,共28分)
设计一个自动取款机ATM系统
1、获取领域知识;分析用户的基本需求,建立Use Case模型及用例模板描述。 2、定义类;建立系统的静态模型(类图 );
3、描述系统的动态行为(状态图、合作图、时序图、活动图任选一个 ); 解答: 1、用例图
图 1 自动取款机(ATM)系统用例图 从上面的图 1 知,ATM系统的参与者是储蓄客户和ATM机,从图1知ATM机的功能有存款、取款和其他服务,相应的,储蓄客户可以在ATM机上完成上述业务。 (8分) 2、类图
显示系统的静态结构。逻辑类、实现类,实现类就是程序员处理的实体。类在类图上使用包含三个部分的矩形来描述,如图2所示。最上面的部分显示类的名称,中间部分包含类的属性,最下面的部分包含类的操作(或者说"方法")。
本例中许多单个的帐户组成了帐户库,帐户具有帐户类型、帐户号、余额三个属性。许多银行储户组成了储户库。ATM系统包含了许多ATM机。银行储户及ATM机两个类包含哪些属性,哪些操作,它们的可见性及操作的返回类型、参数个数、参数类型从类图上都一目了然。通过类图不仅可以使设计者明确的表达自己的设计意图,也能帮助自己整理思路,充实及优化自己的设计。 (10分)
图2 银行系统类图
3、比如可以采用状态图描述系统的动态行为。图3描述了顾客在ATM机上进行操作会经历的几种状态,及各种状态之间转换的条件。因为是简化了的例子,所以除了等待顾客插入磁卡的起始状态和结束服务的终止状态,顾客会处于输入密码、选择服务类型、存款及取款四种状态。 (10分)
2、类图
3、描述系统动态行为