内容正文:
2.6 网络应用软件开发
网络应用开发概述
网络应用软件的开发平台很多,各有特点。在选择开发平台前,
必须先了解网络应用软件的实现架构及不同分类。
网络应用软件的实现架构有两种,分别是客户端/服务器架构和
浏览器/服务器架构。
客户端/服务器架构
C/S架构
浏览器/服务器架构
B/S架构
两个平台的区别
客户端/服务器(C/S):
优点:可以将任务合理分配到客户端和服务器端,降低了系统的通信开销和开发难度。
缺点:客户端软件必须安装才能使用,给应用程序升级和维护带来一定难度
浏览器/服务器(B/S):
优点:升级和维护都比较方便,降低了成本和工作量。
缺点:工作时服务器的负荷较重,对服务器的要求较高
网络应用的规划设计
1.应用的目的
所要解决的问题:
输入的数据:
输出的数据:
人机对话
人向机器人说出的话语
机器人对话语的回应
2.应用的总体架构
因为该应用为网络应用,只用于实现简单的人机对话,所以对服务器的要求不高。同时考虑到便于应用和发布,本应用采用 ,开发工具及框架选取Python、Flask Web框架及SQLite数据库。
B/S架构
SQLite是一个轻量级、跨平台的关系型数据库、具有独立性、零配置、开放性、占用资源低等特点。
Python中常用的Web应用程序框架由Flask、Django及Tronado。其中Flask Web框架非常精简,属于小型框架。使用Flask Web开发的网络应用的流程如图。
3.应用的功能组成
4.界面设计及代码实现
登录界面
聊天界面
编写网络应用程序
Python中常用的Web应用程序框架由Flask、Django及Tronado。其中Flask Web框架非常精简,属于小型框架。使用Flask Web开发的网络应用的流程如图。
上面的web应用只实现了单一文本的输出,这与“网络聊天机器人 ”
应用相去甚远。如果要开发“网络聊天机器人 ”,须在原有的Web应用
程序的基础上解决两个问题:一是机器人对话能力的实现;二是网页上的
输入与输出。
第一个问题可以通过导入AIML模块来解决。AIML即人工智能标记语言,
里面有Java、Python、C、C#及Pascal等语言的版本。
第二个问题可以通过在网页中使用提交表单来解决。要在Flask Web应用
程序中使用表单则必须导入f