软件工程专业:探索与实践

发表时间: 2023-08-04 16:00

作者:杜潇

转载自河北省教育考试院发行的《考试与招生》

一、专业介绍

1.专业内涵

软件工程主要研究计算机各类软件的构造、设计、开发方法、测试、维护等相关的知识和技术,涉及程序设计语言、数据库、软件开发工具、系统平台、设计模式等多方面,进行软件需求分析、软件设计、软件测试、软件维护等。常见的软件有:电子邮件、Office办公软件、设计软件PS、Windows操作系统、各类游戏等。

软件工程专业以计算机科学与技术学科为基础,强调软件开发的工程性,使学生在掌握计算机科学与技术方面知识和技能的基础上熟练掌握从事软件需求分析、软件设计、软件测试、软件维护和软件项目管理等工作所必需的基础知识、基本方法和基本技能,突出对学生专业知识和专业技能的培养,培养能够从事软件开发、测试、维护和软件项目管理的高级专门人才。

2.学习内容及要求

本专业学生主要学习自然科学和人文社科基础知识,学习计算科学、软件工程相关的基本理论和基本知识,接受软件工程的基本训练,具有软件开发实践的基本能力和初步经验、软件项目组织的基本能力以及基本的工程素养,具有初步的创新和创业意识、竞争意识和团队精神,具有良好的外语运用能力。

该专业的核心知识领域为计算基础、数学和工程基础、职业实践、软件系统建模与分析、软件系统设计、验证与确认、软件演化、软件过程、软件质量、软件管理等。开设的课程包括:

C/C++程序设计、Java语言程序设计、软件工程、电路与模拟电子技术、Linux操作系统与网络编程、WEB技术与应用、数据结构与算法、数据库开发技术、算法分析、人工智能技术等。

部分高校的专业培养方向为:JAVA、大数据、云计算、软件设计、数字媒体、金融软件开发、嵌入式应用开发、软件开发与测试、移动互联网开发、移动设备应用开发等。

3.必备能力

掌握基本的人文和社会科学知识,具有良好的人文社会科学素养、职业道德和心理素质,社会责任感强;掌握从事本专业工作所需的数学和其他相关的自然科学、系统科学知识以及一定的经济学与管理学知识,掌握计算学科基础理论知识和专业知识,了解本学科的核心概念、知识结构和典型方法;掌握软件工程学科的基本理论和基本知识,熟悉软件需求分析、设计、实现、评审、测试、维护以及过程与管理的方法和技术,了解软件工程规范和标准,经过系统化的软件工程基本训练,具有参与实际软件开发项目的经历,具备作为软件工程师从事工程实践所需的专业能力,具备综合运用掌握的知识、方法和技术解决实际问题的能力,能够权衡和选择各种设计方案,使用适当的软件工程工具设计和开发软件系统,能够建立规范的系统文档;充分理解团队合作的重要性,具备个人工作与团队协作的能力、人际交往和沟通能力以及_定的组织管理能力;具有初步的外语应用能力,能阅读本专业的外文材料,具有一定的国际视野和跨文化交流、竞争与合作能力;了解与本专业相关的职业和行业的重要法律法规及方针与政策,理解软件工程技术伦理的基本要求;了解软件工程学科的前沿技术和软件行业的发展动态,在基础研发、工程设计和实践等方面具有一定的创新意识和创新能力,能够运用所学的知识、技能和方法对系统的各种解决方案进行合理的判断和选择,具备一定的批判性思维能力;具备自我终身学习的能力,自觉学习随时涌现的新概念、新模型和新技术,使自己的专业能力保持与学科的发展同步。

二、升学与就业

1.考研方向

毕业生可以报考软件工程、计算机技术、软件工程、计算机科学与技术、计算机应用技术等方向的硕士研究生。

2.就业方向

软件工程专业毕业生主要面向两类就业岗位:一类是各种规模的IT企业,可从事项目管理、软件设计、软件开发和质量保证等相关岗位;另一类是进入对IT技术依赖度很高的金融、电信等行业的IT部门,从事这些行业的业务软件的开发、测试、维护等相关工作。

该专业的毕业生可以从事以下几种工作:

(1)程序员:程序员分为很多种,像Unix程序员、Windows程序员,或是C++程序员、Delphi程序员等等,主要负责用户的需求分析,策划程序框架、流程;编写代码,开发程序,测试,运行程序,程序员的职业生涯是—个要求不断学习、更新知识的过程,所以大多程序员都是做几年往技术管理方面转型

(2)项目经理:项目经理是项目的直接负责人,这个角色相当于一个中间接口,不管是团队成员是需求方(客户),或者是上级领导,有事都直接找他,所以这个职位着重于管理与沟通。对于项目经理来说,重点要求沟通能力,协调能力、危机把控能力、执行力、团队管理能力,着重于沟通、管理与计划。

(3)技术经理(系统分析员):技术经理承担的角色主要是系统分析、架构搭建、系统构建等工作,如果说项目经理是计划者,那么技术经理就是执行者。技术经理,要知道某种功能用哪些技术合适,某项功能需要多长的开发时间等。

(4)产品经理:主要负责产品的设计、产品的改良等工作。产品设计与设计师是两个不一样的工作,产品设计主要从用户体验、业务需要等层面去设计产品,而设计师更多是从用户的视觉上去做。产品经理应该是最懂业务的人,比如你在设计一个微博的产品,你要对微博这个东西非常熟悉,从用户习惯、用户体验、公司的发展战略上去设计这个产品,还要对比同类产品显出自己的优势等等。一般来说,产品经理要求对业务最熟悉,项目经理次之,技术经理排最后。

3.就业现状

在经济发达地区,软件开发类岗位市场需求相对较多,软件测试类岗位需求低于软件开发类。整体来看,两种岗位在经济发达地区需求量都比较大,软件开发类岗位对学历要求相对较高,软件测试类岗位对学历的要求相对较低。软件开发类岗位以3-5年工作经验需求为主,软件测试类岗位对工作经验的要求相对较低,以1-3年工作需求为主。