




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2.4计算机科学与技术(软件工程方向)专业规范一、软件工程专业教育的历史、现状及发展方向软件工程学科与教育的发展软件在当今的信息社会中占有重要的地位,软件产业是信息社会的支柱产业之一。随着软件应用口益广泛、软件规模口益扩人,人们开发、使用、维护软件不得不采用工程的方法,以求经济有效地解决软件问题。借助计算机科学技术、数学、管理科学与工程诸多学科,今夭的软件工程己由最初的一个学科方向发展成为以计算机科学技术为基础的一个新兴交叉学科。该学科的发展可分为概念提出、学科雏形和学科确立三个阶段。(1)概念提出I960年代末期,计算机程序在复杂度、规模和应用领域等方面的增长引人注目,这导致上千亿资金花费在
2、软件开发上,许多人的工作和生活依赖软件开发的成果。软件产品帮助人们获得了更高的工作和生产效率,同时也给人们提供了一个更加安全、灵活和宽松的工作与生活坏境。尽管有很多成功之处,许多软件产品在成本、工期、质量等方面仍存在严重问题。主要原因是:1)软件产品是复杂的人造系统,貝有复杂性、不可见性和易变性,难以处理。2)个人或小组开发小型软件非常有效的编程技术和过程,在开发人型、复杂系统时难以发挥同样的作用。3)计算机和软件技术的快速发展,提高了客户对软件的期望,促进了软件产品的进化,为软件产品提出了新的、更多的需求,因此增加了软件行业内的竞争,难以在可接受的开发进度内保证软件的质最。1968年在德国举
3、行的NATO软件工程会议上,为应对“软件危机”的挑战,提出了“软件工程”的术语。这个时期有代表性的软件工程定义是“为了经济地获得在真实机器上可靠工作的软件而制定和使用的合理工程原则和方法”。1972年IEEE学会的计算机协会第一次出版了“软件工程学报”。此后,“软件工程”这个术语被广泛用J:工业、政府和学术界,众多的出版物、团体和组织、专业会议在它们的名称里使用“软件工程”这个术语,很多人学的计算机科学系先后开设了软件工程课程。(2)学科雏形软件工程早期的发展是理清软件工程过程的各种活动,提出软件生命周期的概念和软件开发的瀑布模型,制定软件生命周期中主要活动的质堂标准。标准是工程的起点和归宿。
4、人们在制定各种标准时,加深了对软件产品的理解。软件不可靠、不可维护、不可移植导致开发和维护费用激增。特别是软件测试不能 证明软件正确,且事后的更改不一定能増进软件的质屋。这些问题要求计算机科学改进构造软件的方法,共至开发出新的语言实现新的编程范型,设计高质最软件的规范或范型來开发软件。计算机科学从软件工程实践中得到了许多待解决的问题,从而推动了计算技术的进展,如数据流、控制流、事件驱动、状态机变换、面向対彖、净室软件等方法。软件工程将这些技术规范化、模式化,并制作相应的工具,使得软件生产率更高、质龟更好、成本更低。它们和得益彰,相互促进。这个时期的软件工程定义特别强调,软件工程以计算机科学和数
5、学为基础,用系统的、可控制的、有效的方式建造高质鼠的软件。有代表性的定义包括:“软件工程是一种工程形式,它运用计算机科学和数学原理,针对软件问题获得一种经济有效的解决方案。”“用系统的、规范的、可度量的方法,开发、运行和维护软件”。1991年,ACM和IEEE-CS的计算学科教程CC1991专题组将“软件工程”列为计算学科的九个知识领域之一。1980年代末到1990年代初,计算机碾件普遍采用大规模集成电路。在单主机计算模式卜,基瀑布模型的软件开发过程和结构式过程语言编程范型占主导地位,软件工程得到极人的发展。以阶段论看待软件生命周期,给规范和规程的制定、工具研制、预算管理、工程核算、组织质鼠过
6、程带來极丿、方便,基J:瀑布模型的软件工程的研究在软件需求分析、软件设计、软件测试、软件质駅保证、软件过程改进等多个子领域得到深化和扩展,形成了软件工程学科的雏形。学科确立1970年代末期,美国制定研究生教育计划时采纳了IEEE-CS提出的制定软件工程教程的建议,为软件工程教育打卜了基础。1980年代末和1990年代初,软件工程教育得到卡内基-梅隆人学软件工程研究所(SEI)的培育和支持。他们调查软件工程教育的现状:出版软件工程推荐教程;在卡内基-梅隆人学建立软件工程硕士教育计划;组织和推动软件工程教育者研讨会。1993年,IEEE-CS和ACM为把软件工程建设成为一个专业,建立了IEEE-C
7、S/ACM联合指导委员会。随后,该指导委员会被软件工程协调委员会(SWECC)替代。SWECC给出了“软件工程职业道德规范”、“本科软件工程教育计划评价标准”和“软件工程知识体”(SWEBOK)。SWEBOK全面描述了软件工程实践所需的知识,为开发本科软件工程教育计划打卜了基础。2004年8月,全世界500多位來自大学、科研机构和企业界的专家、教授经过多年的努力,推出了软件工程知识体、软件工程教育知识体(SEEK)两个文件的最终版本,标恵着软件工程学科在世界范围正式确立,并在本科教育层次上迅速发展。软件工程、计算机科学、计算机工程、信息系统、信息技术并列成为计算学科卜的独立学科。我国的软件工程
8、教育我国的软件工程基础技术研究始J-1980年代初。当时,软件开发方法学成为研究热点。1980年在北京召开了我国首届软件工程研讨会,Z后,许多高等学校和科研单位陆续开展了软件开发方法学、CASE工具和坏境、面向対彖技术等软件工程基础技术的研究。“软件工程核心支撑坏境”,“软件工程技术、工具和环境的研究与开发(SEP)”等课题被列入国家重点科技攻关项目,其科研成果代表了我国软件工程技术研究的水平。与此同时,部分高校面向研究生开设了软件工程课程,开始引进和编写软件工程教材。1984年和1985年,国家科委选择重点高校招收了两批(200人)软件工程硕士,为软件工程教育积累了经验。此后,高等院校开始为
9、本科开设软件工程课程。部分高校从1988年开始试办软件工程专业(后來在学科调整时又归并到计算机科学与技术学科)。1990年代,软件重用和软件构件技术成为研究热点,而向刈豫方法和技术成为软件开发的主流技术,软件过程研究及软件企业的过程改善受到广泛重视。随着软件工程技术的发展,高校又増设了面向对彖技术,支持而向刈豫技术的Smalltalk语言、软件过程管理、软件测试技术、软件过程度最等课程,软件工程领域的教学内容不断丰富,教学时数不断增加,教学改革不断深入。为适应我国经济结构战略性调整,实现软件产业和软件人才培养的跨越式发展,2000年发布了18号文件国务院关J:印发鼓励软件产业和集成电路产业发展
10、的若干政策的通知,2001年经教育部和国家计委批准,全国成立了35所示范性软件学院。各高校软件学院和计算机学院(系)为培养高层次、实用型、复合型、貝有国际竞争力的人才,要求学生在思维创新的基础上,提高技术创新和工程创新能力,提高软件工程实践和软件工程管理能力。这有效地促进了我国软件工程学科的发展,我国软件工程教育开始走向成熟。软件工程学科概况SWECC发布的SWEBOK定义了软件工程学科的内涵,它由10个知识域构成。(1)软件需求软件需求描述解决现实世界某个问题的软件产品,及对软件产品的约束。软件需求涉及需求抽取、需求分析、建立需求规格说明和确认,涉及建模、软件开发的技术、经济、时间可行性分析
11、。软件需求直接影响软件设计、软件测试、软件维护、软件配置管理、软件工程管理、软件工程过程和软件质量等。(2)软件设计设计是软件工程最核心的内容。设计既是“过程”,也是这个过程的“结果”。软件设计由软件体系结构设计、软件详细设计两种活动组成。它涉及软件体系结构、构件、接II,以及系统或构件的其他特征,还涉及软件设计质最分析和评估、软件设计的符号、软件设计策略和方法等。(3)软件构造通过编码、单元测试、集成测试、调试、确认等活动,生成可用的、有意义的软件。软件构造除要求符合设计功能外,还要求控制和降低程序复杂性、预计变更、进行程序验证和制定软件构造标准。软件构造与软件配置管理、工具和方法、软件质鼠
12、密切相关。软件测试测试是软件生存周期的重要部分,涉及测试的标准、测试技术、测试度駅和测试过程。测试不再是编码完成后才开始的活动,测试的目的是标识缺陷和问题,改善产品质最。软件测试应该闱绕整个开发和维护过程。测试在需求阶段就应该开始,测试计划和规程必须系统,并随着开发的进展不断求精。正确的软件工程质鼠观是预防,避免缺陷和问题比改正好。代码生成前的主要测试手段是静态技术(检査),代码生成后采用动态技术(执行代码)。测试的重点是动态技术,从程序无限的执行域中选择一个有限的测试用例集,动态地验证程序是否达到预期行为。软件维护软件产品交付后,需要改正软件的缺陷、提高软件性能或其他属性、使软件产品适应新的
13、坏境。软件维护是软件进化的继续。软件维护要支持系统快速地、便捷地满足新的需求。基J:服务的软件维护越来越受到重视。软件维护是软件生存周期的组成部分。然而,历史上维护从未受到重视。现在情况有了改变,软件组织力图使软件运营时间更长,软件维护成为令人关注的焦点。软件配置管理为了系统的控制配置变更,维护整个系统生命周期中配置的一致性和可追踪性,必须按时间管理软件的不同配置,包扌舌配置管理过程的管理、软件配置鉴别、配置管理控制、配置管理状态记录、配置管理审计、软件发布和交付管理等。软件工程管理运用管理活动,如计划、协调、度最、监控、控制和报告,确保软件开发和维护是系统的、规范的、可度最的。它涉及基础设施
14、管理、项目管理、度屋和控制计划三个层次。度最是软件管理决策的基础。近年来软件度駅的标准、测度、方法、规范发展较快。软件工程过程管理软件丁程过程的目的是实现一个新的或者更好的过程。软件工程过程关注软件过程的定义、实现、评估、测量、管理、变更、改进,以及过程和产品的度最。软件工程过程分为:围绕软件生存周期过程的技术和管理活动,即需求获取、软件开发、维护和退役的各种活动:对软件生存周期的定义、实现、评估、度量、管理、变更和改进。软件工程工具和方法软件工程工具是以计算机为基础的,用辅助软件生存周期过程。通常,工具是为特定的软件工程方法设计的,以减少手工操作的负担,使软件工程更加系统化。软件工具的种类很
15、多,从支持个人到整个生存周期。软件工具分为:需求工具、设计工具、构造工具、测试工具、维护工具、配置管理工具、工程管理工具、工程过程工具、软件质量工具等。软件工程方法支持软件工程活动,使软件开发更加系统,并能获得成功。软件工程方法不断发展。当前,软件工程方法分为:启发式方法,包括结构化方法、面向数据方法、而向刈豫方法和特定域方法;某数学的形式化方法;用软件工程多种途径实现的原型方法,原型方法帮助确定软件需求、软件体系结构、用户界面等。软件质量软件质最贯穿整个软件生存周期,涉及软件质最需求、软件质最度最、软件属性检测、软件质最管理技术和过程等。SWEBOK还把软件工程和关学科列为知识域,它们是软件
16、工程发展不可或缺的部分。相关学科知识域包扌舌计算机工程、计算机科学、数学、管理学、项目管理、质最管理、系统工程学和软件人类工程学八个领域。软件工程学科的方法论软件工程学科是计算学科的分支,计算学科中理论、抽象、设计等三个学科形态,绑定、人问题的复杂性、概念和形式模型、一致性和完备性、效率、演化、抽象层次、按空间排序、按时间排序、重用、安全性、折衷与决策等12个基本概念,数学方法、系统科学方法在软件工程学科中占有重要地位。此外,软件工程还十分重视管理过程,以提高软件产品的质最、降低开发成本、保证工程按时完成。系统性、规范性、可度鼠性也是软件工程非常关注的。软件工程学科的相关学科软件工程学科的理论
17、基础是数学、计算机科学。软件工程的研究和实践涉及人力、技术、资金、进度的综合管理,是开展最优化生产活动的过程;软件工程必须划分系统的边界,给出系统的解决方案。因此,软件工程的相关学科有计算机科学与技术、数学、计算机工程、管理学、系统工程和人类工程学等。计算机科学与技术在计算学科发展的早期,计算机科学家开发软件,电子工程师生产支持软件运行的碾件。随着软件规模、复杂性和重要性的增加,确保软件按人们的意图运行格外重要。软件工程的主要基础是计算机科学与技术。有效的软件开发实践需要比计算机科学原理更多的内容,它不仅需要计算机科学的理论、方法和工具,还需要加强工程严密性、提高合理使用各种资源的管理水平。软
18、件工程教育知识体反映了软件工程对计算机科学的依赖,以及作为计算基础的主要成分。工程学科软件工程强调采用工程化的方式开发软件,软件工程具有卜列工程特征:通过成本和收益的折衷分析调整软件工程策略。能対软件工程涉及的某些对彖,如质鼠、成本、工作最、进度等进行度帚,耍确认度崑方法,并根据经验和实验数据进行估算。依靠团队,强调团队的效率和纪律性。工程师能胜任多种角色,如研究、开发、设计、生产、测试、构造、操作、管理,以及销俗、咨询和培训等。5)在软件工程过程中选择和使用合适的工具。6)通过专业协会和最佳实践提高个人能力。7)重用设计和设计制品。工程活动以设计为中心,设计在软件工程活动中占有十分重要的地位
19、。为了满足项目需求,工程设计过程必须对潜在的冲突和约束进行折衷。工程设计涉及技术、经济、法律和社会等方面的问题。因为软件的特殊性,软件工程与传统的工程学不同。软件工程更关注抽彖、建模、信息组织和表示、变更管理等。软件工程在产品的设计阶段必须考虑实现和质鼠控制。持续的进化是软件产品的重要特征。软件工程设计的关键是工程设计决策,它将用J软件抽彖的各个层次。重用和基J:构件开发在工程设计实践中越来越受到重视。(3)管理学科软件开发是一个项目目标实现的过程,管理科学的目标性和约束性原则在软件工程中得到重要的体现。软件工程强调软件产品及其开发过程的成本、进度、质量和文档的属性,要求在特定的环境和一定的组
20、织机构内,有效地利用有限资源(人力、物力、财力等),通过协调一系列相互关联的任务,在规定的时间内完成,并满足一定的性能、质量、数屋、技术指标等要求。软件的特殊性增人了管理的难度,因此,软件工程在软件生存周期的整个过程中,刈需求、计划、成本、风险、过程和质帚进行度量、跟踪、管理与控制。二、软件工程专业培养目标和规格人才培养目标培养德、智、体、美全而发展,掌握自然科学和人文社科基础知识、计算机科学基础理论、软件工程专业及应用知识,具有软件开发能力,具有软件开发实践和项目组织的初步经验,具有创新、创业意识,具有竞争和团队精神,具有良好的外语运用能力,能适应技术进步和社会需求变化的高素质软件工程专门人
21、才。人才培养规格软件工程专业的学制一般为四年,授予工学学士学位。其素质结构、能力结构和知识结构要求如卜:(1)素质结构要求思想道德素质:热爱祖国,拥护中国共产党的领导,树立科学的世界观、人生观和价值观;具有责任心和社会责任感:具有法律意识,自觉遵纪守法:热爱本专业,注重职业道德修养:具有诚信意识和团队精神。文化素质:具有一定的文学艺术修养、具有良好的文字和II头表达能力、具有交流和沟通能力与现代意识。专业素质:掌握科学思维方法、工程设计方法,貝备良好的工程素养:貝有创新、创业精神;具有严谨的科学态度和务实的工作作风。身心素质:具有较好的身体素质和心理素质。能力结构要求掌握软件工程的知浜与技能,
22、具备软件工程师从事工程实践所需的专业能力。获取知识能力:终身学习能力、信息获取能力、适应学科发展的能力等。应用知识能力:需求分析和建模的能力、软件设计和实现的能力、软件评审与测试的能力、软件过程改进与项目管理的能力、设计人机交互界面的能力、使用软件开发工具的能力等。创新能力:在基础研发、工程设计和实践等方而具有一定的创新意识和能力。知识结构要求工具性知识:外语、文献检索、科技写作等。人文社会科学知识:文学、哲学、政治学、社会学、法学、心理学、思想道德、职业道德、艺术等。自然科学知识:数学、物理学等。工程学知识:工程经济学、其他工程应用领域的基础知识。经济管理知识:经济学、管理学等。专业技术基础
23、知识:计算机科学、数学基础知识,包括离散数学、程序设计语言和程序设计、数据结构、计算机体系结构、操作系统和网络、数据库等。专业知识:软件需求、软件建模与分析、软件设计、人机交互、软件验证与确认、软件进化、软件过程、软件质駅和软件管理等。三、软件工程专业教育内容和知识体系人才培养的教育内容及知识结构的总体框架理论依据“软件工程”是一门用系统的、规范的、可度崑的方法开发、运行和维护软件的学科。主要的教育知识领域包括:计算基础、数学和工程基础、职业实践、软件建模与分析、软件设计、软件验证与确认、软件进化、软件过程、软件质最和软件管理。软件工程教学既重视理论知识和较高层次分析问题、解决问题的方法,也重
24、视软件设计和工程实践。本规范给出了知识单尤的总体框架和课程体系的最小核心部分,并提出了课程体系设计的指导性建议。不同院系可根据自己的教育资源、系统和需求,对本课程体系进行调整和扩允。C)总体框架按照顶层设计的方法,理工科本科专业教育内容和知识体系由普通教育(通识教育)、专业教育和综合教育三部分构成:普通教育包括:人文社会科学,自然科学,经济管理,外语,体育,实践训练等知识体系。专业教育包括:相关学科基础,软件工程学科专业,专业实践训练等知识体系。综合教育包括:思想教育,学术与科技活动,文艺活动,体育活动,自选活动等知识体系。软件工程专业教育的知识体系软件工程专业教育知识体系概貌软件工程教育知识
25、体系由知识领域、知识单元和知识点三个层次组成。最高层是知讲领域(Area),代表一个特定的学科子领域,用组织、分类和描述软件工程知识体系的顶层概貌。每个知识领域由前缀SE-加该领域的英文缩写词表示,比如SE-CMP代表计算基础,SE-MAA代表软件建模与分析。知识领域之卜又划分成更小的知识单尤(Unit),代表各个知识领域中的不同方向,用知识领域缩写后面加小写英文字母后缀表示。例如,MAAer表示知识领域SE-MAA中的“需求获取”知识单尤。知识点(Topic)是整个体系结构中的最底层,代表知讲单尤中单独的主题模块。软件工程专业共有10个知讲领域,42个知识单元,建议最小核心学时数为494。软
26、件工程专业教育知讲体系的知识领域软件工程专业教育共包扌舌10个知识领域:SE-CMP计算基础SE-FND数学和工程基础SE-PRF职业实践SE-MAA软件建模与分析SE-DES软件设计SE-VAV软件验证与确认SE-EVO软件进化SE-PRO软件过程SE-QUA软件质量SE-MGT软件管理每个知识领域包含的核心知识单元软件工程教育知识体系概要说明了各个知讲领域、知讲单元、所需的最小建议学时等。知识体系各领域的详细情况列在表1中。表内各知识单尤后而的括弧内给出了它们各自的核心学时数。有关知识领域、知识单元以及相关知浜点的详细描述在附录1中给出。 表1知识领域和知识单元知识领域知识单元(最小核心学
27、时数494)CMP.cf计算机科学基础(140)CMP.ct构造技术(20)SE-CMP计算基础(172)CMP.tl构造工具(4)CMP.fm形式化开发方法(8)FND.mf数学基础(56)SE-FND数学和工程基础89)FND.ef软件的工程基础(23)FND.ec软件的工程经济学(10)PRF.psy团队激励/心理学(5)SE-PRF职业实践(35)PRF.com交流沟通技能(10)PRF.pr专业技能(20)MAA.nd建模基础(19)MAA.tm模型分类(12)MAA.af分析基础(6)SE-MAA软件建模与分析(53)MAA.rfd需求基础(3)MAA.er需求获取(4)MAA.r
28、sd需求规约与文档(6)MAA.rv需求确认(3)DES.con设计概念(3)DES.str设计策略(6)软件设计(45)DES.ar体系结构设计(9)SE-DESDES.hci人机界面设计(12)DES.dd详细设计(12)DES.ste设计支持工具与评价(3)VAV.fnd基本知识(5)VAV.rev评审(6)SE-VAV软件验证与确认(42)VAV.tst测试(21)VAV.het人机用户界面测试和评价(6)VAV.par问题分析和报告(4)软件进化(10)EVO.pro进化过程(6)SE-EVOEVO.ac进化活动(4)软件过程(13)PRO.con过程概念(3)SE-PROPRO.i
29、mp过程实施(10)QUA.cc软件质虽概念与文化(2)QUA.std软件质呈标准(2)SE-QUA软件质虽(16)QUA.pro软件质呈过程(4)QUA.pea过程保证(4)QUA.pda产品保证(4)MGT.con管理概念(2)MGT.pp项目计划(6)SE-MGT软件管理(19)MGT.per项目人员和组织(2)MGT.ctl项目控制(4)MGT.cm软件配置管理(5)本规范设计知识体系的一个原则是,使知识体系的核心尽可能小,主要包括获得软件工程本科学位所必须具备的知识。核心即必须。知识体系中的应用知识领域作为软件工程专业本科教育的一部分,学生应该在一个或多个应用领域拥有专长,为此必须学
30、习一些上述核心单元之外的知讲。学生可以专注上述10个知识领域中的一个或多个,也可以专注表2所列16个应用领域知识单元中的45个。对每一个应用领域知识单元,学生应该在深入学习特定系统设计的同时,广泛学习有关的领域知识,并且学习这些领域中典型产品的特性及其对系统设计与开发的影响。具体每个领域单尤对应的知识点参见附录1。表2知识体系中的应用领域知识领域知识单元SAS.net以网络为中心的系统SAS.inf信息系统和数据处理SAS.fin金融和电子商务系统SAS.sur容错和可存活系统SAS.sec高安全保密系统SAS.sfy安全攸关系统SAS.emb嵌入式和实时系统SE-SAS特定系统和应用SAS.
31、bio生物医学系统SAS.sci科学系统SAS.tel电信系统SAS.av航空和交通系统SAS.ind丁业过程控制系统SAS.JMTl多媒体、游戏和娱乐系统SAS.nob小型移动平台系统SAS.ab基于Agent的系统SAS.chi中文信息处理授课方式、最少讲授时间或实验时间本规范使用学时作为课时单位,表示以传统方式在课堂上授课的时间。为了避免任何可能的混淆,特作以F说明:不限定授课方式:近年来教育技术与手段有了很大进步,产生了许多新的教学方式。规范仍采用学时作为统一授课单位。课时数不包含课外的时间:即不包含教师的准备时间、学生实验时间和学生花在课堂外的时间。通常,课堂外花费的时间约为课内时间
32、的2倍。表1中列出的每个知识单尤学时为最小学时数,但可以根据需要适当增加。软件工程专业教育的课程体系知识体系给出了软件工程专业的知识框架,在此知识体系的基础上构建相应的课程和课程体系。各院校可参照本规范推荐的几种核心课程体系,遵循以I、原则构建具有本校特色的课程与课程体系:1)借鉴ACM和IEEE-CS联合推出的SE2004o2)满足软件工程教育知识体最小核心要求。3)加强计算机学科基础。4)增强软件工程能力培养。5)加强团队精神和交流沟通能力。6)与应用领域相结合。7)课内、课外相结合。8)符合中国高等教育的实际情况。课程教学包括理论课程教学和实验课程教学。一门课程可以由一个或若干个知识领域
33、构成,也可以从各知识领域中抽取相关的知识单元组成。课程体系应覆盖知识体系的知识单元,尤其是核心知识单尤。软件工程专业课程体系由核心课程和选修课程组成,核心课程应该覆盖知识体系中的全部核心单尤。同时,各高校可选择一些反映学科前沿和学校特色的选修课程。(1)课程设置课程设置分为以I、不同类型:1)数学基础课程:包括与本专业相关的数学基础知识。2)计算基础课程:包括计算基础的入门知识。此类课程可以是计算机科学的成熟课程,也可以是软件工程教育计划新定义的课程。它们通常从第一年开始讲授,并延续到第二年甚至第三年。3)软件工程核心课程:包括软件工程教育核心知识。此类课程是软件工程教育计划新定义的课程。它们
34、通常从第二年开始,并延续到第三年甚至第四年。4)非技术性基础课程:覆盖了知识领域中的其他一些非技术内容,是从事软件工程职业的毕业生所必需掌握的知识和能力。5)附加课程:覆盖了知识领域中的其他一些内容、其他相关学科教程中的内容或知识体系中16个应用领域中的内容。这些课程可以由各院校自行决定,办出特色,本规范不展开讨论。(2)软件工程专业的课程体系及核心课程根据软件工程知讲单元的分布,设计了27门课程和4个参考教学计划,每种计划均包含19门课程。表3给出了这些课程及所含的知识单元、参考学时数等。图1给出了四种参考教学计划的课程设置方案。附录2给出了每门课程的详细描述。2S 2S #表3软件工程专业
35、的课程体系课程编号课程名称包含的知识单元课程学时最小核心学时参考学时授课学时实验学时CS101程序设计基础CMP.cfoVAV.tstCMP.tloPRF.paAArfdoDES.con.VAV.revo394816CS102面向对象方法学CMP.cfaCMP.ctoDES.con*DES.hcioVAVfnd.EVO.pro364816CS103数据结构和算法CMP.CfaVAV.tst314816CS105离散结构ICMP.cfaFlTO-f2448CS106离散结构nCMP.cfaFlTO.Bf.MAAmd2748CS220计算机体系结构CMP.cf154816CS226操作系统和网络C
36、MP.cf164816CS270数据库CMP.CfaMAAnd134816NT272工程经济学F11D.efoFITD.ecoMGT.pp1332NT181团队激励和沟通PRF.psy。PRFcomMAA.rsd11168NT291软件工程职业实践PRF.proQUAcc1416SE101软件工程与计算ICMP.CfaMAA.eroCMPctoCMP.tlaF1TDMAArsdoDES.coiuefcPRFproMAA.tmDES.stroDESdd.MAArfdoVAV.tst354816SE102软件工程与计算HCMP.cf.DES.steoPRF.proVAV.fnd.MAAadoVAV
37、.revMAA.rv.VAV.tstDES.straVAV.parDESdda。EVO.pro364816SE200软件工程与计算inCMP.cf.DES.stroPRO.imp.CMP.ctoDESarcMGTconF1TOefoDES.hcicPRF.pr.DES.ev.MAAmd.VAVfnd.DESconaVAV.rev.384816SE201软件工程导论CMP.ctoMAA.rsdoDES.ddoPRO.imp.FHDefcPRF.pr;MAAmd。MAAtmMAA.rfdeMAA.eraMAArvoDES.conDES.stroDESar。DES.heicDES.steoVAV.f
38、nd.VAV.revoVAV.tst.VAV.paroMGT.con344816SE211软件代码开发技术CMP.ctoCMP.tloCMP.fm.FlID.nifoMAAad364816SE212人机交互的软件工程方法CMP.CtaDES.hci。FHD.efoVAV.fnd.PRF.psyoVAV.revMAAmdoVAV.tstMAA.t;VAV.hetMAA.rfdo。QUA.pda253216SE213大型软件系统设计与软件体系结构MAA.mdMGT.coneMAA.tmoMGTpp。DES.stroMGT.cmDES.ar.EVO.pro.EVO.aco283216SE221软件测
39、试MAA.rfdoVAV.fnd.VAV.revVAV.tstVAV.par。QUA.pda23328SE311软件设计与体系结构CMP.ct.DES.steoMAAmdoEVOprooMAAta0EVO.acDES.strDES.aroDESdda333216SE312软件详细设计CMP.ctoCMP.tloCMP.fmoWAA.tnuDESdd.EVO.ac263216SE313软件工程的形式化方法CMP.fmaDES.steoFITOMAAmdaMAAEVOactmMAArsdaMAA.rv。DES.d(L343216SE321软件质戢保证与测试FUD.mfoQUA.stdoVAV.fn
40、doVAVrevoVAV.tst.VAV.par,rfdQUApro。QUA.pea。QUApdaPRO.con。373216SE322软件需求分析MAA.tm。MAA.rfdMAAer*MAA.rsdeMAA.rv。MAA.rfd18328SE323软件项目管理MAA.mgt。PRO.conaPRO.impMGT.conMGT.ppoMGT.per。26328包含的知识单元课程学时最小核心学时参考学时课程编号课程名称授课学时实验学时MGT.ctloMGToiSE324软件过程与管理MAA.erMAA.rsdoMAArfd.EVO.pro.PRO.conePRO.imp*QUA.ee。QUAs
41、td。QUA.pro.QUA.pcQUA.pda.MGT.pp。MGT.peroMGT.ctl39488SE100软件工程综合实习(含毕业设计)CMP.etaPRF.psy。PRF.com。PRF.pr。MAA.MAA.erMAA.rsd.MAArv。DES.str。DESarDES.heiDES.ddoDES.ste.VAV.rev,VAV.tstMGT.pp.MGTperoMGI.cm28420(注:实验学时指课内授课学时,具体安排时需要按课内外学时比例进行和应扩充。)图1课程设理的不同可选方案其中,程序设计基础(CS101)、而向对彖方法学(CS102)和软件工程导论(SE201)是一组
42、计算机科学优先课程:软件工程与计算I(SE101)、软件工程与计算II(SE102)和软件工程与计算III(SE200)是一组软件工程优先课程。制定貝体教学计划时只选其中一组。2S #为了供不同的院校选择适合自己的软件工程专业核心课程,本规范把一部分软件工程专业核心课程分为两组。其中,软件代码开发技术(SE211)、软件设计与体系结构(SE311)、软件质量保证与测试(SE321)、软件需求分析(SE3H)和软件项目管理(SE323)是一组;大型软件系统设计与软件体系结构(SE213)、软件测试(SE221)、软件详细设计(SE312)、软件工程的形式化方法(SE313)和软件过程与管理(SE
43、324)是另一组。制定具体教学计划时只选其中一组。本规范根据计算机科学优先或软件工程优先,以及软件工程核心课程的不同组合方式,设计了四种参考教学计划方案,如图所示,供各院校参考。四种教学计划的课程设置方案分别如卜(见附录3):1)计算机科学优先课程(A)+共性基础和专业课程(C)+软件工程核心课程组合I(p)2)计算机科学优先课程(A)4-共性基础和专业课程(C)+软件工程核心课程组合口3)软件工程优先课程(B)4-共性基础和专业课程(C)+软件工程核心课程组合ICD)4)软件工程优先课程3)+共性臬础和专业课程(C)+软件工程核心课程组合口软件工程专业的实践教学内容及体系软件工程专业培养的毕
44、业生应该熟练掌握软件工程知识与技能,并且具备作为软件工程师从事工程专业所需的专业能力。系统的专业工程实践体系不仅有利培养学生深入掌握专业技术,而且有利培养从事该专业工作所必需的职业道德与行为规范。实践教学体系需要重点培养学生以I、几方面的能力:工具的使用与实验技能、工程设计与实现能力、评审与测试能力、团队协作与沟通能力、过程管理与控制能力等。实践教学的形式包括:课程实验、综合设计、项目实践、企业实践、毕业设计等。在实践教学的各个可能环节中,尽可能地反复安排对专业素质与职业道德的训练。课程实验课程实验是重要的实践教学环节,与课堂教学和辅相成。实验贯穿理论、抽彖和设计过程,对软件系统的设计与实现、
45、测试原理与方法起示范作用。实验不仅仅是対理论的验证,重要的是技术训练和能力培养,包括动手能力、分析问题和解决问题能力、书写和表达能力、协作能力等。教学活动是教师和学生不断交流沟通的过程,实验是实现这个过程的桥梁,可以加深对理论知识的理解,启发学生深入思考,敢创新,达到理论联系实际的教学效果。实验内容、方式和方法要有利学生实验能力、独立工作与协作能力的培养。通过实验,学生要掌握相关课程涉及的技术与方法,训练学生的基本实验技能和工具的使用。软件工程专业应加强实验教学,尤其是要重视设计性实验和综合性实验。综合性课程设计设立综合性课程设计使学生能综合应用若干课程的技术与方法。这些综合性设计可以作为单独
46、的实验课程开设,也可以作为软件工程综合实习的一部分。附录4给出6个综合课程设计范例,学校可根据实际情况进行选择和增补。(3)毕业设计及其他毕业设计是工程和教学紧密结合的实践坏节。学生的毕业设计题目可以源J:教师或软件企业的开发项目。结合学生实践能力的培养,可以有意识地创造一些条件让学生有机会参与校内或校外项目开发活动。其主要方式有:1)校内项目开发活动:高年级学生参与校内教师的软件项目开发活动;鼓励学校或相关合作企业在校内设立专门的学生研究开发项目,学生在教师的指导卜从事项目的开发工作:学生自发组织的兴趣开发活动。2)校外项目开发活动:学校可有计划地组织学生到校外企业或研究开发单位参与项目开发
47、。企业实习可以缩短用人单位对毕业生的岗位培训时间,丰富学生的工作经验,提高就业竞争力。企业实习的形式包括企业考察与调研、参与短期项目开发、在企业完成毕业设计等。应该鼓励有能力和精力的学生积极参与重要的学科竞赛,例如数模竞赛、程序设计人赛等,学生可以从中获得很好的实践效果。学校应该建立一定的评估与管理体制対实践教学的效果和过程控制提供合理的评估,从1何起到有效的促进作用。评估体制应该能充分激励参与实践教学各方的积极性,包括学生、教师和相关参与企业。四、软件工程专业的办学条件1师资力量软件工程专业师资包含专职教师和兼职教师。专职教师指从事本规范教学活动的学校在编的具有教师专业技术职务的全部工作人员
48、。兼职教师指外删教师。根据高等院校理工科本科专业人才培养的耍求,需要构建一支整体素质高、结构合理、业务过硬、貝有创新精神的师资队伍。师资队伍建设应有长远规划和近期目标,有吸引人才、培养人才、稳定人才的良性机制,通过教学科研实践活动提高师资队伍水平。(1)师资队伍的数最与结构1)生师比适宜,应不高ri8:io其中生师比=普通本科学生总数/教师总数。教师总数=专职教师数+兼职教师数乩2)专兼职教师比例适宜。专职教师应不少教师总数的2/3,其中受过较好工程训练的专职教师应不少J:教师总数的1/3。建立健全的专职教师和兼职教师卿用和管理制度。3)师资队伍结构合理,符合专业目标定位要求,适应教学和专业长
49、远发展的需要。4)年龄结构合理。5)学历(学位)和职称结构合理。具有硕士以上学历(学位)和讲师以上职称的教师占专职教师的比例不低85%。学缘结构和专业结构合理。学科带头人的专业结构分布合理,专业梯队阵容整齐。(2)対教师队伍的知识、能力、素质结构的要求思想政治素质:坚持四项基本原则,用唯物主义的立场、观点和方法观察事物、分析问题,具有良好的道德修养,为人师表、教书育人,团结合作,谦虚谨慎、严谨治学,对国家和社会具有强烈责任感和使命感。学术水平:应具备较为全面的专业基础知识和软件工程科研和工程实践经验,能不断加速更新拓宽知识,具有较高的教学、科研能力和创新能力。外语能力:能熟练地查阅外文资料,参
50、考外文教材,基本具备国际学术交流能力:鼓励采用外文原版教材和双语教学。教学能力:积极开展教学研究,不断深化教学改革,有效运用现代教学手段和教学方法,提高教学效果。(3)助教岗位的设置建立健全的助教制度,根据课程特点和学生人数配备适最的助教,协助主讲教师指导实验、组织讨论、批改作业、进行答疑等教学活动。(4)设置教学质駅保证和监控体系建立科学、规范的教学质最保证和监控体系,重视软件工业界的意见和对毕业学生的跟踪。2教材教材选用应注重教材的基础理论、基本知识、基本技能,体现思想性、启发性、科学性、工程性、先进性、适用性,适合本专业培养目标和培养模式的要求。根据教学计划和人才培养的需要,选用有影响、
51、有特色的高质鼠中、英文教材。加快教材的更新换代,缩短使用周期。考虑到软件工程相关学科知识更新周期短的特点,使用近四年出版新教材的比例应不低J-专业课总数的50%。重视参考资料(尤其是电子文献)対课程教学的辅助作用。教材选用应有科学的评价和选用制度,定期进行审核和评测。对首次使用的教材,尤其是新编教材,任课教师应进行质最追踪,为教材评价提供参考。搞好教材建设规划,注重教材配套,努力填补空白,鼓励高水平教师编写高质最教材。教材内容要适应软件工程专业发展和社会经济发展的需求。加强教学案例建设和实验教材的编写。鼓励教师开发配套的多媒体教材。现代化教学手段与网络教学平台2SS2SS #本专业的专业课程要
52、善j:应用现代教育技术,鼓励教师制作电子讲稿。各学校应加强网络教学平台建设、丰富网上资源,发挥网络教学平台在教学活动中的作用。图书资料图书资料包括文字、光盘、声像等各种载体的中外文献资料。图书馆应具有的软硬件条件应具备一定数最的与软件工程专业有关的图书资料,种类齐全,满足教学和科研工作的需要。生均与专业有关的各类图书册数应达到教育部规定的相应要求。生均面积和阅览座位数应满足教育部有关规定。充分利用计算机网络,加强图书馆的信息化建设,为读者提供网络坏境卜多种多样的信息服务。C)图书资料采集经费应保证一定数额的年度图书资料采集经费,使图书资料每年能保持一定的更新比例。实验室实验室建设须有长远建设规
53、划和近期工作计划,实验室建设既需要注重专业基础实验,又要注重新方向、新技术的发展,还要结合本专业特长和地方经济发展需求,建设专业实验室。实验室应提供开放服务以提高设备利用率。实验室内容建设根据教学体系和实践教学的要求,目前软件工程本科专业实验室人体分为基础课程实验室(含公共基础课程实验室和专业基础课程实验室)和专业实验室。基础实验室建设一般涵盖公共基础课程和专业基础课程,通常包括程序设计、数据结构和算法、操作系统、计算机体系结构、数据库、计算机网络、面向对彖方法学、软件工程导论等必修课程。专业实验室建设主要涵盖体现不同专业方向和地方特色的专业课,例如覆盖以卜列课程中的一门或多门课程:软件构造、
54、软件设计与体系结构、软件质最保证与测试、软件需求分析、软件项目管理、人型软件系统设计与软件体系结构、软件测试、软件详细设计、软件工程的形式化方法、软件过程与管理等。实验室设备和经费计算机是基本实验设备,生机比不应高PSU网络设备应配有服务器、交换机、路由器、网络测试仪、组网工具、其他网络与组网教学模块及组件、不间断电源、机柜、打印机、网络布线等所需基本设备。注重实验室软件坏境和CASE工具的建设。列入固定资产的仪器设备帐物和符率达到100%。低值耐用品的帐物相符率不低J95%o现有仪器设备完好率不低J-95%,处维修状态一个月以上的仪器设备不超过本实验室仪器设备总数的3%。仪器设备、软件工具应
55、适应技术发展与人才培养的需要,适时更新。 #实验室内部应满足基本卫生、安全等条件,使用而积符合教育部相关规定。实验室管理应具备教学人纲、教学计划、任务书、教学口志、课表、实验指导书等规范材料,基础课实验室承担的教学任务要达到每台每周30小时以上的利用率,专业课实验室承担的教学任务要达到每周20小时以上的利用率。为提高学生的独立思考及独立操作能力,基础课实验室应提倡单人单机,特殊情况卜每组实验人数不超过2人。实习基地建设实习基地是实践教学坏节的重要组成部分。实习基地的建设有利培养学生工程实践能力和专业道德与行为规范的培养。学校应定期对实习基地进行评估,包插接受学生的数最、提供实习题目的质帚、学生
56、实践过程的管理和学生的实践效果等。校内实习基地校内实习基地应能为参加实践教学环节的学生提供平均每人每周30小时以上的独立设备使用时间,并设有专门的指导教师対学生的实践内容、实践过程等进行全面跟踪、指导。校外实习基地学校应本着就地就近、互惠互利、专业对II、相对稳定”的原则,在有关部门的协调卜,积极与相关单位建立校外实习基地,并鼓励学生到软件企业实习。学校应指定有实践经验、责任心强的教师担任实习指导教师,并聘请实习基地中政治思想好、业务水平高、贵任心强的人员,担任校外指导教师。教学经费对新建软件工程专业的学校,教学经费应包括实验室建设经费、图书资料经费和人员工资费用等。专业开办经费(不包括固定资
57、产)应保证一定的数额。对已建软件工程专业的学校,每年正常的教学经费应包含师资队伍建设经费、人员工资费用、实验室维护更新费用、图书资料经费、实习基地建设经费等。五、制定本专业规范的主要参考指标培养方案本科学制:基本学制四年,实行弹性学分制的学校,一般为38年。在校基本总周数:200-202周(其中教育教学166168周,寒暑假3234周)。本专业的培养方案,包含普通教育、专业教育、综合教育、毕业设计(论文)等坏节,课内总学分应控制在160学分左右。普通教育的学分为50学分左右,包括:政治思想教育和人文社会科学学分;自然科学学分:经济管理学分:外语学分;体育学分等。专业教育的学分90学分左右,包括
58、60学分左右的专业基础和30学分左右的专业选修课。综合教育的学分为20学分左右。学时与学分的折算办法:未实行学分制的学校,学时与学分的折算由各校根据学校实际情况自行决定。本规范建议课程教学1618学时折算1学分,集中实践性坏节(含毕业设计)每周折算为1学分。在特殊情况卜,某些课程的学时学分折算办法可自行调整(例如,体育课36学时1个学分)。师资队伍教师数虽:生师比不高于18:1主讲教师(兼职教师除外)中具有硕士以上学位或讲师以上职称,并获得教师任职资格的应占85%以上。兼职教师应具有较好的表述能力。教学条件计算机数最不少丁每3人1台,貝有技术先进的网络坏境并同Internet连接。具有满足教学
59、需耍的教学仪器设备。具有满足教学需要的图书资料(含校图书馆和学院资料室的文字、光盘、声像等各种文献资料)和多媒体教学坏境。教学经费能够保证教学正常进行。实践教学实践教学学分,在普通教育和专业教育总学分中所占的比例不低P20%o有实验的课程中,40%以上课程应有综合性、设计性实验。有向本专业学生开放的机房,学生在校期间上机时数不低J800小时。有符合本专业培养目标的学生实习基地。毕业设计(论文)坏节不低14周,选题应反映本专业领域的发展动态或应用需求。 #附录1软件工程教育知识体系的详细描述木规范采用Bloom分类法说明毕业生对知识点应当掌握的程度,即了解、理解和运用,具体含义如下:了解:能记住
60、学习过的内容。理解:能领会课程内容的倉义,掌握知识的内涵。运用:能在新的具休情况下应用所学知识解决问题。同时,本规范还说明了各知识点的重要程度,即核心、推荐、可选。核心:该知识点是核心知识单元的一部分。推荐:该知识点不是核心知识单元的一部分,但应包含在必修课程中。可选:该知识点屈丁选修知识单元。下而分别对软件T.程知识体系中10个知识领域和1个应用知识领域进行谦细描述,包括每个领域包倉哪些知识单元,每个知识单元又包含哪些知识点,以及每个知识点需要掌握的程度、重要程度,并列出与其相关的其他知识点。1.计算基础(CMP)计算基础包括支持软件设计与开发的计算机科学基础知识,还包括将设计转换为实现的知
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- MySQL并发事务处理机制试题及答案
- 重要2025年税法知识试题及答案
- C++面向对象程序设计解析试题及答案
- 2025企业雇佣短期工合同
- 2025年财务考试题目汇编试题及答案
- 计算机一级Photoshop作品分析试题及答案
- 让你轻松过关22025年计算机二级试题及答案
- 基础计算机知识常识试题及答案
- 2025年Web开发前景试题及答案
- 财务成本控制中的逻辑分析试题及答案
- 西南交11春学期《模拟电子技术A》离线作业
- 施工单位平安工地考核评价表(标准)
- 建筑材料分类整理
- 人民币发展史-课件(PPT演示)
- 经历是流经裙边的水
- 工作票培训-课件
- 骨科疾病的康复课件
- 三氯乙醛 氯醛MSDS危险化学品安全技术说明书
- 合作社贷款申请书范文(优选十三篇)
- 产品平台与CBB技术管理课件
- 学院学生纪律处分登记表
评论
0/150
提交评论