自软件危机爆发以来,人们开始用软件工程来试图解决这个问题,提出了各种各样的开发理论,开发模式。软件开发的艺术性,和不可预知性,使得各种开发理论,开发模式,总是有其局限性,终始无法精确的用工程的手段来量化开发过程。软件是科学与艺术的结合,理论与实践的结合。作为一种智慧产品,软件开发基本上是一种智能的投入,是软件开发团队的智慧结晶。在软件中凝结的智能愈高,软件的价值就愈高,能被市场接受的价格就愈高。完全按工程组织来完成软件开发,基本是不可能完成的任务。在看似平静的表面下面,软件开发其实是充满着各种风