在我看来并不是,软件工程是计算机类分流后的一个专业,主要建立在基础语言、数据结构、计算机网络等基础知识之上的一门学科。
软件工程是为了解决现实世界到计算机的映射,需要用到瀑布模型,增量模型,演化模型,螺旋模型,喷泉模型等,要探究可行性,分析需求,软件设计,软件项目管理,面向程序对象设计,学会数据流图,敏捷过程,分析建模,实体-联系图等等
软件工程具备“工程”的基本内涵和特点,主要包括:过程标准化、理论和实践支撑、质量有保障、实用性原则。由此可见,软件工程需要兼顾软件质量、开发成本与交付时间。软件工程不仅仅是编写代码,而是一个需求分析,规格说明,设计验证,编码测试等多个阶段的综合过程,过程中需要使用编辑语言进行有效的软件开发。同时软件工程也要与客户和团队沟通、项目管理、需求分析、等方面的工作,因此软件工程师需要具备很多技能和知识。同时,开发软件更多的是团队合作的力量,团队中的人都需要拥有一定的编程理论,进行概念上的沟通,开发一个软件可能需要多种编程语言以及算法知识。
因此,我认为软件工程不是教会不怎么会写程序的人开发软件,而是教会软件开发者在复杂的项目中管理和组织开发过程的最佳实践,更多的是一种综合能力的培养,帮助人们更高效合理的开发软件。