软件项目管理课程是软件工程专业的一门非常重要的必修课,但课程的理论性和实践性都很强,学生不好掌握。文章讨论了该课程的课堂实验工具选择的原则,选择了合适的实验工具,设计了实验内容,给出笔者的解决方法以供学习和交流。
1引言
项目管理是20世纪40年代以后迅速发展起来的一门科学, 是现代管理学中的一个重要分支。随着项目管理理论、方法的发展,其应用范畴和概念不断拓展, 从最初应用在国防、航天、建筑等领域迅速发展到电子、通讯、计算机、软件开发、金融等行业。软件工程学提出将项目管理运用于软件生产领域,软件开发成为有组织、工程化的行为。随着近年来软件行业的迅速发展,软件规模急速扩大,对专业化管理人员的需求越来越大。在智联招聘和51job上搜索软件项目管理职位,各有8千多个工作岗位,这说明软件项目管理岗位越来越受到重视,相关人才缺口较大。
华中师范大学计算机学院从2008年以来开设软件项目管理课程作为计算机科学与技术专业的专业选修课,每次选课都满班。于2009和2010 年开设软件工程与项目管理的全校通选课程,旨在为学校其他专业对软件开发感兴趣的同学提供平台,每次课虽然选课人数在30人左右,人数不多,但学生反响很好,特别是认为项目管理的知识不仅仅能用于专业领域,在生活中组织春游、安排班级比赛等都能用到,实用性非常强。计算机学院于2011年增设本科软件工程专业,一直把软件项目管理作为专业必修课。笔者从2008年开始讲授本门课程,对课程的教学和实践有一定体会。
2软件项目管理课程的课程实验设计
软件项目管理课程内容既有很强的理论知识,又有综合实践要求,是一门比较难学的课程。很多学生认为软件项目管理课程是一门理论为主的课程,不像程序设计语言课程那样重视实验和练习。但是该课程实际上理论与实践并重,固然有很多理论知识需要学习,但如果不在实践中体会,不会使用一些项目管理工具,也达不到学习效果。
另外项目管理的工具很多,多数不仅仅可以用于软件项目管理,也可以用于很多其它类型的项目管理,对于课堂实验来说,选择什么样的工具,如何验收实验都需要很好地设计。
2.1课堂实验工具的选择
因为软件项目管理涉及的知识范围很广,一种软件项目管理工具通常只能用于软件项目管理的一个或几个知识领域,教师需要选择哪些知识需要使用工具练习。通常软件项目管理的主要知识领域包括范围管理、时间管理、成本管理和质量管理,另外也可以考虑配置管理、沟通管理等方面的工具。
另一方面,软件项目管理工具有很多免费的,但是大型的主流的工具还是收费,而且很贵。现在多数学校实验经费非常紧张,主要用于硬件购置,教师需要尽量使用免费工具,对收费工具的选择要综合考虑其能否找到试用版本,试用条件如何、是否容易安装和配置等等问题。
笔者认为选择的项目管理工具应该具备以下几个基本功能。
2.1.1需求管理:项目的需求变更,跟踪,控制。
2.1.2资源管理:项目的可利用资源的管理,包括人力、物力、财力等资源。
2.1.3计划管理:包括成员管理和权限分配、日程排定、工作时间管理、里程碑设置等。
2.1.4进度管理:制定日历、工作流、项目路线图和Gantt图。
2.1.5文档管理:发布文档文件、存储文件、集成SVN代码管理。
2.1.6信息管理: 具有制定活动统计报表、项目报表的导入和导出、团队交流、信息筛选等功能。
笔者选择了几个满足以上功能、容易获得和使用、在业内比较通用的软件项目管理工具作为课堂实验内容。
Microsoft Project:软件具有制定工作计划、进度管理、资源管理、跟踪进度、管理预算和分析工作量等功能。该软件因为微软的成功推广,使用非常广泛,工具适用于所有项目的管理,据统计约有70%的项目使用该工具。作为微软Office办公软件中的一员,Project界面与微软其他产品很相似,非常容易使用,也很容易和Office中的其他办公软件整合。工具的获取和安装都很容易,有试用版本。
Project的缺点是它不是专门用于软件项目管理的工具,不支持软件项目中的立项与结项、需求管理、质量管理、软件配置管理等重要管理工作,也不能同时处理多个项目。
禅道:禅道项目管理软件是国产项目管理软件的代表,是一款开源的产品,可以在官网http://www.zentao.net免费下载。软件比较符合中国用户的习惯,在国内中小企业有较高的使用率。软件集产品管理、项目管理、质量管理、文档管理、组织管理和事务管理于一体,功能比较完备,适合中小型项目。软件可以直接基于浏览器使用,不需要安装部署,界面简单,流程清楚,比较容易使用。软件有简单的需求管理功能,能在需求、任务、bug、用例和to do之间建立联系,能跟踪需求的实现情况。
但是软件的开源版本不提供甘特图、看板、工作日志等功能,需要购买专业版。软件的需求管理比较简单,不能和Word文档关联,不能从Word文档中直接读入需求。
Rational Doors:是IBM旗下非常著名的需求管理工具,能捕获、跟踪、分析和管理需求,功能非常强大,并能方便地与其他Rational工具集成,在很多大型软件公司使用[4]。Rational Doors能与Word同步,自动将Word文档中的需求抽取到Rational Doors的视图中。软件提供Web界面,方便团队交流,提高工作效率。软件还能与著名的配置管理工具Rational Clear Quest紧密集成,显示需求变更;与Rational Rose集成,将需求与UML模型关联,更准确地表达需求的定义。
但是它功能复杂、安装部署复杂,需要安装服务器端和客户端,还需要安装专门的数据库,使用也有难度。作为专业级开发工具它的价格比较贵,试用版只有3个月试用期。但是需求管理工具基本没有免费软件,有条件的学校可以选择该软件弥补其他项目管理软件中缺少需求管理功能的问题。
Visual Source Safe:简称VSS,是微软公司开发的一款版本和配置管理工具,并能提供安全保护、跟踪检查功能和版本比较的功能[5]。配置管理记录软件产品的演化过程,最终保证软件产品的完整性、一致性、追朔性、可控性[6],在项目管理中非常重要。配置管理的工具很多,常用的有开源工具Concurrent Version System、IBM的Rational Clear Quest等。VSS使用很广,是Visual Studio的套件之一,在Visual Studio中集成使用非常方便。工具具有微软产品的界面统一、安装方便、使用比较简单、获取容易的特点。
但是VSS只能在Windows系统下运行,不能跨平台运行。因为VSS是通过共享目录方式存储文件的,它只适合于局域网内的用户,不适合于通过Internet连接的用户,并且安全性不高。VSS的工作方式决定文件只不能由多个用户同时修改,工作效率比较低,只适合小团队开发。
2.2课堂实验设计
选定合适的工具后,在实验课程中要求每个学生选择自己熟悉的项目,运用几种工具分别完成工作分解、进度管理、配置管理、需求管理等工作, 具体实验内容见表1。
表1实验内容表
实验名称 实验目的 实验工具 学时
项目进度计划管理 合理地分解项目,制定项目计划并形成甘特图;分配和管理项目资源,跟踪资源使用情况;跟踪进度,监控项目成本。 Microsoft Project 4
项目计划、文档和沟通管理 合理地划分任务和制定计划;管理和监控项目文档;完成简单的需求跟踪;搭建项目沟通平台。 禅道 2
项目需求管理 需求文档分析和需求抽取;需求发布和团队沟通;需求变更管理。 Rational Doors 4
项目配置管理 合理地建立和使用配置项;跟踪版本变更;代码比较。 Visual Source Safe 2
学生能通过实验理解企业的项目管理流程,熟悉企业常用的项目管理工具,既能进一步理解项目管理的理论知识,也提高了实际应用能力。
3结语
项目管理课程不能仅仅讲授理论,而应该是一门理论与实践并重的课程。本文介绍的试验方法应用于多个课堂的课程教学中,学生普遍反映对课堂实验内容比较感兴趣,很多学生原来认为本课程以理论为主,上课后发现实践内容也同样重要,而且实验内容对以后的课程设计、毕业论文和找工作都很有帮助。学生通过对具体项目的分析和实验理解了项目的成本、资源和进度的关系,了解了在项目执行中如何监控项目,理解了项目中合作和沟通的重要性。
作者:李蓉 叶俊民 杨艳 来源:都市家教·下半月 2015年12期