内容正文:
第2章 信息系统的支撑技术
浙教版(2019版) 信息技术(高中)
2.6 网络应用软件开发
学易同步精品课堂
必修2 信息系统与社会
1、网络应用开发概述、规划设计
2、编写网络应用程序
学习目标
重点:编写网络应用程序
难点:编写网络应用程序
重难点
课堂导入
网络软件是网络不可或缺的组成部分,离开网络软件,整个网络将无法运作。怎样才能开发出符合用户需求的网络软件呢?其实网络软件开发也是软件开发的一种,就是根据用户需求开发相应功能的软件系统的过程一软件开发一般都需要基干某种程序设计语言及相应的开发工具或平台来实现。
2.6.1 网络应用开发概述
•
网络应用软件的实现架构有两种,分别是客户端/服务器架构和浏览器/服务器架构。
1、客户端/服务器架构(Client/Server架构,简称C/S架构)
图2.6.1 C/S 架构图
2、浏览器/服务器架构(Browse/Server架构,简称B/S架构)
图2.6.2 B/S架构图
2.6.2 网络应用的规划设计
“网络聊天机器人”应用的规划设计
1.应用的目的。该应用所要解决的问题是人机对话,输入数据是人向机器人说出的话语,输出数据是机器人对话语的合理回应。
2.应用的总体架构。因为该应用为网络应用,只用于实现简单的人机对话,所以对服务器的要求不高。同时考虑到便于应用的维护和发布,本应用采用B/S架构,开发工具及框架选取 Python、 Flask Web框架及Sqlite数据库。
3.应用的功能组成。根据“网络聊天机器人”的功能可以确定该应用的主要功能模块。另外,网络应用一般是多用户并发使用,所以必须具备用户登录注销功能模块和用户聊天记录等的管理功能模块。该应用的功能组成如图2.6.3所示。
图2.6.4 登录界面
图2.6.5 聊天界面
4.界面设计及代码实现。在确认应用的功能组成后,就可以按各个功能模块的作用设计出相应的人机交互界面,并在此基础上完成代码编制。如登录注销功能用于用户进入和离开机器人聊天室,也即实现用户身份的认证功能,其界面可设计成如图2.6.4所示;聊天功能模块用于实现人机对话过程,其界面可以设计成如图2.6.5所示。
Sqlite数据库
Sqlite是一个轻量级、跨平台的关系型数据库,具有独立性 零配 置、开放性、占用资源低等特点。基本操作包括创建数据库、连接数据库、创建数据表创建数据记录删除数据记录、查询数据记录、更新数据记录。 Python语言可以通过加载SQLt模块来操作 Sqlite,也可以借助第三方的软件来管理 Sqlite, 如 Sqlite Studio、 Sqlitespy和 Sqliteadmin等。
拓展链接
图2.6.3 “网络聊天机器人”功能图
2.6.3 编写网络应用程序
在PYTHON中常用的web框架有Flask、Django及Tronado,其中Flask web框架精简,属于小型框架。
图2.6.6 web应用程序编写流程
(1)导入框架模块。为Web应用程序导入 Flask框架及扩展的模块,以便在程序代码中使用框架提供的功能,其代码如下:
from flask import Flask 导入 Flask框架模块
(2)创建应用实例。为web应用程序创建FLASK类对象,即创建一个应用实例,其代码如下:
App=Flask(_name_)
图2.6.7 URL、路由和视图函数关联图
(3)编写路由和视图函数。建立url到程序代码的关联,其代码如下:
@app.route(‘/’)
Def index():
return’<html><body><h1>这是我的第一个网页程序!</h1></body></html>’
(4)启动web应用。其代码如下:
if_name_==‘_main_’:
app.run()
例1
用 Flask Web框架实现一个在网页中显示文本“这是我的第一个网页程序!”的Web应用,其程序代码(web.py)如下
from flask import Flask
from flask_script import Server, Manager #导入 Flask的服务器管理扩展模块
app Flask( namemanager Manager(app)
server Server(host="0.0.0.0", port=80, threaded=True)
manager.add_command("runserver", server)
@app.route(‘/’)
def index
return '这是我的第一个网页程序!’
If_name_==‘_main_’: