推荐一本书:《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:图书馆:模型: 二.研究背景 问题定义:建立图书馆管理系统 难点: ...
随机推荐
- Kings(状压DP)
Description 用字符矩阵来表示一个8x8的棋盘,'.'表示是空格,'P'表示人质,'K'表示骑士.每一步,骑士可以移动到他周围的8个方格中的任意一格.如果你移动到的格子中有人质(即'P'), ...
- Snowflake Snow Snowflakes【Poj3349】
Description You may have heard that no two snowflakes are alike. Your task is to write a program to ...
- 笔记-falsk-入门-1
笔记-falsk-入门-1 1. 前言 有几个概念需要解释下,WSGI,JINJA2,WERKZEUG Flask是典型的微框架,作为Web框架来说,它仅保留了核心功能:请求响应处理和模板渲 ...
- 笔记-python-lib-requests常用类/方法/属性
笔记-python-lib-requests常用类/方法/属性 1. requests模块常用类/方法/属性 在使用中发现对requests模块不够熟悉,写了几个案例后重新整理了一下文档,罗 ...
- 01,jupyter环境安装
jupyter notebook环境安装 一.什么是Jupyter Notebook? 1. 简介 Jupyter Notebook是基于网页的用于交互计算的应用程序.其可被应用于全过程计算:开发.文 ...
- laravel - ReflectionException in Container.php, Class not found?
SIGN UPSIGN IN CATALOG SERIES PODCAST DISCUSSIONS ReflectionException in Container.php, Class not fo ...
- UR官网特效
<!DOCTYPE html> <!--申明文档类型:html--> <html lang="en&q ...
- [转] PHP在不同页面之间传值的三种常见方式
转自: http://my.oschina.net/jiec/blog/196153 一. POST传值 post传值是用于html的<form>表单跳转的方法,很方便使用.例如: < ...
- Kinect关于PlayerIndex和SkeletonId之间的关系。
项目中要锁定玩家骨骼后抠图, 一时没有灵感.google 关键词: the ralationship about skeletonid and playerindex. 结论: Player Segm ...
- Git上手:使用Tortoisegit操作Git
在工作中,为了提高git使用效率,更多会采用git图形化工具来操作git.(特殊情况下才使用git命令行操作git) git自带的图形化工具界面不够友好,就选择第三方git图形化工具,市面上第三方gi ...