http://www.cnblogs.com/onlytiancai/archive/2006/10/13/528205.html

以前对UML呀,感觉用不上,不知道都干啥的,也就是知道有个用例图、类图、顺序图,而且画的东西也顶多是表达一下需求,表达一下设计,让大家达成共识。最近做项目才知道UML其实挺有用的,从需求到分析,从分析到设计,从设计到编码,UML都有用武之地,而且我感觉正确运用UML可以提高项目的成功率。
  后来从《程序员》杂志上看了徐锋的《实战OO》系列文章,这才对面相对象和OO有了更深入的了解,讲解的循序渐进,按部就班,看了就懂,就能用的上。后来作者又基于这系列文章写了一本书,就是我给大家推荐的这本书《UML面相对象建模基础》,我借来看了好几天了,把UML概述、类图、对象图、包图、用例图、构建图都了,讲的确实不错,挺适合UML初学者,或者做了好几年程序却感觉对OO了解不深入,不能灵活运用的人。整本书架构安排合理,先介绍了UML的概述(都是有用的,空洞理论解释概念很少),然后逐步介绍了UML的几大图(UML2.0的,比UML1.0多了几种图,都介绍了),然后几节还讲解了需求建模、设计建模和数据库建模,最后还讲解了一下ROSE的用法已经模型管理。
  每节的开头,还用图形的方式把本章的知识点画了出来,很形象,容易记忆。具体展开叙述的时候也配有好多符合实际的例子,让你想画什么图的时候一想那例子就知道怎么画了。书里还给大家介绍了一些使用UML的原则,都是作者经验的积累,这图不是画的多画的细就是好。画什么样的图,读什么样的图都是有技巧的,作者都给了个指南,按部就班,照着做,少走弯路。每节后面还有练习题,你看完一章,试着做做练习题,巩固一下,帮助记忆。确实安排的特别合理。
  UML确实是基础的东西,早学早受益。你要学设计模式,学架构设计,学重构,连UML图都看不懂,画不了,是很难学的。得先有OO的思想,才能有OO的设计,有了OO的设计,才有写出OO的程序,当然了也不是这程序越OO了越好。总之,我感觉这本书对我帮助挺大,好东西推荐给大家,希望大家看了这本书后能真正的把UML用起来,用好,提高自己的编码质量,提高项目的成功率,我想这也是作者的目的吧。
   书不厚,200多页,价钱也不贵,20多块。关键是对咱有帮助,不能天天傻写代码了,该停下来打打基础了。

推荐一本书:《UML面向对象建模基础》的更多相关文章

  1. uml面向对象建模基础总结

    uml九种图,其中的细节不说了.在后面的具体使用中提到这九种图. 建模流程: 1.分析需求. 2.通过分析名词,发现类,使用到类图. 3.建立用例模型,通过参与者分析用例,使用到用例图. 4.为用例建 ...

  2. UML面向对象建模基础

    一个比较好的UML教程PPT https://wenku.baidu.com/view/cf80902e26284b73f242336c1eb91a37f11132ac.html

  3. UML类建模(强烈推荐-思路很清晰)

    UML类建模(强烈推荐-思路很清晰) 2016年10月23日 15:17:47 mbshqqb 阅读数:2315 标签: uml面向对象设计模式 更多 个人分类: 面向对象程序设计   UML的构造快 ...

  4. [.net 面向对象编程基础] (15) 抽象类

    [.net 面向对象编程基础] (15) 抽象类 前面我们已经使用到了虚方法(使用 Virtual修饰符)和抽象类及抽象方法(使用abstract修饰符)我们在多态一节中说到要实现类成员的重写必须定义 ...

  5. [.net 面向对象编程基础] (16) 接口

    [.net 面向对象编程基础] (16) 接口 关于“接口”一词,跟我们平常看到的电脑的硬件“接口”意义上是差不多的.拿一台电脑来说,我们从外面,可以看到他的USB接口,COM接口等,那么这些接口的目 ...

  6. [.net 面向对象编程基础] (18) 泛型

    [.net 面向对象编程基础] (18) 泛型 上一节我们说到了两种数据类型数组和集合,数组是指包含同一类型的多个元素,集合是指.net中提供数据存储和检索的专用类. 数组使用前需要先指定大小,并且检 ...

  7. [.net 面向对象编程基础] (22) 事件

    [.net 面向对象编程基础] (22)  事件 事件(Event)是学习.net面向对象编程很重要的一部分,在学习事件之前,我们实际上已经在很多地方使用了事件,比如控件的click事件等,这些都是. ...

  8. 面向对象+JAVA基础

    泛泛的研究了面向对象的前五章,感觉没有代码的参照理解的知识看过就忘,所以又在推荐下开始了JAVA基础,希望不会鄙视我目前么有一本书能完整看完的记录... public class LeapYear { ...

  9. 利用UML语言建模--以图书馆管理系统为例

    一.基本信息 标题:利用UML语言建模--以图书馆管理系统为例 时间:2016 出版源:内蒙古科技与经济 领域分类:UML:RFID:图书馆:模型: 二.研究背景 问题定义:建立图书馆管理系统 难点: ...

随机推荐

  1. C语言进阶——enum, sizeof, typedef 分析11

    枚举类型的使用方法: enum是C语言的 一种自定义类型 enum值是可以根据需要自定义的整型值 第一个enum的值默认为0 默认情况下的enum值是在前一个定义值的基础上加 1 enum类型的变量只 ...

  2. 探究SynchronizationContext在.Net异步编程中的地位

    原文:探究SynchronizationContext在.Net异步编程中的地位 引言: 多线程编程/异步编程非常复杂,有很多概念和工具需要去学习,贴心的.NET提供Task线程包装类和await/a ...

  3. 110Balanced Binary Tree

    问题:判断二叉树是否为平衡二叉树分析:树上的任意结点的左右子树高度差不超过1,则为平衡二叉树.         搜索递归,记录i结点的左子树高度h1和右子树高度h2,则i结点的高度为max(h1,h2 ...

  4. java.math.BigDecimal cannot be cast to java.lang.String解决方法

    从mysql数据库里取decimal(18,2)封装到Map<String,String>中 BigDecimal b = new BigDecimal(resultMap.get(&qu ...

  5. 做出一个SwitchButton的效果,并详细学习一下onDraw(Canvas canvas)方法的使用

    代码的灵感和原理主要来自于android自定义开关控件-SlideSwitch http://blog.csdn.net/singwhatiwanna/article/details/9254309这 ...

  6. oracle集群部署相关文章

    1. Oracle数据库HA架构方案介绍:http://blog.sina.com.cn/s/blog_7273b6cc0100p0sr.html 2.Oracle 集群概念和原理

  7. python学习笔记十六:读取JSON文件

    读取JSON文件可以用JSON库,示例代码: #coding:utf-8 import json with open("msg.json") as jsonfile: json_d ...

  8. 常用模块(shutil copy、压缩、解压)

    作用与功能 主要用于文件的copy,压缩,解压 导入shuitl模块: import shutil copy方法 1 1.shutil.copyfileobj()  打开file1,并copy写入fi ...

  9. sklearn中predict()与predict_proba()用法区别

    predict是训练后返回预测结果,是标签值. predict_proba返回的是一个 n 行 k 列的数组, 第 i 行 第 j 列上的数值是模型预测 第 i 个预测样本为某个标签的概率,并且每一行 ...

  10. 第二节 PHPUnit测试的剖析

    现在,让我们仔细看看测试结构的样子. 让我们从一个简单的测试用例开始,它将显示基本的PHPUnit测试结构. 以下代码片段是测试用于排序数组的两个PHP函数的一个非常基本的示例:asort()用于对数 ...