软考-库存管理系统需求分析

一、场景

目标开发一套库存管理系统,该系统的部分需求如下:

(1)库存管理系统主要包括货物入库管理、货物出库管理、仓库管理、统计报表和系统管理等功能。

(2)库存管理系统的用户包括仓库管理员、仓库经理和系统管理员,用户必须在注册后才能使用系统功能;用户可以选择使用邮件注册或电话注册。

(3)仓库管理员在进行出入库操作前必须先登录;仓库经理可以通过系统查看统计报表,如果前一个月的报表未生成,则系统自动生成统计报表,否则直接显示。

(4)系统管理员可以在系统中设置仓库温度范围,当仓库内温度超过最高值或者低于最低值时,系统自动调用温控管理操作,连接温度调节系统进行制冷或加热。

(5)仓库管理功能要求每个月1日零点对前一个月货物入库和出库记录进行数据汇总操作。项目组决定构造用例模型以描述系统需求。

二、问题

2.1、问题1

用例建模的首要任务是识别系统中的参与者。请根据题目中所描述的需求,识别出系统中有哪些参与者?

2.2、问题2

用例建模的主要工作是书写用例规约。用例规约通常包括哪几部分内容?

2.3、问题3

建立了用例模型后,可以利用用例之间的关系调整用例模型,用例之间的关系包括哪几种?对于每种关系,请根据题目中所描述的需求分别给出一组用例。

三、解析

3.1、问题1

核心解题思路:谁(什么东西)在通过系统接口与系统交互?

不应该只找"",不能漏掉""和"环境"。

① 具体的人:谁使用这一套系统?

根据需求找到【仓库管理员、仓库经理和系统管理员】

② 外部系统/硬件设备:系统是否需要控制机器,或者从外部机器获取数据?

根据需求找到【连接温度调节系统】

③ 时间或环境状态:有没有功能是"自动触发"的?

根据需求找到【温度超过最高值或者低于最低值时,系统自动调用温控管理操作】代表温度环境,还有【每个月1日零点对前一个月货物入库和出库记录进行数据汇总操作】代表时间环境。

3.2、问题2

通俗理解用例规约:当收到命令炒一盘菜,我们需要明确以下几点。

① 这是啥菜?

对应就是用例名称

② 谁吃菜或者谁做菜?

对应就是参与者

③ 做这道菜是为什么?

对应就是目标/简要说明

④ 开火前要准备什么?

对应就是前置条件,比如需求中说的用户必须先登录,那么用户登录就是前置条件。

⑤ 具体怎么炒菜?

对应就是事件流/基本流程,比如用户第一步先点击按钮,第二步系统弹出什么界面。

⑥ 菜炒糊了怎么办?

对应扩展事件流/异常事件流,比如按钮的校验事件失败了,系统应该提出什么错误提示。

⑦ 菜炒完之后厨房变成什么样了?

对应后置条件,比如按钮点击完成,库存数据库更新。

3.3、问题3

核心解题思路:识别用例之间的关系(包含、扩展、泛化

① 包含关系 (Include) ------ "必须做的公共步骤"

诀窍:不做A就没办法做B,就说A被B包含。

特征:复用。如果多个用例都有一段完全一样的步骤,就把这段步骤提出来做一个新用例。

根据需求找到【出入库操作前必须先登录】,所以出入库操作包含登录。

② 扩展关系 (Extend) ------ "特殊情况下的加餐"

诀窍:通常做A就可以了,特殊情况需要做B,就是A扩展出了B。

特征:可以理解为"插件"或者"分支剧情"。主流程可以独立运行,扩展流程不是必须发生的。

根据需求找到【仓库经理可以通过系统查看统计报表,如果前一个月的报表未生成,则系统自动生成统计报表,否则直接显示】,查看统计报表主流程通常可以独立完成,只有当统计报表没有的时候才需要生成统计报表。所以查看统计报表扩展出了生成统计报表。

③ 泛化关系 (Generalization) ------ "父子分类"

诀窍:A是B的其中一种。

特征:就像生物学分类,具体和抽象的区别。

根据需求找到【用户可以选择使用邮件注册或电话注册】,邮箱注册和电话注册都是注册的一种。所以注册泛化出了邮箱注册和电话注册。

四、答案

【问题1】 用例模型的参与者:仓库管理员、仓库经理、系统管理员、时间、温度、温度调节系统。

【问题2】 用例建模的主要工作是书写用例规约(use case specification),而不是画图。用例模板为一个给定项目的所有人员定义了用例规约的结果,其内容至少包括用例名、参与者、目标、前置条件、事件流(基本事件流和扩展事件流)和后置条件等,其他的还可以包括非功能需求和用例优先级等。

【问题3】 (1) 用例之间的关系包括:包含关系、扩展关系、泛化关系。 (2) "出入库操作"与"登录"属于包含关系; "查看统计报表"与"生成统计报表"属于扩展关系; "用户注册"与"电话注册"、"邮件注册"属于典型的泛化关系。

相关推荐
何中应19 小时前
软件架构风格总结
架构·软考·软件架构
向上的车轮1 天前
《信息系统项目管理师教程(第4版)》——论文考试
软考·项目经理
@insist1232 天前
信息安全工程师-测评核心知识框架与关键流程(下篇)
网络·安全·软考·信息安全工程师·软件水平考试
橘长_2 天前
【软考】单双缓冲区的时间计算
软考
橘长_2 天前
【软考】缓存直接映射计算1
软考
@insist1232 天前
信息安全工程师-操作系统安全通用基础与七大核心机制
安全·软考·信息安全工程师·软件水平考试
@insist1233 天前
信息安全工程师-测评核心知识框架与关键流程(上篇)
安全·软考·信息安全工程师·软件水平考试
haokan_Jia4 天前
软考高项-变更管理工作程序-提炼
软考·高项·案例·高级·万金油
向上的车轮4 天前
《信息系统项目管理师教程(第4版)》——案例分析考点
软考·项目经理
@insist1234 天前
信息安全工程师-应急响应基础:核心概念、法律要求与分级标准
安全·软考·信息安全工程师·软件水平考试