我被Software Engineering Videos上的一个问题的答案提出问题。这是答案:
顺便说一句,请注意你在这里链接的内容。软件工程 和计算机科学是非常不同的学科。软件 工程包括软件开发生命周期(包括 方法和过程),建模,沟通,企业SE 文化等,并且更少关注代码,算法, 效率等。
JoshJordan于5月12日回答
这是我的评论:
我不得不有点不同意。软件工程是一门子学科 计算机科学。软件工程的一个子领域是 构建,这都是关于代码的。请参阅SWEBOK。
我认为算法不属于软件工程,但面向对象编程,安全编程等都没有。
有人说这是重复的,但计算机工程是关于硬件和软件工程是关于软件。
答案 0 :(得分:21)
最简化和简单化的术语:计算机科学是理论,软件工程是实践。这类似于化学(键,价壳,周期表,量子理论)和化学工程(工业生产,纯度收益率,在给定一系列约束条件下找到最佳材料)之间的关系。
答案 1 :(得分:11)
我刚刚通过/阅读了一篇文章。关于这个话题: Software Engineering ≠ Computer Science
文章中的这张图片总结得很好:
答案 2 :(得分:8)
正如伟大的计算机科学Dijkstra所说,“计算机科学不再是计算机,而是天文学与望远镜有关。”因此,说软件工程(与计算机有关)是一个子计算机科学学科,就像说哪种光学(与望远镜有关)是天文学的一门学科; - )。
我,我关心望远镜,oops我的意思是计算机,所以显然我不是天文学家,oops我的意思是计算机科学家;-) [无论wikipedia坚持说我的意思;-)],就像我曾在my blog写的一样。
答案 3 :(得分:3)
计算机科学更多的是理论而不是实践;软件工程仍然是理论,但更多的是动手;计算机信息系统更具实践性和理论性,而且管理信息系统完全没有理论上的实践。
答案 4 :(得分:1)
答案 5 :(得分:0)
嗯,所有这些学科都只是Phylosophy的一个分支学科。
答案 6 :(得分:0)
计算机科学:它涵盖了如何使计算机做某事所涉及的核心概念和技术。学习通过编写软件来编程计算机是必不可少的,计算机编程在大多数计算机科学课程中都有使用。
软件Engineering:SE是关于设计和开发软件的。技术,技术,良好实践,测试等。举个例子,您的浏览器是由Software Engineers开发的。
答案 7 :(得分:0)
我想说计算机科学是整个理论和应用领域,涉及在计算机上进行计算以及包含计算机的工作方式。它是完整的计算机科学。
软件工程是计算机科学的一个小得多的子集,它与编写实际程序的理论,概念和应用程序有关。
计算机科学不仅仅指编写程序的内容。