徐維軍
(柯惠(中國)醫療器材技術有限公司,上海 201114)
為了產品開發能夠在預算范圍內,符合質量標準,準時的完成,需要遵守產品開發流程。流程包括:VOX收集客戶的聲音,工程概念,使用條件,需求分解,風險分析,可靠性分析,產品開發和最后的產品驗證。確保用正確的方式設計出一個正確的產品。為什么要這樣做?因為我們的商務環境在改變,用戶要求提高產品的可靠性,社會要求降低產品的價格,競爭對手迫使我們去縮短產品的開發時間或準確的可預期的開發時間,法規也對產品的性能提高了要求,產品生產后變更變得異常困難。下面將首先從項目的來源開始,闡述產品設計的關鍵過程和技術要點。
根據銷售數據的分析,發現一款產品在中國市場的占有率遠遠低于全球的平均水平。市場部門由此展開了一系列的市場調研。其中重要的一環是VOX,研究來自各方面的聲音。主要的聲音來自:病人,法規,系統工程師,研發工程師,商務部門,技術,生產,技術服務和醫生。聲音的收集方式有:面談,會議,視頻,郵件,流程,內部記錄,競爭對手,客戶抱怨,圖片等。VOX能幫助項目組把時間和人力聚焦在對客戶最重要的事情上。這將幫助公司產品能加速進入市場,贏得客戶的信任。
通過分析來自各方的聲音發現,最大的痛點來自于使用時的操作體驗,對于醫生等受過專業訓練的專業人員,英文水平較高,對英文界面能熟練使用,但對于一些護士,技術支持,維修,設備管理等人員,英文界面就不夠友好了,有一個很長的學習曲線。糟糕的用戶體驗讓他們內心對這個產品是排斥的,進而影響到醫院的購買意愿,最終放棄購買。其他競爭對手贏得了訂單,擴大了市場份額。為解決這個問題,就需要在原有的設備上增加中文輸入,中文顯示,中文編輯功能,中文分級菜單等功能,提升客戶體驗。
在有限的時間內解決問題,90%的時間將用來定義問題,10%的時間用來找到解決方案。類似的,一個項目從客戶的聲音轉化需求就是一個定義問題的過程,需求定義不準確將導致返工,延遲,較差的質量和整個項目的失敗。據統計,40%的預算是消耗在較差的需求定義上。80%的研發失敗是由弱的需求收集,管理和分析造成的。需求主要分為3種,功能性的需求,性能性需求和約束性需求。這個需求的最大約束條件是只能使用已有的8051單片機或者與之完全引腳兼容的芯片。功能性需求有中英文輸入,中英文編輯和中英文顯示。性能需求有字體美觀,在更新設計后設備能通過EMC,EMI和功能測試。圖1需求分析的重要性,越是項目的后期,修復問題的成本就越高。最終產品的需求會追溯到客戶的聲音,按優先順序解決客戶的痛點。同時產品規格的制定也將追溯到產品的需求,工程師將按產品規格研發設計和驗證測試。所以需求分解是一個重要的承上啟下環節。

圖1 需求分析的重要性
該系統采用模塊化設計,提高生產線生產,測試和組裝速度,減少外部不確定因素,產品可靠性增加,提高產品的長期一致性。主控制器和其他控制模塊分離,通過UART串口實現通信。便于設備故障檢查和維修,更換方便,降低客戶的使用成本。軟件模塊主要有:中文輸入,中文編輯,中文顯示和中文分級菜單。常用的中英文字庫型號有16X8和8X6點陣。16X8是指字符的高度是16點陣,寬度是8點陣。8X6是指字符的高度是8點陣,寬度是6點陣用來顯示英文和一些特殊字符。
本設計中,因本產品是對原有的產品進行本地化,增加中文的支持功能,硬件設計受到一定的限制,只能使用8051單片機或引腳與之兼容的芯片。圖2為系統硬件框圖。系統分為兩部分:一部分為UI控制器部分,一部分為控制器;兩部分通過RS232通信建立聯系。UI控制器的工作模塊主要有:單片機作為中央處理器,是系統的核心,用來調度各個模塊的執行。它的能力決定了整個系統的性能。讀取鍵盤處理芯片的信息,驅動LCD液晶屏的顯示,讀取字庫信息,生成點陣信息并顯示在LCD屏上,與PC或者其他嵌入式設備通過RS232通信,實時傳遞信息。產品總體體積較小,可同時支持中英文等多種語言輸入,中文界面顯示,中文分級菜單。信息中的日期和時間信息設置,自動更新,無需每天開機時重新設置。

圖2 系統硬件框圖
軟件控制模塊主要有,鍵盤芯片驅動,LCD顯示驅動,UART通信驅動,中文UI設計,中文字庫讀寫驅動等模塊組成,通過全鍵盤輸入拼音字符,根據拼音查詢同音字,并顯示所有同音字漢字序列供選擇,移動光標選中需要的漢字,按確認鍵,選好的漢字對應的Unicode碼會存在信息隊列數組里,包括在X,Y方向上的位置。點陣生成任務會定期查詢信息隊列是否有變化,如有變化則重新生成點陣信息,覆蓋原有點陣信息。最后調用LCD顯示程序,刷新用戶界面。

圖3 軟件控制思維導圖
為了在51單片機上實現中文輸入,需要實時采集鍵盤輸入,并轉換為拼音字符,等待拼音輸入結束,根據拼音列出所有的同音字供選擇,選擇后漢字的Unicode碼會被記錄下來,顯示程序模塊根據Unicode碼,在字庫中查詢點陣信息并在LCD上顯示。

圖4 中文輸入軟件流程圖
為了在51單片機上實現中英文的編輯,需要一個結構數據。記錄每個字符的Unicode碼,根據光標的位置把字符插入字符串,并記錄當前字符在字符串中的位置。

圖5 中文編輯軟件流程圖
在液晶屏上顯示中文菜單,菜單分為3級,通過“UP”“DOWN”“LEFT”“RIGHT”“ENTER”“ESC”等按鍵進入不同級別的菜單,進行參數設置。在進入菜單后,菜單數據結構會記錄它的上一層菜單和下一層菜單。形成一個完整的數據鏈。

圖6 中文多級菜單軟件流程圖
前期通過VOX收集大量的外部反饋,對用戶需求進行理解和分析,發現客戶在使用設備時真正的痛點。使用DRM的需求分解方法,列出高質量的需求,為后續項目能準時開發完成奠定了基礎。從技術角度看,51單片機如果利用得當也能發揮大作用,而且整個硬件系統架構設計也比較簡單。51單片機加擴展字庫的組合就可以完成。對中英文混合信息的編輯和多級中文菜單的算法有一定的要求。不足之處是需外擴字庫芯片,在程序執行時需在不同的字庫芯片中來回片選,以達到調用字庫的目的。同時因為軟件開發完全依賴硬件,軟件維護人員必須對硬件非常熟悉了解。以往的驗證測試主要靠手工操作,在這個設備開發過程中,采用自動化測試方案,通過Python腳本通過串口發送指令給設備,驅動設備運行,通時檢測設備運行狀態,驗證是否達到需求定義標準。