[LabVIEW程式技巧] 軟體開發前的需求蒐集 與重點(專案資料夾、Waveform、高聚合與低耦合、錯誤處理、註解)補充
一、需求種類
(一)、功能性需求
ex.
- 需要什麼樣的軟體功能
- 測試物種類與規格
(二)、非功能性需求
ex.
- 比方說客戶希望有美感
- 畫面風格 (ex.按鈕帶有意義貼切的圖案)
- 文件上的要求 (ex. user manual)
(三)、限制
ex.
- 指定開發工具或是硬體品牌 (ex.硬體規格、安規)
- 時間與預算 (ex.何時交件)
以上資訊決定軟體是否能正常交件或是大幅修改。
二、蒐集需求的技巧
開會,但開會要問什麼?要記錄什麼?
蒐集小技巧
- 表格與問卷
- 操作畫面原型
- 作業流程圖
- 現有作業現場觀察
第一次開會
探詢需求,分類
第二次開會
Front Panel的操作介面先把元件擺好,再和客戶確認。
>>prototype
第三次開會
現有作業現場觀察。看使用者如何使用。有利於程式撰寫。避免認知與現場狀況不同。
>>撰寫作業流程圖 (也就是操作順序)
舉例 : 客戶要請你開發使用觸控螢幕操作的微波爐,如何透徹了解對方需求
功能性需求 :
先了解微波爐
需要哪些模式
火力設定要幾段
時間設定最小單位、最大時間設定
螢幕尺寸
斷電處置
非功能性 :
操作手冊想寫什麼內容?有無固定模式?
按鈕要不要帶圖案?
交期?預算?...
三、需求轉化
(一)、功能性需求分類
以操作畫面進行發想,哪些功能要在同一個畫面內?需要幾個畫面?畫面如何切換?
(二)、功能的使用
思考每項功能的操作方式和操作流程,軟體剛開始運作時要啟動哪些功能?最終設計出一個程序流程圖。
四、常用繪圖軟體
- yed Graph Editor
- Microsoft Visio
五、重點補充 (專案資料夾、Waveform、高聚合與低耦合、錯誤處理、註解)
(一)、實體資料夾 vs 虛擬資料夾
進行專案時,一定會運用到資料夾進行各種用途的分類,有人會選擇實體資料夾,有人會使用虛擬資料夾,但這箇中差異是什麼呢?
1.實體資料夾
好處 : 整齊、方便。
缺點 : 若不小心將不相關的檔案放進資料夾,會影響到專案。移動檔案不方便。也就是當把檔案從實體資料夾移出,在專案中會消失。>>必須要重拉進專案。
2.虛擬資料夾好處
好處:彈性。
(二)、Wavorm Chart 、 Wavform Graph 和 XY Graph
1.Waveform Chart
Waveform Chart的資料會動態更新。可以接受array資料、cluster資料。應用時可參考waveform chart data types ad update modes範例。
2.Waveform Graph
相較於Waveform Chart,Waveform Graph的數據更新感覺比較靜態,也就是更新時是一次更新整個圖表。Waveform Graph可接受cluster,需給初始值。
3.XY Graph
x, y資料都要提供,才能進行繪圖。XY Graph不接受2D array資料型態。
(三)、高聚合 vs 低耦合
1.高聚合
Highly cohesive—module has a clearly defined and published goal
也就是將有關聯性的程式放同一個資料夾,方便自己管理與團隊協作。就好像在文具店採購文具,同類別的文具產品會規劃在同一層樓,而非分散,以利消費者查找。
2.低耦合
Loosely coupled—module minimizes dependency on other modules for completing or complementing its functionality
每個程式都有自己的獨特性,當修改功能時,不需要依賴其他程式。如果改一個功能要動到很多程式,那麼此程式則是高耦合,實務上管理不易。
(四)、subVI icon(圖示)要配合實際功能進行修改
通常把功能名稱輸入icon即可。
(五)、必須加入錯誤處理Case結構
要加入錯誤處理case,控制與指示物件要放在case左右兩側外。程式如下:
(六)、按鈕要在100毫秒內反應
(七)、Shift Register的接線,要下註解
方便自我管理與團隊協作。
(八)、避免和主程式互搶資源的設定
---
#軟體開發流程 #Waveform #XY_Graph
0 留言