前言

学UML将近两个星期了,对UML有了一定的了解,学过的没学过的都知道UML中最最最核心的部分要数那九个图了。浅谈UML九种图。

实例

1.用例图:

什么是用例?描绘一个系统外在可见的需求情况,是代表系统中各个项目相关人员(风险承担人)之间就系统的行为所达成的契约。

用例的基本元素:角色(用户对于系统而言所演的角色)这里的角色可以是人也可以是其他系统;硬件设备;时钟;

用例:用例就是在系统中执行一系列动作。

关系:泛化;依赖;关联;实现。

用例注意用点:应该清晰的定义系统的边界。防止用例过多(合并需求生成用例)从执行者的角度来命名用例。用例描述尽可能细化。避免执行者的名字不一致。避免执行者和用例之间的关系太复杂。注意用例的大小是否恰当。避免用例是否混乱。

用一张图来看:

举例说明:

2.类图:

如果某人在一条黑暗的胡同中走来,并说:“嗨,要不要看看一个UML图?”那个图就可能是一个类图。类图是使用最广泛的一种模型,用来表示系统中各个对象的类型以及其间存在的各种静态关系。什么是类?用来表述系统中各个对象的类型以及其间存在的各种静态关系,每个对象都扮演了一个角色,并为其他成员提供了特定的服务或执行特定的行为。类图的组成如图:

3.对象图:

面向对象软件开发中的“对象”是从现实世界的“对象”中获得灵感,并加以扩充的一个概念,下面是对鄙人对对象图的一些理解。

4.包图:

在面向对象软件开发中,类显然是构建整个系统的基本构造块。但是对于庞大的应用系统而言,其包含的类将是成百上千的再加上其间“阡陌交纵”的关联关系、多重性等,必然大大超过了人们可以处理的复杂度,因此必须引入一种新的构造块,一种能够解决这个问题的构造块——包。

注意问题:

a)避免循环依赖产生。

b)测试时可以以包为测试单位。

c)应该尽量把语义和概念上相同的元素放在同一个包中。

d)对于一个包,找出哪些包内的元素是可以在包外访问的,把这些元素定义为公共的,其他元素都定义为私有的或受保护的。

结语

到这里就给大家带来自己对九种图的小小理解,一张图胜过千言万语,本人菜鸟一枚,若有不恰当的地方,望大神斧正!

若安好,便是晴!

浅谈UML——九种图(一)的更多相关文章

  1. 浅谈UML——九种图(二)

    前言 看我UML视频,对UML图有了一定的了解,终于明白了,为什么一幅图代表了千言万语.每一种图都有其特殊的存在,都在软件开发过程中起了至关重要的作用.那么如何阅读?如何绘制?请看下去: 1 行为图 ...

  2. 【转】浅谈UML的概念和模型之UML九种图

    原文地址:浅谈UML的概念和模型之UML九种图 目录: UML的视图 UML的九种图 UML中类间的关系 上文我们介绍了,UML的视图,在每一种视图中都包含一个或多种图.本文我们重点讲解UML每种图的 ...

  3. UML九种图-包图、类图

    UML九种图-包图.类图 一.包 (一)相关概念: 1.包: 一个包=一层=一个命名空间=一个文件夹 2.包的命名: 简单名:王老二 路径名:中国.河北省.廊坊市.廊坊师范学院.信息技术提高班.九期班 ...

  4. [UML]转:浅谈UML的概念和模型之UML九种图

    转自:http://blog.csdn.net/jiuqiyuliang/article/details/8552956 目录: UML的视图 UML的九种图 UML中类间的关系 上文我们介绍了,UM ...

  5. [转]浅谈UML的概念和模型之UML九种图

    目录: UML的视图 UML的九种图 UML中类间的关系 上文我们介绍了,UML的视图,在每一种视图中都包含一个或多种图.本文我们重点讲解UML每种图的细节问题: 1.用例图(use case dia ...

  6. UML_2_浅谈UML的概念和模型之UML九种图

    转载:https://my.oschina.net/zhumenzhongren/blog/667353 上文我们介绍了,UML的视图,在每一种视图中都包含一个或多种图.本文我们重点讲解UML每种图的 ...

  7. UML九种图作用简介

    UML(统一建模语言):是面向对象的可视化建模语言. UML中有3种构造块:事物.关系和图,事物是对模型中最具有代表性的成分的抽象,关系是把事物结合在一起,图聚集了相关的事物 UML中有九种图如下: ...

  8. UML 小结(6)- UML九种图的比较与学习

    UML中的九种图: 用例图.类图.对象图.状态图.时序图.协作图.活动图.部署图.构件图. 1)用例图(Use Case Diagram) 它是UML中最简单也是最复杂的一种图.说它简单是因为它采用了 ...

  9. UML九种图 之 包图和对象图

    前言     对象图和包图依然是对系统的静态的描写叙述.UML九种图加上包图,事实上是十幅图. 包图     1.构成           2.包中的元素      类.接口.用例.构件.其他包等.( ...

随机推荐

  1. Python基础-处理json函数

    #json是一种通用的数据类型,所有的语言都认识#json是一个字符串,json串里面都得是双引号,主要是这四个函数 #dump#dumps#load#loads import jsonnames = ...

  2. 【二叉查找树】04根据升序数组构造二叉查找树【Convert Sorted Array to Binary Search Tree】

    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 给定一个升序的数组,把他转换成一个 ...

  3. Arc071_F Infinite Sequence

    传送门 题目大意 给定一个数$n$,构造一个无限长的序列$A$,使得 $\forall i,j\geq n,A_i=A_j$ $\forall i<j<k\leq i+a_i,A_j=A_ ...

  4. 洛谷【P2201】数列编辑器

    我对模拟的理解:http://www.cnblogs.com/AKMer/p/9064018.html 题目传送门:https://www.luogu.org/problemnew/show/P220 ...

  5. 如何得到DataTable的列名

    foreach (DataColumn dc in dtfood.Columns) { string lm = dc.ColumnName; }

  6. mysql--事务demo1----

    package com.etc.entity; import java.sql.Connection; import java.sql.PreparedStatement; import java.s ...

  7. TS学习之变量声明

    1.Var 声明变量 a)存在变量提升 (function(){ var a = "1"; var f = function(){}; var b = "2"; ...

  8. Python-Redis的发布与订阅

    封装的redis_config # -*- coding:utf-8 -*- __author__ = "MuT6 Sch01aR" import redis class Redi ...

  9. 2.Apache + Tomcat + mod_jk实现集群服务

    转自:http://www.cnblogs.com/dennisit/p/3370220.html Tomcat中的集群原理是通过组播的方式进行节点的查找并使用TCP连接进行会话的复制. 实现效果:用 ...

  10. Java探索之旅(2)——GUI输入输出与代码的规范性

    1.知识点概叙 ① 定名常量:关键字final,类似C++ const定义,一般用大写:final double PI=3.1415926 ② 5/2=2:5.0/2=2.5://通常意义的除法,至少 ...