1、2.6 网络应用软件开发网络应用软件开发 一、教学设计模板一、教学设计模板 课程标准课程标准 和和 教学目标教学目标 网络应用调试发布网络应用调试发布 教材内容:教材内容: 2.6.4 调试发布 适应的课程标准:适应的课程标准: 2.5 通过分析常见的信息系统,理解软件在信息系统中的作用,借助软件工具与平台开发网络应 用软件。 教学目标:教学目标: 掌握使用 Flask 框架进行调试的基本方法及步 骤。 掌握使用日志文件对网络应用进行调试的基 本方法及步骤。 了解网络应用的发布至专用服务器的方法。 指向的核心素养:指向的核心素养: 信息意识:能够按要求获取与处理信息;在合作 学习过程中,愿意与
2、团队成员共享信息。 计算思维:针对给定的网络应用能使用 Flask 框 架或日志形式完成网络应用的调试,并最终完成发 布。在此过程中能提炼出网络应用的基本调试方 法,进行抽象处理,并用形式化的方法来表述。 数字化学习与创新:掌握数字化学习系统,学习 资源与学习工具的操作技能,用于开展自主学习、 协同工作、知识分享与创新创造。 学习环境:学习环境:有教学控制软件的多媒体机房,并装有 PPT 软件。 建议课时:建议课时:1 课时 教学活动教学活动 设计设计 教学环节教学过程设计意图 情境导 入 导入 1:用事先完成的具有聊天记录功能的“网络 聊天机器人” 进行演示, 从而引起学生的学习兴趣。 同时
3、引导学生思考网络应用的特点,并针对以下问 题进行讨论、交流和回答。 1、由于网络应用程序的特殊性,当其出现错 误时该如何进行调试? 2、如何将网络应用发布至专用的 Web 服务器 以供访问? 通过对预设问题的分析及讨论交流 启发学生思考,引导学生从网络应用 输入输出、运行于远端主机等情况出 发,归纳总结出网络应用调试发布与 普通单机应用调试发布的不同,从而 最终给出相应的解决方案。同时在此 过程中也培养了信息意识。 知识讲 解(1) 通过分析上述问题,并在归纳总结学生回答的 基础上,以 PPT 等多媒体投影或板书形式介绍网络 应用程序调试的特殊性、及 Flask 框架调试模式的 使用方法。 程
4、序错误:第一类是相对简单的语法错误,在 程序执行时 Python 会检查出相应错误并给出修改 建议;第二类为相对复杂的逻辑错误,这就需要编 程人员仔细研究和分析了。Web 应用又因其输入和 输出的特殊性,调试相对来说更加不易。 Flask 框架提供了一个称为调试模式的功能, 只要在开发配置或程序代码中设置 debug = True 通过讲授让学生对网络应用的调试 有一个直观的认识,然后通过实例代 码的调试,理解和掌握 Flask 框架在 网络应用调试编中的应用方法及根 据反馈对错误的判断,让学生进一步 强化相应知识的掌握,从而实现知识 的内化和计算思维的培养。 就能打开调试功能,注意不要在实际
5、的网站应用环 境,即生产环境中使用调试模式,否则将会是一个 巨大的安全漏洞。 from flask import Flask app = Flask(_name_) app.route(/) def index(): dstr = 我的第一个 Web 程序! + 1 return dstr if _name_ = _main_: app.run(debug=True) 实践体 验(1) 在知识讲解的基础上,进一步提出任务,如何 在网络应用运行过程中运用邮件进行报错或日志 文件记录具体的状态,以便于事后的对程序进行分 析和排错。 任务:小组合作(2 人一组) ,网上搜索日志记 录文件的格式及 P
6、ython 文件的读写方法,并根据 实际应用设计一日志文件的记录内容,初步实现日 志记录的相关代码, 并最终以 PPT 的形式进行汇报。 选择 1-2 个小组介绍自己的成果,进行点评。最后 在教师的讲授和指点下完成如下的网络应用日志 记录的代码示例。 通过实例代码的编写和实践运行,理 解和掌握在网络应用中的使用日志 文件记录程序运行状态,以便于事后 的对程序进行分析和排错,从而解决 网络应用的调试难题。让学生进一步 强化相应知识的掌握,从而实现知识 的内化和计算思维的培养。并通过 PPT 的汇报,让学生们的信息处理能 力有所提升,培养学生数字化学习与 创新的核心素养。 知识讲 解(2) 教师以
7、 PPT 等多媒体投影及实际演示的形式来 介绍网络应用在专用 Web 服务器上的发布;说明设 计状态与生产状态的不同及网络应用发布的方法。 Web 应用发布 1、在开发环境中我们只需要通过如下命令就 可以启动 Web 应用,以供他人访问使用。 Python 应用程序.py runserver 2、以 WSGI 应用或 CGI 形式发布 在实际生产中常见的可靠的 Web 服务器有 很多, 如: IIS、 Apache、 Nginx、 Tomcat 及 WebLogic 等,只需将自己编写的 Web 应用程序以 WSGI 应用 或 CGI 形式发布至相应 Web 服务器即可。 通过讲授让学生对网络
8、应用的发布 有一个直观的认识,然后通过实例代 码的分布,理解和掌握网络应用的发 布的必要性及相应的方法,让学生进 一步强化相应知识的掌握,从而实现 知识的内化和计算思维的培养。 配置 Nginx 服务,在 nginx.conf 文件的 Server 段中 加入以下代码: 以 CGI 形式运行 Web 应用 Python 应用程序.py runcgi 实践体 验(2) 任务:小组合作(2 人一组)通过网络搜索 Flask-SQLAlchemy 及 SQL 相关知识, 了解数据库的 应用。同时从教学资源网站或教学光盘中获取具有 聊天记录功能的“网络聊天机器人”完成应用的发 布,并在此应用代码基础上
9、提出自己的改进方案 (如:输入内容形式改变、界面美化或增加不同功 能等) 。选择 1-2 个小组介绍自己的成果,进行点 评。 通过实践任务的布置,促使学生自主 学习,推动小组合作完成任务,让学 生自主学习理解数据库的作用,并进 一步熟练网络应用的发布方法,在实 践中进一步对所掌握的知识所进行 分类、 归纳和验证, 形成系统化知识; 同时通过合作学习,与团队成员共享 信息,培养了信息意识的素养。 课堂小 结 1.网络应用软件的调试:利用 Flask 框架调试、应 用日志文件调试。 2.网络应用软件的发布。 3.“网络聊天机器人”的调试与发布。 通过回顾总结帮助学生掌握网络的 构建步骤及其各相关设
10、备的作用,进 一步理解信息系统应用的特点及网 络在信息系统中所起的作用,提高学 习自觉性和热情。 作业布 置 基础作业(面向所有学生) : 详见课后练习。 提升作业(面向学有余力学生) : 请制作一个解决日常问题的网络应用(主题 不限) 课后作业是课堂学习的延伸,是巩固 和升华知识点的有效途径。根据学生 的基础和能力设置不同难度的作业, 以满足不同层次的学生需求。 教学设计教学设计 思路思路 在教学过程中应充分考虑到学生在实际的学习与生活中调试与发布网络应用的几率不大, 因此需 以教师讲授为主并辅以较多的学生实践操作, 通过亲身的体验来更好的理解和掌握网络应用调试发布 的方法和步骤,从而起到事
11、半功倍的效果。 首先在教学过程中教师可以先用事先完成的具有聊天记录功能的“网络聊天机器人”进行演示, 从而引起学生的学习兴趣;然后以实例“使用 Flask 框架调试” 、 “应用日志文件调试”及“发布网应 用” ,让学生掌握网络应用调试与发布的一般方法和流程。而“为聊天机器人增加聊天记录”的实践 与体验,由于该部分内容中涉及到了 SQLite 数据库,教师可以在课前让学生通过资料和网络预习数 据库相关内容, 在教学中适当加入数据库连接和追加记录的内容; 其次由于该部分代码难度相对较大, 建议教学中以体验为主,对学生的要求可以适当放低,只要能对现有程序代码能阅读、理解,并能按 需进行修改即可;
12、然后, 对学生进行分组, 让学生从教学资源网站或光盘中下载并部署 experience Web 应用项目,观察现有代码与课本例 2 的不同之处,并对程序进行适当的修改,观察程序运行结果的变 化,以搞清楚增加代码的功能作用,并经小组讨论后形成学习报告。这样学生通过该实践活动就能进 一步掌握网络应用的编写步骤和流程、理解网络应用的工作方式、掌握网络应用调试与发布的方法, 并在实践过程中培养学生的团队合作、知识分享意识及解决实际问题的能力。 针对针对 核心素养核心素养 培养的培养的 核心素养的培养不可能泛泛而谈,而应落实在每一次引导、每一个活动之中,在仔细分析了本课 内容可以融入三类核心素养的培养,
13、并且细致分析了各个核心素养的具体落点: 设计考虑设计考虑信息意识的落点在 “能够按要求获取与处理信息; 在合作学习过程中, 愿意与团队成员共享信息。 ” 本课主要是通过对问题的分析及讨论交流启发学生思考, 引导学生从网络应用输入输出、 运行于远端 主机等情况出发, 归纳总结出网络应用调试发布与普通单机应用调试发布的不同, 从而最终给出相应 的解决方案,培养信息意识。同时通过合作学习,与团队成员共享信息,培养了信息意识的素养。 计算思维指向“针对给定的网络应用能使用 Flask 框架或日志形式完成网络应用的调试,并最 终完成发布。 ”主要表现为通过讲授让学生掌握网络应用的基本调试方法及其发布的流
14、程,并将所学 知识应用于实践,进行“Flask 框架调试” 、 “日志调试”及“网络聊天机器人”的调试发布,在实践 中进一步对所掌握的知识所进行分类、归纳和验证,形成系统化知识;在此过程中能提炼出网络应用 的基本调试方法,进行抽象处理,并用形式化的方法来表述,并能将此方法迁移至整个网络应用的编 写、调试及发布,培养计算思维能力。 数字化学习与创新的落点在“掌握数字化学习系统,学习资源与学习工具的操作技能,用于开 展自主学习、协同工作、知识分享与创新创造” 。在数据库、Flask-SQLAlchemy 库及 SQL 相关知识的 学习及使用日志文件调试的实践中, 学生要使用搜索引擎查询相关资源; 在展示各小组的学习成果时, 学生要 PPT 进行汇报;同时开展自主学习和协同工作,并能在解决问题的过程中提出合理方法,提升 数字化学习与创新的核心素养。