“公司化”管理模式在中职实训项目教学中的应用研究
2015-10-24郑林芳
郑林芳
(广东省财政职业技术学校 广东 广州 510445)
“班级公司化”管理是一种全新的班级管理模式,即在班级管理中吸收企业的管理理念,有企业组织架构、人事考核制度及企业文化,以公司化的形式展开班级管理。同样在实训教学阶段,引入“公司化”的模式来开展教学设计,利于探索多样化的实践教学方式。
在职业教育阶段,实训环节占极及重要的地位,只有通过实训,才能把学到的专业知识和技能加以整合应用。根据本校教学安排,每学期最后一周时间为实训周,计算机网络专业的学生第三学期开设了“C#程序设计”和“数据库”这两门专业课程,将其整合应用的实训项目是本学期实训周的主要内容,因此,本学期设计的实训内容是 “基于C#的学生成绩管理信息系统的设计与实现”,在此项目实训环节中,将利用软件开发公司的流程及形式探索项目开发和设计。根据软件生命周期,整个实训项目可分为系统规划、系统分析、系统设计、系统实施、系统运行和维护五个阶段,如图1所示。全班学生和实训指导教师在项目生命周期中根据“公司化”管理扮演不同的项目角色,这种分工方式不仅体现了学生的主体实践地位,而且培养了学生发现和解决问题的能力,同时易于挖掘学生的潜能,学以致用,成为学习的主人。
一、实训项目规划
实训项目的系统规划是系统生命周期的第一阶段,其任务可以分解为开发请求、初步调查、可行研究、审批四个阶段。具体表现为:实训指导教师收到“学生成绩管理信息系统”的开发请求,并把此开发任务下发给全体学生;全班学生分组并推选出小组正组长和副组长,各小组根据开发请求对现有的成绩管理状况和实现目标进行初步调查,同时根据系统要实现的目标和发展要求确定成绩管理系统的设计目标;学生对系统的需求做出分析和预测,同时考虑新系统所受的各种约束条件,研究新系统的必要性和可能性,各小组据此拟出系统的备选方案,写出可行性研究报告;各小组正、副组长和指导教师一起审议各小组的可行性报告,通过分析、挑选,结合实训开发计划编写出系统设计任务书。
(一)需求分析
需求分析是要决定“做什么,不做什么”,通过对目前成绩管理现状进行调查分析,明确系统需要做什么,做到什么程度,得出功能需求和性能需求。
功能需求:本项目对学生的成绩进行管理,教师角色录入成绩,对成绩能够进行查询、修改和删除;学生在教师录入成绩之后,只能够对成绩进行查询;而教务管理员除了对成绩能够进行增加、删除、修改和查询外,还需要对学生和教师信息、课程信息进行维护和管理。
性能需求:要求设计出来的系统运行时要稳定,具备较强的适应性和移植性。同时要具备可扩展性,当新的需求提出时,方便进行更新和维护。
(二)可行性分析
可行性分析是要决定“做还是不做”。一般可行性分析主要考虑四个要素:经济、技术、社会环境和人。成绩管理信息系统从经济上分析因为是实训项目,没有全生命成本即开发成本和维护成本,而开发成功之后如果应用到学校的教务工作上将带来一定的效率;从技术上分析,因刚学完C#程序设计语言与数据库技术,完全有能力完成管理信息系统的开发与设计。
(三)编写系统设计任务书
可行性报告经指导教师与小组组长审议通过后,根据《GB8567-88计算机软件产品开发文件编制指南》中的项目开发计划要求,为了能使项目按照合理的顺序开展,保质保量的完成,要求各小组编写一份结合实训教学实际情况的系统设计任务书。此项目的团队组织结构由总经理 (教师)、项目经理 (小组组长)、系统分析员(小组副组长)、软件工程师(小组成员)、界面设计师(小组成员)、测试组长(小组成员)和测试人员(小组成员)组成,其中,开发部门包含系统分析员和软件工程师,设计部门包含界面设计师,测试部门包括测试组长及测试人员。团队结构如图2所示。同时,为了明确项目团队中的个人分工,制定出人员分工表,如表1所示。
图2 团队组织结构图
表1 团队组织结构表
二、实训项目分析
在分析阶段,主要根据系统设计任务书所确定的范围,确定系统的基本目标和逻辑功能要求,得到既通俗又准确的系统说明书,它是项目设计的依据,也是将来验收系统的依据,同时用户也可以通过说明书知道系统的功能,此系统说明书也需要实训指导教师与小组正、副组长的评审,只有通过评审才能进入下一阶段。
(一)功能分析
根据功能要求,系统最主要的功能是给所有用户(学生、教师、管理人员)提供成绩查询功能。同时对教师和管理员提供成绩的增加、删除和修改功能。
(二)业务流程图
按照业务的实际处理步骤和过程进行的业务流程图是用来描述系统组织结构和业务流程的图表,利用它可以帮助实训者找出业务流程中的不合理流向。在本项目中用户通过登录模块来验证用户名及密码的正确与否,如果正确,再通过用户权限来判断各功能模块是否可用;登录成功之后,再进行相应的业务处理,其具体的业务流程如下页图3所示。
三、实训项目设计
系统分析阶段完成“做什么”的问题,而设计阶段实现的是“怎么做”的问题。它根据系统说明书中规定的功能要求,具体考虑实现逻辑模型的技术方案,形成系统设计说明书。此阶段有概要设计和详细设计两子阶段,主要完成系统模块化和数据库设计工作。
图3 业务流程图
(一)系统模块化
从功能角度出发把系统从上往下分为几个子系统、子模块,并把分模块任务委派给不同的组员。在本系统中可划分为用户登录、学生信息管理、课程信息管理、成绩信息管理四个模块。通过登录模块确定用户身份,如果为学生,则只提供成绩的查询功能;如果是教师除了成绩的查询功能外,还应该具备成绩的增加、删除和修改功能;如果是教务管理员除了成绩的增加、删除、修改和查询功能外,还应该增加课程和学生信息的增加、删除、修改和查询功能。学生信息管理模块、课程信息管理模块和成绩信息管理模块都应该具备增加、删除、修改和查询功能,只是不同的用户具备不同的权限。
(二)数据库设计
数据库是管理信息系统设计中的一个重要环节,学生成绩管理信息系统是典型的管理信息系统(Management Information System,MIS),在系统后台要建立和维护数据库,作为中小型的MIS,SQL Server数据库是本项目不错的选择,系统分析员对数据库进行概要设计,软件工程师进行物理设计,并撰写数据库设计说明书。项目具体建立了四张数据表,具体如下:
用户信息表(UserInfo):用户名、用户密码、用户权限;
学生信息表(StudentInfo):学号、姓名、性别、年龄、班级、电话、家庭住址;
课程信息表(CoureseInfo):课程编号、课程名称、学分;
成绩信息表(ScoreInfo):学号、课程编号、成绩。
数据库包含表与表之间的关系,如成绩信息表中“学号”来源于学生信息表中现有的学生学号;成绩信息表中“课程编号”来源于课程信息表中现有的课程编号。根据业务逻辑合理性定义表与表之间的关联,以确保数据的一致和完整性。
在此阶段,指导教师要把握学生的数据库设计是否与需求相符,是否符合设计的规范,并且与小组正、副组长一起完成数据库设计的评审。
四、实训项目实施
系统实施是将设计的系统付诸实施的阶段。包括编程测试、安装测试、人员培训、数据文件转换、购置安装和调试计算机设备,完成系统上线运行的准备。在本实训项目中组长将项目模块分发给小组成员,软件工程师根据需求规格说明书来完成编码调试,指导老师、正副组长通过不断的巡视、督促解决编码过程中遇到的问题。当模块任务完成之后,测试部门进行功能测试。
(一)编写模块
本项目主要采用C#程序设计语言来编写所需的各模块。多个模块通过微软公司新一代.NET数据库访问架构ADO.NET进行数据库的各项操作,在本项目中主要利用了 Connection,Command,DataAdapter,DataSet四个对象来完成和执行SQL语句,大大缩短和简化了程序开发的难度和时间。在此阶段,根据设计阶段的划分情况,要完成各功能模块的代码设计。
1.公共类设计
为了节省系统资源,实现代码重用,在系统中以公共类方式来组织和封装一些常用的方法和事件,如数据库的连接和SQL语句的执行。本系统中定义了公共类dataSQL,其封装了数据连接dataConn,执行SQL语句得到数据集getDataSet和执行SQL语句sqlExec的方法。其中执行相应的SQL语句返回相应数据集的getDataSet方法的部分代码如下:
SqlCommand cmd=new SqlCommand(sSQL,
2.用户登录模块
系统登录模块主要用于对进入系统的用户进行安全检查和权限分配,以防止非法用户的登录和使用。用户输入账号、密码和用户类别进入相应的系统用户界面,登录模块实际上就是对用户信息表UserInfo进行查询的操作,设计用户登录窗口如图4所示。
图4 用户登录窗口图
3.模糊查询模块
管理系统的每种身份用户都能对成绩信息进行查询。在成绩查询界面上,可通过学号、课程编号、课程名称等条件对成绩表、课程表、学生表进行联合模糊查询。其部分代码如下:
strSql="select学号,姓名,班级,课程编号,课程名称, 成绩 from ScoreInfo,StudentInof,ScoreInfo where StudentInof.学号=ScoreInfo.学号 And CourseInfo.课程编号=ScoreInfo.课程编号 And CourseInfo.Sid like‘%学号%’and CourseInfo.Cid like‘%课程编号%’ ";
MessageBox.Show("查无记录");
4.成绩录入模块
教师和教务管理员都具备对成绩录入的功能,其设计本质就是对数据库执行SQL的Insert语句,对成绩的录入其实现代码如下:
5.成绩删除模块
教师和教务管理员也应具备对成绩删除的能力,其设计本质就是对数据库执行SQL的delete语句,对成绩的删除其实现代码如下:
6.成绩修改模块
教师和教务管理员应具备对成绩修改的能力,其设计本质就是对数据库执行SQL的update语句,对成绩的删除其实现代码如下:
(二)系统测试
小组软件工程师在完成对各功能模块编程调试通过之后,为了发现系统中存在的问题,测试组长构建运行所需要的软硬件环境,并和小组成员进行系统的测试。首先测试组长制定测试计划,书写测试用例,测试人员执行测试,记录bug并与编程者进行沟通,检查bug的修复情况;组长检查和监督测试进度,并与项目不同级别工作人员进行沟通,进行测试总结,编写测试报告。
(三)项目验收
通过实训周的努力,各小组学生完成了实训项目的设计与实现。学生准备好项目程序和文档,在班级里进行公开验收,教师和学生一起对完成的项目进行系统测试、系统运行、系统文档验收,如果项目计划规定范围内的各项任务都已经完成且交付的成果令人满意,则项目验收成功,教师和组长按照相应的评分标准和分数比例给出相应成绩。对于优秀作品,教师除了在班级里进行展示与点评外,还应推荐给相应业务部门使用。
五、实训项目运行和维护
项目投入运行后,需要经常进行维护和评价。任何一个系统,随着时间的推移需求将发生变化,只有经过不断的开发、运行、再开发、再运行的维护升级过程,才能让系统适应需求的变化,直至项目报废处理。这个过程对于实训项目来说可以忽略。
在“公司化”的实训教学中,由于学生能力经验和项目环境的不足,实训环节仍然是实验性的,忽视了许多具体的实际条件,如何改进有待于进一步的探索。
[1]张友生.信息系统项目管理师考试全程指导[M].北京:清华大学出版社,2011.
[2]林剑谊.利用软件生命周期创建B2C电子商务网站[J].福建电脑,2009(10):104-105.
[3]谢书良.C#任务导引教程[M].北京:清华大学出版社,2012.