用例图(Use Case Diagram)是UML建模的基础图,其他类型的图都建立在用例图的基础上。用例图也是程序开发的基础图,当做系统需求分析的参考来使用。用例图同样是软件建模的开始,软件建模中的其它图都将以用例图为依据。用例图列举了系统所需要实现的所有功能,除了用于软件开发的需求分析阶段,也可用于测试阶段。
用例图的构成
用例
用例包含了系统所拥有的所有功能,描述系统的使用过程。从系统角度看,这些行为都必须被描述和处理的情况,一个系统往往有多个用例,这些用例共同描述系统的功能
系统
系统是软件开发的最终产物,包含了用户需要的所有功能。大型的系统通常可以分为小的系统,如图书馆管理系统有很多子系统,包括图书的借阅、归还和读者会员的管理
参与者
参与者是系统的使用对象。可以是人或设备,甚至是其他系统。如一个购物系统在付款功能使用过程中,是需要与银行的网上支付系统相互交互的,那么银行的网上支付系统可以作为网购系统的一个参与者
关系
描述用例图各部分构成之间的联系。参与者与用例之间的并联并不是一对一的,一个参与者可关联一个或多个用例,一个用例也可关联一个或多个参与者
网上电子商务系统的用例分析
上图是一个简单的电子商务系统用例,工具使用的是StarUML,它是一款开源的免费的工具。
参与者: User SystemManager Accountant Bank
用例: Login ModifyOrder SubmitOrder DispatchOrder ProdoctManger Payment OnlinHelp
关系; 直线相连接的表示关系。例如用户可以登录(Login)修改订单(ModifyOrder)等
可以看到上图中虚线部分的<<include>>和<<extend>>,这两种是用例之间的关系。用例之间的包含关系(include)表示一个用例执行过程中,肯定要执行另一个用例,比如你要修改订单必须的先登录,用例之间的扩展关系(extend)表示一个用例的功能通过其他用例进行扩展,如上图的在线帮助用例可扩展到修改订单和提交订单,当用户不知道怎样提交订单可以使用在线帮助来扩展.