小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

關(guān)于軟件重用的幾點思考

 閣樓的貓s859sx 2019-06-21
 

關(guān)于軟件重用的幾點思考

重用對于軟件開發(fā)和測試都具有普遍意義,每個軟件人員自覺或不自覺地都在進行大量重用工作。不管是編碼還是測試,不管是寫文檔還是寫幻燈片,甚至起草短短的各類評審意見,不使用剪切-粘貼操作的幾乎沒有。

毫無疑問,重用給軟件人員帶來極大便利,不光是節(jié)省時間,更通過繼承過去的經(jīng)驗而使新的工作產(chǎn)品質(zhì)量得到保證。今天的軟件人員不僅占有大量的各類模板,大量編碼規(guī)則和標(biāo)準(zhǔn)條款,還會大量使用搜索工具,真正敲入的文字或代碼比例正在越來越少,大部分代碼或文檔都已經(jīng)在過去的項目中被多次使用、并經(jīng)過反復(fù)驗證。我們在實際軟件測試項目工程中,經(jīng)常聽到人家說某段代碼已經(jīng)定型,沒有修改過或只改過很少接口,不需要或只需要少量測試就可以了。即使是全新的代碼,其中也有很大一部分來自其他類似軟件項目,包括編碼范例、文檔描述、容錯處理方法,甚至評審方法和技術(shù)。

然而給軟引用由于不恰當(dāng)?shù)募羟屑藛T帶來巨大便利的背后是悄悄的巨大風(fēng)險。據(jù)統(tǒng)計,軟件缺陷的-粘貼的竟占到70%。如果說給軟件質(zhì)量帶來好處的因素總分是800,那么軟件重用占到的比例會高達350;反過來,如果影響軟件質(zhì)量的因素總分是1200分,軟件重用會占到650分,雖然都是權(quán)重第一,但是如果搞不好,給軟件質(zhì)量的消極影響往往會更大一些。阿麗亞娜5發(fā)射失敗就是一個慘痛教訓(xùn)。歐空局實施的過程管理不可謂不嚴(yán),完成的軟件測試不可謂不充分,層層通過的軟件評審和評估不可謂不系統(tǒng),但就是一個對型號4的軟件重用沒有充分考慮硬件變化帶來的影響最終釀成大禍。在系統(tǒng)總結(jié)教訓(xùn)時,有這樣的一條:軟件問題出現(xiàn)的部位,是所有領(lǐng)域?qū)<叶颊J為是最保險、最不可能出錯的部位,處理方式的正確性已經(jīng)在領(lǐng)域?qū)<抑行纬啥ㄊ?,沒有人提出任何質(zhì)疑、反思。

結(jié)論是,重要評審僅僅依靠領(lǐng)域?qū)<沂遣粔虻?,恰恰非領(lǐng)域?qū)<矣锌赡芴岢龈嘣陬I(lǐng)域?qū)<铱磥砜赡苡行┛尚?、但卻是通過轉(zhuǎn)換思考角度才能發(fā)現(xiàn)的微妙問題。

在現(xiàn)實中,剪切-粘貼過來的東西往往還要做些替換,往往還與其他部分存在某種不協(xié)調(diào)、不一致而需要調(diào)整,往往還有一些可有可無或多余的部分需要刪除。甚至是很重要的外部評審幻燈片,即使并不長,細細看來,發(fā)現(xiàn)剪切-粘貼帶來的錯誤往往并不困難,盡管上會前這些幻燈片都經(jīng)過反復(fù)審閱。

那么問題的關(guān)鍵就是如何控制軟件重用的質(zhì)量??刂频年P(guān)鍵又在于識別軟件重用引入問題的機理、途徑,從而找到解決問題的有效方法。

我認為,軟件重用引入問題的關(guān)鍵是由于重用的便利性使得軟件人員忽略了必要的分析工作,多多少少有思維定式,加上一些盲目自信和樂觀,從而不知不覺欠下技術(shù)債。這種債遲早是要償還的,只不過是償還形式不同而已。

具體來說,軟件重用有兩個只要步驟:重用和集成。重用指面向未來的使用而特意進行的專門部件開發(fā)。比如模板,就是針對以后的多次使用而進行的開發(fā)。集成是利用可重用部件合成完整工作產(chǎn)品的過程。而重用和集成都可能引入軟件問題。

首先,可重用部件本身就可能存在問題,即使經(jīng)過測試、經(jīng)過實際使用,仍然不能保證驗證的充分性,更何況新的使用場景并不一定與老場景完全一致。據(jù)統(tǒng)計,面向重用的可重用部件與非面向重用的部件開發(fā)成本相比要高出4倍,才能滿足重用的質(zhì)量要求,因為一旦重用部件存在缺陷檢測起來更加困難、更難處理,因此要盡可能零缺陷。比如如果模板本身存在問題,重用后的影響就會放大很多。其次,很多時候被重用部件并沒有考慮某些重用場景,某些特性并不適合無條件重用,有時又必須補充必要的特性。比如測試文檔模板可能沒有考慮部分工作外包的特殊性等。

至于集成,引入質(zhì)量問題的可能性就更大了,涉及到可重用組件篩選、匹配,必要的修改,必要的驗證等。其中組件篩選和匹配至關(guān)重要。組件功能靜態(tài)描述和行為動態(tài)描述是實施篩選的前提條件。自然語言很難承擔(dān)這個任務(wù)?;谀P偷男问交枋隹磥硎强尚械倪x擇。首先模型能夠準(zhǔn)確地描述組件最核心、最本質(zhì)的內(nèi)容,從而保證篩選的大方向不會有大的問題。既然模型是對組件的某種程度抽象,因此不可能表示出所有細節(jié),特別是一些容錯處理的細節(jié),而這些細節(jié)對于組件重用又可能是至關(guān)重要的。

比如某電信交換機組件,可以比較方便地使用米莉有限狀態(tài)機描述。但是有些容錯處理方式卻很難通過一個統(tǒng)一模型表述。比如交換機主叫用戶,回鈴音收到8次轉(zhuǎn)入告知無人接聽狀態(tài)。但是如果收到3次回鈴音后不再收到信號怎么辦?可以轉(zhuǎn)到超時等待狀態(tài)再轉(zhuǎn)無人接聽狀態(tài)。如果超時門限未到,第4個回鈴音收到,那么是不是該繼續(xù)回鈴音計數(shù)狀態(tài)?如果第5個回鈴音又遲遲未到,超時是繼續(xù)累積還是重新計算?極端情況是不是迫使主叫等待過長時間?

這樣的細節(jié)建模會非常繁瑣。測試用例包可能是一種替代方法,通過預(yù)期輸入與預(yù)期與設(shè)計、需求約束的符合性,提供篩選依據(jù)。

我認為,即使采用了比較完備的形式化描述方法,必要的人工分析都是必不可少的,必須建立與技術(shù)手段和重用風(fēng)險相匹配的管理過程和活動規(guī)范,比如必要的評審、分析、驗證等。

另外要形成軟件重用和集成的規(guī)范,強化面向重用的組件開發(fā),強化集成的分析驗證。開發(fā)好的可重用組件,更安全地集成新產(chǎn)品

關(guān)鍵科技

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多