課件-1軟件開發(fā)過程緒論.ppt_第1頁
課件-1軟件開發(fā)過程緒論.ppt_第2頁
課件-1軟件開發(fā)過程緒論.ppt_第3頁
課件-1軟件開發(fā)過程緒論.ppt_第4頁
課件-1軟件開發(fā)過程緒論.ppt_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、軟件方法與過程,第1章 緒論,第一章 緒論,1946年世界上第一臺電子計算機誕生至今,計算機軟件發(fā)展的三個階段 第一階段程序設計階段 時間:六十年代 特點: 軟件工作:程序設計 (+程序結構說明和使用說明 ) 軟件質(zhì)量:程序設計=數(shù)據(jù)結構+算法,編程技巧,第一章 緒論,第二階段軟件工程階段 時間:七十年代 九十年代 特點:軟件危機 軟件工作: 代碼編寫+需求分析、測試、維持等等 軟件工程 軟件質(zhì)量: 編程技巧 可讀性、可理解性、可測試性和易修改性等工程化的原則,第一章 緒論,第三階段軟件過程階段 時間:九十年代 特點: 軟件工作: 軟件開發(fā)過程 +軟件管理過程 軟件質(zhì)量: +軟件開發(fā)的效率,第

2、一章 緒論,1.1 現(xiàn)代軟件產(chǎn)業(yè)的困境 1.2 軟件生命周期模型及其局限性 1.3 走出困境軟件過程模式 習題,1.1 現(xiàn)代軟件產(chǎn)業(yè)的困境,1.1.1 困境中的現(xiàn)代軟件產(chǎn)業(yè),市場變幻莫測、需求日趨復雜、技術日新月異,市場許可的期限,有限資源,需求的產(chǎn)品,企業(yè) 成功,現(xiàn)代軟件產(chǎn)業(yè)的總體情況并不理想,案例 Square-Cal 3.0 版本將要在2.0版本上市后的10個月內(nèi)發(fā)布。項目經(jīng)理Mickey和上司Kim討論后決定:他們將為項目組成員提供私人辦公室、最新型的計算機以及免費的碳酸飲料,并且要求開發(fā)者在前8個月按照預先設計好的接口各自開發(fā),8個月之后進行可視化鎖定,在最后2個月內(nèi)完成系統(tǒng)集成一個

3、完美的計劃。于是項目組成員各自做著自己的工作。隨著可視化鎖定日期的來臨,他們開始進行代碼集成。他們在可視化鎖定最終截止日期前一天的下午兩點開始工作,但很快發(fā)現(xiàn)程序不能編譯通過,更不用說運行了。代碼在編譯時有數(shù)十個錯誤,而似乎每處理一個錯誤就會產(chǎn)生十個以上的新錯誤。他們一直干到午夜也沒有結果,只好決定第二天再說。但測試發(fā)現(xiàn)問題的速度遠比開發(fā)人員解決問題的速度快,處理系統(tǒng)這一部分的錯誤經(jīng)常會導致其它部分的問題。項目超期了,項目組成員在巨大的壓力下工作,士氣逐漸低落。最后整個軟件開發(fā)過程花了15個月的時間,即超過了項目計劃時間的0%,公司錯過了最佳的發(fā)布日期。產(chǎn)品發(fā)布后,用戶對Square-Cal

4、3.0版本反映冷淡,幾個月的時間內(nèi) 其市場份額從第二位下降到第四位。,現(xiàn)代軟件產(chǎn)業(yè)的總體情況并不理想,一組統(tǒng)計數(shù)據(jù),進度延期、成本超出預算、而且運行經(jīng)常不可靠,軟件開發(fā)的滑鐵盧(Software Runaways) 死亡之旅(Death March),1.1 現(xiàn)代軟件產(chǎn)業(yè)的困境,1.1.2 陷入困境的根源 沿用二、三十年前的軟件組織方式和開發(fā)方法 開發(fā)當今用戶需求的復雜軟件產(chǎn)品 不完整、不現(xiàn)實的項目需求描述 缺乏用戶參與 、交流模糊 不完整、不準確、需求項過多、難度過高 對需求的變更束手無策 需求變更是現(xiàn)實世界變化的反映 對需求變更無應對能力,1.1 現(xiàn)代軟件產(chǎn)業(yè)的困境,脆弱的構架 程序塊間互

5、不兼容,不易擴展、裁剪和移植 采用不成熟的技術 新技術不具有要求的功能 新技術存在局限性 新技術是問題的錯誤解決方案 測試的不充分性 未檢測出需求、設計和實現(xiàn)三者之間的不一致,1.1 現(xiàn)代軟件產(chǎn)業(yè)的困境,拙劣的進度計劃和評估 過于樂觀 霍夫斯塔特(Hofstadter)定律: 開發(fā)軟件的 時間總比想象的時間長,即使注意了霍夫斯塔特定律也是如此。,1.1 現(xiàn)代軟件產(chǎn)業(yè)的困境,缺乏資源 經(jīng)費、人員、場地、時間 尤其是資深人員 不具備項目管理方法 風險的預估和駕馭 軟件質(zhì)量的度量,1.1 現(xiàn)代軟件產(chǎn)業(yè)的困境,缺少管理層的支持 企業(yè)高層的支持的必要性 需要獲取足夠的資源 需要獲取對項目特殊要求的審批

6、需要與其他部門人員進行合作 需要在某些時候得到適當?shù)闹笇Ш蛶椭?符合企業(yè)總體的發(fā)展規(guī)劃和經(jīng)營目標,1.2 軟件生命周期模型及其局限性,1.2.1 困境中的消極態(tài)度,項目 遇到 障礙,指責:,老板,項目管理人員,用戶,頹廢 :,死亡之旅,不相干的事,惡性循環(huán),相信自己 是完美的,1.2 軟件生命周期模型及其局限性,1.2.2 困境中的積極探索 思考、反省,1.2 軟件生命周期模型及其局限性,例證1:微軟公司,例證2:嵌入式軟件產(chǎn)品與服務的提供商 風河(Wind River)公司,1.2 軟件生命周期模型及其局限性,1.2.2 困境中的積極探索,?微軟等,成功經(jīng)驗,失敗教訓,演變?yōu)轶w系 化研究成果

7、,軟件生命周期模型,軟件過程,軟件開發(fā) 實踐經(jīng)驗總結,匯總,新的軟件 項目開發(fā),指導,1.2 軟件生命周期模型及其局限性,1.2.3 軟件過程 1定義 定義1-1 軟件過程是從軟件項目需求定義開始直至軟件經(jīng)使用后廢棄為止的跨越軟件整個生存期內(nèi)的系統(tǒng)開發(fā)、運行和維護等全部活動及相關項的總和。,1.2 軟件生命周期模型及其局限性,2內(nèi)容 軟件過程包括:5個主要過程、8個支持過程和4個組織過程。 5個主要過程為:獲取過程、供應過程、開發(fā)過程、運行過程、維護過程。 8個支持過程為:文檔編制過程、配置管理過程、質(zhì)量保證過程、驗證過程、確認過程、聯(lián)合評審過程、審核過程、問題解決過程。 4個組織過程為:管理

8、過程、基礎設施過程、改進過程、培訓過程。,1.2 軟件生命周期模型及其局限性,3軟件過程能力評估標準和改進方案 三種最具影響力的軟件過程能力評估標準和改進方案: CMM (Capability Maturity Model) : 起源:1987年由美國卡內(nèi)基梅隆大學提出 適用范圍:國際貿(mào)易中的軟件 內(nèi)容:軟件能力成熟度從低到高分為五級初始級、可重復級、已定義級、已定量管理級、優(yōu)化級,軟件企業(yè)可按這五級對其軟件過程進行持續(xù)改進 ISO9000: 起源:1987年由國際標準化組織頒布 適用范圍:國際貿(mào)易中的軟件+國際貿(mào)易中的硬件和服務。,1.2 軟件生命周期模型及其局限性,六西格瑪(Six Sig

9、ma, 6) : 歷史 起源于制造業(yè),質(zhì)量度量管理方法 20世紀90年代中期,通用電氣公司的企業(yè)過程設計、 改造和優(yōu)化的方法體系,各個行業(yè) 內(nèi)容: 采用統(tǒng)計學技術的質(zhì)量度量和管理方法 將所有工作作為一種過程或流程,采用量化的方法分析過程中影響質(zhì)量的因素,找出最關鍵的因素加以改進,從而達到更高的客戶滿意度,1.2 軟件生命周期模型及其局限性,1.2.4 軟件生命周期模型及其局限性 1定義 定義1-2 軟件生命周期模型是軟件過程中全部活動生命周期結構框架的一種形式化描述,也稱為軟件生存期模型。,1.2 軟件生命周期模型及其局限性,2種類 瀑布模型 內(nèi)容:各階段活動 特征: 瀑布狀: 自上而下,相互

10、銜接 各階段及其活動 : 多種模型的基本細粒度元素 適用范圍 需求較明確、且較穩(wěn)定,演化模型(原型模型) 內(nèi)容: 第一步:原型 弄清需求并探索可行性 第二步:開發(fā)產(chǎn)品 特征及適用范圍:減少了需求不明確帶來的風險,1.2 軟件生命周期模型及其局限性,1.2 軟件生命周期模型及其局限性,螺旋模型 內(nèi)容: 螺線旋轉(zhuǎn)一圈 (笛卡兒坐標 四個象限) 一個原型,1.2 軟件生命周期模型及其局限性,螺旋模型 特征 加入風險分析 迭代演化 識別每個演化層的風險 自上而下(見右圖 ) 適用范圍 需求不太穩(wěn)定,1.2 軟件生命周期模型及其局限性,噴泉模型 內(nèi)容: 面向?qū)ο蟮姆治鲈O計方法 特征: 噴泉狀:自底向上

11、迭代演化 對象統(tǒng)一范式 無縫銜接,復用,并行與集成 適用范圍 需求較不穩(wěn)定,1.2 軟件生命周期模型及其局限性,3總體局限性 定義1-1 軟件過程是從軟件項目需求定義開始直至軟件經(jīng)使用后廢棄為止的跨越軟件整個生存期內(nèi)的系統(tǒng)開發(fā)、運行和維護等全部活動及相關項的總和。 定義1-2 軟件生命周期模型是軟件過程中全部活動生命周期結構框架的一種形式化描述,也稱為軟件生存期模型。,?活動的相關項 (執(zhí)行者 、方法 和工具、目標),軟件生命周期模型較差的 可操作性,尋求 新的,1.3 走出困境軟件過程模式,1.3.1 軟件過程模式定義 定義1-3 軟件過程模式從成功或失敗的軟件開發(fā)實踐中總結而成,是軟件過程

12、中生命周期、人員、方法、產(chǎn)品四大類要素的有機關聯(lián)整體。,1.3 走出困境軟件過程模式,定義理解: 誰、為實現(xiàn)什么、如何、做什么,其中 人員:表示“誰”; 產(chǎn)品:表示“為實現(xiàn)什么”; 方法:表示“如何”; 生命周期:表示“(何時)做什么”。 關系:軟件生命周期模型軟件過程模式,1.3 走出困境軟件過程模式,過程模式定義的補充說明 過程模式一書 (Process Patterns:Building Large-Scale Systems Using Object Technology. SCOTT W.AMBLER) 模式:對一個常見問題的通用解決方案的描述,從中可以確定針對具體問題的細節(jié)化的解決

13、方案;軟件開發(fā)模式有多種形式,包括分析模式、設計模式和過程模式等,但不限于這些。 過程模式:一種模式,描述了已被證實為成功的軟件開發(fā)的方法或一系列的行為。 尚無統(tǒng)一定義,僅供參考,1.3 走出困境軟件過程模式,1.3.2 幾種典型的軟件過程模式 符合定義1-4且目前在軟件界影響較大的三種軟件過程模式 : Rational統(tǒng)一過程(RUP,Rational Unified Process) 敏捷過程(AP,Agile Process) 微軟過程(MP,Microsoft Process),1. Rational統(tǒng)一過程(RUP,Rational Unified Process) 起源: Rati

14、onal公司推出的軟件過程產(chǎn)品 三位杰出的專家Grady Booch、James Rumbaugh和Ivar Jacobson 面向?qū)ο箢I域 +UML的創(chuàng)立者,1.3 走出困境軟件過程模式,應用領域:全球有上千家公司已經(jīng)在使用 電信業(yè):Ericsson、Alcatel、MCI 交通、航空、國防;Lockheed-Martin、British Aerospace 制造業(yè):Xerox、Volvo、Intel 金融業(yè):Visa、Merrill Lynch、Schwab 系統(tǒng)集成業(yè):Ernst Young、Oracle、Deloitte & Touche RUP的多功能性和廣泛的適用性,1.3 走出困

15、境軟件過程模式,內(nèi)容:從軟件過程模式的角度 生命周期: 迭代與增量的二維生命周期結構 橫軸:生命周期的四個階段先啟、精化、構建和產(chǎn)品化 縱軸:九個核心工作流程業(yè)務建模、需求、分析設計、實施、測試、部署、配置與變更管理、項目管理、環(huán)境 人員 : 角色及活動,1.3 走出困境軟件過程模式,方法 : UML可視化建模 基于用例驅(qū)動 以構架為中心 一整套支持開發(fā)工具Rational Solutions, 如UML建模工具Rose、文檔自動生成工具SoDA、測試工具Purify和Quality、配置管理工具ClearCase、變更管理工具ClearQuest等 產(chǎn)品 : 工件定義 ,工件類型規(guī)范 ,提供

16、工件模板,1.3 走出困境軟件過程模式,2敏捷過程(AP,Agile Process) 起源: 矯正某些官僚煩瑣的軟件過程 2001年2月,17個方法學家發(fā)起成立了敏捷 軟件開發(fā)聯(lián)盟(), 簡稱為敏捷聯(lián)盟(Agile Alliance)。 4條價值觀+12條原則,1.3 走出困境軟件過程模式,內(nèi)容:從軟件過程模式的角度 生命周期: “經(jīng)常性地交付可用軟件,從幾個星期到幾個月,盡可能做到較短的時間間隔” 人員 : “個體和交互勝過過程和工具” 強調(diào)客戶的重要性“客戶合作勝過合同談判”,1.3 走出困境軟件過程模式,方法 : 簡單化方法 “簡單把不做的工作最大化的藝術是最關鍵的” 面對面的交流 產(chǎn)

17、品: “可以工作的軟件勝過面面俱到的文檔”,1.3 走出困境軟件過程模式,3. 微軟過程(MP,Microsoft Process) 起源: 微軟三十多年的軟件開發(fā)實踐經(jīng)驗總結 MSF(Microsoft Solution Framework ) 應用: 微軟自身的成功實踐史 可實踐性與有效性,1.3 走出困境軟件過程模式,內(nèi)容:從軟件過程模式的角度 生命周期: 過程分為五個階段構想、計劃、開發(fā)、穩(wěn)定和發(fā)布,里程碑 采用遞進的版本發(fā)布策略 人員 : 六種角色:產(chǎn)品管理、程序管理、開發(fā)、測試、用戶體驗、發(fā)布管理 人員的組織結構 矩陣結構模式,1.3 走出困境軟件過程模式,方法 : 需求分析方面以

18、產(chǎn)品特性及優(yōu)先級指導整個項目 設計方面模塊化和水平化的設計結構,并使項目結構反映產(chǎn)品結構 實現(xiàn)方面源代碼控制與每日編譯 測試方面手工測試與自動化測試,零缺陷管理 產(chǎn)品: 產(chǎn)品規(guī)范包括:項目前景/范圍說明書、功能說明書、源代碼、測試說明書與測試用例等,1.3 走出困境軟件過程模式,其它:如個體/小組軟件過程(PSP/TSP) 特點: 強調(diào)質(zhì)量優(yōu)先于效率和成本 對過程的管理和評估基于對歷史數(shù)據(jù)的統(tǒng)計分析和度量 適用范圍: 環(huán)境和需求相對穩(wěn)定、開發(fā)質(zhì)量關鍵工程以及一些外包項目,1.3 走出困境軟件過程模式,1.3 走出困境軟件過程模式,1.3.3 軟件過程模式提出的意義 相對軟件生命周期模型 關注四要素及相互關系的有機整體,非一個要素 全面反映了軟件過程中的各個層面和各個環(huán)節(jié) 是項目計劃、風險評估、質(zhì)量保證的重要依據(jù) ,指導軟件開發(fā)具有可操作性 從軟件過程模式的角度分析RUP、AP

溫馨提示

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

評論

0/150

提交評論