软件工程与计算机的关系及区别
什么是软件工程?
软件工程借鉴传统工程的原则、方法,以提高质量、降低成本和改进算法。 其中,计算机科学、数学用于构建模型与算法,工程科学用于制定规范、设计范型 (paradigm)、评估成本及确定权衡,管理科学用于计划、资源、质量、成本等管理。
::该专业涉及程序设计语言、数据库、软件开发工具、系统平台、设计模式等方面,培养学生适应计算机应用学科的发展,特别是软件产生的发展,使其具备计算机软件的基础理论、基本知识和基本技能,具有用软件工程的思想、方法和技术来分析、设计和实现计算机软件系统的能力。
什么是计算机科学?
是系统性研究信息与计算的理论基础以及它们在计算机系统中如何实现与应用的实用技术的学科。它通常被形容为对那些创造、描述以及转换信息的算法处理的系统研究。计算机科学包含很多分支领域;有些强调特定结果的计算,比如计算机图形学;而有些是探讨计算问题的性质,比如计算复杂性理论;还有一些领域专注于怎样实现计算,比如编程语言理论是研究描述计算的方法,而程序设计是应用特定的编程语言解决特定的计算问题,人机交互则是专注于怎样使计算机和计算变得有用、好用,以及随时随地为人所用。
有时公众会误以为计算机科学就是解决计算机问题的事业(比如信息技术),或者只是与使用计算机的经验有关,如玩游戏、上网或者文字处理。其实计算机科学所关注的,不仅仅是去理解实现类似游戏、浏览器这些软件的程序的性质,更要通过现有的知识创造新的程序或者改进已有的程序。
::研究计算机系统结构、程序系统(即软件)、人工智能以及计算机本身的性质和问题的学科。计算机科学是一门包含各种各样与计算和信息处理相关主题的系统学科,从抽象的算法分析、形式化语法等,则更具体的主题如偏移语言、程序设计、软件和硬件等。
1.计算机科学主要从理论和数学的角度研究计算机如何工作,在电气工程和软件工程基础方面有更多的要求,例如软件测试,设计和软件需求规范。
适用于:数学,逻辑学,或者CS的某个专业领域,例如人工智能,机器学习,计算机安全或图形
2.软件工程研究如何构建软件系统,包括诸如项目管理,质量保证和软件测试等,是更高级别的计算机课程,课程范围很广,例如计算机安全,软件工程基础知识,计算机视觉,机器学习和数据库管理。
适用于:对实际操作方法更感兴趣,并且想要了解软件构建和维护的整个生命周期
共同点:,计算机科学和软件工程都是属于计算机的范畴,联系非常紧密,学习这些知识都是为了培养IT领域的高级专门人才,两者很多方面的应用是相通的,涉及的专业知识也有很多重合的。