计算机系统由硬件系统与软件系统构成,计算机科学与技术专业偏重于硬件与计算机理论⽅⾯的学习研究,像计算机原理,计算机系统结构等⽅⾯的内容。当然也会涉及软件⽅⾯,但不是太深。⽽软件⼯程专业则主要偏重于应⽤与实践,主要是培养适应国内外软件产业市场需求的⾼素质、多层次、实⽤型软件⼈才,这也是教育部专门设置独⽴于计算机学院之外的软件学院的原因。
软件⼯程(Software Engineering,简称为SE)是⼀门研究⽤⼯程化⽅法构建和维护有效的、实⽤的和⾼质量的软件的学科。它涉及到程序设计语⾔,数据库,软件开发⼯具,系统平台,标准,设计模式等⽅⾯。在现代社会中,软件应⽤于多个⽅⾯。典型的软件⽐如有电⼦邮件,嵌⼊式系统,⼈机界⾯,办公套件,操作系统,编译器,数据库,游戏等。同时,各个⾏业⼏乎都有计算机软件的应⽤,⽐如⼯业,农业,银⾏,航空,政府部门等。这些应⽤促进了经济和社会的发展,使得⼈们的⼯作更加⾼效,同时提⾼了⽣活质量。软件⼯程师是对应⽤软件创造软件的⼈们的统称,软件⼯程师按照所处的领域不同可以分为系分析员,软件设计师,系统架构师,程序员,测试员等等。⼈们也常常⽤程序员来泛指各种软件⼯程师。软件开发技术包含软件⼯程⽅法学、软件⼯具和软件开发环境;软件⼯程管理学包含软件⼯程经济学和软件管理学。
如果仅仅以在校⽣⽽⾔,计算机科学和软件⼯程的差别还是⽐较明显的。最⼤的差别就是,软件⼯程,⼤
家说得最多的是,如何理解客户的需求,对需求进⾏分析然后构建出要开发的⽬标项⽬的结构图,约定完⼯时间,明确分⼯然后开始照着进度前进。⽽计算机科学通常不会做我们的项⽬,⽽是实现⼀些底层协议,和更基础的算法和电⼦学习。计算机科学就是学,计算是什么样的,为什么。⽽软件⼯程学的是计算机能够做什么,怎么做的。我的理解是换成其他的⾏业,计算机科学像⽣物医学研究各种能治病的药,⽽软件⼯程像临床医学,⽤药给⼈治病。这就是两者的区别了。计算机科学与技术的就业方向
计算机科学和软件⼯程实习和全职就业⼀般是做软件开发。最常见的职位是软件⼯程师(Software Engineer)。⼊门时薪⽔和其他职业⽐起来较多,⽐如和⾦融分析师。但CS类⼯作貌似增长不⼤。⽐如10年后,可能是⾦融业的赚得⽐IT业的多很多。计算机科学是IT⾥⾮常基础也很范的⼀个学科,⽆论选择计算机科学还是软件。学⽣在⼤学期间都有机会转到⾃⼰感兴趣的其他专业。
确实,计算机专业的学⽣会更多的涉及硬件相关的技术,但是这并不意味着软件⼯程的学⽣就可以对硬件⼀⽆所知,对当今很多的软件开发情况⽽⾔,硬件平台的区别是开发中⼀个需要关⼼的重点,特别是硬件本⾝会对运⾏时间和反应速度产⽣影响,那时就要求更⾼效的软件算法作为⽀撑。这⼀趋势在现在硬件终端多元化的背景下越来越明显。
⾔归正传,我认为这两个专业最重要的区别在于计算机科学更注重算法的研究和改进,⽽后者更注重软件开发过程中对于需求、资源、进度的管理,即把软件开发作为⼯程进⾏实践的专业。这是两者最⼤的不同。
发布评论