官术网_书友最值得收藏!

1.3 軟件工程的基本原則

為了保證在軟件項(xiàng)目中能夠有效地貫徹與正確地使用軟件工程規(guī)程,需要有一定的原則來對(duì)軟件項(xiàng)目加以約束。經(jīng)過長期的實(shí)踐,著名軟件工程專家B.W.Boehm提出了以下7條軟件工程的基本原則。

1. 采用分階段的生命周期計(jì)劃,以實(shí)現(xiàn)對(duì)項(xiàng)目的嚴(yán)格管理

軟件項(xiàng)目的開展,需要計(jì)劃在先,實(shí)施在后。統(tǒng)計(jì)資料表明,有50%以上的失敗項(xiàng)目是由于計(jì)劃不周而造成的。在軟件開發(fā)與維護(hù)的漫長生命周期中,需要完成許多性質(zhì)各異的工作,這意味著,應(yīng)該把軟件生命周期劃分為若干個(gè)階段,并相應(yīng)地制訂出切實(shí)可行的計(jì)劃,然后嚴(yán)格按照計(jì)劃對(duì)軟件的開發(fā)與維護(hù)進(jìn)行管理。

2. 堅(jiān)持進(jìn)行階段評(píng)審,以確保軟件產(chǎn)品質(zhì)量

軟件的質(zhì)量保證工作貫穿軟件開發(fā)的各個(gè)階段。實(shí)踐表明,軟件的大部分錯(cuò)誤是編程之前造成的。根據(jù)B.W.Boehm的統(tǒng)計(jì),設(shè)計(jì)錯(cuò)誤占軟件錯(cuò)誤的63%,編碼錯(cuò)誤僅占37%。軟件中的錯(cuò)誤發(fā)現(xiàn)與糾正得越晚,所需要付出的代價(jià)也越高。因此,在每個(gè)階段都要進(jìn)行嚴(yán)格的評(píng)審,盡早地發(fā)現(xiàn)軟件中的錯(cuò)誤,通過對(duì)軟件質(zhì)量實(shí)施過程監(jiān)控,以確保軟件在每個(gè)階段都能夠具有較高的質(zhì)量。

3. 實(shí)行嚴(yán)格的產(chǎn)品控制,以適應(yīng)軟件規(guī)格的變更

在軟件開發(fā)過程中不應(yīng)隨意改變需求,因?yàn)楦淖円豁?xiàng)需求需要付出較高的代價(jià)。但在軟件開發(fā)過程中改變需求又是難免的,只能依靠科學(xué)的產(chǎn)品控制技術(shù)來順應(yīng)這種要求。也就是說,當(dāng)改變需求時(shí),為了保持軟件各個(gè)配置成分的一致性,必須實(shí)現(xiàn)嚴(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ì)不能隨意修改軟件。實(shí)行嚴(yán)格的產(chǎn)品控制,能夠?qū)浖囊?guī)格進(jìn)行跟蹤記錄,使軟件產(chǎn)品的各項(xiàng)配置成分保持一致性,由此來適應(yīng)軟件的需求變更。

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

采用先進(jìn)的軟件開發(fā)和維護(hù)技術(shù),不僅能夠提高軟件開發(fā)和維護(hù)效率,而且可以提高軟件產(chǎn)品的質(zhì)量,降低開發(fā)成本,縮短開發(fā)時(shí)間,增加軟件的使用壽命。例如,構(gòu)件架構(gòu)系統(tǒng)的特點(diǎn)是通過創(chuàng)建比“類”更加抽象、更具有通用性的基本構(gòu)件,使軟件開發(fā)如同可插入的零件一樣裝配,這樣的軟件不僅開發(fā)容易,維護(hù)方便,而且可以根據(jù)用戶的特定需求方便地進(jìn)行改裝。

5. 軟件成果能清楚地審查

軟件成果是指軟件開發(fā)各個(gè)階段產(chǎn)生的一系列文檔、代碼、資源數(shù)據(jù)等,是對(duì)軟件開發(fā)給出評(píng)價(jià)的基本依據(jù)。由于軟件產(chǎn)品的生產(chǎn)過程可見性差,沒有明顯的生產(chǎn)過程,工作進(jìn)展難以準(zhǔn)確度量和控制,從而使軟件產(chǎn)品的開發(fā)過程比其他產(chǎn)品的開發(fā)過程更難于評(píng)價(jià)和管理。為了提高軟件開發(fā)過程的可見性,更好地進(jìn)行管理,就要根據(jù)軟件開發(fā)項(xiàng)目的總目標(biāo)及完成期限,規(guī)定開發(fā)組織的責(zé)任和產(chǎn)品標(biāo)準(zhǔn),從而使得所得到的結(jié)果能夠清楚地審查。

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

開發(fā)小組人員的素質(zhì)和數(shù)量是影響軟件產(chǎn)品質(zhì)量和開發(fā)效率的重要因素。高素質(zhì)人員的開發(fā)效率和質(zhì)量是低素質(zhì)人員的幾倍甚至幾十倍。此外,隨著開發(fā)小組人員數(shù)目的增加,因?yàn)榻涣饔懻摱斐傻耐ㄐ砰_銷也會(huì)急劇增加。如果小組中有N個(gè)成員,可能的通信路徑就有NN-1)/2條,這勢(shì)必影響人員之間的相互協(xié)作與工作質(zhì)量。因此,組成少而精的開發(fā)小組非常重要。

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

在遵循上述6條基本原理的基礎(chǔ)上,還應(yīng)該注意不斷改進(jìn)軟件工程實(shí)踐的必要性。這說明軟件工程在實(shí)際應(yīng)用中,不僅要積極主動(dòng)地采納新的軟件技術(shù),而且要注意不斷地總結(jié)經(jīng)驗(yàn)。例如,收集進(jìn)度和資源消耗數(shù)據(jù),收集軟件出錯(cuò)類型和問題報(bào)告數(shù)據(jù)等,這些數(shù)據(jù)不僅可以用來評(píng)價(jià)新的軟件技術(shù)的效果,而且可以用來指明必須著重開發(fā)的軟件開發(fā)工具和應(yīng)該優(yōu)先研究的技術(shù)。

主站蜘蛛池模板: 芒康县| 疏勒县| 禹城市| 喜德县| 商河县| 合江县| 旅游| 招远市| 庆阳市| 衢州市| 奉新县| 高雄市| 萍乡市| 青海省| 晋江市| 哈尔滨市| 綦江县| 清镇市| 昌都县| 安阳县| 房产| 宿迁市| 上虞市| 怀宁县| 永济市| 麻江县| 绥滨县| 游戏| 宜良县| 施秉县| 灵璧县| 临汾市| 临城县| 体育| 大新县| 淮滨县| 黑龙江省| 建昌县| 渭源县| 韶山市| 湘阴县|