张健 覃翠 余辉龙 赵静
[摘 要] 工科院校的毕业设计目的是训练学生综合运用所学专业知识的能力,培养学生的工程实践素质,为其步入社会打下坚实的基础。在毕业设计过程中融入软件工程项目管理技术手段,采用路线图、里程碑、同步点对毕业设计任务进行分解,然后制定工作票,很好地控制毕业设计的工作进度,提高了毕业设计质量,达到了毕业设计的预期效果。
[关 键 词] 毕业设计;工程化管理;项目管理
[中图分类号] G647 [文献标志码] A [文章编号] 2096-0603(2018)13-0020-02
工程技术类本科学生的最后一个学期,通常是在教师指导下,完成一个特定的项目作为毕业设计。毕业设计的主要目的是训练学生综合运用本专业各方面知识的能力,培养其工程素质。搞好毕业设计工作,对实现教学培养目标,提高学生的综合能力和全面素质,增强学生在就业市场的竞争力等诸方面具有重要意义。
由于毕业设计工作的重要性,各高等学校对此都十分重视。经过多年的实践和探索,各个院校都已经形成了各自比较规范的工作程序和管理措施[1]。但是,由于近年来各种形势的不断发展和变化,新技术和新因素的不断出现,给毕业设计工作带来很大的影响。如,学生的就业和考研等实际问题导致学生无暇顾及自己的毕业设计;而高校教师除了承担大量的教学任务外,还承担一些科研任务,部分教师还承担了产业开发工作,用于指导毕业设计的时间偏少,精力投入不足。这些情况都使有些学生只在毕业设计结束前,突击完成毕业设计任务,从而完成质量较差,达不到预期的效果[2][3]。
为了避免上述问题,需要摒弃形式上的管理,加强毕业设计的过程管理[4],将项目工程化管理的方法引入毕业设计管理,才能真正提高毕业设计的工作质量,达到预期效果,同时培养了毕业生的工程实践能力。
一、毕业设计与工程项目管理的相似性
毕业设计工作可分为三个阶段:开题阶段、实施阶段、结题阶段。在这三个阶段中,包括以下问题:设定工作目标、查找文献资料、制订工作计划、分阶段实施、工作过程及阶段性成果的文档化、目标整合与达成、论文撰写、答辩准备。
与此相似,软件项目开发过程是一个任务序列。通过这个任务序列在预算内按时生成高质量的软件产品。软件产品的生产过程中,要解决的问题有:定义目标系统、制订开发计划、文档化软件、分阶段实施、产品交付。
我们将两者进行对比,对比结果如表1所示。从表1中可以看出,毕业设计工作中经常遇到的问题与软件工程项目管理中的常见问题具有很强的相似性。因此,将软件工程项目管理的概念引入毕业设计的过程管理中,可行性很强。
当然,虽然软件项目在项目规模、涉及人员数目、持续时间和资源消耗等许多方面的复杂性都远远高于毕业设计,但是,根据软件工程的理论和实践,即便是对由单个程序员在数周之内完成的项目,采用一定的项目管理手段,也比完全不采用软件工程思想和软件项目管理具有更高的效率,最终产品的质量更高。毕业设计的工作量,至少为一人十几周,或者由2~3人合作一个稍大的项目,也是在十几周内完成。由同一个指导教师所指导的毕业设计小组,学生经常为4~8人。这种规模十分适宜采用一定的工程化手段进行管理。
二、毕业设计的工程化管理方法
在毕业设计过程中实施工程化管理,主要体现在以下几个方面:进度控制、任务分解与跟踪、过程跟踪与测量等。
(一)进度控制
毕业设计的时间一般为16周左右,必须制定切实可行的计划,并且按照计划执行,才能在规定的期限内完成毕业设计任务。如果在毕业设计的初期和中期,不能有效地实现阶段性的目标,很难相信在接近最后期限的短时间内,以突击的方式完成既定目标。这里所遇到的问题和软件项目管理中的问题相似:“在规定的开发时间内,交付符合要求的软件产品”。借用软件项目管理的思想和实践,我们在16周的毕业设计任务时间段,设立了5个里程碑:开题报告、项目起步、项目主体、撰写论文、答辩准备。每一个里程碑进一步拆分成2到4个同步检查点。大体上,每周对应一个同步检查点。这样做的好处是使每位参与毕业设计的学生,十分清楚当前的具体工作任务,也便于经常对照当前工作进度与计划进度,了解工作进展超前还是滞后。
(二)任务分解
通过里程碑设定毕业设计的阶段性任务,仍然是较为粗略的。需要将每一个阶段性的任务,再分解成更加具体的工作项目,并指定完成时间。为了达到里程碑所指定的目标,需要完成一个个的具体任务。对这样的阶段性任务进一步分解之后形成的具体工作,我们采用“工作票”(Ticket)进行任务的定义和追踪,每张工作票描述了非常具体的工作内容,并指明责任人。当工作票所定义的工作内容完成后,完成该工作的人,将此工作票关闭。已关闭的工作票,会反映到它所从属的里程碑那里。当一个里程碑所涉及的全部工作票均已正常结束时,那意味着该里程碑所对应的阶段性工作已经完成。未关闭的工作票意味着尚未结束的工作。通过观察里程碑上的信息,即可以了解工作进度的超前或延误。
每个工作票都包含以下内容:标题、内容描述、发起人、拥有者、关联里程碑和关键字等。此外,还可以在工作票上添加附件,以便存放程序片段、测试数据或者运行结果。这种组织方式可以使相互关联的信息更加便于查找。
参加毕业设计的学生可以方便地通过查看属于自己的当前活动工作票快速了解目前必须完成的工作。这种工作票的设计功能,有助于引导学生将注意力集中到毕业设计的重点问题上来。
(三)过程跟踪
对毕业设计的考核,众所周知的方法是毕业论文评审和毕业答辩,一般集中安排在毕业设计进程的最后进行。重点是对毕业设计的成果进行考核。因为论文评审与答辩无法对毕业设计实施过程性考核,作为补充,往往在毕业设计中期安排一次“中期评定”,借此弥补过程性考核方面的欠缺。然而仅仅增加一次中期考核,还是不能全面地反映毕业设计的整个过程。更重要的,毕业设计中期考核中发现的问题和被整改的情况,到最后答辩时发现,往往为时已晚。
在工程化管理中,采用时间轴视图,记录毕业设计学生进行的所有工作。时间轴视图按照时间的先后顺序,列出所有项目参与者所进行的操作。使整个毕业设计的过程能够被跟踪,有利于及时发现问题,调整反馈。同时设计过程中存留的资料,为全面考核毕业设计的过程,提供令人信服的数据。
三、应用实例
以南京工程学院2016届毕业生为例,说明毕业设计中项目工程化管理的应用。为了便于管理整个毕业设计过程,设置了如表2的5个里程碑。在每个里程碑里,规定了必须完成的内容。
在毕业设计的过程中,对每个里程碑中的任务,根据毕业设计的需要,生成了多个任务票,如在完成项目的主体工作阶段,共生成了五个任务票,分别用于完成各项任务。在学生开始编写程序的初期,要求学生完成一个简单程序。每完成一项任务后,指导老师给出下一个任务票,用于控制学生的进度。同时在此期间,学生生成了两个任务票,要求老师提供帮助。
通过里程碑、任务票的方式,老师完成了对学生毕业设计的进度控制和任务分解,同时实现了对毕业设计全过程的跟踪。而学生同样通过这种方式,熟悉软件工程中的各种管理方法,提高工程实践能力。
四、总结
毫无疑问,毕业设计工作水平的提高,依赖于教学管理部门高度重视,毕业设计指导教师严格要求、细心指导,以及参加毕业设计的学生认真对待毕业设计工作。
在毕业设计过程中利用的各种工程化的技术管理手段,采用路线图、里程碑、同步点和工作票的方式,分解畢业设计阶段任务,并且用于控制毕业设计进度,起到了良好的效果。
参考文献:
[1]柳玲,文俊浩,熊庆宇,等.软件工程专业本科毕业设计过程管理[J].计算机教育,2013(7):99-102.
[2]彭秀英.立题和过程管理是提高毕业设计质量的保证[J].中国大学教学,2012(3):75-76.
[3]郭兴龙,宋新南,胡自成.工科专业毕业设计质量控制研究[J].中国电力教育,2013(7):172-174.
[4]韩作生,许崇敬.毕业设计的流程化跟踪管理[J].高等工程教育研究,2005(3):107-109.