軟件開發(fā)
電子設(shè)備軟件開發(fā)
電子工業(yè)專用設(shè)備軟件開發(fā)流程的研究
在電子工業(yè)專用設(shè)備領(lǐng)域中,隨著計算機運算能力的進一步增強,基于計算機平臺的設(shè)備集成控制系統(tǒng)越來越多,由軟件來實現(xiàn)的設(shè)備功能所占比例越來越大,軟件規(guī)模和編制的復(fù)雜度也隨之增加,原有結(jié)構(gòu)化、順序、單一的開發(fā)流程已不能適應(yīng)當今大規(guī)模、短周期、高質(zhì)量、系列化的軟件開發(fā)要求,這就需要針對當今電子專用設(shè)備的特點對其開發(fā)流程進行研究,以軟件工程思想為指導(dǎo),對軟件研發(fā)的全過程進行研究,探尋適合具體應(yīng)用要求的設(shè)備軟件開發(fā)流程。
一、主流的軟件開發(fā)流程介紹
軟件工程的目的是倡導(dǎo)工程的原理、原則和方法進行軟件開發(fā)[1]。軟件工程學(xué)是一門介于軟件科學(xué)、系統(tǒng)工程和工程管理學(xué)之間的邊緣性學(xué)科。軟件開發(fā)流程就是遵循著軟件工程的理論基礎(chǔ)來進行的。軟件開發(fā)流程是跨越整個軟件生存期的系統(tǒng)開發(fā)、運作和維護所實施的全部過程、活動和任務(wù)的結(jié)構(gòu)框架。典型的軟件開發(fā)流程有瀑布模型、V模型、螺旋模型和敏捷開發(fā)等,無論采用哪種模型方式,軟件開發(fā)過程都要包括支持軟件整個生命期的活動。
瀑布模型是是最原始的軟件開發(fā)模型,瀑布模型很好的體現(xiàn)了軟件開發(fā)的各個階段,如圖1所示。瀑布模型在需求和設(shè)計中的問題是無法在項目開發(fā)的前期被檢出,只有當?shù)谝淮蜗到y(tǒng)集成時,這些設(shè)計缺陷才會在測試中暴露出來,從而導(dǎo)致一系列的返工:重新設(shè)計、編碼、測試,進而導(dǎo)致項目的延期和開發(fā)成本的上升。
V模型是瀑布模型的變異,示范了如何將測試和分析設(shè)計聯(lián)系起來。如圖2所示,編碼為V的頂點,分析和設(shè)計在左,測試和維護在右。V模型建議單元和綜合測試也應(yīng)被用來驗證程序設(shè)計。也就是說,編碼員和測試小組成員應(yīng)確保程序設(shè)計的系統(tǒng)設(shè)計方面已經(jīng)在代碼中正確實現(xiàn)。類似地,系統(tǒng)測試應(yīng)驗證系統(tǒng)設(shè)計,確保所有系統(tǒng)設(shè)計方面被正確地實現(xiàn)。驗收測試通過將一個測試步驟和規(guī)格中每個元素聯(lián)系起來確認需求。V模型左側(cè)與右側(cè)的聯(lián)接暗示如果在驗證和確認期間發(fā)現(xiàn)問題,那么V的左側(cè)能被重新執(zhí)行來修改并改進需求。
螺旋模型是針對風(fēng)險較大的項目而設(shè)計的一種模型[3]。它的每一個周期都包括制定計劃、風(fēng)險分析、實施過程和評審四個階段,由這四個階段進行迭代。軟件開發(fā)過程每迭代一次,軟件開發(fā)又前進一個層次。采用螺旋模型的軟件過程如圖3所示。
螺旋模型基本做法是在瀑布模型的每一個開發(fā)階段前引入一個非常嚴格的風(fēng)險識別、風(fēng)險分析和風(fēng)險控制,它把軟件項目分解成一個個小項目。每個小項目都標識一個或多個主要風(fēng)險,直到所有的主要風(fēng)險因素都被確定。與瀑布模型相比,螺旋模型支持用戶需求的動態(tài)變化,為用戶參與軟件開發(fā)的所有關(guān)鍵決策提供了方便,有助于提高目標軟件的適應(yīng)能力。并且為項目管理人員及時調(diào)整管理決策提供了便利,從而降低了軟件開發(fā)風(fēng)險。但是采用螺旋模型需要具有相當豐富的風(fēng)險評估經(jīng)驗和專門知識,在風(fēng)險較大的項目開發(fā)中,如果未能夠及時標識風(fēng)險,勢必造成重大損失。過多的迭代次數(shù)會增加開發(fā)成本,延遲提交時間。
二、電子工業(yè)專用設(shè)備軟件的特點
電子工業(yè)專用設(shè)備軟件是運行于特定的組成設(shè)備的電氣設(shè)計硬件平臺上,協(xié)調(diào)驅(qū)動設(shè)備各部分來完成系統(tǒng)集成,從而滿足顧客(客戶)特定工藝要求的一類應(yīng)用軟件系統(tǒng)。專用設(shè)備軟件是軟件的一個大的分支,廣泛應(yīng)用到工業(yè)生產(chǎn)中,這類軟件與普通的商業(yè)軟件有很大的區(qū)別,商業(yè)軟件只是應(yīng)用到計算機中,而專用設(shè)備軟件是基于計算機平臺的。
現(xiàn)代化的設(shè)備軟件規(guī)模越來越大,從初始的只有幾百行代碼到現(xiàn)代化的設(shè)備有幾萬甚至幾十萬代碼,軟件在設(shè)備的功能實現(xiàn)中所占的比例也越來越高。專用設(shè)備軟件與硬件緊密結(jié)合,要求軟件的人機界面友好,各種關(guān)鍵參數(shù)狀態(tài)實時顯示,可靠性高,能夠長時間穩(wěn)定運行。
除了設(shè)備的硬件設(shè)施之外,設(shè)備的生產(chǎn)工藝對軟件的開發(fā)有巨大的影響,軟件需求分析就是對設(shè)備電氣設(shè)計和生產(chǎn)工藝的綜合分析。因此在專用設(shè)備軟件開發(fā)過程中需要在既有硬件平臺上與生產(chǎn)工藝進行結(jié)合。但是在新設(shè)備的開發(fā)過程中,設(shè)備沒有投入生產(chǎn),生產(chǎn)工藝也不明確初始需求不明確,需要在生產(chǎn)中不斷調(diào)整,設(shè)備的硬件也有可能變動,所以專用設(shè)備軟件的軟件需求變化大,給軟件開發(fā)帶來很大的不方便。但是設(shè)備軟件一般只運行在單臺設(shè)備上,軟件的規(guī)模屬于中小型,這樣就使需求的變動對軟件開發(fā)的影響在一定范圍內(nèi)。
三、電子工業(yè)專用設(shè)備軟件開發(fā)流程
結(jié)合電子工業(yè)專用設(shè)備軟件的特點和各種軟件開發(fā)流程的優(yōu)缺點,根據(jù)設(shè)備專用軟件初始需求不明確,需求在開發(fā)過程中不斷變化等特點,設(shè)計了以螺旋模型為基礎(chǔ)的軟件開發(fā)流程。
首先根據(jù)初始需求制定一個穩(wěn)定的軟件架構(gòu),完成一個軟件的最小原型,然后根據(jù)需求的變化在軟件最小原型的基礎(chǔ)上完成多個中間版本,最后完成滿足客戶需求的版本。軟件開發(fā)流程如圖4所示。
軟件開發(fā)流程的描述:
(1)項目預(yù)研階段。主要活動是進行項目的預(yù)研和考察,與客戶進行溝通,并對軟件項目方面的風(fēng)險和開發(fā)進度進行估算,評價軟件項目在技術(shù)是否可行,對軟件項目實施的風(fēng)險進行評估。對應(yīng)文檔是項目合同、項目可行性研究報告和項目開發(fā)計劃。
(2)項目開發(fā)階段。項目開發(fā)可以分為最小原形版本、中間版本和最終版本等多個版本。每個版本都可以分為需求分析、概要設(shè)計、詳細設(shè)計、聯(lián)調(diào)測試和版本發(fā)布5個階段。
項目開發(fā)首先從最小原型版本開始,最小原型版本包含軟件的核心功能。是中間版本迭代的基礎(chǔ)。最小原型版本完成后繼續(xù)進行中間版本的開發(fā),每次中間版本的開發(fā)工作都是在上一版本的基礎(chǔ)上繼續(xù)添加模塊和完善軟件功能。所做的修改記錄到各個開發(fā)文件中,流程與最小原型版本一致,如此進行多個版本的迭代開發(fā),直至完成最終版本。最終版本開發(fā)的軟件發(fā)布階段需要增加的文檔有用戶手冊和項目開發(fā)總結(jié),并由合同雙方共同對軟件進行評審,軟件經(jīng)過設(shè)備工藝調(diào)試并經(jīng)驗收合格后通過評審,應(yīng)當做成安裝包供客戶使用,評審合格之后進入維護階段。
(a)需求分析階段:對應(yīng)的文檔是軟件需求說明書,對設(shè)備軟件來說要重點了解生產(chǎn)工藝,并在需求規(guī)格說明書中畫出UML用例圖。在需求分析完成時,進行需求分析評審,形成評審意見書。(b)概要設(shè)計階段:完成整體架構(gòu)設(shè)計,并劃分模塊,完成概要設(shè)計說明書和軟件測試計劃,在概要設(shè)計中要有詳細的軟件架構(gòu)圖。在概要設(shè)計完成時,進行概要設(shè)計,填寫評審意見書。(c)詳細設(shè)計階段:進行各個模塊的代碼編寫和詳細設(shè)計說明書的編寫,詳細設(shè)計說明書中的圖表有類的UML靜態(tài)圖,順序圖,模塊邏輯流程圖,設(shè)計完成后對代碼和文檔進行評審進行質(zhì)量評審。(d)聯(lián)調(diào)測試階段:在設(shè)備平臺上調(diào)試代碼,修復(fù)程序中的錯誤并進行記錄到軟件調(diào)試報告中。(e)版本發(fā)布階段:通過軟件驗收評審合格后。發(fā)布一個階段版本,給出一個版本號。
(3)維護階段。在軟件的維護過程中,如發(fā)現(xiàn)軟件質(zhì)量問題,應(yīng)將問題以文檔形式提交技術(shù)討論,研究并解決問題,解決方案要記錄到軟件維護報告中。對軟件進行改進時,應(yīng)當做好改進記錄并進行版本升級,并升級需要更改的軟件文檔,軟件升級后應(yīng)當提供軟件升級包、升級內(nèi)容說明和操作說明書。
通過采用該軟件開發(fā)流程,在軟件開發(fā)過程中形成了各種軟件開發(fā)文檔,文檔是構(gòu)成軟件的組成部分,是軟件的圖紙,是設(shè)計思想的表述方式,要保證文檔的齊全有效。文檔使對開發(fā)人員的工作進度檢查有了依據(jù),保證了軟件產(chǎn)品開發(fā)的可控性,保障了軟件產(chǎn)品的質(zhì)量。即使出現(xiàn)了原班軟件開發(fā)人員換值的情況,新的軟件開發(fā)人員也能夠根據(jù)保留的文檔很快的接續(xù)工作,保證了軟件開發(fā)的可持續(xù)性和可維護性。
總結(jié)
該專用設(shè)備軟件開發(fā)流程,針對軟件項目的開發(fā)過程進行相應(yīng)管理,明確了流程中的各階段、要求的軟件文檔和相關(guān)活動,提高了電子專用設(shè)備軟件的研發(fā)可控性、可持續(xù)性和可維護性,使軟件成為有質(zhì)量的產(chǎn)品提供了保障。在具體應(yīng)用時,要根據(jù)項目的不同情況和特點進行靈活調(diào)整,不可一概而論。
以上就是我們深圳市組創(chuàng)微電子有限公司為您介紹的電子工業(yè)專用設(shè)備軟件開發(fā)流程。如果您有智能電子產(chǎn)品的軟硬件功能開發(fā)需求,可以放心交給我們,我們有豐富的電子產(chǎn)品定制開發(fā)經(jīng)驗,可以盡快評估開發(fā)周期與IC價格,也可以核算PCBA報價。我們是多家國內(nèi)外芯片代理商:松翰、應(yīng)廣、杰理、安凱、全志、realtek,有MCU、語音IC、藍牙IC與模塊、wifi模塊。我們的擁有硬件設(shè)計與軟件開發(fā)能力。涵蓋了電路設(shè)計、PCB設(shè)計、單片機開發(fā)、軟件定制開發(fā)、APP定制開發(fā)、微信公眾號開發(fā)、語音識別技術(shù)、藍牙wifi開發(fā)等。還可以承接智能電子產(chǎn)品研發(fā)、家用電器方案設(shè)計、美容儀器開發(fā)、物聯(lián)網(wǎng)應(yīng)用開發(fā)、智能家居方案設(shè)計、TWS耳機開發(fā)、藍牙耳機音箱開發(fā)、兒童玩具方案開發(fā)、電子教育產(chǎn)品研發(fā)。
- 返回頂部