上接: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. 初学JDBC,最简单示例

    一.下载相应数据库驱动jar包,添加到项目中 二.注册驱动,数据库驱动只加入到classpath中是还不行的,还要在使用的时候注册一下,就像安装驱动软件,只拷贝到硬盘还不行,需要安装一下 Driver ...

  2. 极大似然估计、贝叶斯估计、EM算法

    参考文献:http://blog.csdn.net/zouxy09/article/details/8537620 极大似然估计 已知样本满足某种概率分布,但是其中具体的参数不清楚,极大似然估计估计就 ...

  3. Why The Golden Age Of Machine Learning is Just Beginning

    Why The Golden Age Of Machine Learning is Just Beginning Even though the buzz around neural networks ...

  4. wes开发笔记

    html中的button和submit有什么不同? submit是提交表单用,而button是执行javascript用,两者各有用处. 用到自己写按钮的时候,都是用button,submit很少写 ...

  5. lamp环境centos6.4

    http://www.centos.bz/2011/09/centos-compile-lamp-apache-mysql-php/comment-page-1/#comments 编译安装: 首先卸 ...

  6. 混合应用中的javascript实践

    混合应用中的javascript实践 混合应用(hybird app) 在几年前便进入大众视野,近来更是越发风生水起,深受人民群众的喜爱. 目录 概念 什么是混合应用 混合方式 交互 方法注入 参数传 ...

  7. javascript 对象(DOM)document window history

    Javascript对象 目录: window对象 document对象 history对象 navigator对象 window对象 所有浏览器都支持window对象,它表示浏览器窗口. 所有jav ...

  8. C# Window Service详解

    Windows Service这一块并不复杂,但是注意事项太多了,网上资料也很凌乱,偶尔自己写也会丢三落四的.所以本文也就产生了,本文不会写复杂的东西,完全以基础应用的需求来写,所以不会对Window ...

  9. Ubuntu下编译SuiteSparse-4.4.1和METIS-4.0.3

    网上关于编译的介绍非常多,其实ubuntu系统自带编译好的SuiteSparse,不想折腾的话,用新立得很容易就搞定 准备工作: 下载并编译OpenBLAS(会连带Lapack也下载和编译),图省事请 ...

  10. HDOJ 1848 Fibonacci again and again

    Fibonacci again and again Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Jav ...