软件工程管理说课内容一、课程定位二、课程设计三、内容选取四、内容组织五、表现形式六、教学设计七、教学方法八、教学手段九、实践条件十、考核设计一、课程定位(一)从软件行业发展状况和人才需求特点,确定专业培养目标說程序员系统分析设计高管高素质、高技能的应用型人才软件行业人才需求分布图本专业人才培养定位一、课程定位从从事事的的岗岗位位程程序序员员软软件件销销售售软软件件咨咨询询软件行业人才需求及本专业人才培养定位和从事的岗位图一、课程定位(二)分析程序员职业岗位,构建学习领域课程1.基于软件产品的开发活动,分析归纳程序员岗位的工作过程软件行业是一种技术密集型行业,其技术性主要体现在隐形的思维过程中。这里将以一个软件公司的软件产品开发活动展开分析,以便确立其中的典型工作过程和程序员的工作任务,分析工作过程对程序员的能力要求,以完成对课程的初步设计。软件产品的开发主要包括确定需求、开发策划、需求分析、概要设计、详细设计、功能实现、系统测试等阶段。程序员的工作过程一、课程定位2.分析程序员的岗位工作任务,确定其行动领通过对企业调研以及毕业生的反馈信息,对程序员的岗位职责和工作过程进行了深入的了解,分析其工作任务,确定行动领域。程序员的行动领域一、课程定位3.基于行动领域分析,分解职业能力,确定学习领域通过对程序员岗位行动领域的分析和职业能力的分解,明确其职业核心能力,如图4所示,并将行动领域转化为学习领域。程序员岗位的行动领域到职业能力的分解程序员岗位从行动领域到学习领域的转化图软件工程管理Web应用技术数据库技术Java或.Net技术学习领域编写文档Web服务器应用数据库技术应用编程技术应用行动领域一、课程定位4.构建以职业能力为核心的学习领域课程体系一、课程定位(三)本课程的目标本课程是一门基于软件企业工作过程,融合了软件项目管理、版本管理、UML建模技术,理论与实践相结合的专业基础课程,其课程目标,是培养软件专业学生对中小型软件项目进行项目的分析设计建模、阅读与撰写文档的职业能力。通过本课程的学习,使学生掌握软件工程过程及相关知识,培养分析解决实际问题的能力,培养应用建模工具进行UML全程建模的软件工程技能,培养良好的职业素养,达到具备应用RationalRose建立软件开发项目的分析模型与设计模型的能力目标,并为学生从事软件开发打下坚实的基础。一、课程定位(四)本课程的先行、后续课程先行课程:计算机导论、程序设计方法与技能、Java平台项目开发基本技能。后续课程:大型项目综合实训。课程间的相互关系如图7所示。通过先行课程的学习,掌握本课程必须具备的计算机基本知识、用户界面设计制作能力、面向对象程序设计基本能力、数据库应用基本技能、Java程序设计方法、Java编写代码方法、Java平台项目开发过程等,具备应用项目分析设计建模工具构建项目分析和设计模型的能力,为后续大型综合项目实训打下坚实的基础。先行后续课程之间的相互关系计算机导论系系统统功功能能设设计计实实现现能能力力Java平台项目开发基本技能程序设计方法与技能软件工程管理大型项目综合实训二、课程设计(一)课程设计理念该课程着眼于学生职业岗位能力的培养和职业素质养成,关注学生终身学习与可持续性发展。按照项目驱动、案例教学的教学方式,以实际的工作项目与工作过程设计该课程的教学。其总体设计思路是,打破以知识传授为主要特征的传统学科课程模式,转变为以工作任务为中心组织课程内容,并让学生在完成具体项目的过程中学会完成相应工作任务,并构建相关理论知识,发展职业能力。课程内容突出对学生职业能力的训练,理论知识的选取紧紧围绕工作任务完成的需要来进行,同时又充分考虑了高等职业教育对理论知识学习的需要。项目设计以一个真实的软件开发项目为线索来进行。教学过程中,要通过校企合作,校内实训基地建设等多种途径,采取工学结合,充分开发学习资源,给学生提供丰富的实践机会。教学效果评价采取过程评价与结果评价相结合的方式,通过教学做一体化,以学生为主体,重点评价学生的职业能力的养成。课程设计理念充分考虑学生的学习特点和职业发展需要以企业真实项目为依托,仿真工作过程以典型工作过程为依据选取教学内容与企业合作共同开发课程以岗位需求为导向,遵循国际职业标准营造基于工作过程的教学环境课程设计理念二、课程设计(二)课程设计总体思想以程序员职业能力为导向,以典型工作过程为依据,按照国际行业标准选取教学内容,依托“FurnishWell工资管理系统”设计学习情境。聘请企业专家审核教学计划,组建校企合作课程开发团队,实训项目源于企业真实工作任务。以工作过程为主线、以项目为载体,实施“项目(任务)驱动、案例教学、边讲边练”教学模式。开放性职业性实践性中小型软件项目的管理能力;利用建模工具构建中小型软件项目的分析与设计模型的能力。敬业爱岗精神团队协作意识规范标准意识持续发展意识职业能力职业素质程序员职业认证二、课程设计以程序员职业能力为导向,以典型工作过程为依据,按照国际行业标准选取教学内容,依托“FurnishWell工资管理系统”设计学习情境。聘请企业专家审核教学计划,组建校企合作课程开发团队,实训项目源于企业真实工作任务。以工作过程为主线、以项目为载体,实施“项目(任务)驱动、案例教学、边讲边练”教学模式。开放性职业性实践性中小型软件项目的管理能力;利用建模工具构建中小型软件项目的分析与设计模型的能力。敬业爱岗精神团队协作意识规范标准意识持续发展意识职业能力职业素质程序员职业认证二、课程设计1.根据程序员职业能力和素质目标,与企业人士共同分析,确定课程培养目标程序员职业能力要求包括:程序设计能力、编程技术运用能力、数据库应用能力、系统功能设计实训能力。程序员职业素质要求包括:具备良好的职业道德、敬业精神,团队合作意识,规范标准的编程和文档习惯,理解分析能力,学习归纳持续发展的能力。程序员职业能力和素质的培养,也即是培养学生的专业能力、方法能力和社会能力。由于这三方面能力在实际的职业活动过程中,是相互交织、相互融合的,因此,我们将其作为一个整体贯穿于课程设计和实施过程中。二、课程设计2.基于项目的工作过程设计根据软件开发的过程将软件工程管理划分为七个能力培养模块,每个模块反映软件开发过程相应阶段所需要的工作能力。用一个教学项目贯穿于整个教学过程,体现了软件项目开发的整体性、连贯性;同时,又根据软件开发的生命周期,将教学项目划分为七个模块,每个模块又由一个或几个训练任务来完成,体现问题的分而治之的解决方法。二、课程设计3.教学过程以任务来驱动在教学方法上从具体的工作任务入手,教师的作用是设计全真的任务背景和要求,每个阶段都是先提出能力训练任务,再通过具体的训练内容来完成任务,教学过程是能力训练过程,所有教学内容都不是从教学生知识点出发,而是将知识点融入到相应的任务中,让学生通过实际的训练任务练就相应的能力。二、课程设计4.校企结合,保证教学与实践过程的一致性从两方面入手,一方面,我们的教师和学生走出去,深入企业了解软件行业最新动态,更新知识;另一方面,把企业人士请进来,通过讲座、座谈、开展专业教学研究活动等多种形式,保证教学和实践不脱节。二、课程设计5.工学结合,创造自主学习环境把课堂变成教、学、做为一体的实训室,使用软件企业的真实项目,模拟软件开发企业的实际业务,创造全真的教学环境,课程的学习过程就是软件开发的真实过程。实践训练项目尽量来自于企业,实现学校教学与企业实际需求零距离,培养学生的职业能力。二、课程设计6.教学评价上突出能力考核对教学效果评价采取过程形成性评价与终结评价相结合的方式。考核上加强学生实际操作过程的阶段性评价,重点评价学生的职业能力的养成。三、内容选取(一)教学内容的针对性与适应性《软件工程管理》教学目标是通过科学的教学设计,将教、学、做于一体,知识、理论、实践操作相结合,学生能够综合运用软件工程相关知识,独立完成软件项目开发工作。为了体现软件工程过程的完整性与系统性,在本课程中,这几部分内容在理论知识与教学项目上有些删减,重点放在项目管理、项目版本管理、系统分析与设计建模三大部分。经过本课程的学习,学生将完全有能力适应软件开发与测试等岗位的工作。三、内容选取(二)基于工作过程训练流程的模块式教学根据软件工程项目的实际开发过程,对课程体系和教学内容进行整合,打破了学科性知识体系的构架,建立起以工作过程为导向的教学结构,将整个软件工程过程分解为七个阶段能力培养模块,每个模块反映软件开发相应阶段需要的能力,用一个实际的软件开发项目贯穿于整个教学过程,教学项目反映了整个软件开发过程与管理过程。在教学项目实现的过程中,用另一个软件项目作为学生的实战演练项目,与教学项目同步进行。将教学项目与学生演练项目按软件开发阶段的特点分解为具有具体目标的训练任务。软件工程管理按工作过程划分的模块结构软件工程管理(根据工作过程划分)项目管理(项目管理过程)项目版本控制(配置管理过程)系统分析与设计建模(系统分析、架构设计、类的详细设计)数据库建模(概要设计)用户界面设计(概要设计)编码(程序设计)软件测试与维护(各种测试与维护技术)三、内容选取(三)教学项目训练任务设置体现软件工程开发过程分析软件项目开发过程的能力要求,对每个教学模块进行分解,划分成相对独立的若干个训练任务。用课程教学项目的各个任务来完成每个开发阶段(或工作岗位)能力的训练,训练任务的划分具有科学性、可操作性,反映了工作过程的各个环节。各模块训练任务的划分四、内容组织能力模块的教学设计序号能力教学模块能力训练项目学时1软件项目管理综合项目:FurnishWell工资系统(项目管理)42软件版本控制综合项目:FurnishWell工资系统(版本控制)43数据库建模综合项目:FurnishWell工资系统(数据库建模)44用户界面设计综合项目:FurnishWell工资系统(用户界面设计)25系统分析设计综合项目:FurnishWell工资系统(分析设计建模)406编码综合项目:FurnishWell工资系统(编码风格)27软件测试与维护综合项目:FurnishWell工资系统(测试与维护)8合计64每个项目中包含的任务序号项目名称任务名称1软件项目管理1-1组织软件项目开发团队1-2制定项目开发计划2软件版本控制2-1配置管理3数据库建模3-1数据库结构设计4用户界面设计4-1用户界面设计5系统分析设计5-1写用户需求问题陈述文档5-2建立用例模型5-3建立领域类图5-4建立顺序图5-5建立协作图5-6建立类图5-7建立活动图5-8建立状态图5-9类详细设计5-10建立构件图5-11建立部署图5-12生成程序代码5-13生成数据库结构6编码6-1编写一段Java程序代码体现编码风格7软件测试与维护7-1单元测试7-2集成测试7-3确认测试五、表现形式(一)教材建设使用的教材:1、蔡敏等.UML基础与Rose建模教程.人民邮电出版社,2006.12、李龙澍.实用软件工程.人民邮电出版社,2007.6由于这两本教材未按照基于软件开发工作过程编写,因此该课程小组通过对软件企业进行调研,根据软件专业岗位职责,由何晓蓉主编的教材《软件工程与UML案例解析》即将由中国铁道出版社出版。五、表现形式参考资料[1]韩万江.软件工程案例教程.机械工业出版社,2007.5[2]郑人杰等.实用软件工程.清华大学出版社,1997.4[3]ApplyingUMLandpatterns:anintroductiontoobject-orientedanalysisanddesignandtheUnifiedProcess/CraigLarman.–2nded.[4]UMLwithRationalRose从入门到精通[5]UML和模式应用:面向对象分析与设计导论.机械工业出版社[6][美]IvarJacobson等著周伯生等译.统一软件开发过程.机械工业