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