概覽 功能原型設計系列 是有關原型設計過程的一個文章集。從中您可以閱讀相關的重要概念、原型設計的優勢、產品選擇研討和其他技術資料。 紙上設計的重要性 新的想法是令人振奮的。然而,一旦你想到創新想法時,你從何處開始著手呢? 如何創建一個功能原型的第一步從而幫助你在當今經濟競爭激烈的市場上走向成功呢? 本教程概述了創建原型設計的第一步——一種有助于你以最小的困難向軟件設計轉變的紙上設計方法。 當你對新設備具有令人興奮和創新的想法時,你可能想跳過紙上設計,馬上從物理原型設計開始實現該想法。從長遠考慮來說,停止這種想法可以節省你大量的返工和浪費的精力。你在紙上設計所投入的時間,以后會給你帶來很大的回報,這有助于你在設計過程中避免許多常見的陷阱。紙上設計并不意味著用鋼筆或鉛筆在紙上勾畫出你對原型的詳細設計。紙上設計包括在軟件編程之前建立計劃,這能帶來很多好處。 從頭腦中獲取想法,落實到紙上設計 圍繞你從多角度考慮的偉大想法,落實具體細節。在紙上寫的細節越多,你就越容易將其轉化為實際的功能原型。 寧可現在失敗,不要將來失敗 對你想法的所有可能排列情況進行探索。這是讓你恣意想像的時刻,因為在這個階段,你的最大代價只是時間。此時應找到一種最佳的實施方法,因為沒有與失敗設計相聯系的成本損失。在紙上設計階段,應越早失敗,經常失敗和提前失敗,確保你的設計符合標準。 獲得同行和客戶的反饋 我們應該建立與合作伙伴和同行的一致意見,從早期客戶和投資者處獲得購買訂單。一個優秀的設計有助于其他人完全掌握你的想法。你對你的設計想法解釋得越有效,你獲得同行反饋的質量就越高,你就越有可能得到資助和支持。即使在早期階段,你也應該對你的設計重復修改直到其站得住腳,經得起評論。 利用CAD軟件進行可視化 利用現有的計算機資源進行專業的,詳細的物理設計。用CAD軟件定義的設計具有尺寸、注釋和特定材料的說明,比簡單的畫草圖具有更強的說服力。它意味著一個詳細的,周密的設計和嚴謹的意圖。這將有助于你獲得同行的認同,以及獲得客戶和投資者的購買訂單,因為其他人可以更有效地對你的設計進行可視化。 使用圖形來表現你的系統 利用標準技術如流程圖或狀態圖,對你的設備功能進行定義。該流程圖或狀態圖形成了你需要作出軟件體系結構決策的基礎,并定義了你的算法設計框架。 定義你的需求 你如何從一個偉大的創意和簡單的畫草圖變為一個詳細的紙上設計呢?第一步是通過列出用戶需求,明確定義你的目標。這些需求應盡可能的具體。在早期階段,研究是至關重要的,以確保你可以滿足你概括的需求。你的設計是可行的嗎?它真的能滿足你的需求嗎?確定你能對你的設計需求和欲望加以區別。作為一個創新者,你可能想對你的原型設計增加高級的,但并不是完全必要的功能。認清你的目標并專注于它。 從需求中抽取模塊 你可以抽象地描述一個應用程序,而無需具體定義如何編寫應用程序。抽象將應用程序概括到一個高概念層次。通常有兩種類型的抽象,即過程抽象和數據抽象。 過程抽象將過程實現的是什么和過程如何實現加以區分。過程抽象的一個實例是打開一個文件。你可以采用許多方式來打開文件,但在過程抽象時你不必關心如何打開文件的。 數據抽象將你想存儲的數據和存儲數據的物理方法加以區分。數據抽象的一個實例是數組。數組可以從更為邏輯的角度表示一組數據,不需要用戶關心其實現的具體細節。為了有助于數據抽象,你可以從你的系統需求文檔中移除其關鍵動詞和名詞。從這些動詞和名詞中,你可以確定你的程序必須實現什么以及會成為你的用戶界面一部分的對象。這些動詞和名詞也有助于你確定硬件組件,這對完成你的原型設計是必要的。 流程圖 一旦你從你的設備需求中收集到一組被抽取的組件,你可以使用流程圖從被抽取的組件上轉移到軟件程序上。流程圖通過將應用程序劃分為更易于管理的塊,即所謂的節點(見圖1.),有助于你更好的理解應用程序流程。NI LabVIEW是一種針對測量和自動化應用而設計的高級別的圖形化編程語言,,其對于將你的紙上設計迅速轉變為軟件設計而言是一種理想的工具。因為 LabVIEW框圖類似于流程圖,從流程圖到軟件代碼的轉變是一個快速的過程。 狀態結構 狀態圖 狀態圖是流程圖的一種特殊類型,表示了程序的狀態和狀態間的轉換。每個狀態滿足一個條件,執行一個動作或等待一個事件的發生。狀態間的轉換可以是條件,行為或使程序轉移到下一個狀態的事件。狀態圖有益于原型設計,因為幾乎所有的嵌入式系統都使用狀態結構。也就是說,嵌入式系統的設計思想是,系統原型總是處在某個特定的狀態,即使這個狀態是空閑的。 為了開始創建一個狀態圖,你必須全面了解你的應用程序以及系統中任何屬于你用戶界面的部分。它可以是一個顯示的數值或用戶的輸入,如數字或布爾控件。一個優秀的設計流程圖可以為這個過程提供幫助。下一步,寫出每個狀態以及你的原型如何從一個狀態轉變到另一狀態。 狀態機結構 狀態機對于交互系統很有用。也就是說,其行為由基于用戶輸入、采集的信號和系統改變的邏輯決定。當你實現一個狀態機時,基于該邏輯值,你可以定義你的系統轉換特性。 在LabVIEW軟件中,狀態機由條件結構, While循環和移位寄存器組成。初始條件被指定在循環之外。狀態機中的每個狀態對應于條件結構中的一個條件。每個條件包括實現一個狀態的代碼及定義轉換到其他條件的邏輯。這種結構使你有能力對狀態機添加更多的條件和邏輯來擴展你的應用程序。 ![]() ![]() 圖1. 該圖片顯示了血壓監測的流程圖,狀態圖和狀態機。請注意定義在狀態圖中的五個狀態在狀態機中得以實現。 LabVIEW狀態圖模塊 LabVIEW狀態圖模塊提供從紙上設計到軟件設計轉換的更直接途徑。利用LabVIEW狀態圖模塊,你可以在一個狀態圖中設計軟件組件,定義狀態和轉換邏輯的行為。狀態圖完全與LabVIEW集成,因此所有相同的圖形化編程概念和數據流編程準則仍然適用。狀態圖有益于描述交互系統。你可以針對硬件設備或者用戶界面上的觸發或事件來設計不同的響應。這些響應由LabVIEW圖形化編程實現。對職業程序員來說,LabVIEW狀態圖模塊非常適合于原型設計應用程序。 ![]() 圖2. LabVIEW狀態圖模塊實現血壓監測的狀態 下一步 原型設計在設計和部署創意并將其推向市場中起著關鍵的作用。創建一個成功原型設計的第一步是正確的紙上設計,以使得軟件設計的轉換盡可能天衣無縫。 通過全面地對你的設計定義需求,抽取模塊和創建流程圖或狀態轉移圖,你可以確保一個堅實的基礎來建立你的原型設計。利用LabVIEW狀態圖模塊,你可以實現原型設計所需的快速開發以及通過LabVIEW平臺實現與硬件的緊密集成。 欲了解更多關于紙上設計到軟件設計轉換技術方面的信息,請參閱以下相關資源。了解原型設計過程中的下一步驟,請返回到功能原型設計系列 。 NI公司供稿 |