中文字幕精品无码一区二区,成全视频在线播放观看方法,大伊人青草狠狠久久,亚洲一区影音先锋色资源

2025屆高中信息技術二輪復習 第一部分 信息與信息系統 專題5 信息系統搭建(課件 學案)

資源下載
  1. 二一教育資源

2025屆高中信息技術二輪復習 第一部分 信息與信息系統 專題5 信息系統搭建(課件 學案)

資源簡介

專題5 信息系統搭建
學習目標 1.掌握系統搭建前準備的工作及流程;
2.掌握Flask路由和視圖函數的編寫;
3.掌握Flask請求和路由的關系;
4.掌握基本數據庫語句的功能和作用.
信息系統的開發包含信息系統搭建前期準備、信息系統搭建和信息系統完善三部分。前期準備指開發前要進行的需求分析和設計工作,沿著信息系統能實現什么功能、怎么做和先干什么后干什么的思路,將前期準備分為需求分析、可行性分析、開發模式選擇、概要設計和詳細設計五部分。信息系統搭建包含硬件搭建和軟件開發兩部分,軟件開發主要解決服務器端的代碼設計。信息系統完善包含系統測試和文檔編寫兩部分工作。
(2024年1月浙江省選考)小華要搭建苗圃大棚環境監控系統。該系統中的智能終端從服務器獲取濕度閾值。根據該閾值和傳感器采集的空氣濕度值控制加濕器,并將濕度值等數據傳輸至Web服務器,存儲到數據庫中。網絡應用軟件的實現架構是B/S架構,用戶可通過瀏覽器查詢實時和歷史數據。硬件按如下方式連接:濕度傳感器和加濕器接入智能終端,智能終端通過IoT模塊連接到服務器。請回答下列問題:
(1)要完成該系統的搭建,下列需要編寫的程序是________(單選,填字母:A.客戶端程序/B.服務器端程序)。
(2)下列關于該系統中數據管理的說法,正確的是________(單選,填字母)。
A.數據無法從服務器端傳輸至智能終端
B.該系統的數據和程序都應存儲在數據庫中
C.通過瀏覽器查看濕度歷史數據需要訪問數據庫
(3)下列關于該系統支撐技術的說法,正確的有________(多選,填字母)。(注:全部選對的得2分,選對但不全的得1分,不選或有選錯的得0分)
A.智能終端有程序存儲和數據處理能力
B.智能終端可以通過IoT模塊以無線方式連接服務器
C.該系統如果再增加一個加濕器,必須增加一個濕度傳感器
D.支撐該系統運行的所有軟件都需要在搭建過程中開發
(4)智能終端上的程序具有如下功能:每隔1分鐘從傳感器獲取1次濕度值:加濕器處于關閉狀態時,若連續兩次濕度值均低于閾值h,則打開加濕器;加濕過程中,若連續兩次濕度值均高h,則關閉加濕器;每隔1分鐘將濕度值和加濕器狀態數據傳輸到服務器。部分Python程序如下,請在程序中劃線處填入合適的代碼。
#導入相關庫,并從服務器獲取閾值,保存在h中,代碼略
lasth=h
s=0
while True:
#從傳感器獲取濕度值,保存在newh中,代碼略
  if s==0:
    if newh     s=1
     #打開加濕器,代碼略
  else:
    if newh>h and lasth>h:
    ①__________
    #關閉加濕器,代碼略
  ②__________
  #將newh,s等數據傳輸到服務器。代碼略
  sleep(1000*60) #延時1分鐘
(5)系統搭建完成后,運行一段時間,加濕器始終沒有加濕。假設僅濕度傳感器、加濕器兩個設備存在故障,在不更換設備的前提下,請選擇其中一種設備,描述判定該設備是否存在故障的方法。
重難點1 信息系統搭建前期準備和應用程序開發
搭建信息系統前需了解信息能解決什么問題,實現哪些功能,就是需要分析,在分析硬件、軟件和功能的基礎上,進一步分析技術和經濟上是否可行,搭建信息系統的社會意義有哪些。Flask框架解決應用程序對用戶請求的響應和處理。路由是Flask應用程序中的URL映射。它指定了URL與視圖函數之間的關系。視圖函數是Flask應用程序中處理請求的函數。它們使用裝飾器將路由綁定到函數上。模板是Flask應用程序中用于渲染HTML頁面的文件。它們使用Jinja2模板引擎進行渲染。URL的格式為協議:∥IP地址:端口號/路由?參數1 &參數2
例題 小明使用Flask模塊制作了某信息系統的用戶登錄驗證子系統,其各個路由、視圖說明以及實現程序如表所示,請回答相關問題。
路由地址 視圖說明
/ 系統首頁
/user/〈name〉 顯示歡迎信息以及用戶〈name〉對應的信息
/system?name=xiaoming&password=secretinf 傳遞登錄信息完成驗證后顯示系統管理頁面
from flask import Flask, render_template, redirect
app=Flask(_ _name_ _)
@app.route(″/″)
def index():
  return render_template(″index.html″)
①____________
def login():
#查詢代碼略
  if len(cur.fetchall()) >0: #找到用戶的相關信息
  return render_template(″manage.html″, username=usr)
  else:
 return redirect('/')
if _ _name_ _==″_ _main_ _″:
  app.run(②________)
(1)在前期準備中,下列說法正確的是________(多選)
A.明確系統“先干什么,后干什么”屬于搭建信息系統前期準備中的概要設計
B.可行性分析主要對信息系統的必要性和可行性進行分析
C.確定采用什么終端設備,具體傳感器型號等屬于詳細設計
D.明確用戶對所搭建信息系統的目標期待這一過程屬于需求分析
E.考查在現有技術條件下是否可能實現系統搭建這一過程屬于概要設計
F.數據庫管理系統選擇是詳細設計過程的主要任務之一
(2)程序第①中空是傳遞登錄信息,進行登錄驗證并顯示系統管理頁面的路由與視圖函數,那么該處填寫的語句是________(單選,選填字母)。
[email protected](″/system″,methods=[″GET″])
[email protected](″/login″,methods=[″GET″])
[email protected](″/user″,methods=[″POST″])
[email protected](″/login″,methods=[″POST″,″GET″])
(3)若該Web服務器的地址是192.168.0.1,運行端口是8080,程序試運行時需打開調試功能,那么第②空應該填寫的語句是________(單選,選填字母)。
A.host=″192.168.0.1″,port=8080,debug=True
B.host=″http:∥192.168.0.1″,port=8080,debug=True
C.host=″http:∥192.168.0.1:8080″,debug=True
D.host=″192.168.0.1:8080″,port=8080
思維點撥
明考向 本題考查信息系統搭建前準備和使用Flask搭建Web應用程序的相關知識
精點撥 (1)A選項先干什么,后干什么是對系統的詳細設計過程。B選項判斷所提出的系統是否有必要搭建(必要性),有無實施的可能性(可行性)稱為可行性分析。C選項是對資源和環境的需求分析。D選項目標期待屬于需要分析。E選項有必要搭建必要性屬于可行性分析。F選項選擇哪種數據庫屬于概要設計。(2)考查路由地址和視圖函數知識。由題中的路由表可知,路由地址是/system,注意路由地址與視圖函數名稱無關(可以不相同,但要寫一起),而視圖函數中獲取數據的方式由request.args中獲取,因此視圖函數的methods參數值必須要有“GET”值方可。(3)考查Web應用程序啟動的參數設定知識。應用程序對象的run()函數中的host參數指明了對外提供的服務器IP地址,注意,只需寫IP地址即可,不能加協議和端口,而port參數才是指明端口的參數,debug參數可以設置是否啟用調試模式
變式 小王開發基于Python的FlaskWeb框架的室內光線強度監測信息系統,系統程序及相關的子系統都部署在Web服務器端,網站框架如圖所示。該系統的客戶端無需專門的應用程序,用戶工作界面通過瀏覽器來實現,應用程序基本上都集中于服務器端。
(1)確定“系統需要采用什么型號的傳感器?”,屬于搭建信息系統前期準備中的________。
A.可行性分析 B.需求分析
C.概要設計 D.詳細設計
(2)由上述材料可知,服務器端的IP地址為________,該系統的實現架構屬于________(選填:C/S架構、B/S架構)。
(3)實現上述系統的服務器端Python程序如下:
#注意:劃橫線①③處有選項可選擇,②處為填空題
from flask import Flask,render_template,request #導入Flask庫函數
app=Flask(_ _name_ _)
@app.route(①________,methods=[″GET″]) #數據采集子頁面路由命令
def get():
  id=int(request.args.get(″id″)) #獲取URL中“id=1”后的數據“1”
  d=float(②________) #變量d存儲采集到的光線數據
  #打開數據庫,并將接收的數據存儲到數據庫中,代碼略
  return ″get data ok″
#其他系統子頁面路由,代碼略
if _ _name_ _=='_ _main_ _':
  app.run(③________) #啟動Web服務器
重難點2 信息系統的搭建
信息系統的搭建包含硬件搭建和軟件開發兩個過程。一個信息系統,其硬件組成主要包括服務器、網絡設備、傳感設備、智能終端等。軟件開發一般包括數據管理設計、服務器端程序、客戶端程序幾個部分。信息系統中數據的流轉往往分為智能終端通過傳感器采集數據和通過執行器發送數據。IoT模塊傳送傳感器收集到的數據到Web服務器并保存到數據庫中。IoT模塊需要設置無線網絡的名稱SSID和共享密鑰PASSWORD連通無線網絡。客戶端(含手機)通過瀏覽器訪問Web服務器。Web服務器將處理的結果經IoT模塊傳送給智能終端,由智能終端啟動執行器實現對環境中的事物的控制。
例1 小明為家庭小菜園搭建了環境溫濕度監測系統,該系統結構示意圖如圖所示。Web服務器端程序采用FlaskWeb框架開發。傳感器采集的數據由智能終端經IoT模塊發送到Web服務器,執行器用于實現溫濕度的控制。請回答下列問題:
(1)下列選項標注了圖中虛線框內的智能終端與傳感器執行器之間的數據傳輸關系,其中合理的是________(單選,填字母)。
(2)該系統網絡應用軟件的實現架構是________(單選,填字母:A.B/S架構/B.C/S架構)。
(3)若傳感器的編號id為1,濕度值h為60提交數據到Web服務器的URL為http:∥192.168.1.6:5000/toserv?h=60&id=1,則服務器端應用實例app中與該URL關聯的路由設置語句是@app.route('________')。
(4)菜園里的蔬菜適宜生長的空氣溫度范圍是tmin~tmax。現要求當溫度t正常、偏低、偏高時,將sta的值對應設為0、1、2。下列Python程序段中符合要求的有________(多選,填字母)。(注:全部選對的得2分,選對但不全的得1分,不選或有選錯的得0分)
(5)小明設定采集并上傳數據的時間間隔為1分鐘。他用瀏覽器查看溫濕度頁面,頁面動態顯示最新的溫度、濕度及其采集時間。系統正常工作一段時間后,他發現該頁面不再變化,刷新后仍不變。結合圖,簡要說明系統中可能造成上述問題的原因_______________________________________________________________。
(本系統中,傳感器損壞傳感器和智能終端連接異常,不會造成上述問題)。(注:回答2項,1項正確得1分)
思維點撥
明考向 本題考查信息系統搭建相關知識
精點撥 (1)智能終端通過傳感器獲取數據,控制器經過處理后,再通過執行器對外部進行控制,故A項正確。(2)瀏覽器與服務器交換數據,故需采用B/S架構。(3)由“http:∥192.168.1.6:5000/toserv?h=60&id=1”可知,路由為“/toserv”。(4)當t在[tmin,tmax]之間時返回0,小于min返回1,大于tmax返回2,A項由兩個分支構成,一個分支結束后,還需執行第二個分支,程序段返值只能是2或者是0,1無法取到;C項的返回值只能是1或者2,0無法取到;故只有B項與D項正確。(5)可能造成上述問題的原因:一是服務器服務中斷(服務器斷電或服務器系統故障),二是互聯網網絡服務出現故障瀏覽器無法更新獲取新的采集數據
變式1 小周為庭院魚池搭建水位預警自動排水系統。該系統中的智能終端從服務器獲取水位閾值,根據該閾值和傳感器采集的水位值控制排水閥和蜂鳴器,并將水位值等數據傳輸至Web服務器,存儲到數據庫中。用戶可通過瀏覽器查詢數據和修改閾值,系統結構示意圖如圖所示。請回答下列問題:
(1)下列關于該系統數據管理的說法,不正確的是________(單選,填字母)。
A.水位傳感器采集的數據還可以通過有線的方式傳輸到Web服務器
B.智能終端只負責數據的采集
C.數據庫中的部分數據可以來自用戶
(2)智能終端的程序具有如下功能:每隔1分鐘從傳感器獲取1次水位值,根據不同情況,控制執行器作出相應的響應。
排水閥和水位情況 執行器狀態
水位值不超過閾值 排水閥關閉
排水閥為關閉狀態且水位值超過閾值 排水閥半開
排水閥為半開狀態且水位值連續3分鐘超過閾值 排水閥全開
排水閥為全開狀態且水位值連續5分鐘超過閾值 蜂鳴器報警
部分Python程序如下,請在程序中劃線處填入合適的代碼。
#導入相關庫,代碼略
num=0;s=0 #s表示排水閥狀態,值0,1,2分別表示關閉,半開,全開3種狀態
while True:
  #從傳感器獲取水位值保存在tmp中,并從服務器獲取閾值h,代碼略
  if tmp>h:
  num+=1
  if s==0:
    #半開排水閥,代碼略
   s=1
  elif①________:
    #全開排水閥,代碼略
    s=2
 elif s==2 and num==5:
    #觸發系統報警,代碼略
else:
  #關閉排水閥,代碼略
 s=0
  ②________
 #將水位值tmp、排水閥狀態s等數據傳輸到服務器,代碼略
 sleep(60*1000) #延時1分鐘
(3)Web服務器端程序的部分代碼如下:
 #導入相關庫,代碼略
 app=Flask(_ _name_ _)
 @app.route(″/input″)
 def add_da():
  #將傳感器最近一次的水位數據保存到數據庫,代碼略
 if _ _name_ _==″_ _main_ _″:
  app.run(″192.168.1.100″,port=8080,debug=True)
下列說法正確的有________(多選,填字母)。
(注:全部選對的得2分,選對但不全的得1分,不選或有選錯的得0分)
A.服務器端代碼中不能出現兩個相同的路由
B.視圖函數add_da()必須有返回值
C.該系統服務器的IP地址是192.168.1.100
D.設置“debug=True”增強了系統的安全性
(4)系統運行一段時間后,發現水池有水溢出,排水閥卻處于關閉狀態,簡要說明系統中可能造成上述問題的原因_________________________________________
_____________________________________________________________________。
(本系統中,服務器、通信網絡、傳感器與智能終端的功能均不存在問題。注:回答2項,1項正確得1分,2項正確得2分)
例2 小明為學校實驗室搭建火災監測遠程報警系統。由于發生火災時,光線強度會發生變化,該系統使用光線傳感器實時監測實驗室中的光線,數據由智能終端經IoT模塊發送至Web服務器。若環境光線監測值不在正常范圍,智能終端通過服務器的返回結果控制蜂鳴器發出警報。用戶通過瀏覽器可查看實時數據,系統結構示意圖如圖a所示。
圖a
(1)下列關于該系統的說法,正確的有________(多選,填字母)。(注:全部選對的得2分,選對但不全的得1分,不選或有選錯的得0分)
A.該系統的數據庫存儲在智能終端中
B.該系統網絡應用軟件是通過B/S架構實現的
C.從技術角度分析系統的可行性屬于搭建信息系統的前期準備
D.Web服務器中安裝的所有軟件均是系統軟件
(2)該系統Web服務器端程序采用Flask Web框架開發,服務器IP地址為6.196.51.11,端口號為80。網站功能頁面規劃如表所示:
序號 訪問地址 功能說明
1 / 主頁,實時顯示光線檢測值數據
2 /input?val=520 獲取傳感器數據,并返回當前數據的處理情況。低于閾值返回1,否則返回0
3 /data 查看歷史數據
在系統測試階段,小明在瀏覽器地址欄中輸入網址查看歷史數據,出現如圖b所示的錯誤,為排查該問題,下列操作可行的是________(單選,填字母)。
圖b
A.嘗試更換瀏覽器并再次訪問該網址
B.檢查該系統服務器端代碼連接數據庫是否正常
C.查看服務器端路由命令是否設置有:@app.route('/data')
(3)小明按表設計編寫的服務器端程序,部分代碼如下,請在劃線處填入合適的代碼。
#導入Flask框架模塊及其他相關模塊,代碼略
app=Flask(_ _name_ _)
@app.route('/input')
def add_data():
  sen = float(request.args.get('val'))
  #將光線等數據存入數據庫中,代碼略
  #從數據庫中查詢閾值,保存在變量limit中,代碼略
  if__________________ :
   return ' 1'
  else:
   return '0'
(4)系統測試階段,發現用強光手電筒照射傳感器也會觸發火災警報,請通過增加傳感器對該系統鑒別是否發生火災的方式進行一項擴展,寫出增加的傳感器名稱及實現的功能_________________________________________________________
______________________________________________________________________。
思維點撥
明考向 本題考查信息系統的搭建
精點撥 (1)A選項數據存儲在數據庫中。D選項為了某一目的開發的是應用軟件。(2)訪問的頁面沒有找到,可能是路由設置的問題。(3)表1中要求獲取的光線數據sen低于閾值limit返回1。(4)從增加的傳感器及功能的角度分析問題
變式2 小峰做了一個“搭建學生寢室管理系統”的實驗,該系統可通過人臉識別、指紋識別、校園卡等方式模擬進出寢室管理,并將進出數據發送給服務器。通過瀏覽器可以查看學生在寢、離寢情況。小峰選擇的硬件有:智能終端、IoT模塊、攝像頭、指紋采集儀、射頻識別設備、進出口閘機、服務器等。該系統結構示意圖如圖所示,其中Web服務器端程序采用FlaskWeb框架開發。
(1)下列硬件設備中,屬于執行器的有________(單選,填字母:A.攝像頭/B.指紋采集儀/C.射頻識別設備/D.進出口閘機)。
(2)下列關于該系統應用軟件的網絡架構,說法正確的是________(單選,填字母:A.客戶端無需安裝專用軟件,升級維護方便/B.對服務器要求較低/C.能夠降低系統通信開銷)。
(3)下列功能需要在服務器端程序中實現的是________(多選,填字母:A.原始指紋數據的采集/B.在數據庫中查找指紋特征數據/C.閘機的開關/D.根據瀏覽器的請求返回數據)。
(4)小峰基于FlaskWeb框架編寫服務器端程序,部分代碼如下。編寫完后,若要通過瀏覽器獲取視圖函數entry()返回的頁面,則訪問的URL是http:∥__________。
#導入Flask框架模塊及其他相關模塊,代碼略
app = Flask(_ _name_ _)
@app.route('/')
def index():  
#在模板文件上顯示從數據庫讀取的入寢、離寢學生數據,代碼略
@app.route('/dorm', methods=['GET', 'POST'])
def entry():
#從數據庫讀取對應班級學生的在寢、離寢數據,并返回頁面,代碼略
#服務器其他功能,代碼略
if _ _name_ _=='_ _main_ _':
  app.run(host='10.16.1.18',port=8080)
(5)小峰對系統進行動態測試,使用校園卡刷卡,閘機能正常打開,在瀏覽器中查看系統首頁,頁面中標題、表格等內容能正常顯示,但卻未顯示刷卡數據,刷新后仍不變(Web服務器數據庫的數據讀寫功能正常)。從程序角度說明造成上述問題的原因有___________________________________________________________、
______________________________________________________________________ (注:回答2項,1項正確得1分)
重難點1 信息系統搭建前期準備和應用程序開發
1.小明搭建某教室亮度檢測系統的前期準備中,下列說法正確的是(  )
A.明確系統“先干什么,后干什么”屬于前期準備中的概要設計
B.可行性分析主要從技術、經濟、社會意義等方面分析系統的可行性
C.選擇輸出設備和介質、確定輸出格式這一過程屬于需求分析
D.在設計信息系統開發方案時,可以隨意選擇開發模式
2.小明搭建某教室亮度檢測系統,實現同時采集多個教室亮度數據的目標期待,這一過程屬于(  )
A.需求分析 B.開發模式的選擇
C.概要設計 D.詳細設計
3.以下有關該信息系統的設計的說法,不正確的是(  )
A.系統設計時,主要從技術、經濟和社會意義等方面分析系統的可行性
B.系統概要設計時,需要對系統的用戶界面、可擴展性需求等方面進行設計考慮
C.系統詳細設計時,為確保系統的運行安全和數據保密,需要有安全設計方案
D.在設計車位下面的感應器時,需要考慮其耐用性,說明信息系統對外部環境有依賴性
4.小晨搭建了土壤濕度監測系統,服務器端程序基于Python的Flask Web框架編寫,采用模板功能,以index.html為主頁模板。部分網站框架示意如圖a所示,網站功能頁面規劃如圖b所示。
圖a
序號 訪問地址 功能說明 備注
1 / 主頁,顯示當前傳感器數據,實時更新 訪問地址
2 /gt?id=1 以JSON數據格式返回id為1的濕度傳感器的所有數據 id為參數
3 /up?id=1&val=57 提交id為1的濕度傳感器的數據值為57 id和val為參數
4 /vt?id=1 顯示id為1的濕度傳感器的數據折線圖
… … … …
圖b
下列關于該系統網站框架及功能的說法,正確的是(  )
A.該系統只有3個路由及視圖函數,對應3個不同的子頁面
B.訪問該網站主頁的URL是http:∥10.18.245.250
C.不同的子頁面可以使用不同的網頁模板來實現
D.改變訪問地址中參數id的值,顯示傳感器數據的圖表不會發生變化
重難點2 信息系統的搭建
1.某“有機蔬菜種植基地實時監測系統”的結構如圖所示。Web服務器端程序采用Flask Web框架開發,利用與智能終端連接的傳感器采集大棚內的溫度、光照強度數據,每隔一段時間由智能終端經IoT模塊發送到Web服務器。如果環境監測溫度值超過系統設置的閾值,觸發通風、噴水或加熱設備調節至適宜溫度,同時根據環境光照強度自動打開或關閉補光燈。請回答下列問題:
(1)根據該系統的功能要求,圖中的①②處的設備分別為________、________(選填字母,A.執行器/B.路由器/C.傳感器)。
(2)該系統服務端程序采用Flask Web框架編寫,服務器的IP地址是192.168.1.10,端口號為8080,網站功能頁面規劃如表所示:
序號 訪問地址 功能說明
1 / 實時顯示最新數據
2 /input?tem=20&light=40 提交傳感器數據
3 /search 查看顯示某一天的歷史數據
若要查看某一天的數據記錄,在瀏覽器應輸入的URL為_____________________。
(3)該系統每隔一定時間采集大棚內的溫度數據,如果超過適宜溫度的范圍會進行降溫或升溫的調節(適宜溫度為tmin~tmax),計算一段時間內超過適宜溫度的次數,列表變量s存儲采集到的溫度數據,下列程序正確的是________:
A.c=0
for i in s:
   if s[i]< tmin or s[i] >tmax:
    c +=1
print(″超過適宜溫度的次數″,c)
B.c=0
for i in range(len(s)):
   if tmin<=s[i]<=tmax:
    continue
   c +=1
print(″超過適宜溫度的次數″,c)
C.c=0;i=1
while i<=len(s):
   if not(tmin<=s[i]<=tmax):
    c +=1
   i +=1
print(″超過適宜溫度的次數″,c)
D.c=[0]*len(s)
for i in range(len(s)):
   if not(s[i]>=tmin and s[i]<=tmax):
    c[i]=1
print(″超過適宜溫度的次數″,sun(c))
(4)在系統調試過程中,發現系統一直提示光線不足,簡要說明系統中可能造成上述問題的原因_________________________________________________________
(本系統中,通信網絡、傳感器與智能終端的功能均不存在問題。注:回答2項,1項正確得1分)。
2.小強同學為學校閱覽室搭建了室內聲音監測系統,該系統可以根據聲音情況發出警示,系統結構示意圖如圖所示。傳感器采集數據經智能終端上傳到服務器,Web服務器處理后的結果經IoT模塊傳送給智能終端,由智能終端啟動執行器實現警示燈的控制。若聲音分貝連續10秒高于限定值則警示燈閃爍。用戶可以通過瀏覽器訪問Web服務器,查看相關數據。請回答下列問題:
(1)在搭建室內聲音監測系統過程中,下列屬于前期準備的是________(多選,填字母)。
A.確定采購傳感器的具體型號
B.根據用戶需求對系統進行測試
C.分析在技術上是否可行
D.編寫服務器端程序
(2)完善該系統結構圖,若圖中A、B、C處的設備由以下三部分組成:
①執行器;②傳感器;③智能終端,則A、B、C三處的設備依次為________(填數字編號)。
(3)運行該信息系統,改變環境中聲音的分貝值,測試該系統能否根據聲音的變化控制警示燈閃爍,該項測試屬于軟件系統測試中的________(單選,填字母:A.動態測試/B.靜態測試)方法。
(4)智能終端將模擬分貝計進行連接以獲取聲音數據,部分Python程序代碼如下。
請回答下列問題:
#設置服務器參數、Wi-Fi賬號和密碼,并連接WiFi,代碼略
while True:
  sound=pin1.read_analog()
  temp=(sound/1024*3.3)*56 #利用公式將數據轉換成分貝
  errno,resp = Obloq.get(″get?id=1&fb=″+str(temp),10000)
  #根據errno和resp的返回值控制執行器,每1秒采集一次數據,代碼略
#web服務器端程序使用Flask框架編寫
#將接收到的數據存入數據庫,代碼略
if_ _name_ _==″_ _main_ _″:
  app.run(host=″192.168.0.1″,port=8080)
智能終端訪問服務器使用的IP地址是________,連接聲音傳感器的引腳是________。
(5)小強用瀏覽器查看聲音強度頁面,頁面動態顯示聲音強度數據及其采集時間。系統正常工作一段時間后,他發現該頁面中聲音強度數據不再變化,刷新后仍不變。結合圖,簡要說明系統中可能造成上述問題的原因:________(多選,填字母)。
A.數據庫與Web服務器連接異常
B.傳感器損壞
C.Web服務器癱瘓
D.智能終端損壞
3.小辰設計了一個“智能控燈系統”。該系統使用光線傳感器和紅外傳感器來監測室內的光線亮度和人體活動。網絡應用軟件采用B/S架構,用戶可通過瀏覽器查詢室內光線亮度和人體活動的實時和歷史數據。硬件按如下方式連接:光線傳感器、紅外傳感器和LED燈接入智能終端,智能終端通過IoT模塊連接到服務器。請回答下列問題:
(1)下列關于該信息系統中數據存儲的說法,不正確的是________(單選,填字母)
A.智能終端有程序存儲和數據處理的能力
B.智能終端不能存儲任何數據
C.智能終端傳遞給服務器的數據一般存儲在數據庫中
(2)智能控燈系統的智能終端和服務器的程序代碼如下:
#導入相關庫文件
app=Flask(_ _name_ _)
@app.route(″/″)
def index():
#從數據庫讀取數據并顯示,代碼略
@app.route(″________″)
def add_data():
#將提交的傳感器數據存儲到數據庫,代碼略
if_ _name_ _==″_ _main_ _″:
  app.run(host=″192.168.1.101″,port=5050)
若某次提交數據的URL為“http:∥192.168.1.101:5050/update?id=1&val=98”,則劃線處應填入________。
(3)該系統可以實現“人來燈亮、人走燈滅”的效果,當環境的亮度值低于閾值且檢測到人活動時系統控制燈光開啟,同時還要實現沒有人活動或亮度值大于等于閾值系統控制燈光關閉。部分Python代碼如下,請在劃線處填入合適的代碼:
#導入相關庫,并從服務器獲取閾值,保存在h中,代碼略
s=0 #變量s標記LED燈的開關狀態,1表示開啟,0表示關閉
while True:
#從光照傳感器獲取亮度值,保存在light中,代碼略
#從紅外傳感器獲取數據并分析后確定是否有人活動(有人活動為True,沒有人活動為False),保存在red中,代碼略
 if ______:
  s = 1
 else:
  s = 0
 #打開或關閉LED燈,將s、light和red傳輸到服務器,代碼略
 sleep(500) #延時500ms
(4)若系統運行一段時間后,光線傳感器出現故障,可能出現的現象是______________________________________________________________________
(填一個現象)。
4.某公司研發出一套智慧餐廳定位餐號牌系統:顧客就座后將餐號牌插入桌角的定位器內(如圖a所示),送餐員即可從客戶端查看“001”號顧客就座的桌臺信息是“A01”桌。
 
圖a  
圖b
(1)該系統使用RFID技術識別餐號牌對應編號,這一過程屬于信息的________(選填,編碼/解碼),桌角的定位器屬于信息系統的________(選填,輸入/輸出)設備。
(2)使用智能終端及Web服務器模擬實現上述系統,智能終端通過無線網絡將獲取到的餐號牌編號及桌臺信息上傳至服務器。系統結構示意圖如圖b所示,圖中①處應為________;②處應為________。(填字母,A.IoT模塊/B.路由器/C.調制解調器/D.Web服務器)
(3)以下是編寫的部分服務器端程序。若001號顧客就座于A01桌臺,正確提交數據到Web服務器的URL為http:∥192.168.125.20:8088/data?tab=A01&cus=001,請在劃線處填入合適的代碼。
@app.route(″①________″)
def add_data():
  t = request.args.get(″tab″) #t中存儲桌臺信息
  c = int(request.args.get(②__________)) #c中存儲餐號牌編號 #打印顧客就座信息,代碼略
  return ″success″
if _ _name_ _==″_ _main_ _″:
  app.run(host=″③________″,port=8088)
(4)根據上述程序,若智能終端數據上傳成功,則智能終端接收到的信息為________。
5.小明搭建智慧教室環境管理系統,智能終端通過傳感器獲取教室的光線、溫度等信息,并上傳至服務器;智能終端根據閾值自動控制教室的燈、空調等設備的開關;用戶可以通過手機瀏覽器或PC瀏覽器來訪問服務器上的數據,并遠程控制教室的燈、空調等設備的開關。該系統的架構如圖所示。
(1)該信息系統的架構是________(選填:B/S或C/S)模式,智能終端和服務器的通信采用________(選填:有線或無線)方式。
(2)智能終端上傳溫度數據的部分代碼如下。
while True:
  temp=round(pin2.read_analog()/1024*3000/10.24,1)
  errno,resp=Obloq.get(″input?id=1&val=″+str(temp),10000)  #智能終端向服務器發送溫度信息,若在10000毫秒內發送成功,返回發送成功errno的值為200和服務器的處理結果。
  if errno==200:  #發送成功
 if resp=='1': #返回值為1時,打開蜂鳴器
     pin8.write_digital(1)
 else:
     pin8.write_digital(0)
  else:
display.scroll(str(errno))
  sleep(1000*300)
則溫度傳感器連接智能終端的端口是________,溫度傳感器采集溫度的時間間隔為________(填整數)分鐘。
(3)若服務器地址192.168.1.100,端口為5000,溫度傳感器某時刻采集的溫度值為23.5,則終端上傳數據的URL為________(單選,填字母)。
A.http:∥192.168.1.100:5000/input?id=1&val=23.5
B.http:∥192.168.1.100:5000/id=1&val=23.5
C.http:∥192.168.1.100/input?id=1&val=23.5
D.http:∥192.168.1.100/id=1&val=23.5
(4)某一天小明訪問Web服務器查詢數據,發現教室的溫度值超過28 ℃,他通過服務器遠程控制打開教室的空調,一個小時后,通過服務器再次查詢教室的實時溫度,發現溫度仍然超過28 ℃。他去教室實地檢查,發現教室溫度超過28 ℃,而空調并未啟動。分析可能的原因有_____________________________________
_____________________________________________________________________。
(注:回答2項,1項正確得1分)
重難點1 信息系統搭建前期準備和應用程序開發
1.智能農業大棚系統確定選擇Python自帶的嵌入式開源數據庫SQLite,這屬于搭建信息系統前期準備過程中的階段是(  )
A.需求分析 B.開發模式的選擇
C.概要設計 D.詳細設計
2.某“教室環境監測系統”的服務器程序基于FlaskWeb框架編寫,其服務器的IP地址為:192.168.1.8,Web服務器端口為:88,網站框架示意圖如圖所示:
訪問數據提交頁面的地址是(  )
A.http:∥192.168.1.8/show?page=1&id=1
B.http:∥192.168.1.8:88/view?id=1
C.http:∥192.168.1.8/input?id=1&val=23
D.http:∥192.168.1.8:88/input?id=1&val=23
3.編寫某智能控制系統時,其中語句“SELECT * FROM sensorlog WHERE sensorid = 1”的功能是(  )
A.用于在數據庫中創建“sensorlog”數據表
B.用于在“sensorlog”數據表中查詢字段“sensorid”等于1的記錄
C.用于在“sensorlog”數據表中插入字段“sensorid”等于1的記錄
D.用于在“sensorlog”數據表中刪除字段“sensorid”等于1的記錄
4.某溫度監測系統采用Flask Web框架開發,部分代碼如下:
@app.route(″/import″,methods=['GET','POST'])     
#讀取某個設備的溫度并存儲到數據庫中
def add_data():
  id = int(request.args.get('id'))
  tem = float(request.args.get('val'))
  db = sqlite3.connect(DATABASE)
  cur = db.cursor()
  cur.execute(″INSERT INTO degrees (sensor,sensorvalue) VALUES(%d,%f)″ %(id,①________) )
則下列說法正確的是(  )
A.請求方式為POST
B.①處代為tem
C.存儲的數據表名稱為DATABASE
D.存儲溫度的URL為http:∥10.8.251.173:8080/ import?id=1&tem=29
5.為了方便圖書館自習室的管理和使用,王老師為學校圖書館開發了自習室管理系統。他設計并搭建了一個自習室人流量監測系統,通過傳感器采集人流量數據并由智能終端經無線網絡傳輸到Web服務器,當室內總人數高于設定閾值時,通過門口的紅燈提醒學生自習室已無空位,圖書館管理人員可以通過瀏覽器查看相關數據。請回答下列問題:
(1)為統計進出自習室的人數,該信息系統可以使用下列傳感器中的________(單選,填字母:A.霍爾傳感器/B.近距離傳感器/C.紅外傳感器)。
(2)以下關于該信息系統的說法,正確的是________(多選,填字母)
A.搭建該信息系統采用了C/S模式
B.該系統的人流量歷史數據存儲在智能終端中
C.圖中①處可使用IoT模塊連接Wi-Fi
D.把系統分成若干模塊,每個模塊完成一個特定功能,屬于前期準備中的概要設計(注:全部選對的得2分,選對但不全的得1分,不選或選錯的得0分)
(3)王老師編寫服務器端的程序,部分代碼如下。
#導入Flask框架模塊及其他模塊,代碼略
app=Flask(_ _name_ _)
@app.route(″/up″)
def sc():
  #將傳感器數據上傳至服務器,并保存到數據庫中,代碼略
@app.route(″/search″)
def cx():
  #從數據庫中讀取人流量數據,并呈現在網頁頁面中,代碼略
  #服務器其他功能,代碼略
if _ _name_ _==″_ _main_ _″:
  app.run(host=″192.168.3.24″, port=1000)
若通過瀏覽器查看人流量數據,則應訪問的URL為http:∥________________。
6.小明同學設計了一個登錄注冊系統,服務器程序采用Flask Web框架編寫,在register.html頁面中進行注冊,注冊結果在success_register.html頁面中顯示,register.html文件代碼如圖所示。
服務器程序部分代碼:
from flask import Flask, request, render_template
#導入flask
import sqlite3
database='data.db'
app=Flask(_ _name_ _)
@app.route('/register')  #注冊界面
def register():
  return render_template('register.html')
@app.route('①________',methods=['POST'])  #提交注冊數據
def success_register():
  #寫入數據庫,代碼略。
  return render_template('②________')
if _ _name_ _=='_ _main_ _':
  app.run(host='192.168.10.12',port=5000)
(1)請根據register.html文件代碼,將劃線處的代碼補充完整。
(2)訪問注冊界面的URL為________。
重難點2 信息系統的搭建
1.小明搭建了花園自動澆灌系統,該系統結構示意圖如圖a所示。Web服務器端程序采用FlaskWeb框架開發。傳感器采集的數據由智能終端經IoT模塊發送到Web服務器,執行器用于水泵的控制。請回答下列問題。
序號 子頁面路徑 功能說明
1 / 實時顯示土壤濕度數據
2 /input?id=1&h=10 提交土壤濕度數據
3 /count 顯示土壤濕度統計數據
4 /search 查詢顯示某一天的歷史數據
圖b
(1)在搭建信息系統的前期準備中,考慮硬件設備配置、應用軟件的選擇和通信網絡的選擇與設計等,屬于________(單選,填字母A.需求分析,B.可行性分析,C.概要設計,D.詳細設計)
(2)系統根據傳感器提交的數據,判斷是否需要澆灌。若需要,則開啟水泵澆灌10分鐘。智能終端部分代碼如下,請結合圖b,補全代碼。
#導入函數庫,代碼略
#設置智能終端連接Web服務器的參數、連接網絡的參數并連接網絡,代碼略
h=pin0.read_analog()
errno,resp=Obloq.get(″①________?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)
 ②________
(3)根據上面代碼分析可知,該信息系統根據傳感器數據做出開啟或關閉水泵決策的是____________(選填:Web服務器/智能終端/傳感器),水泵屬于圖a中的________。
(4)若Web服務器的IP地址為“196.168.0.101”,端口為“5000”,要訪問“顯示土壤濕度統計數據”頁面,則正確的URL為________________________________。
2.小明設計并搭建了一個農業大棚管理系統,運用多種傳感器設備監測環境中的參數。其中Web服務器端程序采用Flask Web框架開發。其中為了實時檢測并調整濕度,系統利用濕度傳感器獲取大棚濕度,傳輸給服務器,服務器根據濕度情況,及時調整大棚濕度,使它達到適宜作物生長的濕度值。如圖a所示,請回答下列問題:
 
(1)下列選項分別是圖a所示中虛線框內的①②③位置,合理的是________(單選,填字母)。
A.①智能終端 ②傳感器  ③執行器
B.①傳感器  ②執行器  ③智能終端
C.①執行器  ②智能終端 ③傳感器
D.①傳感器  ②智能終端 ③執行器
(2)小明在連接無線路由時只要連接到SSID,輸入正確口令就可以無線上網,不需要設置IP地址,說明無線路由已經開啟了________服務。
A.HTTP B.FTP C.DHCP D.IP
(3)根據圖b所示,若濕度傳感器編號id為2,濕度值h為55,提交數據到Web服務器的URL為http:∥10.68.251.1/humidity?h=55&id=2,則服務器采用________(選填:POST或GET)方式接收濕度數據。
(4)大棚的合適濕度值為hmin~hmax(濕度值已取整),當前濕度值為h。h在合適范圍,則state顯示為1,否則顯示為2。則下列Python語句符合要求的是________(多選,填字母)。(注:全部選對的得2分,選對但不全的得1分,不選或有選錯的得0分)
(5)小明在測試過程中發現當濕度值h>hmax時,h值能傳遞到數據庫中,但農業大棚的濕度沒有發生變化。結合圖a,簡要說明系統中可能造成上述問題的原因:
____________________________________________________________________________________________________________________________________________。
(注:回答2項,多答僅前兩項有效。全對2分,1對1錯或僅有1項正確得1分)。
3.小明要搭建食用菌大棚智能控制系統,大棚內部安裝了溫濕度傳感設備和智能終端,通過Wi-Fi將實時采集的環境參數傳輸到云平臺,根據菌類生長的適宜溫濕度開啟或者關閉環境調節設備,自動調節溫濕度。用戶可以通過手機APP或電腦網頁端查看大棚內溫濕度實況,并遠程控制環境調節設備。請回答下列問題:
(1)溫濕度傳感器屬于該信息系統的________(單選,填字母:A.硬件/B.軟件/C.數據)。
(2)可做環境調節設備的是____________(單選,填字母:A.Wi-Fi模塊/B.排氣扇/C.濕度計)。
(3)小明基于Flask Web框架編寫服務器端的程序,部分代碼如下。編寫完成后,若要通過瀏覽器獲取大棚溫濕度數據,則應訪問的URL是http:∥________________。
#導入Flask框架模塊及其他相關模塊,代碼略
app = Flask(_ _name_ _)
@app.route('/env')
def main():
  #從數據庫中讀取最近3小時的溫濕度數據,并返回頁面,代碼略
  #服務器其他功能,代碼略
if _ _name_ _=='_ _main_ _' :
  app.run(host='192.168.4.1',port=8080)
(4)智能終端的程序每隔5分鐘從傳感器獲取1次溫濕度值,若溫度值或濕度值發生變化,則將數據傳輸到服務器。部分Python程序如下,在程序中劃線處填入合適的代碼。
#temp1、hum1賦初值,代碼略
while True:
  temp = pin0.read_analog() #獲取pin0引腳傳感器的溫度數據
  hum = pin1.read_analog() #獲取pin1引腳傳感器的濕度數據
  if ________:
    #將溫度temp,濕度hum數據傳輸到服務器,代碼略
    temp1,hum1 = temp, hum
  sleep(1000*60*5)     #延時5分鐘
(5)系統正常工作一段時間后,小明在電腦網頁端查看大棚溫濕度數據,發現沒有最近2小時的溫濕度數據(在此期間大棚的溫濕度發生了變化),簡要說明系統中造成上述問題的可能原因:______________________________________________
______________________________________________________________________
______________________________________。(注:回答2項,1項正確得1分)
4.某室內環境監控系統采用FlaskWeb框架開發。傳感器每分鐘采集1次濕度數據(0~100),智能終端通過IoT模塊將采集到的數據傳輸至Web服務器并存儲,系統根據采集到的數據與設定的閾值控制除濕機。客戶端可通過瀏覽器查詢實時和歷史數據。請回答下列問題:
(1)該網絡應用軟件的實現架構是________(單選,填字母:A.B/S架構,/B.C/S架構)。
(2)系統正常工作一段時間后,發現當前濕度值超過了閾值但除濕機未啟動,下列解決問題的方法合理的是________(單選,填字母)。
A.調整濕度閾值,查看除濕機是否正常工作
B.更換濕度傳感器,判斷是否是濕度傳感器故障
C.更換除濕機,判斷是否是除濕機故障
(3)下列關于該系統支撐技術的說法,正確的有________(多選,填字母)。(注:全部選對的得2分,選對但不全的得1分,不選或有選錯的得0分)
A.智能終端中的接口只能用于連接傳感器
B.信息系統只能通過串口從傳感器獲取信息
C.在Flask中,一個路由只能綁定一個視圖函數
D.開發完畢后,布署到生產環境中使用時應關閉調試模式
(4)收集一個月的濕度數據處理后得到該月的日平均濕度值,存儲在列表h中,例如:列表h中的值為[98,88,84,96,95,93,97,……,83],現要找出相鄰兩天最大濕度差,部分Python程序如下,請在程序中劃線處填入合適的代碼。
def findmax():
  n=len(h)
  imax=0
  i=0
  while ich=________________
if ch>imax:
     imax=ch
i=i+1
  return imax
5.智能農業大棚由信息系統來實現大棚的自動化管理,通過傳感器實時采集農業大棚內的環境數據,由智能終端經IoT模塊發送到Web服務器,Web服務器端程序采用Flask Web框架開發。
(1)自動溫度控制系統。溫度傳感器每隔一定時間采集大棚中的溫度,一旦溫度超過預設的最高溫度40 ℃,控制系統會啟動通風和噴水實現降溫;如果溫度低于預設的最低溫度18 ℃,控制系統會啟動加熱器,給大棚升溫;如果溫度在19 ℃(含)到39 ℃(含)之間,通風、噴水和加熱系統均不工作。
請回答下列問題:
①系統無故障情況下,下列說法正確的是________(多選,填字母)。
A.溫度在18 ℃~19 ℃,加熱系統可能工作
B.溫度在39 ℃~40 ℃,加熱系統可能工作
C.溫度在18 ℃~19 ℃,通風、噴水系統可能工作
D.溫度在39 ℃~40 ℃,通風、噴水系統可能工作
(注:全部選對的得2分,選對但不全的得1分,不選或有選錯的得0分)
②該系統網絡應用軟件的實現架構是________(單選,填字母:A.B/S架構/B.C/S架構)。
(2)自動補光系統。充足的光照可以提高農產品的產量和質量,光線傳感器實時采集大棚內的光照強度,根據光照強度自動打開或關閉大棚中的補光燈。
請回答下列問題:
③自動補光系統結構示意圖中A、B處分別為________和________。
④若傳感器的編號為1,光照強度值為1110,提交數據到Web服務器的URL為:http:∥192.168.1.6:5000/input?light=1110&id=1,則下列說法正確的有________(多選,填字母)。
A.可采取GET方式進行數據傳輸
B.服務器端應用實例與該URL關聯的路由為“/input”
C.服務器IP地址為192.168.1.6:5000
D.HTTP是一種網絡協議
(注:全部選對的得2分,選對但不全的得1分,不選或有選錯的得0分)
6.小明為他們教室搭建了環境溫濕度監測系統,該系統結構示意圖如圖所示。該系統可實時監測教室溫濕度數據,并持續運行一周,數據由智能終端經IoT模塊發送至Web服務器,若環境溫濕度監測值超過設定閾值區間,則控制執行器調節溫濕度,用戶可以使用瀏覽器查看實時數據。
本系統服務器端程序采用Flask Web框架編寫,數據庫管理系統選擇sqlite3,服務器的IP地址是192.168.0.1,端口是5000。網站功能頁面規劃如下:
序 子頁面路徑 功能說明
1 / 實時顯示溫濕度數據
2 /input 提交溫濕度數據
3 /count 顯示溫濕度統計數據
4 /search 查詢顯示某一天的歷史數據
(1)上述頁面規劃屬于搭建信息系統的前期準備的階段是________。
A.需求分析 B.可行性分析 C.概要設計 D.詳細設計
(2)根據該系統的功能要求,題圖中①②處的設備分別為________、________.
(3)教室里的學生最舒服的溫度范圍是tmin~tmax,現要實現溫度t正常、非正常(偏高或偏低)時,將對應的狀態sta的值設為0和1。下列Python程序段中符合要求的有________(多選,填字母)。
(4)小明在某次系統調試時,輸入URL后瀏覽器出現“404”錯誤信息(服務器反饋404信息表示服務器端無法找到對應的網頁),簡要說明系統中可能造成上述問題的原因:______________________________________________________________。
(注:回答兩項,1項正確得1分)
7.小明為自家花園設計了“自動澆水系統”,該系統結構示意圖如圖所示。該系統對花園內A、B兩處區域的土壤濕度進行監測和控制。各傳感器將采集的數據由智能終端經IoT模塊發送至服務器進行處理與存儲,各執行器用于實現各區域土壤濕度的控制。請回答下列問題:
(1)下列關于該系統的搭建過程,說法正確的是________。(多選,填字母。注:全部選對的得2分,選對但不全的得1分,不選或選錯的得0分)
A.該系統采用了B/S開發模式
B.數據庫設計屬于系統概要設計過程
C.該系統軟件開發時,需要編寫服務器程序和客戶端程序
D.運行系統,從多角度觀察程序,發現其中的錯誤,屬于動態測試
(2)A區域的部分智能終端程序如下:
while True:  
  hum=pin1.read_analog()
  errno,resp=Obloq.get(″input?id=1&h1=″+str(hum),10000) #其他代碼略
服務器的IP地址為192.168.0.10,端口為8080,若當前A區域的傳感器1監測到的濕度值為56,則其提交數據到服務器的URL為:http:∥____________________
_____________________________________________________________________。
(3)如下程序統計某天A、B兩區域澆水裝置獨自啟動的時長cA、cB,兩區域裝置均啟動的時長cAB,請在劃線處填入合適的代碼。
#數組a中存儲了某天兩個區域的土壤濕度值(a[i][0]為第i+1分鐘A區域的土壤濕度值,a[i][1]為第i+1分鐘B區域的土壤濕度值,濕度傳感器每隔一分鐘采集并上傳一次數據),土壤濕度低于閾值w啟動澆水裝置
n=24*60;cA=cB=cAB=0
for i in range(n):
  if a[i][0]  cAB+=1
  elif a[i][0]  cA+=1
  ____________:
  cB+=1
(4)系統正常運行一段時間后,小明發現B區域的植物呈現缺水狀態,該區域的澆水裝置卻沒有啟動。結合圖,簡要說明系統中可能造成上述問題的原因:____________________________________。(不考慮水管損壞和停水等原因)(注:回答2項,1項得1分;多答僅前兩項有效。)
8.小李要幫助體育老師搭建智能體育項目檢測系統。其中檢測立定跳遠的系統中,智能終端從服務器獲取考生準考證號,顯示在終端的觸摸屏上,通過識別身份證和人臉確認信息后考生進入測試區域,每完成一次立定跳遠測試,紅外傳感設備測得的距離或范圍判定情況將顯示在大屏幕中,測試成績等數據同步傳輸至Web服務器,存儲到數據庫中。網絡應用軟件的實現架構是B/S架構,用戶可通過瀏覽器查詢和統計數據。硬件按如下方式連接:紅外傳感設備和屏幕接入智能終端,智能終端通過IoT模塊連接到服務器。請回答下列問題:
(1)要完成該系統的搭建,下列需要編寫的程序是________(單選,填字母:A.客戶端程序/B.服務器端程序)。
(2)下列關于該系統中數據管理的說法,正確的是________(單選,填字母)。
A.數據可以從服務器端傳輸至紅外傳感設備
B.智能終端中可以存儲少量測試數據
C.通過瀏覽器查看某班級的滿分考生數據不必訪問數據庫
(3)下列關于該系統支撐技術的說法,正確的有________(多選,填字母)。(注:全部選對的得2分,選對但不全的得1分,不選或有選錯的得0分)
A.服務器端有程序存儲和數據處理的能力
B.紅外傳感器與智能終端的連接必須通過Wi-Fi進行通信
C.智能終端中運行的所有軟件都需要在搭建過程中開發
D.多個智能終端都可以通過IoT模塊以無線方式連接同一個服務器
(4)智能終端上的程序具有如下功能:在起跳合規的情況下獲取一次有效成績,紅外傳感器返回測試區域內落點距離起跳點的距離,返回的數據在起跳前為負數,跳躍騰空過程中距離值為0,落地后會返回正整數值,根據立定跳遠的規則,當離開測試區域前的最短距離為測試成績,所獲得的數據形如
[-5,-1,-2,-4,0,0,0,0,…,0,0,0,200,190,160,210,0,0,…],則有效成績記為160。
①在起跳合規的前提下,完成此功能的部分Python程序如下,請在程序中劃線處填入合適的代碼。
zero= False
while True:
  #從傳感器獲取距離起跳線的值存儲在d中
  if d<0:
zero = False
  elif d== 0:
   ________________
  elif d> 0 and zero:
#A
mindist = d
while d != 0:
    if d < mindist:
      mindist = d
    #B
break
print(mindist)
②由于落地后還可能產生移動,需要繼續讀取新的落點距離,實現“從傳感器獲取距離起跳線的值存儲在d中”的功能代碼應該出現在________(選填,填文字:A處/B處)。
(5)系統搭建完成后,運行一段時間,小王發現自己的瀏覽器端打開智能體育測試網站的查詢界面網頁顯示出錯,現在可以確定的是軟件都沒有問題,問題可能出在小王的計算機網絡連接或者服務器的網絡連接中有一處有問題,請設計一種判定哪處網絡連接有故障的方法___________________________________________
_____________________________________________________________________。
9.小王搭建了家庭智能澆花系統,系統結構示意圖如圖所示。土壤濕度傳感器采集的數據通過IoT模塊傳送到Web服務器,客戶端可以通過瀏覽器訪問Web服務器。Web服務器將處理的結果經IoT模塊傳送給智能終端,智能終端啟動執行器實現對濕度的控制。
(1)①在設計“智能澆花系統”的前期準備中,小王考慮到澆水不僅與土壤濕度有關,還要考慮溫度和光照,所以他準備將來還要為該系統擴展溫度采集和光線采集等功能,并在開發過程中為這些功能模塊預留接口。這一過程屬于________(單選,填字母:A.需求分析/B.可行性分析/C.概要設計/D.詳細設計)。
②根據本系統網絡應用的軟件架構,編寫程序時需要編寫________程序(單選,填字母:A.服務器端/B.客戶端/C.服務器端與客戶端)。
(2)智能終端每隔1分鐘采集一次數據并提交數據到Web服務器。Web服務器端的部分代碼如下:
#導入相關模塊,代碼略
app = Flask(_ _name_ _)
@app.route('/record')
def data():
  #網頁顯示當前傳感器數據,并顯示最近的50條濕度記錄,代碼略
@app.route('/input',methods=['GET'])
def add():
  id=int(request.args.get('id')) #獲取傳感器id
  val=float(request.args.get('val'))  #獲取土壤濕度值val
  :
    return '1'
  else:
    return '0'
  #其他代碼略
if _ _name_ _=='_ _main_ _':
  app.run(host='10.46.110.119',port=8080)
①若土壤濕度值val在閾值[h1,h2]內(包括h1和h2),則返回1,否則返回0,則加框處的代碼符合要求的有________(多選,填字母)。(注:全部選對得2分,選對但不全得1分,不選或錯選得0分)
A.if val>=h1 or val<=h2:
B.if not(val

h2):
C.if (val-h1)*(h2-val)>=0:
D.if h1<=val<=h2:
②若要查看最近的50條土壤濕度記錄,則在瀏覽器地址欄中應輸入的網址是_____________________________________________________________________。
(3)系統工作一段時間后,小王用瀏覽器查看土壤濕度記錄,發現頁面能正常顯示但是該頁面上的土壤濕度記錄數據不再變化,刷新后仍不變,造成上述問題的原因可能是:________________(多選,填字母)。(注:全部選對得2分,選對但不全得1分,不選或錯選得0分)
A.軟件存在缺陷
B.執行器故障
C.智能終端和IoT模塊連接無線網絡出現故障
D.Web服務器停電
10.模擬搭建“室內煙霧實時監控系統”,該系統結構示意圖如圖所示。智能終端接收煙霧傳感器采集的數據,IoT模塊傳送數據到Web服務器并保存到數據庫。Web服務器將數據處理的結果經IoT模塊傳給智能終端,由智能終端啟動繼電器實現對水泵的控制,并且用戶可以通過瀏覽器訪問網頁,查看實時數據。
(1)在設計系統的前期準備中,需要確定所需的軟硬件配置,這一過程屬于________(單選,填字母:A.需求分析/B.概要設計/C.詳細設計)。
(2)“室內煙霧實時監控系統”的開發模式是________(單選,填字母:A.B/S模式/B.C/S模式)。
(3)煙霧傳感器每隔1秒采集一次數據,在數據處理的代碼中,有函數check(a,b,c)用于檢測最近3次煙霧濃度值a、b、c,若至少有兩次超過100,則認為有火情,函數返回True,否則返回False。下面是check函數的部分代碼,請從選項中選擇合適的語句完成填空________(單選,填字母)。
def check(a, b, c):  
  x=a>100;y=b>100;z=c>100
  if________:
  return True
  return False
A.(x and y and z) or (x or y or z)
B.x and y or x and z or y and z
C.x or y and x or z and y or z
D.not x or not y or not z
(4)在服務器端,配置IP和端口號的語句為server=Server(host=″192.168.1.1″,port=80,threaded=True),設置路由函數的語句為@app.route(″/warn″),則用戶訪問的URL為http:∥________________。
(5)小明用高濃度的煙霧測試系統,通過客戶端查看到煙霧濃度數據已連續超過閾值,但是水泵沒有運行,若服務器和終端的代碼均正確,則可能的原因是________________________。
專題5 信息系統搭建
學習目標 1.掌握系統搭建前準備的工作及流程;
2.掌握Flask路由和視圖函數的編寫;
3.掌握Flask請求和路由的關系;
4.掌握基本數據庫語句的功能和作用.
信息系統的開發包含信息系統搭建前期準備、信息系統搭建和信息系統完善三部分。前期準備指開發前要進行的需求分析和設計工作,沿著信息系統能實現什么功能、怎么做和先干什么后干什么的思路,將前期準備分為需求分析、可行性分析、開發模式選擇、概要設計和詳細設計五部分。信息系統搭建包含硬件搭建和軟件開發兩部分,軟件開發主要解決服務器端的代碼設計。信息系統完善包含系統測試和文檔編寫兩部分工作。
(2024年1月浙江省選考)小華要搭建苗圃大棚環境監控系統。該系統中的智能終端從服務器獲取濕度閾值。根據該閾值和傳感器采集的空氣濕度值控制加濕器,并將濕度值等數據傳輸至Web服務器,存儲到數據庫中。網絡應用軟件的實現架構是B/S架構,用戶可通過瀏覽器查詢實時和歷史數據。硬件按如下方式連接:濕度傳感器和加濕器接入智能終端,智能終端通過IoT模塊連接到服務器。請回答下列問題:
(1)要完成該系統的搭建,下列需要編寫的程序是________(單選,填字母:A.客戶端程序/B.服務器端程序)。
(2)下列關于該系統中數據管理的說法,正確的是________(單選,填字母)。
A.數據無法從服務器端傳輸至智能終端
B.該系統的數據和程序都應存儲在數據庫中
C.通過瀏覽器查看濕度歷史數據需要訪問數據庫
(3)下列關于該系統支撐技術的說法,正確的有________(多選,填字母)。(注:全部選對的得2分,選對但不全的得1分,不選或有選錯的得0分)
A.智能終端有程序存儲和數據處理能力
B.智能終端可以通過IoT模塊以無線方式連接服務器
C.該系統如果再增加一個加濕器,必須增加一個濕度傳感器
D.支撐該系統運行的所有軟件都需要在搭建過程中開發
(4)智能終端上的程序具有如下功能:每隔1分鐘從傳感器獲取1次濕度值:加濕器處于關閉狀態時,若連續兩次濕度值均低于閾值h,則打開加濕器;加濕過程中,若連續兩次濕度值均高h,則關閉加濕器;每隔1分鐘將濕度值和加濕器狀態數據傳輸到服務器。部分Python程序如下,請在程序中劃線處填入合適的代碼。
#導入相關庫,并從服務器獲取閾值,保存在h中,代碼略
lasth=h
s=0
while True:
#從傳感器獲取濕度值,保存在newh中,代碼略
  if s==0:
    if newh     s=1
     #打開加濕器,代碼略
  else:
    if newh>h and lasth>h:
    ①__________
    #關閉加濕器,代碼略
  ②__________
  #將newh,s等數據傳輸到服務器。代碼略
  sleep(1000*60) #延時1分鐘
(5)系統搭建完成后,運行一段時間,加濕器始終沒有加濕。假設僅濕度傳感器、加濕器兩個設備存在故障,在不更換設備的前提下,請選擇其中一種設備,描述判定該設備是否存在故障的方法。
答案 (1)B (2)C (3)AB (4)①s=0或s=s-1或s=1-s ②lasth=newh (5)從傳感器的角度:改變環境濕度,從瀏覽器觀察濕度值是否有實時的更新變化,若沒有,說明傳感器故障。從執行器角度:通過智能終端直接發送加濕指令,若加濕器未工作,說明加濕器故障。或其他等價答案
解析 (1)本題采用B/S架構,只需要編寫服務器端程序。(2)A選項數據可以從服務器端傳輸至智能終端;B選項程序不需要存在數據庫中;C選項濕度歷史數據需要長期保存,便于用戶訪問,應存入數據庫。(3)A選項智能終端可以通過燒錄的方式存儲程序,也具有數據處理能力;B選項智能終端可以通過無線方式、串口、藍牙等方式連接服務器;C選項增加加濕器與增加傳感器沒有必然聯系,可以利用現有傳感器控制加濕器;D選項搭建完成后還可以開發和調試軟件。(4)①從傳感器獲取當前濕度值newh,前一次的濕度值為lasth。當s的值為1,且兩次濕度值小于閾值,則將s的值修改為0。②將當前濕度值newh作為前一次的濕度值lasth。(5)略。
重難點1 信息系統搭建前期準備和應用程序開發
搭建信息系統前需了解信息能解決什么問題,實現哪些功能,就是需要分析,在分析硬件、軟件和功能的基礎上,進一步分析技術和經濟上是否可行,搭建信息系統的社會意義有哪些。Flask框架解決應用程序對用戶請求的響應和處理。路由是Flask應用程序中的URL映射。它指定了URL與視圖函數之間的關系。視圖函數是Flask應用程序中處理請求的函數。它們使用裝飾器將路由綁定到函數上。模板是Flask應用程序中用于渲染HTML頁面的文件。它們使用Jinja2模板引擎進行渲染。URL的格式為協議:∥IP地址:端口號/路由?參數1 &參數2
例題 小明使用Flask模塊制作了某信息系統的用戶登錄驗證子系統,其各個路由、視圖說明以及實現程序如表所示,請回答相關問題。
路由地址 視圖說明
/ 系統首頁
/user/〈name〉 顯示歡迎信息以及用戶〈name〉對應的信息
/system?name=xiaoming&password=secretinf 傳遞登錄信息完成驗證后顯示系統管理頁面
from flask import Flask, render_template, redirect
app=Flask(_ _name_ _)
@app.route(″/″)
def index():
  return render_template(″index.html″)
①____________
def login():
#查詢代碼略
  if len(cur.fetchall()) >0: #找到用戶的相關信息
  return render_template(″manage.html″, username=usr)
  else:
 return redirect('/')
if _ _name_ _==″_ _main_ _″:
  app.run(②________)
(1)在前期準備中,下列說法正確的是________(多選)
A.明確系統“先干什么,后干什么”屬于搭建信息系統前期準備中的概要設計
B.可行性分析主要對信息系統的必要性和可行性進行分析
C.確定采用什么終端設備,具體傳感器型號等屬于詳細設計
D.明確用戶對所搭建信息系統的目標期待這一過程屬于需求分析
E.考查在現有技術條件下是否可能實現系統搭建這一過程屬于概要設計
F.數據庫管理系統選擇是詳細設計過程的主要任務之一
(2)程序第①中空是傳遞登錄信息,進行登錄驗證并顯示系統管理頁面的路由與視圖函數,那么該處填寫的語句是________(單選,選填字母)。
[email protected](″/system″,methods=[″GET″])
[email protected](″/login″,methods=[″GET″])
[email protected](″/user″,methods=[″POST″])
[email protected](″/login″,methods=[″POST″,″GET″])
(3)若該Web服務器的地址是192.168.0.1,運行端口是8080,程序試運行時需打開調試功能,那么第②空應該填寫的語句是________(單選,選填字母)。
A.host=″192.168.0.1″,port=8080,debug=True
B.host=″http:∥192.168.0.1″,port=8080,debug=True
C.host=″http:∥192.168.0.1:8080″,debug=True
D.host=″192.168.0.1:8080″,port=8080
思維點撥
明考向 本題考查信息系統搭建前準備和使用Flask搭建Web應用程序的相關知識
精點撥 (1)A選項先干什么,后干什么是對系統的詳細設計過程。B選項判斷所提出的系統是否有必要搭建(必要性),有無實施的可能性(可行性)稱為可行性分析。C選項是對資源和環境的需求分析。D選項目標期待屬于需要分析。E選項有必要搭建必要性屬于可行性分析。F選項選擇哪種數據庫屬于概要設計。(2)考查路由地址和視圖函數知識。由題中的路由表可知,路由地址是/system,注意路由地址與視圖函數名稱無關(可以不相同,但要寫一起),而視圖函數中獲取數據的方式由request.args中獲取,因此視圖函數的methods參數值必須要有“GET”值方可。(3)考查Web應用程序啟動的參數設定知識。應用程序對象的run()函數中的host參數指明了對外提供的服務器IP地址,注意,只需寫IP地址即可,不能加協議和端口,而port參數才是指明端口的參數,debug參數可以設置是否啟用調試模式
答案 (1)BD (2)A (3)A
變式 小王開發基于Python的FlaskWeb框架的室內光線強度監測信息系統,系統程序及相關的子系統都部署在Web服務器端,網站框架如圖所示。該系統的客戶端無需專門的應用程序,用戶工作界面通過瀏覽器來實現,應用程序基本上都集中于服務器端。
(1)確定“系統需要采用什么型號的傳感器?”,屬于搭建信息系統前期準備中的________。
A.可行性分析 B.需求分析
C.概要設計 D.詳細設計
(2)由上述材料可知,服務器端的IP地址為________,該系統的實現架構屬于________(選填:C/S架構、B/S架構)。
(3)實現上述系統的服務器端Python程序如下:
#注意:劃橫線①③處有選項可選擇,②處為填空題
from flask import Flask,render_template,request #導入Flask庫函數
app=Flask(_ _name_ _)
@app.route(①________,methods=[″GET″]) #數據采集子頁面路由命令
def get():
  id=int(request.args.get(″id″)) #獲取URL中“id=1”后的數據“1”
  d=float(②________) #變量d存儲采集到的光線數據
  #打開數據庫,并將接收的數據存儲到數據庫中,代碼略
  return ″get data ok″
#其他系統子頁面路由,代碼略
if _ _name_ _=='_ _main_ _':
  app.run(③________) #啟動Web服務器
答案 (1)B (2)192.168.1.100 B/S架構
(3)①″/s″ ②request.args.get(″d″)
③host=″192.168.1.100″,port=5000
解析 本題考查網絡應用程序的開發。(1)需求分析環節主要完成:目標期待、功能需求、性能需求、資源和環境需求、用戶界面需求、可擴展性需求。其中,資源和環境需求主要分析在硬件方面,采用什么終端設備,具體的傳感器型號,需要什么外部設備和數據通信接口。(2)從圖中可知IP地址,系統程序及相關的子系統都部署在Web服務器端,因此屬于B/S架構。(3)①數據采集子頁面路由,從圖中可知路由為“s”。②變量d存儲采集到的光線數據,再參照上一條語句,可以得到答案。③根據圖中系統主頁地址可以得到答案。
重難點2 信息系統的搭建
信息系統的搭建包含硬件搭建和軟件開發兩個過程。一個信息系統,其硬件組成主要包括服務器、網絡設備、傳感設備、智能終端等。軟件開發一般包括數據管理設計、服務器端程序、客戶端程序幾個部分。信息系統中數據的流轉往往分為智能終端通過傳感器采集數據和通過執行器發送數據。IoT模塊傳送傳感器收集到的數據到Web服務器并保存到數據庫中。IoT模塊需要設置無線網絡的名稱SSID和共享密鑰PASSWORD連通無線網絡。客戶端(含手機)通過瀏覽器訪問Web服務器。Web服務器將處理的結果經IoT模塊傳送給智能終端,由智能終端啟動執行器實現對環境中的事物的控制。
例1 小明為家庭小菜園搭建了環境溫濕度監測系統,該系統結構示意圖如圖所示。Web服務器端程序采用FlaskWeb框架開發。傳感器采集的數據由智能終端經IoT模塊發送到Web服務器,執行器用于實現溫濕度的控制。請回答下列問題:
(1)下列選項標注了圖中虛線框內的智能終端與傳感器執行器之間的數據傳輸關系,其中合理的是________(單選,填字母)。
(2)該系統網絡應用軟件的實現架構是________(單選,填字母:A.B/S架構/B.C/S架構)。
(3)若傳感器的編號id為1,濕度值h為60提交數據到Web服務器的URL為http:∥192.168.1.6:5000/toserv?h=60&id=1,則服務器端應用實例app中與該URL關聯的路由設置語句是@app.route('________')。
(4)菜園里的蔬菜適宜生長的空氣溫度范圍是tmin~tmax。現要求當溫度t正常、偏低、偏高時,將sta的值對應設為0、1、2。下列Python程序段中符合要求的有________(多選,填字母)。(注:全部選對的得2分,選對但不全的得1分,不選或有選錯的得0分)
(5)小明設定采集并上傳數據的時間間隔為1分鐘。他用瀏覽器查看溫濕度頁面,頁面動態顯示最新的溫度、濕度及其采集時間。系統正常工作一段時間后,他發現該頁面不再變化,刷新后仍不變。結合圖,簡要說明系統中可能造成上述問題的原因_______________________________________________________________。
(本系統中,傳感器損壞傳感器和智能終端連接異常,不會造成上述問題)。(注:回答2項,1項正確得1分)
思維點撥
明考向 本題考查信息系統搭建相關知識
精點撥 (1)智能終端通過傳感器獲取數據,控制器經過處理后,再通過執行器對外部進行控制,故A項正確。(2)瀏覽器與服務器交換數據,故需采用B/S架構。(3)由“http:∥192.168.1.6:5000/toserv?h=60&id=1”可知,路由為“/toserv”。(4)當t在[tmin,tmax]之間時返回0,小于min返回1,大于tmax返回2,A項由兩個分支構成,一個分支結束后,還需執行第二個分支,程序段返值只能是2或者是0,1無法取到;C項的返回值只能是1或者2,0無法取到;故只有B項與D項正確。(5)可能造成上述問題的原因:一是服務器服務中斷(服務器斷電或服務器系統故障),二是互聯網網絡服務出現故障瀏覽器無法更新獲取新的采集數據
答案 (1)A (2)A (3)/toserv (4)BD (5)①連接物聯網模塊與Web服務器的無線路由器無法正常工作;②物聯網模塊損壞;③數據表對記錄數有數量限制,當記錄數達到一定程度時,數據表不再更新。④Web服務器中數據庫管理系統無法正常運行。
變式1 小周為庭院魚池搭建水位預警自動排水系統。該系統中的智能終端從服務器獲取水位閾值,根據該閾值和傳感器采集的水位值控制排水閥和蜂鳴器,并將水位值等數據傳輸至Web服務器,存儲到數據庫中。用戶可通過瀏覽器查詢數據和修改閾值,系統結構示意圖如圖所示。請回答下列問題:
(1)下列關于該系統數據管理的說法,不正確的是________(單選,填字母)。
A.水位傳感器采集的數據還可以通過有線的方式傳輸到Web服務器
B.智能終端只負責數據的采集
C.數據庫中的部分數據可以來自用戶
(2)智能終端的程序具有如下功能:每隔1分鐘從傳感器獲取1次水位值,根據不同情況,控制執行器作出相應的響應。
排水閥和水位情況 執行器狀態
水位值不超過閾值 排水閥關閉
排水閥為關閉狀態且水位值超過閾值 排水閥半開
排水閥為半開狀態且水位值連續3分鐘超過閾值 排水閥全開
排水閥為全開狀態且水位值連續5分鐘超過閾值 蜂鳴器報警
部分Python程序如下,請在程序中劃線處填入合適的代碼。
#導入相關庫,代碼略
num=0;s=0 #s表示排水閥狀態,值0,1,2分別表示關閉,半開,全開3種狀態
while True:
  #從傳感器獲取水位值保存在tmp中,并從服務器獲取閾值h,代碼略
  if tmp>h:
  num+=1
  if s==0:
    #半開排水閥,代碼略
   s=1
  elif①________:
    #全開排水閥,代碼略
    s=2
 elif s==2 and num==5:
    #觸發系統報警,代碼略
else:
  #關閉排水閥,代碼略
 s=0
  ②________
 #將水位值tmp、排水閥狀態s等數據傳輸到服務器,代碼略
 sleep(60*1000) #延時1分鐘
(3)Web服務器端程序的部分代碼如下:
 #導入相關庫,代碼略
 app=Flask(_ _name_ _)
 @app.route(″/input″)
 def add_da():
  #將傳感器最近一次的水位數據保存到數據庫,代碼略
 if _ _name_ _==″_ _main_ _″:
  app.run(″192.168.1.100″,port=8080,debug=True)
下列說法正確的有________(多選,填字母)。
(注:全部選對的得2分,選對但不全的得1分,不選或有選錯的得0分)
A.服務器端代碼中不能出現兩個相同的路由
B.視圖函數add_da()必須有返回值
C.該系統服務器的IP地址是192.168.1.100
D.設置“debug=True”增強了系統的安全性
(4)系統運行一段時間后,發現水池有水溢出,排水閥卻處于關閉狀態,簡要說明系統中可能造成上述問題的原因_________________________________________
_____________________________________________________________________。
(本系統中,服務器、通信網絡、傳感器與智能終端的功能均不存在問題。注:回答2項,1項正確得1分,2項正確得2分)
答案 (1)B (2)①s==1 and num==3 ②num=0 (3)AC (4)閾值設置過高或者閾值設置不合理;排水閥故障;排水閥與智能終端連接出錯或其他合理答案
解析 本題考查信息系統的搭建。(1)A選項網絡可能是有線方式,還可以是無線方式。B選項智能終端解決計算機沒有傳感器接口,同時還可以連接執行器。C選項當用戶查詢信息時,數據可以保存到數據庫中。(2)①全開排水閥的條件為排水閥為半開狀態且水位值連續3分鐘超過閾值。②關閉排水閥后,水位值連續超過閾值時間num將清零。(3)A選項兩個相同的路由,則不能明確哪個路由來響應請求。B選項若沒有return,則可以沒有返回值。D選項設置debug屬性是為了便于調試,系統開發完成后,設置屬性值為True,不利于系統的安全性。(4)從閾值和執行器故障兩個角度去思考問題。
例2 小明為學校實驗室搭建火災監測遠程報警系統。由于發生火災時,光線強度會發生變化,該系統使用光線傳感器實時監測實驗室中的光線,數據由智能終端經IoT模塊發送至Web服務器。若環境光線監測值不在正常范圍,智能終端通過服務器的返回結果控制蜂鳴器發出警報。用戶通過瀏覽器可查看實時數據,系統結構示意圖如圖a所示。
圖a
(1)下列關于該系統的說法,正確的有________(多選,填字母)。(注:全部選對的得2分,選對但不全的得1分,不選或有選錯的得0分)
A.該系統的數據庫存儲在智能終端中
B.該系統網絡應用軟件是通過B/S架構實現的
C.從技術角度分析系統的可行性屬于搭建信息系統的前期準備
D.Web服務器中安裝的所有軟件均是系統軟件
(2)該系統Web服務器端程序采用Flask Web框架開發,服務器IP地址為6.196.51.11,端口號為80。網站功能頁面規劃如表所示:
序號 訪問地址 功能說明
1 / 主頁,實時顯示光線檢測值數據
2 /input?val=520 獲取傳感器數據,并返回當前數據的處理情況。低于閾值返回1,否則返回0
3 /data 查看歷史數據
在系統測試階段,小明在瀏覽器地址欄中輸入網址查看歷史數據,出現如圖b所示的錯誤,為排查該問題,下列操作可行的是________(單選,填字母)。
圖b
A.嘗試更換瀏覽器并再次訪問該網址
B.檢查該系統服務器端代碼連接數據庫是否正常
C.查看服務器端路由命令是否設置有:@app.route('/data')
(3)小明按表設計編寫的服務器端程序,部分代碼如下,請在劃線處填入合適的代碼。
#導入Flask框架模塊及其他相關模塊,代碼略
app=Flask(_ _name_ _)
@app.route('/input')
def add_data():
  sen = float(request.args.get('val'))
  #將光線等數據存入數據庫中,代碼略
  #從數據庫中查詢閾值,保存在變量limit中,代碼略
  if__________________ :
   return ' 1'
  else:
   return '0'
(4)系統測試階段,發現用強光手電筒照射傳感器也會觸發火災警報,請通過增加傳感器對該系統鑒別是否發生火災的方式進行一項擴展,寫出增加的傳感器名稱及實現的功能_________________________________________________________
______________________________________________________________________。
思維點撥
明考向 本題考查信息系統的搭建
精點撥 (1)A選項數據存儲在數據庫中。D選項為了某一目的開發的是應用軟件。(2)訪問的頁面沒有找到,可能是路由設置的問題。(3)表1中要求獲取的光線數據sen低于閾值limit返回1。(4)從增加的傳感器及功能的角度分析問題
答案 (1)BC (2)C (3)sen變式2 小峰做了一個“搭建學生寢室管理系統”的實驗,該系統可通過人臉識別、指紋識別、校園卡等方式模擬進出寢室管理,并將進出數據發送給服務器。通過瀏覽器可以查看學生在寢、離寢情況。小峰選擇的硬件有:智能終端、IoT模塊、攝像頭、指紋采集儀、射頻識別設備、進出口閘機、服務器等。該系統結構示意圖如圖所示,其中Web服務器端程序采用FlaskWeb框架開發。
(1)下列硬件設備中,屬于執行器的有________(單選,填字母:A.攝像頭/B.指紋采集儀/C.射頻識別設備/D.進出口閘機)。
(2)下列關于該系統應用軟件的網絡架構,說法正確的是________(單選,填字母:A.客戶端無需安裝專用軟件,升級維護方便/B.對服務器要求較低/C.能夠降低系統通信開銷)。
(3)下列功能需要在服務器端程序中實現的是________(多選,填字母:A.原始指紋數據的采集/B.在數據庫中查找指紋特征數據/C.閘機的開關/D.根據瀏覽器的請求返回數據)。
(4)小峰基于FlaskWeb框架編寫服務器端程序,部分代碼如下。編寫完后,若要通過瀏覽器獲取視圖函數entry()返回的頁面,則訪問的URL是http:∥__________。
#導入Flask框架模塊及其他相關模塊,代碼略
app = Flask(_ _name_ _)
@app.route('/')
def index():  
#在模板文件上顯示從數據庫讀取的入寢、離寢學生數據,代碼略
@app.route('/dorm', methods=['GET', 'POST'])
def entry():
#從數據庫讀取對應班級學生的在寢、離寢數據,并返回頁面,代碼略
#服務器其他功能,代碼略
if _ _name_ _=='_ _main_ _':
  app.run(host='10.16.1.18',port=8080)
(5)小峰對系統進行動態測試,使用校園卡刷卡,閘機能正常打開,在瀏覽器中查看系統首頁,頁面中標題、表格等內容能正常顯示,但卻未顯示刷卡數據,刷新后仍不變(Web服務器數據庫的數據讀寫功能正常)。從程序角度說明造成上述問題的原因有___________________________________________________________、
______________________________________________________________________ (注:回答2項,1項正確得1分)
答案 (1)D (2)A (3)BD (4)10.16.1.18:8080/dorm (5)①index模塊中從數據庫中讀取數據代碼有誤;②index模塊中將參數傳遞給模板文件的代碼有誤;③主頁模板文件中,顯示服務器傳遞的數據代碼有誤。
解析 本題考查信息系統的搭建。(1)ABC均為輸入設備。(2)B/S模式只需用瀏覽器連接服務器,對服務器的要求比較高,通信開銷比較大。(3)A選項指紋數據由指紋采集器采集,智能終端傳輸到服務器;B選項服務器端連接數據并查詢數據庫中指紋特征數據;C選項閘機作為執行器進行工作;D選項瀏覽器向服務器發起請求,服務器接收請求之后并進行反饋。(4)由下方代碼app.run(host='10.16.1.18',port=8080)可知服務器IP和端口號,視圖函數entry()對應的路由是“/dorm”。
(5)根據題干描述,刷卡之后閘機能正常打開,說明執行器、傳感器、智能終端、IoT模塊、Wi-Fi這些設備和連接都沒有問題,并且智能終端通過IoT與Web服務器的數據傳輸也沒有問題;在根據題干描述的瀏覽器查看系統首頁,首頁中標題表格等內容都能正常顯示,用戶端通過互聯網與Web服務器的連接也沒有問題;并且說明了數據庫讀寫功能正常,也排除了數據庫本身的問題,因此問題只能集中在與數據庫相關的程序代碼上。
重難點1 信息系統搭建前期準備和應用程序開發
1.小明搭建某教室亮度檢測系統的前期準備中,下列說法正確的是(  )
A.明確系統“先干什么,后干什么”屬于前期準備中的概要設計
B.可行性分析主要從技術、經濟、社會意義等方面分析系統的可行性
C.選擇輸出設備和介質、確定輸出格式這一過程屬于需求分析
D.在設計信息系統開發方案時,可以隨意選擇開發模式
答案 B
解析 A和C選項屬于詳細設計。
2.小明搭建某教室亮度檢測系統,實現同時采集多個教室亮度數據的目標期待,這一過程屬于(  )
A.需求分析 B.開發模式的選擇
C.概要設計 D.詳細設計
答案 A
解析 目標期待屬于需求分析。
3.以下有關該信息系統的設計的說法,不正確的是(  )
A.系統設計時,主要從技術、經濟和社會意義等方面分析系統的可行性
B.系統概要設計時,需要對系統的用戶界面、可擴展性需求等方面進行設計考慮
C.系統詳細設計時,為確保系統的運行安全和數據保密,需要有安全設計方案
D.在設計車位下面的感應器時,需要考慮其耐用性,說明信息系統對外部環境有依賴性
答案 B
解析 B選項用戶界面、可擴展性需求屬于需求分析。
4.小晨搭建了土壤濕度監測系統,服務器端程序基于Python的Flask Web框架編寫,采用模板功能,以index.html為主頁模板。部分網站框架示意如圖a所示,網站功能頁面規劃如圖b所示。
圖a
序號 訪問地址 功能說明 備注
1 / 主頁,顯示當前傳感器數據,實時更新 訪問地址
2 /gt?id=1 以JSON數據格式返回id為1的濕度傳感器的所有數據 id為參數
3 /up?id=1&val=57 提交id為1的濕度傳感器的數據值為57 id和val為參數
4 /vt?id=1 顯示id為1的濕度傳感器的數據折線圖
… … … …
圖b
下列關于該系統網站框架及功能的說法,正確的是(  )
A.該系統只有3個路由及視圖函數,對應3個不同的子頁面
B.訪問該網站主頁的URL是http:∥10.18.245.250
C.不同的子頁面可以使用不同的網頁模板來實現
D.改變訪問地址中參數id的值,顯示傳感器數據的圖表不會發生變化
答案 C
解析 本題考查Flask網頁開發相關基礎概念。由圖b可知,表格中至少有4對路由視圖函數,至少對應4個不同的頁面。由題圖a中服務器主頁可知,該網站主頁的URL應該為:http:∥10.18.245.250:8080。不同的子頁面根據需要顯示的內容和采集的數據可以使用不同模板實現。D選項改變訪問地址中的id值,所對應的傳感器編號發生變化,顯示對應id的圖表也會發生變化。
重難點2 信息系統的搭建
1.某“有機蔬菜種植基地實時監測系統”的結構如圖所示。Web服務器端程序采用Flask Web框架開發,利用與智能終端連接的傳感器采集大棚內的溫度、光照強度數據,每隔一段時間由智能終端經IoT模塊發送到Web服務器。如果環境監測溫度值超過系統設置的閾值,觸發通風、噴水或加熱設備調節至適宜溫度,同時根據環境光照強度自動打開或關閉補光燈。請回答下列問題:
(1)根據該系統的功能要求,圖中的①②處的設備分別為________、________(選填字母,A.執行器/B.路由器/C.傳感器)。
(2)該系統服務端程序采用Flask Web框架編寫,服務器的IP地址是192.168.1.10,端口號為8080,網站功能頁面規劃如表所示:
序號 訪問地址 功能說明
1 / 實時顯示最新數據
2 /input?tem=20&light=40 提交傳感器數據
3 /search 查看顯示某一天的歷史數據
若要查看某一天的數據記錄,在瀏覽器應輸入的URL為_____________________。
(3)該系統每隔一定時間采集大棚內的溫度數據,如果超過適宜溫度的范圍會進行降溫或升溫的調節(適宜溫度為tmin~tmax),計算一段時間內超過適宜溫度的次數,列表變量s存儲采集到的溫度數據,下列程序正確的是________:
A.c=0
for i in s:
   if s[i]< tmin or s[i] >tmax:
    c +=1
print(″超過適宜溫度的次數″,c)
B.c=0
for i in range(len(s)):
   if tmin<=s[i]<=tmax:
    continue
   c +=1
print(″超過適宜溫度的次數″,c)
C.c=0;i=1
while i<=len(s):
   if not(tmin<=s[i]<=tmax):
    c +=1
   i +=1
print(″超過適宜溫度的次數″,c)
D.c=[0]*len(s)
for i in range(len(s)):
   if not(s[i]>=tmin and s[i]<=tmax):
    c[i]=1
print(″超過適宜溫度的次數″,sun(c))
(4)在系統調試過程中,發現系統一直提示光線不足,簡要說明系統中可能造成上述問題的原因_________________________________________________________
(本系統中,通信網絡、傳感器與智能終端的功能均不存在問題。注:回答2項,1項正確得1分)。
答案 (1)CA (2)http:∥192.168.1.10:8080/search
(3)BD (4)執行器(補光燈)損壞;閾值設置不合理等
解析 本題考查信息系統的搭建。(1)圖中①為輸入設備,對應的是傳感器。②處為輸出設備,對應為執行器。(2)IP地址是192.168.1.10,端口號為8080,查看某一天(歷史記錄)的路由為search,可以得到相應的URL。(3)A選項i是列表中元素值,B選項正常數據continue跳過本次循環,不執行計數語句,統計非正常數據。C選項i的終值應為len(s)-1。D選項用列表c記錄是否正常,若是非正常數據,c[i]值為1,并對c列數進行求和。(4)系統一直提示光線不足,說明網絡訪問正常,數據上傳沒有問題。可能是執行器或閾值設置出現問題。
2.小強同學為學校閱覽室搭建了室內聲音監測系統,該系統可以根據聲音情況發出警示,系統結構示意圖如圖所示。傳感器采集數據經智能終端上傳到服務器,Web服務器處理后的結果經IoT模塊傳送給智能終端,由智能終端啟動執行器實現警示燈的控制。若聲音分貝連續10秒高于限定值則警示燈閃爍。用戶可以通過瀏覽器訪問Web服務器,查看相關數據。請回答下列問題:
(1)在搭建室內聲音監測系統過程中,下列屬于前期準備的是________(多選,填字母)。
A.確定采購傳感器的具體型號
B.根據用戶需求對系統進行測試
C.分析在技術上是否可行
D.編寫服務器端程序
(2)完善該系統結構圖,若圖中A、B、C處的設備由以下三部分組成:
①執行器;②傳感器;③智能終端,則A、B、C三處的設備依次為________(填數字編號)。
(3)運行該信息系統,改變環境中聲音的分貝值,測試該系統能否根據聲音的變化控制警示燈閃爍,該項測試屬于軟件系統測試中的________(單選,填字母:A.動態測試/B.靜態測試)方法。
(4)智能終端將模擬分貝計進行連接以獲取聲音數據,部分Python程序代碼如下。
請回答下列問題:
#設置服務器參數、Wi-Fi賬號和密碼,并連接WiFi,代碼略
while Tr(共129張PPT)
第一部分 信息與信息系統
專題5 信息系統搭建
1.掌握系統搭建前準備的工作及流程;
2.掌握Flask路由和視圖函數的編寫;
3.掌握Flask請求和路由的關系;
4.掌握基本數據庫語句的功能和作用.
目 錄
CONTENTS
體系構建
01
真題再現
02
考點精練
03
當堂檢測
04
課后練習
05
體系構建
1
信息系統的開發包含信息系統搭建前期準備、信息系統搭建和信息系統完善三部分。前期準備指開發前要進行的需求分析和設計工作,沿著信息系統能實現什么功能、怎么做和先干什么后干什么的思路,將前期準備分為需求分析、可行性分析、開發模式選擇、概要設計和詳細設計五部分。信息系統搭建包含硬件搭建和軟件開發兩部分,軟件開發主要解決服務器端的代碼設計。信息系統完善包含系統測試和文檔編寫兩部分工作。
真題再現
2
(2024年1月浙江省選考)小華要搭建苗圃大棚環境監控系統。該系統中的智能終端從服務器獲取濕度閾值。根據該閾值和傳感器采集的空氣濕度值控制加濕器,并將濕度值等數據傳輸至Web服務器,存儲到數據庫中。網絡應用軟件的實現架構是B/S架構,用戶可通過瀏覽器查詢實時和歷史數據。硬件按如下方式連接:濕度傳感器和加濕器接入智能終端,智能終端通過IoT模塊連接到服務器。請回答下列問題:
(1)要完成該系統的搭建,下列需要編寫的程序是________(單選,填字母:A.客戶端程序/B.服務器端程序)。
(2)下列關于該系統中數據管理的說法,正確的是________(單選,填字母)。
A.數據無法從服務器端傳輸至智能終端
B.該系統的數據和程序都應存儲在數據庫中
C.通過瀏覽器查看濕度歷史數據需要訪問數據庫
(3)下列關于該系統支撐技術的說法,正確的有________(多選,填字母)。(注:全部選對的得2分,選對但不全的得1分,不選或有選錯的得0分)
A.智能終端有程序存儲和數據處理能力
B.智能終端可以通過IoT模塊以無線方式連接服務器
C.該系統如果再增加一個加濕器,必須增加一個濕度傳感器
D.支撐該系統運行的所有軟件都需要在搭建過程中開發
(4)智能終端上的程序具有如下功能:每隔1分鐘從傳感器獲取1次濕度值:加濕器處于關閉狀態時,若連續兩次濕度值均低于閾值h,則打開加濕器;加濕過程中,若連續兩次濕度值均高h,則關閉加濕器;每隔1分鐘將濕度值和加濕器狀態數據傳輸到服務器。部分Python程序如下,請在程序中劃線處填入合適的代碼。
#導入相關庫,并從服務器獲取閾值,保存在h中,代碼略
lasth=h
s=0
while True:
#從傳感器獲取濕度值,保存在newh中,代碼略
  if s==0:
    if newh     s=1
     #打開加濕器,代碼略
  else:
    if newh>h and lasth>h:
    ①__________
    #關閉加濕器,代碼略
  ②__________
  #將newh,s等數據傳輸到服務器。代碼略
  sleep(1000*60) #延時1分鐘
(5)系統搭建完成后,運行一段時間,加濕器始終沒有加濕。假設僅濕度傳感器、加濕器兩個設備存在故障,在不更換設備的前提下,請選擇其中一種設備,描述判定該設備是否存在故障的方法。
答案 (1)B (2)C (3)AB (4)①s=0或s=s-1或s=1-s ②lasth=newh 
(5)從傳感器的角度:改變環境濕度,從瀏覽器觀察濕度值是否有實時的更新變化,若沒有,說明傳感器故障。從執行器角度:通過智能終端直接發送加濕指令,若加濕器未工作,說明加濕器故障。或其他等價答案
解析 (1)本題采用B/S架構,只需要編寫服務器端程序。(2)A選項數據可以從服務器端傳輸至智能終端;B選項程序不需要存在數據庫中;C選項濕度歷史數據需要長期保存,便于用戶訪問,應存入數據庫。(3)A選項智能終端可以通過燒錄的方式存儲程序,也具有數據處理能力;B選項智能終端可以通過無線方式、串口、藍牙等方式連接服務器;C選項增加加濕器與增加傳感器沒有必然聯系,可以利用現有傳感器控制加濕器;D選項搭建完成后還可以開發和調試軟件。(4)①從傳感器獲取當前濕度值newh,前一次的濕度值為lasth。當s的值為1,且兩次濕度值小于閾值,則將s的值修改為0。②將當前濕度值newh作為前一次的濕度值lasth。(5)略。
考點精練
3
重難點1 信息系統搭建前期準備和應用程序開發
搭建信息系統前需了解信息能解決什么問題,實現哪些功能,就是需要分析,在分析硬件、軟件和功能的基礎上,進一步分析技術和經濟上是否可行,搭建信息系統的社會意義有哪些。Flask框架解決應用程序對用戶請求的響應和處理。路由是Flask應用程序中的URL映射。它指定了URL與視圖函數之間的關系。視圖函數是Flask應用程序中處理請求的函數。它們使用裝飾器將路由綁定到函數上。模板是Flask應用程序中用于渲染HTML頁面的文件。它們使用Jinja2模板引擎進行渲染。URL的格式為協議:∥IP地址:端口號/路由?參數1 &參數2
例題 小明使用Flask模塊制作了某信息系統的用戶登錄驗證子系統,其各個路由、視圖說明以及實現程序如表所示,請回答相關問題。
路由地址 視圖說明
/ 系統首頁
/user/〈name〉 顯示歡迎信息以及用戶〈name〉對應的信息
/system?name=xiaoming&password=secretinf 傳遞登錄信息完成驗證后顯示系統管理頁面
from flask import Flask, render_template, redirect
app=Flask(_ _name_ _)
@app.route(″/″)
def index():
  return render_template(″index.html″)
①____________
def login():
#查詢代碼略
  if len(cur.fetchall()) >0: #找到用戶的相關信息
  return render_template(″manage.html″, username=usr)
  else:
  return redirect('/')
if _ _name_ _==″_ _main_ _″:
  app.run(②________)
(1)在前期準備中,下列說法正確的是________(多選)
A.明確系統“先干什么,后干什么”屬于搭建信息系統前期準備中的概要設計
B.可行性分析主要對信息系統的必要性和可行性進行分析
C.確定采用什么終端設備,具體傳感器型號等屬于詳細設計
D.明確用戶對所搭建信息系統的目標期待這一過程屬于需求分析
E.考查在現有技術條件下是否可能實現系統搭建這一過程屬于概要設計
F.數據庫管理系統選擇是詳細設計過程的主要任務之一
(2)程序第①中空是傳遞登錄信息,進行登錄驗證并顯示系統管理頁面的路由與視圖函數,那么該處填寫的語句是________(單選,選填字母)。
[email protected](″/system″,methods=[″GET″])
[email protected](″/login″,methods=[″GET″])
[email protected](″/user″,methods=[″POST″])
[email protected](″/login″,methods=[″POST″,″GET″])
(3)若該Web服務器的地址是192.168.0.1,運行端口是8080,程序試運行時需打開調試功能,那么第②空應該填寫的語句是________(單選,選填字母)。
A.host=″192.168.0.1″,port=8080,debug=True
B.host=″http:∥192.168.0.1″,port=8080,debug=True
C.host=″http:∥192.168.0.1:8080″,debug=True
D.host=″192.168.0.1:8080″,port=8080
思維點撥
明考向 本題考查信息系統搭建前準備和使用Flask搭建Web應用程序的相關知識
精點撥 (1)A選項先干什么,后干什么是對系統的詳細設計過程。B選項判斷所提出的系統是否有必要搭建(必要性),有無實施的可能性(可行性)稱為可行性分析。C選項是對資源和環境的需求分析。D選項目標期待屬于需要分析。E選項有必要搭建必要性屬于可行性分析。F選項選擇哪種數據庫屬于概要設計。(2)考查路由地址和視圖函數知識。由題中的路由表可知,路由地址是/system,注意路由地址與視圖函數名稱無關(可以不相同,但要寫一起),而視圖函數中獲取數據的方式由request.args中獲取,因此視圖函數的methods參數值必須要有“GET”值方可。(3)考查Web應用程序啟動的參數設定知識。應用程序對象的run()函數中的host參數指明了對外提供的服務器IP地址,注意,只需寫IP地址即可,不能加協議和端口,而port參數才是指明端口的參數,debug參數可以設置是否啟用調試模式
答案 (1)BD (2)A (3)A
變式 小王開發基于Python的FlaskWeb框架的室內光線強度監測信息系統,系統程序及相關的子系統都部署在Web服務器端,網站框架如圖所示。該系統的客戶端無需專門的應用程序,用戶工作界面通過瀏覽器來實現,應用程序基本上都集中于服務器端。
(1)確定“系統需要采用什么型號的傳感器?”,屬于搭建信息系統前期準備中的________。
A.可行性分析 B.需求分析 C.概要設計 D.詳細設計
(2)由上述材料可知,服務器端的IP地址為________,該系統的實現架構屬于________(選填:C/S架構、B/S架構)。
(3)實現上述系統的服務器端Python程序如下:
#注意:劃橫線①③處有選項可選擇,②處為填空題
from flask import Flask,render_template,request #導入Flask庫函數
app=Flask(_ _name_ _)
@app.route(①________,methods=[″GET″]) #數據采集子頁面路由命令
def get():
  id=int(request.args.get(″id″)) #獲取URL中“id=1”后的數據“1”
  d=float(②________) #變量d存儲采集到的光線數據
  #打開數據庫,并將接收的數據存儲到數據庫中,代碼略
  return ″get data ok″
#其他系統子頁面路由,代碼略
if _ _name_ _=='_ _main_ _':
  app.run(③________) #啟動Web服務器
答案 (1)B (2)192.168.1.100 B/S架構
(3)①″/s″ ②request.args.get(″d″)
③host=″192.168.1.100″,port=5000
解析 本題考查網絡應用程序的開發。(1)需求分析環節主要完成:目標期待、功能需求、性能需求、資源和環境需求、用戶界面需求、可擴展性需求。其中,資源和環境需求主要分析在硬件方面,采用什么終端設備,具體的傳感器型號,需要什么外部設備和數據通信接口。(2)從圖中可知IP地址,系統程序及相關的子系統都部署在Web服務器端,因此屬于B/S架構。(3)①數據采集子頁面路由,從圖中可知路由為“s”。②變量d存儲采集到的光線數據,再參照上一條語句,可以得到答案。③根據圖中系統主頁地址可以得到答案。
重難點2 信息系統的搭建
信息系統的搭建包含硬件搭建和軟件開發兩個過程。一個信息系統,其硬件組成主要包括服務器、網絡設備、傳感設備、智能終端等。軟件開發一般包括數據管理設計、服務器端程序、客戶端程序幾個部分。信息系統中數據的流轉往往分為智能終端通過傳感器采集數據和通過執行器發送數據。IoT模塊傳送傳感器收集到的數據到Web服務器并保存到數據庫中。IoT模塊需要設置無線網絡的名稱SSID和共享密鑰PASSWORD連通無線網絡。客戶端(含手機)通過瀏覽器訪問Web服務器。Web服務器將處理的結果經IoT模塊傳送給智能終端,由智能終端啟動執行器實現對環境中的事物的控制。
例1 小明為家庭小菜園搭建了環境溫濕度監測系統,該系統結構示意圖如圖所示。Web服務器端程序采用FlaskWeb框架開發。傳感器采集的數據由智能終端經IoT模塊發送到Web服務器,執行器用于實現溫濕度的控制。請回答下列問題:
(1)下列選項標注了圖中虛線框內的智能終端與傳感器執行器之間的數據傳輸關系,其中合理的是________(單選,填字母)。
(2)該系統網絡應用軟件的實現架構是________(單選,填字母:A.B/S架構/B.C/S架構)。
(3)若傳感器的編號id為1,濕度值h為60提交數據到Web服務器的URL為http:∥192.168.1.6:5000/toserv?h=60&id=1,則服務器端應用實例app中與該URL關聯的路由設置語句是@app.route('________')。
(4)菜園里的蔬菜適宜生長的空氣溫度范圍是tmin~tmax。現要求當溫度t正常、偏低、偏高時,將sta的值對應設為0、1、2。下列Python程序段中符合要求的有________(多選,填字母)。(注:全部選對的得2分,選對但不全的得1分,不選或有選錯的得0分)
(5)小明設定采集并上傳數據的時間間隔為1分鐘。他用瀏覽器查看溫濕度頁面,頁面動態顯示最新的溫度、濕度及其采集時間。系統正常工作一段時間后,他發現該頁面不再變化,刷新后仍不變。結合圖,簡要說明系統中可能造成上述問題的原因_______________________________________________________________。
(本系統中,傳感器損壞傳感器和智能終端連接異常,不會造成上述問題)。(注:回答2項,1項正確得1分)
思維點撥
明考向 本題考查信息系統搭建相關知識
精點撥 (1)智能終端通過傳感器獲取數據,控制器經過處理后,再通過執行器對外部進行控制,故A項正確。(2)瀏覽器與服務器交換數據,故需采用B/S架構。
(3)由“http:∥192.168.1.6:5000/toserv?h=60&id=1”可知,路由為“/toserv”。(4)當t在[tmin,tmax]之間時返回0,小于min返回1,大于tmax返回2,A項由兩個分支構成,一個分支結束后,還需執行第二個分支,程序段返值只能是2或者是0,1無法取到;C項的返回值只能是1或者2,0無法取到;故只有B項與D項正確。(5)可能造成上述問題的原因:一是服務器服務中斷(服務器斷電或服務器系統故障),二是互聯網網絡服務出現故障瀏覽器無法更新獲取新的采集數據
答案 (1)A (2)A (3)/toserv (4)BD (5)①連接物聯網模塊與Web服務器的無線路由器無法正常工作;②物聯網模塊損壞;③數據表對記錄數有數量限制,當記錄數達到一定程度時,數據表不再更新。④Web服務器中數據庫管理系統無法正常運行。
變式1 小周為庭院魚池搭建水位預警自動排水系統。該系統中的智能終端從服務器獲取水位閾值,根據該閾值和傳感器采集的水位值控制排水閥和蜂鳴器,并將水位值等數據傳輸至Web服務器,存儲到數據庫中。用戶可通過瀏覽器查詢數據和修改閾值,系統結構示意圖如圖所示。請回答下列問題:
(1)下列關于該系統數據管理的說法, 的是________(單選,填字母)。
A.水位傳感器采集的數據還可以通過有線的方式傳輸到Web服務器
B.智能終端只負責數據的采集
C.數據庫中的部分數據可以來自用戶
(2)智能終端的程序具有如下功能:每隔1分鐘從傳感器獲取1次水位值,根據不同情況,控制執行器作出相應的響應。
排水閥和水位情況 執行器狀態
水位值不超過閾值 排水閥關閉
排水閥為關閉狀態且水位值超過閾值 排水閥半開
排水閥為半開狀態且水位值連續3分鐘超過閾值 排水閥全開
排水閥為全開狀態且水位值連續5分鐘超過閾值 蜂鳴器報警
部分Python程序如下,請在程序中劃線處填入合適的代碼。
#導入相關庫,代碼略
num=0;s=0 #s表示排水閥狀態,值0,1,2分別表示關閉,半開,全開3種狀態
while True:
  #從傳感器獲取水位值保存在tmp中,并從服務器獲取閾值h,代碼略
  if tmp>h:
  num+=1
  if s==0:
    #半開排水閥,代碼略
   s=1
  elif①________:
    #全開排水閥,代碼略
    s=2
 elif s==2 and num==5:
    #觸發系統報警,代碼略
else:
  #關閉排水閥,代碼略
 s=0
  ②________
 #將水位值tmp、排水閥狀態s等數據傳輸到服務器,代碼略
 sleep(60*1000) #延時1分鐘
(3)Web服務器端程序的部分代碼如下:
 #導入相關庫,代碼略
 app=Flask(_ _name_ _)
 @app.route(″/input″)
 def add_da():
  #將傳感器最近一次的水位數據保存到數據庫,代碼略
 if _ _name_ _==″_ _main_ _″:
  app.run(″192.168.1.100″,port=8080,debug=True)
下列說法正確的有________(多選,填字母)。
(注:全部選對的得2分,選對但不全的得1分,不選或有選錯的得0分)
A.服務器端代碼中不能出現兩個相同的路由
B.視圖函數add_da()必須有返回值
C.該系統服務器的IP地址是192.168.1.100
D.設置“debug=True”增強了系統的安全性
(4)系統運行一段時間后,發現水池有水溢出,排水閥卻處于關閉狀態,簡要說明系統中可能造成上述問題的原因______________________________________
_____________________________________________________________________。
(本系統中,服務器、通信網絡、傳感器與智能終端的功能均不存在問題。注:回答2項,1項正確得1分,2項正確得2分)
答案 (1)B (2)①s==1 and num==3 ②num=0 (3)AC (4)閾值設置過高或者閾值設置不合理;排水閥故障;排水閥與智能終端連接出錯或其他合理答案
解析 本題考查信息系統的搭建。(1)A選項網絡可能是有線方式,還可以是無線方式。B選項智能終端解決計算機沒有傳感器接口,同時還可以連接執行器。C選項當用戶查詢信息時,數據可以保存到數據庫中。(2)①全開排水閥的條件為排水閥為半開狀態且水位值連續3分鐘超過閾值。②關閉排水閥后,水位值連續超過閾值時間num將清零。(3)A選項兩個相同的路由,則不能明確哪個路由來響應請求。B選項若沒有return,則可以沒有返回值。D選項設置debug屬性是為了便于調試,系統開發完成后,設置屬性值為True,不利于系統的安全性。(4)從閾值和執行器故障兩個角度去思考問題。
例2 小明為學校實驗室搭建火災監測遠程報警系統。由于發生火災時,光線強度會發生變化,該系統使用光線傳感器實時監測實驗室中的光線,數據由智能終端經IoT模塊發送至Web服務器。若環境光線監測值不在正常范圍,智能終端通過服務器的返回結果控制蜂鳴器發出警報。用戶通過瀏覽器可查看實時數據,系統結構示意圖如圖a所示。
圖a
(1)下列關于該系統的說法,正確的有________(多選,填字母)。(注:全部選對的得2分,選對但不全的得1分,不選或有選錯的得0分)
A.該系統的數據庫存儲在智能終端中
B.該系統網絡應用軟件是通過B/S架構實現的
C.從技術角度分析系統的可行性屬于搭建信息系統的前期準備
D.Web服務器中安裝的所有軟件均是系統軟件
(2)該系統Web服務器端程序采用Flask Web框架開發,服務器IP地址為6.196.51.11,端口號為80。網站功能頁面規劃如表所示:
序號 訪問地址 功能說明
1 / 主頁,實時顯示光線檢測值數據
2 /input?val=520 獲取傳感器數據,并返回當前數據的處理情況。低于閾值返回1,否則返回0
3 /data 查看歷史數據
在系統測試階段,小明在瀏覽器地址欄中輸入網址查看歷史數據,出現如圖b所示的錯誤,為排查該問題,下列操作可行的是________(單選,填字母)。
圖b
A.嘗試更換瀏覽器并再次訪問該網址
B.檢查該系統服務器端代碼連接數據庫是否正常
C.查看服務器端路由命令是否設置有:@app.route('/data')
(3)小明按表設計編寫的服務器端程序,部分代碼如下,請在劃線處填入合適的代碼。
#導入Flask框架模塊及其他相關模塊,代碼略
app=Flask(_ _name_ _)
@app.route('/input')
def add_data():
  sen = float(request.args.get('val'))
  #將光線等數據存入數據庫中,代碼略
  #從數據庫中查詢閾值,保存在變量limit中,代碼略
  if__________________ :
   return ' 1'
  else:
   return '0'
(4)系統測試階段,發現用強光手電筒照射傳感器也會觸發火災警報,請通過增加傳感器對該系統鑒別是否發生火災的方式進行一項擴展,寫出增加的傳感器名稱及實現的功能____________________________________________________。
思維點撥
明考向 本題考查信息系統的搭建
精點撥 (1)A選項數據存儲在數據庫中。D選項為了某一目的開發的是應用軟件。
(2)訪問的頁面沒有找到,可能是路由設置的問題。(3)表1中要求獲取的光線數據sen低于閾值limit返回1。(4)從增加的傳感器及功能的角度分析問題
答案 (1)BC (2)C (3)sen變式2 小峰做了一個“搭建學生寢室管理系統”的實驗,該系統可通過人臉識別、指紋識別、校園卡等方式模擬進出寢室管理,并將進出數據發送給服務器。通過瀏覽器可以查看學生在寢、離寢情況。小峰選擇的硬件有:智能終端、IoT模塊、攝像頭、指紋采集儀、射頻識別設備、進出口閘機、服務器等。該系統結構示意圖如圖所示,其中Web服務器端程序采用FlaskWeb框架開發。
(1)下列硬件設備中,屬于執行器的有________(單選,填字母:A.攝像頭/B.指紋采集儀/C.射頻識別設備/D.進出口閘機)。
(2)下列關于該系統應用軟件的網絡架構,說法正確的是________(單選,填字母:A.客戶端無需安裝專用軟件,升級維護方便/B.對服務器要求較低/C.能夠降低系統通信開銷)。
(3)下列功能需要在服務器端程序中實現的是________(多選,填字母:A.原始指紋數據的采集/B.在數據庫中查找指紋特征數據/C.閘機的開關/D.根據瀏覽器的請求返回數據)。
(4)小峰基于FlaskWeb框架編寫服務器端程序,部分代碼如下。編寫完后,若要通過瀏覽器獲取視圖函數entry()返回的頁面,則訪問的URL是http:∥__________。
#導入Flask框架模塊及其他相關模塊,代碼略
app = Flask(_ _name_ _)
@app.route('/')
def index():  
#在模板文件上顯示從數據庫讀取的入寢、離寢學生數據,代碼略
@app.route('/dorm', methods=['GET', 'POST'])
def entry():
#從數據庫讀取對應班級學生的在寢、離寢數據,并返回頁面,代碼略
#服務器其他功能,代碼略
if _ _name_ _=='_ _main_ _':
  app.run(host='10.16.1.18',port=8080)
(5)小峰對系統進行動態測試,使用校園卡刷卡,閘機能正常打開,在瀏覽器中查看系統首頁,頁面中標題、表格等內容能正常顯示,但卻未顯示刷卡數據,刷新后仍不變(Web服務器數據庫的數據讀寫功能正常)。從程序角度說明造成上述問題的原因有__________________________________________________、
____________________________________________________________________ (注:回答2項,1項正確得1分)
答案 (1)D (2)A (3)BD (4)10.16.1.18:8080/dorm (5)①index模塊中從數據庫中讀取數據代碼有誤;②index模塊中將參數傳遞給模板文件的代碼有誤;
③主頁模板文件中,顯示服務器傳遞的數據代碼有誤。
解析 本題考查信息系統的搭建。(1)ABC均為輸入設備。(2)B/S模式只需用瀏覽器連接服務器,對服務器的要求比較高,通信開銷比較大。(3)A選項指紋數據由指紋采集器采集,智能終端傳輸到服務器;B選項服務器端連接數據并查詢數據庫中指紋特征數據;C選項閘機作為執行器進行工作;D選項瀏覽器向服務器發起請求,服務器接收請求之后并進行反饋。(4)由下方代碼app.run(host='10.16.1.18',port=8080)可知服務器IP和端口號,視圖函數entry()對應的路由是“/dorm”。(5)根據題干描述,刷卡之后閘機能正常打開,說明執行器、傳感器、智能終端、IoT模塊、Wi-Fi這些設備和連接都沒有問題,并且智能終端通過IoT與Web服務器的數據傳輸也沒有問題;在根據題干描述的瀏覽器查看系統首頁,首頁中標題表格等內容都能正常顯示,用戶端通過互聯網與Web服務器的連接也沒有問題;并且說明了數據庫讀寫功能正常,也排除了數據庫本身的問題,因此問題只能集中在與數據庫相關的程序代碼上。
當堂檢測
4
重難點1 信息系統搭建前期準備和應用程序開發
重難點2 信息系統的搭建
1.小明搭建某教室亮度檢測系統的前期準備中,下列說法正確的是(  )
A.明確系統“先干什么,后干什么”屬于前期準備中的概要設計
B.可行性分析主要從技術、經濟、社會意義等方面分析系統的可行性
C.選擇輸出設備和介質、確定輸出格式這一過程屬于需求分析
D.在設計信息系統開發方案時,可以隨意選擇開發模式
B
解析 A和C選項屬于詳細設計。
A
解析 目標期待屬于需求分析。
2.小明搭建某教室亮度檢測系統,實現同時采集多個教室亮度數據的目標期待,這一過程屬于(  )
A.需求分析 B.開發模式的選擇
C.概要設計 D.詳細設計
B
解析 B選項用戶界面、可擴展性需求屬于需求分析。
3.以下有關該信息系統的設計的說法,
A.系統設計時,主要從技術、經濟和社會意義等方面分析系統的可行性
B.系統概要設計時,需要對系統的用戶界面、可擴展性需求等方面進行設計考慮
C.系統詳細設計時,為確保系統的運行安全和數據保密,需要有安全設計方案
D.在設計車位下面的感應器時,需要考慮其耐用性,說明信息系統對外部環境有依賴性
4.小晨搭建了土壤濕度監測系統,服務器端程序基于Python的Flask Web框架編寫,采用模板功能,以index.html為主頁模板。部分網站框架示意如圖a所示,網站功能頁面規劃如圖b所示。
圖a
序號 訪問地址 功能說明 備注
1 / 主頁,顯示當前傳感器數據,實時更新 訪問地址
2 /gt?id=1 以JSON數據格式返回id為1的濕度傳感器的所有數據 id為參數
3 /up?id=1&val=57 提交id為1的濕度傳感器的數據值為57 id和val為參數
4 /vt?id=1 顯示id為1的濕度傳感器的數據折線圖
… … … …
圖b
下列關于該系統網站框架及功能的說法,正確的是(  )
A.該系統只有3個路由及視圖函數,對應3個不同的子頁面
B.訪問該網站主頁的URL是http:∥10.18.245.250
C.不同的子頁面可以使用不同的網頁模板來實現
D.改變訪問地址中參數id的值,顯示傳感器數據的圖表不會發生變化
C
解析 本題考查Flask網頁開發相關基礎概念。由圖b可知,表格中至少有4對路由視圖函數,至少對應4個不同的頁面。由題圖a中服務器主頁可知,該網站主頁的URL應該為:http:∥10.18.245.250:8080。不同的子頁面根據需要顯示的內容和采集的數據可以使用不同模板實現。D選項改變訪問地址中的id值,所對應的傳感器編號發生變化,顯示對應id的圖表也會發生變化。
1.某“有機蔬菜種植基地實時監測系統”的結構如圖所示。Web服務器端程序采用Flask Web框架開發,利用與智能終端連接的傳感器采集大棚內的溫度、光照強度數據,每隔一段時間由智能終端經IoT模塊發送到Web服務器。如果環境監測溫度值超過系統設置的閾值,觸發通風、噴水或加熱設備調節至適宜溫度,同時根據環境光照強度自動打開或關閉補光燈。請回答下列問題:
(1)根據該系統的功能要求,圖中的①②處的設備分別為________、________(選填字母,A.執行器/B.路由器/C.傳感器)。
(2)該系統服務端程序采用Flask Web框架編寫,服務器的IP地址是192.168.1.10,端口號為8080,網站功能頁面規劃如表所示:
序號 訪問地址 功能說明
1 / 實時顯示最新數據
2 /input?tem=20&light=40 提交傳感器數據
3 /search 查看顯示某一天的歷史數據
若要查看某一天的數據記錄,在瀏覽器應輸入的URL為_____________________。
(3)該系統每隔一定時間采集大棚內的溫度數據,如果超過適宜溫度的范圍會進行降溫或升溫的調節(適宜溫度為tmin~tmax),計算一段時間內超過適宜溫度的次數,列表變量s存儲采集到的溫度數據,下列程序正確的是________:
A.c=0
for i in s:
   if s[i]< tmin or s[i] >tmax:
    c +=1
print(″超過適宜溫度的次數″,c)
B.c=0
for i in range(len(s)):
   if tmin<=s[i]<=tmax:
    continue
   c +=1
print(″超過適宜溫度的次數″,c)
C.c=0;i=1
while i<=len(s):
   if not(tmin<=s[i]<=tmax):
    c +=1
   i +=1
print(″超過適宜溫度的次數″,c)
D.c=[0]*len(s)
for i in range(len(s)):
   if not(s[i]>=tmin and s[i]<=tmax):
    c[i]=1
print(″超過適宜溫度的次數″,sun(c))
(4)在系統調試過程中,發現系統一直提示光線不足,簡要說明系統中可能造成上述問題的原因_______________________________________________________
(本系統中,通信網絡、傳感器與智能終端的功能均不存在問題。注:回答2項,1項正確得1分)。
答案 (1)CA (2)http:∥192.168.1.10:8080/search
(3)BD (4)執行器(補光燈)損壞;閾值設置不合理等
解析 本題考查信息系統的搭建。(1)圖中①為輸入設備,對應的是傳感器。
②處為輸出設備,對應為執行器。(2)IP地址是192.168.1.10,端口號為8080,查看某一天(歷史記錄)的路由為search,可以得到相應的URL。(3)A選項i是列表中元素值,B選項正常數據continue跳過本次循環,不執行計數語句,統計非正常數據。C選項i的終值應為len(s)-1。D選項用列表c記錄是否正常,若是非正常數據,c[i]值為1,并對c列數進行求和。(4)系統一直提示光線不足,說明網絡訪問正常,數據上傳沒有問題。可能是執行器或閾值設置出現問題。
2.小強同學為學校閱覽室搭建了室內聲音監測系統,該系統可以根據聲音情況發出警示,系統結構示意圖如圖所示。傳感器采集數據經智能終端上傳到服務器,Web服務器處理后的結果經IoT模塊傳送給智能終端,由智能終端啟動執行器實現警示燈的控制。若聲音分貝連續10秒高于限定值則警示燈閃爍。用戶可以通過瀏覽器訪問Web服務器,查看相關數據。請回答下列問題:
(1)在搭建室內聲音監測系統過程中,下列屬于前期準備的是________(多選,填字母)。
A.確定采購傳感器的具體型號 B.根據用戶需求對系統進行測試
C.分析在技術上是否可行 D.編寫服務器端程序
(2)完善該系統結構圖,若圖中A、B、C處的設備由以下三部分組成:
①執行器;②傳感器;③智能終端,則A、B、C三處的設備依次為________(填數字編號)。
(3)運行該信息系統,改變環境中聲音的分貝值,測試該系統能否根據聲音的變化控制警示燈閃爍,該項測試屬于軟件系統測試中的________(單選,填字母:A.動態測試/B.靜態測試)方法。
(4)智能終端將模擬分貝計進行連接以獲取聲音數據,部分Python程序代碼如下。
請回答下列問題:
#設置服務器參數、Wi-Fi賬號和密碼,并連接WiFi,代碼略
while True:
  sound=pin1.read_analog()
  temp=(sound/1024*3.3)*56 #利用公式將數據轉換成分貝
  errno,resp = Obloq.get(″get?id=1&fb=″+str(temp),10000)
  #根據errno和resp的返回值控制執行器,每1秒采集一次數據,代碼略
#web服務器端程序使用Flask框架編寫
#將接收到的數據存入數據庫,代碼略
if_ _name_ _==″_ _main_ _″:
  app.run(host=″192.168.0.1″,port=8080)
智能終端訪問服務器使用的IP地址是________,連接聲音傳感器的引腳是________。
(5)小強用瀏覽器查看聲音強度頁面,頁面動態顯示聲音強度數據及其采集時間。系統正常工作一段時間后,他發現該頁面中聲音強度數據不再變化,刷新后仍不變。結合圖,簡要說明系統中可能造成上述問題的原因:________(多選,填字母)。
A.數據庫與Web服務器連接異常 B.傳感器損壞
C.Web服務器癱瘓 D.智能終端損壞
答案 (1)AC (2)②③① (3)A (4)192.168.0.1 pin1 (5)BD
解析 本題考查信息系統的搭建。(1)B選項是制作完成后的測試階段。C選項是可行性分析。(2)略。(3)靜態測試主要包括代碼檢查、靜態結構分析和代碼質量度量。動態測試主要包括黑盒測試、白盒測試。運行系統屬于動態測試。(4)略。(5)數據不再更新說明數據沒有采訪和上傳。AC選項連接異常或服務器癱瘓頁面將不能顯示數據。
3.小辰設計了一個“智能控燈系統”。該系統使用光線傳感器和紅外傳感器來監測室內的光線亮度和人體活動。網絡應用軟件采用B/S架構,用戶可通過瀏覽器查詢室內光線亮度和人體活動的實時和歷史數據。硬件按如下方式連接:光線傳感器、紅外傳感器和LED燈接入智能終端,智能終端通過IoT模塊連接到服務器。請回答下列問題:
(1)下列關于該信息系統中數據存儲的說法, 的是________(單選,填字母)
A.智能終端有程序存儲和數據處理的能力
B.智能終端不能存儲任何數據
C.智能終端傳遞給服務器的數據一般存儲在數據庫中
(2)智能控燈系統的智能終端和服務器的程序代碼如下:
#導入相關庫文件
app=Flask(_ _name_ _)
@app.route(″/″)
def index():
#從數據庫讀取數據并顯示,代碼略
@app.route(″________″)
def add_data():
#將提交的傳感器數據存儲到數據庫,代碼略
if_ _name_ _==″_ _main_ _″:
  app.run(host=″192.168.1.101″,port=5050)
若某次提交數據的URL為“http:∥192.168.1.101:5050/update?id=1&val=98”,則劃線處應填入________。
(3)該系統可以實現“人來燈亮、人走燈滅”的效果,當環境的亮度值低于閾值且檢測到人活動時系統控制燈光開啟,同時還要實現沒有人活動或亮度值大于等于閾值系統控制燈光關閉。部分Python代碼如下,請在劃線處填入合適的代碼:
#導入相關庫,并從服務器獲取閾值,保存在h中,代碼略
s=0 #變量s標記LED燈的開關狀態,1表示開啟,0表示關閉
while True:
#從光照傳感器獲取亮度值,保存在light中,代碼略
#從紅外傳感器獲取數據并分析后確定是否有人活動(有人活動為True,沒有人活動為False),保存在red中,代碼略
  if ______:
  s = 1
 else:
  s = 0
 #打開或關閉LED燈,將s、light和red傳輸到服務器,代碼略
 sleep(500) #延時500ms
(4)若系統運行一段時間后,光線傳感器出現故障,可能出現的現象是_________________________________________________________(填一個現象)。
答案 (1)B (2)/update (3)red==True and light解析 (1)智能終端可以存儲無線密碼和主機地址等數據。(2)從URL中可以得到路由為/update。(3)當環境的亮度值低于閾值且檢測到人活動時系統控制燈光開啟。(4)略。
4.某公司研發出一套智慧餐廳定位餐號牌系統:顧客就座后將餐號牌插入桌角的定位器內(如圖a所示),送餐員即可從客戶端查看“001”號顧客就座的桌臺信息是“A01”桌。
圖a 
圖b
(1)該系統使用RFID技術識別餐號牌對應編號,這一過程屬于信息的________(選填,編碼/解碼),桌角的定位器屬于信息系統的________(選填,輸入/輸出)設備。
(2)使用智能終端及Web服務器模擬實現上述系統,智能終端通過無線網絡將獲取到的餐號牌編號及桌臺信息上傳至服務器。系統結構示意圖如圖b所示,圖中①處應為________;②處應為________。(填字母,A.IoT模塊/B.路由器/C.調制解調器/D.Web服務器)
(3)以下是編寫的部分服務器端程序。若001號顧客就座于A01桌臺,正確提交數據到Web服務器的URL為http:∥192.168.125.20:8088/data?tab=A01&cus=001,請在劃線處填入合適的代碼。
@app.route(″①________″)
def add_data():
  t = request.args.get(″tab″) #t中存儲桌臺信息
  c = int(request.args.get(②__________)) #c中存儲餐號牌編號 #打印顧客就座信息,代碼略
  return ″success″
if _ _name_ _==″_ _main_ _″:
  app.run(host=″③________″,port=8088)
(4)根據上述程序,若智能終端數據上傳成功,則智能終端接收到的信息為________。
答案 (1)解碼 輸入 (2)①A ②D (3)①/data ②″cus″ ③192.168.125.20
(4)success或″success″
解析 本題考查信息系統的搭建。(1)將采集的餐號牌信息轉換為電腦可以識別的文本信息,屬于信息的解碼。桌角的定位器負責采集信息,(2)智能終端通過傳感器采集數據,IoT模塊傳送傳感器收集到的數據經IoT模塊傳送服務器,或者Web服務器處理的結果經IoT模塊傳送給智能終端。(3)從URL為http:∥192.168.125.20:8088/data來看,路由為/data。 (4)由語名return '″success″可以得到接收到的信息。
5.小明搭建智慧教室環境管理系統,智能終端通過傳感器獲取教室的光線、溫度等信息,并上傳至服務器;智能終端根據閾值自動控制教室的燈、空調等設備的開關;用戶可以通過手機瀏覽器或PC瀏覽器來訪問服務器上的數據,并遠程控制教室的燈、空調等設備的開關。該系統的架構如圖所示。
(1)該信息系統的架構是________(選填:B/S或C/S)模式,智能終端和服務器的通信采用________(選填:有線或無線)方式。
(2)智能終端上傳溫度數據的部分代碼如下。
while True:
  temp=round(pin2.read_analog()/1024*3000/10.24,1)
  errno,resp=Obloq.get(″input?id=1&val=″+str(temp),10000)  #智能終端向服務器發送溫度信息,若在10000毫秒內發送成功,返回發送成功errno的值為200和服務器的處理結果。
  if errno==200:  #發送成功
 if resp=='1': #返回值為1時,打開蜂鳴器
     pin8.write_digital(1)
 else:
     pin8.write_digital(0)
  else:
display.scroll(str(errno))
  sleep(1000*300)
則溫度傳感器連接智能終端的端口是________,溫度傳感器采集溫度的時間間隔為________(填整數)分鐘。
(3)若服務器地址192.168.1.100,端口為5000,溫度傳感器某時刻采集的溫度值為23.5,則終端上傳數據的URL為________(單選,填字母)。
A.http:∥192.168.1.100:5000/input?id=1&val=23.5
B.http:∥192.168.1.100:5000/id=1&val=23.5
C.http:∥192.168.1.100/input?id=1&val=23.5
D.http:∥192.168.1.100/id=1&val=23.5
(4)某一天小明訪問Web服務器查詢數據,發現教室的溫度值超過28 ℃,他通過服務器遠程控制打開教室的空調,一個小時后,通過服務器再次查詢教室的實時溫度,發現溫度仍然超過28 ℃。他去教室實地檢查,發現教室溫度超過28 ℃,而空調并未啟動。分析可能的原因有_____________________________________
_____________________________________________________________________。
(注:回答2項,1項正確得1分)
答案 (1)B/S 無線 (2)pin2 5 (3)A (4)執行器故障、執行器與智能終端的連接有問題、空調插座沒電了、空調故障、控制模塊代碼有缺陷、其他合理原因(回答溫度傳感器、智能終端、IoT模塊、服務器、無線信號故障都不正確)
解析 (1)搭建Web服務器屬于B/S模式。(2)通過Wi-Fi連接。(3)①由語句pin2.read_analog()可以得到接口。②sleep(1000*300)表示每隔300秒即5分鐘采集一次數據。(3)略。(4)能夠查詢教室的實時溫度且溫度有變化,說明數據的采集、傳輸和存儲沒有問題,但執行器可能出現問題。
課后練習
5
重難點1 信息系統搭建前期準備和應用程序開發
重難點2 信息系統的搭建
1.智能農業大棚系統確定選擇Python自帶的嵌入式開源數據庫SQLite,這屬于搭建信息系統前期準備過程中的階段是(  )
A.需求分析 B.開發模式的選擇
C.概要設計 D.詳細設計
C
解析 選擇哪種數據庫屬于概要設計。
2.某“教室環境監測系統”的服務器程序基于FlaskWeb框架編寫,其服務器的IP地址為:192.168.1.8,Web服務器端口為:88,網站框架示意圖如圖所示:
D
訪問數據提交頁面的地址是(  )
A.http:∥192.168.1.8/show?page=1&id=1
B.http:∥192.168.1.8:88/view?id=1
C.http:∥192.168.1.8/input?id=1&val=23
D.http:∥192.168.1.8:88/input?id=1&val=23
解析 根據題目給出的圖片可知“訪問數據提交頁面的地址”屬于“提交數據”頁面,而“提交數據”的地址是/input?id=1&val=23,結合訪問Web服務器端口為88可得最后的地址為D選項。
3.編寫某智能控制系統時,其中語句“SELECT * FROM sensorlog WHERE sensorid = 1”的功能是(  )
A.用于在數據庫中創建“sensorlog”數據表
B.用于在“sensorlog”數據表中查詢字段“sensorid”等于1的記錄
C.用于在“sensorlog”數據表中插入字段“sensorid”等于1的記錄
D.用于在“sensorlog”數據表中刪除字段“sensorid”等于1的記錄
B
解析 本題考查數據庫查詢語句。SELECT表示在數據表中選擇某些字段進行查詢,FROM后面是數據表名稱,WHERE是查詢的條件。
則下列說法正確的是(  )
A.請求方式為POST
B.①處代為tem
C.存儲的數據表名稱為DATABASE
D.存儲溫度的URL為http:∥10.8.251.173:8080/ import?id=1&tem=29
B
解析 本題考查網絡應用程序開發。從語句id = int(request.args.get('id'))來看,請求方式為GET。B選項通過URL的請求變量id和val分別存儲在變量id和tem中,并將這些值存儲到數據表degrees中。C選項中應該是val=29。
5.為了方便圖書館自習室的管理和使用,王老師為學校圖書館開發了自習室管理系統。他設計并搭建了一個自習室人流量監測系統,通過傳感器采集人流量數據并由智能終端經無線網絡傳輸到Web服務器,當室內總人數高于設定閾值時,通過門口的紅燈提醒學生自習室已無空位,圖書館管理人員可以通過瀏覽器查看相關數據。請回答下列問題:
(1)為統計進出自習室的人數,該信息系統可以使用下列傳感器中的________(單選,填字母:A.霍爾傳感器/B.近距離傳感器/C.紅外傳感器)。
(2)以下關于該信息系統的說法,正確的是________(多選,填字母)
A.搭建該信息系統采用了C/S模式
B.該系統的人流量歷史數據存儲在智能終端中
C.圖中①處可使用IoT模塊連接Wi-Fi
D.把系統分成若干模塊,每個模塊完成一個特定功能,屬于前期準備中的概要設計(注:全部選對的得2分,選對但不全的得1分,不選或選錯的得0分)
(3)王老師編寫服務器端的程序,部分代碼如下。
#導入Flask框架模塊及其他模塊,代碼略
app=Flask(_ _name_ _)
@app.route(″/up″)
def sc():
  #將傳感器數據上傳至服務器,并保存到數據庫中,代碼略
@app.route(″/search″)
def cx():
  #從數據庫中讀取人流量數據,并呈現在網頁頁面中,代碼略
  #服務器其他功能,代碼略
if _ _name_ _==″_ _main_ _″:
  app.run(host=″192.168.3.24″, port=1000)
若通過瀏覽器查看人流量數據,則應訪問的URL為http:∥________________。
答案 (1)C (2)CD (3)192.168.3.24:1000/search
解析 (1)紅外傳感器被設計用于檢測移動物體,尤其是人體。(2)A選項Falsk開發的B/S程序。B選項數據往往存儲在數據庫中。C選項IoT模塊通過Wi-Fi連接到服務器。D選項劃分模塊屬于概要設計。(3)由run函數的參數可知服務器地址和端口。從數據庫中讀取人流量數據的路由為/search。
6.小明同學設計了一個登錄注冊系統,服務器程序采用Flask Web框架編寫,在register.html頁面中進行注冊,注冊結果在success_register.html頁面中顯示,register.html文件代碼如圖所示。
服務器程序部分代碼:
from flask import Flask, request, render_template
#導入flask
import sqlite3
database='data.db'
app=Flask(_ _name_ _)
@app.route('/register')  #注冊界面
def register():
  return render_template('register.html')
@app.route('①________',methods=['POST'])  #提交注冊數據
def success_register():
  #寫入數據庫,代碼略。
  return render_template('②________')
if _ _name_ _=='_ _main_ _':
  app.run(host='192.168.10.12',port=5000)
(1)請根據register.html文件代碼,將劃線處的代碼補充完整。
(2)訪問注冊界面的URL為________。
答案 (1)①/success_register ②success_register.html (2) http:∥ 192.168.10.12:5000/register
解析 本題考查網絡應用程序的開發。(1)①通過代碼form action='/success register'method=' post'可知路由。②注冊結果在success_register.html頁面中顯示,返回該頁面。(2)根據 app.run(host='192.168.10.12',port=5000)和注冊路由,得出注冊界面的 URL 為http:∥192.168.10.12:5000/register。
1.小明搭建了花園自動澆灌系統,該系統結構示意圖如圖a所示。Web服務器端程序采用FlaskWeb框架開發。傳感器采集的數據由智能終端經IoT模塊發送到Web服務器,執行器用于水泵的控制。請回答下列問題。
圖b
序號 子頁面路徑 功能說明
1 / 實時顯示土壤濕度數據
2 /input?id=1&h=10 提交土壤濕度數據
3 /count 顯示土壤濕度統計數據
4 /search 查詢顯示某一天的歷史數據
(1)在搭建信息系統的前期準備中,考慮硬件設備配置、應用軟件的選擇和通信網絡的選擇與設計等,屬于________(單選,填字母A.需求分析,B.可行性分析,C.概要設計,D.詳細設計)
(2)系統根據傳感器提交的數據,判斷是否需要澆灌。若需要,則開啟水泵澆灌10分鐘。智能終端部分代碼如下,請結合圖b,補全代碼。
#導入函數庫,代碼略
#設置智能終端連接Web服務器的參數、連接網絡的參數并連接網絡,代碼略
h=pin0.read_analog()
errno,resp=Obloq.get(″①________?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)
 ②________
(3)根據上面代碼分析可知,該信息系統根據傳感器數據做出開啟或關閉水泵決策的是____________(選填:Web服務器/智能終端/傳感器),水泵屬于圖a中的________。
(4)若Web服務器的IP地址為“196.168.0.101”,端口為“5000”,要訪問“顯示土壤濕度統計數據”頁面,則正確的URL為________________________________。
答案 (1)C (2)①/input ②pin1.write_digital(0) (3)Web服務器 執行器
(4)http:∥196.168.0.101:5000/count
解析 (1)硬件設備配置、應用軟件的選擇和通信網絡的選擇與設計屬于概要設計。(2)①提交土壤濕度數據的路由為/input。②語句sleep(10*60*1000)表示開啟水泵澆灌10分鐘,然后關閉執行器。(3)當條件resp==″1″成立時,開啟水泵進行澆灌,而resp的值來自于服務器。水泵屬于執行器。(4)顯示土壤溫度統計數據頁面通過圖b可以找到路由為'/count',故URL為http:∥196.168.0.101:5000/count.
2.小明設計并搭建了一個農業大棚管理系統,運用多種傳感器設備監測環境中的參數。其中Web服務器端程序采用Flask Web框架開發。其中為了實時檢測并調整濕度,系統利用濕度傳感器獲取大棚濕度,傳輸給服務器,服務器根據濕度情況,及時調整大棚濕度,使它達到適宜作物生長的濕度值。如圖a所示,請回答下列問題:
(1)下列選項分別是圖a所示中虛線框內的①②③位置,合理的是________(單選,填字母)。
A.①智能終端 ②傳感器  ③執行器
B.①傳感器  ②執行器  ③智能終端
C.①執行器  ②智能終端 ③傳感器
D.①傳感器  ②智能終端 ③執行器
(2)小明在連接無線路由時只要連接到SSID,輸入正確口令就可以無線上網,不需要設置IP地址,說明無線路由已經開啟了________服務。
A.HTTP B.FTP C.DHCP D.IP
(3)根據圖b所示,若濕度傳感器編號id為2,濕度值h為55,提交數據到Web服務器的URL為http:∥10.68.251.1/humidity?h=55&id=2,則服務器采用________(選填:POST或GET)方式接收濕度數據。
(4)大棚的合適濕度值為hmin~hmax(濕度值已取整),當前濕度值為h。h在合適范圍,則state顯示為1,否則顯示為2。則下列Python語句符合要求的是________(多選,填字母)。(注:全部選對的得2分,選對但不全的得1分,不選或有選錯的得0分)
(5)小明在測試過程中發現當濕度值h>hmax時,h值能傳遞到數據庫中,但農業大棚的濕度沒有發生變化。結合圖a,簡要說明系統中可能造成上述問題的原因:
_________________________________________________________________________________________________________________________________________。
(注:回答2項,多答僅前兩項有效。全對2分,1對1錯或僅有1項正確得1分)。
答案 (1)D (2)C (3)GET (4)AC (5)①執行器出現故障 ②智能終端與執行器連接出問題 ③程序代碼有問題
解析 本題考查信息系統搭建的相關概念及操作。(1)略。(2)DHCP指動態主機配置協議。(3)傳遞的數據拼接在URL中,所以服務器接收數據的方式是GET方式。(4)B選項[hmin,hmax]是一個列表,該列表中只有兩個值,不包含兩個值之間的數據。D選項兩個條件應該是or的關系。(5)當濕度值大于最大值時,數據能傳遞到數據庫,但是大棚內的濕度沒有發生變化,則可能是服務器端代碼有問題,或者智能終端到執行器的連接有問題,或者執行器發生了故障。
3.小明要搭建食用菌大棚智能控制系統,大棚內部安裝了溫濕度傳感設備和智能終端,通過Wi-Fi將實時采集的環境參數傳輸到云平臺,根據菌類生長的適宜溫濕度開啟或者關閉環境調節設備,自動調節溫濕度。用戶可以通過手機APP或電腦網頁端查看大棚內溫濕度實況,并遠程控制環境調節設備。請回答下列問題:
(1)溫濕度傳感器屬于該信息系統的________(單選,填字母:A.硬件/B.軟件/C.數據)。
(2)可做環境調節設備的是____________(單選,填字母:A.Wi-Fi模塊/B.排氣扇/C.濕度計)。
(3)小明基于Flask Web框架編寫服務器端的程序,部分代碼如下。編寫完成后,若要通過瀏覽器獲取大棚溫濕度數據,則應訪問的URL是http:∥________________。
#導入Flask框架模塊及其他相關模塊,代碼略
app = Flask(_ _name_ _)
@app.route('/env')
def main():
  #從數據庫中讀取最近3小時的溫濕度數據,并返回頁面,代碼略
  #服務器其他功能,代碼略
if _ _name_ _=='_ _main_ _' :
  app.run(host='192.168.4.1',port=8080)
(4)智能終端的程序每隔5分鐘從傳感器獲取1次溫濕度值,若溫度值或濕度值發生變化,則將數據傳輸到服務器。部分Python程序如下,在程序中劃線處填入合適的代碼。
#temp1、hum1賦初值,代碼略
while True:
  temp = pin0.read_analog() #獲取pin0引腳傳感器的溫度數據
  hum = pin1.read_analog() #獲取pin1引腳傳感器的濕度數據
  if ________:
    #將溫度temp,濕度hum數據傳輸到服務器,代碼略
    temp1,hum1 = temp, hum
  sleep(1000*60*5)     #延時5分鐘
(5)系統正常工作一段時間后,小明在電腦網頁端查看大棚溫濕度數據,發現沒有最近2小時的溫濕度數據(在此期間大棚的溫濕度發生了變化),簡要說明系統中造成上述問題的可能原因:________________________________________
__________________________________________。(注:回答2項,1項正確得1分)
答案 (1)A (2)B (3)192.168.4.1:8080/env (4)temp!=temp1 or hum!=hum1 (5)①Wi-Fi模塊發生故障,數據無法上傳。②智能終端發生故障,數據無法上傳。③傳感器發生故障,智能終端采集的數據不發生變化。
解析 (1)溫濕度傳感器屬于系統硬件。(2)可以通過排氣扇調節周邊環境溫度。
(3)根據服務器相關IP和端口及路由可知網址為http:∥192.168.4.1:8080/env。(4)根據題意若溫度值或濕度值發生變化上傳數據,if語句條件滿足是上傳數據,故條件為溫度和濕度與原數值不同,temp!=temp1 or hum!=hum1。(5)溫濕度發生了變化但是數據沒有上傳,有可能是傳輸出現問題或者是傳感器損壞,采集不到溫濕度變化。
4.某室內環境監控系統采用FlaskWeb框架開發。傳感器每分鐘采集1次濕度數據(0~100),智能終端通過IoT模塊將采集到的數據傳輸至Web服務器并存儲,系統根據采集到的數據與設定的閾值控制除濕機。客戶端可通過瀏覽器查詢實時和歷史數據。請回答下列問題:
(1)該網絡應用軟件的實現架構是________(單選,填字母:A.B/S架構,/B.C/S架構)。
(2)系統正常工作一段時間后,發現當前濕度值超過了閾值但除濕機未啟動,下列解決問題的方法合理的是________(單選,填字母)。
A.調整濕度閾值,查看除濕機是否正常工作
B.更換濕度傳感器,判斷是否是濕度傳感器故障
C.更換除濕機,判斷是否是除濕機故障
(3)下列關于該系統支撐技術的說法,正確的有________(多選,填字母)。(注:全部選對的得2分,選對但不全的得1分,不選或有選錯的得0分)
A.智能終端中的接口只能用于連接傳感器
B.信息系統只能通過串口從傳感器獲取信息
C.在Flask中,一個路由只能綁定一個視圖函數
D.開發完畢后,布署到生產環境中使用時應關閉調試模式
(4)收集一個月的濕度數據處理后得到該月的日平均濕度值,存儲在列表h中,例如:列表h中的值為[98,88,84,96,95,93,97,……,83],現要找出相鄰兩天最大濕度差,部分Python程序如下,請在程序中劃線處填入合適的代碼。
def findmax():
  n=len(h)
  imax=0
  i=0
 while ich=________________
if ch>imax:
     imax=ch
i=i+1
  return imax
答案 (1)A (2)C (3)CD (4)abs(h[i]-h[i+1])或abs(h[i+1]-h[1])
解析 (1)采用FlaskWeb框架開發,屬于B/S架構。(2)當前濕度值超過了閾值,說明傳感器沒有故障,也不可能是閾值設置過高,只可能是執行器的問題。(3)A選項也可以接執行器。B選項也可以從無線網絡或藍牙等方式獲取數據。C選項一個路由只能對應一個視力函數。D選項開啟調試模式會顯示部分信息,不利于安全性。(4)相鄰兩天濕度差可能是正值,也可能是負值,但求最大差值指差值的絕對值。
5.智能農業大棚由信息系統來實現大棚的自動化管理,通過傳感器實時采集農業大棚內的環境數據,由智能終端經IoT模塊發送到Web服務器,Web服務器端程序采用Flask Web框架開發。
(1)自動溫度控制系統。溫度傳感器每隔一定時間采集大棚中的溫度,一旦溫度超過預設的最高溫度40 ℃,控制系統會啟動通風和噴水實現降溫;如果溫度低于預設的最低溫度18 ℃,控制系統會啟動加熱器,給大棚升溫;如果溫度在19 ℃(含)到39 ℃(含)之間,通風、噴水和加熱系統均不工作。
請回答下列問題:
①系統無故障情況下,下列說法正確的是________(多選,填字母)。
A.溫度在18 ℃~19 ℃,加熱系統可能工作
B.溫度在39 ℃~40 ℃,加熱系統可能工作
C.溫度在18 ℃~19 ℃,通風、噴水系統可能工作
D.溫度在39 ℃~40 ℃,通風、噴水系統可能工作
(注:全部選對的得2分,選對但不全的得1分,不選或有選錯的得0分)
②該系統網絡應用軟件的實現架構是________(單選,填字母:A.B/S架構/B.C/S架構)。
(2)自動補光系統。充足的光照可以提高農產品的產量和質量,光線傳感器實時采集大棚內的光照強度,根據光照強度自動打開或關閉大棚中的補光燈。
請回答下列問題:
③自動補光系統結構示意圖中A、B處分別為________和________。
④若傳感器的編號為1,光照強度值為1110,提交數據到Web服務器的URL為:http:∥192.168.1.6:5000/input?light=1110&id=1,則下列說法正確的有________(多選,填字母)。
A.可采取GET方式進行數據傳輸
B.服務器端應用實例與該URL關聯的路由為“/input”
C.服務器IP地址為192.168.1.6:5000
D.HTTP是一種網絡協議
(注:全部選對的得2分,選對但不全的得1分,不選或有選錯的得0分)
答案 (1)①AD ②A (2)③傳感器或光線傳感器執行器或補光燈 ④ABD
解析 (1)①根據題設給定的條件,溫度在19 ℃(含)到39 ℃(含)之間,通風、噴水和加熱系統均不工作,在18 ℃加熱系統可能工作,在40 ℃通風、噴水系統可能工作,因此A、D正確。②該系統Web服務器端程序采用Flask Web框架開發,因此是B/S架構。(2)③數據從A端傳到智能終端,因此A處是傳感器,智能終端指向B端,因此B處是執行器。④A選項數據通過URL傳遞,所以是采用GET方式傳輸。B選項根據給定的URL,關聯的路由為“/input”。C選項5000是服務器的端口號。D選項HTTP是超文本傳輸協議。
6.小明為他們教室搭建了環境溫濕度監測系統,該系統結構示意圖如圖所示。該系統可實時監測教室溫濕度數據,并持續運行一周,數據由智能終端經IoT模塊發送至Web服務器,若環境溫濕度監測值超過設定閾值區間,則控制執行器調節溫濕度,用戶可以使用瀏覽器查看實時數據。
本系統服務器端程序采用Flask Web框架編寫,數據庫管理系統選擇sqlite3,服務器的IP地址是192.168.0.1,端口是5000。網站功能頁面規劃如下:
序 子頁面路徑 功能說明
1 / 實時顯示溫濕度數據
2 /input 提交溫濕度數據
3 /count 顯示溫濕度統計數據
4 /search 查詢顯示某一天的歷史數據
(1)上述頁面規劃屬于搭建信息系統的前期準備的階段是________。
A.需求分析 B.可行性分析 C.概要設計 D.詳細設計
(2)根據該系統的功能要求,題圖中①②處的設備分別為________、________.
(3)教室里的學生最舒服的溫度范圍是tmin~tmax,現要實現溫度t正常、非正常(偏高或偏低)時,將對應的狀態sta的值設為0和1。下列Python程序段中符合要求的有________(多選,填字母)。
(4)小明在某次系統調試時,輸入URL后瀏覽器出現“404”錯誤信息(服務器反饋404信息表示服務器端無法找到對應的網頁),簡要說明系統中可能造成上述問題的原因:___________________________________________________________。
(注:回答兩項,1項正確得1分)
答案 (1)C (2)傳感器 執行器 (3)BC (4)1.路由地址發生了改變 2.輸入地址出錯 3.路由視圖函數被刪除
解析 本題考查microbit及Flask等相關知識。(1)頁面規劃屬于概要分析中的模塊設計。(2)傳感器采集數據傳送給智能終端,智能終端控制執行器。(3)A選項賦值語句sta=0最后執行,sta值均為0;D選項若t<=tmax,則sta=0,滿足這個分支后不會再判斷t是否大于tmin。(4)服務器無法找到對應的網頁,可能是路由地址輸錯,還有可能路由沒有對應的視圖函數
7.小明為自家花園設計了“自動澆水系統”,該系統結構示意圖如圖所示。該系統對花園內A、B兩處區域的土壤濕度進行監測和控制。各傳感器將采集的數據由智能終端經IoT模塊發送至服務器進行處理與存儲,各執行器用于實現各區域土壤濕度的控制。請回答下列問題:
(1)下列關于該系統的搭建過程,說法正確的是________。(多選,填字母。注:全部選對的得2分,選對但不全的得1分,不選或選錯的得0分)
A.該系統采用了B/S開發模式
B.數據庫設計屬于系統概要設計過程
C.該系統軟件開發時,需要編寫服務器程序和客戶端程序
D.運行系統,從多角度觀察程序,發現其中的錯誤,屬于動態測試
(2)A區域的部分智能終端程序如下:
while True:  
  hum=pin1.read_analog()
  errno,resp=Obloq.get(″input?id=1&h1=″+str(hum),10000) #其他代碼略
服務器的IP地址為192.168.0.10,端口為8080,若當前A區域的傳感器1監測到的濕度值為56,則其提交數據到服務器的URL為:http:∥____________________
_____________________________________________________________________。
(3)如下程序統計某天A、B兩區域澆水裝置獨自啟動的時長cA、cB,兩區域裝置均啟動的時長cAB,請在劃線處填入合適的代碼。
#數組a中存儲了某天兩個區域的土壤濕度值(a[i][0]為第i+1分鐘A區域的土壤濕度值,a[i][1]為第i+1分鐘B區域的土壤濕度值,濕度傳感器每隔一分鐘采集并上傳一次數據),土壤濕度低于閾值w啟動澆水裝置
n=24*60;cA=cB=cAB=0
for i in range(n):
  if a[i][0]  cAB+=1
  elif a[i][0]  cA+=1
  ____________:
  cB+=1
(4)系統正常運行一段時間后,小明發現B區域的植物呈現缺水狀態,該區域的澆水裝置卻沒有啟動。結合圖,簡要說明系統中可能造成上述問題的原因:____________________________________。(不考慮水管損壞和停水等原因)(注:回答2項,1項得1分;多答僅前兩項有效。)
答案 (1)AD (2)192.168.0.10:8080/input?id=1&h1=56 (3)elif a[i][1]解析 本題考查信息系統的搭建。(1)客戶端通過瀏覽器訪問信息系統,采用的是B/S模式,只需編寫服務器端程序即可;數據庫設計屬于詳細設計階段;通過系統運行來觀察程序,發現錯誤,屬于動態測試。(2)根據服務器的IP地址,端口號和智能終端處代碼,可知提交數據到服務器的URL為:http:∥192.168.0.10:8080/input?id=1&h1=56。(3)條件1:A、B兩處的土壤濕度可能都小于閾值,條件2:A處小于閾值B處大于等于閾值,條件3:A處大于等于閾值B處小于閾值,條件4:A、B兩處都大于等于閾值。(4)傳感器2采集土壤濕度,傳遞給智能終端2,再通過IoT2將數據傳遞給服務器,服務器根據采集到的數據,進行處理并將操作指令通過智能終端2傳遞給執行器2,在這條傳遞路線上任一處發生故障,都可能導致執行器沒有啟動使得植物處于缺水狀態。
8.小李要幫助體育老師搭建智能體育項目檢測系統。其中檢測立定跳遠的系統中,智能終端從服務器獲取考生準考證號,顯示在終端的觸摸屏上,通過識別身份證和人臉確認信息后考生進入測試區域,每完成一次立定跳遠測試,紅外傳感設備測得的距離或范圍判定情況將顯示在大屏幕中,測試成績等數據同步傳輸至Web服務器,存儲到數據庫中。網絡應用軟件的實現架構是B/S架構,用戶可通過瀏覽器查詢和統計數據。硬件按如下方式連接:紅外傳感設備和屏幕接入智能終端,智能終端通過IoT模塊連接到服務器。請回答下列問題:
(1)要完成該系統的搭建,下列需要編寫的程序是________(單選,填字母:A.客戶端程序/B.服務器端程序)。
(2)下列關于該系統中數據管理的說法,正確的是________
(單選,填字母)。
A.數據可以從服務器端傳輸至紅外傳感設備
B.智能終端中可以存儲少量測試數據
C.通過瀏覽器查看某班級的滿分考生數據不必訪問數據庫
(3)下列關于該系統支撐技術的說法,正確的有________
(多選,填字母)。(注:全部選對的得2分,選對但不全的得
1分,不選或有選錯的得0分)
A.服務器端有程序存儲和數據處理的能力
B.紅外傳感器與智能終端的連接必須通過Wi-Fi進行通信
C.智能終端中運行的所有軟件都需要在搭建過程中開發
D.多個智能終端都可以通過IoT模塊以無線方式連接同一個服務器
(4)智能終端上的程序具有如下功能:在起跳合規的情況下獲取一次有效成績,紅外傳感器返回測試區域內落點距離起跳點的距離,返回的數據在起跳前為負數,跳躍騰空過程中距離值為0,落地后會返回正整數值,根據立定跳遠的規則,當離開測試區域前的最短距離為測試成績,所獲得的數據形如
[-5,-1,-2,-4,0,0,0,0,…,0,0,0,200,190,160,210,0,0,…],則有效成績記為160。
①在起跳合規的前提下,完成此功能的部分Python程序如下,請在程序中劃線處填入合適的代碼。
zero= False
while True:
  #從傳感器獲取距離起跳線的值存儲在d中
  if d<0:
zero = False
  elif d== 0:
   ________________
  elif d> 0 and zero:
#A
mindist = d
while d != 0:
    if d < mindist:
      mindist = d
    #B
break
print(mindist)
②由于落地后還可能產生移動,需要繼續讀取新的落點距離,實現“從傳感器獲取距離起跳線的值存儲在d中”的功能代碼應該出現在________(選填,填文字:A處/B處)。
(5)系統搭建完成后,運行一段時間,小王發現自己的瀏覽器端打開智能體育測試網站的查詢界面網頁顯示出錯,現在可以確定的是軟件都沒有問題,問題可能出在小王的計算機網絡連接或者服務器的網絡連接中有一處有問題,請設計一種判定哪處網絡連接有故障的方法____________________________________
_____________________________________________________________________。
答案 (1)B (2)B (3)AD (4)①zero=True ②B處 (5)小王打開學軍中學網址進行測試。或者小王找初中同學用相同的URL登錄測試
解析 (1)由于系統是B/S架構,即瀏覽器/服務器架構,用戶通過瀏覽器與服務器進行交互。因此,需要編寫的程序是服務器端程序,以便處理來自客戶端的請求,并將數據存儲到數據庫中。(2)A選項紅外傳感設備是數據的采集端,數據應從紅外傳感設備傳輸到服務器。B選項智能終端可以臨時存儲少量測試數據。C選項要查看考生數據,必須訪問服務器上的數據庫。
(3)A選項服務器端需要有存儲和處理數據的能力。B選項紅外傳感器與智能終端的連接不必須通過Wi-Fi,也可以通過有線或其他無線通信方式。C選項智能終端中可能運行一些現成的軟件,不一定都需要在搭建過程中開發。D選項IoT模塊允許多個智能終端無線連接到同一個服務器。(4)①數據在起跳前為負數,跳躍騰空過程中距離值為0,落地后會返回正整數值,因此如果d等于0,表示考生可能已經起跳,此時將zero設置為True。②根據立定跳遠的規則,當離開測試區域前的最短距離為測試成績,當獲取最小值mindist時,存儲在d中。(5)略。
9.小王搭建了家庭智能澆花系統,系統結構示意圖如圖所示。土壤濕度傳感器采集的數據通過IoT模塊傳送到Web服務器,客戶端可以通過瀏覽器訪問Web服務器。Web服務器將處理的結果經IoT模塊傳送給智能終端,智能終端啟動執行器實現對濕度的控制。
(1)①在設計“智能澆花系統”的前期準備中,小王考慮到澆水不僅與土壤濕度有關,還要考慮溫度和光照,所以他準備將來還要為該系統擴展溫度采集和光線采集等功能,并在開發過程中為這些功能模塊預留接口。這一過程屬于________(單選,填字母:A.需求分析/B.可行性分析/C.概要設計/D.詳細設計)。
②根據本系統網絡應用的軟件架構,編寫程序時需要編寫________程序(單選,填字母:A.服務器端/B.客戶端/C.服務器端與客戶端)。
(2)智能終端每隔1分鐘采集一次數據并提交數據到Web服務器。Web服務器端的部分代碼如下:
#導入相關模塊,代碼略
app = Flask(_ _name_ _)
@app.route('/record')
def data():
  #網頁顯示當前傳感器數據,并顯示最近的50條濕度記錄,代碼略
@app.route('/input',methods=['GET'])
def add():
①若土壤濕度值val在閾值[h1,h2]內(包括h1和h2),則返回1,否則返回0,則加框處的代碼符合要求的有________(多選,填字母)。(注:全部選對得2分,選對但不全得1分,不選或錯選得0分)
A.if val>=h1 or val<=h2: B.if not(val

h2):
C.if (val-h1)*(h2-val)>=0: D.if h1<=val<=h2:
②若要查看最近的50條土壤濕度記錄,則在瀏覽器地址欄中應輸入的網址是_____________________________________________________________________。
(3)系統工作一段時間后,小王用瀏覽器查看土壤濕度記錄,發現頁面能正常顯示但是該頁面上的土壤濕度記錄數據不再變化,刷新后仍不變,造成上述問題的原因可能是:________________(多選,填字母)。(注:全部選對得2分,選對但不全得1分,不選或錯選得0分)
A.軟件存在缺陷
B.執行器故障
C.智能終端和IoT模塊連接無線網絡出現故障
D.Web服務器停電
答案 (1)①A ②A (2)①BCD ②http:∥10.46.110.119:8080/record (3)AC
解析 (1)①分析系統的功能和擴展功能屬于需求分析。②該系統為B/S模式,只需編寫服務器程序。(2)①在閾值[h1,h2]內是兩個條件均要滿足,A選項不正確。B選項在兩個范圍外面的非,閾值在此范圍內。C選項(val-h1)和(h2-val)不可能同時小于0,因此條件均成立。②查看數據的路由為record。(3)數據不更新,說明采集數據有問題,而不是執行器問題,也不可能是Web服務器停電問題。
10.模擬搭建“室內煙霧實時監控系統”,該系統結構示意圖如圖所示。智能終端接收煙霧傳感器采集的數據,IoT模塊傳送數據到Web服務器并保存到數據庫。Web服務器將數據處理的結果經IoT模塊傳給智能終端,由智能終端啟動繼電器實現對水泵的控制,并且用戶可以通過瀏覽器訪問網頁,查看實時數據。
(1)在設計系統的前期準備中,需要確定所需的軟硬件配置,這一過程屬于________(單選,填字母:A.需求分析/B.概要設計/C.詳細設計)。
(2)“室內煙霧實時監控系統”的開發模式是________(單選,填字母:A.B/S模式/B.C/S模式)。
(3)煙霧傳感器每隔1秒采集一次數據,在數據處理的代碼中,有函數check(a,b,c)用于檢測最近3次煙霧濃度值a、b、c,若至少有兩次超過100,則認為有火情,函數返回True,否則返回False。下面是check函數的部分代碼,請從選項中選擇合適的語句完成填空________(單選,填字母)。
def check(a, b, c):  
  x=a>100;y=b>100;z=c>100
  if________:
  return True
  return False
A.(x and y and z) or (x or y or z) B.x and y or x and z or y and z
C.x or y and x or z and y or z D.not x or not y or not z
(4)在服務器端,配置IP和端口號的語句為server=Server(host=″192.168.1.1″,port=80,threaded=True),設置路由函數的語句為@app.route(″/warn″),則用戶訪問的URL為http:∥________________。
(5)小明用高濃度的煙霧測試系統,通過客戶端查看到煙霧濃度數據已連續超過閾值,但是水泵沒有運行,若服務器和終端的代碼均正確,則可能的原因是________________________。
答案 (1)A (2)A (3)B (4)192.168.1.1:80/warn (5)繼電器損壞或水泵損壞
解析 (1)確定所需的軟硬件配置屬于需求分析。(2)搭建Web服務器屬于B/S模式。(3)and的優先級高于or,兩次超過100的表達式為x and y、x and z 或y and z,3個表達式中至少有一個成立。(4)略。(5)水泵沒有運行表示該執行器出現問題。

展開更多......

收起↑

資源列表

<pre id="tfb94"><li id="tfb94"></li></pre>

<bdo id="tfb94"><rt id="tfb94"></rt></bdo>
  • <menu id="tfb94"><dl id="tfb94"></dl></menu><i id="tfb94"><acronym id="tfb94"><sub id="tfb94"></sub></acronym></i>

    1. 主站蜘蛛池模板: 陆丰市| 锡林郭勒盟| 荔波县| 都匀市| 平顶山市| 平罗县| 临漳县| 洛南县| 岳阳市| 灵丘县| 合肥市| 清远市| 靖远县| 平和县| 醴陵市| 衡东县| 松潘县| 营山县| 曲靖市| 潮州市| 藁城市| 深泽县| 张掖市| 齐河县| 二连浩特市| 北海市| 浮梁县| 柏乡县| 古丈县| 景东| 新野县| 西乡县| 财经| 天峨县| 武功县| 广安市| 城口县| 惠东县| 洞口县| 许昌县| 虹口区|