推荐一本书:《UML面向对象建模基础》
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面向对象建模基础》的更多相关文章
- uml面向对象建模基础总结
uml九种图,其中的细节不说了.在后面的具体使用中提到这九种图. 建模流程: 1.分析需求. 2.通过分析名词,发现类,使用到类图. 3.建立用例模型,通过参与者分析用例,使用到用例图. 4.为用例建 ...
- UML面向对象建模基础
一个比较好的UML教程PPT https://wenku.baidu.com/view/cf80902e26284b73f242336c1eb91a37f11132ac.html
- UML类建模(强烈推荐-思路很清晰)
UML类建模(强烈推荐-思路很清晰) 2016年10月23日 15:17:47 mbshqqb 阅读数:2315 标签: uml面向对象设计模式 更多 个人分类: 面向对象程序设计 UML的构造快 ...
- [.net 面向对象编程基础] (15) 抽象类
[.net 面向对象编程基础] (15) 抽象类 前面我们已经使用到了虚方法(使用 Virtual修饰符)和抽象类及抽象方法(使用abstract修饰符)我们在多态一节中说到要实现类成员的重写必须定义 ...
- [.net 面向对象编程基础] (16) 接口
[.net 面向对象编程基础] (16) 接口 关于“接口”一词,跟我们平常看到的电脑的硬件“接口”意义上是差不多的.拿一台电脑来说,我们从外面,可以看到他的USB接口,COM接口等,那么这些接口的目 ...
- [.net 面向对象编程基础] (18) 泛型
[.net 面向对象编程基础] (18) 泛型 上一节我们说到了两种数据类型数组和集合,数组是指包含同一类型的多个元素,集合是指.net中提供数据存储和检索的专用类. 数组使用前需要先指定大小,并且检 ...
- [.net 面向对象编程基础] (22) 事件
[.net 面向对象编程基础] (22) 事件 事件(Event)是学习.net面向对象编程很重要的一部分,在学习事件之前,我们实际上已经在很多地方使用了事件,比如控件的click事件等,这些都是. ...
- 面向对象+JAVA基础
泛泛的研究了面向对象的前五章,感觉没有代码的参照理解的知识看过就忘,所以又在推荐下开始了JAVA基础,希望不会鄙视我目前么有一本书能完整看完的记录... public class LeapYear { ...
- 利用UML语言建模--以图书馆管理系统为例
一.基本信息 标题:利用UML语言建模--以图书馆管理系统为例 时间:2016 出版源:内蒙古科技与经济 领域分类:UML:RFID:图书馆:模型: 二.研究背景 问题定义:建立图书馆管理系统 难点: ...
随机推荐
- urllib使用四--urlencode,urlparse,
urllib.urlencode 把字典数据转换为URL编码 # -*- coding: cp936 -*- import urllib params = {'score':100,'name':'爬 ...
- svn TortoiseSVN 回滚版本
原文链接: http://keenwon.com/1072.html SVN是一个版本管理工具,在工作中经常使用,尤其是多人合作开发的时候,版本管理显得更加重要.需要使用回退的场景往往都比较" ...
- 论如何入门地使用vscode
微软大法好啊 这货更像是个gedit 以下内容只适合Oiers使用 本文档只适合新手引导的阶段使用 下载 这个是链接 可见这东西是和Emacs一样跨系统的 不知道为什么下载速度贼快 配置 还记得我们用 ...
- Spring自动装配bean
Spring推荐面向接口编程,这样可以很好的解耦具体的实现类. CompactDisc.class 文件: public interface CompactDisc { void play(); } ...
- VSX-1 概述
博客搁置了一段时间,一直想写,无从下手,正好最近在做VS2010扩展方面的项目,所以写VSX系列文章以记之. 背景 现有工作是做金融行业,主要项目是一套银行综合前端系统,也就是银行平时用的最多的一个系 ...
- Android学习记录(10)—Android之图片颜色处理
你想做到跟美图秀秀一样可以处理自己的照片,美化自己的照片吗?其实你也可以自己做一个这样的软件,废话不多说了,直接上图,上代码了! 效果图如下: 没处理前: 处理之后: MainActivity.jav ...
- Mybatis + Oracle 批量insert的问题
这个问题真的太坑了 之前用ibatis+sql server 的foreach 很容易就写出来批量insert数据,但是测试后报错:SQL结束格式错误 现在换到银行工作,数据库也换成Oracle了 特 ...
- ssh.sh_for_centos
#!/bin/bash sed -i 's/#PermitRootLogin yes/PermitRootLogin yes/g' /etc/ssh/sshd_config sed -i 's/#Us ...
- Python读写tap设备
#!/usr/bin/python import os import struct import fcntl import binascii TUNSETIFF = 0x400454ca IFF_TA ...
- Github - Unity3d-Timers
https://github.com/pointcache/Unity3d-Timers Unity3d-Timers Timer class with various behaviors About ...