计算机本科专业软件实习工厂的构建研究

时间:2022-01-23 05:02:43

计算机本科专业软件实习工厂的构建研究

文章编号:1672-5913(2009)10-0143-03

摘要:本文针对目前中国计算机专业本科教育中生产实习受客观因素所限,造成学生实验动手和科技创新能力不足的问题,提出利用软件实习工厂进行生产实习的方法,将生产实习投入到一个实际项目的开发与建设上,真实模拟软件公司的生产过程,并探讨其建设的总体设计思想和结构模型。

关键词:实习工厂;虚拟实验;项目库;软件工程

中图分类号:G642

文献标识码:A

1引言

生产实习(也称操作性实习)是学校实现培养目标的一个重要环节。学生通过参加生产实习,将所学的专业基础知识和技能应用于生产实际,达到巩固和充实理论知识,培养处理实际问题的能力,为毕业后独立从事专业工作奠定基础的目的。目前,全国高校都十分重视生产实习环节,并投入了大量的人力、物力,在长期的工作中积累了许多好的经验。

但目前我国高校计算机专业的生产实习仍然是薄弱环节,暴露出不少问题,主要是生产实习这个重要的教学环节没有达到生产实习应有的目的。

举例来说,从2002年至2005年作者指导计算机专业生产实习的反馈情况来看,生产实习主要就是参观实习单位的生产情况和听报告。学习活动没有结合计算机专业特点,在生产实习中把学生所学的基础知识与计算机技术在生产中的应用相结合,学生在这个环节中没有学到应有的生产技能。作者随机对参加实习前后的2000级、2001级、2002级计算机专业学生进行了访问调查。

(1) 认为毕业实习效果较好的同学不到10 %,而认为效果不大好的同学超过60%;认为实习达到了一定效果的学生只有30%左右,而在认为达到了效果的学生中,认为锻炼了劳动的能力和吃苦耐劳精神的学生高达80%,认为外出实习达到了将所学的专业基础知识和技能应用于生产实际,达到巩固和充实理论知识,培养处理实际问题的能力的同学不到10%。

(2) 实习前后的态度:实习前愿意去的同学超过60%,但在这些同学中,有超过80%的学生认为去就是参观,锻炼一下,看看外面的世界。实习后的同学认为实习值得去的比例不超过30%。

(3) 实习中:实习的安排时间每年都是最热的时期,而实习的条件较差。指导老师的精力不是花在指导学生理论与实践相结合的能力上,而是集中在生活及安全方面。现代企业面对的是市场的激烈竞争,不能像计划经济那样为高校预备实习条件。而现在学校规模较大,学生数量多,企业不能为这么多临时的实习学生准备硬件设施。2002年,在某钢铁企业进行的生产实习,企业能够提供的床位不到实习学生人数的一半,相当多的学生只能住教室,条件很差,老师与学生将平安地返校当成实习的最高目标,更不用说生产实习的具体环节,真正目的与要求了。

在与其他院校的教师交流中,也讨论过类似现象。文献[2]指出,高校,特别是“211”、“985”的高校,提出了研究性本科教学,注重理论教学,注重开放性教学,对学生动手能力培养和生产实习的重视程度相对不够。文献[3~5]指出,即使是研究性本科教育,其动手能力,实践与理论的结合也显得尤其重要,因为研究性本科教育不仅是对当前生产流程的掌握,更是对当前生产流程、技术的改进,需要独立的设计技术方案和改进方法,对其实践的要求不是降低了,而是更高了。另外一面,用人单位对重点大学学生的期望值更高,期望所录取的毕业生能够立即独立工作,甚至能够带领一个团队进行项目开发,而我们的学生往往存在一定的“差距”,这种差距不是知识上的,而是一种系统、全面、独立进行生产实践能力上的差距。生产实习在这些环节中起着重要的作用,学校的生产实习环节做得好,学生才能获得这种实践能力。

高校生产实习效果差、方法落后、手段单一的主要原因有两个方面:

(1) 缺乏生产实习基地。计算机专业的生产实习有特殊性。其他专业与实际的生产企业、生产的工艺设备、现场知识与操作关系紧密,通过一个具体的生产工艺过程就能使学生深刻理解理论和实践的过程,如果能够在生产中亲自实验和设计一个流程,学生能学到不少东西。而计算机专业的生产流程与制作是一种无形的脑力产品制作过程,如果软件开发人员不将本公司的开况介绍、演示出来,实习人员仅凭参观,无法了解其流程,而在竞争激烈的市场中,鉴于保密、人力成本等方面的考虑,软件开发人员很难配合实习学生的实习,配合大批量的实习学生更不现实。况且实习的单位往往是一些与计算机专业不相关的大中型企业(如钢铁、冶金、加工企业)。实习学生缺乏实践经验,不能给企业直接创造利润,还给企业带来生产和管理上的诸多不便,因此,这些单位不愿意接收学生实习。再者,市场经济以经济效益为主,生产企业没有为学校提供实习基地和教学的义务。加上有些学校与企业关系不是十分密切,学校的生产实习不能进行有效组织与质量管理也是必然的。

(2) 生产实习效果不佳。既使有实习单位愿意接纳学生实习,学生也很少直接参与实践活动,大多数实习单位以组织学生参观、听报告为主,生产实习效果不佳。

计算机专业与其他专业不同之处在于,它的生产实践主要是一种脑力开发过程,产品大多以无形的软件编码为主,而对硬件环境要求并不高,完全可以在校内建立虚拟的“软件实习工厂”。针对以上情况,我们提出了一种新的计算机专业生产实习模式:“软件实习工厂”的实习方式。希望以此达到两个目的:一是为计算机专业的生产实习提供稳定、适宜、有效的实习基地;二是让实习学生充分参与到生产实习中去,发挥其动手能力和创新能力,以这种方式适应国家建设要求。

我们具体做了两方面工作:一是探索性地建设了校内“软件实习工厂”基地;二是探讨了“软件实习工厂”的生产实习教学的实施过程、实施方法。最后对比给出了“软件实习工厂”在某校的实习情况与效果。现仅就第一方面作如下探讨。

2软件实习工厂构建

“软件实习工厂”建设的主要目标就是通过组合校内计算机专业实验室的硬件与软件建立“软件实习工厂”管理平台。平台系统包含了产生实习需要完成的各项任务,主要是一些软件企业真实的项目,将其分解后形成了在一次生产实习中能够完成的任务,实习学生通过“软件实习工厂”管理系统登录实习工厂,按照要求完成各项目任务。将过去那种参观性的被动实习变为主动实习,让实习学生学习、熟悉项目开发的相关技术和技能,以及团队集体开发的能力与组织方式。使学生经过实习后能够相当于经历一次软件公司的“准工作”经历,为毕业设计做一次理论与实践相结合的预练。

在实习后,将学生做的每一个项目与已经成功运作的项目相比较,让学生体会到自己的产品与真正市场的产品的距离,从而激发与培养学生创新意识、实践能力和意志品质。

2.1软件实习工厂需要软硬件基础

“软件实习工厂”的建设需要考虑软、硬件基础:

(1) 硬件平台的组织:软件实习工厂的目的是在实验室模拟实际项目开发,以提升学生软件开发的能力与水平。而实际的项目具有不同的平台、不同的系统,是一个异构的系统,如何整合这些异构的系统,让实习者能够根据实际项目的应用环境来选择相应的硬件开发环境,本项目需要综合考虑这些因素。我们是通过构造一个异构的、开放的复杂实验室环境来满足软件实习工厂的需求。具体来说,就是充分利用我校目前具有的不同种类微型机、服务器、小型机这一有利条件。组建了一个具有6种以上操作系统(Windows、Linux、AIX UNIX、Solaris、SCO UNIX、HP UNIX),由IBM小型机、HP服务器、SUN服务器、普通微型机组成的综合实验硬件基础。

(2) 软件平台的组织:有了硬件基础,可以安装当前常用的开发工具,如Visual Studio 2003、2005集成开发工具,PowerBuilder、JBuilder、Delphi这些可视化C/S(B/S)模式开发工具,以及JBoss、Tomcat、Resin等JSP和开发工具。数据库安装有SQL Server 2000,Oracle,DB2,Sybase等数据库。对于有不同平台的软件分别在不同的操作系统下安装。一般来说,服务器和小型机价格较高,所购置数量有限,采用微型机作为实习者的工作平台,然后通过网络工具,如Telnet,以及FTP工具连接上服务器操作,实习者可以通过每人一台的实习PC机连接上服务器,熟悉并使用非Windows平台与开发环境,扩展当前计算机教学与实践中对非Windows平台掌握与使用的不足。同时,这些服务器又可以充作源代码版本控制服务器,以组织团队的项目开发,对源代码进行Check In/Out操作。

2.2软件实习工厂实验平台建设

2.2.1软件实习工厂管理系统

我们提出的“软件实习工厂”项目的运行模式主要是将实际的软件企业的项目分解成在一次生产实习中能够完成的任务,在实习前,介绍此项目的背景、开发的进度与时间要求,以及“客户”对开发的产品的要求,让实习者将项目置身于一个真实需求的环境中。在“软件工厂”的生产实习中,指导教师主要担任技术总监或部门经理和用户双重角色。而实习者担任项目组长、技术开发人员、软件测试人员、软件质量品质检查人员、软件产品的最终用户等角色。

指导教师以“技术总监”或“部门经理”的身份指导实习者按正规的公司开发的方法进行实习,在实习中又以“客户”的身份对实习者做出的产品进行评价和提出新的要求;在实习中,“软件实习工厂”管理平台系统会按项目开发的流程,在实习者提交实习解答,在教师评判后,系统会自己进入下一个实习的环节,在整个项目完成后给出实际项目的真实例子,让实习者体会到自己的产品与真正市场的产品的距离。

为达到以上目标,我们设计与开发完成了一整套为达到以上总体目标的“软件实习工厂”管理平台系统。系统主要由如下几个部分组成:

(1) 学生实习前端系统。它的作用是在学生登录生产实习系统后,可以选择生产实习的题目,以及每一个生产实习项目的具体要求、项目开发的应用需求、应用环境,同时,可选择的开发工具、项目开发的具体时间进度要求、每一个阶段需要达到的目标等等。在系统演示中,实习者可以在做项目前看到本项目在生产中的成功使用情况及部分界面演示功能,激发生产实习的积极性。实习后,此次实习开发的产品被放到系统往届实习例子中,这样每届实习的同学都可以见到前几届实习做的系统演示(在实习前不提供源代码,自己的实习任务提交后才有权限查看源代码),这样实习者会对前届系统进行改进。

(2) 教师端管理系统。主要处理与检查学生生产实习的情况,学生实习时每天将项目开发的源代码与开发文档按正规软件工程开发过程提交给教师,教师进行打分、评价、问题解答。有共性的例子、习题、可参考的资料在系统中公布,并作解答。

(3) 系统后台处理系统:提供基地建设后台人员增加新的生产实习项目,以及系统维护、管理等功能。“软件实习工厂”管理系统是整个项目的一个平台,提供给教师与实习者进行生产实习的一个管理系统,是本项目研发的一个基础工作。

“软件实习工厂”的系统功能结构如图1所示:

图1系统功能模块图

“软件实习工厂”管理系统要求能够适应不同平台,教师可以远程登录系统来检查实习者的进展。同样,实习者也可以通过系统来在本地机上,对不同平台上的资源进行操作。经过仔细分析,“软件实习工厂”的管理平台系统采用B/S模式来开发,并采用Java跨平台技术来保证在混杂性实验环境中都能够使用。

2.2.2软件实习工厂项目库建设

在前面,虽然搭建了“软件实习工厂”的管理系统只提供了生产实习的框架与管理平台。但“软件实习工厂”的内在核心在于实习项目的设计与开发,也就是生产实习题目及内容的设计与开发,系统平台只有拥有了丰富而先进的实习案例,才能激发同学们学习的兴趣。

生产实习的题目一般要求是一个实际的软件项目,虽然我院老师大多具有丰富的项目,但由于商业机密、版权、隐私等限制,很难直接运用到我们的系统中来。因此,“实习工厂”只能以这些实际项目的需求说明来重新组织项目,而且一个实际的软件项目必须经过仔细的处理与加工才能进入到“软件实习工厂”。因此,项目库的建设就是针对各种实际规模的项目,详细地按照软件工程开发过程的步骤,详细地设计并完成每一个具体过程,并在每一个阶段给出详细的文档说明书。如可行性研究报告书、概要设计说明书、软件需求说明书、数据要求说明书、数据库设计说明书、详细设计说明书、项目开发计划、开发进度月报、模块开发、测试计划、测试分析报告、用户手册,等等。

一旦学生选定一个生产实习题目,管理系统会全程监控整个项目的开发,在需要提交或者需要老师检查时,会通过时间触发实习者或者教师进行资源提交、检查实习情况,并给出每一个阶段的实习分数。

由此可见,项目库的建设不仅仅是项目的程序实现,也体现在对实习者教学期望训练的理解上的项目处理。因此这部分工作一般来说必须由具有教学经验人员来完成,因此项目库的建设是整个平台系统中最重要,同时也是最难的部分。在实习结束后,给实习者演示的就是完整的整个项目情况。

目前,我们的“软件实习工厂”已经完成了11个项目,可以供1~2个班同时进行生产实习的需要,更多的项目库建设正在进行中。

3小结

本文对某大学的软件实习工厂的建设模式、实习方法进行了探讨,提出一种较好的计算机本科专业实习工厂的总体构建模型。计算机本科专业实习工厂建设与试运行,表明了这种方式具有一定的优越性,这一部分的内容我们将在另文中论述。

参考文献:

[1] 徐承俊,方萍. 关于实践教学改革的思考[J]. 高等教育研究,2001(2):17-18.

[2] 李明富. 浅析大学生社会实践与素质教育[J]. 吉林省教育学院学报:学科版,2008,24(9):157.

[3] 庄友明,张建一. 制冷空调学科毕业实习模式教学改革探索[J]. 集美大学学报,2003,4(3):103-105.

[4] 景丽洁,翦英红,王丽敏,等. 改革生产实习教学,加强学生创新精神与实践能力的培养[J].化工高等教育,2004(2):46-48.

[5] 范海燕,王玉吉. 大学生实践教学中存在的问题及解决对策[J]. 陕西教育学院学报,2004,20(2):33-35.

[6] 刘影. 努力探索生产实习的有效途径[J]. 现代教育科学,2002(1):50-51.

[7] 张炼. 产学研合作教育的理论问题及在我国的实践[J]. 职业技术教育,2002(34):43-45.

[8] 孙克辉,李长庚,盛利元,等. 专业性实践教学模式的改革与探索[J]. 高等工程教育研究,2003(2):34-37.

[9] 黄永俊,张国忠, 胡月来. 工科专业生产实习教学的探讨[J]. 农机化研究,2005(4):45-48.

上一篇:“大学计算机基础”实验课教学探讨 下一篇:“智能优化算法及其应用”课程教学的实践与探...