2.6網(wǎng)絡(luò)應(yīng)用軟件開(kāi)發(fā)課件浙教版高中信息技術(shù)必修2_第1頁(yè)
2.6網(wǎng)絡(luò)應(yīng)用軟件開(kāi)發(fā)課件浙教版高中信息技術(shù)必修2_第2頁(yè)
2.6網(wǎng)絡(luò)應(yīng)用軟件開(kāi)發(fā)課件浙教版高中信息技術(shù)必修2_第3頁(yè)
2.6網(wǎng)絡(luò)應(yīng)用軟件開(kāi)發(fā)課件浙教版高中信息技術(shù)必修2_第4頁(yè)
2.6網(wǎng)絡(luò)應(yīng)用軟件開(kāi)發(fā)課件浙教版高中信息技術(shù)必修2_第5頁(yè)
已閱讀5頁(yè),還剩21頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第二章

信息系統(tǒng)的支撐技術(shù)2.6

網(wǎng)絡(luò)應(yīng)用軟件開(kāi)發(fā)學(xué)習(xí)目標(biāo)借助工具與平臺(tái)開(kāi)發(fā)網(wǎng)絡(luò)應(yīng)用軟件。掌握網(wǎng)絡(luò)架構(gòu)C/S和B/S的優(yōu)缺點(diǎn)。網(wǎng)絡(luò)軟件是網(wǎng)絡(luò)不可或缺的組成部分,離開(kāi)網(wǎng)絡(luò)軟件,整個(gè)網(wǎng)絡(luò)將無(wú)法運(yùn)作。怎樣才能開(kāi)發(fā)出符合用戶需求的網(wǎng)絡(luò)軟件呢?軟件開(kāi)發(fā)一般都需要基于某種程序設(shè)計(jì)語(yǔ)言及相應(yīng)的開(kāi)發(fā)工具或平臺(tái)來(lái)實(shí)現(xiàn)。新課講授知識(shí)點(diǎn):網(wǎng)絡(luò)應(yīng)用開(kāi)發(fā)概述在選擇開(kāi)發(fā)平臺(tái)前,必須先了解網(wǎng)絡(luò)應(yīng)用軟件的實(shí)現(xiàn)架構(gòu)及不同分類(lèi)。網(wǎng)絡(luò)應(yīng)用軟件的實(shí)現(xiàn)架構(gòu)有兩種,分別是_______________和_______________。1.客戶端/服務(wù)器架構(gòu)(Client/Server架構(gòu),簡(jiǎn)稱_______)(1)概述:它可以充分利用客戶端與服務(wù)器端的硬件環(huán)境的優(yōu)勢(shì),將任務(wù)合理地分配到客戶端和服務(wù)器端。①客戶端:主要完成用戶的具體業(yè)務(wù),如人機(jī)交互、數(shù)據(jù)的輸入與輸出等。②服務(wù)器端:主要提供數(shù)據(jù)管理、數(shù)據(jù)共享、系統(tǒng)維護(hù)和并發(fā)控制等??蛻舳?服務(wù)器架構(gòu)瀏覽器/服務(wù)器架構(gòu)C/S架構(gòu)(2)優(yōu)點(diǎn):降低了系統(tǒng)的通信開(kāi)銷(xiāo)和開(kāi)發(fā)的難度。(3)缺點(diǎn):客戶端軟件須安裝才能使用,給應(yīng)用程序的升級(jí)和維護(hù)帶來(lái)一定的困難。2.瀏覽器/服務(wù)器架構(gòu)(Browser/Server架構(gòu),簡(jiǎn)稱_______)(1)概述:它是隨著Internet技術(shù)的興起,對(duì)C/S架構(gòu)改進(jìn)后產(chǎn)生的一種軟件系統(tǒng)體系結(jié)構(gòu)??蛻舳藷o(wú)需專(zhuān)門(mén)的應(yīng)用程序,用戶工作界面通過(guò)瀏覽器來(lái)實(shí)現(xiàn),應(yīng)用程序基本上都集中于服務(wù)器端。B/S架構(gòu)(2)優(yōu)點(diǎn):客戶端無(wú)需專(zhuān)門(mén)的應(yīng)用程序,用戶工作界面通過(guò)瀏覽器來(lái)實(shí)現(xiàn),應(yīng)用程序基本上都集中于服務(wù)器端。由于客戶端無(wú)需專(zhuān)門(mén)程序,應(yīng)用程序的升級(jí)和維護(hù)都可以在服務(wù)器端完成,升級(jí)和維護(hù)都較方便,極大地降低了成本和工作量。(3)缺點(diǎn):服務(wù)器的負(fù)荷較重,對(duì)服務(wù)器的要求較高。架構(gòu)客戶端程序系統(tǒng)的通訊開(kāi)銷(xiāo)開(kāi)發(fā)的難度應(yīng)用程序的升級(jí)和維護(hù)服務(wù)器負(fù)荷C/S架構(gòu)專(zhuān)用的應(yīng)用程序小低帶來(lái)一定的困難,客戶端服務(wù)器端同時(shí)升級(jí)和維護(hù)低B/S架構(gòu)瀏覽器大大較方便,只升級(jí)服務(wù)器端,降低了成本和工作量重例1

小明搭建了一個(gè)“土壤濕度監(jiān)測(cè)系統(tǒng)”,能通過(guò)瀏覽器查看實(shí)時(shí)濕度數(shù)據(jù),當(dāng)濕度小于某閾值時(shí),信息系統(tǒng)自動(dòng)開(kāi)啟噴淋設(shè)備,大于某閾值時(shí)自動(dòng)關(guān)閉噴淋設(shè)備。該系統(tǒng)的架構(gòu)如圖所示:下列說(shuō)法不正確的是

()A.該信息系統(tǒng)采用了B/S架構(gòu)模式B.該信息系統(tǒng)具備閉環(huán)控制功能C.該信息系統(tǒng)僅傳輸了土壤濕度數(shù)據(jù)D.網(wǎng)絡(luò)是該信息系統(tǒng)中重要的支撐技術(shù)C解析:A選項(xiàng)Web服務(wù)器提供網(wǎng)頁(yè)瀏覽服務(wù),因此是B/S架構(gòu)。B選項(xiàng)指作為被控的輸出量以一定方式對(duì)輸入端施加控制影響的一種控制關(guān)系。C選項(xiàng)信息系統(tǒng)在工作時(shí),肯定還要傳輸控制信息等。D選項(xiàng)網(wǎng)絡(luò)可將地理位置不同、功能獨(dú)立的多個(gè)計(jì)算機(jī)系統(tǒng)互聯(lián)起來(lái)。例1變式訓(xùn)練

某公司現(xiàn)行的網(wǎng)絡(luò)系統(tǒng)架構(gòu)是多年前搭建的,并專(zhuān)門(mén)配備了數(shù)名管理員負(fù)責(zé)公司內(nèi)部的通信軟件升級(jí)、維護(hù),他們經(jīng)常需要在幾百甚至幾千部電腦之間來(lái)回奔跑,工作效率低。今年,公司提起了項(xiàng)目改造新方案,完成后只需要在服務(wù)器端升級(jí)和維護(hù)系統(tǒng)即可。該公司新的網(wǎng)絡(luò)系統(tǒng)架構(gòu)是()A.B/S架構(gòu) B.S/C架構(gòu) C.S/B架構(gòu) D.C/S架構(gòu)A解析:公司現(xiàn)行的網(wǎng)絡(luò)系統(tǒng)架構(gòu)為客戶端/服務(wù)器(C/S)架構(gòu),管理員為員工升級(jí)維護(hù)軟件就必須到個(gè)人電腦上操作。升級(jí)后,管理員只需要維護(hù)服務(wù)器端,這種架構(gòu)是B/S架構(gòu),員工只需要在個(gè)人電腦上使用瀏覽器完成工作。四個(gè)選項(xiàng)中B和C選項(xiàng)不屬于網(wǎng)絡(luò)系統(tǒng)架構(gòu)。例2

小明搭建“室內(nèi)環(huán)境監(jiān)測(cè)系統(tǒng)”,實(shí)現(xiàn)如下功能:當(dāng)室內(nèi)亮度達(dá)到系統(tǒng)設(shè)定的閾值時(shí),系統(tǒng)使用執(zhí)行器放下窗簾,當(dāng)窗臺(tái)濕度達(dá)到系統(tǒng)設(shè)定的閾值時(shí),系統(tǒng)使用執(zhí)行器關(guān)閉窗戶,并且系統(tǒng)將采集到的數(shù)據(jù)通過(guò)室內(nèi)Wi-Fi保存到服務(wù)器的數(shù)據(jù)庫(kù)中。系統(tǒng)架構(gòu)示意圖如圖所示。下列說(shuō)法不正確是

()A.搭建該系統(tǒng)需要配備光線傳感器和濕度傳感器B.該系統(tǒng)的網(wǎng)絡(luò)架構(gòu)為C/S架構(gòu)C.執(zhí)行器可以響應(yīng)PC客戶端的請(qǐng)求D.該系統(tǒng)客戶端可以獲取輸入端傳感器的數(shù)據(jù)B解析:B選項(xiàng)題目中采用Web服務(wù)器,可知為B/S架構(gòu)。C選項(xiàng)執(zhí)行器響應(yīng)PC客戶端請(qǐng)求,執(zhí)行相應(yīng)的動(dòng)作。例2變式訓(xùn)練

小王搭建“室內(nèi)環(huán)境監(jiān)測(cè)系統(tǒng)”,實(shí)現(xiàn)如下功能:當(dāng)室內(nèi)亮度達(dá)到系統(tǒng)設(shè)定的閾值時(shí),系統(tǒng)使用執(zhí)行器放下窗簾,當(dāng)窗臺(tái)濕度達(dá)到系統(tǒng)設(shè)定的閾值時(shí),系統(tǒng)使用執(zhí)行器關(guān)閉窗戶,并且系統(tǒng)將采集到的數(shù)據(jù)通過(guò)室內(nèi)Wi-Fi保存到服務(wù)器的數(shù)據(jù)庫(kù)中。系統(tǒng)架構(gòu)示意圖如圖所示。下列說(shuō)法不正確的是()A.搭建該系統(tǒng)需要配備光敏傳感器和濕度傳感器B.該系統(tǒng)運(yùn)行速度僅取決于硬件的性能C.本系統(tǒng)采用B/S網(wǎng)絡(luò)開(kāi)發(fā)模式進(jìn)行工作D.該系統(tǒng)客戶端可以通過(guò)網(wǎng)絡(luò)獲取輸入端傳感器的數(shù)據(jù)B解析:該系統(tǒng)運(yùn)行速度取決于軟件及硬件的綜合性能。知識(shí)點(diǎn):網(wǎng)絡(luò)應(yīng)用的規(guī)劃設(shè)計(jì)1.過(guò)程(1)對(duì)網(wǎng)絡(luò)應(yīng)用進(jìn)行詳細(xì)的分析。(2)在分析的基礎(chǔ)上確定應(yīng)用的架構(gòu)模式,并根據(jù)架構(gòu)模式選擇合適的開(kāi)發(fā)工具及現(xiàn)有的應(yīng)用框架,同時(shí)明確應(yīng)用的各個(gè)功能模塊。(3)用統(tǒng)一、規(guī)范的圖表和書(shū)面語(yǔ)言表達(dá)出來(lái)。(1)應(yīng)用的目的:應(yīng)用要解決的問(wèn)題、軟件的輸入數(shù)據(jù)和輸出數(shù)據(jù)。(2)應(yīng)用的總體架構(gòu):應(yīng)用架構(gòu)模式、開(kāi)發(fā)工具、應(yīng)用框架。(3)應(yīng)用的功能組成:應(yīng)用的各個(gè)功能模塊。(4)界面設(shè)計(jì)及代碼實(shí)現(xiàn):按各個(gè)功能模塊的作用設(shè)計(jì)出相應(yīng)的人機(jī)交互界面,完成代碼編制。2.舉例:“網(wǎng)絡(luò)聊天機(jī)器人”應(yīng)用的規(guī)劃設(shè)計(jì)知識(shí)點(diǎn):編寫(xiě)網(wǎng)絡(luò)應(yīng)用程序編寫(xiě)網(wǎng)絡(luò)應(yīng)用程序首先要確定相應(yīng)的Web應(yīng)用框架,在Python中常用的Web應(yīng)用框架有Flask、Django及Tornado,其中FlaskWeb框架非常精簡(jiǎn),屬于小型框架。FlaskWeb框架具有一個(gè)包含基本服務(wù)的核心,并且是一個(gè)可擴(kuò)展的框架,很多功能可以通過(guò)擴(kuò)展來(lái)實(shí)現(xiàn)。它允許開(kāi)發(fā)者任意挑選符合項(xiàng)目需求的擴(kuò)展,甚至可以自行開(kāi)發(fā)。1.導(dǎo)入框架模塊為Web應(yīng)用程序?qū)隖lask框架及擴(kuò)展的模塊,以便在程序代碼中使用框架提供的功能,其代碼如下:fromflaskimportFlask

#導(dǎo)入Flask框架模塊2.創(chuàng)建應(yīng)用實(shí)例為Web應(yīng)用程序創(chuàng)建Flask類(lèi)的對(duì)象,即創(chuàng)建一個(gè)應(yīng)用實(shí)例,其代碼如下:app=Flask(_name_)

#運(yùn)用Fask框架建立Web應(yīng)用APP,該APP已經(jīng)具備了Web應(yīng)用的基本功能,開(kāi)發(fā)者可以在此基礎(chǔ)上增加自己的功能。3.編寫(xiě)路由和視圖函數(shù)建立URL到程序代碼的關(guān)聯(lián),其代碼如下:@app.route('/')

#路由defindex():#視圖函數(shù)

return'<html><body><h1>這是我的第一個(gè)網(wǎng)頁(yè)程序!</h1></body></html>'當(dāng)用戶在瀏覽器中向Web服務(wù)器發(fā)出請(qǐng)求時(shí),Web服務(wù)器會(huì)把請(qǐng)求發(fā)送給Flask應(yīng)用實(shí)例,如上面的APP。Flask通過(guò)路由和視圖函數(shù)的方法,使應(yīng)用實(shí)例知道每個(gè)URL與哪些Python代碼相關(guān)聯(lián)并運(yùn)行。4.啟動(dòng)Web應(yīng)用其代碼如下:if_name_==

'_main_':

app.run()

在Flask框架中Web服務(wù)器是自帶的,調(diào)用應(yīng)用實(shí)例APP的run方法就會(huì)啟動(dòng)該集成的開(kāi)發(fā)Web服務(wù)器,服務(wù)器啟動(dòng)后就會(huì)進(jìn)入輪詢狀態(tài),等待用戶訪問(wèn)并處理用戶請(qǐng)求,直到程序停止?!癬name_=='_main_'”是確保只有當(dāng)直接執(zhí)行這個(gè)腳本時(shí)才啟動(dòng)開(kāi)發(fā)Web服務(wù)器,如:Pythonweb.py。注:開(kāi)發(fā)“網(wǎng)絡(luò)聊天機(jī)器人”,須在原有的Web應(yīng)用程序的基礎(chǔ)上解決兩個(gè)問(wèn)題:一是機(jī)器人對(duì)話能力的實(shí)現(xiàn);二是網(wǎng)頁(yè)上的輸入與輸出。①機(jī)器人對(duì)話能力——通過(guò)導(dǎo)入AIML模塊來(lái)解決AIML(ArtificialIntelligenceMarkupLanguage)即人工智能標(biāo)記語(yǔ)言,本模塊由理查·華萊士(RichardWallace)發(fā)明。目前AIML已經(jīng)有了Java、Python、C、C#及Pascal等語(yǔ)言的版本。②網(wǎng)頁(yè)上的輸入與輸出——通過(guò)在網(wǎng)頁(yè)中使用提交表單(Form)來(lái)解決表單收集用戶的聊天語(yǔ)句,提交至Web服務(wù)器,然后由Web服務(wù)器中的AIML調(diào)用respond接口處理這些語(yǔ)句,最后將機(jī)器人的回復(fù)(即處理結(jié)果)發(fā)送至訪問(wèn)者的瀏覽器并輸出。導(dǎo)入flask_wtf擴(kuò)展的FlaskForm模塊,實(shí)現(xiàn)在FlaskWeb應(yīng)用程序中使用表單;導(dǎo)入Flask的render_template模塊,實(shí)現(xiàn)網(wǎng)頁(yè)模板的使用,使代碼更加精簡(jiǎn)。知識(shí)點(diǎn):調(diào)試發(fā)布程序在編寫(xiě)過(guò)程中會(huì)出現(xiàn)錯(cuò)誤,需要進(jìn)行調(diào)試、修正錯(cuò)誤。錯(cuò)誤一般包括兩類(lèi):相對(duì)簡(jiǎn)單的語(yǔ)法錯(cuò)誤,在程序執(zhí)行時(shí)Python會(huì)檢查出相應(yīng)的錯(cuò)誤并給出修改建議;相對(duì)復(fù)雜的邏輯錯(cuò)誤,需要編程人員仔細(xì)研究和分析。

調(diào)試結(jié)束后,在確保應(yīng)用能正確運(yùn)行的情況下,才能將其發(fā)布至服務(wù)器,供用戶使用。1.調(diào)試模式FlaskWeb框架的調(diào)試模式功能:在開(kāi)發(fā)配置或程序代碼中設(shè)置debug=True打開(kāi)調(diào)試功能。

注意不要在實(shí)際的網(wǎng)站應(yīng)用環(huán)境,即生產(chǎn)環(huán)境中使用調(diào)試模式,否則將會(huì)是一個(gè)巨大的安全漏洞。那么在實(shí)際生產(chǎn)環(huán)境中如果程序出現(xiàn)問(wèn)題,該如何記錄以備開(kāi)發(fā)人員檢查呢?開(kāi)發(fā)人員往往會(huì)利用_____________________________進(jìn)行報(bào)錯(cuò),以及用_________進(jìn)行記錄等調(diào)試方法對(duì)程序進(jìn)行查錯(cuò)及排錯(cuò)。電子郵件來(lái)發(fā)送程序運(yùn)行的錯(cuò)誤信息日志文件2.應(yīng)用發(fā)布在開(kāi)發(fā)環(huán)境中通過(guò)如下命令就可以啟動(dòng)Web應(yīng)用,以供他人訪問(wèn)使用:Python

應(yīng)用程序.pyrunserver但這是FlaskWeb框架自帶的開(kāi)發(fā)Web服務(wù)器,它僅供開(kāi)發(fā)者調(diào)試使用,本身不夠強(qiáng)健、安全和高效,同時(shí)也沒(méi)有顧及實(shí)際應(yīng)用中隨著用戶數(shù)量增加而產(chǎn)生的性能問(wèn)題,因此不適合作為實(shí)際生產(chǎn)環(huán)境使用。在實(shí)際生產(chǎn)環(huán)境中常見(jiàn)的可靠的Web服務(wù)器有很多,如IIS、Apache、Nginx、Tomcat及WebLogic等,只需將自己編寫(xiě)的Web應(yīng)用程序以WSGI應(yīng)用或CGI形式發(fā)布至相應(yīng)的Web服務(wù)器即可。例3

小明使用Flask模塊制作了某信息系統(tǒng)的用戶登錄驗(yàn)證子系統(tǒng),其各個(gè)路由、視圖說(shuō)明以及實(shí)現(xiàn)程序如下所示,請(qǐng)回答相關(guān)問(wèn)題。fromflaskimportFlask,render_template,redirectapp=Flask(__name__)@app.route("/")defindex():

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

#查詢代碼略

iflen(cur.fetchall())>0:#找到用戶的相關(guān)信息

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

else:

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

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

app.run(②________)路由地址視圖說(shuō)明/系統(tǒng)首頁(yè)/user/<name>顯示歡迎信息以及用戶<name>對(duì)應(yīng)的信息/system?name=xiaoming&password=secretinf傳遞登錄信息完成驗(yàn)證后顯示系統(tǒng)管理頁(yè)面(1)程序第①空是傳遞登錄信息,進(jìn)行登錄驗(yàn)證并顯示系統(tǒng)管理頁(yè)面的路由與視圖函數(shù),那么該處填寫(xiě)的語(yǔ)句是____________(單選,選填字母)。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服務(wù)器的地址是,運(yùn)行端口是8080,程序試運(yùn)行時(shí)需打開(kāi)調(diào)試功能,那么第②空應(yīng)該填寫(xiě)的語(yǔ)句是__________(單選,選填字母)。A.host=

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論