大胆痴说:《反传统软件工程》!
计算机从大型机时代到小型机再到微机再到移动计算,小型化是几十年来的发展趋势。
然而软件开发方法的发展却相对缓慢。从早期的手工作坊(相当于算盘时代),到20世纪60年代出现的传统软件工程(被称为“巨型方法”,相当于大型机时代),再到近几年兴起的全程建模、敏捷方法,同样经历着由无序到有序、由巨型到微型的发展轨迹。
但是我有一些疑问:
1。极限编程等新式方法的出现是不是就意味着软件工程方法发展的结束?是不是还会有更微型化的软件开发方法出现?
2。以UML这个符号体系为中心的面向对象分析方法是与结构化方法一起属于传统软件工程还是相反?
3。XP是“大型机”和“算盘”的折中吗?它是反传统的方法还是传统软件工程的小型化。
4、“交互设计之父”海伦·库伯认为许多软件开发失败的原因是技术与现实世界脱节造成的。UML这种符号体系是否正好和海伦·库伯的观点相抵触?
5。如果说从无论大型机还是微型机都是基于冯·诺依曼体系,那么传统软件工程和现代软件过程是否都基于某种同样的方法论?
6、从哲学意义上讲,什么样的软件工程(或曰开发模式)更接近科学的方法论,更能够提高软件开发这一思维性极强的生产的生产力?