大学最热门专业软件工程

软件工程专业是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及到程序设计语言,数据库,软件开发工具,系统平台,标准,设计模式等方面。典型的软件有电子邮件,嵌入式系统,人机界面,办公套件,操作系统,编译器,数据库,游戏等。本专业学生毕业后可以从事各级各类企事业单位的办公自动化处理、计算机安装与维护、网页制作、计算机网络和专业服务器的维护管理和开发工作、动态商务网站开发与管理、软件测试与开发及计算机相关设备的商品贸易等方面的有关工作。

软件工程专业主干学科:马克思主义理论、大学外语、高等数学、大学物理、物理实验、线性代数、概率论与数理统计、程序设计语言、数据结构、离散数学、操作系统、编译技术、软件工程概论、统一建模语言、软件体系结构、软件需求、软件项目管理

该专业除了学习公共基础课外,还将系统学习离散数学、数据结构、算法分析、面向对象程序设计、现代操作系统、数据库原理与实现技术、编译原理、软件工程、软件项目管理、计算机安全等课程,根据学生的兴趣还可以选修一些其它选修课。

很多学生看到这些主干学科会想:我是计算机学院的,以后就是要当一个程序员而不是物理学家,为什么要学大学物理?我以后估计怎么都不会碰密码学,为什么要学代数结构和数理逻辑?图形学这东西我这辈子可能都不会碰,为什么还要花时间弄懂这天书一样的公式?

知道曼哈顿计划么?计算机最早就是为物理中的核反应服务的。软件≠码农,软件是利用一台计算机来解决现实问题,而现实问题对应的最直接的学科就是物理。

经常有程序员觉得自己实现的动效看上去很假,或者不理解动效API的参数而无法达到想要的效果。其实所谓的“真”就是符合现实世界中物体的运动规律,就拿著名的橡皮筋回弹效果来说,它是由弹力和阻尼共同作用下的运动。

如果学生懂物理这段代码应该很简单,如果不懂那么这就是为什么软件工程要学物理的原因。可能有人会觉得为了动效而学物理未免小题大做,其实软件的本质就是对现实世界建模,而物理学在这个方向上已经摸爬滚打了几百年,有大量知识可以直接迁移过来,上面的例子只是沧海一粟。

大学物理除了物理知识本身还有数据严谨性(比如实验数据处理)最重要的是使学生掌握使用数学方法解决实际问题(物理)的能力。对于日后软件开发过程中的算法设计等有一定意义。

物理对于软工专业的必要性:拓宽学生的适应宽度,流出互联网行业。很多较为传统的工业,例如机械、飞机、机器人等,越来越需要编写复杂的软件。软件专业学生往往缺乏相应的知识积累,数学物理基础薄弱,短时间内难以补足。所以很多时候是由原专业的人学习软工知识来做。

软件工程师绝不仅仅是“搞安卓的”和“做网站的”,航天飞机、机器人、视频监控等等领域都有大量的软件工程师,而这些位置的工程师,只会“写代码”是远远不够的,还需要了解现代常用的数学工具:线性代数、微积分、统计学,这三个数学分支构成了现在非常火的机器学习的基础。而这些知识,从数学课上学到的往往非常理论,不直观,可能很多公式你学过了就忘记了。而实践它们的最佳领域是哪里?当然是物理!

数学、物理一直都是能联系多个领域的核心学科,计算机科学也正在成为这样的核心学科。现在理工科本科培养计划里,无论中外,数学、物理和计算机都是标配。从美帝东海岸的MIT、Harvard到美帝西海岸的Stanford都是如此。

如果你要开发游戏,你还要学心理学;如果你要开发有限元软件,你还要学微分方程和矢量积分;如果你要开发多相流软件,你还要学流体力学;如果你要开发汽车设计软件,你还要学刚体力学;如果你要模拟分子行为,你还要学大学化学;如果你要仿真生物基因,你还要学基因工程学。

附ACM和IEEE-CS发布的SWEBOK定义了软件工程学科的内涵,它由10个知识域构成。

(1)软件需求

软件需求描述解决现实世界某个问题的软件产品,及对软件产品的约束。软件需求涉及需求抽取、需求分析、建立需求规格说明和确认,涉及建模、软件开发的技术、经济、时间可行性分析。软件需求直接影响软件设计、软件测试、软件维护、软件配置管理、软件工程管理、软件工程过程和软件质量等。

(2)软件设计

设计是软件工程最核心的内容。设计既是“过程”,也是这个过程的“结果”。软件设计由软件体系结构设计、软件详细设计两种活动组成。它涉及软件体系结构、构件、接口、以及系统或构件的其它特征,还涉及软件设计质量分析和评估、软件设计的符号、软件设计策略和方法等。

(3)软件构造

通过编码、单元测试、集成测试、调试、确认这些活动,生成可用的、有意义的软件。软件构造除要求符合设计功能外,还要求控制和降低程序复杂性、预计变更、进行程序验证和制定软件构造标准。软件构造与软件配置管理、工具和方法、软件质量密切相关。

(4)软件测试

测试是软件生存周期的重要部分,涉及测试的标准、测试技术、测试度量和测试过程。软件测试围绕整个开发和维护过程。测试在需求阶段就应该开始,测试计划和规程必须系统,并随着开发的进展不断求精。正确的软件工程质量观是预防,避免缺陷和问题比改正好。

(5)软件维护

软件产品交付后,需要改正软件的缺陷、提高软件性能或其他属性、使软件产品适应新的环境。软件维护是软件进化的继续。软件维护要支持系统快速地、便捷地满足新的需求。基于服务的软件维护越来越受到重视。软件维护是软件生存周期的组成部分。

(6)软件配置管理

为了系统的控制配置变更,维护整个系统生命周期中配置的一致性和可追踪性,必须按时间管理软件的不同配置,包括配置管理过程的管理、软件配置鉴别、配置管理控制、配置管理状态记录、配置管理审计、软件发布和交付管理等。

(7)软件工程管理

运用管理活动,如计划、协调、度量、监控、控制和报告,确保软件开发和维护是系统的、规范的、可度量的。它涉及基础设施管理;项目管理;度量和控制计划三个层次。度量是软件管理决策的基础。

(8)软件工程过程

软件工程过程







































治白癜风的中药
北京白癜风医院那里好



转载请注明:http://www.zjiaren.com/zyjs/zyjs/9415.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了