软件工程与软件科学的区别

软件科学 与 软件工程,好像都跟软件相关。
很多大学生在选择专业时,好像也没有太搞清楚到底有什么不同,毕业后好像都是从事编程工作。

但实际上,我们看托尼 霍尔(Tony Hoare)的比较表,大概能有个概念:

计算机科学 软件工程
发现和研究长期的,客观的真理 短期的实际结果(具体的软件会过时)
理想化 对各种因素的折中
确定性,完美,通用性 对不确定性和风险的管理,足够好,具体的应用
各个学科独立深入研究,做出成果 关注和应用各个相关学科的知识,解决问题
理论的统一 百花齐放的实践方法
强调原创性 最好的,成熟的实践方法
形式化,追求简明的公式 在实践中建立起来的灵感和直觉
正确性 可靠性



那么为什么很多学生在学习时,没有感觉很实质的区别呢?

中国大陆高校大多设有与“计算机科学”相关的院系。除了学术水平名列前茅的几个学校,其他学校的这些院系大部分老师做的都是偏工程方面的研究(所谓的“横向工程”),大部分学生毕业后也投身于解决具体的工程问题,这跟软件学院/软件工程系(院)的研究和培养方向非常雷同。这是目前中国IT产业发展的现状,但并不是说世界上没有人研究计算机科学的各个领域,或者说计算机科学就等同于软件工程。

——–《构建之法:现代软件工程》周欣

猜你喜欢

转载自blog.csdn.net/ppppfly/article/details/53225291
今日推荐