2.6网络应用软件开发课件浙教版高中信息技术必修2_第1页
2.6网络应用软件开发课件浙教版高中信息技术必修2_第2页
2.6网络应用软件开发课件浙教版高中信息技术必修2_第3页
2.6网络应用软件开发课件浙教版高中信息技术必修2_第4页
2.6网络应用软件开发课件浙教版高中信息技术必修2_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第二章

信息系统的支撑技术2.6

网络应用软件开发学习目标借助工具与平台开发网络应用软件。掌握网络架构C/S和B/S的优缺点。网络软件是网络不可或缺的组成部分,离开网络软件,整个网络将无法运作。怎样才能开发出符合用户需求的网络软件呢?软件开发一般都需要基于某种程序设计语言及相应的开发工具或平台来实现。新课讲授知识点:网络应用开发概述在选择开发平台前,必须先了解网络应用软件的实现架构及不同分类。网络应用软件的实现架构有两种,分别是_______________和_______________。1.客户端/服务器架构(Client/Server架构,简称_______)(1)概述:它可以充分利用客户端与服务器端的硬件环境的优势,将任务合理地分配到客户端和服务器端。①客户端:主要完成用户的具体业务,如人机交互、数据的输入与输出等。②服务器端:主要提供数据管理、数据共享、系统维护和并发控制等。客户端/服务器架构浏览器/服务器架构C/S架构(2)优点:降低了系统的通信开销和开发的难度。(3)缺点:客户端软件须安装才能使用,给应用程序的升级和维护带来一定的困难。2.浏览器/服务器架构(Browser/Server架构,简称_______)(1)概述:它是随着Internet技术的兴起,对C/S架构改进后产生的一种软件系统体系结构。客户端无需专门的应用程序,用户工作界面通过浏览器来实现,应用程序基本上都集中于服务器端。B/S架构(2)优点:客户端无需专门的应用程序,用户工作界面通过浏览器来实现,应用程序基本上都集中于服务器端。由于客户端无需专门程序,应用程序的升级和维护都可以在服务器端完成,升级和维护都较方便,极大地降低了成本和工作量。(3)缺点:服务器的负荷较重,对服务器的要求较高。架构客户端程序系统的通讯开销开发的难度应用程序的升级和维护服务器负荷C/S架构专用的应用程序小低带来一定的困难,客户端服务器端同时升级和维护低B/S架构浏览器大大较方便,只升级服务器端,降低了成本和工作量重例1

小明搭建了一个“土壤湿度监测系统”,能通过浏览器查看实时湿度数据,当湿度小于某阈值时,信息系统自动开启喷淋设备,大于某阈值时自动关闭喷淋设备。该系统的架构如图所示:下列说法不正确的是

()A.该信息系统采用了B/S架构模式B.该信息系统具备闭环控制功能C.该信息系统仅传输了土壤湿度数据D.网络是该信息系统中重要的支撑技术C解析:A选项Web服务器提供网页浏览服务,因此是B/S架构。B选项指作为被控的输出量以一定方式对输入端施加控制影响的一种控制关系。C选项信息系统在工作时,肯定还要传输控制信息等。D选项网络可将地理位置不同、功能独立的多个计算机系统互联起来。例1变式训练

某公司现行的网络系统架构是多年前搭建的,并专门配备了数名管理员负责公司内部的通信软件升级、维护,他们经常需要在几百甚至几千部电脑之间来回奔跑,工作效率低。今年,公司提起了项目改造新方案,完成后只需要在服务器端升级和维护系统即可。该公司新的网络系统架构是()A.B/S架构 B.S/C架构 C.S/B架构 D.C/S架构A解析:公司现行的网络系统架构为客户端/服务器(C/S)架构,管理员为员工升级维护软件就必须到个人电脑上操作。升级后,管理员只需要维护服务器端,这种架构是B/S架构,员工只需要在个人电脑上使用浏览器完成工作。四个选项中B和C选项不属于网络系统架构。例2

小明搭建“室内环境监测系统”,实现如下功能:当室内亮度达到系统设定的阈值时,系统使用执行器放下窗帘,当窗台湿度达到系统设定的阈值时,系统使用执行器关闭窗户,并且系统将采集到的数据通过室内Wi-Fi保存到服务器的数据库中。系统架构示意图如图所示。下列说法不正确是

()A.搭建该系统需要配备光线传感器和湿度传感器B.该系统的网络架构为C/S架构C.执行器可以响应PC客户端的请求D.该系统客户端可以获取输入端传感器的数据B解析:B选项题目中采用Web服务器,可知为B/S架构。C选项执行器响应PC客户端请求,执行相应的动作。例2变式训练

小王搭建“室内环境监测系统”,实现如下功能:当室内亮度达到系统设定的阈值时,系统使用执行器放下窗帘,当窗台湿度达到系统设定的阈值时,系统使用执行器关闭窗户,并且系统将采集到的数据通过室内Wi­Fi保存到服务器的数据库中。系统架构示意图如图所示。下列说法不正确的是()A.搭建该系统需要配备光敏传感器和湿度传感器B.该系统运行速度仅取决于硬件的性能C.本系统采用B/S网络开发模式进行工作D.该系统客户端可以通过网络获取输入端传感器的数据B解析:该系统运行速度取决于软件及硬件的综合性能。知识点:网络应用的规划设计1.过程(1)对网络应用进行详细的分析。(2)在分析的基础上确定应用的架构模式,并根据架构模式选择合适的开发工具及现有的应用框架,同时明确应用的各个功能模块。(3)用统一、规范的图表和书面语言表达出来。(1)应用的目的:应用要解决的问题、软件的输入数据和输出数据。(2)应用的总体架构:应用架构模式、开发工具、应用框架。(3)应用的功能组成:应用的各个功能模块。(4)界面设计及代码实现:按各个功能模块的作用设计出相应的人机交互界面,完成代码编制。2.举例:“网络聊天机器人”应用的规划设计知识点:编写网络应用程序编写网络应用程序首先要确定相应的Web应用框架,在Python中常用的Web应用框架有Flask、Django及Tornado,其中FlaskWeb框架非常精简,属于小型框架。FlaskWeb框架具有一个包含基本服务的核心,并且是一个可扩展的框架,很多功能可以通过扩展来实现。它允许开发者任意挑选符合项目需求的扩展,甚至可以自行开发。1.导入框架模块为Web应用程序导入Flask框架及扩展的模块,以便在程序代码中使用框架提供的功能,其代码如下:fromflaskimportFlask

#导入Flask框架模块2.创建应用实例为Web应用程序创建Flask类的对象,即创建一个应用实例,其代码如下:app=Flask(_name_)

#运用Fask框架建立Web应用APP,该APP已经具备了Web应用的基本功能,开发者可以在此基础上增加自己的功能。3.编写路由和视图函数建立URL到程序代码的关联,其代码如下:@app.route('/')

#路由defindex():#视图函数

return'<html><body><h1>这是我的第一个网页程序!</h1></body></html>'当用户在浏览器中向Web服务器发出请求时,Web服务器会把请求发送给Flask应用实例,如上面的APP。Flask通过路由和视图函数的方法,使应用实例知道每个URL与哪些Python代码相关联并运行。4.启动Web应用其代码如下:if_name_==

'_main_':

app.run()

在Flask框架中Web服务器是自带的,调用应用实例APP的run方法就会启动该集成的开发Web服务器,服务器启动后就会进入轮询状态,等待用户访问并处理用户请求,直到程序停止。“_name_=='_main_'”是确保只有当直接执行这个脚本时才启动开发Web服务器,如:Pythonweb.py。注:开发“网络聊天机器人”,须在原有的Web应用程序的基础上解决两个问题:一是机器人对话能力的实现;二是网页上的输入与输出。①机器人对话能力——通过导入AIML模块来解决AIML(ArtificialIntelligenceMarkupLanguage)即人工智能标记语言,本模块由理查·华莱士(RichardWallace)发明。目前AIML已经有了Java、Python、C、C#及Pascal等语言的版本。②网页上的输入与输出——通过在网页中使用提交表单(Form)来解决表单收集用户的聊天语句,提交至Web服务器,然后由Web服务器中的AIML调用respond接口处理这些语句,最后将机器人的回复(即处理结果)发送至访问者的浏览器并输出。导入flask_wtf扩展的FlaskForm模块,实现在FlaskWeb应用程序中使用表单;导入Flask的render_template模块,实现网页模板的使用,使代码更加精简。知识点:调试发布程序在编写过程中会出现错误,需要进行调试、修正错误。错误一般包括两类:相对简单的语法错误,在程序执行时Python会检查出相应的错误并给出修改建议;相对复杂的逻辑错误,需要编程人员仔细研究和分析。

调试结束后,在确保应用能正确运行的情况下,才能将其发布至服务器,供用户使用。1.调试模式FlaskWeb框架的调试模式功能:在开发配置或程序代码中设置debug=True打开调试功能。

注意不要在实际的网站应用环境,即生产环境中使用调试模式,否则将会是一个巨大的安全漏洞。那么在实际生产环境中如果程序出现问题,该如何记录以备开发人员检查呢?开发人员往往会利用_____________________________进行报错,以及用_________进行记录等调试方法对程序进行查错及排错。电子邮件来发送程序运行的错误信息日志文件2.应用发布在开发环境中通过如下命令就可以启动Web应用,以供他人访问使用:Python

应用程序.pyrunserver但这是FlaskWeb框架自带的开发Web服务器,它仅供开发者调试使用,本身不够强健、安全和高效,同时也没有顾及实际应用中随着用户数量增加而产生的性能问题,因此不适合作为实际生产环境使用。在实际生产环境中常见的可靠的Web服务器有很多,如IIS、Apache、Nginx、Tomcat及WebLogic等,只需将自己编写的Web应用程序以WSGI应用或CGI形式发布至相应的Web服务器即可。例3

小明使用Flask模块制作了某信息系统的用户登录验证子系统,其各个路由、视图说明以及实现程序如下所示,请回答相关问题。fromflaskimportFlask,render_template,redirectapp=Flask(__name__)@app.route("/")defindex():

returnrender_template("index.html")①____________deflogin():

#查询代码略

iflen(cur.fetchall())>0:#找到用户的相关信息

returnrender_template("manage.html",username=usr)

else:

returnredirect('/')@app.route("/user/<name>")defuser(name):

return"Hello,"+name+"!"if__name__=="__main__":

app.run(②________)路由地址视图说明/系统首页/user/<name>显示欢迎信息以及用户<name>对应的信息/system?name=xiaoming&password=secretinf传递登录信息完成验证后显示系统管理页面(1)程序第①空是传递登录信息,进行登录验证并显示系统管理页面的路由与视图函数,那么该处填写的语句是____________(单选,选填字母)。A.@app.route("/system",methods=["GET"])B.@app.route("/login",methods=["GET"])C.@app.route("/user",methods=["POST"])D.@app.route("/login",methods=["POST","GET"])(2)若该Web服务器的地址是,运行端口是8080,程序试运行时需打开调试功能,那么第②空应该填写的语句是__________(单选,选填字母)。A.host=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论