本站小編為你精心準(zhǔn)備了軟件工程控制參考范文,愿這些范文能點(diǎn)燃您思維的火花,激發(fā)您的寫作靈感。歡迎深入閱讀并收藏。
軟件工程控制的重要性軟件開發(fā)過程新問題多多,且并不因軟件開發(fā)工具的完善而有大的改善,軟件工程控制的重要性越來越被重視。軟件開發(fā)過程的新問題常有如下幾種:
(1)對(duì)軟件開發(fā)成本和進(jìn)度的估計(jì)經(jīng)常很不準(zhǔn)確。實(shí)際成本比估計(jì)成本有可能高出一個(gè)數(shù)量級(jí),實(shí)際進(jìn)度比預(yù)期進(jìn)度拖延幾個(gè)月甚至幾年的現(xiàn)象并不罕見。這種現(xiàn)象降低了軟件開發(fā)組織的信譽(yù)。而為了趕進(jìn)度和節(jié)約成本所采取的一些權(quán)宜之計(jì)又往往損害了軟件產(chǎn)品的質(zhì)量,從而不可避免地會(huì)引起用戶的不滿。
(2)用戶對(duì)“已完成的”軟件系統(tǒng)不滿足的現(xiàn)象經(jīng)常發(fā)生。軟件開發(fā)人員經(jīng)常在對(duì)用戶要求只有模糊的了解,甚至對(duì)所要解決的新問題還沒有確切熟悉的情況下,就倉促上陣匆忙著手編寫程序。軟件開發(fā)人員和用戶之間的信息交流往往很不充分,“閉門造車”必然導(dǎo)致最終的產(chǎn)品不符合用戶的實(shí)際需要。
(3)軟件產(chǎn)品的質(zhì)量往往靠不住。軟件可靠性和質(zhì)量保證的確切的定量概念剛剛出現(xiàn)不久,軟件質(zhì)量保證技術(shù)(審查、復(fù)審和測(cè)試)還沒有堅(jiān)持不懈地應(yīng)用到軟件開發(fā)的全過程中,這些都導(dǎo)致軟件產(chǎn)品發(fā)生質(zhì)量新問題。
(4)軟件經(jīng)常是不可維護(hù)的。很多程序中的錯(cuò)誤是非常難改正垢,實(shí)際上不可能使這些程序適應(yīng)新的硬件環(huán)境,也不能根據(jù)用戶的需要在原有程序中增加一些新的功能?!翱芍赜玫能浖边€是一個(gè)沒有完全做到的、正在努力追求的目標(biāo),人們?nèi)匀辉谥貜?fù)開發(fā)類似的或基本類似的軟件。
(5)軟件通常沒有適當(dāng)?shù)奈臋n資料。計(jì)算機(jī)軟件不僅僅是程序,還應(yīng)該有一整套文檔資料。這些文檔資料應(yīng)該是在軟件開發(fā)過程中產(chǎn)生出來的,而且應(yīng)該是“最新式的”(即和程序代碼完全一致的)。軟件開發(fā)組織的管理人員可以使用這些文檔資料作為“里程碑”,來管理和評(píng)價(jià)軟件開發(fā)工程的進(jìn)展?fàn)顩r;軟件開發(fā)人員可以利用它們作為通信工具,在軟件開發(fā)過程中準(zhǔn)確地交流信息;對(duì)于軟件維護(hù)人員而言,這些文檔資料更是至關(guān)重要必不可少的。缺乏必要的文檔資料或者文檔資料不合格,必然給軟件開發(fā)和維護(hù)帶來許多嚴(yán)重的困難和新問題。
(6)軟件成本在計(jì)算機(jī)系統(tǒng)總成本中所占的比例逐年上升。由于微電子學(xué)技術(shù)的進(jìn)步和生產(chǎn)自動(dòng)化程度不斷提高,硬件成本逐年下降,然而軟件開發(fā)需要大量人力,軟件成本隨著通貨膨脹以及軟件規(guī)模和數(shù)量的不斷擴(kuò)大而持續(xù)上升。美國在1985年軟件成本大約已占計(jì)算機(jī)系統(tǒng)總成本的90。
(7)軟件開發(fā)生產(chǎn)率提高的速度,遠(yuǎn)遠(yuǎn)跟不上計(jì)算機(jī)應(yīng)用迅速普及深入的趨向。軟件產(chǎn)品“供不應(yīng)求”的現(xiàn)象使人類不能充分利用現(xiàn)代計(jì)算機(jī)硬件提供的巨大潛力。
軟件工程的七條基本原理:1、用分階段的生命周期計(jì)劃嚴(yán)格管理有人經(jīng)統(tǒng)計(jì)發(fā)現(xiàn),在不成功的軟件項(xiàng)目中有一半左右是由于計(jì)劃不周造成的,可見把建立完善的計(jì)劃作為第一條基本原理是吸取了前人的教訓(xùn)而提出來的。在軟件開發(fā)和維護(hù)的漫長(zhǎng)的生命周期中,需要完成許多性質(zhì)各異的工作。這條基本原理意味著,應(yīng)該把軟件生命周期劃分成若干個(gè)階段,并相應(yīng)地制定出切實(shí)可行的計(jì)劃,然后嚴(yán)格按照計(jì)劃對(duì)軟件的開發(fā)和維護(hù)工作進(jìn)行管理。Boehm認(rèn)為,在軟件的整個(gè)生命周期中應(yīng)該制定并嚴(yán)格執(zhí)行六類計(jì)劃,它們是項(xiàng)目概要計(jì)劃,里程碑計(jì)劃,項(xiàng)目控制計(jì)劃,產(chǎn)品控制計(jì)劃,驗(yàn)證計(jì)劃,運(yùn)行維護(hù)計(jì)劃。不同層次的管理人員都必須嚴(yán)格按照計(jì)劃各盡其職地管理軟件開發(fā)和維護(hù)工作,絕不能受客戶或上級(jí)人員的影響而擅自背離預(yù)定計(jì)劃。2、堅(jiān)持進(jìn)行階段評(píng)審當(dāng)時(shí)已經(jīng)熟悉到,軟件的質(zhì)量保證工作不能等到編碼階段結(jié)束之后再進(jìn)行。這樣說至少有兩個(gè)理由:第一,大部分錯(cuò)誤是在編碼之前造成的,例如,根據(jù)Boehm等人的統(tǒng)計(jì),設(shè)計(jì)錯(cuò)誤占軟件錯(cuò)誤的63,編碼僅占37;第二,錯(cuò)誤發(fā)現(xiàn)和改正得越晚,所需付出的代價(jià)也越高。
因此,在每個(gè)階段都進(jìn)行嚴(yán)格的評(píng)審,以便盡早發(fā)現(xiàn)在軟件開發(fā)過程中所犯的錯(cuò)誤,是一條必須遵循的重要原則。3、實(shí)行嚴(yán)格的產(chǎn)品控制在軟件開發(fā)過程中不應(yīng)隨意改變需求,因?yàn)楦淖円豁?xiàng)需求往往需要付出較高的代價(jià),但是,在軟件開發(fā)過程中改變需求又是難免的,由于外部環(huán)境的變化,相應(yīng)地改變用戶需求是一種客觀需要,顯然不能硬性禁止客戶提出改變需求的要求,而只能依靠科學(xué)的產(chǎn)品控制技術(shù)來順應(yīng)這種要求。也就是說,當(dāng)改變需求時(shí),為了保持軟件各個(gè)配置成分的一致性,必須實(shí)行嚴(yán)格的產(chǎn)品控制,其中主要是實(shí)行基準(zhǔn)配置管理。所謂基準(zhǔn)配置又稱基線配置,它們是經(jīng)過階段評(píng)審后的軟件配置成分(各個(gè)階段產(chǎn)生的文檔或程序代碼)。
基準(zhǔn)配置管理也稱為變動(dòng)控制:一切有關(guān)修改軟件的建議,非凡是涉及到對(duì)基準(zhǔn)配置的修改建議,都必須按照嚴(yán)格的規(guī)程進(jìn)行評(píng)審,獲得批準(zhǔn)以后才能實(shí)施修改。絕對(duì)不能誰想修改軟件(包括尚在開發(fā)過程中的軟件),就隨意進(jìn)行修改。4、采用現(xiàn)代程序設(shè)計(jì)技術(shù)從提出軟件工程的概念開始,人們一直把主要精力用于探究各種新的程序設(shè)計(jì)技術(shù)。60年代末提出的結(jié)構(gòu)程序設(shè)計(jì)技術(shù),已經(jīng)成為絕大多數(shù)人公認(rèn)的先進(jìn)的程序設(shè)計(jì)技術(shù)。以后又進(jìn)一步發(fā)展出各種結(jié)構(gòu)分析(SA)和結(jié)構(gòu)設(shè)計(jì)(SD)技術(shù)。實(shí)踐表明,采用先進(jìn)的技術(shù)既可提高軟件開發(fā)的效率,又可提高軟件維護(hù)的效率。5、結(jié)果應(yīng)能清楚地審查軟件產(chǎn)品不同于一般的物理產(chǎn)品,它是看不崢摸不著的邏輯產(chǎn)品。
軟件開發(fā)人員(或開發(fā)小組)的工作進(jìn)展情況可見性差,難以準(zhǔn)確度量,從而使得軟件產(chǎn)品的開發(fā)過程比一般產(chǎn)品的開發(fā)過程更難于評(píng)價(jià)和管理。為了提高軟件開發(fā)過程的可見性,更好地進(jìn)行管理,應(yīng)該根據(jù)軟件開發(fā)項(xiàng)目的總目標(biāo)及完成期限,規(guī)定開發(fā)組織的責(zé)任和產(chǎn)品標(biāo)準(zhǔn),從而使得所得到的結(jié)果能夠清楚地審查。6、開發(fā)小組的人員應(yīng)該少而精這條基本原理的含義是,軟件開發(fā)小組的組成人員的素質(zhì)應(yīng)該好,而人數(shù)則不宜過多。
開發(fā)小組人員的素質(zhì)和數(shù)量是影響軟件產(chǎn)品質(zhì)量和開發(fā)效率的重要因素。素質(zhì)高的人員的開發(fā)效率比素質(zhì)低的人員的開發(fā)效率可能高幾倍至幾十倍,而且素質(zhì)高的人員所開發(fā)的軟件中的錯(cuò)誤明顯少于素質(zhì)低的人員所開發(fā)的軟件中的錯(cuò)誤。此外,隨著開發(fā)小組人員數(shù)目的增加,因?yàn)榻涣髑闆r討論新問題而造成的通信開銷也急劇增加。
當(dāng)開發(fā)小組人員數(shù)為N時(shí),可能的通信路徑有N(N?/FONT>1)/2條,可見隨著人數(shù)N的增大,通信開銷將急劇增加。因此,組成少而精的開發(fā)小組是軟件工程的一條基本原理。7、承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性遵循上述六條基本原理,就能夠按照當(dāng)代軟件工程基本原理實(shí)現(xiàn)軟件的工程化生產(chǎn),但是,僅有上述六條原理并不能保證軟件開發(fā)和維護(hù)的過程能趕上時(shí)代前進(jìn)的步伐,能跟上技術(shù)的不斷進(jìn)步。l因此,Boehm提出應(yīng)把承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性作為軟件工程的第七條基本原理。按照這條原理,不僅要積極主動(dòng)地采納新的軟件技術(shù),而且要注重不斷總結(jié)經(jīng)驗(yàn),例如,收集進(jìn)度和資源耗費(fèi)數(shù)據(jù),收集出錯(cuò)類型和新問題報(bào)告數(shù)據(jù)等等。
這些數(shù)據(jù)不僅可以用來評(píng)價(jià)新的軟件技術(shù)的效果,而且可以用來指明必須著重開發(fā)的軟件工具和應(yīng)該優(yōu)先探究的技術(shù)。