zoukankan      html  css  js  c++  java
  • UML中的图的出现顺序

    上接: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

  • 相关阅读:
    vscode入门使用教程(页面调试)
    .net core3.1开始页面实时编译
    Ubuntu 编辑文件、安装、删除软件等常用命令(持续更新)
    .NetCore3.1中的WebApi如何配置跨域
    PC电脑端如何多开Skype,一步搞定!
    简单几步为博客园添加动态动漫妹子
    如何在SqlServer中使用层级节点类型hierarchyid
    Entity framework Core 数据库迁移
    牛客网剑指offer【Python实现】——part1
    Linux实战——Shell编程练习(更新12题)
  • 原文地址:https://www.cnblogs.com/liushui-sky/p/6126039.html
Copyright © 2011-2022 走看看