软件工程工程与科学软件的开发到底是一门科学还是一门工程,这是一个被争论了很久的问题
实际上,软件开发兼有两者的特点
但是这并不意味着它们可以被互相混淆
很多人认为软件工程基于计算机科学和信息科学就如传统意义上的工程学之于物理和化学一样
在美国,大约40%的软件工程师具有计算机科学的学位
在世界其他地方,这个比例也差不多
他们并不一定会每天使用计算机科学方面的知识,但是他们每天都会使用软件工程方面的知识
软件工程计算机科学目标在时间、资源、人员的限制条件下构建满足用户需求的软件系统
探索正确的计算和建模方法,从而改进计算方法本身
进度与时间表软件专案都有特定的进度与时间表研究专案一般不具有设置的进度与时间表产品软件(比如办公包和编译器)
算法(比如希尔排序法)和抽象的问题(比如哲学家进餐问题)
关注点软件工程关注如何为用户实现价值
软件理论关注的是软件本身运行的原理,比如时间复杂度
变化程度随着技术和用户需求的不断变化,须时刻调整以适应当前的需求
对于某一种特定问题的正确解决方法将永远不会改变
需要的其他知识相关领域的知识
数学
著名的探索者和教育家Barry Boehm, David Parnas 等Edsger Dijkstra, 高德纳 等著名的实践者John Backus, 蒂姆·伯纳斯-李 等无
以上内容由大学时代综合整理自互联网,实际情况请以官方资料为准。