Dijkstra曾经提到Software engineering ,of course ,presents itself as another worthy cause,but that is eyewash: if you carefully read its literature and analyse what its devotees actually do,you will discover that software engineering has accepted as its charter ‘How to program if you cannot.’” 翻译:当然,软件工程定义自己为另一项有价值的课程,但那是无稽之谈。如果你仔细阅读它的文献并分析其爱好者所做的事,你会发现软件工程已经将‘如果你不会程序将如何编程’作为它的章程。
所以软件工程是不是教会不怎么会写程序的人开发软件? 首先,软件是复杂的,软件不仅包括了程序(系统程序、应用程序和用户自己编写的程序),还包括了程序的处理对象----数据,以及与程序开发、维护和使用有关的图文资料(文档)。在我看来,软件工程是让拥有编程能力以及计算机专业知识的程序员更加正确的运用自己所拥有的技术和知识进行软件开发。 Roger S. Pressman对软件给出这样的定义:计算机软件是由计算机专业人员开发并长期维护的软件产品。完整的软件产品包括可在不同容量和体系结构的计算机上执行的程序,运行过程中产生的各种结果,以及以硬复制和电子表格等多种方式存在的软件文档。 可见,软件工程并不是教会不怎么会写程序的人开发软件。想要开发软件,还得由计算机专业人员来完成。