資源簡(jiǎn)介 (共35張PPT)2.6網(wǎng)絡(luò)應(yīng)用軟件開發(fā)學(xué)習(xí)目標(biāo):1、理解網(wǎng)絡(luò)應(yīng)用軟件的框架及基本組成結(jié)構(gòu)。2、掌握使用Flask框架編寫的網(wǎng)絡(luò)應(yīng)用軟件的基本方法及步驟。3、了解聊天機(jī)器人的實(shí)現(xiàn)原理,從而進(jìn)一步理解網(wǎng)絡(luò)應(yīng)用實(shí)現(xiàn)的不同之處。智能聊天機(jī)器人網(wǎng)絡(luò)聊天機(jī)器人是基于什么軟件架構(gòu)開發(fā)的?思考:什么是C/S,B/S架構(gòu)?網(wǎng)絡(luò)應(yīng)用開發(fā)概述1.客戶端/服務(wù)器架構(gòu)(Client/Server架構(gòu),簡(jiǎn)稱C/S架構(gòu))網(wǎng)絡(luò)應(yīng)用開發(fā)含義2.瀏覽器/服務(wù)器架構(gòu)(Browser/Server架構(gòu),簡(jiǎn)稱B/S架構(gòu))網(wǎng)絡(luò)應(yīng)用開發(fā)含義C/S、B/S對(duì)比 網(wǎng)絡(luò)應(yīng)用開發(fā)含義 網(wǎng)絡(luò)應(yīng)用規(guī)劃設(shè)計(jì)1.應(yīng)用的目的2.應(yīng)用的總體架構(gòu)3.應(yīng)用的功能組成4.界面設(shè)計(jì)及代碼組成網(wǎng)絡(luò)應(yīng)用的規(guī)劃設(shè)計(jì)1.應(yīng)用的目的所要解決的問題:輸入的數(shù)據(jù):輸出的數(shù)據(jù):人機(jī)對(duì)話人向機(jī)器人說出的話語(yǔ)機(jī)器人對(duì)話語(yǔ)的回應(yīng)2.應(yīng)用的總體架構(gòu)因?yàn)樵搼?yīng)用為網(wǎng)絡(luò)應(yīng)用,只用于實(shí)現(xiàn)簡(jiǎn)單的人機(jī)對(duì)話,所以對(duì)服務(wù)器的要求不高。同時(shí)考慮到便于應(yīng)用和發(fā)布,本應(yīng)用采用 ,開發(fā)工具及框架選取Python、Flask Web框架及SQLite數(shù)據(jù)庫(kù)。B/S架構(gòu)SQLite是一個(gè)輕量級(jí)、跨平臺(tái)的關(guān)系型數(shù)據(jù)庫(kù)、具有獨(dú)立性、零配置、開放性、占用資源低等特點(diǎn)。Python中常用的Web應(yīng)用程序框架由Flask、Django及Tronado。其中Flask Web框架非常精簡(jiǎn),屬于小型框架。使用Flask Web開發(fā)的網(wǎng)絡(luò)應(yīng)用的流程如圖。3.應(yīng)用的功能組成聊天機(jī)器人功能圖網(wǎng)絡(luò)聊天機(jī)器人手機(jī)QQ功能圖4.界面設(shè)計(jì)及代碼實(shí)現(xiàn)登錄界面聊天界面編寫網(wǎng)絡(luò)應(yīng)用程序Python中常用的Web應(yīng)用程序框架由Flask、Django及Tronado。其中Flask Web框架非常精簡(jiǎn),屬于小型框架。使用Flask Web開發(fā)的網(wǎng)絡(luò)應(yīng)用的流程如圖。上面的web應(yīng)用只實(shí)現(xiàn)了單一文本的輸出,這與“網(wǎng)絡(luò)聊天機(jī)器人 ”應(yīng)用相去甚遠(yuǎn)。如果要開發(fā)“網(wǎng)絡(luò)聊天機(jī)器人 ”,須在原有的Web應(yīng)用程序的基礎(chǔ)上解決兩個(gè)問題:一是機(jī)器人對(duì)話能力的實(shí)現(xiàn);二是網(wǎng)頁(yè)上的輸入與輸出。第一個(gè)問題可以通過導(dǎo)入AIML模塊來解決。AIML即人工智能標(biāo)記語(yǔ)言,里面有Java、Python、C、C#及Pascal等語(yǔ)言的版本。第二個(gè)問題可以通過在網(wǎng)頁(yè)中使用提交表單來解決。要在Flask Web應(yīng)用程序中使用表單則必須導(dǎo)入flask_wtf擴(kuò)展的FlaskForm模塊。同時(shí)為了使代碼更加精簡(jiǎn),可以使用網(wǎng)頁(yè)模板,則必須導(dǎo)入Flask的render_template模塊。調(diào)試發(fā)布一般情況下,程序在編寫過程中難免會(huì)出現(xiàn)錯(cuò)誤,需要進(jìn)行調(diào)試、修正錯(cuò)誤。1.調(diào)試模式Flask Web框架提供了一個(gè)稱為調(diào)試模式的功能,只要在開發(fā)配置或程序代碼中設(shè)置debug=True就能打開調(diào)試功能。例如,web.py程序要打開調(diào)試模式,只要在應(yīng)用實(shí)例APP的創(chuàng)建代碼之后插入代碼app.debug=True即可。2.應(yīng)用發(fā)布當(dāng)應(yīng)用程序通過調(diào)試并修改完善后,最后就是投入實(shí)際應(yīng)用了,在開發(fā)環(huán)境中我們只需要通過如下命令就可以啟動(dòng)Web應(yīng)用,以供他人訪問使用。Python 應(yīng)用程序.py runserver編寫網(wǎng)絡(luò)應(yīng)用程序但這是Flask Web框架自帶的開發(fā)Web服務(wù)器,它僅供開發(fā)者調(diào)試使用,本身不夠強(qiáng)健、安全和高效。在實(shí)際生產(chǎn)環(huán)境中常見的可靠的Web服務(wù)器有很多,如IIS、Apache、Nginx、Tomcat及WebLogic等,只需將自己編寫的Web應(yīng)用程序以WSGI應(yīng)用或CGI形式發(fā)布至相應(yīng)的Web服務(wù)器即可。2.應(yīng)用發(fā)布課堂小結(jié)1.網(wǎng)絡(luò)服務(wù)的主要模式( )A. C/S模式B. B/S模式C. P2P模式D. B2B模式A2.有關(guān)C/S、B/S結(jié)構(gòu)下列說法錯(cuò)誤的是( )A.在C/S結(jié)構(gòu)中,有專門的數(shù)據(jù)庫(kù)服務(wù)器,但客戶端還要運(yùn)行客戶端應(yīng)用程序,這也叫做胖客戶端。B.在B/S結(jié)構(gòu)中,客戶端在瀏覽器中只負(fù)責(zé)表示層邏輯的實(shí)現(xiàn),業(yè)務(wù)邏輯和數(shù)據(jù)庫(kù)都在服務(wù)器端運(yùn)行。也就是說 ,應(yīng)用程序部署在服務(wù)器端,客戶端通過瀏覽器訪問應(yīng)用程序。C.通常B/S結(jié)構(gòu)中,客戶端發(fā)送HTTP請(qǐng)求消息傳給服務(wù)器,服務(wù)器將請(qǐng)求傳遞給WEB應(yīng)用程序,WEB應(yīng)用程序處理請(qǐng)求,并把相應(yīng)的HTML頁(yè)面?zhèn)鹘o客戶端。D.WEB應(yīng)用是基于C/S結(jié)構(gòu)的,也就是客戶端/服務(wù)器結(jié)構(gòu)。D3.以下關(guān)于C/S與B/S模式的描述正確的是( )A.C/S為瀏覽器與服務(wù)器模式B.B/S為客戶端與服務(wù)器模式C.C/S模式的可維護(hù)性比B/S高D.B/S模式的可維護(hù)性比C/S高D4.與C/S結(jié)構(gòu)相比,不屬于B/S結(jié)構(gòu)優(yōu)點(diǎn)的是( )A.界面美觀B. 易于維護(hù)C. 訪問范圍廣D. 可擴(kuò)展性好A5.小張?jiān)谥谱鳌皩W(xué)生信息管理系統(tǒng)軟件”時(shí)經(jīng)分析后確定該系統(tǒng)主要包含“數(shù)據(jù)查找與瀏覽”、“數(shù)據(jù)修改”、“報(bào)表顯示”和“系統(tǒng)封面”等模塊,并繪制相應(yīng)的功能圖。這屬于網(wǎng)絡(luò)應(yīng)用規(guī)劃設(shè)計(jì)中的( )A.分析應(yīng)用的目的B.確定總體架構(gòu)C.劃分應(yīng)用的功能組成D.界面設(shè)計(jì)及代碼實(shí)現(xiàn)C6.(開放題)由于B/S架構(gòu)的客戶端由瀏覽器替代,而非專門開發(fā)的應(yīng)用程序,因此B/S架構(gòu)的網(wǎng)絡(luò)應(yīng)用程序在升級(jí)和維護(hù)時(shí)都可以在服務(wù)器端完成,相比C/S架構(gòu)網(wǎng)絡(luò)應(yīng)用的升級(jí)維護(hù)方便,極大的降低了成本和工作量。由此是否可以認(rèn)為B/S架構(gòu)會(huì)逐步替代C/S架構(gòu),從而最終淘汰C/S架構(gòu),你認(rèn)為這一觀點(diǎn)是否正確?請(qǐng)說明理由。C/S架構(gòu)不會(huì)被淘汰,B/S架構(gòu)和C/S架構(gòu)各有特點(diǎn),B/S架構(gòu)雖然有升級(jí)維護(hù)方便,極大的降低了成本和工作量的優(yōu)點(diǎn),但它對(duì)服務(wù)器的性能要求比較高,而且現(xiàn)在在手機(jī)上使用的APP絕大多數(shù)是以C/S架構(gòu)設(shè)計(jì)的。7.常用的有線傳輸有: ( ) ( ) ( )同軸電纜雙絞線光纜8.(開放題)簡(jiǎn)述網(wǎng)絡(luò)操作系統(tǒng)的作用,常見網(wǎng)絡(luò)操作系統(tǒng)有哪些?網(wǎng)絡(luò)操作系統(tǒng)(NOS)是用來負(fù)責(zé)整個(gè)網(wǎng)絡(luò)的軟、硬件資源的管理以及網(wǎng)絡(luò)通信和任務(wù)的調(diào)度,并提供用戶與網(wǎng)絡(luò)之間的接口,它是網(wǎng)絡(luò)管理系統(tǒng)軟件和通信控制軟件的集合。常見的計(jì)算機(jī)網(wǎng)絡(luò)操作系統(tǒng)有:UNIX、Windows Server、Netware和Linux等課堂練習(xí)9. (開放題)在Internet上傳輸信息時(shí)至少需通過哪幾層協(xié)議?在Internet上傳送信息至少通過三層協(xié)議:網(wǎng)際協(xié)議、傳輸控制協(xié)議和應(yīng)用程序協(xié)議10. (開放題)簡(jiǎn)述服務(wù)器的作用。服務(wù)器是計(jì)算機(jī)一種,它主要由大型機(jī)、中小型機(jī)和高檔微機(jī)組成,負(fù)責(zé)數(shù)據(jù)處理和網(wǎng)絡(luò)控制,并構(gòu)成網(wǎng)絡(luò)的主要資源。網(wǎng)絡(luò)軟件和網(wǎng)絡(luò)的應(yīng)用服務(wù)程序主要安裝在服務(wù)器中。課堂練習(xí)11.(開放題)請(qǐng)?zhí)顚慖P、TCP(UDP)和應(yīng)用程序協(xié)議之間的層次關(guān)系。 課堂練習(xí)12.個(gè)人計(jì)算機(jī)通過電話線或光纖以撥號(hào)方式接入因特網(wǎng)時(shí),應(yīng)使用的網(wǎng)絡(luò)設(shè)備是( )A.交換機(jī)B.路由器C.瀏覽器D.調(diào)制解調(diào)器D課堂練習(xí)16.(開放題)小張發(fā)現(xiàn)在許多公共場(chǎng)合都會(huì)有開放(即不加密)的Wi-Fi存在,因此他認(rèn)為Wi-Fi的加密方式可有可無(wú),在設(shè)置家用路由器的無(wú)線參數(shù)時(shí)就沒有使用加密方式,你認(rèn)為小張的做法是否正確,為什么?不正確,(1)不設(shè)置無(wú)線路由的加密方式會(huì)導(dǎo)致附近的人都可以使用該路由上網(wǎng),影響網(wǎng)絡(luò)的速度。(2)不設(shè)置無(wú)線路由加密方式會(huì)導(dǎo)致移動(dòng)設(shè)備與路由器之間明文通訊,有安全隱患課堂練習(xí)謝謝! 展開更多...... 收起↑ 資源預(yù)覽 縮略圖、資源來源于二一教育資源庫(kù)