數(shù)控軟件質(zhì)量控制
信息來(lái)源:減速機(jī)信息網(wǎng) 責(zé)任編輯:wangtao
|
隨著計(jì)算機(jī)技術(shù)的發(fā)展及可利用資源的增多,愈來(lái)愈多的數(shù)控系統(tǒng)采用PCNC方式,以前許多由硬件完成的功能現(xiàn)在交由軟件處理,這對(duì)數(shù)控軟件的設(shè)計(jì)提出了更高的要求。另外,一套數(shù)控軟件的設(shè)計(jì)通常需要花費(fèi)幾年時(shí)間才能完成,因此,如何保證軟件的質(zhì)量和良好的可重用性就顯得非常重要。
1 數(shù)控軟件開(kāi)發(fā)過(guò)程中存在的問(wèn)題
80年代初,我國(guó)引進(jìn)日本FANUC數(shù)控系統(tǒng)及軟件技術(shù),以后又相繼引入德國(guó)西門子、美國(guó)AB等公司的數(shù)控系統(tǒng)。由于采用大板組裝方式,因而未形成真正的數(shù)控軟件開(kāi)發(fā)和生產(chǎn)的工業(yè)化規(guī)模。進(jìn)入90年代后,許多研究院所和公司著手進(jìn)行數(shù)控系統(tǒng)和數(shù)控軟件的研制開(kāi)發(fā),由于投資分散,各自以小作坊方式存在,因此我國(guó)的數(shù)控軟件開(kāi)發(fā)與生產(chǎn)的能力依然很差,其中存在的主要問(wèn)題有以下幾點(diǎn)。
- 遺產(chǎn)軟件系統(tǒng)和現(xiàn)有軟件系統(tǒng)的綜合利用問(wèn)題
- 由于數(shù)控技術(shù)的不斷發(fā)展和更新,現(xiàn)存的一些遺產(chǎn)數(shù)控系統(tǒng)軟件正逐漸退出使用,我們應(yīng)該對(duì)這些軟件進(jìn)行挖掘整理,進(jìn)行可重用設(shè)計(jì),以便獲得有用的軟件構(gòu)件。而隨著時(shí)間的流逝,現(xiàn)有的數(shù)控系統(tǒng)軟件又會(huì)逐漸變得不可使用,為了適應(yīng)當(dāng)前技術(shù)的發(fā)展和需求的變化,我們應(yīng)采用更易于理解的、適應(yīng)變化的、可重用的系統(tǒng)軟件構(gòu)架,對(duì)現(xiàn)有軟件進(jìn)行維護(hù)、改進(jìn),以便提高軟件質(zhì)量、延長(zhǎng)軟件生命周期。
- 數(shù)控軟件開(kāi)發(fā)與需求管理和計(jì)劃實(shí)施問(wèn)題
- 數(shù)控軟件產(chǎn)品必須滿足用戶的需求,但是用戶對(duì)系統(tǒng)功能、開(kāi)發(fā)時(shí)間、產(chǎn)品價(jià)格的要求往往比較苛刻。其需求在開(kāi)發(fā)過(guò)程中又常常發(fā)生變化,因而系統(tǒng)軟件的復(fù)雜性不斷增長(zhǎng),軟件開(kāi)發(fā)活動(dòng)的可見(jiàn)性越來(lái)越差,一旦投入資金、設(shè)備和人力,卻無(wú)法預(yù)測(cè)何時(shí)會(huì)出結(jié)果,更無(wú)法把握研制出來(lái)的產(chǎn)品是否為用戶所需。我們必須研究適當(dāng)?shù)姆椒,以控制和管理這些需求變化,并能保證數(shù)控軟件的開(kāi)發(fā)步驟不背離用戶的需求。
- 基于個(gè)人行為的軟件開(kāi)發(fā)方式
- 企業(yè)化生產(chǎn)能力是相對(duì)于個(gè)人化生產(chǎn)能力而言的,兩種不同的軟件開(kāi)發(fā)方式將產(chǎn)生完全不同的結(jié)果。當(dāng)前我國(guó)的軟件開(kāi)發(fā)仍是基于個(gè)人行為,這樣的開(kāi)發(fā)方式及其開(kāi)發(fā)過(guò)程,對(duì)企業(yè)而言無(wú)疑是一個(gè)黑箱。項(xiàng)目的成功與否僅僅依賴于個(gè)人的技術(shù)水平和職業(yè)道德,開(kāi)發(fā)過(guò)程中所獲得的成功與失敗的經(jīng)驗(yàn),很難對(duì)企業(yè)今后的軟件開(kāi)發(fā)提供有益的幫助,尤其是軟件從業(yè)人員的頻繁流動(dòng)和同行之間的激烈競(jìng)爭(zhēng)對(duì)企業(yè)構(gòu)成嚴(yán)重威脅。例如一個(gè)技術(shù)骨干離開(kāi)一個(gè)汽車生產(chǎn)公司不會(huì)影響汽車的生產(chǎn),因?yàn)槠渖a(chǎn)線是靠一套規(guī)范和程序保證的。而對(duì)于一個(gè)軟件公司,不要說(shuō)骨干,即使一個(gè)主要程序員的突然離開(kāi),都會(huì)使整個(gè)項(xiàng)目拖延,甚至造成無(wú)法挽回的損失。數(shù)控軟件項(xiàng)目往往投資大周期長(zhǎng),如何減少個(gè)人行為的影響,保證開(kāi)發(fā)過(guò)程的規(guī)范進(jìn)行及軟件的延續(xù)性和可重用性,就顯得至關(guān)重要。
- 作坊式的軟件開(kāi)發(fā)過(guò)程及其工業(yè)化、工程化問(wèn)題
- 許多企業(yè)的軟件開(kāi)發(fā)過(guò)程仍屬小作坊方式。企業(yè)將軟件項(xiàng)目交由課題組實(shí)施,所有有關(guān)的項(xiàng)目活動(dòng)均由小組決策執(zhí)行,企業(yè)很難對(duì)項(xiàng)目進(jìn)行量化管理。即使項(xiàng)目做得非常成功,企業(yè)也很難讓其它小組共享其經(jīng)驗(yàn)。這種開(kāi)發(fā)過(guò)程無(wú)法形成規(guī)模,數(shù)控軟件的開(kāi)發(fā)生產(chǎn)很難走工業(yè)化、工程化道路。
2 數(shù)控軟件的質(zhì)量控制
數(shù)控軟件開(kāi)發(fā)過(guò)程中所存在的問(wèn)題,將會(huì)影響數(shù)控軟件的質(zhì)量,如何解決這些問(wèn)題?如何控制軟件質(zhì)量?如何提高企業(yè)的軟件過(guò)程能力?這已經(jīng)成為企業(yè)和軟件業(yè)內(nèi)人士十分關(guān)注的問(wèn)題。
90年代初,美國(guó)卡內(nèi)基.梅隆大學(xué)軟件工程研究所正式提出SW-CMM軟件過(guò)程能力成熟模型。該模型已成為目前國(guó)際上最流行、最實(shí)用的一種軟件生產(chǎn)過(guò)程標(biāo)準(zhǔn),并成為事實(shí)上的軟件過(guò)程改進(jìn)的工業(yè)標(biāo)準(zhǔn)和規(guī)模型軟件生產(chǎn)不可缺少的一項(xiàng)重要規(guī)范。
所謂企業(yè)的軟件過(guò)程能力,是指企業(yè)建立和執(zhí)行軟件開(kāi)發(fā)過(guò)程規(guī)范和標(biāo)準(zhǔn)的能力。企業(yè)必須采用嚴(yán)格的制度和流程規(guī)范,確保軟件開(kāi)發(fā)的透明性和可操作性,確保開(kāi)發(fā)過(guò)程的經(jīng)驗(yàn)為企業(yè)今后的軟件開(kāi)發(fā)提供有益的借鑒和參考。
根據(jù)SW-CMM模型要求以及針對(duì)上述軟件開(kāi)發(fā)過(guò)程中所存在的問(wèn)題,在技術(shù)和管理兩個(gè)方面對(duì)數(shù)控軟件的質(zhì)量進(jìn)行綜合控制,可采取如下措施。
- 應(yīng)用軟件復(fù)用技術(shù)
- 軟件復(fù)用是指重復(fù)使用“為了復(fù)用目的而設(shè)計(jì)的軟件”的過(guò)程,這是在軟件開(kāi)發(fā)中避免重復(fù)勞動(dòng)的一種解決方案。軟件復(fù)用的目的是使應(yīng)用系統(tǒng)的開(kāi)發(fā)不再采用一切從零開(kāi)始的模式,而是在原有工作的基礎(chǔ)上,充分利用過(guò)去在系統(tǒng)開(kāi)發(fā)中所積累的知識(shí)、經(jīng)驗(yàn)和開(kāi)發(fā)成果,通過(guò)復(fù)用技術(shù),將這些有用資產(chǎn)進(jìn)行可重用構(gòu)件的裁剪、提取、改造、重組,在原有系統(tǒng)的可靠性基礎(chǔ)上將其演化成未來(lái)的新系統(tǒng),從而避免重復(fù)勞動(dòng)和重新開(kāi)發(fā)引入的弊病,將開(kāi)發(fā)重點(diǎn)集中于特殊構(gòu)成部分。
- 軟件復(fù)用技術(shù)的基本框架由決策分析、系統(tǒng)理解、系統(tǒng)演化組成。例如,數(shù)控系統(tǒng)軟件的核心構(gòu)件分別為插補(bǔ)運(yùn)算、加減速處理、PLC控制、刀具誤差補(bǔ)償、間隙和螺距誤差補(bǔ)償?shù)饶K。這些軟件模塊都經(jīng)過(guò)實(shí)際運(yùn)行考驗(yàn),具有較高可靠性。根據(jù)軟件復(fù)用原則,對(duì)系統(tǒng)軟件的核心模塊進(jìn)行分析,在充分消化、理解的基礎(chǔ)上將其裁剪、修改、重組,演化成新的系統(tǒng),從而縮短數(shù)控軟件的開(kāi)發(fā)與生產(chǎn)周期,提高開(kāi)發(fā)效率和質(zhì)量。
- 面向?qū)ο蟮能浖こ虒W(xué)設(shè)計(jì)方法和構(gòu)件技術(shù)
- 在技術(shù)上保證軟件的質(zhì)量和可重用性,關(guān)鍵是采用面向?qū)ο蟮能浖こ虒W(xué)設(shè)計(jì)方法及構(gòu)件技術(shù)。數(shù)控系統(tǒng)對(duì)實(shí)時(shí)性要求較高。早期的數(shù)控系統(tǒng)由于受硬件技術(shù)的限制,程序設(shè)計(jì)大多采用匯編語(yǔ)言,導(dǎo)致程序的結(jié)構(gòu)化程度低,調(diào)試和維護(hù)困難。隨著硬件技術(shù)的發(fā)展,現(xiàn)在的數(shù)控系統(tǒng)通常采用面向?qū)ο蟮木幊?OOP)和結(jié)構(gòu)化設(shè)計(jì)方法,大大提高了系統(tǒng)的可調(diào)試性和可維護(hù)性。面向?qū)ο蟮能浖こ虒W(xué)設(shè)計(jì)方法不同于面向?qū)ο蟮木幊,前者?qiáng)調(diào)在軟件開(kāi)發(fā)中以設(shè)計(jì)為主導(dǎo),注重開(kāi)發(fā)方法在開(kāi)發(fā)過(guò)程中的應(yīng)用;后者則強(qiáng)調(diào)所使用的開(kāi)發(fā)手段,具有較大的被動(dòng)性。
- 程序設(shè)計(jì)采用構(gòu)件技術(shù),可以提高系統(tǒng)的可靠性和可重用性。所謂構(gòu)件是指系統(tǒng)中可以明確辨識(shí)的構(gòu)成成分。構(gòu)件也不是僅僅局限于源代碼構(gòu)件,而是延伸至對(duì)開(kāi)發(fā)活動(dòng)有用的信息,例如,系統(tǒng)和軟件的需求規(guī)劃、系統(tǒng)和軟件的結(jié)構(gòu)、文檔、測(cè)試計(jì)劃、測(cè)試案例及典型數(shù)據(jù)等。數(shù)控系統(tǒng)軟件可分成三大構(gòu)件:MMI人機(jī)界面、MMC機(jī)床運(yùn)動(dòng)控制、PLC可編程邏輯控制器。MMI可分為動(dòng)態(tài) MMI、靜態(tài)MMI;MMC可按照功能將其分為不同的小構(gòu)件;PLC可分為DI和DO處理構(gòu)件。通過(guò)不同的數(shù)據(jù)和程序的封裝組成不同的小構(gòu)件,然后對(duì)不同的小構(gòu)件進(jìn)行組裝,從而構(gòu)成具有不同功能和風(fēng)格的數(shù)控系統(tǒng)。構(gòu)件技術(shù)的關(guān)鍵是如何對(duì)構(gòu)件進(jìn)行選擇、構(gòu)筑、描述、分類、組裝及標(biāo)準(zhǔn)化。若能熟練掌握和運(yùn)用以上方法與技術(shù),將會(huì)使數(shù)控軟件開(kāi)發(fā)走上工業(yè)化、工程化的發(fā)展軌道,從而保證軟件開(kāi)發(fā)的質(zhì)量及可重用性。
- 運(yùn)用SW-CMM軟件過(guò)程能力成熟模型
- 一個(gè)企業(yè)所具有的軟件開(kāi)發(fā)能力取決于該企業(yè)的過(guò)程能力。在體現(xiàn)企業(yè)軟件開(kāi)發(fā)能力的諸多因素中,技術(shù)和工具并非第一要素,企業(yè)的過(guò)程能力則起著更為重要的作用。企業(yè)建立一個(gè)軟件開(kāi)發(fā)過(guò)程,并通過(guò)政策保證,強(qiáng)制實(shí)行這個(gè)過(guò)程。項(xiàng)目的執(zhí)行不再是一個(gè)黑箱子,企業(yè)清楚地知道該項(xiàng)目是按規(guī)定的過(guò)程進(jìn)行的。該過(guò)程執(zhí)行一段時(shí)間后,可根據(jù)反映的問(wèn)題改善這個(gè)過(guò)程,使其逐漸完善、成熟。由于過(guò)程不再依賴于個(gè)人,而是企業(yè)開(kāi)發(fā)經(jīng)驗(yàn)的結(jié)晶,因此基于這個(gè)過(guò)程的軟件開(kāi)發(fā)能力也隨之成熟。
- SW-CMM將企業(yè)的軟件開(kāi)發(fā)與生產(chǎn)過(guò)程分成五個(gè)階段:初始級(jí)、可重復(fù)級(jí)、可定義級(jí)、管理級(jí)、優(yōu)化級(jí)。在上述不同階段,軟件開(kāi)發(fā)與生產(chǎn)的成熟程度將給企業(yè)帶來(lái)完全不同的效果,軟件開(kāi)發(fā)與生產(chǎn)的計(jì)劃精度會(huì)越來(lái)越高,每單位工程的生產(chǎn)周期越來(lái)越短,每單位工程的成本越來(lái)越低。這是因?yàn)楦鶕?jù)SW-CMM模型的軟件成熟度實(shí)踐要求,采用更加規(guī)范的開(kāi)發(fā)標(biāo)準(zhǔn)和方法,使用更加科學(xué)和精確的度量方法,選擇便于管理和使用的開(kāi)發(fā)工具,形成整個(gè)工程的可重構(gòu)性、可分解性,根據(jù)過(guò)程執(zhí)行的反饋信息改善下一步的執(zhí)行過(guò)程,實(shí)現(xiàn)過(guò)程的最優(yōu)化。
- SW-CMM提供了一個(gè)基于過(guò)去所有軟件工程成果的過(guò)程改善的框架。根據(jù)這個(gè)框架管理企業(yè)內(nèi)部的軟件開(kāi)發(fā)過(guò)程,可極大程度地提高企業(yè)按計(jì)劃的時(shí)間和成本,提交有質(zhì)量保證的軟件產(chǎn)品的能力。同時(shí),在軟件開(kāi)發(fā)與生產(chǎn)過(guò)程中,采用該模型實(shí)現(xiàn)軟件開(kāi)發(fā)的標(biāo)準(zhǔn)化,有利于縮短開(kāi)發(fā)周期、提高軟件的開(kāi)發(fā)與生產(chǎn)效率,有助于在市場(chǎng)經(jīng)濟(jì)的多樣化、復(fù)雜化的環(huán)境中實(shí)現(xiàn)軟件的工業(yè)化。
- 建立面向管理的軟件開(kāi)發(fā)過(guò)程
- 軟件系統(tǒng)開(kāi)發(fā)的基本問(wèn)題是如何管理開(kāi)發(fā)過(guò)程,使開(kāi)發(fā)過(guò)程可控且可重復(fù)。開(kāi)發(fā)過(guò)程的管理主要包括以下幾項(xiàng)工作。
- 需求管理 管理的目標(biāo)是軟件需求能被控制,并產(chǎn)生一個(gè)用于軟件工程過(guò)程和管理過(guò)程的基線,其目的是在用戶需求與實(shí)現(xiàn)用戶需求的項(xiàng)目之間達(dá)成一種共識(shí),使二者保持一致。這就意味著用戶的需求應(yīng)該是合理可行的,項(xiàng)目的目標(biāo)應(yīng)能滿足用戶的需求,需求管理就是建立并維護(hù)這種共識(shí)。需求管理是一個(gè)相對(duì)動(dòng)態(tài)的過(guò)程,要達(dá)到此目的,必須保證與用戶和市場(chǎng)進(jìn)行經(jīng)常性溝通,根據(jù)用戶和市場(chǎng)的變化,對(duì)項(xiàng)目的執(zhí)行進(jìn)行動(dòng)態(tài)調(diào)整。
- 項(xiàng)目管理 軟件工程項(xiàng)目能否成功的主要因素在于項(xiàng)目管理,而項(xiàng)目能否有效進(jìn)行管理的關(guān)鍵在于項(xiàng)目過(guò)程的可見(jiàn)性。如果軟件項(xiàng)目計(jì)劃不能按期完成,主要原因有兩個(gè)方面:一方面是由于計(jì)劃執(zhí)行和管理的能力不夠;另一是計(jì)劃本身欠合理有效。軟件項(xiàng)目管理的目的在于建立合理有效的軟件項(xiàng)目計(jì)劃,保證項(xiàng)目按時(shí)、按需完成。這就要求對(duì)于軟件項(xiàng)目的規(guī)模、資源要求、風(fēng)險(xiǎn)、資金等有一個(gè)合理的估算,估算的合理性依賴于對(duì)需求及軟件技術(shù)的充分了解。項(xiàng)目執(zhí)行前,各參與方應(yīng)明確并承擔(dān)各自的責(zé)任。項(xiàng)目實(shí)施過(guò)程中,應(yīng)設(shè)置合理的檢查點(diǎn),對(duì)項(xiàng)目進(jìn)行監(jiān)控和跟蹤,從而為軟件開(kāi)發(fā)提供良好的可見(jiàn)性及可調(diào)整性,保證計(jì)劃順利完成。
- 合同管理和軟件質(zhì)量保證活動(dòng) 合同管理是一個(gè)基本的關(guān)鍵過(guò)程域。合同管理的目的就是選擇合格的軟件承包商,并進(jìn)行有效的管理。
- 軟件子承包商的選擇應(yīng)由項(xiàng)目責(zé)任者(業(yè)主或主承包商)負(fù)責(zé),子承包商的選擇應(yīng)是基于能力的,項(xiàng)目的責(zé)任者與子承包商對(duì)所承包的項(xiàng)目責(zé)任要有一致的認(rèn)同,并保持不斷地交流。項(xiàng)目的責(zé)任者應(yīng)根據(jù)合同中所規(guī)定的責(zé)任,跟蹤子承包商實(shí)際工作結(jié)果。
- 軟件質(zhì)量保證活動(dòng)是項(xiàng)目管理所提供的過(guò)程可見(jiàn)性的一個(gè)工具。由于開(kāi)發(fā)軟件系統(tǒng)或軟件產(chǎn)品的過(guò)程是決定項(xiàng)目成功與否的關(guān)鍵因素,因此軟件質(zhì)量保證活動(dòng)就是評(píng)審和審計(jì)軟件活動(dòng)和軟件產(chǎn)品。評(píng)審和審計(jì)的依據(jù)是項(xiàng)目的實(shí)施步驟和相關(guān)標(biāo)準(zhǔn)。軟件質(zhì)量保證活動(dòng)不能隨意,必須經(jīng)過(guò)充分的討論和協(xié)商,相關(guān)的組織和個(gè)人必須了解質(zhì)量保證活動(dòng)及其結(jié)果。為了解決質(zhì)量保證組織與軟件開(kāi)發(fā)組織對(duì)某些開(kāi)發(fā)活動(dòng)或開(kāi)發(fā)出的產(chǎn)品的評(píng)價(jià)所發(fā)生的爭(zhēng)議和分歧,企業(yè)應(yīng)定義更高層次的管理組織,負(fù)責(zé)解決這些爭(zhēng)議和分歧。
- 軟件配置管理 軟件從需求分析開(kāi)始到最后提交產(chǎn)品要經(jīng)歷幾個(gè)階段,每個(gè)階段的工作產(chǎn)品又會(huì)有不同的版本,如何在整個(gè)生存期內(nèi)建立和維護(hù)產(chǎn)品的完整性是軟件配置管理的目的。SW-CMM軟件配置管理也是一個(gè)基本的關(guān)鍵過(guò)程域,它遵循了傳統(tǒng)軟件配置管理的概念。其基本工作內(nèi)容是標(biāo)識(shí)軟件配置項(xiàng),建立產(chǎn)品基線庫(kù),對(duì)配置項(xiàng)的修改加以系統(tǒng)的控制。產(chǎn)品基線庫(kù)的狀態(tài)可以隨時(shí)了解。此外,同軟件質(zhì)量保證活動(dòng)一樣,軟件配置管理活動(dòng)必須制定計(jì)劃,不是隨意的行為。其主要依據(jù)是各種文檔及說(shuō)明書,這是保證用戶能夠正確使用產(chǎn)品和產(chǎn)品進(jìn)入市場(chǎng)的關(guān)鍵。
綜上所述,在數(shù)控軟件開(kāi)發(fā)過(guò)程中,如果從技術(shù)和管理兩個(gè)方面采用合理的方法,一方面可以保證軟件的質(zhì)量和良好的可重用性,另一方面可以為數(shù)控軟件的開(kāi)發(fā)逐步走上工業(yè)化、工程化的發(fā)展軌道奠定良好的基礎(chǔ)。
|
|