您好,歡迎來到一站式眾包服務(wù)平臺(tái)-威客牛網(wǎng)!
當(dāng)前位置:威客牛首頁 > 知識(shí)百科 > IT軟件 > 軟件開發(fā) > 軟件工程的原理

軟件工程的原理

2022-12-04作者:網(wǎng)友投稿
自從1968年提出“軟件工程”這一術(shù)語以來,研究軟件工程的專家學(xué)者們陸續(xù)提出了100多條關(guān)于軟件工程的準(zhǔn)則或信條。美國著名的軟件工程專家巴利·玻姆(Barry Boehm)綜合這些專家的意見,并總結(jié)了美國天合公司(TRW)多年的開發(fā)軟件的經(jīng)驗(yàn),于1983年提出了軟件工程的七條基本原理。以下是贏在威客網(wǎng)小編整理的軟件工程的原理。

玻姆認(rèn)為,這七條原理是確保軟件產(chǎn)品質(zhì)量和開發(fā)效率的原理的最小集合。它們是相互獨(dú)立的,是缺一不可的最小集合;同時(shí),它們又是相當(dāng)完備的。人們當(dāng)然不能用數(shù)學(xué)方法嚴(yán)格證明它們是一個(gè)完備的集合,但是可以證明,在此之前已經(jīng)提出的100多條軟件工程準(zhǔn)則都可以有這七條原理的任意組合蘊(yùn)含或派生。

下面簡(jiǎn)要介紹軟件工程的七條原理:用分階段的生命周期計(jì)劃嚴(yán)格管理

這一條是吸取前人的教訓(xùn)而提出來的。統(tǒng)計(jì)表明,50%以上的失敗項(xiàng)目是由于計(jì)劃不周而造成的。在軟件開發(fā)與維護(hù)的漫長(zhǎng)生命周期中,需要完成許多性質(zhì)各異的工作。這條原理意味著,應(yīng)該把軟件生命周期分成若干階段,并相應(yīng)制定出切實(shí)可行的計(jì)劃,然后嚴(yán)格按照計(jì)劃對(duì)軟件的開發(fā)和維護(hù)進(jìn)行管理。

玻姆認(rèn)為,在整個(gè)軟件生命周期中應(yīng)指定并嚴(yán)格執(zhí)行6類計(jì)劃:

項(xiàng)目概要計(jì)劃、

里程碑計(jì)劃、

項(xiàng)目控制計(jì)劃、

產(chǎn)品控制計(jì)劃、

驗(yàn)證計(jì)劃、

運(yùn)行維護(hù)計(jì)劃。

堅(jiān)持進(jìn)行階段評(píng)審

統(tǒng)計(jì)結(jié)果顯示:大部分錯(cuò)誤是在編碼之前造成的,大約占63%錯(cuò)誤發(fā)現(xiàn)的越晚,改正它要付出的代價(jià)就越大,要差2到3個(gè)數(shù)量級(jí)。 因此,軟件的質(zhì)量保證工作不能等到編碼結(jié)束之后再進(jìn)行,應(yīng)堅(jiān)持進(jìn)行嚴(yán)格的階段評(píng)審,以便盡早發(fā)現(xiàn)錯(cuò)誤。

實(shí)行嚴(yán)格的產(chǎn)品控制

開發(fā)人員最痛恨的事情之一就是改動(dòng)需求。但是實(shí)踐告訴我們,需求的改動(dòng)往往是不可避免的。這就要求我們要采用科學(xué)的產(chǎn)品控制技術(shù)來順應(yīng)這種要求。也就是要采用變動(dòng)控制,又叫基準(zhǔn)配置管理。當(dāng)需求變動(dòng)時(shí),其它各個(gè)階段的文檔或代碼隨之相應(yīng)變動(dòng),以保證軟件的一致性。

采納現(xiàn)代程序設(shè)計(jì)技術(shù)

從六、七十年代的結(jié)構(gòu)化軟件開發(fā)技術(shù),到最近的面向?qū)ο蠹夹g(shù),從第一、第二代語言,到第四代語言,人們已經(jīng)充分認(rèn)識(shí)到:方法大于氣力。采用先進(jìn)的技術(shù)既可以提高軟件開發(fā)的效率,又可以減少軟件維護(hù)的成本。

結(jié)果應(yīng)能清楚地審查

軟件是一種看不見、摸不著的邏輯產(chǎn)品。軟件開發(fā)小組的工作進(jìn)展情況可見性差,難于評(píng)價(jià)和管理。為更好地進(jìn)行管理,應(yīng)根據(jù)軟件開發(fā)的總目標(biāo)及完成期限,盡量明確地規(guī)定開發(fā)小組的責(zé)任和產(chǎn)品標(biāo)準(zhǔn),從而使所得到的標(biāo)準(zhǔn)能清楚地審查。

開發(fā)小組的人員應(yīng)少而精

開發(fā)人員的素質(zhì)和數(shù)量是影響軟件質(zhì)量和開發(fā)效率的重要因素,應(yīng)該少而精?!∵@一條基于兩點(diǎn)原因:高素質(zhì)開發(fā)人員的效率比低素質(zhì)開發(fā)人員的效率要高幾倍到幾十倍,開發(fā)工作中犯的錯(cuò)誤也要少的多;當(dāng)開發(fā)小組為N人時(shí),可能的通信信道為N(N-1)/2, 可見隨著人數(shù)N的增大,通訊開銷將急劇增大。


承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性

遵從上述六條基本原理,就能夠較好地實(shí)現(xiàn)軟件的工程化生產(chǎn)。但是,它們只是對(duì)現(xiàn)有的經(jīng)驗(yàn)的總結(jié)和歸納,并不能保證趕上技術(shù)不斷前進(jìn)發(fā)展的步伐。因此,玻姆提出應(yīng)把承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性作為軟件工程的第七條原理。根據(jù)這條原理,不僅要積極采納新的軟件開發(fā)技術(shù),還要注意不斷總結(jié)經(jīng)驗(yàn),收集進(jìn)度和消耗等數(shù)據(jù),進(jìn)行出錯(cuò)類型和問題報(bào)告統(tǒng)計(jì)。這些數(shù)據(jù)既可以用來評(píng)估新的軟件技術(shù)的效果,也可以用來指明必須著重注意的問題和應(yīng)該優(yōu)先進(jìn)行研究的工具和技術(shù)。
免費(fèi)查詢商標(biāo)注冊(cè)