時間:2022-05-09 04:10:29
序論:在您撰寫軟件質量管理論文時,參考他人的優秀作品可以開闊視野,小編為您整理的7篇范文,希望這些建議能夠激發您的創作熱情,引導您走向新的創作高度。
近年來,HTML5為代表的Web技術得到長足發展,可以在操作系統上構建應用平臺所有的要素,實現跨平臺、跨屏,提供統一的用戶體驗,為國內廠商利用Web作為應用平臺、打造獨立的生態系統提供了機會。HTML5是技術變革,推動web應用達到Flash應用那樣的互動性和媒體能力,同時保證web應用在集成到設備和集成用戶數據方面和移動應用一樣。HTML5推動移動互聯網水平化演進,給產業軸心和發展模式轉變帶來新機遇,推動Web應用環境替代移動智能終端操作系統成為移動應用的承載平臺,打破移動智能終端操作系統和應用之間緊耦合的綁定關系,促進其由垂直一體化向水平化方向演進,顛覆現有移動互聯網的產業格局和發展模式?!癢eb平臺和互聯網渠道”將取代“移動智能終端操作系統和應用程序商店”成為產業新的核心,產業軸心和模式的轉換帶來新的發展機遇。因此,Web是國內廠商在移動平臺方面重點發展的方向。運營商可以推動WebKit朝著更好的帶寬管理、更緊密集成硬件多媒體加速器的方向開發。此外,運營商可資助開發更好的跨平臺開發工具,使HTML,JavaScript開發者能面向更多的原生平臺和大眾市場瀏覽器。目前,運營商也積極研發并推出自主知識產權的操作系統,如聯通沃PhoneOS、移動OPhoneOS。目前,以FirefoxOS、ChromeOS等為代表的WebOS也成為當前移動互聯網領域的熱門話題,內核支持原生應用和Web應用運行框架的混合型操作系統也有長足發展,支持HTML5框架和Java應用框架,應用開發者可以選擇其中之一開發其應用;整合通信服務、多媒體處理、定位地圖服務、日歷、郵件等日常使用的基礎應用。目前,市面上比較典型的混合型操作系統是“阿里手機操作系統”,其采用了自有的虛擬機,在Linux開源內核上開發了阿里云操作系統,并疊加了阿里云自行研發的“云應用引擎”(CloudAppEngine),用于支持HTML5Web應用。阿里手機操作系統能夠兼容Andriod系統,可以支持基于Andriod平臺開發的應用,兼容程度可達90%以上[1]。
伴隨著終端智能化及網絡寬帶化的趨勢,移動互聯網業務層出不窮,日益繁榮。但與此同時,移動終端越來越多的涉及商業秘密和個人隱私等敏感信息。移動終端也面臨各種安全威脅,如惡意訂購、自動聯網等,造成用戶的話費及流量損失;木馬軟件可以控制用戶的移動終端,盜取賬戶、監聽通話、發送本地信息等。移動終端作為移動互聯網時代最主要的載體,面臨著嚴峻的安全挑戰。智能移動終端惡意軟件危害根據2012年中國計算機網絡安全年會上國家互聯網應急中心副總工程師、國家網絡信息安全技術研究所所長杜躍進先生的報告,移動智能終端軟件安全檢測顯示,針對采集的48萬多個應用軟件,經掃描發現超過200多個已經明確是病毒的軟件。從中隨機選擇一萬余款應用軟件,利用國家網絡信息安全技術研究所自主研發的工具進行深度代碼分析,發現很多軟件存在惡意行為或可疑行為。其中,存在敏感行為的超過5000個,當中未經用戶許可自動訪問網站的3185個,自動向外發送短信或彩信的13個,另有4個明顯存在惡意行為(照比例計算,在48萬個應用軟件里至少有160個是尚未被防病毒產品檢出的惡意軟件。因此,移動互聯網相關應用軟件的整體安全現狀堪憂。而根據網秦云安全監測平臺統計,2013年全球共查殺到智能移動終端惡意軟件134790款,同比2012年增長106.6%;2013年感染終端共計5656萬部,同比2012年增長76.8%。
目前惡意軟件的傳播方式主要有五種:網絡下載傳播、藍牙(Bluetooth)傳播、USB傳播、閃存卡傳播、彩信(MMS)傳播等。據《2013年上半年中國手機安全狀況報告》指出,在手機惡意軟件的主要危害中,資費消耗、隱私竊取和惡意扣費位列前三。惡意軟件主要危害類型如下:《2013年上半年中國手機安全狀況報告》顯示,今年上半年國內新增手機木馬、惡意軟件及惡意廣告插件共計45萬余款,感染總量超過4.8億人次,接近2012全年感染量。其中,安卓新增木馬占總量的97%,九成以上含有隱私竊取行為。2013年上半年Android新增惡意軟件月度統計情況如圖1所示。下面結合實例簡單介紹惡意軟件的危害。著名竊密軟件“X臥底”由泰國的Vervata公司開發,引進中國后改名“X臥底”。該軟件能夠監聽話音、發送本地信息,個人隱私數據都被發送到第三方服務器上。其原理如圖2所示?!癤臥底”在短信監控環節能顯示出對方的號碼、收發短信的時間以及短信的詳細內容;電話監控方面破壞性較強,能夠顯示被監控方通話的號碼、通話時間和時長,并且能同時將通話錄音保存為一個AMR格式的音頻文件發送到監控方的指定郵箱;環境監聽方面,當主控號碼撥打安裝了X臥底的被監控手機時,被監控手機會自動將電話接通,主控號碼方能夠聽到對方周圍聲音,但在被監控手機上無任何顯示;一些“X臥底”變種(如Android版)還具備扣費功能??梢姡訌娨苿咏K端相關應用軟件質量的管理已迫在眉睫。智能移動終端軟件質量管理目前的主要操作系統平臺有Android、iPhone、WindowsPhone等。雖然惡意軟件在各個平臺都存在,但由于各個平臺的安全機制差異甚大,不同廠商的智能終端面臨的安全風險也截然不同,甚至同樣的操作系統,由于不同OEM對其安全加固程度不同,也呈現出不同的安全特性。
2.1軟件自動化測試工具的應用軟件質量因素主要包括十點,功能性質量因素:正確性,健壯性,可靠性;非功能性質量因素:性能,易用性,清晰性,安全性,可擴展性,兼容性,可移植性。軟件自動化測試對于提高軟件的測試效率和質量有著至關重要的作用。自動化測試使用機器執行測試案例,能夠節省大量人力,測試效率也更高。自動化測試通常采用腳本技術實現,便于測試經驗的積累和復用。軟件自動化測試工具除了傳統的黑、白盒測試工具,還包括對數據生成進行檢測的工具、對管理進行測試的工具。測試數據生成工具主要應用在測試的前端,為測試過程準備大量數據,目前典型的測試數據生成工具有:Bender&Associates公司提供的功能測試數據生成工具SoftTest和InternationalSoftwareAutomation公司提供的PanoramaC/C++測試數據生成工具;測試管理工具是指用工具對軟件的整個測試輸入、執行過程和測試結果進行管理的過程,主要有MercuryInteractive公司的TestDirector、IBM-Rational公司的ClearQuest。目前自動化測試工具的種類非常多,我們在選擇自動化測試工具時,要綜合考慮各方面的因素,使軟件自動化測試工具得到準確使用,只有這樣才能不斷提高測試的質量和效率,降低測試所需要的成本,從而促進軟件開發工作的快速發展。
2.2智能終端統一管理平臺智能終端作為行業終端,安全應和行業應用結合??赏ㄟ^搭建終端安全統一管理平臺,實現信息收集、檢索、分析,對智能移動終端軟件質量問題實行系統化、網絡化和動態化的跟蹤。不定期提供質量信息綜合分析報告,其中包括軟件測試過程的結果,得出的結論,缺陷分析及其限制因素,測試資源的消耗,提供統一的安全策略,最大程度確保企業終端的安全。統一管理平臺的組成架構如圖3、4所示。國外運營商如AT&T已經為其企業客戶提供類似的終端安全統一管理平臺。企業管理人員登錄到管理平臺之后,可以看到自己企業管理的所有手機,選擇想要管理的手機,點擊“管理手機”按鈕,就可對手機進行“刪除短信”、“刪除聯系人”、“刪除通訊記錄”、“重啟手機”等操作。如某員工離職后,企業就能即時刪除其手機上的所有信息,以保證企業客戶數據的安全,該員工歸還的手機把信息清空后,仍可被下一名新員工使用。假如某員工手機被盜,不法分子常常會將舊卡丟棄,并換入新卡銷贓。此時手機端軟件會自動發送信息給后端管理平臺,管理人員可以立即刪除手機內的所有信息。
標準的制定應當建立在先進的科學技術與豐富的實踐經驗之上,這一點光靠憑空捏造是不行的。制定標準的根本目的是:對社會生產秩序加以改善,并且在一定范疇內推動產品的流通,進而實現整個社會資源的優化配置,從而最終實現經濟效益與社會效益的最大化。從某種層面上而言,與人類的語言相同,"標準"是衡量人類勞動產品的一項重要標準,且隨著人類文明和知識水平的不斷進步和發展。在進入工業時代后,產品的生產過程開始呈現工業化、綜合化以及現代化的趨勢,在此過程中,常常需要多家企業與多個行業參與其中,并且需要對多項技術進行融合,才能將產品完美地呈現。伴隨著全球經濟一體化的推進,各國之間的貿易活動愈發頻繁,這勢必會影響各個國家的國家標準,在某種程度上這其實也促進了國際標準的形成。一般情況下,國際標準通常是經由國際電信聯盟、國際標準化組織以及國際電工委員會共同制定,并且通過國際標準化組織的進一步明確的標準。
2軟件工程質量管理的有效措施
(1)不斷強化軟件工程質量。軟件工程質量保證工作所指的就是開發出現的新軟件進行檢驗,來確保這些軟件達到有關規定的標準。該項工作的主要內容有對軟件產品進行審查、對一些工具、設備進行審查,以及對軟件開發技術的審查評審,最后根據審查所得出的數據做成報告。具本人多年的研究經驗,軟件工程質量保證工作的開展主要包括以下幾個流程:
①成立軟件工程質量審查小組;
②合理規劃小組審查活動;
③不斷優化小組工作內容,避免小組在審查過程中出現漏洞。
(2)不斷強化軟件工程質量的管理程序工作的開展。我們知道,通過有效的軟件管理,可以有效的實現軟件工程的工業化、軟件開發、生產的規?;钥梢哉f科學、完善軟件工程質量管理程序是軟件工程發展的強有力后盾。本文經過研究,其具體包括以下幾方面內容。
①對軟件工程產品的質量需求加以構建。其中產品的質量需求應當滿足全部客戶的不同要求與條件,且將這些要求與條件轉變成實際的標準,并加以介紹;與此同時,還必須對客戶的要求進行密切的觀察,一旦這些要求發生改變,那么就必須在第一時間內對軟件工程加以補充,進而使軟件設計更加的完善。
②制定一套軟件產品開發與維護的有效方式。
(3)不斷加強對軟件開發隊伍的建設與管理。人是軟件工程開發、管理等一系列活動開展的主體,所以不斷加強軟件開發隊伍、軟件工程質量管理隊伍建設對于提高軟件工程質量標準至關重要。其具體包括以下幾方面內容,第一,聘請優秀的軟件工程質量管理方面的人才,積極學習國內外高效的管理經驗,降低甚至是避免軟件管理問題的發生。第二,定期組織有關軟件開發知識與技術方面的培訓,并積極號召廣大管理人員與技術人員參與其中,以便使其能夠掌握最先進、最前沿的軟件工程開發技術與管理知識,且進行考核,以保證培訓的效果與質量,進而真正實現提升員工素質與技能的目的。
3結語
1.1測試設計重點偏離使用QC軟件測試發現bug統計,如表1所示。根據表1工作量統計,25人/日為5個中級測試工程師一周的工作量,但是根據測試用例發現的bug數量僅占bug總量的44.18%,該比例顯示測試用例的設計重點嚴重出現偏離。需要在測試用例設計的方向上進行調整。
1.2測試過程不可控QC軟件測試計劃中測試執行階段為2013.3.8-2013.3.27,執行三輪測試;實際測試時間為2013.3.23-2013.4.20,執行測試三輪,計劃完成時間嚴重偏離,表2為原計劃與實際計劃的對比。表2顯示測試計劃進行了較大調整,計劃截止時間比原計劃延遲23天。延遲原因經分析主要為開發提交測試時間延遲,開發提交版本問題較多,測試計劃安排不合理,在兩輪測試間為安排開發修改bug時間等。想要解決該問題,不僅需要對測試過程進行管理,同時也需要對開發提交的測試版本質量進行管理。
2軟件質量管理改進對策
2.1需求工程管理軟件開發過程中,需求不明確會帶來需求的頻繁變更,浪費了很多時間。針對此項問題,可對需求相關的活動進行統一管理,其需求管理結構圖如圖2所示。加強需求開發和需求管理的有機結合,不僅減少了需求的變更次數,還解決了工程師對需求不能理解到位的問題。需求開發和需求管理同樣重要,只有兩者互相配合才能做出用戶滿意的產品。
2.2立項管理為了使有限的資源發揮更高的價值,公司可通過立項管理流程進行立項管理,立項管理流程分為立項建議、立項評審和立項籌備三個階段,其具體流程圖3所示。
2.3測試流程管理針對測試流程中發現的問題,可對整體的測試流程做如下的改變:(1)測試部門可進行需求學習及需求討論,對理解不清楚及有疑問的需求,由研發設計部門進行解答,研發設計部門不能解答的由其聯系用戶確認后作出解答;(2)需求確認后,針對系統功能和性能等指標,由測試工程師進行測試測用例的設計,設計從兩個方面進行,一方面測試工程師根據需求進行測試用例的編寫,另一方面測試工程師可根據用戶反饋問題進行分析匯總;(3)使用QC功能測試工具對應用軟件兼容性、操作系統兼容性進行測試,以便于使用測試工具完成多種環境下的功能和兼容性測試;(4)進行自由測試以便于對系統測試用例進行補充,分析測試用例未覆蓋問題的原因;(5)定期分析缺陷庫中的問題,分析問題產生的原因,進行測試用例的修改。
3結論
在實際的項目質量管理中,質量管理總是圍繞著質量保證(QualityAssurance)過程和質量控制(QualityControl)過程兩方面。這兩個過程相互作用,在實際應用中還可能會發生交叉。正如引言所述,關于軟件的質量,很難下一個非常明確的定義。本文主要針對軟件工程中的質量管理來進行討論。
做軟件“大餐”的工序
軟件質量保證(SoftwareQualityAssurance,以下簡稱SQA)的目的是驗證在軟件開發過程中是否遵循了合適的過程和標準。軟件質量保證過程一般包含以下幾項活動:
首先是建立SQA組;其次是選擇和確定SQA活動,即選擇SQA組所要進行的質量保證活動,這些SQA活動將作為SQA計劃的輸入;然后是制定和維護SQA計劃,這個計劃明確了SQA活動與整個軟件開發生命周期中各個階段的關系;還有執行SQA計劃、對相關人員進行培訓、選擇與整個軟件工程環境相適應的質量保證工具;最后是不斷完善質量保證過程活動中存在的不足,改進項目的質量保證過程。
獨立的SQA組是衡量軟件開發活動優劣與否的尺度之一。SQA組的這一獨立性,使其享有一項關鍵權利??“越級上報”。當SQA組發現產品質量出現危機時,它有權向項目組的上級機構直接報告這一危機。這無疑對項目組起到相當的“威懾”作用,也可以看成是促使項目組重視軟件開發質量的一種激勵。這一形式使許多問題在組內得以解決,提高了軟件開發的質量和效率。
選擇和確定SQA活動這一過程的目的是策劃在整個項目開發過程中所需要進行的質量保證活動。質量保證活動應與整個項目的開發計劃和配置管理計劃相一致。一般把該活動分為以下五類:
1)評審軟件產品、工具與設施
軟件產品常被稱為“無形”的產品。評審時難度更大。在此要注意的一點是:在評審時不能只對最終的軟件代碼進行評審,還要對軟件開發計劃、標準、過程、軟件需求、軟件設計、數據庫、手冊以及測試信息等進行評審。評估軟件工具主要是為了保證項目組采用合適的技術和工具。評估項目設施的目的是保證項目組有充足設備和資源進行軟件開發工作。這也為規劃今后軟件項目的設備購置、資源擴充、資源共享等提供依據。
2)SQA活動審查的軟件開發過程
SQA活動審查的軟件開發過程主要有:軟件產品的評審過程、項目的計劃和跟蹤過程、軟件需求分析過程、軟件設計過程、軟件實現和單元測試過程、集成和系統測試過程、項目交付過程、子承包商控制過程、配置管理過程。特別要強調的是,為保證軟件質量,應賦予SQA阻止交付某些不符合項目需求和標準產品的權利。
3)參與技術和管理評審
參與技術和管理評審的目的是為了保證此類評審滿足項目要求,便于監督問題的解決。
4)做SQA報告
SQA活動的一個重要內容就是報告對軟件產品或軟件過程評估的結果,并提出改進建議。SQA應將其評估的結果文檔化
5)做SQA度量
SQA度量是記錄花費在SQA活動上時間、人力等數據。通過大量數據的積累、分析,可以使企業領導對質量管理的重要性有定量的認識,利于質量管理活動的進一步開展。
要說明的是,并不是每個項目的質量保證過程都必須包含上述這些活動或僅限于這些活動,要根據項目的具體情況來定。
SQA計劃中必須明確定義在軟件開發的各個階段是如何進行質量保證活動的。它通常包含以下內容:質量目標;定義每個開發階段的開始和結束邊界;詳細策劃要進行的質量保證活動;明確質量活動的職責;SQA組的職責和權限;SQA組的資源需求,包括人員、工具和設施;定義由SQA組執行的評估;定義由SQA組負責組織的評審;SQA組進行評審和檢查時所參見的項目標準和過程;需由SQA組產生的文檔。
選擇合適的SQA工具并不是試圖通過選擇SQA工具來保證軟件產品的質量,而是用以支持SQA的活動。選定SQA工具時,首先需要明確質量保證目標。根據目標制定選擇SQA工具的需求并文檔化,包括對平臺、操作系統以及SQA工具與軟件工程平臺接口的要求等。
如何使白壁“無瑕”
按工序去做也不一定能得到一盤完美的“大餐”,因為火侯等因素實在很難掌握。萬一掌握不好怎么辦?軟件質量控制主要就是發現和消除軟件產品的缺陷。對于高質量的軟件來講,最終產品應該盡可能達到零缺陷。而軟件開發是一個以人為中心的活動,所以出現缺陷是不可避免的。因此,要想交付一個高質量的軟件,消除缺陷的活動就變得很重要。缺陷消除是通過“評審”和“測試”這類質量控制活動來實現的。
缺陷在軟件開發的任何階段都可能會被引入。項目質量管理過程包含了許多可以識別缺陷、消除缺陷的過程。“識別缺陷”和“消除缺陷”本來是兩個不同的過程,但在這里為了簡便統一用“消除”來代表它們。潛在的缺陷越大,用來消除它所花的費用越高。因此成熟的軟件開發過程在每一個可能會引入潛在缺陷的階段完成之后都會開展質量控制活動。這些為了消除缺陷的活動包括:需求評審、設計評審、代碼走查、單元測試、集成測試、系統測試以及驗收測試等。
論文關鍵詞:軟件項目管理軟件產品質量因素
論文摘要:軟件項目管理的核心是全面客戶滿意。其管理體系包括:戰略管理、范圍管理、成本管理、時間管理、人力資源管理、溝通管理、風險管理和質量管理。
在軟件和信息科技行業,項目管理經常決定了一個產品或者企業能否成功。項目管理得到越來越多的企業和政府部門的重視,例如中國于2002年4月召開了有關項目管理的首次國際研討會。具體操作與項目最根本的不同在于具體操作是具有連續性和重復性的,而項目則是有時限性和唯一性的。項目是一項為了創造某一唯一的產品或服務的時限性工作。所謂時限性是指每一個項目都具有明確的開端和明確的結束;所謂唯一是指該項產品或服務與同類產品或服務相比在某些方面具有顯著的不同。各種層次的組織都可以承擔項目工作。項目有時只涉及一個組織的某一部分,有時則可能需要跨越好幾個組織。項目是執行組織商業戰略的關鍵。
一、軟件產品項目管理的重要性
20世紀80--90年代,許多大型企業管理信息系統MIS的開發都以失敗而告終。這是為什么?一個重要原因是軟件項目管理水平上不去,尤其是需求分析管理水平上不去,使得項目快要驗收或交付時,卻出了大問題:要么發現用戶需求獲取不準確,要么發現用戶需求變了,致使做好的系統不能用或不好用。20世紀90年代初,上海一家公司在青島做一個港口MIS項目,北京有一個單位在天津做一個港口MIS項目,都是因為甲乙雙方軟件工程基本知識不具備,使得項目管理不到位,導致2個大型項目不成功?,F在軟件應用領域空前廣闊,深人到社會和科學研究等領域的各個方面。軟件的需求也比以往更加多,軟件系統設計也空前復雜。軟件的項目管理問題也就因此而產生了。90年代中期,軟件項目管理不善的問題仍然嚴重。據美國軟件工程狀況調查,只有10%的項目能夠在預定的費用和進度下交付。于是軟件項目管理成為軟件項目發展中最重要的核心問題。為了使軟件項目開發獲得成功,必須對軟件開發項目的工作范圍、可能遇到的風險、需要的資源(人、硬件、軟件)、要實現的任務、經歷的里程碑、花費的工作量(成本),以及進度安排等做到心中有數。軟件項目管理的目的就是提供這些信息,分析信息,并根據分析結果對項目做出調整。軟件項目管理開始于技術工作之前,在軟件開發的整個過程中持續進行,最后中止于軟件過程結束。
二、軟件項目管理體系
隨著軟、硬件技術以及通信技術的日益成熟,軟件技術可以與所有的傳統產業相結合,促進產品的更新換代,大幅度提高產品的附加值,提高勞動生產率,推動產業結構與產品結構的調整。因此,軟件的開發以及應用不僅僅是軟件開發機構的任務,更深地涉及軟件使用者的切身利益,尤其像管理信息系統MIS(ManagcmentInformationSystem)、計算機集成制造系統CIMS(ComputerIntegrationManufacturingSystem)、企業資源計劃ERP(EnterpriseResourcePlanning)及商業智能BI(BusinessIntelligence)等大型的復雜軟件更是綜合了管理科學、計算機科學、通信技術以及數學等各方面的知識,需要各類人員的協調工作才能完成。因此也就有必要從項目管理的角度去管理軟件的開發和運行。從用戶的角度來看,軟件項目的生命周期應該包括項目前期的論證工作、項目計劃、軟件開發、運行、維護以及項目后評價。由此可見軟件項目管理的范圍不僅包括傳統的軟件開發過程,還應該包括開發之前的準備工作以及運行中的維護工作和對項目的總結工作。同時,在軟件項目生命周期中存在著許多活動。根據活動之間的相關性,可以將軟件項目的各種活動分為九大類。
(1)戰略管理。根據用戶的經營目標制定軟件項目的策略,以便為其他各方面的活動提供指導。在制定項目策略的時候應該充分考慮用戶和其他利益相關者的實際需求和市場因素。另外創造和諧的項目環境和連續改進也是戰略管理的重要任務
(2)范圍管理。其目的是控制軟件項目的全部活動過程都在需求范圍內,以確保項目各種資源的高效利用。成功的項目管理離不開用戶、軟件開發隊伍和項目經理的一致理解和協調配合
(3)成本管理。軟件項目的成本不僅包括開發成本,也包括開發之前立項階段以及軟件在運行中的費用。操作者的培訓費用和項所使用的各種硬件設施費用也都是整個項目成本的一部分。這些成本都需要很好地計劃和控制。
(4)時間管理。其內容有確定各項活動之間的時間相關性;估計各項活動的持續時間,跟蹤各項活動的進展情況,動態調筷各項活動之間在時間上的協調。
(5)人力資源管理。在軟件項目中應該為軟件開發人員和管理人員等各類項目人員創造一個和諧良好的工作氛圍。使他們能感到項目成功的把握和積極的工作心態,確保項目隊伍的穩定性和連續性。
(6)溝通管理。溝通管理是一個收集、存儲、配置和項目生命周期內所形成的各種信息的過程為了讓每個項目相關人員及時得到所需的信息,需要很好地解決“什么時候、向什么人禮報什么的”的問題,此外軟件開發隊伍和用戶之間的溝通也是溝通管理中的一項重要工作。
(7)風險管理。由于軟件項目中存在著很多的不確定因索,也就必然存在著各種風險而且風險有可能造成不良的結果,對風險進行分析和監控貫穿于整個軟件項目生命周期。
(8)質量管理。目前軟件的質量還是一個模糊的概念并且難以衡量由于軟件質量主要是在開發階段形成的,因此軟件項目質量管理的重點應放在系統分析、系統設計和編碼階段,走查、評審、調試和測試是保證軟件質量的重要手段軟件工程能力成熟度模型CMM(CapabilityMaturityModel)較好地解決了軟件開發過程中的質量管理問題。
綜合管理。綜合管理的任務是對前面討論的各類管理活動進行協調和控制,使這些活動相互配合。其核心任務是對各種方案進行評價,協調各方面的利益沖突確保項目總體標的最終實現。
三、軟件項目管理的核心是全面客戶滿意
當前,不少軟件業管理人上認為,軟件開發的問題主要在軟件開發的工程化、規范化和軟件開發管理體制。他們按照CMM(CapabilityMaturityModel),IS09002的標準來建立他們的管理體系。這里有商業競爭的因素在起作用。但是,他們忽略了商業競爭中取勝最重要的因素—客戶滿意。他們沒有考慮到他們的管理方法能否滿足客戶不斷變化的需求。從長遠來看,軟件項目真正的成功是客戶的全面滿意。以客戶滿意為中心的質量是必需的。漠視質量或只關心產品/服務是否符合需要的方法再也不足以留住和獲得客戶。因此,軟件開發項目組織必須先確定什么產品/服務可以讓顧客滿意,然后再努力滿足客戶的需求和期望。要實現此目標,組織必須識別對軟件產品的各種特性中哪些是對客戶的滿意起決定作用的要素。例如,服務器操作系統軟件,需要長時間穩定連續工作。穩定性則是該軟件產品的關鍵要素。因此系統的開發管理圍繞著這一關鍵要素來展開。盡管不少的組織明白沒有客戶一個組織就不能生存和發展,或者說沒有客戶就沒有組織,但在項目實施過程中,仍然存在著客戶滿意的障礙:
(1)項目管理組織沒有發展和完善對客戶不斷變化的需求和期望作出快速響應的能力。
(2)項目管理組織沒有聽取客戶意見和建議的能力。
(3)項目管理組織努力傾聽客戶對項目的要求,卻沒有確認客戶的需要和期望。
在軟件開發質量管理中,軟件企業面臨最大的問題就是管理系統的不可持續發展,基于CMMI的軟件開發質量管理針對這一問題提出了解決方案,但是由于現階段該體系還不夠完善,開發項目不能夠在獨立的平臺中得以有效實施,這給質量管理的有序執行帶來了一定的風險。為此,需要對該體系中的CMMI過程域進行改進,主要包括以下四項內容:是需求管理過程域,需求分析的質量取決于進度和外界約束條件,需求描述過于粗略,就會使維護需求雙向追朔環節出現問題;是驗證過程域,主要包括驗證準備、執行審查和驗證產品三個環節,解決的是信度問題;是確認過程域,與驗證過程域的環節相對應,解決的是效度問題;是項目定量管理過程域,即以量化的方式對已定義的項目流程進行管理,從而保證流程及流程績效和項目質量[2]。
2基于CMMI的軟件開發質量管理體系的構建
2.1各過程域的完善
軟件過程成熟度直接影響到軟件開發質量,基于CMMI的軟件開發質量管理體系的構建,其首要環節就是要對各過程域進行改進和完善,針對需求管理過程域存在的需求分析難以實現雙向追朔而引發的缺陷難以顯露的問題,應對需求的記錄方式做出改進,設定改進的幅度和目標,通過建立多層分級的需求體系,使所有的需求都使用一個編號,使用專門的需求管理工具來實現,提高需求滿意度,使質量開發風險得到有效控制;針對過程域存在的評審質量不高、文檔缺陷密度較低的問題,應保證缺陷密度能夠在基線控制范圍內正常波動,不應低于中值,可在正式評審前增設預審流程,再有就是通過郵件討論或直接使用工具,在此推薦使用DOORS工具的CPS功能,有助于保證信息數據的完整性,提高文檔評審質量;針對確認過程域存在的UT不充分的CR所占比例過高、缺陷排除率較低的問題,應通過可持續集成將零散的測試用例整合起來,改進用例編寫,對產品代碼實施持續測試,提高用例覆蓋率和檢查標準的可靠性;此外,還應將定量管理過程域引入質量管理體系中,建立組織級度量模式,對所有過程建立相應的度量方式,明確度量指標,確保整個體系處于一個循環改進的過程中[3]。
2.2體系的實施策略
基于CMMI的軟件開發質量管理體系,將活動及相關資源作為過程進行管理,能夠有效實現預期效果,該體系主要包括三項內容,即以客戶為中心、領導作用、全員參與、管理系統方法、過程處理方法、決策方法、持續改進和供方互利。在實施過程中,軟件開發能力成熟度集中體現在軟件項目開發和執行人員的整體能力上,除了團隊能力外,軟件開發過程中的控制能力和改進能力,軟件開發質量管理的核心內容就是對這些能力進行改善,任一階段、任一環節的優化都是在既有目標基礎上做出的改進,進而使績效得以提高,因此應對目標進行有效管理,具體來講,可通過領導的決策支持、確認質量改進目的、選擇最佳執行方案和重視員工培訓等四個方面來保證質量管理體系的有效實施。
3結語
關鍵詞:軟件需求;領域分析;質量屬性
中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2010)16-4424-02
Research and Application of Software Quality Improved Based on Software Requirement
WANG Yan-xing, YE Jing-fa
(College of Computer, Beijing University of Technology, Beijing 100124, China)
Abstract: Software is applied in more and more domain with the quickly development and application of the computer technology. At the same time, scale and complexity of software requirement is increasing day by day. Requirements analysis is a key activity in software life cycle,quality of software requirement can affect quality software directly. It selected an effective approach with the use of objected domain analysis to verification quality of requirement.
Key words: software requirement; domain analysis; qualityproperty
隨著科學技術和社會生產力的不斷發展,信息技術最快的發展速度和最強的滲透能力,廣泛應用于社會各個領域。軟件的規模越來越大,與此相對應軟件的需求也越來越復雜。正如“軟件危機”(software crisis)所闡述的兩方面:如何開發軟件以滿足不斷增長日趨復雜的需求和如何維護數量不斷膨脹的軟件產品。截至到目前, 如Brooks所言,解決軟件危機的“Silver Bullet” 還沒有出現[1]。需求分析是軟件研發的起始階段,高質量的需求分析是軟件項目邁向成功的第一步。
1 需求是軟件質量的根源
ISO9126的信息技術標準[2]中定義軟件質量:與軟件產品滿足明確或隱含需求的能力有關的特征和特征總和,它充分表明軟件系統是滿足用戶需求的實體。在研究中發現軟件缺陷產生的原因分布在軟件研發的各個階段,軟件產品說明書(需求)占56 %,設計占了27%,編寫代碼占7%;其他占10%。可見軟件缺陷的最大原因是軟件產品產品說明書和軟件設計。在生命周期中發現缺陷越早,修正問題的成本越低。軟件質量的管理不是IT自身的需求,而是業務應用的需求[5]。需求階段的問題不解決,相當于在錯誤的方向上不斷浪費人力物力[6]。Jones在報告中聲稱擴展需求對80%的管理信息系統和70%的軍事軟件造成風險[7],需求的質量將直接影響軟件質量[8]。協調統一的高質量需求是軟件開發成功的首要條件,需求質量的改進則成為軟件開發的首要任務。
軟件需求是指用戶對目標軟件系統在功能、行為、性能、設計約束等方面的期望。需求階段包括了需求開發和需求管理兩個部分。而需求工程是一個不斷反復的需求定義、記錄和演進的過程。軟件需求包括三個不同的層次--業務需求、用戶需求和功能需求--也包括非功能需求[9]。需求是軟件開發中最復雜的環節,現在軟件需求分析中發現需求具有明顯不完整性、不確定性及變化性等特點。提高需求質量在于如何改進和克服需求上述特征因素。
2 領域分析對軟件需求改進
了解顧客的需求是軟件質量管理的第一步。無論是領域工程還是應用工程,領域分析都是至關重要的。在應用工程中,軟件開發的首要任務是在特定的范圍內,針對一組特定的需求產生一組特定的設計和實現。因此在設計之前,必須正確獲得和理解軟件需求,而正確獲得和理解軟件需求的前提是對應用系統的工作領域有充分的認識和理解。
2.1 領域和領域分析方法
領域是指一組具有相似或相近軟件需求的應用系統所覆蓋的功能、問題、問題解決方案或知識區域[10]。領域工程則為一組相似或相近系統的應用工程建立基本能力和必備基礎的過程,它覆蓋了建立可復用軟件構件的所有活動[11]。領域工程包括三個主要的階段:領域分析、領域設計、領域實現。
領域分析(Domain Analysis)是Neighous1981 年在他的博士論文“使用部件的軟件構筑”中首次提出的[12],它的含義是指“識別、捕獲和組織特定領域中一類相似系統內對象、操作等可復用信息的過程”。領域分析是基于已經存在的系統和它們的發展開發歷史、基于從領域專家獲得的知識、背景理論、領域中新技術的基礎上,識別、收集、組織以及表示領域中相關信息的過程。領域分析進行識別領域邊界,通過分析領域需求,提取出某領域內系統的共性及可變部分從而建立領域模型。
2.2 面向領域方法的需求分析
提高軟件需求質量的最有效方法是準確獲取用戶的真實需求(功能和性能)。領域分析方法中涉及到廣泛的涉眾:如最終用戶、領域專家、領域分析員、系統投資人、需求分析員等等。領域專家對行業信息化有豐富經驗。最終用戶則能反應系統應用的典型業務需求,系統投資人則更多關注領域的發展和運營。以最終用戶中心,面向領域的需求分析方法有效捕獲從應用專業領域別是直接從最終用戶的需求,并完整、準確地予以描述與分析。軟件的需求從用戶中來,軟件的使用又到用戶中去。Harwell強調今天的用戶和開發者必須協同工作,以成功完成開發過程[13]。領域分析中參與涉眾的廣泛性和代表性解決需求的不完整性、使用領域語言對問題闡述保證問題的一致性。對領域問題分析的深度和廣度,防止了需求的頻繁變化和變更。而且即使變化也會在預先可控范圍內的調整和擴展,減少對領域模型的沖擊。領域分析立足于滿足現有業務的需求同時它還代表系統的一種發展方向和系統對未來業務發展的適應能力。保證應用工程需求的穩定性和系統性。通過分析領域需求的共性和可變性有利軟件產品線形成和演化。
領域工程是建立系統家族及支持系統演化的基礎和前提。面向領域的需求分析從需求問題的分布可以將領域為縱向(垂直)領域和橫向(水平)領域,其中垂直領域是指具有相似業務需求的一組相似應用系統所覆蓋的業務區域。水平領域是指根據應用系統內部模塊的功能性分類而得到的相似問題空間。領域分析方法從問題域出發將問題逐步深入逐步求精,通過橫向拓展和縱向拓展對需求進行挖掘。借鑒和學習國內外同行業和相近行業的經驗,并在此的基礎上不斷提出創新方向引導需求和發展需求。領域分析在一定程度上預測未來需求的發展趨勢,使軟件的需求能方便、快速適應市場的變化。
軟件的功能需求滿足了業務需求和用戶需求,而非功能需求則是軟件質量的內在體現。非功能需求是保證業務流程正常運轉的前提和保障。是衡量軟件能否良好運行的定性指標。質量屬性是軟件質量的綜合體現。質量屬性是客戶希望的特征,屬性并不是單獨存在的,而是一個或多個功能的附屬特征。軟件的整體質量是各種質量屬性之間的權衡和優化。為了達到產品特性的最佳平衡,在需求獲取階段識別和確定相關的質量屬性,領域涉眾需要確定質量屬性之間的優先級,已達到系統整體質量的合理優化。
3 領域分析方法的應用案例分析
隨著經濟全球化和新技術革命發展,數字化、融合化、全球化發展和媒介競爭是世界文化傳媒業的發展大勢。廣電傳媒業要打造核心競爭力,實現可持續發展,就必須通過體制改革,強化管理,整合企業流程,創新服務模式。數字電視業務的逐步深入,原來的業務系統正成為制約廣播電視發展的瓶頸,主要表現為以下幾個方面:廣播電視各業務系統各自獨立運行,數據和業務管理分散。無法實現客戶資料的統一管理,無法實現業務統一規劃運營。無法從業務數據中挖掘有價值的信息,更不能為企業管理層提供決策支持,企業很難推出快速響應市場的高效運營方案。因此廣電需要一個功能完善的、面向未來的綜合業務運營支撐系統(BOSS系統)來整合替代原來各個分散的系統。對廣電領域的分析成為建設多業務綜合運營支撐系統的首要問題。應用面向領域分析方法對廣電行業進行需求探索和研究,提出了廣電綜合業務支撐系統的業務模型如圖1。
領域分析方法為業務模型建立提供有效的思路。領域縱向分析中充分參考了電信行業,電信行業與廣電行業有很多相似之處而且有很多成熟的運營經驗,也充分借鑒了國際電信管理論壇(Tele Management Forum)。領域橫向分析全面整合廣電企業目前的系統,建立“以客戶為中心”的模擬、數字、增值多業務廣電運營支撐平臺。以多種接入方式滿足現有業務、未來數字整體轉換和增值業務的需求。以客戶為中心為客戶提供個性化、社會化、信息化的產品營銷模式。調整企業內部組織結構和整合企業內部資源,同時加強企業產品提供商的合作產業鏈。在新的業務平臺和市場競爭中尋求企業運營的商業模式。隨著運營商區域并購聯盟、廣電業務和用戶規模將劇增,業務系統數據量將更加龐大,為能滿足不斷發展的用戶需求和提高服務質量。系統運行的安全可靠性和事務的高性能處理成為系統整體質量的體現。
通過領域分析方法提出的模型滿足運營商的組織結構管理、業務需求和業務管理模式,完成企業信息化建設實現資源和信息的共享。實現業務規范、責權明確、各部門間的協同的管理?;诖诵枨蠓治龅南到y能全面降低企業運作成本,提高公司的整體運作效率,大幅拓展業務,進一步提高企業的核心競爭力。
4 總結
軟件需求的質量將直接影響軟件產品的質量,改善需求的質量是非常必要和有效的環節。本分探討了領域分析方法對軟件需求的改進,并在廣電業務支撐系統需求分析中進行了應用和探索。
參考文獻:
[1] BROOKS F P.THE MYTHICAL MAN-MONTH[M].北京:清華大學出版社,2002:42-43.
[2] International Organization for Standardization.International Electro-technical Commission ISO/IEC9126:Information Technology--Software Product Evaluation:Quality Characteristicd and Guidelines for Their Use[S].Chicago:Thomson,1991.
[3] Little wood B.Software Reliability Achievement and Assessment[M].Henley-on-Thames,England:Alfred Waller,Ltd,1987.
[4] Mizuno O,Kikuno T,Inagaki K,et al.Analyzing effects of cost estimation accuracy on quality and productivity[C]//Proceedings of the 1998 20th International Conference on Software Engineering.Kyoto,Japan:IEEE Comp Soc,1998:410-419.
[5] 張郁.軟件質量源自應用需求[N].每周電腦報,2005-11-21:90.
[6] 杰拉爾德?溫伯格.探索需求-設計前的質量[M].章柏幸,王媛媛,謝攀,譯.北京:清華大學出版社,2004:175-176.
[7] Jones C.Estimating Software Costs[M].Boston:Addison-Wesley,2000.
[8] BERKI E,GEORGIADOU E,HOLCOMBE M.Requirements Engineering and Process Modeling in Software Quality Management―Towards a Generic Process Metamodel[J].Software Quality Journal,2004(12):265-283.
[9] 陸麗娜.軟件需求[M].北京:機械工業出版社,2002:35-39.
[10] Tracz W.Domain-specific software architecture (DSSA) frequently asked questions (FAQ)[J].Software Engineering Notes,1994,19(2):52-56.
[11] Tracz W.Confessions of a UsedProgram Salesman Institutionalizing Software Reuse[M].New York:Addison Wesley Publishing Co.,1995.