UML
UML(统一建模语言)是当前软件开发中使用的最为广泛的建模技术之一,通过使用UML可以构造软件系统的需求模型(用例模型)、静态模型、动态模型和架构模型。
#需求模型:
需求模型又称用例模型,主要用于描述系统的功能性需求,即软件可以实现的功能,如登陆、注册、入库、出库、查看库存报表】增加员工信息等。常规的用例建模一般包括两个组成部分:绘制用例图和编写用例文档。
1.绘制用例图
用例图包含两个主要组成元素,分别是执行者(Actor)和用
例(Use Case)。执行者又称为参与者或角色,用例又称为用况或案例。在用例图中,执行者用一个“小人”符号表示,用例用一个“椭圆”符号表示,因此用例图又有一个名字为“小人椭圆图”。最简单的用例图如下:
在该用例图中,“仓库管理员”表示执行者,“入库”表示一个用例,即系统的一个功能。
执行者是指直接和系统交互的一类事物,执行者主要有如下三类:
(1) 直接使用系统的人
(2) 与该系统相关的其他系统,如在库存管理系统中如果涉及到付款操作,需要使用另一个软件——支付系统,此时支付系统就是库存管理的执行者之一;
(3) 自动发生的事件,如时间、温度等自动事件,如果库存管理系统要求每晚零点执行一个数据汇总操作,此时时间就成为该操作的执行者。
关系:
关联关系:
关联关系是指执行者与用例之间的关系,又称为通信关系,如果某个执行者可以对某个用例进行操作,它们之间就具有关联关系
泛化关系:
执行者之间的关系只有一种,即泛化关系,用一个带有空心三角形的实线表示,如下图,为了减少用例的个数并且使系统更加符合面向对象设计规范,可以对执行者进行泛化,将各类执行者都具有相同的功能移至父执行者,而将每类执行者特有的功能保留在子执行者中。
包含关系:
如果多个用例都具有一部分相同的行为,可以将这部分相同的行为作为一个单独的用例抽取出来,与原来的用例形成一个包含关系。如仓库管理员在进行入库、出库等操作之前需要先登录,登录是入库、出库流程的基本组成部分,因此用例“入库”和“出库”包含用例“登录”。
扩展关系:
扩展关系又称为延伸关系,如果一个用例在执行时可能会使用到另一个用例,或者使用一个新的用例对原有用例的行为进行扩展时可以使用扩展关系,如仓库管理员在入库时发现某种商品在系统中暂不存在,则可以增加新的商品信息;如果入库商品均已存在,则无需增加商品信息,此时用例“增加商品信息”可以作为用例“入库”的扩展用例。