zoukankan      html  css  js  c++  java
  • [.net 面向对象程序设计深入](2)UML——在Visual Studio 2013/2015中设计UML用例图

    [.net 面向对象程序设计深入](2)UML——在Visual Studio 2013/2015中设计UML用例图 

    1.用例图简介

    定义:用例图主要用来描述“用户、需求、系统功能单元”之间的关系。它展示了一个外部用户能够观察到的系统功能模型图。

    类型:动态图

    应用:需求分析阶段

    2.用例图元素 

    2.1 参与者(Actor) 

    表示与您的应用程序或系统进行交互的用户、组织或外部系统。用一个小人表示。

    2.2 用例(Use Case)

    用例就是外部可见的系统功能,对系统提供的服务进行描述。 用椭圆表示

    2.3 子系统(Subsystem)

    用来展示系统的一部分功能,这部分功能联系紧密。

    2.4 关系

    用例图中涉及的关系有:关联、泛化、包含、扩展; 

    a. 关联(Association) 

    表示参与者与用例之间的通信,任何一方都可发送或接受消息。 

    【箭头指向】:指向消息接收方 

    b. 泛化(Inheritance) 

    就是通常理解的继承关系,子用例和父用例相似,但表现出更特别的行为;子用例将继承父用例的所有结构、行为和关系。子用例可以使用父用例的一段行为,也可以重载它。父用例通常是抽象的。 

    【箭头指向】:指向父用例 

    c. 包含或包括(Include) 

    包含关系用来把一个较复杂用例所表示的功能分解成较小的步骤; 

    【箭头指向】:指向分解出来的功能用例 

    在VS2015用例图建模中,称为 “包括”

    d. 扩展(Extend) 

    扩展关系是指 用例功能的延伸,相当于为基础用例提供一个附加功能。 

    【箭头指向】:指向基础用例 

    e. 依赖(Dependency) 

    以上4中关系,是UML定义的标准关系。 但VS用例模型图中,添加了依赖关系,用带箭头的虚线表示 

    表示源用例依赖于目标用例; 

    【箭头指向】:指向被依赖项 

    2.5 项目(Artifact)

    用例图虽然是用来帮助人们形象地理解功能需求,但往往没有一个具体的单据或文档更详细。很多时候跟用户交流甚至用Excel都比用例图强,VS中引入了“项目”这样一个元素,以便让开发人员能够在用例图中链接一个普通文档。

    用依赖关系把某个用例依赖到项目上

    2.6 注释(Comment) 

    注释是对元素进行一个说明,由注释元素和注释连接线组成

    3.Visual Studio 2015设计UML用例图

    文章中的图例,可以使用第三方UML工具,上篇文章中有介绍,作为.NET开发者,VS2015企业版 和 2013旗舰版 中都具有建模项目,下面的示例使用VS2015建模项目,后面提代源代码下载。

    使用VS 2015建模和上篇中介绍的方法一样,我们在选择模型时,选择UML用例图。下面是在Visual Studio 2015 企业版中设计用例图方法:

    (1)新建“模型项目”

    (2)新增 “模型文件”

    (3)选择“UML用例图”

    4.用例图的文字描述

     用例图对需求描述,对于没有用UML基础的人来说,依然不能看明白画些什么,因此,在需求阶段,用例图需要配合文字描述来表达业务需求。

    下面图片是网络上用例图的描述

    5.总结

    UML图比较多,博客中会介绍几种比较常用的,类图、用例图、活动图。在日常工作中,也不是每个设计都需要这些图,学习UML图一是能看懂别人的设计意图,而是为了让别人看懂自己的设计意图。即统一建模。

    6.源文件下载

     Git下载:https://github.com/yubinfeng/BlogExamples

    ==============================================================================================

    返回目录

    <如果对你有帮助,记得点一下推荐哦,如有有不明白或错误之处,请多交流>

    <对本系列文章阅读有困难的朋友,请先看 《.net 面向对象编程基础》 和 《.net 面向对象程序设计进阶》 >

    <转载声明:技术需要共享精神,欢迎转载本博客中的文章,但请注明版权及URL>

    .NET 技术交流群:467189533 .NET 程序设计

    ==============================================================================================

  • 相关阅读:
    CSS盒子模型
    getContextPath、getServletPath、getRequestURI、request.getRealPath的区别
    MYSQL中的CASE WHEN END AS
    单点登录的精华总结
    git&github
    June 21st 2017 Week 25th Wednesday
    June 20th 2017 Week 25th Tuesday
    June 19th 2017 Week 25th Monday
    June 18th 2017 Week 25th Sunday
    June 17th 2017 Week 24th Saturday
  • 原文地址:https://www.cnblogs.com/yubinfeng/p/5212350.html
Copyright © 2011-2022 走看看