
软体工程(中国普通高等学校本科专业)
软体工程专业是2002年国家教育部新增专业,随着计算机套用领域的不断扩大及中国经济建设的不断发展,软体工程专业将成为一个新的热门专业。软体工程专业以计算机科学与技术学科为基础,强调软体开发的工程性,使学生在掌握计算机科学与技术方面知识和技能的基础上熟练掌握从事软体需求分析、软体设计、软体测试、软体维护和软体项目管理等工作所必需的基础知识、基本方法和基本技能,突出对学生专业知识和专业技能的培养,培养能够从事软体开发、测试、维护和软体项目管理的高级专门人才。
基本介绍
- 中文名:软体工程
- 专业代码:080902
- 专业层次:本科
- 学科门类:工学
- 专业类别:计算机类
- 修业年限:四年
- 授予学位:工学学士学位
主干课程
主干学科:马克思主义理论、大学外语、高等数学、大学物理、物理实验、线性代数、机率论与数理统计、程式设计语言、数据结构、离散数学、作业系统、编译技术、软体工程概论、统一建模语言、软体体系结构、软体需求、软体项目管理
该专业除了学习公共基础课外,还将系统学习离散数学、数据结构、算法分析、面向对象程式设计、现代作业系统、资料库原理与实现技术、编译原理、软体工程、软体项目管理、计算机安全等课程,根据学生的兴趣还可以选修一些其它选修课。
实践环节:毕业实习、课程设计、计算机工程实践、生产实习、毕业设计(论文)。
培养目标
本专业培养德、智、体等方面全面发展,掌握自然科学和人文社科基础知识,掌握 计算科学基础理论、软体工程专业的基础知识及套用知识,具有软体开发能力以及软体开发实践 的初步经验和项目组织的基本能力,能从事软体工程技术研究、设计、开发、管理、服务等工作的 专门人才。
简介
软体工程专业是一门研究用工程化方法构建和维护有效的、实用的和高质量的软体的学科。它涉及到程式设计语言,资料库,软体开发工具,系统平台,标準,设计模式等方面。在现代社会中,软体套用于多个方面。典型的软体比如有电子邮件,嵌入式系统,人机界面,办公套件,作业系统,编译器,资料库,游戏等。同时,各个行业几乎都有计算机软体的套用,比如工业,农业,银行,航空,政府部门等。这些套用促进了经济和社会的发展,使得人们的工作更加高效,同时提高了生活质量。
软体工程知识体系全景图

相关学者、组织机构都分别给出了定义:
Boehm:运用现代科学技术知识来设计并构造电脑程式及为开发、运行和维护这些程式所必需的相关档案资料。
IEEE:软体工程是开发、运行、维护和修复软体的系统方法。
Fritz Bauer:建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软体的一系列方法。
发展过程
概念提出
1960年代末期,计算机程式在複杂度、规模和套用领域等方面的增长引人注目,这导致上千亿资金花费在软体开发上,许多人的工作和生活依赖于软体开发的成果。软体产品帮助人们获得更高的工作和生产效率,同时也给人们提供一个更加安全、灵活和宽鬆的工作与生活环境。儘管有很多成功之处,许多软体产品在成本、工期、质量等方面存在严重问题。主要原因是:
软体产品是複杂的人造系统,具有複杂性、不可见性和易变性,难以处理。个人或小组开发小型软体非常有效的编程技术和过程,在开发大型、複杂系统时难以发挥同样的作用。
1968年在德国举行的NATO软体工程会议上,为应对“软体危机”的挑战,提出了“软体工程”的术语。这个时期有代表性的软体工程定义是“为了经济地获得在真实机器上可靠工作的软体而制定和使用的合理工程原则和方法”。
1972年IEEE学会的计算机协会第一次出版了《软体工程学报》。此后,“软体工程”这个术语被广泛用于工业、政府和学术界,众多的出版物、团体和组织、专业会议在它们的名称里使用“软体工程”这个术语,很多大学的计算机科学系先后设立软体工程课程。
学科雏形
软体工程早期的发展是理清软体工程过程的各种活动,提出软体生命周期的概念和软体开发的瀑布模型,制定软体生命周期中主要活动的质量标準。
1991年,ACM和IEEE/CS的计算教程CC1991专题组将“软体工程”列为计算学科的九个知识领域之一。
1980年代末到1990年代初,计算机硬体普遍採用大规模积体电路。在单主机计算模式下,基于瀑布模型的软体开发过程和结构式过程语言编程范型占主导地位。软体工程得到巨大的发展。以阶段论看待软体生命周期,给规範和规程的制定、工具研製、预算管理、工程核算、组织质量过程带来极大方便,基于瀑布模型的软体工程的研究在软体需求分析、软体设计、软体测试、软体质量保证、软体过程改进等多个子领域得到深化和扩展,形成了软体工程学科的雏形。
学科确立
1970年代末期,美国制定研究生教育计画时採纳了IEEE/CS提出的、制定软体工程教程的建议,为软体工程教育打下了基础。
1980年代末和1990年代初,软体工程教育得到卡内基-梅隆大学软体工程研究所(SEI)的培育和支持。他们调查软体工程教育的现状;出版软体工程推荐教程;在卡内基-梅隆大学建立软体工程硕士教育计画;组织和推动软体工程教育者研讨会。
1993年,IEEE-CS和ACM为把软体工程建设成为一个专业,建立了IEEE-CS/ACM联合指导委员会。随后,该指导委员会被软体工程协调委员会(SWECC)替代。SWECC给出了“软体工程职业道德规範”、“本科软体工程教育计画评价标準”和“软体工程知识体”(SWEBOK)。SWEBOK全面描述了软体工程实践所需的知识,为开发本科软体工程教育计画打下了基础。
2004年8月,全世界五百多位来自大学、科研机构和企业界的专家、教授经过多年的努力,推出了软体工程知识体、软体工程教育知识体(SEEK)两个档案的最终版本,标誌着软体工程学科在世界範围正式确立,并在本科教育层次上迅速发展。软体工程、计算机科学、计算机工程、信息系统、信息技术并列成为计算学科下的独立学科。
教育发展
中国的软体工程基础技术研究始于1980年代初。当时,软体开发方法学成为研究热点。1980年在北京召开了中国首届软体工程研讨会,之后,许多高等学校和科研单位陆续开展了软体开发方法学、CASE工具和环境、面向对象技术等软体工程基础技术的研究。“软体工程核心支撑环境”,“软体工程技术、工具和环境的研究与开发(SEP)”等课题列入国家重点科技攻关项目,其科研成果代表了中国软体工程技术研究的水平。与此同时,部分高校面向研究生开设了软体工程课程,开始引进和编写软体工程教材。1984年和1985年,国家科委选择重点高校招收了两批(200人)软体工程硕士,为软体工程教育积累了经验。此后,高等院校开始为本科开设软体工程课程。部分高校从1988年开始试办软体工程专业(后来在学科调整时又归併到计算机科学与技术学科)。
1990年代,软体重用和软体构件技术成为研究热点,面向对象方法和技术成为软体开发的主流技术,软体过程研究及软体企业的过程改善受到广泛重视。随着软体工程技术的发展,高校又增设了面向对象技术,支持面向对象技术的Smalltalk语言、软体过程管理、软体测试技术、软体过程度量等课程,软体工程领域的教学内容不断丰富,教学时数不断增加,教学改革不断深入。
为适应中国经济结构战略性调整,实现软体产业和软体人才培养的跨越式发展,2000年发布了18号档案《国务院关于印发鼓励软体产业和积体电路产业发展的若干政策的通知》,2001年经教育部和国家计委批准,全国成立了35所示範性软体学院。各高校软体学院和计算机学院(系)为培养高层次、实用型、複合型、具有国际竞争力的人才,要求学生在思维创新的基础上,提高技术创新和工程创新能力,提高软体工程实践和软体工程管理能力。这有效地促进了中国软体工程学科的发展,中国软体工程教育开始走向成熟。
组成结构
ACM和IEEE-CS发布的SWEBOK定义了软体工程学科的内涵,它由10个知识域构成。
需求驱动的软体开发过程

(1)软体需求
软体需求描述解决现实世界某个问题的软体产品,及对软体产品的约束。软体需求涉及需求抽取、需求分析、建立需求规格说明和确认,涉及建模、软体开发的技术、经济、时间可行性分析。软体需求直接影响软体设计、软体测试、软体维护、软体配置管理、软体工程管理、软体工程过程和软体质量等。
(2)软体设计
设计是软体工程最核心的内容。设计既是“过程”,也是这个过程的“结果”。软体设计由软体体系结构设计、软体详细设计两种活动组成。它涉及软体体系结构、构件、接口、以及系统或构件的其它特徵,还涉及软体设计质量分析和评估、软体设计的符号、软体设计策略和方法等。
(3)软体构造
通过编码、单元测试、集成测试、调试、确认这些活动,生成可用的、有意义的软体。软体构造除要求符合设计功能外,还要求控制和降低程式複杂性、预计变更、进行程式验证和制定软体构造标準。软体构造与软体配置管理、工具和方法、软体质量密切相关。
(4)软体测试
测试是软体生存周期的重要部分,涉及测试的标準、测试技术、测试度量和测试过程。测试不再是编码完成后才开始的活动,测试的目的是标识缺陷和问题,改善产品质量。软体测试应该围绕整个开发和维护过程。测试在需求阶段就应该开始,测试计画和规程必须系统,并随着开发的进展不断求精。正确的软体工程质量观是预防,避免缺陷和问题比改正好。代码生成前的主要测试手段是静态技术(检查),代码生成后採用动态技术(执行代码)。测试的重点是动态技术,从程式无限的执行域中选择一个有限的测试用例集,动态地验证程式是否达到预期行为。
(5)软体维护
软体产品交付后,需要改正软体的缺陷、提高软体性能或其他属性、使软体产品适应新的环境。软体维护是软体进化的继续。软体维护要支持系统快速地、便捷地满足新的需求。基于服务的软体维护越来越受到重视。软体维护是软体生存周期的组成部分。然而,历史上维护从未受到重视。情况有了改变,软体组织力图使软体运营时间更长,软体维护成为令人关注的焦点。
(6)软体配置管理
为了系统的控制配置变更,维护整个系统生命周期中配置的一致性和可追蹤性,必须按时间管理软体的不同配置,包括配置管理过程的管理、软体配置鉴别、配置管理控制、配置管理状态记录、配置管理审计、软体发布和交付管理等。
(7)软体工程管理
运用管理活动,如计画、协调、度量、监控、控制和报告,确保软体开发和维护是系统的、规範的、可度量的。它涉及基础设施管理;项目管理;度量和控制计画三个层次。度量是软体管理决策的基础。近年来软体度量的标準、测度、方法、规範发展较快。
(8)软体工程过程
管理软体工程过程的目的是,实现一个新的或者更好的过程。软体工程过程关注软体过程的定义、实现、评估、测量、管理、变更、改进,以及过程和产品的度量。软体工程过程分为,①围绕软体生存周期过程的技术和管理活动,即需求获取、软体开发、维护和退役的各种活动。②对软体生存周期的定义、实现、评估、度量、管理、变更和改进。
(9)软体工程工具和方法
软体开发工具是以计算机为基础的,用于辅助软体生存周期过程。通常,工具是为特定的软体工程方法设计的,以减少手工操作的负担、使软体工程更加系统化。软体工具的种类很多,从支持个人到整个生存周期。软体工具分为:需求工具、设计工具、构造工具、测试工具、维护工具、配置管理工具、工程管理工具、工程过程工具、软体质量工具等。
一个QMS的过程方法的实施

软体工程方法支持软体工程活动,使软体开发更加系统,并能获得成功。软体开发方法不断发展。当前,软体工程方法分为:①启发式方法,包括结构化方法、面向数据方法、面向对象方法和特定域方法;②基于数学的形式化方法;③用软体工程多种途径实现的原型方法,原型方法帮助确定软体需求、软体体系结构,用户界面等。
(10)软体质量
软体质量贯穿整个软体生存周期,涉及软体质量需求、软体质量度量、软体属性检测、软体质量管理技术和过程等。
软体项目管理结构

SWEBOK还把软体工程相关学科列为知识域,它们是软体工程发展不可或缺的部分。相关学科知识域包括计算机工程、计算机科学、数学、管理学、项目管理、质量管理、系统工程学和软体人类工程学八个领域。
学科地位
软体工程学科是计算学科的分支,计算学科中理论、抽象、设计等三个学科形态,绑定、大问题的複杂性、概念和形式模型、一致性和完备性、效率、演化、抽象层次、按空间排序、按时间排序、重用、安全性、折衷与决策等十二个基本概念,数学方法、系统科学方法在软体工程学科中占有重要地位。此外,软体工程还十分重视管理过程,以提高软体产品的质量、降低开发成本、保证工程按时完成。系统性、规範性、可度量性也是软体工程非常关注的。
软体工程内容概括

软体工程学科的理论基础是数学、计算机科学。软体工程的研究和实践涉及人力、技术、资金、进度的综合管理,是开展最最佳化生产活动的过程;软体工程必须划分系统的边界,给出系统的解决方案。因此,软体工程的相关学科有计算机科学与技术、数学、计算机工程、管理学、系统工程和人类工程学等。
培养方案
培养要求
本专业是培养适应计算机套用学科的发展,特别是软体产业的发展,具备计算机软体的基础理论、基本知识和基本技能,具有用软体工程的思想、方法和技术来分析、设计和实现计算机软体系统的能力,毕业后能在IT行业、科研机构、企事业中从事计算机套用软体系统的开发和研製的高级软体工程技术人才。
软体工程项目管理流程

掌握和计算机科学与技术相关的基本理论知识,具有一般计算机相关工程的分析设计和解决实际问题的能力。了解文献检索、资料查询的基本方法,具有一定的科学研究和实际工作能力。能够运用学习知识和外文阅读能力查阅外文资料。养成积极参加体育锻鍊和健康的文化活动的良好习惯,达到国家规定的大学生体育合格标準,身心健康。
就业岗位
Java方向:JAVA初级程式设计师、JAVA计算程式设计师 、 JAVA工程师 、J2EE系统工程师等。
.Net方向: .Net程式设计师网站开发工程师 .Net工程师等。
其它方向: 简单的管理信息系统开发和维护人员 、网页製作和客户端脚本程式编写人员 、初级资料库管理和 维护人员 、资料库开发工程师 、系统分析设计工程 、软体项目配置管理员 、文档编写工程师。
发展前景
就业方向
本专业学生毕业后可以从事各级各类企事业单位的办公自动化处理、计算机安装与维护、网页製作、计算机网路和专业伺服器的维护管理和开发工作、动态商务网站开发与管理、软体测试与开发及计算机相关设备的商品贸易等方面的有关工作。
除考取国内外名牌大学研究生外,主要毕业去向是计算机软体专业公司﹑信息谘询公司﹑以及金融等其它独资、合资企业。
就业前景
中国的软体行业规模不是很大,有些软体企业在软体製作上,也只是採用了一些软体工程的思想,距离大规模的工业化大生产比较还是有一定的差距;原因有管理体制的问题,市场问题,政策问题,也有软体工程理论不全面和不完善的问题。所以软体工程的研究和套用,以及中国软体行业的进一步发展,都需要一定的既有软体工程的理论基础和研究能力,又有一定的实践经验的软体工程科学技术人员来推动。软体工程的前途是光明的。
关键设计原则

软体服务外包属于智力人才密集型现代服务业。大量着名外包企业落户宁波。主要就业去向包括软体外包与服务企业、信息产品与服务企业,担任程式设计师、软体测试员、项目经理等工作岗位。
开设院校
北京大学软体与微电子学院 | 北京工业大学软体学院 | 东北大学软体学院 | 北京航空航天大学软体学院 |
哈尔滨工业大学软体学院 | 北京交通大学软体学院 | 东南大学软体学院 | 电子科技大学软体学院 |
华中科技大学软体学院 | 北京理工大学软体学院 | 复旦大学软体学院 | 华东师範大学软体学院 |
西安电子科技大学 软体学院 | 北京邮电大学软体学院 | 湖南大学软体学院 | 华南理工大学软体学院 |
西北工业大学软体与微电子学院 | 重庆大学软体学院 | 吉林大学软体学院 | 上海交通大学软体学院 |
西安交通大学软体学院 | 大连理工大学软体学院 | 南京大学软体学院 | 天津大学软体学院 |
中国科学技术大学软体学院 | 国防科技大学软体学院 | 南开大学软体学院 | 同济大学 软体学院 |
云南大学软体学院 | 武汉大学软体学院 | 清华大学软体学院 | 四川大学软体学院 |
浙江大学软体学院 | 南昌大学软体学院 | 山东大学软体学院 | 中南大学软体学院 |
中山大学软体学院 | 厦门大学软体学院 | 黑龙江大学软体学院 | 河南大学软体学院 |
西北大学 | 山东华宇工学院 | 新疆大学软体学院 | 西安邮电大学 |
太原理工大学 |