(
课件网) 2.6 网络应用软件开发 第二章 信息系统的支撑技术 1.借助工具与平台开发网络应用软件。2.掌握网络架构C/S和B/S的优缺点。 目 录 CONTENTS 知识梳理 01 例题精析 02 随堂检测 03 课时作业 04 知识梳理 1 一、网络应用开发概述 在选择开发平台前,必须先了解网络应用软件的实现架构及不同分类。网络应用软件的实现架构有两种,分别是_____和_____。 1.客户端/服务器架构(Client/Server 架构,简称_____) (1)概述:它可以充分利用客户端与服务器端的硬件环境的优势,将任务合理地分配到客户端和服务器端。 ①客户端:主要完成用户的具体业务,如人机交互、数据的输入与输出等。 ②服务器端:主要提供数据管理、数据共享、系统维护和并发控制等。 客户端/服务器架构 浏览器/服务器架构 C/S架构 (2)优点:降低了系统的通信开销和开发的难度。 (3)缺点:客户端软件须安装才能使用,给应用程序的升级和维护带来一定的困难。 C/S架构图 2.浏览器/服务器架构(Browser/Server架构,简称_____) (1)概述:它是随着Internet技术的兴起,对C/S架构改进后产生的一种软件系统体系结构。客户端无需专门的应用程序,用户工作界面通过浏览器来实现,应用程序基本上都集中于服务器端。 (2)优点:客户端无需专门程序,应用程序的升级和维护都可以在服务器端完成,升级和维护都较方便,极大地降低了成本和工作量。 (3)缺点:服务器的负荷较重,对服务器的要求较高。 B/S架构图 B/S架构 二、网络应用的规划设计 1.过程 (1)对网络应用进行详细的分析。 (2)在分析的基础上确定应用的架构模式,并根据架构模式选择合适的开发工具及现有的应用框架,同时明确应用的各个功能模块。 (3)用统一、规范的图表和书面语言表达出来。 2.举例:“网络聊天机器人”应用的规划设计 (1)应用的目的 该应用所要解决的问题是人机对话,输入数据是人向机器人说出的话语,输出数据是机器人对话语的合理回应。 (2)应用的总体架构 因为该应用为网络应用,只用于实现简单的人机对话,所以对服务器的要求不高。同时考虑到便于应用的维护和发布,本应用采用B/S架构,开发工具及框架选取Python、Flask Web框架及 SQLite数据库。 (3)应用的功能组成 根据网络聊天机器人的功能可以确定该应用的主要功能模块。另外,网络应用一般是多用户并发使用,所以必须具备用户登录注销功能模块和用户聊天记录等的管理功能模块。 “网络聊天机器人”功能图 (4)界面设计及代码实现 在确认应用的功能组成后,就可以按各个功能模块的作用设计出相应的人机交互界面,并在此基础上完成代码编制。如登录注销功能用于用户进入和离开机器人聊天室,也即实现用户身份的认证功能;聊天功能模块用于实现人机对话过程。 三、编写网络应用程序 AIML:Artificial Intelligence Markup Language,即人工智能标记语言。可以通过导入该模块解决网络聊天机器人问题。 编写网络应用程序首先要确定相应的Web应用框架,在Python中常用的Web应用框架有Flask、Django及Tronado,其中Flask Web框架非常精简,属于小型框架。Flask Web 框架具有一个包含基本服务的核心,并且是一个可扩展的框架,很多功能可以通过扩展来实现。它允许开发者任意挑选符合项目需求的扩展,甚至可以自行开发。 Web应用程序编写流程 1.导入框架模块 导入框架模块为Web应用程序导入Flask框架及扩展的模块,以便在程序代码中使用框架提供的功能,其代码如下: from flask import Flask #导入Flask框架模块 2.创建应用实例 创建应用实例为Web应用程序创建Flask类的对象,即创建一个应用实例,其代码如下: app=Flask(_ _name_ _) 3.编写路由和视图函数 建立URL到程序代码的 ... ...