上接:UML从需求到设计--用例

从开始接触UML到现在对UML逐渐有了更深入的了解.刚开始,对于UML总是感觉UML就是图.一提起UML 就想着这个是画图的东西.

具体这些图都是干什么的.为什么会有这些图.在一个项目中 ,到底那个图是首先出现的.这些图的出现顺序是什么.脑子里还是比较混乱.

下面我用自己的理解说明一下

UML由视图(views,)图(diagrams),模型元素(model elements),通用机制(general mechanism) 构成

一:视图:视图分为用例视图,设计视图,过程视图,实现视图,配置视图

二:图:图包括

用例图,

静态图(类图,对象图,包图),

行为图(状态图,活动图),

交互图(顺序图,协作图)

实现图(构件图,配置图)

三:模型

模型是UML中的”细胞”,是构成UML的元素一样.模型元素包括:类,对象,关系,消息等

四:通用机制:

UML的其他信息.比如注释,和一些扩展机制.比如基于UML的一些标记,约束.等

看到第一和第二个了吗?是不是有点蒙.他们说的不是一回事吗.不都是图吗?我们平时说的都是第二个.所以忽略了第一个.

其实视图是一个总体的概念.视图是由多个图构成的.就像是亚洲和国家的关系.亚洲包括很多国家.但是国家不一定全部属于亚洲.

把图分拆为视图一定程度上更好的反映了系统的形成过程.

这个过程如下:

1:用例视图:在系统的形成过程中,首先产生的就是用例图.这个是系统分析人员对客户需求的一个总结.产生在需求分析阶段.有了用例图,才会有下面的各种视图.

2:用例图完了.接下来要产生那个图呢?我自己的理解就是包图.有了用例以后,你就进入了概要设计阶段.这个阶段解决系统的基本架构.也就是系统的分层(这个在OOD中流行).每个层基本上就是你的包.每个层分在一个包中.

比如典型的MVC模式中.UI BLL DAL Entity是典型的包.这样接下来的工作就是对每个层进行分析了.

3:包图做完了以后,系统的整体架构就出来了。接下来出来的就是类图,也就是系统比较关键的部分。类图一般是由数据库对应的实体层映射来的。然后在每一层找到他的映射。最后再分别在每一层利用相关的模式去调整自己的类图。使系统的可维护性,可扩展性达到更好的要求。比如经典的工厂模式,外观模式等。

4:类图做完以后,这个时候产生什么图呢?最为合适的应该是系统的实现视图和配置试图。其实在包做做完以后。系统的构件图就应该出来了。每一个包应该就是一个层。再.net平台上。每一个包就是一个独立的dll文件,供其他程序调用,这个也就是我们构件图中的组件。再加上数据库和一些用户要求的设备,基本上构件图就出来了。

配置图只是比构件图多了系统的物理架构。其实物理结构在需求分析的阶段就已经确定了。

5:系统的基本结构和模块,类确定以后。接下来就是比较具体的每一个用例的实现过程。这个就是时序图。时序图在UML中也是比较重要的一个。时序图,用例图,类图被认为是UML的核心视图。时序图已经和代码比较接近了。时序图和协作图可以很容易的转换。只要轻轻的点一下就ok了(大家知道吗)。时序图做完以后,系统就基本出来了。

6:一些其他的视图如活动图,状态图。个人认为功能不大。如果是大型的系统。在画时序图前用他们分析一下系统的流程还是比较好的。但是它们给人的感觉就是面向过程的。

当然在画图的过程中总是要用到UML的其他元素。比如画图时我们要添加注释,时序图中传递的消息等。

最后提出一点。这里用的是我熟悉的rose 来说明UML 的。其他工具比如和它齐名的pd其本上也是这些功能。只是有所侧重罢了。Rose是面型对象,然后向数据库建模发展。Pd和它正好相反。

还有很多高级的功能期待我们去使用 ,发现。

下接:UML从需求到实现----包图

转自:http://blog.csdn.net/lsh6688/article/details/6239126

UML中的图的出现顺序的更多相关文章

  1. UML中的图

    用例图.类图.包图.顺序图.协作图.状态图.活动图.构件图.部署图等 1.用例图 显示多个外部参与者以及他们与系统提供的用例之间的连接.用例是系统中的一个可以描述参与者与系统之间交互作用功能单元.用例 ...

  2. uml中活动图与流程图的区别

    活动图定义: 活动图是UML用于对系统的动态行为建模的另一种常用工具,它描述活动的顺序,展现从一个活动到另一个活动的控制流.活动图在本质上是一种流程图. 它是UML中用于对系统动态活动建模的图形,反映 ...

  3. UML 中关系图的解说

    最近在教软件工程项目实践,就又仔细了解了下UML中各种关系的意义,虽然有点简单,但是有些概念还是经常被混淆的,写在这里是为了加深印象. 关系列表: 继承关系(Generalization): 实现关系 ...

  4. [UML]UML系列——时序图(顺序图)sequence diagram

    系列文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UML]UML系列——类图Class [UML]UML系列——类 ...

  5. 浅谈UML中常用的几种图——用例图

    1.UML简介 统一建模语言(Unified Modeling Language,UML)又称标准建模语言,是始于1997年的一个OMG标准,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的 ...

  6. 【UML】-NO.44.EBook.5.UML.1.004-【UML 大战需求分析】- 顺序图(Sequence Diagram)

    1.0.0 Summary Tittle:[UML]-NO.44.EBook.1.UML.1.004-[UML 大战需求分析]- 顺序图(Sequence Diagram) Style:DesignP ...

  7. 3.UML中的类图及类图之间的关系

    统一建模语言简介 统一建模语言(Unified Modeling Language,UML)是用来设计软件蓝图的可视化建模语言,1997 年被国际对象管理组织(OMG)采纳为面向对象的建模语言的国际标 ...

  8. GOF 的23种JAVA常用设计模式总结 02 UML中的类图与类图之间的关系

    统一建模语言UML 统一建模语言(Unified Modeling Language,UML)是用来设计软件蓝图的可视化建模语言,1997 年被国际对象管理组织(OMG)采纳为面向对象的建模语言的国际 ...

  9. UML中的类图及类图之间的关系

    统一建模语言简介 统一建模语言(Unified Modeling Language,UML)是用来设计软件蓝图的可视化建模语言,1997 年被国际对象管理组织(OMG)采纳为面向对象的建模语言的国际标 ...

随机推荐

  1. C文件操作(全)

    引用自:http://www.cnblogs.com/whiteyun/archive/2009/08/08/1541822.html 文件 文件的基本概念 所谓“文件”是指一组相关数据的有序集合. ...

  2. 取消chrome浏览器下input和textarea的默认样式

    最近一个细节引起了我的注意,chrome浏览器下的input和textarea在聚焦的时候都有一个黄色的边框,而且textarea还可以任意拖动放大,这是不能容忍的,影响美观不说,有时候拖动texta ...

  3. Android Studio 的安装和配置篇(Windows篇)

    上一篇介绍完了Android Studio,这一篇就专门来讲讲怎么安装配置的吧. 其实好多人都卡到安装配置这一步,想当初我也是,万恶的XX防火墙,导致下载Android Studio 的gradle异 ...

  4. 新浪微博客户端(1)-实现Tabbar导航栏效果

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launc ...

  5. Emmet插件使用方法总结

    Emmet插件使用方法总结 在前端开发的过程中,一大部分的工作是写 HTML.CSS 代码.特别是手动编写 HTML 代码的时候,效率会特别低下,因为需要敲打很多尖括号,而且很多标签都需要闭合标签等. ...

  6. MyISAM 与 InnoDB 的区别

    MyISAM 和 InnoDB 讲解 InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应用而定.基本的差别为:MyISAM类型不支持事务处理等高级处 ...

  7. HNU 12827 NASSA’s Robot

    题目链接:http://acm.hnu.cn/online/?action=problem&type=show&id=12827&courseid=268 #include&l ...

  8. iOS开发——底层OC篇&运行时常用

    运行时常用 什么是Runtime(前面的文章已经说的很清楚了,这里就简单的介绍一下) 我们写的代码在程序运行过程中都会被转化成runtime的C代码执行,例如[target doSomething]; ...

  9. TCP/IP协议原理【转载】

    前述        各种L2数据网具有不同的通信协议与帧结构,其网络节点设备可以是各种类型的数据交换机(X.25.FR.Ethernet和ATM等分组交换机):而L3数据网(IP网或internet) ...

  10. django-cms 代码研究(六)plugin的深入分析

    示例代码: https://github.com/divio/djangocms-picture 以上一个图片的插件,安装后可在页面中添加图片,效果如下图: 以此为切入点,分析plugin的逻辑: 分 ...