UML -- 统一的图形语言

用例图:需求捕获,测试依据
类图:静态系统结构
对象图:对象之间的关联
构件图:构件之间的关联
部署图:构建的物理部署

以上几种图的作用:描述系统结构

顺序图:捕获时间顺序
协作图:强调对象协作
状态图:生命周期状态转换
活动图:工作流程模型

作用:描述系统行为

UML 运用于开发过程——总结

1、完成Use Case Diagram & Document

  画用例图和完成用例文档,文档是最主要的。

  画用例图的工具有很多,Ratinal Rose、PowerDesign、viso等工具都是可以的。

2、对于比较复杂的Use Case 用 Activity 图辅助说明(有人推荐在这里使用sequence),

  有些用例可能会包含多个分支业务和协作等复杂业务,需要用到活动图分解说明;当然,用顺序图(Sequence)也行,怎么好理解怎么来。

3、根据Use Case & Document和Activity Diagram,分析业务领域的概念,抽象出概念模型。

4、分析概念模型,抽象出类。

5、分析类的职责和关系,做出类图。

6、根据类图和Use case & Document 来制作Sequence、Collabration(协作图,和Sequence是可以相互转换的)、State Chart(状态图)等各种图示。

7、重复迭代5-6,直至“完美”。

  根据图示完善类图、根据类图完善图示,比说可以优化类之间的设计,加入在OO基础上加入设计模式的思路进行优化设计,这个根据设计者的水平和经验,设计出的方案也是不一样的。记住:没有任何模式是完美无缺的,够用就行了。项目是有时间限制的。

8、Coding。

9、测试并修改,有必要的话从前面的步骤开始改起,或从1、或从5。

10、部署并和用户一起进行测试(验收测试)。

11、从实施和测试的反馈驱动下一次的1—>11。

图是死的,人是活的,UML各种图的用法并没有一定之规,只有所谓的 Best Practice(最佳实践)。怎么用都可以,怎么舒服怎么用。

Rose 下载地址和安装路径参详网友链接:http://blog.csdn.net/zml_2015/article/details/50807150

UML 运用于开发过程——总结的更多相关文章

  1. UML精粹2 - 开发过程

    迭代和瀑布过程 两者的本质区别是,你如何将一个项目分解为更小块. 瀑布风格基于活动来分解项目.为了构建软件,你不得不做某些活动:需求分析.设计.编码和测试.为期一年的项目可能有2个月的分析阶段,然后是 ...

  2. UML简介

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

  3. UML(统一建模语言)

    最近看了一个UML图,所以特意来了解一下UML 统一建模语言 锁定 同义词 UML(统一建模语言)一般指统一建模语言 本词条由“科普中国”百科科学词条编写与应用工作项目 审核 . Unified Mo ...

  4. UML状态图和活动图

    UML状态图和活动图 统一建模语言UML(Unified Modeling Language)是非专利的第三代建模和规约语言.UML是一种开放的方法,用于说明.可视化.构建和编写一个正在开发的.面向对 ...

  5. UML的9种图例解析

    摘自: http://blog.csdn.net/fatherican/article/details/44966891 UML图中类之间的关系:依赖,泛化,关联,聚合,组合,实现 类与类图 1) 类 ...

  6. uml 在需求分析阶段的应用

    上一篇博客写了uml在软件开发过程中的应用,这以篇要详细介绍一下UML在需求分析过程中的应用. 以机房收费系统为例进行讲解,先介绍一个该系统. 首先该系统的用户分为三个等级,一般用户,操作员,管理员, ...

  7. uml学习书籍

     uml真正实用的书5这是足够.学习如以下的处理: <UML distilled><--><UML和模式应用>-><UML用户指南> 附加两本&l ...

  8. 【转】UML的9种图例解析

    UML图中类之间的关系:依赖,泛化,关联,聚合,组合,实现 类与类图 1) 类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性.操作.关系的对象集合的总称. 2) 在系统中, ...

  9. UML用法及状态图,活动图介绍

    统一建模语言UML(Unified Modeling Language)是非专利的第三代建模和规约语言.UML是一种开放的方法,用于说明.可视化.构建和编写一个正在开发的.面向对象的.软件密集系统的制 ...

随机推荐

  1. github的本地配置和项目创建

    之前完成了github的安装和账号的注册,接下来要进行项目的创建和本地代码仓库的建立 1.创建项目 2.填写项目相关信息 注意:在给项目起名时,尽量起一些有意义的名字,否则会被管理员删除.因为服务器上 ...

  2. Qt: QTimer和QThread

    让QTimer 跑在其他线程. 一般写法如下. 1. 在main thread中为worker thread指定定时器. QThread* thread = new QThread(this); th ...

  3. gitHub-高仿58同城加载动画

    导入方式: /build.gradle repositories { maven { url "https://jitpack.io" } } /app/build.gradle ...

  4. ES6-let、const和块级作用域

    1.介绍 总的来说,ES6是在ES2015的基础上改变了一些书写方式,开放了更多API,这样做的目的最终还是为了贴合实际开发的需要.如果说一门编程语言的诞生是天才的构思和实现,那它的发展无疑就是不断填 ...

  5. 关系型数据库MySQL主从同步-读写分离

    1.环境准备 我的数据库版本是MySQL 5.6 MySQL主机至少两个实例,可以是多实例,可以是多台主机 关闭selinux,关闭防火墙等基础优化 2.安装 yum -y install make ...

  6. Class.forName(),Class.forName().newInstance() ,New ,类名.class,,class.forName(),,getClass()

       在Java开发特别是数据库开发中,经常会用到Class.forName( )这个方法.通过查询Java Documentation我们会发现使用Class.forName( )静态方法的目的是为 ...

  7. H5开发中遇到的问题及解决办法

    记不得什么时候进行H5开发的学习了,只知道是从2016年8月1日开始修复Bug,计划每天把学到的东西以及遇到问题时候的解决方案都记录下来,希望自己能够坚持下去,每天积累一点,希望有所进步吧. 1.Th ...

  8. Runtime初识

    什么是Runtime   我们写的代码在程序运行过程中都会被转化成runtime的C代码执行,例如[target doSomething];会被转化成objc_msgSend(target, @sel ...

  9. Spring界的HelloWorld

    1.Spring依赖的jar包下载网址: https://repo.spring.io/webapp/#/artifacts/browse/tree/General/libs-release-loca ...

  10. GitHub fork的使用

    我的GitHub账号是lanshanxiao,fork的账号是king1ko1king,再此说明! fork的项目是:Class-for-Everyone-Java-Server- 作者源项目地址是: ...