qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請(qǐng)?jiān)L問(wèn) http://qaseven.github.io/

          實(shí)時(shí)控制軟件的質(zhì)量

           如何確保嵌入式實(shí)時(shí)控制軟件的質(zhì)量?對(duì)這類(lèi)軟件的生產(chǎn)過(guò)程如何進(jìn)行有效的質(zhì)量控制?這是一個(gè)重要的研究課題。為解決軟件危機(jī)而產(chǎn)生和發(fā)展起來(lái)的軟件工程成功地解決了軟件開(kāi)發(fā)中存在的許多問(wèn)題。它不僅對(duì)軟件開(kāi)發(fā)、設(shè)計(jì)和生產(chǎn)有直接影響,而且對(duì)提高軟件質(zhì)量有顯著成效。實(shí)踐表明,使用軟件工程方法,可達(dá)到一般的質(zhì)量要求。但當(dāng)軟件質(zhì)量要求更高時(shí),則必須在實(shí)施軟件工程的同時(shí),采取一些專(zhuān)門(mén)的可靠性工程技術(shù)和方法,以保證需求的可靠性。

            軟件工程是指按照工程的規(guī)律來(lái)組織軟件的生產(chǎn)與開(kāi)發(fā)。軟件工程化要求以軟件質(zhì)量控制為核心,緊緊抓住軟件生產(chǎn)方法、需求分析、軟件設(shè)計(jì)、軟件生產(chǎn)工具、測(cè)試、驗(yàn)證與確認(rèn)、評(píng)審和管理等8個(gè)主要環(huán)節(jié)(圖1)。

            軟件生產(chǎn)方法

            軟件是產(chǎn)品。從產(chǎn)品的意義上說(shuō),所謂軟件開(kāi)發(fā)應(yīng)為軟件生產(chǎn)。軟件應(yīng)采用工程化、結(jié)構(gòu)化和規(guī)范化方法進(jìn)行生產(chǎn)。軟件工程化是指使用軟件工程的理論、技術(shù)、要求和管理等來(lái)規(guī)范軟件開(kāi)發(fā)過(guò)程中的全部活動(dòng)。硬件生產(chǎn)已有一套成熟的工程化方法,軟件要向硬件學(xué)習(xí),使軟件硬化,把軟件看作是軟件工廠中的產(chǎn)品。

            軟件規(guī)范化是指在軟件生存周期中,軟件的生產(chǎn)活動(dòng)必須嚴(yán)格遵循各項(xiàng)軟件規(guī)范和標(biāo)準(zhǔn)。經(jīng)驗(yàn)證明,沒(méi)有規(guī)范就沒(méi)有產(chǎn)品,也就沒(méi)有軟件。執(zhí)行規(guī)范必須動(dòng)真格。執(zhí)行規(guī)范工作量是大些(工作量主要在文檔、審查、驗(yàn)證、評(píng)審和管理上),但受益卻是明顯的。由于軟件開(kāi)發(fā)過(guò)程規(guī)范提高了軟件質(zhì)量,這樣不僅減輕了損失,而且還促進(jìn)了軟件的生產(chǎn)進(jìn)度,提高了軟件的生產(chǎn)率。

            軟件結(jié)構(gòu)化是指軟件生產(chǎn)過(guò)程中采用了結(jié)構(gòu)化分析和結(jié)構(gòu)化設(shè)計(jì)方法。

            軟件需求分析

            軟件需求分析的目的是使軟件設(shè)計(jì)人員和用戶(hù)之間進(jìn)行全面和深入的溝通,以明確用戶(hù)所需的究竟是一種什么樣的軟件。需溝通的主要內(nèi)容有:將要開(kāi)發(fā)的軟件所涉及的概念、定義、目標(biāo)、指標(biāo)、功能、控制邏輯、算法、環(huán)境、時(shí)序、執(zhí)行過(guò)程和特點(diǎn)等。通過(guò)需求分析產(chǎn)生的軟件規(guī)格說(shuō)明書(shū)是此后軟件設(shè)計(jì)、調(diào)試和測(cè)試工作的基礎(chǔ),是軟件評(píng)審、鑒定和驗(yàn)收的依據(jù)之一。因此,需求分析是軟件生產(chǎn)中的一個(gè)首要步驟。一份軟件規(guī)格說(shuō)明書(shū)的質(zhì)量?jī)?yōu)劣,一方面取決于需要分析深入的程度,另一方面取決于系統(tǒng)分析員刻畫(huà)軟件需求的正確性、完整性、合理性和一致性達(dá)到的程度。

            眾所周知,軟件怕修改,更怕需求變更。原因在于:

            ● 軟件修改的工作量大,關(guān)鍵軟件的任何修改,必須經(jīng)歷一個(gè)調(diào)試、測(cè)試、驗(yàn)證與確認(rèn)的步驟。

            ● 花費(fèi)的代價(jià)高,經(jīng)試驗(yàn)考核過(guò)的軟件,又要更改軟件需求,即使是只改了一個(gè)參數(shù),也需要對(duì)更改的軟件作重復(fù)考核。有的實(shí)時(shí)控制系統(tǒng)一次試驗(yàn)的代價(jià)是相當(dāng)大的。

            ● 軟件修改的牽涉面廣,往往有牽一發(fā)而動(dòng)全身的問(wèn)題。尤其是由多個(gè)分系統(tǒng)組成的系統(tǒng)(例如軍事指揮的C3I系統(tǒng)),任何·一項(xiàng)修改均要考慮是否會(huì)影響其他的分系統(tǒng)。

            軟件可靠性需求分析要求全面、細(xì)致和深入。

            不難看出,軟件需求分析的過(guò)程,也是軟件設(shè)計(jì)方案的醞釀過(guò)程。通過(guò)分析應(yīng)得出用戶(hù)需求的正確性、合理性和完整性的結(jié)論;同時(shí),也應(yīng)得出軟件付諸實(shí)現(xiàn)的可行性、可靠性和安全性的結(jié)論。軟件需求分析的銜接關(guān)系見(jiàn)圖2。





          軟件設(shè)計(jì)

            軟件也和硬件一樣,它的質(zhì)量是設(shè)計(jì)出來(lái)的,生產(chǎn)出來(lái)的。其中,設(shè)計(jì)對(duì)軟件質(zhì)量具有關(guān)鍵性的影響。設(shè)計(jì)的重要性可從圖3看出,其中(a)為經(jīng)歷了設(shè)計(jì)步驟后的效果,在軟件使用和維修階段,軟件的問(wèn)題少;反之,(b)為跳過(guò)設(shè)計(jì)步驟,到了使用和維修階段,軟件問(wèn)題成堆,到了不可收拾的地步。基于這種情況,應(yīng)強(qiáng)調(diào):軟件設(shè)計(jì)未完成,不得轉(zhuǎn)入軟件編碼階段。

            良好的軟件設(shè)計(jì)與所采用的軟件設(shè)計(jì)方法、設(shè)計(jì)工具和設(shè)計(jì)準(zhǔn)則有關(guān)。軟件設(shè)計(jì)方法主要有面向數(shù)據(jù)流的設(shè)計(jì)、面向?qū)ο蟮脑O(shè)計(jì)和面向數(shù)據(jù)的設(shè)計(jì)方法等。這些方法均有其優(yōu)缺點(diǎn)和不同的應(yīng)用領(lǐng)域。目前,大多數(shù)嵌入式的實(shí)時(shí)控制軟件使用的是面向數(shù)據(jù)流的設(shè)計(jì)方法。該方法的目標(biāo)是以一種全局的軟件觀點(diǎn)和體系結(jié)構(gòu)設(shè)計(jì)的角度派生出程序結(jié)構(gòu)。

            面向數(shù)據(jù)流的設(shè)計(jì)又稱(chēng)為結(jié)構(gòu)化設(shè)計(jì)。它強(qiáng)調(diào)模塊化、層次化和自頂向下等設(shè)計(jì)思想。這些思想的根本目的是對(duì)復(fù)雜問(wèn)題的解決采用一個(gè)簡(jiǎn)化過(guò)程以獲得滿意的答案。通過(guò)這種簡(jiǎn)化,縱有千頭萬(wàn)緒也能理得清清楚楚。一個(gè)設(shè)計(jì)準(zhǔn)則是要將復(fù)雜的問(wèn)題簡(jiǎn)化,切忌將簡(jiǎn)單的問(wèn)題復(fù)雜化。好的程序設(shè)計(jì)語(yǔ)言,無(wú)疑對(duì)設(shè)計(jì)高質(zhì)量的軟件是有益的。例如,Ada語(yǔ)言,與一般語(yǔ)言比較,它所特有的一些語(yǔ)言成分旨在突出軟件可靠性和安全性,便于軟件維護(hù),便于實(shí)行程序的層次式管理和提高程序的易讀性、高效性等。

            軟件可靠性設(shè)計(jì)主要將軟件的檢錯(cuò)、避錯(cuò)、容錯(cuò)和異常處理技術(shù)灌輸?shù)杰浖O(shè)計(jì)中去,設(shè)計(jì)時(shí)應(yīng)處處關(guān)心:

            ● 控制邏輯的完整性;

            ● 軟件與硬件、軟件與軟件界面之間的協(xié)調(diào)性;

            ● 人機(jī)交互的有效性;

            ● 信息交換的正確性;

            ● 設(shè)備控制的安全性;

            ● 時(shí)序控制的合理性;

            ● 數(shù)學(xué)運(yùn)算中變量定義域的合法性。

            軟件生產(chǎn)工具

            軟件生產(chǎn)的主要工具是軟件試驗(yàn)臺(tái)(Software Testbed)或軟件開(kāi)發(fā)平臺(tái)。在軟件需求分析的同時(shí),就要考慮到這類(lèi)軟件開(kāi)發(fā)環(huán)境的創(chuàng)造。它應(yīng)滿足下列要求:

            (1)它的組成、結(jié)構(gòu)、性能、功能和工作的方式與狀態(tài),力求與實(shí)際系統(tǒng)一致。優(yōu)點(diǎn)是:

            ● 它與實(shí)際系統(tǒng)出現(xiàn)的故障現(xiàn)象是一樣的,便于故障隔離。

            ● 軟件試驗(yàn)臺(tái)與實(shí)際系統(tǒng)的軟件可彼此互相復(fù)制,便于軟件開(kāi)發(fā)過(guò)程交替上升。

            ● 具有互補(bǔ)性,試驗(yàn)臺(tái)有局限性的問(wèn)題可在實(shí)際系統(tǒng)解決;實(shí)際系統(tǒng)上有困難的,代價(jià)太大的檢測(cè)活動(dòng)可在試驗(yàn)臺(tái)上進(jìn)行。

            (2)配上多媒體工作站,提供軟件測(cè)試過(guò)程中綜合信息的顯示和生產(chǎn)真實(shí)工作環(huán)境中的音響效果。

            (3)配備實(shí)時(shí)數(shù)據(jù)采集器。

            (4)能支持實(shí)時(shí)與非實(shí)時(shí)兩種運(yùn)行方式的調(diào)試活動(dòng)。

          軟件試驗(yàn)臺(tái)是輔助軟件調(diào)試、測(cè)試、試驗(yàn)和驗(yàn)證的重要工具。在某種程度上可以得出這樣的結(jié)論:沒(méi)有軟件試驗(yàn)臺(tái)就不能順利地開(kāi)發(fā)出實(shí)時(shí)控制系統(tǒng)軟件。原因在于:

            (1)這類(lèi)復(fù)雜的軟件在實(shí)際系統(tǒng)上開(kāi)發(fā)是不可能的,其代價(jià)太大,效率太低,效果太差。

            (2)軟件開(kāi)發(fā)是個(gè)做細(xì)致研究、分析和不斷探索的過(guò)程,軟件試驗(yàn)臺(tái)能適應(yīng)這種工作方式。

            (3)它是軟件編程、調(diào)試、測(cè)試、集成和試驗(yàn)的綜合環(huán)境。

            (4)它是支持軟件原型化開(kāi)發(fā)方法的重要手段。

            一般來(lái)說(shuō),實(shí)時(shí)控制系統(tǒng)軟件的第一個(gè)原型是在軟件試驗(yàn)臺(tái)上開(kāi)發(fā)出來(lái)的。有了軟件原型,就有了與用戶(hù)深入討論、分析和確認(rèn)軟件需求的基礎(chǔ)。實(shí)踐證明,經(jīng)過(guò)軟件試驗(yàn)臺(tái)測(cè)試通過(guò)的軟件,基本上能用于實(shí)際實(shí)時(shí)控制系統(tǒng)的系統(tǒng)聯(lián)調(diào)、測(cè)試、試驗(yàn)和系統(tǒng)驗(yàn)收。

            軟件測(cè)試

            從軟件生存周期看,軟件測(cè)試是卡住軟件質(zhì)量,尤其是卡住軟件可靠性的最后一道關(guān)口。但軟件測(cè)試并不僅僅局限于這個(gè)階段,而應(yīng)貫穿于軟件開(kāi)發(fā)的全過(guò)程(見(jiàn)圖4)。應(yīng)解決這樣一個(gè)認(rèn)識(shí)問(wèn)題——用于實(shí)時(shí)控制系統(tǒng)一類(lèi)的復(fù)雜軟件,自認(rèn)為沒(méi)有錯(cuò)誤的想法是不切合實(shí)際的。因此,測(cè)試的主要目的是:

            1)對(duì)軟件的質(zhì)量或可接受性作出判斷;

            2)發(fā)現(xiàn)問(wèn)題。

            從圖4看出,會(huì)產(chǎn)生錯(cuò)誤的階段是在需求說(shuō)明、設(shè)計(jì)和編程過(guò)程中。這些錯(cuò)誤若不排除,均會(huì)遺傳到測(cè)試階段,甚至?xí)z傳到使用階段。利用測(cè)試用例測(cè)出問(wèn)題進(jìn)行故障分類(lèi)、故障隔離和故障消除等步驟,直到獲得滿意的測(cè)試結(jié)果為止。

            測(cè)試用例的編寫(xiě)格式和內(nèi)容如圖5所示。測(cè)試的設(shè)計(jì)。難就難在試圖利用這組測(cè)試用例能找出軟件的全部問(wèn)題。格式中含有測(cè)試管理信息——測(cè)試用例標(biāo)識(shí)和執(zhí)行史。測(cè)試用例標(biāo)識(shí)是按一定規(guī)律統(tǒng)一為每個(gè)測(cè)試?yán)x予的代號(hào),便于需求追蹤。執(zhí)行史中有測(cè)試日期、測(cè)試結(jié)果(給出結(jié)論:通過(guò)/失敗)、版本號(hào)和主管的測(cè)試者簽字,這些都是有保存價(jià)值的資料。測(cè)試用例是需要精心設(shè)計(jì)、編寫(xiě)、評(píng)審、使用、管理和保存的。


            軟件測(cè)試要求在測(cè)試過(guò)程中,采集軟件可靠性數(shù)據(jù),并利用軟件可靠性模型進(jìn)行可靠性評(píng)估。分析其是否達(dá)到了預(yù)期的可靠性要求。并據(jù)此作出該軟件能否放行的決斷。若不滿足要求,需繼續(xù)進(jìn)行測(cè)試,直到滿足要求為止。可見(jiàn)這是一項(xiàng)十分花精力的活動(dòng)。

           軟件驗(yàn)證與確認(rèn)

            軟件驗(yàn)證(Verification)和確認(rèn)(Validation),簡(jiǎn)稱(chēng)為V&V 或V2。驗(yàn)證和確認(rèn)的區(qū)別在于:驗(yàn)證關(guān)心的是確保軟件模塊或功能內(nèi)在的正確性;確認(rèn)則表明要與規(guī)定的需求進(jìn)行比較是否滿足要求,它所關(guān)心的是該軟件產(chǎn)品的價(jià)值。

            軟件驗(yàn)證與確認(rèn)是貫穿于軟件開(kāi)發(fā)過(guò)程中十分細(xì)致的軟件檢驗(yàn)活動(dòng)。每個(gè)開(kāi)發(fā)階段的結(jié)果可認(rèn)為是下一開(kāi)發(fā)階段的一個(gè)規(guī)格文件,但要進(jìn)入下一階段之前必須對(duì)該結(jié)果作出確認(rèn)。驗(yàn)證和確認(rèn)的主要方法有:代碼走查、審查、測(cè)試和正確性證明等。代碼走查就是對(duì)軟件文檔進(jìn)行書(shū)面檢查。它通過(guò)人工模擬執(zhí)行源程序的過(guò)程,檢查軟件設(shè)計(jì)的正確性。人工模擬也像計(jì)算機(jī)執(zhí)行那樣,可以仔細(xì)推敲、校驗(yàn)和核實(shí)每一步的執(zhí)行結(jié)果,進(jìn)而確定其執(zhí)行邏輯、控制模型、算法和使用參數(shù)與數(shù)據(jù)的正確性。

            審查是軟件驗(yàn)證和確認(rèn)中的一個(gè)主要方法,可彌補(bǔ)其他方法的一些不足之處。它是一種用形式的、有效的和經(jīng)濟(jì)的方法查找設(shè)計(jì)和編程中的錯(cuò)誤。審查的主要目的是1)找出軟件中的缺陷;2)核實(shí)是否符合需求;3)早期生產(chǎn)評(píng)價(jià);4)過(guò)程評(píng)價(jià)等。由第三方進(jìn)行軟件評(píng)測(cè)工作是十分重要的,其評(píng)測(cè)工具軟件對(duì)軟件進(jìn)行靜態(tài)的和動(dòng)態(tài)的評(píng)測(cè),能發(fā)現(xiàn)軟件設(shè)計(jì)的缺陷、瓶頸和多余物等。值得指出的是,用于軟件測(cè)試的各種方法、技術(shù)、工具和措施等,對(duì)提高軟件的可靠性都是必要的,但不是充分的。這就表明,其中任何一個(gè)手段,均不能絕對(duì)保障軟件的可靠性,但只要能發(fā)現(xiàn)軟件中任何一個(gè)微小的錯(cuò)誤,就起到了它的作用。

            軟件評(píng)審

            從某種意義上說(shuō),軟件中的多數(shù)錯(cuò)誤是人為的。軟件評(píng)審是軟件生產(chǎn)過(guò)程中過(guò)濾軟件錯(cuò)誤的一個(gè)“濾波器”。軟件評(píng)審涉及評(píng)審的組織機(jī)構(gòu)、管理、準(zhǔn)則、類(lèi)別、內(nèi)容、文件和要求等。

            一般要求在軟件研制階段的里程碑點(diǎn)進(jìn)行軟件評(píng)審。評(píng)審的主要類(lèi)別有:軟件定義評(píng)審、軟件需求評(píng)審、概要設(shè)計(jì)評(píng)審、詳細(xì)設(shè)計(jì)評(píng)審、軟件實(shí)現(xiàn)評(píng)審和軟件驗(yàn)收評(píng)審等。

            評(píng)審的原則:

            ● 某階段未通過(guò)階段評(píng)審不得進(jìn)入下一個(gè)軟件研制階段;

            ● 評(píng)審時(shí)對(duì)事不對(duì)人,評(píng)審的是產(chǎn)品,而不是評(píng)審生產(chǎn)者;

            ● 評(píng)審就要挑刺,找問(wèn)題、缺陷和隱患;

            ● 評(píng)審組的人員面越廣越好;

            ● 評(píng)審組不作無(wú)休止的爭(zhēng)論和辯駁,將爭(zhēng)論點(diǎn)記錄下來(lái),供以后甄別;

            ● 評(píng)審只是提出問(wèn)題,沒(méi)有解決問(wèn)題的任務(wù);

            ● 使用“評(píng)審檢查單”以提高評(píng)審的效果;

            評(píng)審的作用:

            ● 技術(shù)把關(guān),避免軟件人員的想當(dāng)然;

            ● 概念溝通,吸收用戶(hù)和總體人員參加,審查軟件人員理解的正確性;

            ● 集思廣益,吸收有關(guān)的分系統(tǒng)人員參加,從不同側(cè)面確認(rèn)軟件的協(xié)調(diào)性;

            ● 總結(jié)匯報(bào),使實(shí)時(shí)控制系統(tǒng)總指揮、總設(shè)計(jì)師了解軟件生產(chǎn)的進(jìn)度、問(wèn)題和要求,作出新的部署。

            評(píng)審很容易走過(guò)場(chǎng)、走形式。評(píng)審效果的好壞,與當(dāng)事人(軟件人員)密切相關(guān)。基于有問(wèn)題才需要評(píng)審,不能輕信自己的軟件,導(dǎo)致對(duì)評(píng)審產(chǎn)生對(duì)立情緒。對(duì)評(píng)審出的問(wèn)題進(jìn)行整理、分類(lèi)和匯總,不忽視任何一個(gè)細(xì)小的疑點(diǎn)。

            軟件管理

            科學(xué)的管理能夠出可靠性、出效果、出效益。軟件的管理工作不完善、不嚴(yán)格,是引起意外事故的原因之一。軟件管理主要包括軟件項(xiàng)目管理、軟件配置管理、軟件可靠性管理和軟件質(zhì)量管理等方面。

            軟件項(xiàng)目管理的內(nèi)容包括軟件開(kāi)發(fā)過(guò)程管理、軟件可靠性度量、風(fēng)險(xiǎn)管理(包括風(fēng)險(xiǎn)分析和估計(jì))、確定項(xiàng)目任務(wù)、建立可操作的工程計(jì)劃等。軟件項(xiàng)目管理是軟件管理工作的第一層。需要強(qiáng)調(diào)的是,它不是一個(gè)階段,也不僅僅是個(gè)步驟,而是貫穿于整個(gè)軟件開(kāi)發(fā)工程中的一個(gè)層次。從其管理內(nèi)容來(lái)看,這是一種十分重要的管理工作。其管理的好壞,直接影響產(chǎn)品的質(zhì)量。這項(xiàng)管理尚處于起步狀態(tài),是個(gè)薄弱環(huán)節(jié)。軟件配置管理是軟件人員和管理人員確定、組織和開(kāi)展軟件修改的手段,目的是在軟件修改過(guò)程中設(shè)法少犯差錯(cuò)來(lái)最大限度地提高軟件產(chǎn)品的生產(chǎn)率。軟件配置管理涉及軟件配置項(xiàng)和基線的確定。

            軟件配置項(xiàng)可理解為在軟件生產(chǎn)的某個(gè)階段應(yīng)具備的軟件文檔和保存軟件的介質(zhì)等。軟件基線(基準(zhǔn))又稱(chēng)里程碑。軟件配置項(xiàng)經(jīng)軟件驗(yàn)證、確認(rèn)、評(píng)審和認(rèn)定后,形成了軟件基線,也就成了該階段的一個(gè)基準(zhǔn)。下一個(gè)階段只能在這個(gè)基準(zhǔn)上進(jìn)行開(kāi)發(fā)活動(dòng)。

          軟件配置管理要求:

            ● 軟件修改必須遵循軟件更改規(guī)范;

            ● 未經(jīng)批準(zhǔn)的更改,任何人無(wú)權(quán)修改;

            ● 更改后必須測(cè)試、驗(yàn)證和確認(rèn);

            ● 軟件驗(yàn)收,必須對(duì)相應(yīng)的軟件進(jìn)行評(píng)審。

            具備評(píng)審的條件包括:相對(duì)該基線的軟件配置項(xiàng)齊全、有測(cè)試結(jié)果和測(cè)試分析報(bào)告及軟件優(yōu)化報(bào)告。

            文檔管理是一項(xiàng)十分艱巨而又瑣碎的工作,要求:文檔編寫(xiě)必須規(guī)范、文實(shí)相符、文文相符、描述具有一致性、確切性和簡(jiǎn)明性、簽署完整、職責(zé)明確。軟件可靠性管理作了一些初步的嘗試。在軟件生產(chǎn)過(guò)程中,設(shè)計(jì)了軟件可靠性數(shù)據(jù)采集表格。對(duì)軟件中的需求、模型、設(shè)計(jì)、編碼和定義域等方面的錯(cuò)誤均要填表。填寫(xiě)產(chǎn)生該錯(cuò)誤的時(shí)間(計(jì)算機(jī)執(zhí)行的累計(jì)時(shí)間)、錯(cuò)誤性質(zhì)、出錯(cuò)原因和排除錯(cuò)誤的結(jié)果等。

            主要問(wèn)題與解決方法

            對(duì)實(shí)時(shí)控制系統(tǒng)軟件工程化的重要性的認(rèn)識(shí)尚處于起步階段,重視程度也不平衡。主要問(wèn)題:

            (1)部分系統(tǒng)的軟件開(kāi)發(fā)由硬件人員承擔(dān)。硬件、軟件、模型設(shè)計(jì)均由一個(gè)組完成,仍是典型的“自編、自導(dǎo)、自演”小作坊的工作方式。

            (2) 還不太習(xí)慣于軟件工程化、規(guī)范化、結(jié)構(gòu)化和模塊化的軟件生產(chǎn)方法。往往跳過(guò)了軟件設(shè)計(jì)階段,而是先有編碼,為了軟件檢查才補(bǔ)設(shè)計(jì)。

            (3)缺少配套的軟件測(cè)試工具。試圖利用實(shí)時(shí)控制系統(tǒng)進(jìn)行軟件的調(diào)試、測(cè)試、驗(yàn)證、確認(rèn)和試驗(yàn)工作,這樣的軟件測(cè)試必然是不完整的,也是有局限性的,更是不科學(xué)的。

            (4)實(shí)時(shí)控制系統(tǒng)軟件可靠性工程的研究是自發(fā)的,未納入實(shí)時(shí)控制系統(tǒng)研制計(jì)劃,影響這項(xiàng)工作的深入開(kāi)(5)需要解決實(shí)時(shí)控制系統(tǒng)軟件工程化方面的若干模糊認(rèn)識(shí):

            ● 軟件就是編程;

            ● 沒(méi)有測(cè)試工具照樣可以開(kāi)發(fā)出軟件;

            ● 舍不得在軟件可靠性上化成本;

            ● 出了問(wèn)題,才發(fā)現(xiàn)軟件似乎比硬件更重要。

            (5)實(shí)時(shí)控制系統(tǒng)軟件可靠性指標(biāo)不好定。原因是軟件可靠性的評(píng)估涉及模型、方法、工具和條件等問(wèn)題。當(dāng)前,要求軟件的可靠性為100%,對(duì)軟件是不公正的,也是過(guò)于苛刻的。

            建議

            (1)軟件可靠性工程也是一項(xiàng)涉及面很廣的系統(tǒng)工程,應(yīng)加強(qiáng)這項(xiàng)技術(shù)的研究力度。尤其要結(jié)合具體實(shí)時(shí)控制系統(tǒng)設(shè)置研究課題,使實(shí)時(shí)控制系統(tǒng)軟件的生產(chǎn)過(guò)程同時(shí)也是軟件可靠性工程的實(shí)施過(guò)程。使自發(fā)的可靠性工作成為有計(jì)劃、有組織和有目標(biāo)的研究工作。

            (2)適用于嵌入式計(jì)算機(jī)的實(shí)時(shí)軟件,例如實(shí)時(shí)操作系統(tǒng)、Ada語(yǔ)言等,應(yīng)像美國(guó)國(guó)防部那樣,要強(qiáng)制推行。

            (3)計(jì)算機(jī)技術(shù)發(fā)展很快,軟件技術(shù)及軟件可靠性工程技術(shù)也發(fā)展很快,應(yīng)對(duì)重點(diǎn)實(shí)時(shí)控制系統(tǒng)的軟件人員定期組織培訓(xùn)。

            (4)為了解決軟件生產(chǎn)的小作坊問(wèn)題,可否考慮逐步推行實(shí)時(shí)控制系統(tǒng)軟件人員考核制,作出資格認(rèn)證。



          posted on 2011-12-01 15:47 順其自然EVO 閱讀(144) 評(píng)論(0)  編輯  收藏


          只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          <2011年12月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類(lèi)

          隨筆檔案

          文章分類(lèi)

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 龙山县| 涡阳县| 全南县| 维西| 郓城县| 岗巴县| 隆回县| 溆浦县| 论坛| 普格县| 平阴县| 文昌市| 巴南区| 台湾省| 珠海市| 名山县| 许昌市| 紫金县| 南召县| 抚州市| 漳平市| 荆州市| 关岭| 青河县| 毕节市| 旌德县| 麟游县| 长治县| 澄迈县| 巴林右旗| 桑日县| 牙克石市| 若尔盖县| 大同县| 准格尔旗| 南昌县| 眉山市| 兰州市| 西安市| 玉门市| 达日县|