基于UML的软件项目管理教学软件的开发研究
2017-03-23宋呦劳淑蕾
宋呦+劳淑蕾
(唐山学院)
【摘要】近年来,各个高校的计算机及相关专业都开设了软件项目管理的课程。软件项目管理具有比较复杂的知识构成,因此多采用案例化教学的方式进行授课,然而案例是教学也存在着一定的问题。针对这些问题,本文分析设计开发了基于UML的软件项目管理教学软件为该课程提供了一些新的教学思路和方法。
【关键词】软件项目管理 教学软件
1 研究背景
软件项目管理作为计算机相关专业的必修课程,在大部分高校的计算机或软件工程专业中均有开设。该课程从软件工程专业培养目标出发,旨在使学生掌握软件项目管理的基本理論、方法和技术并培养学生的实践能力。该课程一般都遵循美国项目管理学会发布的项目管理知识体系(PMBOK),涉及到的知识领域多,内容繁杂。在教学中,越来越多的高校开始采用案例式教学,结合我校上课的实际情况,其基本思路为:(一)学生以分组的形式设定一个项目团队,同组同学设定不同的团队成员身份,如项目经理、系统分析员、程序员、配置管理员等;(二)在课程初期设置若干项目,或由团队成员自己创建项目,确定项目的时间限制,资金限制等;(三)随着课程的深入,各个团队以模拟真实的形式进行项目推进,确定项目时间、成本、风险、质量等等项目管理的主要职能;(四)以分组打分、团队演示、项目管理报告等形式进行成绩考核。案例教学相比较传统的教学方式,在激发学生积极性,提高教学质量方面确实起到了很好的作用,但在实际教学中,依然存在一定的问题。
首先,学生分组以及分组打分的形式,无论学生对团队的贡献率有多大,很容易造成同组学生分数相同,学生工作量无法统计计算。其次,受到授课课时和上机课时的安排的影响,学生完成项目报告的进度与上课进度很难做到同步。最后,教师很难在一个学期的时间里,持续的关注所有的学生的进度,往往只有到项目报告完成的时候才能看到学生的成果,造成了有错误不能及时发现改进的缺陷。根据以上在实际应用案例教学法的过程中发现的问题,结合常见的项目管理软件,我们设计和开发了一种基于UML的项目管理教学软件。
2 系统分析
通过对项目管理教学软件的分析,软件的使用者主要是教师和学生,其中教师的主要需求为:(1)设定案例,包括案例基本情况、资金、时间限制、质量限制等;(2)设定学生分组,限制案例人数等(3)同步学生进度(4)与学生互动交流(5)基本的系统管理职能。学生的主要需求为:(1)选择案例(2)设定成员身份(3)按成员身份完成各自的工作(4)上传下载相关资料(5)与教师互动交流(6)基本的管理职能。 系统的主要流程为:教师首先设定案例,包括案例的基本情况、资金、时间限制、质量要求等,同时设定该案例的学生人数要求。学生根据自身情况自由结组并选择案例,同时设定组内成员身份,确定该身份需要完成的任务。随着课程进度的展开,学生逐步完成任务,在各个时段教师均可以同步学生进度并给出意见,师生可以进行交流互动。学生各个阶段的任务完成后,均可以以文档的形式上传,教师可以进行下载。
3 系统实施与使用
根据系统分析的结果,本系统采用B/S架构进行开发,数据库采用免费的轻量级数据库MySQL,使用Navicat将数据库可视化。对于用户界面来说,主要是使用html网页作为用户使用的界面。这种设计的好处在于能够比较灵活的改变页面的样式,而且还能使用比较优秀的前端技术,利如Jquery。系统整体结构就是本着MVC的思想去搭建,做到前台跟后台分离。一般来说是前台作为页面的展示层用于跟用户交互。业务逻辑层为用户处理用户的请求和组织用户需求的界面。模型层则是一个个实体作为数据库中表的映射。体现出来面向对象的思想,能够更好的去面向对象编程。在处理用户请求分发请求的时候使用struts2,在处理数据存储和修改以及删除数据的时候使用开源的hibernate框架,hibernate框架是一个很好的OR(ObjectRelationship)框架。能够让开发人员彻底的面向对象开发。不用去写SQL语句就能实现数据的增删改查。Spring则负责将他们整合起来负责一些bean的注入,直接能够根据我的实体对象生成相应的数据库表。为了减少代码的冗余使代码看起来更加清晰,开发中使用了java的泛型对常用的增、删、改、查进行了封装,只需要分别继承已经写好的接口与实现类,因此业务逻辑层能做到不用写任何代码就能调用相应的方法。同时,使用Ajax技术实现异步刷新来实现前后台的同步。对于教师同步功能,开发中使用了Session,无论学生做何工作,教师都能用抓取Session的方法,获得同步的权限,一方面可以远程监控学生的工作,另一方面也可以用于师生交流。
系统开发完成后,经过学生试用,反应效果良好,突出解决了分组分工无法确定工作量以及师生不能同步的问题,通过本系统的使用也提高了学生学习软件项目管理课程的兴趣,提高了教学水平。
4 结语
案例教学是软件项目管理教学中的常用的方法,在实际应用中也存在着一定的实际操作的困难,本系统使用了UML作为系统分析和设计的方法,分析了案例教学中存在的问题,设计了解决方案,使用了AJAX等技术进行实现,开发了B/S的软件项目管理教学软件,在实际教学中取得了较好的效果。新一代的信息技术的发展,给教学改革提出了新的挑战,也提供了新的机遇,作为教育工作者,我们应该顺应时代的需要,因势利导地将新的技术应用到教学中去。
参考文献:[1]李蓉,叶俊闵,杨艳.基于案例任务驱动的软件项目管理课程实践[J].计算机教育.2014(14)
[2]王敏.基于J2EE的企业级Web信息系统快速开发平台设计[M].北京:科学出版社,2010.5.
[3]姚竟.《软件项目管理》分组项目实践教学方法研究[J].湖北经济学院学报(人文社会科学版).2012(07)
[4]刁成嘉.UML系统建模与分析设计[M].北京:机械工业出版社,2007.7