资源简介 网络应用软件开发1. 借助工具与平台开发网络应用软件。2. 掌握网络架构C/S和B/S的优缺点。1. 网络应用开发概述(1)客户端/服务器架构(Client/Server架构,简称C/S架构)的每一个客户端软件的实例都可以向一个服务器或应用程序服务器发出请求。C/S架构可以充分利用客户端与服务器端的硬件环境的优势,将任务合理地分配到客户端和服务器端。C/S架构的优点是能充分发挥客户端计算机的处理能力,很多工作可以在客户端处理后再提交给服务器,响应速度快,降低了系统的通信开销和开发难度;其缺点是客户端软件必须安装才能使用,给应用程序的升级和维护带来一定的困难。(2)浏览器/服务器架构(Browser/Server架构,简称B/S架构),它是随着Internet技术的兴起,对C/S架构改进后产生的一种软件系统体系结构。客户端无须专门的应用程序,应用程序基本集中于服务器端。B/S架构是Web兴起后的一种网络架构模式,Web浏览器是客户端最主要的应用软件。这种模式的优点是统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了客户端电脑的载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本;缺点是服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。2. 网络应用的规划设计(1)确定开发应用的目的。(2)在分析的基础上确定应用的总体架构并选择合适的开发工具。(3)根据应用的需要确定该应用的主要功能模块。(4)用统一、规范的语言进行界面及代码的实现。3. 编写网络应用程序(1)编写网络应用程序,首先要确定相应的Web应用框架,在Python中常用的Web应用框架有Flask、Django及Tornado, 其中Flask Web框架非常精简,属于小型框架,它具有一个包含基本服务的核心,并且是一个可扩展的框架,很多功能可以通过扩展来实现。 (2)如图所示为使用Flask Web框架编写网络应用程序的流程。4. 调试发布(1)调试模式。Flask Web框架提供了一个称为调试模式的功能,只要在开发配置或程序代码中设置debug=True,就能打开调试功能。注意:不要在实际的网站应用环境,即生产环境中使用调试模式,否则将会是一个巨大的安全漏洞。开发人员往往会利用电子邮件来发送程序运行的错误信息进行报错,以及用日志文件进行记录等调试方法对程序进行查错及排错。(2)应用发布。在开发环境中输入命令:Python应用程序.pyrunserver,就可以启动Web应用,以供他人访问使用。但这是Flask Web框架自带的开发Web服务器,它仅供开发者调试使用,本身不够强健、安全和高效,同时也没有顾及实际应用中随着用户数量增加而产生的性能问题,因此不适合作为实际生产环境使用。在实际生产环境中,常见的可靠的Web服务器有很多,如ⅡS、Apache、Nginx、Tomcat及WebLogic等,只需将自己编写的Web应用程序以WSGI应用或CGI形式发布至相应的Web服务器。【例1】 客户端软件须安装才能使用,具有这一特点的网络架构是( )A. C/S架构 B. C/C架构C. B/S架构 D. B/C架构【例2】 小明搭建了花园自动浇灌系统,如图所示为该系统的结构示意图。Web服务器端程序采用Flask Web框架开发。传感器采集的数据由智能终端经IoT模块发送到Web服务器,执行器用于水泵的控制。据此,回答下列问题。序号 子页面路径 功能说明1 / 实时显示土壤湿度数据2 /input id=1&h=10 提交土壤湿度数据3 /count 显示土壤湿度统计数据4 /search 查询显示某一天的历史数据(1)系统根据传感器提交的数据,判断是否需要浇灌,若需要,则开启水泵浇灌10分钟。智能终端部分代码如下,请结合表,在画线处填入正确的代码。#导入函数库,代码略#设置智能终端连接Web服务器的参数、连接网络的参数并连接网络,代码略h= pin0.read_analog()errno,resp = Obloq.get("① input id=1&h="+str(h),10000)if errno!=200: #表明网络通信连接异常 display.show(str(errno))else: if resp=="1": #开启水泵进行浇灌 pin1.write_digital(1) sleep(10*60*1000) ② pin1.write_(0)(2)根据上面的代码分析可知,该信息系统根据传感器数据做出开启或关闭水泵决策的是 (填“Web服务器”“智能终端”或“传感器”),水泵属于图中的 。(3)若Web服务器的IP地址为“196.168.0.101”,端口为“5000”,要访问“显示土壤湿度统计数据”页面,则正确的URL为。【例3】 有一个简单的Flask程序,编写的路由和视图函数如下所示:from flask import Flask #导入Flask框架模块app=Flask( name ) #创建应用实例 @app.route(" ") #路由 def hello(): #视图函数 return "Hello, World"执行程序后,在浏览器中输入网址127.0.0.1:5000/hello,网页显示的内容为“Hello, World”,画线处应填入的正确代码为( )A. / B. helloC. Hello, World D. /hello【例4】 某电池智能充电实验系统由智能终端、传感器、执行器、服务器及相关充电装置等组成。用户可通过浏览器或移动客户端访问该系统,完成控制充电、查看充电状态及结算充电费用等操作。(1)关于实验系统的搭建过程,下列说法中错误的是 (单选,填字母)。 A. 智能终端仅负责传感器数据的采集B. 智能终端可通过IoT模块实现与服务器的数据通信C. 根据项目需求选购的硬件设备,需要进行硬件运行测试(2)当用户使用手机向系统发出充电指令时,系统启动充电程序。该指令传输的路径如下:手机→① → IoT模块→② →执行器,请在画线处填入正确答案。 (3)基于 Flask Web 框架编写的服务器端程序的部分代码如下,查看充电状态的URL是http://220.189.110.100:5000/view。请在画线处填入正确的代码。 #导入相关模块,代码略 app = Flask(_name_) @app.route("/ view ") def view_data(): #返回充电状态数据,代码略 # 服务器其他功能,代码略 if _ == " ": app.run(host="220.189.110.100")(4)要对系统功能进行扩展,增加电池高温警示和火灾报警,请写出新增传感器的名称及其连接的设备 。 1. 客户端无须专门的应用程序,具有这一特点的网络架构是( )A. C/S架构 B. P2P架构C. B/S架构 D. C2C架构2. 与C/S架构相比,下列选项中,不属于B/S架构优点的是( )A. 界面美观 B. 易于维护C. 升级方便 D. 不用额外安装客户端程序3. 某学校使用的智慧接送系统功能如下:管理员将车牌号和学生的数据绑定到对应的家长手机,家长手机上安装智慧接送系统APP,通过口令登录系统。家长的车辆在规定的时间段通过车牌识别系统进入地下车库停车位,在等待阶段,家长可以实时查看接送状态信息。学生放学时,通过人脸识别系统进入接送平台,同时家长手机APP收到学生放学的通知信息,家长开车进入接送通道,学生再次刷脸,闸机开启,接送工作顺利完成。关于该信息系统涉及的网络,下列说法中错误的是( )A. 服务器负责数据处理和网络控制,是构成网络的主要资源B. 家长手机需要与服务器处在同一局域网才能接收到学生放学信息C. 该信息系统的顺利运行需要TCP/IP协议的支持D. 智能手机与服务器采用了无线通信技术4. 下列关于C/S架构与B/S架构的说法,正确的是( )A. C/S架构的实现只需提供专用的服务器端软件,不需要客户端软件B. B/S架构的实现需要提供专用的服务器端软件及专用的客户端软件C. C/S架构的实现中,数据管理、数据共享等任务主要由客户端来处理D. B/S架构的实现中,对服务器的负荷相对较重,对服务器性能要求高5. 小王搭建“室内环境监测系统”,实现如下功能:当室内亮度达到系统设定的阈值时,系统使用执行器放下窗帘,当窗台湿度达到系统设定的阈值时,系统使用执行器关闭窗户,并且系统将采集到的数据通过室内 Wi-Fi保存到服务器的数据库中。如图所示为系统架构示意图。下列说法中,错误的是( )A. 搭建该系统需要配备光敏传感器和湿度传感器B. 移动客户端通过Wi-Fi无线网络连接到服务器,不需要遵守网络协议C. 本系统采用B/S网络开发模式进行工作D. 该系统的客户端可以通过网络获取输入端传感器的数据6. 如图所示为某信息系统的网络架构图。下列关于该网络模式特点的说法,错误的是( )A. 该模式属于B/S模式,无须安装专门的客户端应用程序B. 应用程序基本上都集中于服务器端C. 升级和维护都较方便,极大地降低了成本和工作量D. 服务器的负荷较轻,对服务器的要求较低网络应用软件开发1. 借助工具与平台开发网络应用软件。2. 掌握网络架构C/S和B/S的优缺点。1. 网络应用开发概述(1)客户端/服务器架构(Client/Server架构,简称C/S架构)的每一个客户端软件的实例都可以向一个服务器或应用程序服务器发出请求。C/S架构可以充分利用客户端与服务器端的硬件环境的优势,将任务合理地分配到客户端和服务器端。C/S架构的优点是能充分发挥客户端计算机的处理能力,很多工作可以在客户端处理后再提交给服务器,响应速度快,降低了系统的通信开销和开发难度;其缺点是客户端软件必须安装才能使用,给应用程序的升级和维护带来一定的困难。(2)浏览器/服务器架构(Browser/Server架构,简称B/S架构),它是随着Internet技术的兴起,对C/S架构改进后产生的一种软件系统体系结构。客户端无须专门的应用程序,应用程序基本集中于服务器端。B/S架构是Web兴起后的一种网络架构模式,Web浏览器是客户端最主要的应用软件。这种模式的优点是统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了客户端电脑的载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本;缺点是服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。2. 网络应用的规划设计(1)确定开发应用的目的。(2)在分析的基础上确定应用的总体架构并选择合适的开发工具。(3)根据应用的需要确定该应用的主要功能模块。(4)用统一、规范的语言进行界面及代码的实现。3. 编写网络应用程序(1)编写网络应用程序,首先要确定相应的Web应用框架,在Python中常用的Web应用框架有Flask、Django及Tornado, 其中Flask Web框架非常精简,属于小型框架,它具有一个包含基本服务的核心,并且是一个可扩展的框架,很多功能可以通过扩展来实现。 (2)如图所示为使用Flask Web框架编写网络应用程序的流程。4. 调试发布(1)调试模式。Flask Web框架提供了一个称为调试模式的功能,只要在开发配置或程序代码中设置debug=True,就能打开调试功能。注意:不要在实际的网站应用环境,即生产环境中使用调试模式,否则将会是一个巨大的安全漏洞。开发人员往往会利用电子邮件来发送程序运行的错误信息进行报错,以及用日志文件进行记录等调试方法对程序进行查错及排错。(2)应用发布。在开发环境中输入命令:Python应用程序.pyrunserver,就可以启动Web应用,以供他人访问使用。但这是Flask Web框架自带的开发Web服务器,它仅供开发者调试使用,本身不够强健、安全和高效,同时也没有顾及实际应用中随着用户数量增加而产生的性能问题,因此不适合作为实际生产环境使用。在实际生产环境中,常见的可靠的Web服务器有很多,如ⅡS、Apache、Nginx、Tomcat及WebLogic等,只需将自己编写的Web应用程序以WSGI应用或CGI形式发布至相应的Web服务器。【例1】 客户端软件须安装才能使用,具有这一特点的网络架构是( A )A. C/S架构 B. C/C架构C. B/S架构 D. B/C架构【解析】 本题考查网络应用开发知识。客户端/服务器架构,简称 C/S 架构,其优点是降低了系统的通信开销和开发的难度;缺点是客户端软件须安装才能使用,给应用程序的升级和维护带来一定的困难,A正确。【例2】 小明搭建了花园自动浇灌系统,如图所示为该系统的结构示意图。Web服务器端程序采用Flask Web框架开发。传感器采集的数据由智能终端经IoT模块发送到Web服务器,执行器用于水泵的控制。据此,回答下列问题。序号 子页面路径 功能说明1 / 实时显示土壤湿度数据2 /input id=1&h=10 提交土壤湿度数据3 /count 显示土壤湿度统计数据4 /search 查询显示某一天的历史数据(1)系统根据传感器提交的数据,判断是否需要浇灌,若需要,则开启水泵浇灌10分钟。智能终端部分代码如下,请结合表,在画线处填入正确的代码。#导入函数库,代码略#设置智能终端连接Web服务器的参数、连接网络的参数并连接网络,代码略h= pin0.read_analog()errno,resp = Obloq.get("① input id=1&h="+str(h),10000)if errno!=200: #表明网络通信连接异常 display.show(str(errno))else: if resp=="1": #开启水泵进行浇灌 pin1.write_digital(1) sleep(10*60*1000) ② pin1.write_digital(0)(2)根据上面的代码分析可知,该信息系统根据传感器数据做出开启或关闭水泵决策的是 Web服务器 (填“Web服务器”“智能终端”或“传感器”),水泵属于图中的 执行器 。(3)若Web服务器的IP地址为“196.168.0.101”,端口为“5000”,要访问“显示土壤湿度统计数据”页面,则正确的URL为http://196.168.0.101:5000/count 。【解析】 (1)提交土壤湿度数据子路由为“/input”。关闭水泵进行浇灌其代码为pin1.write_digital(0) 。(2)由代码可知,参数resp由Web服务器端传递到智能终端,因此开启或关闭水泵由Web服务器决策。水泵属于执行器。(3)结合IP地址、端口号以及显示土壤湿度统计数据的子路由“/count”可知答案如上。【例3】 有一个简单的Flask程序,编写的路由和视图函数如下所示:from flask import Flask #导入Flask框架模块app=Flask( name ) #创建应用实例 @app.route(" ") #路由 def hello(): #视图函数 return "Hello, World"执行程序后,在浏览器中输入网址127.0.0.1:5000/hello,网页显示的内容为“Hello, World”,画线处应填入的正确代码为( D )A. / B. helloC. Hello, World D. /hello【解析】 由代码可知,路由路径为“/hello”,D正确。【例4】 某电池智能充电实验系统由智能终端、传感器、执行器、服务器及相关充电装置等组成。用户可通过浏览器或移动客户端访问该系统,完成控制充电、查看充电状态及结算充电费用等操作。(1)关于实验系统的搭建过程,下列说法中错误的是 A (单选,填字母)。 A. 智能终端仅负责传感器数据的采集B. 智能终端可通过IoT模块实现与服务器的数据通信C. 根据项目需求选购的硬件设备,需要进行硬件运行测试(2)当用户使用手机向系统发出充电指令时,系统启动充电程序。该指令传输的路径如下:手机→① 服务器 → IoT模块→② 智能终端 →执行器,请在画线处填入正确答案。 (3)基于 Flask Web 框架编写的服务器端程序的部分代码如下,查看充电状态的URL是http://220.189.110.100:5000/view。请在画线处填入正确的代码。 #导入相关模块,代码略 app = Flask(_name_) @app.route("/ view ") def view_data(): #返回充电状态数据,代码略 # 服务器其他功能,代码略 if _name_ == "_main_": app.run(host="220.189.110.100")(4)要对系统功能进行扩展,增加电池高温警示和火灾报警,请写出新增传感器的名称及其连接的设备 设置温度传感器、红外传感器、火焰传感器、烟雾传感器等,连接在智能终端 。 【解析】 (1)智能终端除了采集传感器的数据,还需要将服务器的指令传达给执行器,A符合题意。(2)用户使用手机向系统发出充电指令,指令传输的路径是手机→服务器→IoT模块→智能终端→执行器。(3)查看充电状态的URL是 http://220.189.110.100:5000/view,因此路由是“/view”,答案为:view。(4)要对系统功能进行增加电池高温警示和火灾报警的扩展,可以设置温度传感器、红外传感器、火焰传感器、烟雾传感器等,连接在智能终端。1. 客户端无须专门的应用程序,具有这一特点的网络架构是( C )A. C/S架构 B. P2P架构C. B/S架构 D. C2C架构【解析】 本题考查网络应用开发概述。浏览器/服务器架构,简称 B/S架构,其优点是升级和维护很方便,C正确。2. 与C/S架构相比,下列选项中,不属于B/S架构优点的是( A )A. 界面美观 B. 易于维护C. 升级方便 D. 不用额外安装客户端程序【解析】 B、C、D均是B/S架构的优点,而界面美观的特点不是本质特点,A符合题意。3. 某学校使用的智慧接送系统功能如下:管理员将车牌号和学生的数据绑定到对应的家长手机,家长手机上安装智慧接送系统APP,通过口令登录系统。家长的车辆在规定的时间段通过车牌识别系统进入地下车库停车位,在等待阶段,家长可以实时查看接送状态信息。学生放学时,通过人脸识别系统进入接送平台,同时家长手机APP收到学生放学的通知信息,家长开车进入接送通道,学生再次刷脸,闸机开启,接送工作顺利完成。关于该信息系统涉及的网络,下列说法中错误的是( B )A. 服务器负责数据处理和网络控制,是构成网络的主要资源B. 家长手机需要与服务器处在同一局域网才能接收到学生放学信息C. 该信息系统的顺利运行需要TCP/IP协议的支持D. 智能手机与服务器采用了无线通信技术【解析】 该系统可以工作于广域网中,因此家长手机不需要与服务器处在同一局域网就能接收到学生放学的信息,B符合题意。4. 下列关于C/S架构与B/S架构的说法,正确的是( D )A. C/S架构的实现只需提供专用的服务器端软件,不需要客户端软件B. B/S架构的实现需要提供专用的服务器端软件及专用的客户端软件C. C/S架构的实现中,数据管理、数据共享等任务主要由客户端来处理D. B/S架构的实现中,对服务器的负荷相对较重,对服务器性能要求高【解析】 C/S架构为客户端/服务器架构,客户端和服务器端都必须有专用的软件来处理相应的数据,A错误;B/S架构的客户端无须专门的应用程序,B错误;C/S架构的服务器端主要提供数据管理、数据共享等任务,C错误。5. 小王搭建“室内环境监测系统”,实现如下功能:当室内亮度达到系统设定的阈值时,系统使用执行器放下窗帘,当窗台湿度达到系统设定的阈值时,系统使用执行器关闭窗户,并且系统将采集到的数据通过室内 Wi-Fi保存到服务器的数据库中。如图所示为系统架构示意图。下列说法中,错误的是( B )A. 搭建该系统需要配备光敏传感器和湿度传感器B. 移动客户端通过Wi-Fi无线网络连接到服务器,不需要遵守网络协议C. 本系统采用B/S网络开发模式进行工作D. 该系统的客户端可以通过网络获取输入端传感器的数据【解析】 本题考查网络知识。任何设备只要连接到网络,都需要遵守网络协议,B符合题意。6. 如图所示为某信息系统的网络架构图。下列关于该网络模式特点的说法,错误的是( D )A. 该模式属于B/S模式,无须安装专门的客户端应用程序B. 应用程序基本上都集中于服务器端C. 升级和维护都较方便,极大地降低了成本和工作量D. 服务器的负荷较轻,对服务器的要求较低【解析】 本题考查网络开发模式。由于有Web服务器,因此该模式属于B/S模式,服务器的负荷较重,对服务器的要求较高,D符合题意。 展开更多...... 收起↑ 资源列表 网络应用软件开发 (原卷版).docx 网络应用软件开发 (解析版).docx