3.1 用 例 图
在UML 语言中用例模型也就是用例视图是用例图描述的用例模型可以由若干个用例图组成用例图中包含系统角色和用例等三种模型元素图示用例图时既要画出三种模型元素同时还要画出元素之间的各种关系通用化关联依赖如图3-1
所示每种元素的描述方式将在3.3 和3.4 节讲述
客户 保险销售员
签定保险单
销售统计资料
客户数据资料
保险商务系统
图3-1 用例图示意
用例内容即该用例所代表功能的具体实现过程通常用普通的文字书写在UML语言中用例内容被看作用例元素的文档性质另一描述用例内容的工具是活动图关于活动图详见第五章用例图与活动图比较正式的结构相比前者的描述更易被用户理解也易于同其他用户交流信息
3.2 系 统
系统是用例模型的一个组成部分代表的是一部机器或一个商务活动等等而并不是真正实现的软件系统系统的边界用来说明构建的用例模型的应用范围比如一台自助式售货机被看作系统应提供售货供货提取销售款等功能这些功能在自动售货机之内的区域起作用自动售货机之外的情况不考虑准确定义系统的边界功能并不总是容易的事因为严格地划分哪种任务最好由系统自动实现哪种任务由其它系统或人工实现是很困难的另外系统最初的规模应有多大也应该考虑一般的作法是先识别出系统的基本功能集然后以此为基础定义一个稳定的精确定义的系统架构以后再不断地扩充系统功能逐步完善这样作的好处在于避免了一开始系统太大需求分析不易明确从而导致浪费大量的开发时间在建模初期定义一些术语和定义是很有必要的因为在描述系统用例或进行作用域分析domain analysis 时采用统一的术语和定义能够规范表述系统的含义不致出现误解当然必要时可以随意扩充这些术语和定义用例图中的系统用一个长方框表示系统的名字写在方框上或方框里面方框内部还可以包含该系统中的用符号表示的用例比如图3-1 中的保险商务系统表示该系统的方框内还包含了三个用例签订保险单销售统计资料客户数据资料
3.3 角 色
角色actor 是与系统交互的人或事所谓与系统交互指的是角色向系统发送消息从系统中接收消息或是在系统中交换信息只要使用用例与系统互相交流的任何人或事都是角色比如某人使用系统中提供的用例则该人就是角色与系统进行通信通过用例的某种硬件设备也是角色角色是一个群体概念代表的是一类能使用某个功能的人或事角色不是指某个个体比如在自动售货系统中系统有售货供货提取销售款等功能启动售货功能的是人那么人就是角色如果再把人具体化则该人可以是张三张三买矿泉水也可以是李四李四买可乐但是张三和李四这些具体的个体对象不能称作角色事实上一个具体的人比如张三在系统中可以具有多种不同的角色比如上述的自动售货系统中张三既可以为售货机添加新物品执行供货也可以将售货机中的钱取走执行提取销售款通常系统会对角色的行为有所约束使其不能随便执行某些功能比如可以约束供货的人不能同时又是提取销售款的人以免有舞弊行为角色都有名字它的名字反映了该角色的身份和行为比如顾客注意不能将角色的名字表示成角色的某个实例比如张三也不能表示成角色所需完成的功能比如售货角色与系统进行通信的收发消息机制与面向对象编程中的消息机制很像角色是启动用例的前提条件又称为刺激物stimulus 角色先发送消息给用例初始化用例后用例开始执行在执行过程中该用例也可能向一个或多个角色发送消息可以是其它角色也可以是初始化该用例的角色
角色可以分成几个等级主要角色primary actor 指的是执行系统主要功能的角色比如在保险系统中主要角色是能够行使注册和管理保险大权的角色次要角色secondaryactor 指的是使用系统的次要功能的角色次要功能是指一般完成维护系统的功能比如管理数据库通信备份等比如在保险系统中能够检索该公司的一些基本统计数据的管理者或会员都属次要角色将角色分级的主要目的是保证把系统的所有功能表示出来而主要功能是使用系统的角色最关心的部分角色也可以分成主动角色和被动角色主动角色可以初始化用例而被动角色则不行仅仅参与一个或多个用例在某个时刻与用例通信
<<上一页
1
2
3
4
5
下一页>>