自定义博客皮肤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 中高层领导训练 绩效考核

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

原创 神马是敏捷?(4)——敏捷不能当饭吃

敏捷不是灵丹妙药,不能当饭吃!我们将会谈谈敏捷对组织架构、团队文化的要求,特别是对薪金待遇的要求!本文大纲:1)部门设置惹得祸?2)强矩阵还是弱矩阵?3)敏捷对团队文化的要求;4)敏捷对薪金待遇的要求;5)敏捷的本质是什么?

2013-12-05 13:53:30 2945

原创 神马是敏捷?(3)——敏捷在中国的水土不服

实践过敏捷的朋友可能会有这样的感概:“敏捷太理想了!敏捷对人的要求太高了!”说得太对了!!我们不能照搬敏捷,要实践敏捷,首先需要直接面对和解决敏捷在中国的水土不服问题,你需要面对的是中国软件项目的“拍脑袋”、“两大限死,两不确定”,还有中国软件研发人员的“可爱”特点。

2013-12-03 13:49:40 3789 1

原创 神马是敏捷?(2)——敏捷流程框架及敏捷实践一览

我代表全国人民祝福你…… 代表什么!这星球上谁都代表不了谁!!敏捷流派这么多,我想通过一篇文章说清楚还真有难度,所以请允许我选一个代表吧,那就是近年来最火的SCRUM!对于敏捷的其他流派,我只能说:谁叫你不如人家火呢!本文将以SCRUM为代表,让你通过一篇短文大致了解敏捷流程框架、团队角色及各种敏捷最佳实践。

2013-12-01 15:41:18 3598

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

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

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

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

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

2013-11-27 11:59:30 2069

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

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

2013-11-27 11:52:47 2311

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

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

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

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

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

2013-11-24 22:17:55 2155

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

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

2013-11-22 12:11:15 2399

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

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

2013-11-21 17:05:38 2179

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

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

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

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

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

2013-11-17 21:45:05 2229

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

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

2013-11-15 19:09:43 3755

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

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

2013-11-15 18:55:18 2575

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

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

2013-11-14 12:31:23 2439

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

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

2013-11-11 14:36:10 4814

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

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

2013-11-11 14:27:47 2818

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

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

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

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

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

2013-11-10 18:42:07 2451

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

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

2013-11-09 16:32:43 2504

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

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

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

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

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

2013-11-08 11:00:46 2422

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

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

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

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

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

2013-11-07 12:33:37 2026

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2013-11-06 13:23:43 4233

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

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

2013-11-06 13:03:51 2427

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

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

2013-11-06 12:57:03 1925

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

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

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

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

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

2013-11-05 16:05:57 2648

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

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

2013-11-01 15:05:49 2240

原创 2.6 《硬啃设计模式》第8章 复制不是很难 - 原型模式(Prototype Pattern)

某即时战略游戏,你训练出来各种很强的战士。为了增加游戏的可玩性,增加了一种复制魔法。实施该魔法,可以复制任意的战士。你会怎样考虑这个设计?

2013-10-30 22:55:50 1812

原创 2.5 《硬啃设计模式》第7章 车手选车 - 生成器(Builder Pattern)

某赛车游戏,玩家可以选择不同的车,这些车其实是采用不同性能的配件组成的,如:车胎、发动机等。玩家选择一部车,其实就是new了一部车。你如何考虑“new car”的代码?要new这个车,可能需要先new出车的各个配件,然后将这些配件组合成car。某些复杂对象要new出来时,往往需要先new出它的子对象,然后组装成进父对象中,这些子对象有时候甚至组成了“树”结构。生成器模式就是用来解决这问题的。

2013-10-29 20:19:44 1856

原创 2.4 《硬啃设计模式》第6章 “妞”太多,如何管理?(3)- 抽象工厂(Abstract Factory Pattern)

有时候我们希望能得到一系列对象,不是一个对象,这时我们可考虑用抽象工厂,抽象工厂中有多个方法,分别得到不同的对象。

2013-10-28 19:54:26 1860

原创 4.2 CMMI4级——组织过程性能(Organizational Process Performance)

OPP是对组织级提出要求的,组织要根据公司的商业目标、企业的实际情况,选择要进行性能分析、量化管理的子过程,制定组织的质量和过程方面的量化的目标,建立基线和模型。这些量化的目标、基线、模型,要用于进行项目管理。具体内容见QPM。

2013-10-28 02:42:27 4262

原创 UML常用工具及如何快速上手

我使用过不少UML软件,我会简单介绍我的一些心得体会,希望这些体会能帮助你更快上手、更快找到适合你自己或贵公司的软件。但我不会具体介绍某一种或几种UML工具的细节,也不会说我用得最多的是哪个软件,免得有广告的嫌疑。

2013-10-25 22:25:59 2902

原创 2.3 《硬啃设计模式》 第5章 “妞”太多,如何管理?(2)- 工厂方法(Factory Method Pattern)

我在实际工作中还没有用过工厂方法,本文简单谈谈我的理解,供大家参考。这个图一下子不太好理解,我们先回顾一下简单工厂,简单工厂是通过一个方法来包装new对象的动作,如果我们将new对象的动作包装到一个类中,那么这个类就可以看成是一个工厂,该工厂专门用来产生某些对象的。有时候我们希望能生产苹果、西瓜、葡萄等不同品种的水果,这样一个工厂就不能满足要求,我们需要分别做出苹果工厂、西瓜工厂、葡萄工厂,需要苹果时就调用苹果工厂的CreateProduct()就搞定了。

2013-10-24 13:54:28 2193 1

空空如也

空空如也

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

TA关注的人

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