问答题
试题一(共25分)
阅读以下关于需求建模的叙述,在答题纸上回答问题1至问题3。
某软件公司拟为物流企业开发一套库存管理系统,该系统的部分需求陈述如下:
(1)库存管理系统主要包括货物入库管理、货物出库管理、仓库管理、统计报表和系统管理等功能。
(2)库存管理系统的用户包括仓库管理员、仓库经理和系统管理员,用户必须在注册后才能使用系统功能;用户可以选择使用邮件注册或电话注册。
(3)仓库管理员在进行出入库操作前必须先登录;仓库经理可以通过系统查看统计报表,如果前一个月的报表未生成,则系统自动生成统计报表,否则直接显示。
(4)系统管理员可以在系统中设置仓库温度范围,当仓库内温度超过最高值或者低于最低值时,系统自动调用温控管理操作,连接温度调节系统进行制冷或加热。
(5)仓库管理功能要求每个月1日零点对前一个月货物入库和出库记录进行数据汇总操作。
项目组决定构造用例模型以描述系统需求。
问答题
[问题1](6分)
用例建模的首要任务是识别系统中的参与者。请根据题目中所描述的需求,识别出系统中有哪些参与者?
【正确答案】 (1)仓库管理员;(2)仓库经理;(3)系统管理员;(4)时间;(5)温度;(6)温度调节系统。
【答案解析】 本题考查考生对于需求建模的掌握情况。
用例方法是一种需求建模技术,在获取系统需求并记录后,从用户的要求和期望中进行整理与提炼,从而建立用例模型。在面向对象分析方法中,构建用例模型一般需要经历四个阶段,分别是识别参与者、合并需求获得用例、细化用例描述和调整用例模型。根据题目所述需求,绘制系统用例图如下图所示。

问答题
[问题2](7分)
用例建模的主要工作是书写用例规约。用例规约通常包括哪几部分内容?
【正确答案】 (1)用例名称;(2)简要说明;(3)事件流;(4)非功能需求;(5)前置条件和后置条件;(6)扩展点;(7)优先级。
【答案解析】 用例模型是由用例图和每一个用例的详细描述——用例规约所组成的。RUP中提供了用例规约的模板,每一个用例的用例规约都应该包含以下内容:用例名称,简要说明,事件流,非功能需求,前置条件和后置条件,扩展点,优先级。
问答题
[问题3](12分)
建立了用例模型后,可以利用用例之间的关系调整用例模型,用例之间的关系包拒哪几种?对于每种关系,请根据题目中所描述的需求分别给出一组用例。
【正确答案】 用例之间的关系有三种,分别是包含关系、扩展关系和泛化关系。
(1)包含关系:用例“入库管理”和用例“用户登录”之间的关系;用例“出库管理”与用例“用户登录”之间的关系;
(2)扩展关系:用例“查看统计报表”和用例“生成统计报表”之间的关系;
(3)泛化关系:用例“用户注册”和用例“电话注册”之间的关系;用例“邮件注册”和用例“电话注册”之间的关系。
【答案解析】 用例之间的关系有包含关系、扩展关系和泛化关系。(1)包含关系:一个用例可以简单地包含其他用例具有的行为,并把它所包含的用例行为作为自身行为的一部分,这称作包含关系。用例“入库管理”和用例“用户登录”之间的关系、用例“出库管理”与用例“用户登录”之间的关系就属于包含关系:(2)扩展关系:一个用例(扩展用例)可以被定义为基础用例的增量扩展,这称为扩展关系。用例“查看统计报表”和用例“生成统计报表”之间是扩展关系;(3)泛化关系:一个用例被特别列举为一个或多个用例,这被称作用例泛化。用例“用户注册”和用例“电话注册”之间、用例“邮件注册”和用例“电话注册”之间属于泛化关系。