看完后UML的视频,也就开始了实践的阶段,理论的知识只有在实践中才能让自己理解的更透彻,否则那就成为了纸上谈兵了。下面就谈一下小编是如何画用例图的。
再次声明下用例的定义。
用例图:用来表达用户的需求。
几个字就言简意赅的把用例图的意义描述出来了,那么到底如何画用例图呢?
首先,既然是用可视化图形的方式来表达用户的需求,所以我们首先要明白用户的需求。在此以机房收费系统为例。
客户
学生:我想能够像网吧那样,先刷卡然后再系统中输入自己的用户名和账号就可以上机。并且我也能够在系统中修改自己的用户信息和用户密码,查看自己的账号余额。
教师:学生通过来我这里刷卡上机,当然没有卡的需要先来我这里注册,最好在注册过程中输入的信息越少越好。我也可以帮助学生充值,也可以退卡。也能够查看正在上机的人数,如果学生离开的时候忘了退出自己的账号,我也能够帮他们退出。我也能够修改学生信息。当然我也想看看所有教师的工作记录,跟月底的出勤率也有个依据。
管理员:我是这个系统的最高权限者,我能够管理老师,比如注册,信息的修改等,对于学生上机的花费情况,我希望能够做到每日一结,每月汇总,并能够帮我打印出来。
学校某领导:我的要求不高,希望这个系统能够方便机房的管理,减少教师的工作情况,节省开支,并且对于系统财务方面的管理,我希望不要出差错。
以上差不多就是对于这个系统的宏观上的需求。有了这个需求做为依据,我们就可以用图形化的语言来表达出来了。
在UML中,对象用人头表示,需求用椭圆表示,之间的关系用一些箭头表示。如图:
当然如果客户的需求过多,一张图形如果表达出来的话,我们可以分层来表示。把需求来拆分。例如上图中,管理Manage Student这个需求太广泛了,我们可以在分层来表示。如图:
这样通过层层的把目标分解,我们可以通过图形很直观的理解用户的需求。在此可能有的同学不太理解了。那个Register ID这个需求还用分解吗?在此就解释一下,用例图是一种静态行为的图形,用来表示系统静态的部分。你如果再把这个用了分解为输入用户名、输入密码、输入班级等的话,这些都是完成这个需求的动态行为,只能算是这个用例的步骤,而并不能做为一个用例出现在上图中。换句话说,你不是用这个系统只为输入密码或者用户名的吧!一个用例是一个完整事件的目的。正如为了完成注册ID一样。
当然这样说用例图很粗浅,首先我们的用户需求部分就很少,对系统有要求的人员还有好多,我们并没有列出来。
其次,不是虽有的要求都是用例,有的只是业务范围,例如学校某部门说:我希望你们做的系统,对于机房电脑现有的配置就可以运行了,我们不想在花钱购买新机器了。这些只是系统的范围,只能运行在现有机房配置的电脑上。
说这么多什么意思呢,就是我们需要提炼用户的需求,做到精简。
最后才能够根据用户的需求,以用例图的形式来展示出来。
说到这里不知道各位明白否,小编不才对这部分的内容理解的也不是太透彻,欢迎多多指教。