【UML图】——用UserCase Diagram来确定用户需求

来源:互联网 发布:网络通信专业 编辑:程序博客网 时间:2024/05/22 06:49

    在软件工程的思想指导下,人们逐渐意识到需求分析的重要性,只有开发人员对用户的需求理解透彻,才能开发出适合用户的软件,这也是缓解软件危机的一个方法,在这个阶段,软件需求说明书就给了开发人员一个指导性文档。而在UML中,我们换了一种方式,那就是用图的形式,这个图就是用例图。


所处开发阶段:用例图主要用于软件需求分析阶段


什么是用例图:用例图是用来描述用户的需求,从用户的角度描述系统的功能,并指出各功能的执行者,强调谁在使用系统,系统为执行者完成哪些功能。


用在什么情况:用例图描述的是系统的功能,而且是用户本身的需求,用来驱动以后各个阶段的开发工作。


怎么画用例图:

     组成:用例图共有三部分组成,分别是角色、用例、关系。角色就是谁来用这个系统,这个系统的功能具体由谁来执行;用例可以理解为系统中的具体功能,也就是用户的具体需求;关系就是指角色和角色、角色和用例、用例和用例之间的关系。

     关系:用例图中的关系分为三种,分别是关联关系、依赖关系、泛化关系。

           关联关系是最一般的关系,就是指两者之间有联系;

           依赖关系就是使用关系,也可以称作包含关系,即某一功能的实现需要另外一个功能的支持,那么就说这个功能依赖另一个功能,比如说打电话是一个用例,手机是另外一个,打电话这个用例就要用到手机这个用例,那么打电话和手机之间就是依赖关系;

           泛化关系就是继承,也可以叫做扩展,比如有两个用例吃早饭和吃午饭,还有一个用例是吃饭,吃早饭和吃午饭都属于吃饭的范畴,继承了吃饭的所有属性,但是二者还有属于自己的不被吃饭所具有的时间属性,所以说吃早饭和吃午饭继承了吃饭,吃早饭和吃午饭时吃饭的多态性,这就是泛化,也称为扩展。


为什么用用例图:

      1、用例图可以提高代码的复用性

      2、给开发人员提供指导

      3、明确各项功能及和用户的关系

      代码复用性:代码的复用性指的是部分代码可以不用重新编写,而是重复使用。比如用银行卡取钱这个过程,可以分为两个用例,银行卡和银行,取钱的过程需要验证信息,如果把验证信息抽出来作为一个单独的类或者用例,那么编写代码时就可以直接使用,而不是在银行卡和银行两个用例中各写一部分信息验证的代码了,这样就提高了代码的复用性,也避免了代码的冗余。


与其他图的关系:

     与类图的关系:用例图和类图不是完全脱离的,类图的绘制需要依靠用例图,绘制类图时需要明确都有哪些用例,用例之间都有哪些关系,有些用例可以直接作为类图中的类,有些用例中的关系也可以直接作为类图中类之间的关系。

     与其他图的关系:用例图在所有图中相当于一个总纲领的地位,就像软件需求分析在所有文档中的作用是一样的,其他各种图的绘制都需要依赖用例图,如果把九种图比作一个圆,那么用例图就是那个圆心。


总结:

     用例图是一种静态图,只是描述用户和系统的关系,说明谁在用系统,系统用来干什么。它以一种图形的形式,使得两者之间的关系比文档看起来更直接。用例图也是九种图中最中心的,首先要画用例图,根据用例图来完成其他各种图。

0 0