文章目錄
- 題目
- 【問題1】
- 【答案1】
- 【問題2】
- 【答案2】
- 【問題3】
- 【答案3】
題目
某公司拟開發一個物流車輛管理系統,該系統可支援各車輛實時位置監控、車輛曆史軌迹管理、違規違章記錄管理、車輛固定資産管理、随車備品及配件更換記錄管理、車輛壽命管理等功能需求。其非功能性需求如下:
- (1)系統應支援大于50個終端裝置的并發請求;
- (2)系統應能夠實時識别車牌,識别時間應小于1s;
- (3)系統應7X24小時工作;
- (4)具有友好的使用者界面;
- (5)可抵禦常見SQL注入攻擊;
- (6)獨立事務操作響應時間應小于3s;
- (7)系統在故障情況下,應在1小時内恢複;
- (8)新使用者學習使用系統的時間少于1小時。
面對系統需求,公司召開項目組讨論會議,制訂系統設計方案,最終決定基于分布式架構設計實作該物流車輛管理系統,應用Kafka、Redis資料緩存等技術實作對物流車輛自身資料、業務資料進行快速、高效的處理。
【問題1】
請将上述非功能性需求(1)~(8)歸類到性能、安全性、可用性、易用性這四類非功能性需求。
【答案1】
- (1)系統應支援大于50個終端裝置的并發請求;
- (2)系統應能夠實時識别車牌,識别時間應小于1s;
- (3)系統應7X24小時工作;
- (4)具有友好的使用者界面;
- (5)可抵禦常見SQL注入攻擊;
- (6)獨立事務操作響應時間應小于3s;
- (7)系統在故障情況下,應在1小時内恢複;
- (8)新使用者學習使用系統的時間少于1小時。
性能: 1、2、6
安全性:5
可用性 :3、7
易用性: 4、8
【問題2】
經項目組讨論,完成了該系統的分布式架構設計,如圖5-1所示。請從下面給出的
(a)~(j)
中進行選擇,補充完善圖5-1中(1)~(7)處空白的内容。
- (a)資料存儲層
- (b)Spuct2
- (c) 負載均衡層
- (d)表現層
- (e)HTTP協定
- (f)Redis資料緩存
- (g)Kafka分發消息
- (h)分布式通信處理層
- (i)邏輯處理層
- (j)CDN内容分發
【答案2】
(1) -----------(d)
(2) ----------- (e)
(3) ----------- (i)
(4) ----------- (h)
(5) ----------- (g)
(6) ----------- (f)
(7) -----------(a)
【問題3】
該物流車輛管理系統需抵禦常見的SQL注入攻擊,請用200字以内的文字說明什麼是SQL注入攻擊,并列舉出兩種抵禦SQL注入攻擊的方式。
【答案3】
SQL注入攻擊,就是通過把SQL指令插入到 Web表單送出或輸入域名或頁面請求的查詢字元串,最終達到欺騙伺服器執行惡意的SQL指令。
可以通過以下方式抵禦SQL注入攻擊:
- 使用正規表達式;
- 使用參數化的過濾性語句;
- 檢查使用者輸入的合法性;
- 使用者相關資料加密處理;
- 存儲過程來執行所有的查詢;
- 使用專業的漏洞掃描工具。