例3、某商店POS系统用例描述实例 用例:购买商品 参与者:顾客(发起者)、收款员 类型:主要的 描述:顾客带着所要购买商品到付款处,收款 员记录商品信息并收款。 用例:启动/关闭系统 参与者:管理员 类型:主要的 描述:管理员接通一台POS机电源,检查时 间、日期正确性,检查完成后,系统处 于就绪状态,以备收款员使用 安交通大学刘海岩
西安交通大学 刘海岩 11 例3、某商店POS系统用例描述实例 用例: 购买商品 参与者:顾客(发起者)、收款员 类型: 主要的 描述: 顾客带着所要购买商品到付款处,收款 员记录商品信息并收款。 用例: 启动/关闭系统 参与者:管理员 类型: 主要的 描述: 管理员接通一台POS机电源,检查时 间、日期正确性,检查完成后,系统处 于就绪 状态,以备收款员使用
(2)用例图 用来显示一系列用例和参与者之间的关系,有助 于开发人员表达系统功能的不同的抽象层次的描述。 交互 配置 房主 监测 传感器 SafeHome高层用例图 安交通大学刘海岩
西安交通大学 刘海岩 12 (2)用例图 用来显示一系列用例和参与者之间的关系,有助 于开发人员表达系统功能的不同的抽象层次的描述。 交互 房主 传感器 配置 监测 SafeHome高层用例图
信动/关闭系统 Include y 输入密码 验证密码 房主 询问区域状态《 include》 询问传感器 询问传感器状恋《 include》 (参考教材1P415) 按紧急按钮) SafeHome交互用例图 安交通大学刘海岩
西安交通大学 刘海岩 13 启动/关闭系统 房主 输入密码 询问区域状态 SafeHome交互用例图 询问传感器状态 按紧急按钮 验证密码 询问传感器 《include》 《include》 《include》 (参考教材1 P415)
用例分析是理解和组织系统应完成任务的直观方法。它还 可以用来驱动开发过程。特别是,用例: 可以帮助定义系统的范围,即必须做什么和不必做什么 可用来计划开发过程。确定的用例数量决定了项目的大 小,开发进度可用完成的用例数量来测量 用来开发和确认需求。 构成测试用例定义的基础 可用来构造用户手册。 但是用例也不是万能的!注意:( Lethbridge的观点) ①用例必须经确认。用例集应是完全的、表达是一致的和 明确的。 ②用例分析不一定覆盖到功能需求的所有方面。如,不被 参与者触发的活动不会出现在用例中 当软件需求来自用例时,软件往往只是简单的反映开发 软件前用户的工作方式,可能没有考虑到创新的解决方 案 安交通大学刘海岩
西安交通大学 刘海岩 14 用例分析是理解和组织系统应完成任务的直观方法。它还 可以用来驱动开发过程。特别是,用例: • 可以帮助定义系统的范围,即必须做什么和不必做什么。 • 可用来计划开发过程。确定的用例数量决定了项目的大 小,开发进度可用完成的用例数量来测量。 • 用来开发和确认需求。 • 构成测试用例定义的基础。 • 可用来构造用户手册。 但是用例也不是万能的!注意:(Lethbridge的观点) ① 用例必须经确认。用例集应是完全的、表达是一致的和 明确的。 ② 用例分析不一定覆盖到功能需求的所有方面。如,不被 参与者触发的活动不会出现在用例中。 ③ 当软件需求来自用例时,软件往往只是简单的反映开发 软件前用户的工作方式,可能没有考虑到创新的解决方 案
2、获取需求的主要活动 (1)确定参与者和用例 与用户一起确定与系统有交互活动的所有角色,并为 每个角色设计用例。确定用例的准则: 每个用例都应该为其角色提供有价值的服务—避免 确定的用例太小;确保每个用例都向主要角色提供有价 值的服务—避免用例太大。 (2)定义用例的优先级 3)描述每个用例 用例描述可有不同的抽象层次与描述模板。概要描述 主要强调每个用例的主要功能。详细描述包括每个用例 的事件流(如何开始,与角色如何交互,如何终止) 每个用例中所涉及到的对象(编入术语表)、执行 用例所要求的非功能性需求等 安交通大学刘海岩
西安交通大学 刘海岩 15 2、获取需求的主要活动 (1)确定参与者和用例 与用户一起确定与系统有交互活动的所有角色,并为 每个角色设计用例。确定用例的准则: 每个用例都应该为其角色提供有价值的服务——避免 确定的用例太小;确保每个用例都向主要角色提供有价 值的服务——避免用例太大。 (2)定义用例的优先级 (3)描述每个用例 用例描述可有不同的抽象层次与描述模板。概要描述 主要强调每个用例的主要功能。详细描述包括每个用例 的事件流(如何开始,与角色如何交互,如何终止)、 每个用例中所涉及到的对象(编入术语表)、执行一个 用例所要求的非功能性需求等