软件工程与计算机科学
在现代社会,计算机已成为不可或缺的一部分。然而,我们较少关注这些熟悉事物的内部运作。计算机科学是计算机系统的理论基础,而软件工程则是将这些原理应用于开发软件解决方案的问题。
计算机科学
计算机科学是计算机硬件和软件的基础科学。它为计算机系统的实现和应用提供了软件和硬件组件的机制和计算的理论基础。
计算机科学包括许多主要的子学科。计算理论、信息与编码理论、算法与数据结构、程序设计语言理论属于理论计算机科学。应用计算机科学的子学科包括人工智能、计算机体系结构与工程、计算机图形学与可视化、密码学与计算机安全、计算机网络、并发、并行和分布式系统、数据库与信息检索以及软件工程。
其中许多子学科都是以数学理论为基础的。一些应用方面与机电一体化和其他应用科学有关。
此外,这些子学科延伸到次要研究领域。例如,计算理论包括自动机理论、可计算性理论、复杂性理论、密码学和量子计算理论等研究领域。
软件工程
软件工程是应用计算机科学的主要分支学科之一。它专注于使用严格的工程方法构建有效的软件系统。它可以被描述为一个系统的,有纪律的,可量化的方法来设计,开发,操作和维护软件,以及这些方法的研究。没有一个公认的软件工程定义,但它的目的的解释。
fritzbauer将软件工程定义为“建立和使用合理的工程原理,以获得经济开发的、可靠且在真实机器上有效工作的软件”。
软件不是物理的,它是在计算机系统中工作的逻辑实体。因此,它的设计必须在硬件和操作方面都达到最佳性能。为了实现这些目标,软件工程师使用开发模型。这些模型将软件开发的主要步骤(如设计、编码、故障排除和维护)合并到一个内聚的框架中,该框架允许软件在其生命周期内进行系统的开发。
软件工程和计算机科学有什么区别?
•计算机科学侧重于计算的理论方面,包括软件和硬件。
•软件工程专注于系统地开发软件。编码或编程是软件工程的重要组成部分。