<source : unsplash>

一、需求種類

(一)、功能性需求

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 留言