APP下载

将企业项目管理流程模式引入教学的探索

2020-09-26杜春立

电脑知识与技术 2020年24期
关键词:数据仓库

杜春立

摘要:职业教育应当与时俱进,采取有效的措施,来实现职业教育以服务为宗旨、以就业为导向、以能力为本位的培养目标。探索新型的教育教学模式,深化职业教育人才培养模式改革与创新,已成为职业教育的重要工作之一。这就要求教师需要不断地探索和研究新的教学模式,改变教学理念,大胆创新,把企业理念、项目管理流程模式、企业培养员工的方式引入教学中,提高教学质量,人才培养贴近市场需求,使教学实践与企业应用无缝对接,培养高质量、具有综合职业能力的社会所需人才。本文中引入了企业项目管理流程的模式,对企业项目进行了切割,并结合实际教学中的一门实践环节课程,对将项目管理流程模式移植到教学中进行了初步探索,在项目流程的各个环节中,逐步地培养学生扎实的技能和综合职业能力。

关键词:项目管理流程模式;项目开发流程;项目测试流程;BI;ETL;数据仓库;职业教育模式

中图分类号:G642        文献标识码:A

文章编号:1009-3044(2020)24-0145-04

1 背景

笔者曾在企业工作多年,并参与企业的多个IT项目。企业标准化的项目管理流程模式,一直是笔者所赞同的工作模式,它让笔者在企业的工作中做到游刃有余,能够有序高效地完成项目任务。

职业教育是“以就业为导向”的教育,它所培养的学生必须能够有效地完成工作任务,为胜任未来职业岗位工作做好准备。职业教育,重要的是让学生会做什么,怎么做得更好【1】。在执教过程中,如何把企业好的模式应用到教学中呢?如何让学生提前了解到企业里需要什么样的员工?如何让学生了解企业的工作流程,如何做以及如何做得更好,不仅可以获得专业技能,还能培养学生们的职业综合能力呢?

于是,笔者想到是否能把企业项目管理流程模式融入我们的教学中,是否能把企业的项目经验应移植到教学中。基于这个想法,笔者选取了一个较适合于目前教学工作的企业项目管理流程的分支模式,如图1所示。基于此,进一步探索将此项目流程模式移植到教学中。

2 将企业项目管理流程模式移植到教学中的设计

在此,引入一个与“BI数据仓库开发与管理”课程有关的案例。以企业项目流程化模式为基础,设计一个方案,将企业项目流程模式引入到教学中,应用到连续几周的实训环节课中。学生们在企业项目管理流程模式中进行刻意的锻炼,将原有的知识转换为扎实的技能,培养学生做事有规划、有计划、有环节、有清单,有条不紊地完成实践项目,培养学生综合职业能力。

2.1 模拟企业项目背景介绍

这是一个BI(Business intelligence)系统的后台数据仓库开发项目。一家中型公司,有很多业务系统,每个业务系统后台都有很大的数据库在运转,提供大量的数据给前端用户和管理者。为了使得管理者和前端用户有更好的用户体验,也为了不影响原有系统的业务运行速度,已建立一个大型的数据仓库Data Warehouse,将各个业务系统的数据抽取到数据仓库中,基于此后台数据基础,能够高效地根据不同的维度进行业务数据展现给前端用户或管理者。在此,只以后台数据仓库的ETL开发为例。模拟项目管理流程模型,如图2所示。

2.2项目前期准备阶段

项目启动前是整个项目从0到1的一个过程,对于项目整体至关重要。在启动前一定要明确项目的目的、目标,需要达成什么样的效果,需要制订可行性的项目开发/实施方案与标准。在这个过程中,需要带教教师引导并参与,与学生们一起进行充分的项目准备工作。

1)项目小组成立

教师按照项目的相关性和学生能力的差异性进行分组,每个项目小组选一个项目leader,负责整个项目的过程把控。

2)SVN服务器搭建

SVN是项目版本管理工具,项目开发的文档,都存储在SVN服务器上,各开发人员可利用SVN客户端工具在本地获得并更新文档。带教教师需要与学生们一起搭建一台SVN服务器,并为每个小组成员分配权限。

3)开发环境准备

Oracle:Data Warehouse数据仓库。

Toad:连接数据库的客户端。

Informatica:数据抽取、转换、过滤的开发工具。

4)制订开发/实施方案与标准

带教教师与各项目小组讨论,和学生们一起头脑风暴,制订开发方案与统一的开发标准。

5)知识培训KT(Knowledge Training)

這是各项目小组成员自我学习和相互学习的过程。各项目小组Leader或成员根据项目需要用到的知识技能,为组内成员进行知识培训,建议根据项目情况进行5天左右的培训。在此过程中,带教教师要引导各个项目小组leader如何进行有效的知识技能培训。

2.3项目开发/实施阶段

以其中一个小组项目为例,该小组成员如下:

项目leader: Chen,Yu-Nan。

项目Members: Fu,Ming-Ming、Li,Fen-Yang、Gu,Zi-Chen、Zhang,Yi-Hao。

2.3.1 小组leader召开项目启动会

对项目任务进行介绍和集中讨论,小组成员共同确认开发方案、统一标准、项目时间安排计划、人员分配等。

1)统一开发方案与标准

为了统一开发标准,例如,对每个开发任务的统一的配置、命名规则,对表的统一授权、Checklist等,每个项目开发者都遵循这个标准。

在这里,可以通过Excel设计一个Develop Tool工具,开发人员只要进行基本配置Config,利用CONCATENATE函数将预设好的字符串进行拼接,即可生成遵循统一标准的开发标准,非常方便实用。

Develop Tool工具模板能够实现:统一的配置、参数设置、数据表的授权、统一形式的workflow的开发等。

2)项目时间安排计划Plan

小组leader协同组员,根据总的项目计划来制定组内项目的计划,在时间安排上,要考虑突发状况,要有预留的时间,充分考虑到特殊情况对项目周期的影响。对此,需要带教教师给出指导性的建议。例如,如图3所示制订的项目开发计划。

Development项目开发:2周,主要是workflow的开发任务。

SIT(System Integration Testing)系统集成测试阶段:1周写Test Cases,1周进行测试,发现问题并修复。这也是公司在项目交给用户测试前的一个内部的系统联调测试。

UAT(User Acceptance Testing)用户测试阶段:1周,用户进行功能性的测试,发现问题,反馈给开发小组,修复后重新测试,直到所有功能正常,并给出Signoff,标志着项目交付。

Support技术支持:在企业应用中,Support是在项目交付后对用户使用系统的过程中给予的技术支持。而在我们的教学模式中,暂定为贯穿在整个项目测试及交付后的正常运行维护。

3)任务分配

首先,项目leader将项目进行切割,细分为一个个任务,并事先准备一个任务分配的文档(Task_Asign_List),根据小组成员熟悉的相关部分,分配任务给开发者Developer,并且为每个任务指定一个复核人Reviewer。将该Task_Asign_List文档放到SVN服务器上,以便Developers和Reviewers更新。

2.3.2 项目开发过程(2019/03/05—2019/03/16)

1)待做事项清单To-do list

每个小组成员可以在前一天晚上或当天早上,抽出10分钟时间,详细列出需要待做的事项或预计完成的开发任务,这个清单既是一个提醒又是一个目标。它督促每个小组成员按计划完成当天任务。可以写在便签纸上或电子文档或笔记本上,建议每个小组成员准备一个笔记本,工作日志记录。

每个小组成员在当天课程结束后,对照着to-do list,在完成的事项上打√;未完成的事项,备注下未完成的原因,放入第二天的to-do list中。

2)开发任务检查清单Checklist

在项目开发前,项目小组的Developers已对不同层次的开发任务做一个检查清单Checklist。在该检查清单中,列出工作流程、注意事项等。

在开发前或开发过程中,使用checklist检查清单帮助检查流程、细节,以确保Developers清楚地了解注意事项,并且开发过程或完成时以这个checklist作为检查依据,尽可能减少开发过程中的问题,节约开发时间,提高开发效率,保证开发质量。

3)Developer任务开发

Developer在完成任务开发后,要自己先进行测试,如果没有问题的话,可以标记该任务完成,需要及时更新SVN服务器上的Task_Asign_List文档,及时填写任务开始日期(Start Date)及完成日期(Finish Date);Reviewer也要及时更新完成Review的日期。

例如,如图4所示,记录任务分配、开发日期和完成日期,以及Review日期。

4)Work notes工作问题笔记

各小組成员,对于开发过程中遇到的问题、难点,如何分析、如何解决的方法等,都可以记录下来,这是一个积累过程。通过笔记记录分析问题和解决问题的过程和方法,可以为以后的工作作为资料备查,也可以大大加快将知识转换为扎实的技能的速度。

5)Daily Meeting每日会议

各开发小组,每天实践环节结束前都要开个例会,每个小组成员都要说说当天的开发情况,例如任务进展、遇到的开发问题、是否需要协助等,以及做一个总结。同时要做会议纪要,并在会后以邮件形式发给小组成员。

每日例会,还有一个好处就是:发现问题,及时提出,尽快解决,不积压问题,以确保能在计划时间内完成项目开发工作。另外,每一天的会议纪要都基于前一天的会议纪要,以便小组成员能够很容易翻看之前的会议内容。

6)开发进度跟踪

在Task_Asign_List文档中,还有一个汇总Summary的功能:汇总开发总体进度情况。在每日会议中,对于开发情况也是一目了然。

2.4项目测试-SIT系统集成测试(2019/3/5—2019/3/23)

根据项目时间,安排项目SIT系统集成测试,需要项目开发小组和测试小组合作一起完成。这个过程主要是在交给用户测试前的一个内部联调测试过程。在此测试过程中,尽可能地发现问题并修复问题,减少用户测试时出现问题,以免引起不必要的麻烦,也可以节约用户测试时间,如期交付。

1)测试人员Tester编写Test Cases(2019/3/5—2019/3/16)

项目测试人员Tester首先要根据项目要求,编写Test Cases,要从不同的方面来测试开发是否存在问题和需要改善。

下面是针对本项目案例编写Test cases需要考虑的几个方面:

①在SIT期间每天Load数据,以确保数据正常插入/更新

②利用STTM设计逻辑来验证

③测试主键是否不为空

④将来自数据源的结果与目标表的结果进行MINUS比较

⑤将目标表的结果与来自数据源的结果进行MINUS比较

⑥对于Dimension维度表,需要检查PK是否包含0和-2

⑦对于Fact事实表,需要与Dimension维度表进行比对,也要检查索引

2)Tester测试过程(2019/3/19—2019/3/23)

Tester根据Test Case进行测试,如果发现问题,将会反馈给开发人员,需要开发人员检测,如果是开发的问题的话,要尽快修复问题,然后转给Tester再重新进行测试,经历这样的循环过程,直到没有问题,则Tester将关闭该Test case,标志着与该Test Case相关的开发任务通过测试。

2.5项目测试-UAT用户测试(2019/3/26—2019/3/30)

在SIT公司后,在预定时间内交付给用户进行功能测试。这个过程需要项目开发小组和用户共同完成,以确保产品上线没有问题。各小组间可以合作,互为用户进行测试。

在用户测试过程中,用户发现的问题,要反馈给开发小组,开发小组应尽快进行解释、解决和修复。当用户完成所有功能测试后,用户需要给出sign off的确认,表明这个项目顺利完成,可以交付使用了。

在这个过程中,引导学生们如何进行功能测试,要从哪些方面测试能发现潜在的问题,或是暴露开发过程中存在的问题。从另一方面看,相互测试既是一种互动过程,又是反思的过程。对于担当测试用户的开发人员来说,也会对自己的开发任务,有了更多反思,在后期的开发工作中也会从更多方面考虑问题。

3 将企业项目流程模式引入教学中的成效

将企业项目流程模式引入教学中,学生是学习过程的中心,教师是学习过程的组织者,体现了以学生为本,调动了学生自主学习的积极性,培养了学生的专业综合能力【2】。明显的教学成效体现在如下几方面:

1)学会主动思考,着眼全局的能力

通过分析项目需求、制订计划、编写开发/实施方案,以及测试流程,培养了学生对企业项目流程的整体把控,有着眼项目全局的能力。

2)有规划、有计划、有条理的能力

通过制订Plan、每日的待办事项清单To-do list、检查清单Checklist等,培养学生养成了良好的职业习惯:做事事前规划、做事要有计划、做事要有条理,正确、安全、有序地将事情做好。

3)分析问题、解决问题的能力

在项目开发/实施和测试过程中,会遇到各种各样的问题。在这个过程中,极大地锻炼了学生如何分析问题和解决问题的能力,同时也大大提升了他们的专业技能。

4)质量意识和责任心

在SIT测试阶段和UAT用户测试阶段,学生在不断地发现问题并解决问题的环节中,培养了他们的质量意识和责任心。

5)参与小组合作、勇于担责

项目小组有共同的目标,各小组成员参与合作且有自己的任务,要求在时間节点内完成项目。在这个参与合作的过程中,培养了学生积极的学习和工作态度、对专业和职业的认同、相互协作的能力和勇于承担责任的意识。

6)总结反思的能力,将知识转化为扎实的技能

学生在该项目流程过程中,可以通过工作记录的方式,不断地总结反思,掌握分析问题和解决问题的方法,将原有的知识转化为扎实的技能。

4 将企业项流程模式引入教学中的意义

在《现代职业教育教学模式》一书中提到,“职业教育的提倡行动导向教学模式,工作过程为导向的课程,也就是以就业为导向,以能力为本位,以工作领域的职业活动为内容,在职业性的教学过程中培养学生具有综合职业能力。综合职业能力强调的是完成完整工作过程的能力,即在复杂的工作情境中进行计划、采取行动并最终对行动的结果进行检验的能力。一个完整的工作过程至少包含计划、实施和检验这三个阶段。工作过程导向的课程力图从根本上解决学校人才培养与行业企业用人需求相脱节的问题。”[1]

将企业项目流程模式引入教学中,最终的目标正好符合了行动导向教学模式和以工作过程为导向的课程,使学生了解并适应企业项目管理流程,提升专业技能,更重要的是在这个过程中,也培养了学生的综合职业能力,这也正是社会企业所需要的人才。

教学探索与研究没有最好,只有更好;没有终点,只有远方。希望能在更多的探索与创新中、在更多的实践中不断地砥砺前行,把学生培养成真正贴近企业需求、具有综合职业能力的高质量的人才!

参考文献:

[1] 柳燕君.现代职业教育教学模式:职业教育行动导向教学模式研究与实践[M].北京:机械工业出版社,2014.

[2] 王刚.名师之路[M].上海:上海交通大学出版社,2017.

【通联编辑:王力】

猜你喜欢

数据仓库
基于数据仓库的数据倾斜解决方案研究
地理信息数据仓库的技术研究
基于数据仓库的住房城乡建设信息系统整合研究
页岩气工程大数据仓库建设与管理系统开发
分布式存储系统在液晶面板制造数据仓库中的设计
探析电力系统调度中数据仓库技术的应用
数据仓库系统设计与实现
基于数据仓库的数据分析探索与实践
论销售数据仓库的需求分析和概念模型设计
基于工作流的分布式数据仓库模型的研究