軟件開發(fā)后影響軟件可維護性的因素
2015-02-28 13:51:31 訪問:
如果軟件開發(fā)沒有采用結(jié)構(gòu)化分析與設(shè)計方法,則只能相應(yīng)進行非結(jié)構(gòu)化維護。軟件開發(fā)這時系統(tǒng)軟件配置的唯一成分是程序源代碼,一旦有系統(tǒng)維護的需求時,軟件開發(fā)的維護工作只能從艱苦的評價程序代碼開始。由于沒有完整規(guī)范的設(shè)計開發(fā)文檔,無程序內(nèi)部文檔,對于軟件結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)、系統(tǒng)接口以及設(shè)計中的各種技巧很難弄清,如果編碼風(fēng)格再差一些,則系統(tǒng)維護工作十分艱難,因此,軟件人員寧可重新編碼,也不愿維護這種系統(tǒng)。同時,由于無測試文檔,不能進行回歸測試,對于維護后的結(jié)果難以評價。若采用了結(jié)構(gòu)化方法,則能夠很好克服非結(jié)構(gòu)化開發(fā)方法所產(chǎn)生的難題。從本質(zhì)上來說,這個質(zhì)量屬性就是軟件的維護過程,它描述了軟件開發(fā)生命周期中最主要的開銷。因此,軟件系統(tǒng)的可維護性對軟件的成本有著重要的影響。這就意味著我們能夠通過預(yù)測軟件系統(tǒng)的可維護性來有效的管理軟件開發(fā)的成本。軟件可維護性預(yù)測的研究主要包括基于各種度量因素來建立和確認各種可維護性預(yù)測器從而支持各種軟件維護活動。
一些軟件容易受到外界的信號干擾,會解數(shù)據(jù),產(chǎn)生誤動作。
死機:產(chǎn)生誤動作后,會引起死機,這時得有個死機自動復(fù)位功能。
軟件自檢:有個功能專門測軟件,自檢功能,一但出問題,對維護軟件一目了然。
1.可理解性。軟件可理解性表現(xiàn)為外來讀者理解軟件的結(jié)構(gòu)、接口、功能和內(nèi)部過程的難易程度。模塊化、詳細的設(shè)計文檔、結(jié)構(gòu)化設(shè)計、源代碼內(nèi)部的文檔和良好的高級程序設(shè)計語言等等,都對改進軟件的可理解性有重要貢獻。
2.可測試性。診斷和測試的難易程度主要取決于軟件容易理解的程度。良好的文檔對診斷和測試是至關(guān)重要的。此外,軟件結(jié)構(gòu)、可用的測試工具和調(diào)試工具,以及以前設(shè)計的測試過程也都是非常重要的。維護人員應(yīng)該能夠得到在開發(fā)階段用過的測試方案,以便進行回歸測試。在設(shè)計階段應(yīng)該盡力把軟件設(shè)計成容易測試和容易診斷的。
3.可修改性。軟件容易修改的程度和軟件設(shè)計原理和規(guī)則直接有關(guān)。耦合、內(nèi)聚、局部化、控制域與作用域的關(guān)系等等,都影響軟件的可修改性。
通過對系統(tǒng)可維護性的分析顯見,提高系統(tǒng)可維護性應(yīng)當從系統(tǒng)分析與設(shè)計開始,直至系統(tǒng)實施的系統(tǒng)開發(fā)全過程,在系統(tǒng)維護階段再來評價和注意可維護性為時己晚。企業(yè)應(yīng)特別強調(diào)提高系統(tǒng)可維護性的工作必須貫穿系統(tǒng)開發(fā)過程的始終。
系統(tǒng)維護考慮的因素
系統(tǒng)的維護不僅范圍廣,而且影響因素多。通常,在進行某項維護修改工作之前,要考慮下列三方面的因素:
(l)維護的背景:★系統(tǒng)的當前情況;★維護的對象;★維護工作的復(fù)雜性與規(guī)模。
(2)維護工作的影響:★對新系統(tǒng)目標的影響;★對當前工作進度的影響;★對本系統(tǒng)其他部分的影響;★對其他系統(tǒng)的影響。
(3)資源的要求:★對維護提出的時間要求;★維護所需費用(并與不進行維護所造成的損失比是否合算);★維護所需的工作人員。
雖然通過上面三個因素對于系統(tǒng)的可維護性很難量化,但是可以通過能夠量化的維護活動的特征,來間接地定量估算系統(tǒng)的可維護性。比如國外企業(yè)一般通過把維護過程中各項活動所消耗的時間記錄下來,用以間接衡量系統(tǒng)的可維護性,包括:(1)識別問題的時間;(2)管理延遲時間;(3)維護工具的收集時間;(4)分析、診斷問題的時間;(5)修改設(shè)計說明書的時間;(6)修改程序源代碼的時間;(7)局部測試時間;(8)系統(tǒng)測試和回歸測試的時間;(9)復(fù)查時間;(10)恢復(fù)時間。
選購指南:
本公司包括青島軟件公司、萊蕪軟件公司、德州軟件公司、淄博軟件公司、棗莊軟件公司等分公司,其中萊蕪軟件公司主要為萊蕪地區(qū)供應(yīng)各品種型的開發(fā),具體包含如:萊蕪軟件開發(fā),萊蕪APP開發(fā),萊蕪手機客戶端開發(fā);青島軟件公司主要為青島地區(qū)供應(yīng)各品種型的開發(fā),具體包含如:青島軟件開發(fā),青島APP開發(fā),青島手機客戶端開發(fā)德州軟件公司主要為德州地區(qū)供應(yīng)各品種型的開發(fā),具體包含如:德州軟件開發(fā),德州APP開發(fā),德州手機客戶端開發(fā);淄博軟件公司主要為淄博地區(qū)供應(yīng)各品種型的開發(fā),具體包含如:淄博軟件開發(fā),淄博APP開發(fā),淄博手機客戶端開發(fā);棗莊軟件公司主要為棗莊地區(qū)供應(yīng)各品種型的開發(fā),具體包含如:棗莊軟件開發(fā),棗莊APP開發(fā),棗莊手機客戶端開發(fā)可以滿足各種大中小型各類企業(yè)的管理需要。