高質(zhì)量軟件開發(fā)之道_第1頁
高質(zhì)量軟件開發(fā)之道_第2頁
高質(zhì)量軟件開發(fā)之道_第3頁
高質(zhì)量軟件開發(fā)之道_第4頁
高質(zhì)量軟件開發(fā)之道_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、高質(zhì)量軟件開發(fā)之道高質(zhì)量軟件開發(fā)之道 內(nèi)建高質(zhì)量而非修補(bǔ)質(zhì)量的理念與方法內(nèi)建高質(zhì)量而非修補(bǔ)質(zhì)量的理念與方法 林林 銳銳 博士博士rui.linalcatel-Page 2目錄目錄1. IT企業(yè)面臨的軟件工程難題與對(duì)策企業(yè)面臨的軟件工程難題與對(duì)策 2. 軟件過程改進(jìn):理念與解決方案軟件過程改進(jìn):理念與解決方案3. 細(xì)說軟件質(zhì)量細(xì)說軟件質(zhì)量4. 高質(zhì)量軟件開發(fā)的理念:內(nèi)建質(zhì)量而非修補(bǔ)質(zhì)量高質(zhì)量軟件開發(fā)的理念:內(nèi)建質(zhì)量而非修補(bǔ)質(zhì)量5. 現(xiàn)場交流現(xiàn)場交流Page 31. IT企業(yè)長期面臨的軟件工程難題企業(yè)長期面臨的軟件工程難題1.1 企業(yè)的目的企業(yè)的目的 u根本目的:合法地賺錢,獲取盡可能多的利潤。u

2、第一推論:為了使利潤最大化,產(chǎn)品開發(fā)應(yīng)當(dāng)“做得好、做得快并且少花錢” u 軟件工程學(xué)科的目的:提高軟件產(chǎn)品質(zhì)量、提高生產(chǎn)率并且降低開發(fā)成本 u質(zhì)量、生產(chǎn)率、成本之間的復(fù)雜關(guān)系u成本重要還是Time to Market 重要?1.2 企業(yè)長期面臨的企業(yè)長期面臨的軟件工程難題軟件工程難題u產(chǎn)品質(zhì)量低下、進(jìn)度延誤、費(fèi)用超支(軟件工程學(xué)科發(fā)展30年尚未徹底解決) u經(jīng)典軟件工程:研究需求分析、系統(tǒng)設(shè)計(jì)、編程、測試、維護(hù)等領(lǐng)域的方法、技術(shù)和工具u問題之源:人們逐漸意識(shí)到,由于企業(yè)管理軟件過程的能力比較弱,常常導(dǎo)致項(xiàng)目處于混亂狀態(tài)。過程混亂使得新技術(shù)、新工具的優(yōu)勢難以體現(xiàn)。經(jīng)典的軟件工程不是不好,而是不夠

3、用。 u用于提高軟件過程能力的實(shí)踐通稱為軟件過程改進(jìn)。 Page 42. 軟件過程改進(jìn):理念與解決方案軟件過程改進(jìn):理念與解決方案 2.1 軟件過程改進(jìn)理念軟件過程改進(jìn)理念u提高軟件過程能力可以比喻為“練內(nèi)功”,“練內(nèi)功”沒有捷徑可走,唯有走“規(guī)范化”之路,即“制定適合于本企業(yè)的軟件過程規(guī)范,并按照此規(guī)范執(zhí)行”。 u“規(guī)范化”不會(huì)抑止人們的創(chuàng)造力,相反地,它使得團(tuán)隊(duì)可以大規(guī)模地復(fù)用前人積累的智慧和財(cái)富。這種方法非常適合于現(xiàn)代的工業(yè)化生產(chǎn)。 (麥當(dāng)勞與中餐館對(duì)比)u業(yè)界實(shí)踐已經(jīng)證明,走“規(guī)范化”之路是“成本最低、見效最快、能持續(xù)發(fā)展”的軟件過程改進(jìn)方法,猶如人類的“養(yǎng)生之道”。任何IT企業(yè)(不論

4、大?。?,都有辦法以其承受得起的代價(jià)“走規(guī)范化之路”,從而有效地提高軟件過程能力。 2.2 IT企業(yè)軟件過程改進(jìn)的需求企業(yè)軟件過程改進(jìn)的需求u首先制定適合于本企業(yè)的軟件過程規(guī)范。 u對(duì)員工們進(jìn)行培訓(xùn),指導(dǎo)他們依據(jù)規(guī)范來開發(fā)產(chǎn)品。 u購買一些軟件工程和項(xiàng)目管理工具,提高員工們的工作效率 。 2.3 CMMI 3級(jí)軟件過程改進(jìn)解決方案級(jí)軟件過程改進(jìn)解決方案u通用的CMMI 3級(jí)軟件過程改進(jìn)方法與規(guī)范,命名為“精簡并行過程”(SPP)。 u與SPP配套的軟件工程和項(xiàng)目管理培訓(xùn)教材。 u一套基于Web的集成化軟件項(xiàng)目管理工具,主要功能包括項(xiàng)目規(guī)劃、項(xiàng)目監(jiān)控、質(zhì)量管理、配置管理、需求管理、工作流管理等,命

5、名為Future。 CMMI 3級(jí)精簡并行過程 SPP 模型模型軟件工程著作軟件工程著作基于Web的集成化軟件項(xiàng)目管理工具Page 83. 細(xì)說軟件質(zhì)量細(xì)說軟件質(zhì)量 3.1 如何描述質(zhì)量如何描述質(zhì)量u用人的健康做類比u如何判斷人是否健康?體檢因素:身高、體重、心跳、血壓、血液、體溫等u運(yùn)行正確的軟件就是高質(zhì)量的軟件嗎?不貪污的官就是好官嗎?3.2 十大軟件質(zhì)量因素十大軟件質(zhì)量因素u功能性質(zhì)量因素:正確性,健壯性,可靠性u(píng)非功能性質(zhì)量因素:性能,易用性,清晰性,安全性,可擴(kuò)展性,兼容性,可移植性u(píng)為什么是“十大” 質(zhì)量因素 u逐一解釋“十大” 質(zhì)量因素(參見高質(zhì)量程序設(shè)計(jì)指南C+/C語言)3.3

6、 正確性正確性u(píng)正確性是指軟件按照需求正確執(zhí)行任務(wù)的能力。 “正確性”的語義涵蓋了“精確性”。u正確性無疑是第一重要的軟件質(zhì)量屬性。u技術(shù)評(píng)審和測試的第一關(guān)都是檢查工作成果的正確性。 u機(jī)器不會(huì)主動(dòng)欺騙人,軟件運(yùn)行出錯(cuò)通常都是人造成的,所以不要找借口埋怨機(jī)器有毛病。 Page 93. 細(xì)說軟件質(zhì)量細(xì)說軟件質(zhì)量 3.4 健壯性健壯性 u健壯性是指在異常情況下,軟件能夠正常運(yùn)行的能力。 u正確性描述軟件在需求范圍之內(nèi)的行為,而健壯性描述軟件在需求范圍之外的行為。u開發(fā)者往往把異常情況錯(cuò)當(dāng)成正常情況而不作處理,結(jié)果降低了健壯性。 u用戶才不管正確性與健壯性的區(qū)別,反正軟件出了差錯(cuò)都是開發(fā)方的錯(cuò)。所以

7、提高軟件的健壯性也是開發(fā)者的義務(wù)。u健壯性有兩層含義:一是容錯(cuò)能力,二是恢復(fù)能力。 3.5 可靠性可靠性 u可靠性是指在一定的環(huán)境下,在給定的時(shí)間內(nèi),系統(tǒng)不發(fā)生故障的概率。u可靠性本來是硬件領(lǐng)域的術(shù)語。比如某個(gè)電子設(shè)備在剛開始工作時(shí)挺好的,但由于器件在工作中其物理性質(zhì)會(huì)發(fā)生變化(如發(fā)熱),慢慢地系統(tǒng)的功能或性能就會(huì)失常。所以一個(gè)從設(shè)計(jì)到生產(chǎn)完全正確的硬件系統(tǒng),在工作中未必就是可靠的。 u軟件在運(yùn)行時(shí)不會(huì)發(fā)生物理性質(zhì)的變化,人們常以為如果軟件的某個(gè)功能是正確的,那么它一輩子都是正確的??墒俏覀儫o法對(duì)軟件進(jìn)行徹底地測試,無法根除軟件中潛在的錯(cuò)誤。平時(shí)軟件運(yùn)行得好好的,說不準(zhǔn)哪一天就不正常了,如有千

8、年等一回的“千年蟲”問題,司空見慣的“內(nèi)存泄露”問題、“誤差累積”問題等等。 u時(shí)隱時(shí)現(xiàn)的錯(cuò)誤一般都屬于可靠性問題,糾錯(cuò)的代價(jià)很高。Page 103. 細(xì)說軟件質(zhì)量細(xì)說軟件質(zhì)量 3.6 性能性能u性能通常是指軟件的“時(shí)間-空間”效率,而不僅是指軟件的運(yùn)行速度。人們總希望軟件的運(yùn)行速度高些,并且占用資源少些。 u性能優(yōu)化的關(guān)鍵工作是找出限制性能的“瓶頸” u可以通過優(yōu)化數(shù)據(jù)結(jié)構(gòu)、算法和代碼來提高軟件的性能。 3.7 易用性易用性u(píng)易用性是指用戶使用軟件的容易程度。u現(xiàn)代人的生活節(jié)奏快,干啥事都想圖個(gè)方便。所以把易用性作為重要的質(zhì)量屬性對(duì)待無可非議。 u導(dǎo)致軟件易用性差的根本原因 :理工科大學(xué)教育

9、存在缺陷:沒有開設(shè)人機(jī)工程學(xué)、美學(xué)、心理學(xué)這些必修課,大部分開發(fā)人員不知道如何設(shè)計(jì)易用的軟件產(chǎn)品。 開發(fā)人員犯了“錯(cuò)位”的毛?。核詾橹灰约河闷饋矸奖?,用戶也就會(huì)滿意。 u軟件的易用性要讓用戶來評(píng)價(jià)。當(dāng)用戶真的感到軟件很好用時(shí),一股溫暖的感覺油然而生,于是就用“界面友好”、“方便易用”等詞來評(píng)價(jià)軟件產(chǎn)品。 Page 113. 細(xì)說軟件質(zhì)量細(xì)說軟件質(zhì)量 3.8 清晰性清晰性 u清晰意味者所有的工作成果易讀、易理解,可以提高團(tuán)隊(duì)開發(fā)效率,降低維護(hù)代價(jià)。 u開發(fā)人員只有在自己思路清晰的時(shí)候才可能寫出讓別人易讀、易理解的程序和文檔。 u可理解的東西通常是簡潔的。一個(gè)原始問題可能很復(fù)雜,但高水平的人就

10、能夠把軟件系統(tǒng)設(shè)計(jì)得很簡潔。如果軟件系統(tǒng)臃腫不堪,它遲早會(huì)出問題。所以簡潔是人們對(duì)工作“精益求精”的結(jié)果,而不是潦草應(yīng)付的結(jié)果。 u千萬不要把在學(xué)校里“造文章”的手法用于開發(fā)產(chǎn)品! 3.9 安全性安全性 u這里安全性是指信息安全,英文是Security而不是Safety。u安全性是指防止系統(tǒng)被非法入侵的能力,既屬于技術(shù)問題又屬于管理問題。 u“道高一尺,魔高一丈” ,絕對(duì)安全的信息系統(tǒng)幾乎不存在。u開發(fā)商和客戶愿意為提高安全性而投入的資金是有限的,他們要考慮值不值得。 u究竟什么樣的安全性是令人滿意的呢? 一般地,如果黑客為非法入侵花費(fèi)的代價(jià)(考慮時(shí)間、費(fèi)用、風(fēng)險(xiǎn)等因素)高于得到的好處,那么這

11、樣的系統(tǒng)可以認(rèn)為是安全的。 Page 123. 細(xì)說軟件質(zhì)量細(xì)說軟件質(zhì)量 3.10 可擴(kuò)展性可擴(kuò)展性 u可擴(kuò)展性反映軟件適應(yīng)“變化”的能力。 u在軟件開發(fā)過程中,“變化”是司空見慣的事情,如需求、設(shè)計(jì)的變化,算法的改進(jìn),程序的變化等等。由于軟件是“軟”的,是否它天生就容易修改以適應(yīng)“變化”?關(guān)鍵要看軟件的規(guī)模和復(fù)雜性。 u現(xiàn)代軟件產(chǎn)品通常采用“增量開發(fā)模式”,不斷推出新版本,獲取增值利潤。可擴(kuò)展性越來越重要??蓴U(kuò)展性是系統(tǒng)設(shè)計(jì)階段重點(diǎn)考慮的質(zhì)量屬性。 3.11 兼容性兼容性u(píng)兼容性是指兩個(gè)或兩個(gè)以上的軟件相互交換信息的能力。u兼容性的商業(yè)規(guī)則:弱者設(shè)法與強(qiáng)者兼容,否則無容身之地;強(qiáng)者應(yīng)當(dāng)避免被兼容,否則市場將被瓜分。示例: 中國聯(lián)通和中國移動(dòng)的手機(jī)互聯(lián)互通問題 金山軟件公司的WPS與微軟的Word之爭3.12 可移植性可移植性u(píng)可移植性是指軟件運(yùn)行于不同軟硬件環(huán)境的能力u編程語言越低級(jí),其程序越難移植,反之則容易。軟件設(shè)計(jì)時(shí)應(yīng)該將“設(shè)備相關(guān)程序”與“設(shè)備無關(guān)程序”分開,將“功能模塊”與“用戶界面”分開。Page 134. 高質(zhì)量軟件開發(fā)理念高質(zhì)量軟件開發(fā)理念4.1 質(zhì)量與缺陷質(zhì)量與缺陷u質(zhì)量的死對(duì)頭是

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論