system: [SYSTEM]

user: 4. 课程教学设计 基于工作过程导向的的《Java程序设计》教学改革与实践以服务为宗旨，以就业为导向，走产学结合发展道路，以设计课程教学内容和学习情境载体为切入点，以培养学生适应工作岗位为基础，强化实践动手能力为手段，增强创新能力为根本 [ 21 ]，进行《Java程序设计》课程教学改革。具体为： 1) 确定专业培养的人才在当地主要覆盖哪些职业岗位，每个岗位需要哪些知识和能力，再分析这些能力之间的逻辑联系，并结合专业对应的职业资格证的要求，归纳该专业应培养的核心能力。专业的核心能力将成为专业培养的主要目标。在课程改革初期，我们展开了全方位、多角度的市场调研。目的在于充分了解企业、学生的需求，收集行业企业经济技术发展的基础数据，对该课程的职业岗位和职业教育状况进行分析，从宏观上把握行业企业的人才需求和职业教育现状。中国IT软件市场编程语言市场占有率如表1所示，软件企业明确要求Java工程师使用Java框架技术的数据如表2所示。 Table 1 The market share of programming languages in China’s IT software market in 201 序号 统计项 数目 所占比例(%) 2019年 2018年 1 C/C++语言 698 16.08 16.01 2 Java语言 1210 27.96 25.05 3 .Net语言 839 13.95 12.45 4 HTML语言 623 15.21 12.23 5 python语言 217 8.78 16.92 6 Power Builder语言 47 1.90 7 Delphi语言 119 4.81 8 PHP语言 128 5.18 4.05 9 其它 135 6.13 13.29 表1. 2019年度中国IT软件市场编程语言市场占有率 Table 2 Proportion of Java engineers using various Java framework technologie 序号 统计项 数目 在工作中使用的比例 1 Struts 209 17.27% (Java) 2 Hibernate 178 14.71% (Java) 3 Spring 131 10.83% (Java) 4 SOA 26 1.05% (所有岗位) 表2. Java工程师使用各种Java框架技术的比例 2) 由学校和企业共同修订专业培养方案，以企业为主导培养适应企业需求的技术技能型人才。以构建和实施工学结合、紧密的校企合作为载体，把“以能力为主线”的培养要求切实贯穿整个教学过程进行设计。“校企协同”人才培养思路流程如图7所示，“校企协同”培养方案如图8所示。 图7. “校企协同”人才培养思路 图8. “校企协同”培养方案 3) 组织课题组成员和课程专家对《Java程序设计》工作岗位典型工作任务进行分析，根据分析结果，制定与实际工作过程联系紧密的、有实用价值的课程计划。 Table 3 Analysis of job tasks and professional abilities of Java application software development position 序号 工作任务 职业能力 1 需求分析 沟通能力；理解能力(业务过程)；抽象能力(向软件问题转换)；写作能力；获取资料的能力(英语)； 2 系统设计 识别问题的能力；模型构建能力；活动分析能力；构图能力(GUI设计)； 3 编码与测试 Java语言使用能力；数据库编程能力；IDE运用能力；调错能力；团队协作能力；算法运用能力； 4 布署 设备安装能力；联机调试能力。 表3. Java应用软件开发岗位工作任务与职业能力分析表 4) 根据课程计划设计课程教学内容和构建学习情境。本课程组围绕企业的工作过程，以市场为导向，及时对教学内容做出调整，把来自企业的与学生密切相关的真实的项目设计转化为适合教学的项目，引人教学过程；对于学习情境的设计，侧重于从职业行动能力、专业内容、教学论与方法论建议、教学资源、教师能力要求、学生基本要求、考核方式几个方面进行描述。在教学内容方面，应根据职业岗位能力训练的要求，坚持必需够用的原则，基于典型工作任务，将学习与训练的内容融合，构建以学习情境为单位的课程内部结构，根据学生的认知心理规律并结合职业活动顺序，将学习情境按由易到难，由简单到综合的顺序作串行安排，解决理论与实践相互割裂。岗位工作任务与职业能力分析如表3所示。Java应用软件工作过程分析如表4所示。 我们将课程体系所涉及的知识技能，按照软件产品设计生产的工作过程排序，并根据符合学生知识技能建构的顺序，得到学习领域的具体内容，如表5所示。 Table 4 Analysis of the working process of Java application softwar 工作过程 工作任务 工作岗位 工具 工作行动 产品 项目计划 对所要解决的问题进行总体定义 设计开发实习员 专业参考资料、以往设计经验等。 了解用户的要求及现实环境，探讨解决问题的方案。 可行性论证报告 需求分析 确定要解决的问题，建立软件的逻辑模型 客户及需求分析员 UML、参考资料。 设计建立相应的软件系统的体系结构。 需求规格说明书 概要设计 将软件分解成模块 模块设计员 UML辅助设计。 给出软件的模块结构。 软件结构图 详细设计 进行各模块的实现细节设计 结构设计员 UML辅助工具，数据库设计工具。 设计模块的程序流程、算法和数据结构，并设计数据库。 程序流程图 数据架构ER结构图 程序编码 进行各单元模块的代码编写 程序员 IDE集成开发工具。 把软件设计转换成计算机可以接受的程序。 单元代码 程序测试 发现程序中的错误 软件测试员 计算机、测试辅助工具。 设计测试用例，以较小的代价发现尽可能多的错误。 产品检测 程序维护 纠正程序运行中发现的错误 软件维护员 计算机、需求工具维护经验等。 根据软件运行的情况，对软件进行适当修改。 产品维护与改进 表4. Java应用软件工作过程分析表 Table 5 Ranking table of main learning areas of Java application software developer 序号 学习领域 学习任务 学习行动 作品 涉及学科知识 1 工作任务计划制订 明确软件产品设计制作任务 1.理解软件设计制作工作过程； 2.讨论并制订软件设计制作任务计划。 计划方案 软件设计技术科技文档撰写 2 对象图识图 识别给定软件对象图及相关图件 学习识别给定对象图，各对象之间的关系与作用。 UML图件 软件设计技术面向对象基础 3 需求说明书阅读 理解客户需求，与客户进行沟通 1.根据需求说明书理解客户需求； 2.学会与客户进行沟通。 需求说明书 软件设计技术职业与沟通 4 数据库结构设计 根据需求说明书完成数据库结构设计 根据需求说明书合理确定数据库结构，确定各表之间的关系。 ER关系图 数据库原理 5 类的划分 根据需求说明书完成对象结构设计 根据需求说明书找出系统中的对象，并设计各对象结构。 UML图件 面向对象基础 6 数据表的实现 物理实现各数据表 根据ER关系图在选择的数据库系统中实现物理数据表。 物理数据表 数据库原理 7 类的实现 在集成开发工具上编码实现类 根据UML图在选择的IDE上实现类的编码。 类描述代码 Java语言 面向对象基础 8 处理逻辑划分 在辅助工具上划分软件处理逻辑 根据需求说明书划分系统处理逻辑，并构建对象之间的通信关系。 消息关系图 面向对象基础软件设计技术 9 类与表之间的映射 编码实现类与表之间的映射 根据类与ER关系图，在IDE上实现类与表之间的映射。 映射代码 软件框架技术IDE开发技术 10 单元测试 对编写的代码进行调错 根据处理逻辑编写处理代码，并能及时发现并纠正代码中的错误。 合格的单元模块代码 IDE开发技术 Java语言 11 系统组装 完成模块的装配，交付使用 完成各处理模块的联机调试，并及时发现并纠正模块间的通信错误。 合格的软件产品 IDE开发技术 Java语言 表5. J ava应用软件开发人员主要学习领域排序表 5) 按照本课题改革思路开展教学，将教学过程出现的问题进行总结归纳，不断调整和完善设计过程和教学方法，基于“工作过程导向”的校企合作开发课程再设计流程如图9所示。 图9. 《程序设计》课程再开发流程 6) 编制课程单元设计、整体教学设计。