孫玉++李游
摘 要:物聯網領域用戶種類繁多,應用場景多樣,因此對用戶體驗具有較高的要求。在物聯網項目的實現過程中,“需求”尤為重要。為保證能夠將用戶在實際應用場景下的多樣化需求完整準確地傳遞到研發人員面前,就需要通過專業的需求開發工作來對項目范圍進行定義和描述。需求開發歷經原始需求、用戶需求、產品需求。需求管理活動包括建立用戶需求基線,建立產品需求與用戶需求追蹤關系,需求變更管理等。
關鍵詞:需求開發;需求管理;物聯網;用戶體驗
中圖分類號:TP391 文獻標識碼:A 文章編號:2095-1302(2017)07-00-02
0 引 言
物聯網用途廣泛,遍及智能交通、環境保護、政府工作、公共安全、平安家居、智能消防、工業監測、環境監測、路燈照明管控、景觀照明管控、樓宇照明管控、廣場照明管控、老人護理、個人健康、花卉栽培、水系監測、食品溯源、敵情偵查和情報搜集等多個領域。繼計算機、互聯網之后,被稱為世界信息產業發展第三次浪潮的物聯網,是互聯網的應用拓展。與傳統網絡相比,物聯網更側重于業務和應用。可以說,用戶體驗是物聯網發展的靈魂。
因為用戶種類繁多,應用場景多樣,對用戶體驗的要求較高,在物聯網項目的實現過程中,“需求”顯得尤為重要。為了能夠將用戶在實際應用場景下的多樣化需求,完整準確地傳遞給研發人員,需要通過專業的需求開發工作對項目范圍進行定義和描述。
1 需求開發流程
需求,是指用戶為解決某一問題或達到某個目標所需要的條件或能力。未經分析或規格化的來自用戶或者外部環境等的需求稱之為原始需求。由原始需求經過需求篩選、規劃來確定,作為項目范圍定義的需求,即為用戶需求,一般以《用戶需求說明書》文檔的形式,用格式化的描述來體現。
在用戶需求的基礎上,還會進一步開發產品需求。產品需求是對產品應具有的形狀、功能、性能以及其他需求的詳細說明,一般的產品需求由軟件需求、硬件需求、結構需求等各個專業領域劃分組成,按照格式化描述要求形成產品需求文檔,作為后續設計實現及測試依據。
從原始需求到用戶需求,再到產品需求,它們之間的關系以及項目需求開發和管理的全流程如圖1所示。
圖1 項目需求開發和管理全流程示意圖
以短信喚醒需求為例,介紹需求的整個開發過程。
在工業監測、環境監測等諸多領域,有許多用戶都提出短信喚醒這一原始需求。用戶希望能夠在智能電表系統中,智能電表在待機休眠的狀態下,可以通過短信被喚醒。我們決定在項目中將這一需求實現。首先,將原始需求轉化為用戶需求。短信喚醒,即被納入項目的用戶需求,并被明確寫在該項目的《用戶需求說明書》中。之后在產品需求開發階段,需求工程師需要經過需求分析,形成如下產品需求描述:
(1)任意MT短信喚醒:模塊處于待機狀態時,當收到任意MT短信,模塊自主喚醒,并通過WAKUP_OUT腳將喚醒信號發送到HOST設備。
(2)特定MT短信喚醒:模塊處于待機狀態時,當收到MT短信,匹配MT短信發送者號碼,當發送者號碼和預設號碼一致時,模塊自主喚醒,并通過WAKUP_OUT腳將喚醒信號發送到HOST設備;發送者號碼和預設號碼不一致,則不觸發喚醒信號。
(3)特定MT短信內容喚醒:模塊處于待機狀態時,當收到MT短信,解析短信內容,匹配MT短信發送者號碼和短信內容,當發送者號碼和預設號碼一致,并且短信內容包含預設內容時,模塊自主喚醒,并通過WAKUP_OUT腳將喚醒信號發送到HOST設備;對于不符合上述判據的情況,不觸發喚醒信號。
(4)支持預設5個電話號碼和短信內容關鍵字,關鍵字為英文、數字字符;長度小于70 B;可清除預設號碼。
(5)當預設號碼及短信內容關鍵字都為空時,任意MT短信都能觸發喚醒信號;當預設號碼非空,短信內容關鍵字為空時,預設號碼發來的任意短信都能夠觸發喚醒信號;當預設號碼非空,且短信內容關鍵字非空時,預設號碼發來的包含內容關鍵字的短信能夠觸發喚醒信號;當預設號碼設定后,僅對是否觸發喚醒信號起作用,不能影響或攔截正常短信業務,應區別于短信防火墻的功能。
上述需求描述已完整、詳細的定義了“短信喚醒”這一需求。當研發人員收到該需求時,便可啟動研發實現工作;待研發實現后,測試人員會按此需求測試,以確保產品已完全按照需求實現。
在一個項目當中,每一項需求都需要完成上述開發動作。一個項目可能會有上百需求,但最終都要以產品需求文檔的形式進行詳細的輸出,才能完成對一個物聯網項目的完整需求定義。
2 需求管理流程
除了需求開發活動外,還有一系列需求管理活動。包括制定需求管理計劃、建立用戶需求基線、建立產品需求與用戶需求追蹤關系,建立系統測試用例與產品需求的追蹤關系,需求變更管理,需求狀態管理。
在項目初期,需要制定需求管理計劃,即識別產品需求開發團隊成員,確定需求管理的責任人,以及需求追蹤的粒度要求,需求狀態躍遷定義等模板要求內容。
當完成用戶需求的開發和評審后,需要將《用戶需求說明書》歸檔,這一動作被稱為“建立用戶需求基線”。需求基線化是需求管理中的重要活動。需求基線化后,意味著在項目某一階段,相關人員已經對特定版本的需求達成一致的理解和確認。需求基線化后,對需求的變更需要經過正式的變更流程來處理。
輸出產品需求的同時,還要建立產品需求與用戶需求追蹤關系,即將產品需求文檔中的需求項與用戶需求說明書中的需求項建立追蹤關系,并判斷用戶需求項在產品需求中是否有鍍金、錯誤、遺漏等現象。
此外,還要建立系統測試用例與產品需求的追蹤關系,即將系統測試用例項與產品需求文檔中的需求項建立追蹤關系,并判斷系統測試用例是否100%覆蓋了產品需求項。
雖然測試活動不屬于需求管理的范疇,但從需求測試閉環的角度出發,測試作為需求驗證的活動,與需求之間存在上下游的關系。測試人員會依據系統測試用例執行測試,并提交測試結果,發現故障,提出故障,驗證故障處理結果。
在項目的實現過程中,有可能會出現需求變更,比如客戶臨時提出增加某些需求或去掉某些需求,抑或對某些需求進行修改。因此這時就需要進行需求變更管理。需求變更處理流程的關鍵是影響波及分析和應對方案制定,決策和受影響的人員,跟蹤處理結果直到驗證關閉。
一條需求從被提出到被驗證(也可能中途被拒絕),每一種有可能出現的狀態都需要被定義出來,以方便需求追蹤和管理。需求的各個狀態及定義見表1所列。
3 結 語
作為一家研發及生產物聯網產品的公司,中興物聯始終堅持采用科學的需求管理方法,將用戶繁復多樣的需求完整準確地轉化為研發語言,進而通過各種物聯網技術成功對接客戶的各種需求。身處物聯網這一新興領域,我們也在不斷創新,以提高需求的轉化效率和精準性,讓需求管理可以更好的為項目服務,從而更加快速有效的推出高質量高性能的產品,讓用戶滿意。而這也是我們做為一家物聯網企業的使命。
參考文獻
[1]陳紅燁,趙文剛.基于軟件開發的需求開發及需求管理[J].甘肅科技,2008,24(2):31-34.
[2]王梅,王志偉.軟件需求開發及工程實踐[J].甘肅科技,2011,27 (17):32-34.
[3]唐寧久,杜源.需求管理工具在需求工程中的作用[J].計算機應用研究,2005,22(2):173-174.
[4]胡秀艷.軟件項目需求管理和范圍管理[J].信息安全與技術,2013,4(2):45-46.
[5]《計算機軟件需求規格說明規范》GB/T 9385-2008[S].2008-04-11.
[6]中興物聯項目產品需求管理流程[Z].西安中興物聯科技有限公司,2016.
[7]郭濤,高米翔,韓鵬.工業物聯網感知層協議分析與應用展望[J].物聯網技術,2016,6(6):52-55.
[8]邵澤華.物聯網結構的探索與研究[J].物聯網技術,2015,5(11):46-53.