内容正文:
2.6 《网络应用软件开发》第一课时(教学设计)
年级
高二年级
课时
2课时
课题
2.6 《网络应用软件开发》
教学
目标
1.知道网络应用软件开发的基本架构(核心素养:计算思维)
2.了解两种开发架构的优缺点,并能根据实际情境选择合适的开发模式(核心素养:数字化学习与创新)
3.了解网络应用软件规划设计及其流程(核心素养:信息意识)
4.掌握网络应用的编写步骤和流程(核心素养:计算思维)
教学
重难点
重点:开发基本架构,网络应用编写
难点:路由和视图函数
教学
准备
教学过程
师生活动
设计意图
一、
课
前
讨
论
1.问题提出
①计算机已经联网了,想看个央视新闻,怎么操作?
打开浏览器搜索;打开央视新闻客户端
②这两种方式有区别吗?
通过讨论对比,两种不同的开发模式
二、
讲授+视频
网络应用软件架构
1.讲授:网络应用软件架构
客户端/服务器(C/S)架构:需要安装客户端软件,服务器提供数据管理,数据共享,系统维护和并发控制等
浏览器/服务器(B/S)架构:无需安装专门的应用程序,用户工作界面通过浏览器来实现
2.视频:客户端/服务器(C/S)架构
客户端:完成用户的具体业务,如:人机交互,数据的输入与输出等;
服务器端:结合数据库服务器,提供数据管理、数据共享、数据及系统维护和并发控制等。
C/S架构特点:如果用户要使用的话,必需下载一个客户端,安装后才可以使用。比如,QQ,网络游戏等。(胖客户/瘦服务器)
3.视频:浏览器/服务器(B/S)架构
浏览器(Browser):代替客户端完成前端的所有操作,用户工作页面在浏览器上完成
服务器端:处理所有相关操作
B/S架构的特点:只要有浏览器就能使用,对客户端要求较低,对服务器端要求较高,比如:网页游戏。(瘦客户/胖服务器)
4.师生共同对比总结
5.课堂练习
下列关于网络应用程序实现架构的描述恰当的是(D)
A.C/S架构的实现只需提供专用的服务器端软件,不需要客户端软件
B.B/S架构的实现需要提供专用的服务器端软件及专用的客户端软件
C.C/S架构的实现中数据管理、数据共享等任务主要由客户端来处理
D.B/S架构的实现中对服务器的负荷相对较重,对服务器性能要求高
讲授结合视频,使学生充分理解两种架构的意义及适用场景,在由师生共同对比总结加深学生理解
三、
任务驱动
网络应用规划设计
1.演示体验聊天机器人,分析聊天机器人
思考如何开发?采用什么架构?具备哪些功能?
2.网络应用软件规划设计
应用目的:对网络应用进行详细的分析,解决的问题?输入数据?输出数据?
应用的总体架构:B/S架构还是C/S架构,开发工具及框架的选择
应用的功能组成:明确应用各个功能模块
界面设计及代码实现
3.课堂练习
小张在制作“学生信息管理系统”时,经过了下列设计步骤:①划分应用的功能模块②确定应用的目的③应用的代码实现④确定应用的总体架构⑤设计应用的界面⑥应用的调试纠错
上述步骤执行的先后顺序正确是(D)
A.②①⑥⑤③④ B.②①⑤③⑥④
C.①⑥②③④⑤ D.②④①⑤③⑥
明确学习任务开发聊天机器人,之后的规划设计都围绕此展开
四、
实践+练习
编写网络应用程序
1.介绍Python中常用的Web应用程序框架
Flask、Django及Tronado.其中Flask Web框架非常精简,属于小型框架,允许开发者任意挑选符合需求的扩展,本课程采用FLASK框架
2.Falsk编写基本过程
导入框架模块 from flask import Flask
创建应用实例 app=Flask(__name__)
编写路由和视图函数
@app.route(“/”)
def index:
……
启动web应用
if __name__ ==”__main__”:
app.run()
3.实践练习:编写我的第一个网页程序
4.HTML超文本标记语言,是一种描述网页的语言,它包括一系列标签,通过这些标签可以将网络上的文档格式统一。
语法 <标签 属性>内容</标签>
编写应用是本节的重难点,先通过介绍加演示的方式让学生理解,再让学生进行实践加深体验
五、
实践+练习
路由和视图函数
1.视图函数可以绑定多个 URL
2.URL中可以添加变量部分,标记<变量名>,则标记部分可以作为参数传递给视图函数
3.实践练习:根据给定的代码和服务器地址,访问指定页面
让学生根据代码访问加深学生对数据传递的理解
六、
演示+讲授
get/post
1.@app.route()中可以传入关键字参数 methods 来指定用户使用GET/POST方法,默认情况下使用 GET 请求
2.GET:将参数按照“变量名=值”的形式,添加到 URL 后面,并使用“?”连接,变量之间使用“&”连接,
特点:只适合提交少量信息,并且不太安全(不要提交敏感数据)、提交的数据类型有限。
3.POST:将数据放在表单中的form数据体中,按照变量与值对应的方式,传递到指定的 URL
特点:可以提交海量信息,相对来说安全一些,提交的数据格式是多样的(Word、Excel、rar、img)
3.演示:get方式提交的数据在地址栏可以看到,POST数据不在地址栏
4.获取数据:request模块
操作表单中提交的数据,可以使用 form 属性
操作URL(如?key=value)中提交的参数可以使用 args 属性
获得当前请求方法,比如 POST、GET
5.表单模板的使用:为使用方便,表单通常包含在网页模板中
render_template()函数,加载指定网页模板
在html文件中添加表单标签<form> </form>创建表单
常见的表单类别:PasswordField,StringField,SubmitField
6.flask使用了jinja2模板引擎,使render_template()不仅能渲染静态的html文件,也能传递参数给html
jinja2基本语法:{{ }}变量;{% %}控制语句;{# #}注释
课
堂
小
结
一、网页开发基本架构:C/S架构,B/S架构
二、Falsk编写基本过程
导入模块
创建实例
编写路由和视图函数
启动web应用
反
思
评
价
本节内容覆盖了网络应用软件开发的一般步骤和流程,教学难度较大,学生往往难以理解前端和后端的转换,因此要通过演示加实践的效果帮助学生完成思维上的转换。整体上先围绕聊天机器人激发学生兴趣,在教学过程中逐步掌握要点完成机器人的各部分功能
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$$