自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

张传波(网名:Fireball,大大大火球)

敏捷 UML 需求分析 团队建设 研发管理 CMMI 中高层领导训练 绩效考核

  • 博客(31)
  • 资源 (2)
  • 收藏
  • 关注

原创 神马是敏捷?(1)——敏捷的“官方”定义

某年会上我作为“砖家”和其他专家一起被摆上台,有人问了一个问题:什么是敏捷?这个问题很难回答,当时我用四个字回答:简单有效。人家一听,这不是大忽悠嘛!本系列文章将会分几篇文章为你分享什么是敏捷,敏捷的“官方”定义,敏捷流程框架及最佳实践,敏捷在中国面临的挑战,实践敏捷所需要的土壤,最后给出我对敏捷的理解。本文是第一篇,我们将从“打针”说起!有没有搞错,“打针”居然和敏捷有关系?是滴,快看看吧!

2013-11-30 23:32:26 4037 1

原创 4.12 《硬啃设计模式》 第29章 行为型设计模式小结

序号 模式 一句话说明 1 观察者(Observer) 一呼百应。 2 策略(Strategy) 分离算法。 3 迭代器(Iterator) 以一致的方式访问集合,“松绑”遍历算法代码。 4 命令(Command) 分离功能调用者与功能实现者。 5 访问者(Visitor) 不改变对象结构增加新方法。 6 解释器(Interpreter

2013-11-27 11:59:30 2045

原创 4.11 《硬啃设计模式》 第28章 邮件自动处理系统?- 责任链模式(Chain of Responsibility Pattern)

公司的对外邮箱,每天都收到大量的邮件,于是一个伟大的任务就落到你头上了。你需要清理掉垃圾邮件,应聘的邮件发给招聘部门,客户邮件发给服务部门…… 这些邮件分发规则很可能会增加。你打算写一个大 switch 包含多个 case 来应对,还是打算应用责任链模式呢?

2013-11-27 11:52:47 2275

原创 4.10 《硬啃设计模式》 第27章 是攻击还是逃走?- 状态模式(State Pattern)

游戏有以下规则:1.玩家距离敌人比较远时,敌人会看不见玩家,按既定路线巡逻。2.玩家距离敌人比较近时,敌人会发现玩家并进行攻击。3.当敌人被杀得差不多,只剩下一两个时,敌人会逃走。4.敌人可能会隐藏起来伏击玩家。5.……(省略号的意思是表示规则还会修改和增加) 你会怎样设计呢?本文为你分享状态模式,状态模式其实与游戏中经常用到的有限状态机AI算法,其实是一个原理。

2013-11-26 14:08:27 2304 1

原创 4.9 《硬啃设计模式》 第26章 万能排序 - 模板方法模式(Template Method Pattern)

排序算法很多人都会,但如果将排序的问题扩大,例如:我们要对字符、日期、任意类型的对象进行排序,那是不是每种情况都要重新写一次代码呢?其实排序的框架算法是不变的,没有必要针对不同情况重新写一次,这时候“模板方法”可以帮助我们。

2013-11-24 22:17:55 2142

原创 4.8 《硬啃设计模式》 第25章 假如一切可以重来 - 备忘录模式(Memento Pattern)

当需要保存对象多个状态,并且可以恢复到任意状态,可考虑备忘录模式。将对象、对象状态和状态的保存办法分离,设计上会更加灵活。

2013-11-22 12:11:15 2365

原创 我参加了51CTO博客大赛,求投票!

我是张传波,也是Fireball(火球)。我参加了51CTO博客大赛,距离网络投票截止没有几天了,求投票!我的参赛链接:http://blog.51cto.com/contest2013/8231356需要登录51CTO才能投票,如果还不是注册用户,麻烦注册后投票啦 谢谢你的支持!希望能通过这个博客评选,让更多朋友了解到我,灰常感谢!!

2013-11-21 17:05:38 2159

原创 6.2 评估方法——为什么评估基本上都是能通过的?

好像很少听说某公司评估CMMI不通过的情况,似乎通过率很高,甚至100%,这其中有什么玄机吗?

2013-11-17 21:58:32 2380 1

原创 4.7 《硬啃设计模式》 第24章 麻烦的多角关系 - 中介者模式(Mediator Pattern)简介

在Windows程序中,有时候界面控件之间的交互会很麻烦,如:A控件显示什么的时候,B控件要显示什么,另外C控件要不可用,同样其它控件也会有类似的复杂要求。控件与控件之间很容易形成复杂的多角关系了。现在让你来梳理这些多角关系,你会咋办?蜘蛛网般的多角关系是很麻烦,所有麻烦最好通过一个中间人来解决,这就是中介者模式的核心思想。

2013-11-17 21:45:05 2207

原创 6.1 评估方法——SCAMPI A 评估办法

评估简单的说就是用一定的办法判断是否达到了CMMI的要求。那怎样才能判断呢?这就是“SCAMPI A”评估办法,晕不?我们将通过一个吃饭的简单例子来理解这个评估方法。

2013-11-15 19:09:43 3687

原创 4.6 《硬啃设计模式》 第23章 超级表达式解释引擎 - 解释器模式(Interpreter Pattern)

我们要做一个表达式解释引擎,能解释带有变量的任意表达式。例如:表达式为“123+a * (b-456)/c-789”,其中a、b、c为变量,只需要给定a、b、c的值,就可以计算出结果。该表达式引擎支持四则运算、括号和任意数量的变量,并且我们希望能逐步扩展该引擎,使之可以用上各种函数,如:三角函数、Sqrt等。你怎样考虑这个设计?

2013-11-15 18:55:18 2561

原创 4.5 《硬啃设计模式》 第22章 增加新方法的烦恼 - 访问者模式(Visitor Pattern)

这个类是原来老系统的,我们想扩展它的功能,但又不太希望改变它的“接口”,或者说尽量少改变它的“接口”。你看有什么办法,能在外面增加这个类的功能?这样的要求也太强人所难了吧?不能动它,又要增加方法?完全不改原来的类是不可能增加新方法的,我们要想办法开一个“小口”,通过这个“小口”来实现灵活增加它的功能。访问者模式就是通过这个“小口”来访问原类,从而增强原类的功能。

2013-11-14 12:31:23 2425

原创 5.3 CMMI5级——原因分析及解决方案(Causal Analysis and Resolution)

聪明的人在出现问题的时候,除了解决问题外,都会想到如何避免问题以后再次发生,避免的办法可能是从过程或者技术两个方面入手,从根本杜绝问题的发生。问题分析是很常见的,为什么在5级的时候才有这样的要求呢?难道2、3级的企业,甚至是没有级别的企业,就不会做问题分析并防止问题再次发生吗?其实5级的这个CAR没有这么简单……

2013-11-11 14:36:10 4748

原创 4.4 《硬啃设计模式》 第21章 神奇的Undo与Redo - 命令模式(Command Pattern)

Undo和Redo是很酷、很神奇、很有用的功能!如果要求你在你的软件中实现Undo和Redo,你会怎样考虑呢?

2013-11-11 14:27:47 2791

原创 5.2 CMMI5级——组织革新与部署(Organizational Innovation and Deployment)

组织革新与部署(Organizational Innovation and Deployment),在CMMI1.3中,OID已经改名为OPM(Organiational Performance Management,组织性能管理)

2013-11-10 18:51:14 3330 2

原创 4.3 《硬啃设计模式》 第20章 集合访问的烦恼 - 迭代器模式(Iterator Pattern)

程序中可能会用很多方式管理集合,如数组、collection、list、hashtable等,这些集合之间进行数据交换就麻烦了,因为大家保存方式不一样。如果规定大家都要使用hashtable,这样本来没有使用hashtable的程序将要大改!你有什么好办法来解决这个问题?设计分析:集合保存的方式确实有很多,如果我们能做到不管内部怎样的保存方式,只要对外能提供一致的集合访问接口,问题就可以解决了。那应该如何定义这个对外的集合访问接口呢?

2013-11-10 18:42:07 2436

原创 4.2 《硬啃设计模式》 第19章 设计你的战士 - 策略模式(Strategy Pattern)

策略模式不将算法“绑死”在Class中,而将算法独立出来,可根据需要替换算法,此模式让算法的变化独立于使用算法的Class。本文将会通过游戏中的NPC设计实例来体会策略模式。

2013-11-09 16:32:43 2490

原创 5.1 CMMI5级——5级简述及4、5级区别

5级的企业,是如何做到“持续改进”呢?其实一个软件企业,要提高生产力,有3方面途径:1)改进过程,使现有的过程更强更有效。2)引入新技术,提高生产力。3)对工作出出现的问题进行原因分析,避免以后再次出现。

2013-11-08 11:12:28 5072 1

原创 4.1 《硬啃设计模式》 第18章 同步更新的问题 - 观察者模式(Observer Pattern)

某程序以多种不同的形式展示相同的数据,展示的方式可能是表格、柱状图、饼图等。当数据发生变化时,所有的展示方式都需要同步更新。你会怎样设计,来灵活应对展示方式的不确定性呢?

2013-11-08 11:00:46 2395

原创 4.5 CMMI4级——4级执行过程中的五个疑问及解答

这五个问题相当经典而且比较深,需要做过CMMI4、5级的朋友才能看懂这些问题。希望本文对正在实践CMMI4、5级的朋友有帮助,也欢迎你来围观一下,不过本文对于无基础的朋友来说有点难喔。

2013-11-07 12:53:42 3663 1

原创 3.8 《硬啃设计模式》 第17章 结构型设计模式小结

序号 模式 一句话说明 1 桥(Bridge) 将“抽象”和“实现”自由搭配。 2 轻量(Flyweight) 轻松地处理“大量”对象。 3 外观(Façade) 同时提供简单接口和复杂接口。 4 装饰者(Decorator) 不改变接口但要增强功能。 5 组合(Composite) 不管你是老子还是儿子,都一样处理。 6 代理(Pro

2013-11-07 12:33:37 2006

原创 3.7 《硬啃设计模式》 第16章 老掉牙系统的重生 - 适配器模式(Adapter Pattern)

有一个老到掉牙的系统,需要与一个新系统对接,新老系统的接口要求是不一样的。你不想直接改动这个老系统,你有什么解决妙方?改动老系统的风险是比较大的,最好在不改变老系统的情况下增加一些东西,使老系统满足新系统的接口要求,这就是适配器模式的基本思路。

2013-11-07 12:28:10 2613 1

原创 3.6 《硬啃设计模式》 第15章 超级文档编辑器 - 代理模式(Proxy Pattern)

你要做一个能和Word比美的文档编辑器,其中一个重大功能是:文档中能插入很多图片。但如果文档的图片太多,文档加载的速度将会变得很慢,于是你想到的方法是不必所有图片都直接显示出来,可以先显示一个带叉叉的虚拟图片,当用户停留在当前图片时,才加载真正的图片。不过除了图片,如视频、flash等其它可能需要耗大量资源的东西可能也需要这样处理。你打算如何设计呢?

2013-11-07 12:21:35 2970 2

原创 3.5 《硬啃设计模式》 第14章 超酷绘图软件 - 组合模式(Composite Pattern)

某绘图软件,能绘制点、线、面等简单几何形体,同时也能将这些简单形体组合成更复杂的图形。该设计看上去不错,容器可以不管被“包容”的具体是什么东西。但组后以后可不可以再组合呢?Office软件可以做到将任意图形组合,并且组合后可以再组合,以上这个设计恐怕做不到吧?我们如何用组合模式来改善一下这个设计呢?

2013-11-06 13:43:38 4695 1

原创 3.4 《硬啃设计模式》 第13章 星巴克的饮料计价系统 - 装饰者模式(Decorator Pattern)

星巴克有一个非常酷的饮料价格计算系统,这个软件的设计可谓相当地酷!Coffee(咖啡)、Mocha(摩卡)、Latte(拿铁)这三种饮品都实现了IDrink接口,要计算它们的价钱真是相当的容易,而且不管以后增加怎样的饮品,只要实现了IDrink接口,很容易计算价钱。不过星巴克的饮料出名,有一个很重要的做法就是每种饮料都可以加配料,如:牛奶、豆浆、雪糕等,而且配料可以加多种和多份,加了配料的饮料价格是:饮料+所有配料的价钱。Well,怎样修改这个设计?配料要怎样考虑进去呢?(本案例纯属虚构)

2013-11-06 13:36:45 8918 1

原创 4.4 CMMI4级——几个直接与项目管理相关的PA(PP、PMC、IPM、RSKM、QPM、CAR)

2级到5级,直接跟项目管理有关的PA有好几个,它们是怎样的关系呢?

2013-11-06 13:23:43 4095

原创 3.3 《硬啃设计模式》第12章 超级手机 - 外观模式(Facade Pattern)

你需要设计一台超级手机的操作系统,用户可以对各个方面进行详细的定制,如:铃声、桌面、图标、颜色、播放器喜好、浏览器设置等等。太详细的设置对于一般用户来说太复杂了,但高级用户又很喜欢这些超详细的设置。你有什么好的设计方案?

2013-11-06 13:03:51 2405

原创 2.7 《硬啃设计模式》 第9章 创建型设计模式小结

序号模式一句话说明1简单工厂避免重复的new代码。2单件(Singleton)全局只有一个。3工厂方法(Factory Method)生产系列产品。4抽象工厂(Abstract Factory)  

2013-11-06 12:57:03 1915

原创 4.3 CMMI4级——定量项目管理(Quatitative Project Management)

定量项目管理与一般的量化管理很不同,不是在项目管理过程中用到数据,就算是定量项目管理。定量项目管理要求过程是稳定的,过程要稳定,需要满足很多条件,企业的过程要做到稳定,要付出很多努力。

2013-11-05 16:20:46 3891 1

原创 3.2 《硬啃设计模式》第11章 森林里的树太多了!- 轻量模式(FlyWeight Pattern)

有一个森林模拟软件,能随机生成几十种不同数量的树木,并在屏幕中绘制出来。可是问题来了,当数目数量很大的时候,这些树消耗掉大量的内存,程序就越跑越慢了!我们希望每一个树还是一个对象,但又不希望内存消耗过大,你有什么解决办法呢?

2013-11-05 16:05:57 2632

原创 3.1 《硬啃设计模式》第10章 麻烦的日志记录 - 桥模式(Bridge Pattern)

某日志组件既支持输出到文本文件,也支持输出到数据库文件,但同时又要求支持不同的加密方式。加密和输出方式两者应该不太相干,用怎样的加密方法不应该影响到用什么输出方式,同样用怎样的输出方式也不应该影响到用什么办法加密。我们现在要解决的问题是如何让加密、输出方式这两组功能能组合在一起,又不会互相耦合。如果发现需要将两组功能组合来用时,可以考虑用“桥”将这两组功能组合起来。

2013-11-01 15:05:49 2218

体验极限编程

这是在SCRUM之前流行的敏捷方法,这是一种轻量、快速、强调适应变化、适合中小型项目的项目管理方法。

2014-05-29

张传波:神马是敏捷?

讲解敏捷的本质,敏捷的4大宣言和12个准则等等。

2014-05-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除