二、填空题1. 软件系统模型大体上分两类:______和概念模型。
2. 状态是类目的一个______在其生存中的一种条件或情况。
3. 增量模型根据增量方式和形式的不同,分为______和原型模型。
5. 在进行软件系统/产品的需求工作中,通常面临的三大挑战为:______,人与人之间的通信和需求的变化。
6. 用况是对系统功能的描述,是系统开发的______,是类、对象、操作的源,是系统分析和设计阶段的输入之一。
7. ______指设计足够的测试用例,使得判定中所有可能的条件取值组合至少执行一次。
8. 常用的黑盒测试方法有______、边界值分析、错误推测、因果图。
9. 有效性测试的目标是发现软件实现的功能与______不一致的错误。
10. 一个状态机引入了另一个状态机,那么被引入的那个状态机称为______。
三、简答题1. 简述构建系统功能模型的步骤。
构建系统功能模型的步骤:
(1)建立系统环境图,确定系统语境。
(2)自顶向下,逐步求精,建立系统的层次数据流图。
(3)定义数据字典。
(4)描述加工。
2. 简述RUP的特点。
RUP是一种以用况为驱动的,以体系结构为中心的迭代、增量式开发。
3. 简述领域模型和业务模型在系统开发中的作用。
其作用如下:
(1)领域模型用于捕获系统语境中的一些重要领域对象类,一般是以类图表达的。
(2)业务模型是用于在系统开发中捕获业务处理和其中的业务对象。
4. 简述软件测试的步骤以及基本任务。
软件测试步骤为:单元测试、集成测试、有效性测试和系统测试。
基本任务:
(1)单元测试的任务是对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能。
(2)集成测试的任务是检查与设计相关的软件体系结构的有关问题。
(3)有效性测试的任务是检查已实现的软件是否满足需求规格说明书中确定了的各种需求。
(4)系统测试的任务是把已确认的软件与其他系统元素结合在一起进行测试。
5. 简述软件生存周期中,软件确认过程的意图、活动和任务。
意图:证实所期望使用的软件工作产品是否满足其需求。
(1)活动1:过程实现。
任务1:应作出有关该项目是否进行确认工作的决定,并确认所需工作的组织上的独立程度。
任务2:如果项目进行确认工作,应为确认系统或软件产品建立相应的确认过程,并定义确认任务,包括执行这些任务所关联的方法、技术和工具。
任务3:如果项目进行独立的确认工作,应选择一个有资格的组织负责该工作。应确保确认人员的独立性,并有权力执行确认任务。
任务4:应开发确认计划,并建立相应的文档。
任务5:应实施确认计划。
(2)活动2:确认。
任务1:编制所选的测试需求、测试用例以及测试规格说明,以便分析测试结果。
任务2:确保这些测试需求、测试用例以及测试规格说明反映特定期望使用的特殊需求。
任务3:按任务1和任务2进行测试,其中还包括:
①强度、边界和单个输入的测试。
②软件产品是否能够分离以及是否将错误影响最小化的测试。
③用户使用软件产品能否成功实现其期望任务的测试。
任务4:确认软件产品是否满足其期望的使用。
任务5:测试软件产品是否适合已选择的目标环境。
四、综合应用题1. 什么是关联的多重性?举例说明关联的多重性。
(1)类(类目)中对象参与一个关联的数目,称为该关联的多重性。
(2)表达多重性的基本格式为下限..上限。其中的下限和上限都是整型值,表达的是一个从下限到上限的整数闭区间,星号(*)可用于上限,表明不限制上限。
如果多重性只是一个整型值,那么该值是一个整数区间的上限,如果多重性是单个“*”,那么表明无穷的非负正整数范围,即等价于0..*。多重性0..0是没有实际意义的,表明没有实例能产生。下图中的1..*,星号(*)代表无指定上限,下限最低为0。如果上下限数相同,则标出一个数目就可以了。因此,可以解读为:一个顾客(customer)可以拥有一个到多个的账户(account),但是一个账户只能由一个顾客所拥有。
2. 欲开发一个银行的活期存取款业务的处理系统:储户将填好的存/取款单和存折交给银行工作人员,然后由系统做以下处理:
(1)业务分类处理:系统首先根据储户所填的存/取款单,确定本次业务的性质,并将存/取款单和存折交下一步处理。
(2)存款处理:系统将存款单上的存款金额分别记录在存折和账目文件中,并将现金存入现金库,最后将存折和存款单还给储户。
(3)取款处理:系统将取款单上的取款金额分别记录在存折和账目文件中,并从现金库提取现金;最后将现金和存折还给储户。绘制该系统的分层数据流图。