工程实践用例建模Use Case Modeling
用例建模就是通过对软件需求的调研,从具体的功能性需求中抽象出用例模型的工作过程。参与者和用例由对功能性需求的分析来确定,用例图是参与者和用例的可视化表示。用例图中的四种关系:
1.关联:建立参与者与用例通信的渠道,当然关联可以是双向的,可以是单向的。箭头的方向表示消息的传递方向。
2.依赖:一个用例受到另一个用例的影响。
3.包含:基USE CASE图本用例的行为包含了另一个用例的行为
4.扩展:扩展用例是基本用例的一个扩展
5.泛化:存在于Actor和Use case之间,例如数学老师是老师的泛化,从特殊指向一般。
用例建模的作用:
用例模型是一种标准的语言,是开发人员之间交流和沟通的媒介,可以精确地定义软件需求,出现歧义的可能性很小,这可以保证用户和开发人员对需求理解的一致性。用例模型在整个开发过程中都扮演着非常重要的角色,它可以驱动软件的分析和设计逐步细化。最后,测试过程中那些关注软件功能的测试用例,往往也是根据用例模型来确定的。
用例步骤:
-
-
- 确定系统边界
- 确定参与者
- 找出所有的用例
- 确定每个用例的级别
- 撰写用例的文字描述
- 画出以整个系统为对象的顺序图
-
我的工程实践的目的是手势识别,模拟键盘鼠标操作等,下图展示了项目的部分用例图。只是手势交互业务建模,不是对系统建模。
手势识别用例图
活动者有玩家和开发人员,可以实现手势识别和手势库的建立。输入为一个摄像头采集的一个手势,输出为手势识别的是与否。流程是打开摄像头,点击手势识别按钮,等待进入识别界面。然后用户做出手势动作,等待识别的结果,最后系统返回手势识别结果。
手势库建立用例图
开发人员可以建立用于鼠标键盘模拟交互系统的手势库,手势可以包括点击确认手势、移动光标手势、返回等。还可以删除手势,删除手势之前要删除手势。当且仅当删除某一个手势或者增加一个手势才会更新要模拟的交互系统。
交互模拟系统用例图
玩家用户进入鼠标键盘模拟系统,首先会选择要使用的手势交互应用,比如照片浏览、音乐播放、文件浏览等,选择好之后用户输入手势,系统会识别手势,判定手势的结果是与否进行相应的操作。当结束使用之后,用户可以退出交互应用。
通过抽取Abstract use case,得到的抽象用例为:手势识别用例,交互模拟系统用例,手势库建立用例。画出用例图后,根据每个抽象用例的用例范围,得到每个抽象用例的高级用例和一些扩展的用例,大致如下:
活动者有玩家和开发人员,可以实现手势识别和手势库的建立。开发人员可以建立用于鼠标键盘模拟交互系统的手势库,手势可以包括点击确认手势、移动光标手势、返回等。还可以删除手势,删除手势之前要删除手势。当且仅当删除某一个手势或者增加一个手势才会更新要模拟的交互系统。玩家用户进入鼠标键盘模拟系统,首先会选择要使用的手势交互应用,比如照片浏览、音乐播放、文件浏览等,选择好之后用户输入手势,系统会识别手势,判定手势的结果是与否进行相应的操作。当结束使用之后,用户可以退出交互应用。
以上为目前项目所构建出的用例模型。