“软件项目管理”课程的教学实践与思考
2009-12-30付雄王汝传
付 雄 王汝传
摘要:“软件项目管理”课程是普通高等学校软件工程本科专业的一门重要主干专业课程,对培养高素质软件项目管理人才,解决软件产业发展中项目管理人才严重不够的瓶颈问题有非常重要的意义。本文根据笔者在“软件项目管理”课程教学中的实践过程,对其教学内容、教学方案、实施效果以及经验教训等进行了较为深入的探讨。
关键词:软件项目管理;教学内容;教学方案
中图分类号:G642 文献标识码:B
1引言
在普通高等学校软件工程本科专业的教学中,“软件项目管理”课程通常作为一门核心的必修主干专业课程。该课程主要通过学习软件项目管理的各种基本理论、方法以及技巧,让学生可以在短时间内掌握软件项目管理的基本知识和实践能力,培养学生在大型软件开发中管理软件项目的基本能力,使学生掌握规范化的软件开发和质量控制过程。
然而,由于软件项目管理过程本身就是一个复杂的系统工程,使得“软件项目管理”课程存在许多问题,主要如下:
(1) 软件项目管理的基本理论源自于上世纪50年代出现的近代项目管理学,软件项目管理还处于一个较新的阶段,其发展迅速且不成熟。
(2) 软件开发是一种“人本经济”,生产中人力资本起决定性作用。早期开发中个人单打独斗的软件开发方式导致软件项目管理执行困难。
(3) 软件项目管理内容抽象,其主要包含大量指导软件项目开发过程的思想、原则和方法等,学生理解困难。
(4) 软件项目管理课程实践主观性太强,方案设计以电子版为主。除部分学生外,不少学生拷贝严重,实验效果难以得到保证。
针对这些问题,笔者认为对“软件项目管理”课程进行相关的教学改革是必要的。过去的一学期中,我们针对南京邮电大学计算机学院软件工程专业的“软件项目管理”课程进行了相应的教学改革实验。结合这次的教学经验,本文从软件项目管理的教学内容组织、教学方法等方面进行了较为深入的研究与分析,提出了多媒体课件、小组讨论、仿真演示相结合的综合教学方法;对课程实验采用结合软件工程课程的实验,以小组为组织对象。
整个课程教学表明,这次课程实践有助于学生理解软件项目管理中的各种理论和方法,激发学生对“软件项目管理”课程的学习热情,有助于对学生实行创新性人才培养。
2教学内容
在理论教学方面,我们“软件项目管理”课程的教材选用由Bob Hughes,Mike Cottrell著,周伯生等翻译的《软件项目管理》(第三版)。
我们此次教学实践选取了其中部分内容作为理论授课内容,主要设置包括包括:软件项目管理引言2学时、步进式方法:项目策划概述2学时、项目评价2学时、选择合适的项目方法2学时、软件工作量估计4学时、活动策划3学时、风险管理2学时、资源分配2学时、监督与控制3学时、管理合同4学时、管理人员与组织群组2学时、软件质量控制4学时。理论课时总计32学时。整个“软件项目管理”课程的重点是项目方法与过程模型、软件工作量的估计、活动策划、风险管理、软件质量控制等。
在软件项目管理实验教学部分,我们课程规划8个课内学时,另外配以8个课外学时,总共16学时,完成4个实验。根据理论教学内容,从培养学生掌握重要理论方法实际应用能力的角度,实验具体设置为:项目方法及过程模型分析4个学时、软件工作量估计模型的建立4个学时、网络策划模型4个学时、软件质量度量方法4个学时。
3教学方法
3.1理论教学
相比于其他软件工程专业主干课程,“软件项目管理”课程显得更加抽象,这样导致学生在学习的过程中难度较大。加上软件项目管理主观性强,需要理论和实践相结合。因此,“软件项目管理”课程往往对任课老师提出了更高要求。为了提高教学效果,我们精心设计和调整了软件项目管理理论教学方法,提出了一种多媒体课件、小组讨论和仿真演示相结合的理论教学方法。
(1) 多媒体课件
使用多媒体课件,可以将软件项目管理中的一些基本理论、原则和方法通过文本、图片等展示出来,弥补传统黑板板书的不足之处,使老师有更多的精力和时间集中在授课内容之上。在多媒体课件的制作过程中,我们要求对学生形成较好的视觉效果,选择适当的多媒体元素,以便集中学生的注意力。同时,也不能完全用多媒体课件替代板书,导致学生对知识的系统性了解不够,需要对两者形成较好地结合。
(2) 小组讨论
“软件项目管理”是一门主观性很强的课程,其基本理论和原则大多属于指导性,导致不同的学生面对同一问题时可能会形成不同见解。为了充分发挥学生的主观性,课程上我们将学生以3~5人为组,对不同的问题进行分析,小组内部通过讨论形成统一观点,然后选择代表将观点展示给全班同学,接受其他同学对小组观点的质疑和评分。
(3) 仿真演示
软件项目管理过程中存在大量的过程演示,如工作量的估计、项目活动策划、质量控制过程等,我们将这些过程通过仿真动画展示出来。如针对工作量估计中的COCOMO模型,我们可以通过一个项目的工作量计算过程的仿真动画,展示该模型的关键点,从而提高学生的学习兴趣和掌握其中关键的知识点。
3.2实验教学
“软件项目管理”课程中的实验主要是设计类型实验,为软件开发中的不同过程设计其评估、管理和控制方案。我们所设计的软件项目管理实验具有如下特点:
(1) 结合软件工程实验的项目管理实验
在实验中,项目管理往往需要针对具体的软件开发项目展开,而软件项目的开发需要较多的时间和精力。为了避免学生将过多的精力集中在项目开发上,我们要求学生针对软件工程实验中软件项目展开项目管理设计。这样一方面减轻学生工作量,提高实验效果;另一方面通过对有无项目管理的软件开发的对比,让学生理解和意识到软件项目管理的重要性。
(2) 基于小组的项目管理实验
我们在实验中打乱原来在软件工程实验中的小组分配,每个小组只保留一个原来实验的开发人员。避免原来项目开发中不规范的管理对设计软件项目管理方案时的影响,也保证整个小组对项目具体内容有一定的熟悉程度。
3.3学生成绩考核
教学实践的效果不但取决于教学内容,还受到教学中激励、过程控制以及学生成绩考核等的影响。整个学生成绩考核主要由两部分组成:平时成绩和期末成绩,两者分别占最后总评成绩的30%和70%。平时成绩中主要考核包括三项:平时上课随机点名时的出勤率、学生完成作业情况、课堂小测验或提问情况。根据“软件项目管理”课程在我院软件工程专业属于专业必修课程的性质,期末成绩由两部分组成,一部分是闭卷考核成绩,另一部分是项目管理实验。其中前者主要考核学生对基本理论、原则方法和技巧的掌握,同时也通过分析题和论述题检查学生在项目管理中的主观观点。后者主要考核学生对这些知识在项目管理实践中的应用程度。
4实施效果与经验教训
4.1实施效果
在这次教学实践过程中,相当部分同学的积极性被调动起来,取得了较好的效果。学生对此次教学时间的评价也处于较好状态。整个计算机学院软件工程专业4个班级127名学生被分为了29个小组,均完成了软件项目管理中四个关键控制过程的报告。通过教师主导,学生参与评分的模式,较好地调动了学生上课的主动性和积极性,出勤率平均超过97%。全学期下来,全班平均成绩达到83分,不及格人数仅4人。
4.2经验教训
(1) 课程内容还需调整,软件开发过程是以人为本的系统工程,其项目管理相当复杂。作为一门仅40课时的专业课程,这次课程实践选择内容较多,过于强调覆盖面,对重点内容不够突出。以后的实践中应该对课程重点进行突出。
(2) 课程实验基于软件工程课程实验,实验效果在一定程度上受到其影响。由于部分同学软件工程实验过于简略,对这些软件开发实施项目管理难以展开,下一次实践可以考虑对一些其他的软件开发过程进行项目管理。
(3) 为了组织好项目管理评比和课堂讨论的内容,对项目小组中每次主讲成员没有进行随机抽取,导致部分项
目小组过于依赖某个能力较为突出的成员,难以有效地提高所有小组成员的主动性。下次教学中可以采用随机抽取的方式。
5结束语
软件项目管理课程知识较为庞杂,主观性强,如何提高其教学效果需要多方面的改进。本文从教学内容和教学方法等多方面对此次“软件项目管理”课程教学实践进行了总结和分析。同时,这次教学实践中也暴露出一些问题,这将是我们进一步教学改革的重点。
参考文献:
[1] 陈云芳,丁亚菲. 软件工程专业双语教学的实践与思考[J]. 计算机教育,2008(24):126-128.
[2]Bob Hughes, Mike Cottrell. 软件项目管理[M]. 周伯生,译. 3版. 北京:机械工业出版社,2004.
[3]Pankaj Jalote. 软件项目管理实践[M]. 北京:清华大学出版社,2005.
[4] 王强. IT软件项目管理[M]. 北京:清华大学出版社,2004.
[5] 欧毓毅. 软件项目管理的课程教学探索[J]. 广东工业大学学报:社会科学版,2008(8):72-73.
[6] 叶晓国. 计算机网络课程的教学实践与思考[J]. 计算机教育,2008(22):95-97.