从典型技术的分解与聚合透析企业项目向教学项目的转化
来源:用户上传
作者:
[摘 要] 掌握技术是高职人才培养的关键特征之一。提出以典型技术为主线,自顶而下分解和自底而上聚合,分解采用反向序化法、协同法和经验递进法,聚合采用例化法和两化法,实现企业项目向教学项目转化,形成教学项目结构。
[关 键 词] 典型技术;企业项目;教学项目;反向序化法;例化法
[中图分类号] G712 [文献标志码] A [文章编号] 2096-0603(2019)21-0164-02
本文的项目仅指或等同项目案例。实践表明,在项目课程教学中,直接引入企业项目和企业工程师进行教学,实际效果并不尽如人意。究其首要原因是教学项目缺乏专业系统设计,项目课程结构不合理。课程结构问题是课程开发的关键,课程结构就是课程内容排序,课程内容只有在序化,或者说只有在结构化的情况下才能够被传递,教育正是一种传递结构化知识内容的活动。解决项目课程开发的主要问题是:(1)把握项目课程目标是掌握技术或方法,而不是仅仅完成某些任务;(2)掌握项目结构设计。本文从典型技术角度,以Java企业级软件项目为例,探讨企业项目向教学项目转化,系统设计专业教学项目。
一、企業项目和教学项目
企业项目指具体产品、服务或决定,是职业活动中的实例,往往具有较高的综合性和复杂性。而企业软件项目的综合性和复杂性不仅来自应用领域实际问题,还来自软件技术的综合性和复杂性,同时聚集并糅合了众多典型技术的协同应用。按照真实性学习理论,以来源企业的项目为中心组织项目课程,能最大限度地发挥项目课程的功能。但在实践中,根本不可能根据教学内容及进度的需要及时从企业获得足够的、合适的项目。同时因学生情况和教学环境等因素制约,企业项目往往难以在项目课程中开展课堂教学。教学项目指学习型项目,目的是促进学习和掌握技术,为学习提供支持和服务,一般不是真实的。通过教学项目的学习和训练,希望学生达成或接近企业项目实战能力。企业项目关注项目本身带来的社会效益和经济收益,教学项目关注项目在促进学习方面的意义和价值。那么,教学项目如何有效地实现学习方面的意义和价值呢?显然需要把企业项目转化成教学项目。
二、以典型技术为主线自顶而下分解
反向序化法:自顶而下地将企业项目中的典型技术整体规划和全局分解,结合技术的发展和学习心理顺序,由高一级到低一级确立典型技术组织顺序和框架,形成高级典型技术、中级典型技术和初级典型技术的倒序排列。反向保证了由整体去规划局部,序化建立了事物间的关系并指明了其内在的关联,技术也只有在被序化的情况下才能被提供。
典型技术反向序化。企业软件项目的设计一般都使用三层架构和MVC模式。三层架构指整个项目的体系设计分层, MVC模式指将业务逻辑、数据、界面显示的代码分离的软件设计。三层架构侧重的是项目整体解耦,MVC模式侧重的是表示层解耦,MVC模式总是伴随着三层架构。显然,可以从三层架构和MVC模式来确立典型技术组织的顺序和框架。依据反向序化法,企业项目中框架技术属于高级典型技术、WEB技术属于中级典型技术、程序设计技术属于初级典型技术。程序设计技术、WEB技术、框架技术,既是技术的发展顺序,也是技术的学习顺序。它们相互之间不是互斥或淘汰的关系,而是共存协作关系。高级项目中用框架技术实现MVC模式,中级项目中用WEB技术实现MVC模式,初级项目中用程序设计技术实现MVC模式,三者都需要结合程序设计技术实现三层架构,但是由于项目场景或技术发展不同,整体实现方式上和技术协同上有所不同。
协同法:指项目整体框架下,典型技术反向序化过程中,哪些典型技术之间需要紧密协同才可以更好地完成项目的开发,以此确定相应典型技术集可在一个教学项目中来学习。协同是典型技术集内的协同也就是技术横向的协同。分解后的典型技术集之间可以是递进、包容、平行关系,那么对应的教学项目也是相应关系。项目中的典型技术之间是紧密联系和协作的,项目不应该有且仅有一种典型技术,只有在典型技术的协同中而不是孤立中的学习,才能更好地掌握技术。协同法指导我们在横向上应序化哪些典型技术归并成一个技术集,并可例化成一个教学项目。
典型技术协同。依据协同法,企业软件项目中典型技术可分解成框架技术的协同、WEB技术的协同、程序设计技术的协同,形成三个典型技术集。以程序设计技术的协同为例,JAVA技术开发表示层、业务层、数据层三层,数据层需要JDBC+SQL技术协同,业务层需要工厂设计+单例设计技术协同,程序设计技术整体协同实现MVC模式。
经验递进法:指为了使学生更好地理解和掌握高一级典型技术,需要学习哪些低一级典型技术、需要做哪些调整和优化,或者说在技术思想和技术理念上做哪些配合和铺垫。经验递进可以是典型技术集之间的经验递进,也可以是单个典型技术之间的经验递进,反映技术纵向的关系。经验递进法指导我们往往需要在整体上解构和重构企业项目中的典型技术,以使通过低一级典型技术的经验最大化地传递技术思想和技术理念去适应高一级典型技术学习;在纵向上序化典型技术集之间关系和顺序,明确教学项目之间关系和顺序。
典型技术经验递进。项目整体上需做技术的层层经验铺垫,比如:为了使学生更好地理解和掌握企业项目的三层架构和MVC模式,需要在高级项目、中级项目和初级项目中都使用三层架构和MVC模式。单个典型技术之间也需要做经验递进,比如控制器,在高级典型技术中通过Spring MVC技术(其封装了Servlet)实现、在中级典型技术中通过Servlet技术实现、在初级典型技术中通过程序设计技术手工编码简单模拟实现;依赖注入,在高级典型技术中通过Spring技术实现、在初中级典型技术中通过工厂设计和单例设计技术手工编码实现;数据层,在高级典型技术中通过Mybatis技术实现、在初中级典型技术中通过JDBC技术实现等。虽然不同等级典型技术集在项目实现方式上有所不同,但技术思想和技术理念是相通的。虽然有的典型技术在企业项目中不出现,比如工厂设计和单例设计,但是在分解的时候需要设计到低一级的典型技术集中去。高一级典型技术需要低一级典型技术的经验,有偏显性的,也有偏隐性的。三层架构和MVC模式在不同等级项目中的经验是偏显性的,程序设计技术的经验是偏隐性的,后者需要结合典型技术的行业应用花更多时间学习和训练。 在典型技术反向序化过程中,横向上运用协同法,纵向上运用经验递进法。协同法解决最终应分解成哪些典型技术集,即企业项目应该分解成哪几个教学项目;经验递进法解决典型技术集之间的关系,即教学项目之间的关系、项目等级、低一级项目经验如何更好地促成高一级项目学习。企业软件项目既需要高级典型技术,也需要中、初级典型技术,不同典型技术承担不同角色或职责,典型技术整体是协同的,只不过为了提升开发效率和代码复用,大的项目中有的高一级典型技术取代了低一级的典型技术,但是为了更好地理解技术思想和学好高一级典型技术,还是需要从低一级典型技术来学习。典型技术分解后,初级典型技术集对应初级教学项目,在此基础之上,整合中级典型技术集可对应中级教学项目,再整合高级典型技术集可对应高级教学项目。不同等级项目侧重不同的技术集学习,同时高一级项目中也会包含低一级项目中的技术集。
三、以典型技术为主线自底而上聚合
自顶而下是系统分解的过程,而自底而上是集成聚合的过程。分解好的典型技术集,只是一个项目技术框架,还需要实例化成教学項目。同一个典型技术集,不同方式的实例化,就会构造出不同的项目,但其中需要掌握的典型技术是一致的。为了将典型技术集转换成对应的教学项目,聚合的方法可以考虑例化法和两化法。
例化法:指自底而上实例化典型技术集为教学项目。例化的关键是教学项目内典型技术的协同应用,体现了行业应用和技术思想,项目之间体现了典型技术的经验递进。
典型技术例化。JAVA技术集构建Java项目、JAVA WEB技术集构建JAVA WEB项目、JAVA框架技术集构建 JAVA框架项目,三个项目都使用MVC模式和三层架构设计,非常有利于典型技术的比较教和比较学。因此,就能根据教学内容及进度的需要及时获得合适的项目,学生也能随着技术、年级成熟度水平提高逐步接近企业实战水平。
两化法:指简化法和强化法。简化法指裁剪或弱化典型技术的边缘功能、过时功能、行业不用功能、因技术协同而舍弃的功能、需要一定工作经验后才能研究的功能。强化法指强化典型技术的核心功能、行业应用功能、因技术协同或整合而关注的功能,不仅知道如何用,还知道为什么这么用,如何在项目中与其他技术协同用得更好。每种典型技术包含的内容一般很多,如果不做简化和强化处理,实例化的教学项目无法具备典型性。
典型技术两化。以动态页面JSP技术为例,简化内嵌Java代码、标签访问JavaBean、自定义标签库等;强化JSTL标签和EL表达式展示数据、与JQuery和JSON协同做界面特效、与Servlet或Spring MVC控制器协同做表示层。
以典型技术为主线,自顶而下的将企业项目中典型技术序化成高级典型技术、中级典型技术和初级典型技术,自底而上的例化成教学项目并逐步向企业项目聚合,使典型技术在教学项目中的应用模型体现其在企业项目中的应用,使学生对典型技术的掌握逐步接近企业实战水平。自顶而下的分解需要自底而上的聚合来完善,自底而上的聚合需要自顶而下的分解来指导。
四、结语
综上所述,在高职教育项目课程改革中,教学项目应源于企业项目但需要进行转化。转化应以典型技术为主线,自顶而下分解和自底而上聚合,完成教学项目结构设计。典型技术的精髓在思想,不在形式,学生掌握了思想就有了技术迁移能力。所以典型技术的分解和聚合关键是要抓住技术思想,把技术思想贯穿到教学项目中去。而技术思想的掌握不是一蹴而就的,需要分段迭代递进培养,通过教学项目逐步展开和加强,达成教学项目学习方面的意义和价值。
参考文献:
[1]姜大源.结构问题是课程开发的关键[N].中国教育报,2016-08-23(003).
[2]姜大源.工作过程系统化课程的结构逻辑[J].教育与职业,2017(13).
[3]蒋庆斌.来自项目课程展示现场的问题与分析[J].江苏教育,2016(1).
[4]徐国庆.职业教育项目课程开发指南[M].上海:华东师范大学出版社,2009:18-19.
[5]冯学东,林祝君.职业教育项目课程视域下的项目概念与功能[J].继续教育研究,2015(3).
转载注明来源:https://www.xzbu.com/1/view-15007372.htm