基于角色协同的顶岗实习信息管理系统设计
2014-09-15
(天津冶金职业技术学院,天津 300400)
顶岗实习是我国中长期教育改革和发展规划纲要明确提出的职业教育人才培养主导方式,是提升学生职业能力、增强就业能力和创业能力的关键教学环节,在人才培养过程中起着不可替代的重要作用,越来越受到高职院校的普遍重视。近年来,国内许多高职院校对顶岗实习教学管理进行了探索与实践,依然存在顶岗实习地点分散、管理手段落后、沟通交流困难等问题,严重影响了顶岗实习的教学效果。计算机技术和网络技术的发展为上述问题的有效解决提供了广阔空间,因此在网络环境下,基于WEB技术和数据库技术开发顶岗实习管理系统,对有效解决顶岗实习教学难题、实现顶岗实习教学管理的信息化和规范化、提高教学管理的效率和水平颇具重要的现实意义。
1角色协同的基本思想
角色协同源于CSCW( Computer Supported Cooperative Work)系统。通常情况下,角色是指一个人在社会生活中的地位、身份、承担的职责以及拥有的权限。协同就是指协调两个或两个以上的不同个体或资源,协同一致地完成某一目标的流程或能力。而在计算机科学的许多领域引入角色概念的主要目的是用角色作为关键元素来描述协作关系。如在CSCW系统中,群体协作机制在很多情况下是用角色协作来表现。CSCW是指地域分散的一个群体借助计算机及其网络技术,共同协调与协作来完成一项任务,而其中的角色协同是指用户在交互与协作的过程中以角色为主要媒介,该用户只需集中精力和其他角色而非其他用户进行交流,避免了人际关系等因素对协作的影响,使得协作更具操作性。
工作流是一类能够完全或者部分自动执行的经营流程,它根据一系列流程规则、文档、信息或任务能够在不同的执行者之间进行传递与执行。通常,一个工作流主要由一组活动及它们之间的连接关系、流程的启动和终止条件,以及对每个活动的详细描述组成。
本系统引入工作流和角色协同思想,以多角色协同服务为基础,从各角色的活动及其相关性分析着手,让不同角色遵循一定的规则和流程,相互协作地完成顶岗实习教学任务。学院教务处将工作任务细分为若干工作流,并指派给相应的工作人员,让学院管理员、各系负责人、校内外指导教师、学生等人员协同完成顶岗实习教学工作。在顶岗实习期间,各级管理人员可以通过管理平台随时了解顶岗实习教学工作任务的进展情况,对于发现的问题及时与相关人员协调解决,以保证顶岗实习教学工作任务的圆满完成。
2顶岗实习管理系统任务分解
任务分解是实现协同活动的前提条件。在协同活动中,一个任务通常被分解成若干个子任务,子任务还可以细分为更小的任务单元,任务单元可以分配给相应的角色来完成。因此,可以将一个由多个角色共同完成的顶岗实习教学任务分解成由多个单角色完成的子任务及相应的任务单元,如图1所示。
图1 基于角色的任务分解图
按照学院顶岗实习教学管理规定的要求,结合多年顶岗实习教学与管理实践可以归纳出参与顶岗实习教学活动的角色主要有:学院(教务处)管理人员、各系管理人员、校内指导教师、企业指导教师和学生等5种类型。因此,在对上述用户进行需求分析的基础上,将顶岗实习教学管理任务按照角色的分工,初步分解为系统维护、组织管理、校内指导教师监管、企业指导鉴定和顶岗实习实施等5个子任务。由于这5个子任务还是比较大,没有描述出相应任务的工作流,因此还需要将这些子任务继续细分为更小的单元任务。例如将组织管理进一步细分为审查实习资格、选派指导教师、审核上报内容和发布通知公告等,这些更小的单元任务都由各系管理人员这个角色来完成。其它4个子任务的分解也是如此,只是对应的角色不同,系统维护由教务处管理员角色负责,校内导师监管由校内指导教师角色来完成,企业指导鉴定由企业指导教师角色完成,显而易见,顶岗实习实施由学生角色完成。
3顶岗实习教学活动的描述
通常情况下,角色的协同活动主要有角色交替活动、角色共同行动和角色生产者—消费者活动等三种类型。按照顶岗实习管理系统任务分解和角色分配以及不同类型角色协同活动的定义,顶岗实习教学活动主要是角色交替活动、角色共同行动,可以得出如图2所示的顶岗实习教学活动的描述模型。
图2 顶岗实习教学活动描述模
该模型所描述的顶岗实习教学活动具体说明如下:按照学院毕业环节教学改革实施方案的要求,学院顶岗实习教学领导小组制定顶岗实习工作计划,分配工作任务。教务处管理员根据顶岗实习工作计划发布工作方案,制定具体的时间安排,导入毕业班顶岗实习学生信息,监控和评价各系顶岗实习教学工作;各系管理者发布本系内各专业顶岗实习教学工作计划,审查本系顶岗实习学生资格,选派校内指导教师并初始化校内指导教师账号和密码;实习学生根据专业顶岗实习教学工作计划的要求,通过选择校外实训基地、订单企业、校内生产性实训基地和自主联系企业等四种途径落实顶岗实习单位和实习岗位,学生落实完顶岗实习单位后,需要上报实习单位、实习岗位和企业指导教师等信息;校内指导教师负责审核学生上报的实习单位、实习岗位和企业指导教师等信息,审核通过后,再由所在系管理者进行二次审核,同时进行实习单位信息维护和顶岗实习的监管;二次审核通过的学生可以在企业指导教师的指导下进行正常的顶岗实习,期间,需要按照要求提交周记和月记;指导教师审阅所指导学生提交的周记和月记,对学生提出的问题进行指导和交流,批阅学生提交的资料,及时了解学生顶岗实习进展情况;实习结束时,学生提交实习总结,企业指导教师签署实习单位鉴定;校内指导教师和企业指导教师共同对学生进行评价,并由校内指导教师登录学生成绩,填写顶岗实习成绩汇总表并上报系管理人员;各系管理人员负责学生顶岗实习单位、实习岗位、顶岗实习毕业生总数、企业录用顶岗实习毕业生数、录用毕业生比例、顶岗实习专业对口率、实习成绩等数据的统计和分析,对指导教师进行评价,并按照高等职业院校人才培养工作状态数据采集平台的数据格式导出相关数据。
4顶岗实习管理系统的开发
通过对顶岗实习管理系统任务分解和教学活动的描述可以看出,该系统角色具有使用地点和使用时间的不固定性,为了使系统不同角色在不同时间和地点都能方便地操作该平台访问系统数据,同时考虑系统开发、维护、升级的便捷性和经济性,以及良好的开放性和可扩充性,系统设计采用基于AJAX的三层B/S体系结构。
4.1 开发与运行环境
服务器硬件系统采用CPU主频2.0GHZ、内存2GB以上,硬盘至少有40G剩余空间的PC Server机型;软件系统采用Windows Server2003及其IIS组件,Internet Explorer(IE)7.0,.NET framework 3.5;选用SQL Server2005作为后台数据库;选择ASP.NET、LINQ to SQL 、Jquery和AJAX等作为主要技术手段,使用C#语言编码,通过这些相对主流的配置与先进技术,保证了整个系统的整体性能。
4.2 主要技术
4.2.1 Jquery和AJAX 技术
AJAX 是一种采用异步交互过程的Web 服务,通过AJAX,JavaScript 可使用JavaScript 的XMLHttpRequest 对象直接与服务器通信,JavaScript 可在不重载页面的情况下与Web 服务器交换数据。AJAX 技术可看作服务器和客户端之间的一个中间层,它使用户操作与服务器响应异步化,使网页从服务器请求的信息量减少,从而到达响应速度加快的目的。
jQuery是一套Javascript脚本库,它将一些工具方法或对象方法封装在类库中, 方便用户使用。为充分发挥Jquery和AJAX 技术的优点,做到Jquery和AJAX 技术的有机结合,系统开发中,在aspx文件头引入了如下Jquery路径文件,就可在aspx文件中使用Jquery的控件及样式,使系统html页面保持代码和html内容分离,而不用在html里面插入许多js来调用命令,极大地提高了编写javascript代码的效率, 使程序简单易读、代码更加优雅和健壮。
4.2.2 LINQ to SQL技术
LINQ to SQL 是. NET Framework 3.5 的一个组件,它提供了用于将关系数据作为对象管理的基础结构,能够将关系数据库的数据模型映射为编程语言所表示的对象模型。当应用程序运行时,LINQ to SQL 会将该对象模型中的语言集成查询转换为 SQL,然后将它们发送到数据库进行执行,当数据库返回结果时,LINQ to SQL 会将它们转换回编程语言处理的对象。简化了面向对象编程与关系数据之间的交互。本系统运用LINQ to SQL技术创建对象模型,通过调用控件,获取数据源信息,绑定数据,实现对SQL Server2005数据源数据库中数据的查询、更新、添加和删除等操作。在应用程序中使用单一的语法来查询不同的数据源对象,不仅提高了系统程序开发的效率,也提高了顶岗实习管理系统的整体性能。以下代码是系统中用到的linq多表连接查询,该代码将用户信息表、学生基本信息表和学生实习信息表连接起来并查询出指定学号的学生的姓名、实习单位及实习时间,将查询结果以自定义数据模型方式输出,即方便,又安全。
var u = from a in db.S tudentsBasicInfo
join b in db.StudentsInternshipInfo on a.StudentID equals b.StudentID
join c in db.UserInfo on a.StudentID equals c.UserID
where a.StudentID == transObj.UserID && (c.DelFlag == DALConstant.DELFLAG_HAS || c.DelFlag == null)
select new StudentsInternshipInfoVO
{
StudentID = a.StudentID,
Name = c.Name,
InternshipUnit = b.InternshipUnit,
InternshipTime = b.InternshipTime
};
4.3 数据库设计
数据库设计是顶岗实习教学管理系统设计非常重要的部分,数据库结构的优劣,不仅影响到相关的系统管理功能的顺利实施,而且管理系统的性能也会受到影响。合理设计数据库结构,可以提高数据的存取效率,减少数据冗余,保证数据的完整和一致。本系统在用户需求分析的基础上,依据数据库设计的基本原则,结合系统功能设计的要求,在数据流设计的基础上借鉴数据驱动的方法,采用SQL Server2005进行设计,主要包括用户信息表、学生基本信息表、学生实习信息表、校内指导教师信息表、企业指导教师信息表、企业信息表、学生实习记录信息表等。在数据库结构部署中,最大限度地避免数据表间的重叠和字段冗余,保持各表之间的完整性和统一性设置。数据库关系如图3所示。
图3 顶岗实习系统数据库关系图
4.4 角色协同的实现
按照顶岗实习教学活动的描述,不同的顶岗实习工作流程需要由不同的角色协同完成。在系统设计中采用了基于角色的权限管理策略,通过赋予角色不同的权限来实现角色协同工作。为此,在用户信息表中除定义用户账号(useID)、用户名(name)、密码(password)等基本字段外,特定义角色(role)字段,用于存放角色信息,系统中每个账号都分配相应的角色与之对应,角色的定义由程序实现。(如:学生角色是在导入学生名单时赋予的,指导老师角色是在添加记录时赋予的)。当某一用户登录时,系统首先判断用户输入的账号和密码是否正确,如果正确,则将该用户的基本信息存入session中,然后将根据角色字段,分配相应的功能模块及数据权限。以下主页菜单代码就是通过判断不同的角色值,转向不同的页面和显示菜单功能项目,实现不同角色的协同工作。
private void GoToSelect()
{
List
菜单_校内老师.Add("个人信息管理,SchoolTeacherPersonalInfo.aspx");
菜单_校内老师.Add("审核实习岗位,AuditStudentReportInfo.aspx");
菜单_校内老师.Add("实习过程管理,ViewInternshipSituation.aspx");
菜单_校内老师.Add("公告管理,MessageManage.aspx");
菜单_校内老师.Add("实习鉴定评价,InternshipIdentification.aspx");
List
菜单_企业老师.Add("个人信息管理,EnterpriseTeacherPersonalInfo.aspx");
菜单_企业老师.Add("公告管理,MessageManage.aspx");
菜单_企业老师.Add("实习记录管理,InternshipSituation.aspx");
List
菜单_学生.Add("个人信息管理,StudentPersonalInfo.aspx");
菜单_学生.Add("上报实习岗位,ReportInternshipInfo.aspx");
菜单_学生.Add("实习周记管理,WeeklyReportMenu.aspx");
菜单_学生.Add("实习总结鉴定,StudentAppraisal.aspx");
菜单_学生.Add("查看公告信息,ViewMessage.aspx");
List
菜单_系管理员.Add("审查实习资格,ReviewInternshipsQualification.aspx");
菜单_系管理员.Add("选派校内老师,DesignateSchoolTeacher.aspx");
菜单_系管理员.Add("审核上报内容,ReviewTeacherReport.aspx");
菜单_系管理员.Add("发布通知公告,ReleaseMessage.aspx");
switch (this.Role)
{
case RoleConstant.学生:
gotoPage = "StudentPersonalInfo.aspx";
menuList = 菜单_学生;
break;
case RoleConstant.校内老师:
gotoPage = "SchoolTeacherPersonalInfo.aspx";
menuList = 菜单_校内老师;
break;
case RoleConstant.企业老师:
gotoPage = "EnterpriseTeacherPersonalInfo.aspx";
menuList = 菜单_企业老师;
break;
case RoleConstant.系管理员:
gotoPage = "ReviewInternshipsQualification.aspx";
menuList = 菜单_系管理员;
break;
}
}
5结语
借助工作流和角色协同思想设计与实现的顶岗实习信息管理系统,选用三层B/S体系结构,采用当前主流的Microsoft .NET3.5框架,运用LINQ to SQL、Jquery和AJAX等先进技术,并使用Microsoft SQL Server2005创建后台数据库,充分利用了这些技术的优势,保证了系统的安全性和可靠性,提高了系统的整体性能。该系统具有用户界面友好、操作简单方便、可扩充能力强等特点,实现了顶岗实习过程的动态管理以及与高等职业院校人才培养工作状态数据采集平台数据的合理对接,节约了顶岗实习教学管理成本,提高了顶岗实习教学管理效率和质量。
参考文献:
[1]江勇.基于过程管理理论的顶岗实习动态管理系统开发与应用[J].中国职业技术教育,2012,(26).
[2]王金岗,李玉香.高职顶岗实习有效教学评价的研究与实践[J].职业技术教育,2010,(23).
[3]代一帆,董靓.基于角色协同的参与性评估系统的设计[J].建筑科学,2009,(08).
[4]温小勇.基于工作流和角色协同的毕业论文管理系统的设计与实现[J].实验室研究与探索,2012,(04).
[5] 王承明,丛蕾,刘福恒.高校仪器设备维修管理系统设计与开发[J].实验技术与管理,2012,(09).
[6]何丽,龚旺.jQuery在AJAX 技术框架中页面加载的应用[J].计算机时代,2011,(08).
[7]赵磊.基于jQuery的铁通缆线资源管理系统设计[D].复旦大学,2011.
[8]赵志刚.ASP.NET中基于LINQ的数据访问[J].沈阳师范大学学报(自然科学版),2009,(02).
[9]李萌.基于LINQ技术的毕业论文管理系统的设计与实现[D].黑龙江大学,2010.
[10]王金岗,孟祥双.基于学分制的职业院校教学管理系统研究[J].天津职业院校联合学报,2012,(07).
[11]侯艳君,马子领.基于Ajax的高校设备管理系统设计与实现[J].实验室研究与探索,2011,(12).