文章目录
自:本科专业“软件工程”和“计算机科学与技术”的区别是什么? - 周筠的回答 -
知乎https://www.zhihu.com/question/24292554/answer/38486618
软件工程与计算机科学的关系及区别
- 计算机科学中理论研究部分大多可以从形式上证明,与数学、离散数学、数理逻辑密切相关,计算机科学中与实践相关的部分,都和数据以及其他科学发生关系。软件工程则和人的行为、现实社会的需求息息相关。软件工程的研究目标(软件的开发、运营与维护)都有“人”的出现,可以使项目需求的提供者,可以是软件的开发人员,还可以是软件的用户。
- 计算机科学和软件工程的不同侧重点:
计算机科学 | 软件工程 |
发现和研究长期的客观真理 | 短期的实际结果(具体的软件会过时) |
理想化的 | 对各种因素的折衷 |
确定性、完美、通用性 | 对不确定和风险的管理、足够好、具体的应用 |
各个学科独立深入研究,做出成果 | 关注和应用各个学科的知识,解决问题 |
理论的统一 | 百花齐放的实践方法 |
强调原则性 | 最好的、成熟的实践方法 |
形式化、追求简明的公式 | 在实践中建立起来的灵感和直觉 |
正确性 | 可靠性 |
总结
总的来说,两个学科并没有谁好谁怀之分,两者之间相辅相成。计算机中的理论发展,比如对程序的正确性分析,会帮助软件工程;反过来,软件工程的发展能够帮助计算机去做更多的探索。。