计算机科学与软件工程有什么区别?

时间:2009-06-06 14:41:15

标签: computer-science

我被Software Engineering Videos上的一个问题的答案提出问题。这是答案:

  

顺便说一句,请注意你在这里链接的内容。软件工程   和计算机科学是非常不同的学科。软件   工程包括软件开发生命周期(包括   方法和过程),建模,沟通,企业SE   文化等,并且更少关注代码,算法,   效率等。

     

JoshJordan于5月12日回答

这是我的评论:

  

我不得不有点不同意。软件工程是一门子学科   计算机科学。软件工程的一个子领域是   构建,这都是关于代码的。请参阅SWEBOK

我认为算法不属于软件工程,但面向对象编程,安全编程等都没有。

有人说这是重复的,但计算机工程是关于硬件和软件工程是关于软件。

8 个答案:

答案 0 :(得分:21)

最简化和简单化的术语:计算机科学是理论,软件工程是实践。这类似于化学(键,价壳,周期表,量子理论)和化学工程(工业生产,纯度收益率,在给定一系列约束条件下找到最佳材料)之间的关系。

答案 1 :(得分:11)

我刚刚通过/阅读了一篇文章。关于这个话题: Software Engineering ≠ Computer Science

文章中的这张图片总结得很好: Red line separating computer science and software engineering

答案 2 :(得分:8)

正如伟大的计算机科学Dijkstra所说,“计算机科学不再是计算机,而是天文学与望远镜有关。”因此,说软件工程(与计算机有关)是一个子计算机科学学科,就像说哪种光学(与望远镜有关)是天文学的一门学科; - )。

我,我关心望远镜,oops我的意思是计算机,所以显然我不是天文学家,oops我的意思是计算机科学家;-) [无论wikipedia坚持说我的意思;-)],就像我曾在my blog写的一样。

答案 3 :(得分:3)

计算机科学更多的是理论而不是实践;软件工程仍然是理论,但更多的是动手;计算机信息系统更具实践性和理论性,而且管理信息系统完全没有理论上的实践。

答案 4 :(得分:1)

答案 5 :(得分:0)

嗯,所有这些学科都只是Phylosophy的一个分支学科。

答案 6 :(得分:0)

计算机科学:它涵盖了如何使计算机做某事所涉及的核心概念和技术。学习通过编写软件来编程计算机是必不可少的,计算机编程在大多数计算机科学课程中都有使用。

软件Engineering:SE是关于设计和开发软件的。技术,技术,良好实践,测试等。举个例子,您的浏览器是由Software Engineers开发的。

答案 7 :(得分:0)

我想说计算机科学是整个理论和应用领域,涉及在计算机上进行计算以及包含计算机的工作方式。它是完整的计算机科学。

软件工程是计算机科学的一个小得多的子集,它与编写实际程序的理论,概念和应用程序有关。

计算机科学不仅仅指编写程序的内容。