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