肖智勇
浙江捷昌線性驅動科技股份有限公司杭州分公司 浙江 杭州 310020
在計算機工程領域,一般認為軟件的設計是計算機發揮作用的關鍵,決定著計算機行業的進步前景,因此逐漸受到業內的關注。雖然軟件設計舉足輕重,但是我國的軟件設計與開發行業缺乏國際一流技術,缺少與別國計算機企業進行市場博弈的核心競爭力,難以在世界市場中取得較大份額。當前對軟件的需求與我國軟件行業的缺陷形成一對矛盾,為了早日解決矛盾,應當對我國軟件設計與開發行業進行深入研究,并探討其實際的運用。
新中國成立以來,黨和國家領導人格外重視科技工作的發展,加之外來先進技術的引進和科技人才的培養,我國計算機產業和軟件設計行業得到飛速發展。除此之外,伴隨著基礎教育的普及,我國計算機科學相關知識在青年群體中得以延續,掌握計算機應用技巧的人逐漸增多,了解計算機工作原理與基本結構的人也較以往有所增加。因此計算機與軟件設計在我國的基礎不斷擴大,這為計算機科學與技術的進一步發展提供了條件,從多方面深刻地影響并改變了人們的日常生活,并且仍然存在繼續進步的空間。針對此形勢,計算機軟件從業人員以實現對計算機系統的穩定管控為目的,進行軟件的開發與設計,旨在發揮軟件的實踐作用,為人們的日常生活提供便利,為人們更好地感知周邊事物提供條件。
首先,時間是設計與開發嵌入式軟件需要關注的首要因素,其關系著能否科學、合理地劃分軟件的工作范圍。如果設計與開發嵌入式軟件時忽略了時間因素,將會對計算機運行造成不可逆的損失。其次,在進行嵌入式軟件的設計與開發時,必須保證其運行環境的質量,確保軟件在適宜、簡潔、安全的環境中運行,以此提高計算機工作的效率。最后,嵌入式軟件的設計與開發人員務必提高自身職業能力,除了要關注時間和運行環境以外,還要保證嵌入式軟件的優良品質,必須要將質量問題作為重點問題。除了上述3點,還應關注嵌入式軟件的結構,在設計與開發時應明確其驅動層、硬件層、應用層以及操作層四個部分。
在嵌入式軟件的開發過程中,經常采用IBM公司制作的DOORS工具和PTC公司制作的ALM工具,上述兩款工具對需求定義與管理方面的工作而言尤為適用。前者的需求管理能力比較強大,能針對不同主體的需求做出恰當地處置,但是難以與同企業的其他開發工具形成產品生態,在使用流程上較為單一且更加獨立。后者可以有效克服上述工具的缺點,通過有效統籌其他開發工具,形成工作過程交互銜接的產品生態,有利于需求定義工作的多設備協同開展。除此之外,PREEvision也是一種理想的工具,主要適用于開發汽車電子控制系統的嵌入式軟件結構體系。其工作特點是將嵌入式軟件結構單元化,分組設計與開發后進行整合,銜接成為有機的工作整體,使得設計與開發的流程大大簡化[1]。
在嵌入式軟件的設計與開發過程中,有必要采取隱蔽手法進行運算,并設置一定的密鑰作為識讀的方法,無密鑰則無法識讀。使數據在傳輸時成為單向識讀的保密信息,以此保障計算機領域的數據信息安全。雖然后期加密與安全保障存在一定的運行成本,但是通過這種科技手段,可以最大限度地保護計算機所存儲的信息,防止不法人員為謀取個人私利而竊取計算機內數據,維護集體和國家利益,是一種切實降低經濟損失、保障信息安全的有效措施[2]。
在正式開展嵌入式軟件的設計與開發工作之前,有必要設定一個預期模型,通過模型模擬進行各項實際工作。如果在模擬過程中發現了重大錯誤或未解難題,該模型的模擬數據便為其提供了科學依據。借助這些依據,嵌入式軟件從業人員可以精準、高效地改正錯誤、研究問題。由于模擬過程中伴隨著精確的修改,所以設定有預期模型的嵌入式軟件既可以做到符合軟件使用者的實際要求,又可以提高企業信譽、增強市場核心競爭力。雖然設定預期模型的方式具備眾多優勢,但是只有當軟件使用者具備一定行業專業知識、可以盡可能詳細地給出規劃時,預期模型的優勢才能得到充分展現。除此以外,預期模型的設定往往沒有精確數據作為參考,所以在設定初期需要大量人力、物力的成本投入,而大多數計算機企業缺乏相關條件,所以其適用范圍較小。
由于IBM公司的DOORS工具難以與其他工具形成產品生態,因此該公司還開發了專用的流程管理工具,即Clear Quest。在嵌入式軟件開發過程中,合理應用Clear Quest能夠實現針對不同用戶需求的獨特設計,方便嵌入式軟件使用者對設計與開發相關流程做出自由管理[3]。除了流程管理工作,配置管理工作也是實現嵌入式軟件開發必不可少的部分。在此領域,IBM公司也設計了相應的Clear Case工具。為追溯開發過程中各配置項的參數設置,管理數據存儲、版本更新和權限加密等工作,可以選擇應用此工具。與IBM公司不同的是,PTC公司針對嵌入式軟件的開發與管理,設計了相應的產品生態,即上文所述的ALM工具。除了嵌入式軟件的設計與開發,ALM工具還起著整合流程管理和配置管理的作用。值得注意的是,ALM工具采用獨特的可能權限加密方式,實現對軟件修改過程中的單向監管,避免數據被惡意更改,保證了嵌入式軟件的信息安全。
在嵌入式軟件的設計與開發過程中,存在因計算機病毒導致的信息安全隱患等開發事故,主要存在有攻擊加密文檔、竊讀系統數據等形式,威脅軟件的開發與后續使用,所以有必要加強對于計算機病毒的查找與攔截。為了實現上述目的,可以選擇整合與分析開發過程中的數據,并根據這些數據判定并精確查找計算機病毒,實質上運用了計算機病毒查找工具,輔助計算機系統自身的防火墻,實現計算機軟件的加固處理,避免軟件信息的泄露。
在嵌入式軟件設計與開發的過程中,一般采用傳統的流程開發體系,即將工作中的各環節單元化,針對每一單元相對獨立地開展工作,并相對獨立地進行后續檢驗,以此保證嵌入式軟件開發的整體工作效率以及產品質量。一般情況下,可劃分為需求設定、結構規劃、預期設計、具體開發、功能應用等五個單元,由此五個單元構成嵌入式軟件設計與開發的全工作周期。
為了高質量地完成軟件需求的設定,一般需要設計相關的調查問卷,通過隨機投放與定點投放結合,在一個較大范圍與一個指定群體中實現統一調研;也可以通過測試預期模型,收集、整理模型用戶的意見反饋。通過上述方法或其他實用措施,將手機到的信息與數據進行整合與處理,形成可視化的圖表與簡練的文字概述,即用戶需求概覽文件。
此概覽文件首先應符合用戶需求、獲得用戶認可,然后形成專業化的參考文件,切忌將用戶需求概覽文件直接作為嵌入式軟件開發的依據,而是應當根據上述參考文件(即軟件設計指導文件)進行具體的開發活動。需要注意的是,不管是用戶需求概覽文件,還是軟件設計指導文件,都不可避免地忽略了部分國家法規禁止的或行業標準要求的內容,此時需要開發從業人員根據自身經驗積累做出必要調整[3]。
在上述兩項工作之間往往需要跟蹤矩陣進行銜接,將用戶的需求和軟件開發實際相互聯系形成對應關系,確保滿足用戶對軟件的需求。
需求設定工作結束后,應當以此為后續工作的依據,開展軟件結構規劃工作。在軟件結構規劃的實際工作中,一般采用模塊化的工作方式。具體解釋為,將計算機軟件的結構進行模塊化,形成相對獨立又協調統一的各個模塊。由此實現各模塊的工作范圍劃分,提高單一工作的效率,使各模塊不產生工作范圍的交叉和干擾,而整體上又構成軟件工作流程的全環節。
在此之后,需要參考總體的結構規劃進行預期設計,尤其需要注意各模塊的工作范圍界限,在明確各模塊具體工作后才能按需設計。
當前期的設計工作全部結束后,就可以轉入正式的具體開發工作。在開發過程中,應當遵循先參考、再設計、后審查的原則,從全流程規范軟件的開發,確保嵌入式軟件產品符合需求、質量過關。
嵌入式軟件設計與開發工作全流程的最后一步是軟件的編寫與功能的應用,該流程又可分為兩個二級流程,即基礎軟件的開發和應用軟件的開發。針對前者,一般采用C語言進行驅動的程序編寫,在手寫編程結束后必須開展有針對性的模塊化診斷,避免出現程序邏輯上的差錯,然后形成書面審查文件以供后續參考。在此之后進行軟件的預期編譯,統籌調控軟件各模塊的工作,之后進入應用軟件開發部分。
針對后者,一般使用Matlab工具中的simulink&stateflow功能。重點在于浮點模型的定點化,通常依據浮點模型進行模塊化診斷,確認無誤后形成定點模型,且應避免出現模型轉換時的精確度差異。為實現上述目標,業內常用方法是比較前后兩種模型,并對重點數值參量進行檢測,在此過程中應允許一定的檢測誤差。
上述兩個二級流程均準確無誤后,需要將前期模塊化的各軟件結構進行邏輯上的整合與銜接。在此過程中,要做到既不破壞各模塊的相對獨立性,也要確保各模塊之間的銜接能滿足嵌入式軟件整體的工作任務。
如果整體的軟件能夠流暢運行且各模塊獨立工作,則可以進行車輛電子控制系統的放行測驗,在測驗時必須確保硬件全程在環系統之上。由于該環節是理論測試的最后一步,因此務必保證在系統整體的高度上進行最終的理論驗證。
如果理論上的各種測驗結果均符合參考數值,則可以進行真實條件下的操作實踐。真實的操作實踐應當達到既滿足理論參考數值,又兼顧用戶實際生產生活的要求。經過真實實踐后,如果符合上述標準,則該嵌入式軟件可以投入市場進行銷售。
伴隨著信息科學與大數據技術的發展,互聯網已經深刻影響并改變了人們的日常生活,例如早先興起的流媒體和新近出現的新媒體、融媒體,人們生活的各領域已經充斥著信息與大數據。因此,嵌入式軟件的設計與開發必須基于網絡開展,才能滿足大數據時代的用戶需求。
從本質上出發,嵌入式軟件的設計與開發屬于第三產業的多行業交叉,即信息產業與服務行業的交叉行業。在嵌入式軟件設計與開發行業的未來發展中,依然應當將軟件使用者的實際需求作為行業目標,合理、科學并有效地應用信息科學與大數據技術手段,有針對性地面向各類用戶,更加精確地滿足不同類型使用者的不同需求,
為了適應經濟全球化趨勢,嵌入式軟件設計與開發行業應當進行軟件系統的開源,在保證行業內部機密信息不會泄露的情況下,通過開放軟件實現各領域、各國家的協同合作、共同進步,切實推進全人類科學技術尤其是信息產業的高質量、高速度發展。
在當前背景下,計算機科學與工程在全社會各領域被廣泛應用,嵌入式軟件的設計與開發應運而生。通過研究嵌入式軟件設計與開發以及后期管理的技術和流程,嵌入式軟件從業人員可以更加高效、科學且合理地進行設計與開發工作,推動計算機軟件行業健康、平穩且有序地向著未來基于網絡、面向用戶、系統開源的形態發展,為全球科學技術與社會經濟發展貢獻力量。