开篇:润墨网以专业的文秘视角,为您筛选了一篇软件工程专业课程建设的思考与实践范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!
摘要:针对软件工程专业的课程设置问题,从职业技能结构、专业知识体系和课程教学模式3个维度对专业的课程建设工作进行总结,提出遵循软件工程规范、研究职业技能结构的课程建设思想,构建以核心技能为主题的3个层次的专业课程体系。
关键词:知识体系;技能标准;教学模式;课程体系
课程建设是专业建设的核心内涵,课程设置及其教学质量反映了一个专业的教育理念、办学特色和人才培养质量。我国软件工程专业教育可以追溯到2001年底国家推出的示范性软件学院计划,该计划中的专业定位是面向软件产业培养高素质的工程型软件实用人才。2011年2月,国务院学位委员会正式公布修订的学科目录,把软件工程新增为一级学科,这充分说明了软件工程学科在国家战略层面上已经提升到一个新的高度。虽然,我国1900多所高校中有近200所院校开设了软件工程专业,但是,软件工程的专业教育现状与软件工程的技术发展差距较大,市场对人才的需求仍存在较大缺口,适应产业市场不断发展的软件工程专业建设工作依然任重道远。
1 职业技能结构分析
软件工程专业教育同样面临着两个问题:一是培养什么样的人(即市场需要什么样的人才),二是怎样培养人(即高校的教育内容和培养模式)。在软件产业迅猛发展过程中,虽然高校招生规模不断扩大,但是制约企业发展的人才问题并没有得到有效缓解,尤其是中高端人才的矛盾还很尖锐。究其原因,一方面,大型软件企业对中高级技术和管理岗位人才需求量很大、要求也很高,这类人才通常需要3-5年的工作经验,有两个以上的项目经历;另一方面,高校教育和市场需求脱节,每年大量进入就业市场的计算机类毕业生很难直接符合企业要求,有些毕业生需要经过社会培训机构或者软件企业培训,有些毕业生甚至放弃了本专业工作。
在软件企业中,合理的软件人才结构应该是金字塔型的,塔的顶部是高级开发和管理人员,中间是相当规模的系统分析和设计人员,底部则是大量的基础程序员(也称软件蓝领)。这样一种合理的人才结构是软件企业的期待,更是对教育部门提出了人才培养的具体要求和明确目标,毕竟大量的软件人才是需要经过高等学校的学历教育。一个软件专业毕业生走出学校之后,其成长过程基本上遵循学习实践再学习再实践的模式。进入软件企业,在初始的工作岗位上,首先通过短期培训,从事初级的技术开发工作;经过一段时间的技术实践,逐步提高其职业技术水平,成为中高级工程师;通过更高级别的培训,使其承担更为重要的技术和管理工作。可见,大学生在校期间除了专业知识学习外,从事职业的技术能力和适应工作的职业素养培养十分重要。
软件工程是指导软件开发和维护的一门工程学科,换言之,采用工程的方法、技术、工具和管理手段,以期开发出低成本高质量的软件产品。从这个定义可以看出,软件人才大致可以划分为技术型和管理型两类。从产品的技术角度看,不仅有产业标准和行业规范,而且项目的施工和管理有一套技术文档,这就是软件工程规范。从项目的管理角度看,分工协作是软件产业市场的总趋势,项目团队的分工合作是现代软件工程的一个重要职业特点,因此,软件工程专业的人才培养不仅要求具有专业知识,还需要有职业技能和职业素养。
软件工程专业的专业知识可分为基础知识、专业知识和专业理论,职业技能可分为基本技能、专业技能和综合技能,职业素养可分为基本素养、职业素养和综合素养。在专业教学中,强调专业知识中的核心基础知识,不求全面知识,知识教学内容必须与技术发展同步更新。把职业技能分为特定技能、通用技能、核心技能3个层次,其中核心技能具有普遍适用性,在职业生涯中受益终生。在职业技能训练中,按照软件的阶段划分,制定不同阶段所要求的职业技能。如编码阶段,要求有规范代码书写、单元测试能力,教师或项目经理要善于观察、发掘、培养新人;根据学生的各自特点,通过固化训练或交叉培养其设计、编码、测试、文档书写等能力。在学生的职业能力成长过程中,关注哪些学生是技术型的,哪些是项目管理型的,哪些是技能操作型的。由于高校不是企业,企业也无法承担高校的职能,通过校企合作的项目实训,围绕学生职业能力训练,明确企业和高校的职责分工边界。在职业素养训练方面,着重训练学生的交流表达、文档写作、分工合作、敬业奉献等能力和精神。在教学过程中,明确软件工程专业的职业素养边界,坚持“任何人都有用”的原则,关键是用到何处。比如刁钻苛刻的人用到测试上,勤奋好胜的人用到技术攻关上,豁达人缘好的人用到项目协调上,条理规矩的人用到设计上去。
2 专业知识体系裁剪
软件工程学科是从计算机学科发展而来的,经历了从软件、软件开发技术、软件工程到软件工程教育的一个发展历程。国内许多高校参照了IEEE-CS的软件工程知识体系指南SWEBOK2004,该指南给出了软件需求、软件设计、软件构造、软件测试、软件维护、软件配置管理、软件工程管理、软件工程过程、软件工程工具和方法、软件质量等10个关键知识域,指出每个知识域的教学内容。此外,SWEBOK分析了软件工程职业特征,认为软件工程学科与计算机科学、管理科学、数学、项目管理、质量管理和系统工程等学科相关。这说明该专业需要开设一些相关学科的基础课程,但是要确定软件工程与相关学科之间的知识公共边界,要对相关课程进行内容裁剪。
浙江师范大学软件工程专业教学计划的规定如下:专业毕业最低总学分为170学分,其中通识课程50学分,学科平台课程1分,专业核心课程31学分,专业方向课程30学分,基础性实践课程5学分,提高性实践课程31学分,创新性实践课程4学分。围绕人才培养目标,构建了“通识课+学科平台课程+专业核心课程+专业方向课程+实践课程(基础性、提高性、创新性)”体系,其中“学科平台课程+专业核心课程+专业方向课程”构成了专业知识体系。该计划是在调研其他兄弟院校,如浙江大学、浙江工业大学等的基础上,紧扣人才培养目标,结合本校专业课程的进度安排,设置了4个层次的专业主干课程,如表1所示。
3 专业课程体系构建
实现人才培养目标,关键在于如何构建专业课程体系。面向社会需求,以课程为载体,合理设置课程。课程设置的原则是打好专业基础以保障学生就业能力、掌握主流技术以提高学生的基本技能、训练职业素养以成就学生的职业能力。注重加强数学基础,使本专业的学生具备较强的数学功底,引入国际公认的CMM5级能力成熟度模型,旨在提高学生规范化开发和团队分工协作能力,强化程序设计基础,使学生掌握软件开发所必需的知识与技能,熟练运用开发环境和工具。
软件工程专业课程建设的基本理念是遵循软件工程思想,强调以项目驱动的教学方法,如图1所示。课程开发要求项目真实、文档齐全规范,在教学过程中,教师采取项目实例教学,通过实例体验让学生掌握知识点。通过项目式教学改革,在掌握最基本、最必要的专业基础知识的前提下,在较浅的程度内掌握一两种计算机程序设计语言,然后学习目前流行且高效率的软件开发工具(如果企业需要,还可以学习一些更加专用的软件开发工具),学习实用的软件编程、数据管理、系统维护等技术,构建以技能训练为中心的知识结构和课程体系。
在软件工程教学过程中,通过教学实践总结,我们提出了“以职业技能为根本、工作体验为主题、知识点恰到好处”的教学方法;遵循软件工程规范,把职业技能划分为特定技能、通用技能、核心技能;提出“遵循软件工程规范、研究职业技能结构”的课程建设思想,构建了以核心技能为主的3个层次的专业课程体系。实践教学环节的项目分类及内容如表2所示。
专业课程的教学充分尊重软件工程专业的学科特点,在专业基础和核心课程教学的同时,通过教学的3个阶段划分来实现人才培养目标(见表3)。
4 结语
浙江师范大学数理与信息工程学院通过对软件工程专业建设的总结和反思,根据“项目经理系统分析员软件工程师具体程序员”的人才结构组建学习型项目团队。按照项目管理流程和技术规范实施项目实训,从知识体系、技能标准和教学模式3个维度对专业课程体系进行研究,使课程教学内容紧跟产业技术,注重实用性和针对性,在强调掌握专业基础和基本技能的同时,要求学生善于交流、勤于沟通,逐步提高职业能力。