软件开发方法杂想

1、基于“特性”设计的思路不可以完全抛弃,它不利于我们理解系统;

2、组件化需要实现技术上的突破,否则流程的改进没有方向和支撑,只有更多的困扰。而“过滤树”是破解组件化中大量if else的一种可能技术,当然出来性能问题需要实践才能解决。

事有凑巧,就在我还想着“过滤树”究竟如何应用的时候,看到了一本书,里面介绍了“组合过滤器”,深感兴趣,便买回研究了一把,才发现自己所困惑和所想的正是AOP思

[……]  阅读全文>>>

生若繁星

昨日三更半夜,徒弟突然发来短信:“师父,问你个问题啊,你对人生有什么看法啊~”

乍一见这个短信,,顿时头大如斗,一来这几乎是每个人 一生中都曾多次想过的问题,装作没想过恐怕说不过去,只是每次得来的恐怕都是不同的答案,而我也是不知多久没有想过这个问题了,上一次的答案更不知该到哪 儿去找;二来自己一向属于懒散之人,要把这么复杂的问题用短信写出来,只怕自己要抓狂;三来自己知道自己实在不是什么哲学

[……]  阅读全文>>>

如何学习软件工程

因见CSDN社区有询问如何学习软工的问题,遂粗略总结了一下自己的看法,以供参考。

个人浅见:软件工程涉及的内容非常多,而且学习时理论抽象的东西居多,没有具体的实践经验在将来处理具体问题时会有难度,也许这也是为什么很多人觉得很空洞的原因,不过事实显然并非如此。如果是在学校学习,个人建议:耐心先学习课本理论、多看杂志开阔视野、最重要的程序设计和系统设计的计算机基础千万不可抛到一边,否则将来实践时,很

[……]  阅读全文>>>

阅读体会:《你的灯亮着吗?——发现问题的真正所在》

温伯格的小册子,回归问题的“核心”。

第一个问题:问题是什么?

问题解决者的三步:

  • 问题是什么?
  • 谁有问题?
  • 解决者的心态“齿轮从单数变为复数”,把自己从一个问题的解决者转变为一个问题们的解决者(多问题的解决者)。对回答这一问题的每个不同的人群,问:“你的问题本质是什么?”随想:遇到问题不要急着立即去寻找解决办法,而是要弄清楚“问题是什么?”。如何弄清楚

[……]  阅读全文>>>

“过程决定质量”论之证明

重读《软件构架实践》第一章,里面举了这样一个例子:

试想一下,如果把对某个系统的需求分析文档分别交给两个在不同组织工作的设计师,结果会如何?这两个设计师是给出一个构架,还是给出两个不同的构架呢?

答案是:一般情况下,会给出两个不同的构架。这一结果立刻就可以证明系统需求决定构架的观点是错误的。

这个问题可以这样表述:

问题:为什么“需求不能决定构架”?

“是”的解决方案:答案已经在上面

[……]  阅读全文>>>

再探结构化设计和面向对象设计方法

     结构化设计历来备受责备的就是需求和设计之间的鸿沟,以前不是很理解这个鸿沟的原因。现在再看,在结构化设计中模块和模块之间的关系,被紧紧局限于信息流,这限制了对模块之间众多关系的表达,也无法体现模块和模块之间其他的众多关系,包含各种各样的结构、行为、依赖、包含(在结构化设计中这种关系隐含在分层中)、继承、关联关系等等。它仅仅解决了模块在封装和信息隐藏方

[……]  阅读全文>>>