软件工程是学什么的
为了弄清计算机科学与技术还有软件工程的关系,首先来了解一下这两个专业的概念。软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。计算机科学与技术是国家一级学科,下设信息安全、软件工程、计算机软件与理论、计算机系统结构、计算机应用技术、计算机技术等专业。计算机本科阶段学习的东西过于繁杂和庞大。电路、组成、系统结构、汇编、编译、网络、系统、编程语言、数据结构、算法、数据库、软件工程(是门课)等等都要学。还有各式各样的选修课。偏向于告诉你计算机是什么,怎样造计算机。之后研究阶段你会了解如何把计算思想运用到不同的学科和问题中去。但本科阶段没有人指点你是不会自己找方向的基本上本科阶段找好公司会比较困难。研究生阶段可以做一些应用项目,目前热门的是大数据相关的。软件工程本科阶段主要学编程语言、算法、数据库、系统、网络。之后会分方向,全部偏向应用,具体可以查报考学校的培养计划。每个方向都是面向就业不同岗位的,当然都是开发岗位,具体什么岗位吃香可以看看各大招聘网站。本科毕业至少要深入学习一门职业技能。JAVA EE或Android或iOS开发中选一,后端开发和数据库维护。事实上在国内,这两个学科的课程安排都大同小异,最终都是实践课程偏多,所以事实上就业方向也大同小异。像我们院还会开嵌入式开发的课程...计算机学院也会开一些实训的课程。两个专业在本科阶段的差别并没有名字上所体现的这么大。软件学院毕业了之后也和计算机学院一样有好多继续读研究生做学术的同学。而且工作后你会发现,公司比较看重应聘者的项目经历,不管是课程大作业还是自己业余时间做的小项目。建议大一大二的时候找好自己喜欢的方向,做几个功能或技术上有亮点的项目,对自己技术的提高有好处,对以后找工作面试的时候有素材扯淡也有好处。软件工程领域也会用到很多计算机科学与技术的知识与工具。这两个专业之间的相互支持与应用导致它们总被人们误认为是几乎一样的专业。事实上,软件工程除了涉及计算机科学与技术的许多知识与工具之外,还涉及了管理、经济、工程方面的知识,以及数学建模与设计的方法等。例如,大众印象中的程序员在写软件时一般会考虑数据结构、程序语言、操作系统与编译原理等计算机科学与技术相关内容;而软件工程的专业人士在写软件时除了考虑上述内容之外,还会考虑软件范围与需求、软件系统架构(开发技术)、软件评审与测试(质量保证)、软件运行与维护、软件估算与成本控制、项目管理、软件配置管理(包含文档规范和版本管理)、团队建设等。可见,“码农”一词并不足以刻画一名合格的软件工程专业人士。对于计算机科学与技术和软件工程两个本科专业都是计算机类下的专业,软件工程相对于计算机科学与技术则更侧重于软件开发。两个专业都可以报考计算机科学与技术一级学科下的研究生,通常计算机科学与技术专业的学生可以报考计算机系统结构、计算机软件理论和计算机应用技术这3个二级学科,而软件工程专业对于计算机系统结构的理解通常会比计算机科学与技术专业的学生弱一些。当然两个专业的学生都可以报考软件工程硕士这一专业硕士研究生。目前这两个专业的就业形势都非常好,其中以软件工程更为好一些,计算机科学与技术专业的学生考研的学生多于软件工程专业的学生。软件工程专业的学生本科就业,只要个人能力强,也会有很好的回报。
软件工程专业都要学什么?
主干学科:马克思主义理论、大学外语、高等数学、大学物理、物理实验、线性代数、概率论与数理统计、程序设计语言、数据结构、离散数学、操作系统、编译技术、软件工程概论、统一建模语言、软件体系结构、软件需求、软件项目管理。该专业除了学习公共基础课外,还将系统学习离散数学、数据结构、算法分析、面向对象程序设计、现代操作系统、数据库原理与实现技术、编译原理、软件工程、软件项目管理、计算机安全等课程,根据学生的兴趣还可以选修一些其它选修课。实践环节:毕业实习、课程设计、计算机工程实践、生产实习、毕业设计(论文)。软件工程的目标是:在给定成本、进度的前提下,开发出具有适用性、有效性、可修改性、可靠性、可理解性、可维护性、可重用性、可移植性、可追踪性、可互操作性和满足用户需求的软件产品。追求这些目标有助于提高软件产品的质量和开发效率,减少维护的困难。(1)适用性:软件在不同的系统约束条件下,使用户需求得到满足的难易程度。(2)有效性:软件系统能最有效的利用计算机的时间和空间资源。各种软件无不把系统的时/空开销作为衡量软件质量的一项重要技术指标。很多场合,在追求时间有效性和空间有效性时会发生矛盾,这时不得不牺牲时间有效性换取空间有效性或牺牲空间有效性换取时间有效性。时/空折衷是经常采用的技巧。(3)可修改性:允许对系统进行修改而不增加原系统的复杂性。它支持软件的调试和维护,是一个难以达到的目标。(4)可靠性:能防止因概念、设计和结构等方面的不完善造成的软件系统失效,具有挽回因操作不当造成软件系统失效的能力。(5)可理解性:系统具有清晰的结构,能直接反映问题的需求。可理解性有助于控制系统软件复杂性,并支持软件的维护、移植或重用。(6)可维护性:软件交付使用后,能够对它进行修改,以改正潜伏的错误,改进性能和其它属性,使软件产品适应环境的变化等。软件维护费用在软件开发费用中占有很大的比重。可维护性是软件工程中一项十分重要的目标。(7)可重用性:把概念或功能相对独立的一个或一组相关模块定义为一个软部件。可组装在系统的任何位置,降低工作量。(8)可移植性:软件从一个计算机系统或环境搬到另一个计算机系统或环境的难易程度。(9)可追踪性:根据软件需求对软件设计、程序进行正向追踪,或根据软件设计、程序对软件需求的逆向追踪的能力。(10)可互操作性:多个软件元素相互通信并协同完成任务的能力。以上内容参考:百度百科-软件工程;百度百科-软件工程专业
软件工程专业课程有哪些
软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。软件工程专业具体需要学习以下课程:软件工程课程①主要学科:马克思主义理论、大学外语、高等数学、大学物理、物理实验、线性代数、概率论与数理统计、程序设计语言、数据结构、离散数学、操作系统、编译技术、软件工程概论、统一建模语言、软件体系结构、软件需求、软件项目管理。②其它学科:该专业除了学习公共基础课外,还将系统学习离散数学、数据结构、算法分析、面向对象程序设计、现代操作系统、数据库原理与实现技术、编译原理、软件工程、软件项目管理、计算机安全等课程,根据学生的兴趣还可以选修一些其它选修课。③实践环节:毕业实习、课程设计、计算机工程实践、生产实习、毕业设计(论文)。软件工程基本内容软件工程原理、软件工程过程、软件工程方法、软件工程模型、软件工程管理、软件工程度量、软件工程环境、软件工程应用、软件工程开发使用。著名软件工程专家B.Boehm综合有关专家和学者的意见并总结了多年来开发软件的经验,于1983年在一篇论文中提出了软件工程的七条基本原理:(1)用分阶段的生存周期计划进行严格的管理。(2)坚持进行阶段评审。(3)实行严格的产品控制。(4)采用现代程序设计技术。(5)软件工程结果应能清楚地审查。(6)开发小组的人员应该少而精。(7)承认不断改进软件工程实践的必要性。
软件工程主要课程有哪些?
软件工程的主要课程: 外语、高等数学、线性代数、高等代数、电子技术基础、离散数学、计算机引论(C语言)、数据结构、C++程序设计、汇编语言程序设计、算法设计与分析、计算机组成原理与体系结构、数据库系统、计算机网络、软件工程、软件测试技术、软件需求与项目管理、软件设计实例分析、CMM/ISO9000等。 扩展资料 一、培养目标 本专业培养具有良好科学素养,能较系统和深入地掌握计算机科学技术基础以及软件工程专业知识和工作技能的高级专业技术人才。学生毕业后可在进行软件规划、设计与开发及应用的相关企业、事业单位或政府机关等从事计算机软件规划、咨询、监理、生产、软件技术研发、以及软件应用系统维护等方面技术工作。 二、培养规格 本专业学生应系统掌握计算机科学技术及其应用有关基础理论、建立从事软件工程方面工作的必要专业知识结构和工作技能,包括计算理论基础、计算机系统及其硬软接口、系统软件与工具软件、计算机应用技术、软件工程方法与工具等。通过四年时间的学习,学生应具备以下几方面知识和工作能力: 1、 掌握计算机科学与技术基本理论和专业知识; 2、 掌握软件系统分析、设计和说明的基本方法,具备软件研究与技术开发能力; 3、 了解信息系统安全与知识产权保护的有关技术方法和法规; 4、 具备进行软件系统规划、设计、咨询、软件测试与评估以及软件工程管理和系统运行管理的基本能力; 5、 了解现代信息技术的发展动态; 6、精通一门以上外语,具有较强专业外语阅读和写作能力; 7、 掌握文献检索、资料查询的.基本方法,具有独立获取信息的能力。 三、计划学制、最低毕业学分、授予学位 计划学制:本专业实行学分制,学制一般为四年,允许提前毕业和推迟毕业,具体按学校有关学分制管理条例执行。鼓励学生攻读双专业、双学位和辅修。 最低毕业学分:162 授予学位:工学学士学位 四、课程修读要求 1、 全校公共课分为公共必修课(34个学分)和公共选修课(11个学分)。公共必修课34个学分必须全修。公共选修课应在人文社会科学和艺术类课程中各选修4个学分,在社会科学类中修2个学分。就业指导课以讲座形式进行,开设4-6个讲座,计1个公选课学分。 2、学科基础课共计52个学分,包括学科基础课和学科专业课程,要求学生全修。 3、 专业必修课共计21个学分,要求学生全修。 4、 选修课学生必须修读不低于34个学分,其中限选课程模块为必选模块,不够部分的学分可在任选课模块和计算机科学与技术的相关模块中选择。 5、 “学科前沿讲座“为学科导引课程,以讲座形式分散安排在各个学期。 6、 “就业指导课”以讲座形式进行,开设4-6个讲座,计1个公选课学分. 7、 本专业设置六门双语教学课程(课程方案表中课程名称前打*者),本专业不再单独开设专业英语课程。 8、 课程计划表中课程名称前打☆者为综合设计类课程。 9、 专业技能与实践共计8个学分,学生可在课程结构比例表中自主选择课程设计内容或专业实习,如选择专业实习,则学生必须再选修至少2个课程设计。
软件工程专业是学什么的?
软件工程主要是学程序设计语言、数据库、软件开发工具、系统平台、设计模式等方面。主干学科:马克思主义理论、大学外语、高等数学、大学物理、物理实验、线性代数、概率论与数理统计、程序设计语言、数据结构、离散数学、操作系统、编译技术、软件工程概论、统一建模语言、软件体系结构、软件需求、软件项目管理。该专业除了学习公共基础课外,还将系统学习离散数学、数据结构、算法分析、面向对象程序设计、现代操作系统、数据库原理与实现技术、编译原理、软件工程、软件项目管理、计算机安全等课程,根据学生的兴趣还可以选修一些其它选修课。实践环节:毕业实习、课程设计、计算机工程实践、生产实习、毕业设计(论文)。软件工程的目标是:(1)适用性:软件在不同的系统约束条件下,使用户需求得到满足的难易程度。(2)有效性:软件系统能最有效的利用计算机的时间和空间资源。各种软件无不把系统的时/空开销作为衡量软件质量的一项重要技术指标。很多场合,在追求时间有效性和空间有效性时会发生矛盾,这时不得不牺牲时间有效性换取空间有效性或牺牲空间有效性换取时间有效性。时/空折衷是经常采用的技巧。(3)可修改性:允许对系统进行修改而不增加原系统的复杂性。它支持软件的调试和维护,是一个难以达到的目标。(4)可靠性:能防止因概念、设计和结构等方面的不完善造成的软件系统失效,具有挽回因操作不当造成软件系统失效的能力。(5)可理解性:系统具有清晰的结构,能直接反映问题的需求。可理解性有助于控制系统软件复杂性,并支持软件的维护、移植或重用。(6)可维护性:软件交付使用后,能够对它进行修改,以改正潜伏的错误,改进性能和其它属性,使软件产品适应环境的变化等。软件维护费用在软件开发费用中占有很大的比重。可维护性是软件工程中一项十分重要的目标。(7)可重用性:把概念或功能相对独立的一个或一组相关模块定义为一个软部件。可组装在系统的任何位置,降低工作量。(8)可移植性:软件从一个计算机系统或环境搬到另一个计算机系统或环境的难易程度。(9)可追踪性:根据软件需求对软件设计、程序进行正向追踪,或根据软件设计、程序对软件需求的逆向追踪的能力。(10)可互操作性:多个软件元素相互通信并协同完成任务的能力。以上内容参考:百度百科-软件工程;百度百科-软件工程专业