zoukankan      html  css  js  c++  java
  • 通过UM用例来图示化系统

           UML用例图的概念,它主要用来图示化系统的主事件流程,它主要用来描述客户的需求,即用户希望系统具备的完成一定功能的动作,通俗地理解用例就是软件的功能模块,所以是设计系统分析阶段的起点,设计人员根据客户的需求来创建和解释用例图,用来描述软件应具备哪些功能模块以及这些模块之间的调用关系,用例图包含了用例和参与者,用例之间用关联来连接以求把系统的整个结构和功能反映给非技术人员(通常是软件的用户),对应的是软件的结构和功能分解。

      用例是从系统外部可见的行为,是系统为某一个或几个参与者(Actor)提供的一段完整的服务。从原则上来讲,用例之间都是独立、并列的,它们之间并不存在着包含从属关系。但是为了体现一些用例之间的业务关系,提高可维护性和一致性,用例之间可以抽象出包含(include)、扩展(extend)和泛(generalization)几种关系。

        上面是一些概念性的东西,现在把以前画用例的一些个人理解总结一下:

    通俗的说一下用例图的画法:

    用例图其实就是用来描述 使用者(用户,角色)和系统功能模块之间,以及功能模块与功能功能模块之间的一个关系图,主要是为了方便查看,一目了然

    画法:

    1、三个对象:参与者,用例,系统边界

       a、参与者:就是用户或者角色,事物等

      

       b、用例:系统功能模块,也就是系统能做的事情

      

      c、系统边界:相当于一个放置系统用例的一个地方,空间

        

    2、参与者与用例的关系一般会用 "通信"连接

       

    3、用例和用例之间主要用三种关系:包含、扩展和泛化

      a、 包含:比如我需要吃饭,那么吃面,喝汤和吃饭的关系就是包含,简单的理解就是:

             我要做事和我要具体做的事情就是包含关系,我要维护一台服务器,具体的话就是包括系统安全维护,备份数据等

             在系统中,比如我要维护一下新闻,那么具体维护什么东西呢

             就包括 删除新闻,修改新闻和查询新闻等,那么删除新闻,修改新闻,查询新闻

             和维护新闻之间的关系就可以理解为包含,也可以说是包括

          

         b、扩展:这个很好理解,就是以前有的东西上面,在扩展一些东西,比如举一反三就是扩展,解决了一个问题,可以用同一个思想去解决其他类似的问题,就是说,扩展是有条件,这个条件就是之前要有基础,只有之前有了一个思路,才能在这个思路之上扩展其他的思路

             在系统中,比如我们要打印想要信息,那么怎么办,就只能先查询,所以查询就是打印的扩展条件,也是打印的一个扩展功能       

          c、泛化:简单的理解就是继承,做过面向对象软件开发的同袍都能理解,无论是学生还是工人,我们都可以把它同意归纳为人,也可以理解问子用例是父用例的一个分类,但是具有父类的属性,这个不能脱离

         系统中,假如有工资调整审批,请假审批,那么都可以同意扩展为审批,就可以画出下面的用例图

         

      ●泛化就是继承,也就是父子关系

      ●包含就是内部之间的分支

      ●扩展则相当于是叠加,但是必须有第一个叠加,才可以有上面的叠加

    画用例的工具最常用的是visio或者PowerDesigner,在visio中有时候没有包含“include”

    怎么办呢

    1、在菜单栏中单击“UML(U)”,选择“构造型”;

    2、在弹出的“UML构造型”窗口中,单击“新建”;

    3、窗口在最顶端会出现一项,将“构造型”栏改成“include”,将“基类”栏改成“归纳”,然后单击“确定”;

    4、接下来就可以用“include”了。

       将“扩展”或 “用”拖到工作区域,选择它,右击,选择“属性”,在“构造型(S)”一栏,选择    “include”,单击“确定”,可以看到,线上的字已经改成“include”了。

    案例:

  • 相关阅读:
    ajax
    vue 思維導圖
    python项目_log日志的使用
    mysql数据库_serialisers
    常见的时间复杂度及其增长速度比较
    C++中的sort()函数
    用C++实现输入三个整数,中间用逗号隔开
    python——递归函数
    python——函数
    python——可变对象和不可变对象
  • 原文地址:https://www.cnblogs.com/shuang121/p/2811361.html
Copyright © 2011-2022 走看看