一. 现实中的软件工程
1. 大公司手中的算盘
把握力量总比创造力量来得经济,敌人的敌人就是自己的朋友,聪明的战略家总是能看到这一点。跳出到局外来看,并不是说Microsoft是他们的共同对手,而只是因为MICROSOFT占在了风头浪尖,便成了众矢之的。所有人面对的并不是Microsoft的这个名字,而是这个地位,无论谁成就了这个地位,都将承受相同的风险与压力,当然也包括机会,大公司在标准,理论,语言上的争来夺取,未必全然出于“软件实现”的考虑,对统一理论,统一工具,统一过程的企图,其最终目的是在整个软件工程体系中的全面胜出,算盘上的绝大多数人,只是用于计算胜负的一枚算子。
2回到工程的关键点
软件工程体系的发展,不仅只是软件本质力量的推动,也包括商业因素,大公司们的争夺的最终结果,已经开始把软件工程,从原始的“自生演进”状态,逐渐推进到“它激发展“的状态。
3思考项目成本的经理
埋头于画甘特图的项目经理犯下了与挖山不止的愚公类似的错误:忽略了成本。我们必须吸取一些教训:不计成本的项目计划不会得到经营者的支持
(2)毫无目的的消耗成本是项目中的慢性毒药
(3)最致命的风险是成本的枯竭
4审视AOP
工程最核心的环节:编程=算法+结构+方法,切分点并不是AOP编程方法所需要的概念,而是AOP作为一个框架时所需要的一个工具:一组辨识Acpects和objects的索引。
5审视MDA、MDD
过程模型决定了工程的实施步骤和组织方式,MDA架构作为一个新的软件开发方法的架构,即使在技术研究,底层协议和软件实现方面经过了持续的完善而逐渐成熟。
二. 是思考还是思想
1. 软件工程三个要素的价值。
思考问题的方法可以是由点及面的,也可以是通栏全局的,换成业界最常用的词汇就是自上而下还是自下而上的区别
2其实RUP是一个杂物管
RUP是前人在软件工程思想方面高度概括,RUP能不能被用起来,将取决于在你刚才那个挑挑拣拣的行为,以及现在你在拿到钓竿后的辨识能力与组织能力
3.UML与甲骨文之间的异同
在工程中使用UML图,应该有相同的文字来描述它,而且这种描述与图之间的对应关系要持续维护下去。
4 经营者离开开发者很远,反之亦然
一个完全不懂软件技术的老板,在EHM模型中,他所处于的位置的最右端,而开发者在最左端,于是项目经理这个中间角色就有了一种使命,协调经营者与开发者之间的沟通。
5矛盾,实现目标与保障质量
在项目的平衡三角(时间,资源和功能)中讨论的是目标问题,但并不讨论质量问题,目标可能在平衡中确立,但质量却要在过程中控制。
6枝节与细节
管理者必须注意:不管是细节还是枝节只要你感到你的脚趾已经沾上了泥草,就快点回头。
7灵活的软件工程
死读《软件工程》的人不会做真正的软件工程。