




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
高級軟件開發過程第1章緒論計算機軟件發展的三個階段:程序設計階段(軟件工作:程序設計,軟件質量:程序設計=數據結構+算法,強調編程技巧)軟件工程階段(總結軟件危機的教訓,軟件工作:代碼編寫+需求分析、測試、維護等等,軟件質量:程序的可讀性、可理解性、可測試性和易修改性等工程化的原則)、軟件過程階段(軟件工作:軟件開發過程+軟件管理過程,更強調軟件開發的效率、軟件質量以及與軟件開發相關的管理工作)現代軟件產業的總體情況:很多軟件項目最終不能交付,或者最終交付的軟件項目發生延期、成本超出預算、而且運行經常不可靠。原因:不完整、不現實的項目需求描述、對需求變更束手無策、脆弱的框架、采用不成熟的技術、測試的不充分性、拙劣的進度計劃和評估、缺乏資源、不具備項目管理的方法、缺少管理層的支持。軟件周期模型:定義:軟件生命周期模型是軟件過程中全部活動的生命周期結構框架的一種形式化描述,也成為軟件生存期模型。種類:瀑布模型、演化(原型)模型、螺旋模型、噴泉模型??傮w局限性:軟件過程不僅包括組成過程的各種活動,而且包括各種活動的相關項,如活動的執行者、活動執行時采用的各種方法和工具、活動執行的結果等等,軟件生命周期模型用于指導軟件開發實踐時,表現出較差的可操作性。軟件過程模式:定義:軟件工程模式從成功或失敗的軟件開發實踐中總結而成,是軟件過程中生命周期、人員、方法、產品四大要素相互關聯的有機整體。典型的過程模式:Rational統一過程、敏捷過程、微軟過程。其他過程模式:個體/小組軟件過程(PSP/TSP)軟件過程模式與軟件生命周期模型的關系:軟件生命周期模型包含與軟件過程模式中。軟件過程能力評估標準和改進方案:CMM(能力成熟度模型):初始級、可重復級、已定義級、已定量管理級、優化級。IS09000;6o。第2章Rational統一過程什么是RUP:Rational統一過程(RationalUnifiedProcess)是一種典型的軟件過程模式,對軟件過程模式的四大要素——生命周期、人員、方法和產品均進行了詳盡的論述;是一種軟件過程產品——Rational公司開發并維護,與Rational—系列其他軟件開發工具集成。*2.RUP術語:用戶代表與所開發的系統進行交互的某個人或某個系統(所開發系統之外的另—個系統)。用例是能夠向用戶提供有價值結果的系統中的—種功能。所有的用例合在—起構成用例模型。特點:確定系統需求的工具,傳統的系統功能說明:系統應該做什么?用例模型:增加三個詞foreachuser。驅動軟件開發過程,RUP三大特點中第—大特點為“用例驅動”。構架是系統在其所處環境中最高層次的概念。軟件系統的構架是指通過接口交互的重要構件的組織和結構,這些構件又由—些更小的構件和接口組成。RUP三大特點中第二大特點為“以構架為中心。”工作流程是在業務中執行的活動序列,它對于業務主角個體生成—個可見值結果。迭代是指帶有已建立基線的計劃和評估準則的獨特活動序列,迭代生成內部或外部的發布版本。增量是指在后續迭代結束后,兩個發布版本之間存在的差異或差值。RUP三大特點中第三大特點為“迭代和增量的過程”。在軟件過程組織的環境中,個人或協同工作的小組的行為和職責定義為角色,角色代表項目中個人承擔的作用,并確定了如何完成工作?;顒邮且蠼巧珗绦械墓ぷ鲉卧9ぜ侵敢粭l信息,該信息:由過程生成、修改或使用;定義了職責范圍;受到版本控制。里程碑是迭代正式結束的時間點,該時間點與發布時間點相對應。階段是指項目相鄰兩個主要里程碑之間的時間段,在此期間要實現一組既定的目標、完成工件并決定是否進入下一階段。RUP二維結構生命周期:橫軸通過時間組織,體現開發過程的動態結構。術語主要包括階段、里程碑、迭代和增量??v軸將內容組織為邏輯活動,體現開發過程的靜態結構,術語主要包括工作流程、活動、角色、工件。RUP靜態結構:九個核心工作流程。工作流程代表了所有角色、活動與工件的邏輯分組情況,即軟件過程模式中的三個要素。九個核心工作流程組成:核心過程工作流程:前6個,核心支持工作流程:后3個。業務建模:產生的主要工件為業務模型;需求:用例方法:對需要的功能和約束進行提取、組織、文檔化,理解系統所解決問題的定義和范圍。產生的主要工件為用例模型,用戶界面模型;分析設計:以構架設計為中心:產品的適應性、可擴展性。產生的主要工件為一個設計模型、一個分析模型(可選)。實現:產生的主要工件為實施模型(模型元素包括實施子系統和構件)測試:產生的主要工件為測試模型(模型元素包括測試用例、測試過程和測試構件)+測試結果。部署:產生的主要工件為產品的一個版本+文檔培訓資料。配置和變更管理:產生的主要工件為配置管理計劃、變更請求、項目存儲庫和工作區。項目管理:產生的主要工件為商業理由、迭代計劃、風險管理計劃、質量保證計劃及相應的評估文檔。環境:產生的主要工件為工作流程指南、工具、工具指南。RUP動態結構:四個階段。每個階段由一次或多次迭代完成,迭代過程是受控的。先啟階段:目標:建立業務用例、確定項目的邊界,結束里程碑:生命周期目標里程碑。精化階段:目標:建立穩定的構架、編制項目計劃、淘汰項目中最高風險的元素,結束里程碑:生命周期構架里程碑。構建階段:目標:所有構件和應用程序功能被開發并集成為產品、所有的功能被詳盡的測試,結束里程碑:最初操作性能里程碑。產品化階段:目標:將軟件產品交付給用戶群體,結束里程碑:產品發布里程碑。RUP與螺旋模型異同點:相同點:二維迭代特性。重復一系列組成系統生命周期的循環;每次循環的結束是向用戶交付產品的一個運行版本;每個循環由若干次迭代組成;每次迭代需要進行風險分析處理;每次迭代結束的標志是交付一個增量。螺旋模型:每次迭代歷經笛卡兒坐標系中四個象限的四個方面活動,RUP:每次迭代歷經九個核心工作流程中的若干個。不同點:螺旋模型未給出每次迭代過程結束交付的增量原型的具體要求;也未給出不同次迭代在歷經的笛卡兒坐標系中四個象限的四個方面活動的內容與重點的不同。RUP將整個生命周期劃分為四個階段,明確給出了每個階段內的若干次迭代過程完成后交付的增量的具體要求,即四個階段的主要里程碑——生命周期目標里程碑、生命周期構架里程碑、最初操作性能里程碑和產品發布里程碑;同時詳細闡述了不同階段中的不同迭代過程歷經的九大核心工作流程中活動內容的重點和強度的不同;提供了對每次迭代過程中不同核心工作流程活動的并行化支持。RUP的二維生命周期結構對“迭代”意義的體現比螺旋模型更深刻、具體、詳盡、全面,更具可操作性。RUP的優點:相對瀑布類模型:將成本風險進一步降低為獲得一次增量所需費用;進一步降低了產品不能按計劃投放市場的風險;使項目開發更能適應項目需求的變化。相對螺旋類模型:用于指導需求不明確、不穩定的項目開發時具有更強的可操作性。RUP人員——角色:分析員、開發人員、測試員、經理、其他角色。角色的意義:將角色與個體區分開。某種角色:一個或多個相互協作的個體完成,一個個體:擔任一種或多種角色。制定迭代計劃:確定每個階段、每個工作流程中需要的角色;制定人員計劃:考慮人員的技能、能力經驗,將一個或多個角色分配給一個適合的人員完成。有效提高了項目中人力資源的利用率。缺陷:論述不夠深入,忽略了角色的質量,未給出角色的組織管理方式、角色間的相互地位關系和交互方式。體現過程可操作性的一個重要方面,RUP未給出。RUP方法:(1) 用例及用例驅動。用例是能夠向用戶提供有價值結果的系統中的一種功能。所有的用例合在一起構成用例模型。采用用例的兩個原因:用例被證明是捕獲需求的一種有效方法。達到需求捕獲的第一個目標:發現多樣性的需求(傳統的系統功能說明:系統應該做什么?用例模型:增加三個詞foreachuser),達到需求捕獲的第二個目標:以適用于用戶和開發人員的方式加以表示;用例驅動整個過程。(2) 以構架為中心。構架描述:5個視圖:用例模型視圖、分析模型視圖、設計模型視圖、實施模型視圖、實現模型視圖。每個視圖是對應模型的精華與核心部分。意義:理解系統,②組織開發,③鼓勵重用和進化系統。(3)在面向對象的分析設計中采用UML進行可視化建模。(4)面向對象的設計與構件實現。RUP產品——工件:定義:項目期間生成的中間或最終產品。工件類型:根據RUP的各工作流程:劃分為業務建模工件、需求工件、分析設計工件、實施工件、測試工件、部署工件、配置與變更管理工件、項目管理工件、環境工件;根據物流方向:劃分為輸入工件、輸出工件和輔助工件;根據存在形式:劃分為模型、模型元素、文檔、源代碼、可執行文件。RUP特點:優點:作為一種軟件過程:RUP具有二維迭代性,有利于降低風險、適應需求變化;RUP是可配置的過程,具有通用性;作為一種軟件過程模式:相對傳統的軟件生命周期模型具有較強的可操作性;作為一種軟件過程產品:具有實用性、可操作性與可實現性。缺陷:與軟件過程模式配置操作相關的因素軟件過程模式中生命周期、人員、方法、產品四大要素之間的相互關系和相對優先級;各生命周期元素間的相互關系和相對優先級;人員間的協作關系與協作方式、人員的質量、各種人員的相對優先級;各種方法間的相互關系及相對優先級;各種產品的相對優先級。結論:RUP是一個具有突出優點的軟件過程模式;RUP還很不完整,在實際應用中仍需進一步吸收其它優秀的軟件開發實踐經驗以對其進行補充和完善。第3章敏捷過程什么是AP:敏捷軟件開發宣言:軟件團隊具有快速工作、快速響應變化的能力,制訂了4條基本價值觀和12條原則。敏捷過程(AgileProcess)是一種典型的軟件過程模式,對軟件過程模式中的四大要素(生命周期、人員、方法、產品)及相互關系均進行了論述。AP流派:極限編程XP、SCRUM、動態系統開發方法DSDM、水晶系列方法、開放式源碼、適配性軟件開發ASD、適配性軟件開發ASD。AP的4條價值觀:①個體和交互勝過過程和工具。人是軟件項目獲得成功最為重要的因素,當然,不好的過程和工具也可以使最優秀的團隊成員失去效用、合作、溝通以及交互能力要比單純的軟件編程能力更為重要;合適的工具對于成功來說非常重要,工具的作用不可被過份地夸大,建議從使用小的工具開始。結論:團隊的構建(包括個體、交互等)要比項目環境(包括過程、工具)的構建重要得多;應該首先致力于構建團隊,然后再讓團隊基于需要來配置環境。可以工作的軟件勝過面面俱到的文檔。軟件的重要性:交付給用戶可以工作的軟件而不是文檔,否則應該稱之為文檔開發而不是軟件開發。文檔的作用:沒有文檔的軟件是一種災難,過多的面面俱到的文檔比過少的文檔更糟。準則:軟件開發的主要和中心活動是創建可以工作的軟件;直到迫切需要并且意義重大時,才進行文檔編制;編制的內部文檔應盡量短小并且主題突出??蛻艉献鲃龠^合同談判??蛻舨豢赡茏龅揭淮涡缘貙⑺麄兊男枨笸暾逦乇硎鲈诤贤斨校嚎蛻粜枨蟮亩鄻有?,客戶需求還可能隨時發生變化。全方位的滿足客戶需求的有效途徑:開發團隊與客戶緊密協作,為開發團隊和客戶的協同工作方式提供指導的合同是最好的合同。響應變化勝過遵循計劃。變化是軟件開發中存在的現實:商務環境可能會變化,這會引起需求的變動;隨著系統逐漸開始運做,項目關系人(包括開發人員與客戶)對系統的理解也會發生變化;技術隨著時間也在變化。響應變化的有效途徑之一是制定靈活可塑的計劃:制定計劃的策略——細致度逐漸降低的計劃。*4.AP的12條原則:最優先要做的是通過盡早的、持續的交付有價值的軟件來使客戶滿意。即使到了開發的后期,也歡迎改變需求,敏捷過程利用變化來為客戶創造競爭優勢。經常性交付可以工作的軟件,交付的間隔可以從幾個星期到幾個月,交付的時間間隔越短越好。在整個項目開發期間,商務人員和開發人員必須天天都工作在一起。圍繞被激勵起來的個體來構建項目,給他們提供所需的環境和支持,并且信任他們能夠完成工作。在團隊內部,最具有效果并且富有效率的傳遞信息的方法,就是面對面的交談。工作的軟件是首要的進度度量標準。敏捷過程提倡可持續的開發速度,責任人、開發者和用戶應該能夠保持一個長期的、恒定的開發速度。不斷地關注優秀設計的技能和好的設計會增強敏捷能力。簡單——使未完成的工作最大化的藝術——是根本的。?最好的構架、需求和設計出自于自組織的團隊。?每隔一定時間,團隊會在如何才能更有效地工作方面進行反省,然后相應地對自己的行為進行調整。*5.XP實踐:客戶作為團隊成員。用戶素材。短交付周期。驗收測試。結對編程(由兩個開發人員在同一臺電腦上共同編寫解決同一問題的代碼,通常一個人負責編碼,而另一個負責保證代碼的正確性與可讀性。作用:結對編程是一種非正式的同級評審,它要求成對編程的兩個開發人員在性格和技能上應該相互匹配)。測試驅動開發(強調“測試先行:RUP對測試也是非常的重視,只是RUP和XP兩者對于測試在整個項目開發周期內首先出現的位置處理不同)。集體所有權。持續集成(提倡在一天中集成系統多次,而且隨著需求的改變,要不斷的進行回歸測試,持續集成不是XP專有的最佳實踐,微軟公司就有每日編譯的成功實踐)??沙掷m的開發速度。開放的工作空間。?計劃游戲(計劃是持續的,循序漸進的。根據項目的進展來進行項目計劃的調整,一成不變的計劃是不存在)?簡單的設計。?重構(指在不改變系統行為的前提下,重新調整、優化系統的內部結構以減少復雜性、消除冗余、增加靈活性和提高性能。重構不是XP所特有的行為)?隱喻(將隱喻看成整個系統聯系在一起的全局視圖、系統的未來影像,RUP的構架視圖)6.AP的生命周期:敏捷過程是一個一維的迭代過程。該過程中的每一個生命周期循環交付一個有價值的軟件版本,各循環可持續進行。RUP的二維雙重的迭代過程:RUP整個過程是若干次生命周期的不斷循環;每個循環包括先啟、精化、構建和產品化四個階段,每個階段由一次或多次迭代完成,每次迭代可能經歷九個核心工作流程中的若干個;項目進度衡量的首要標準是各階段的主要里程碑,包括生命周期目標里程碑、生命周期構架里程碑、最初操作性能里程碑和產品發布里程碑。AP相對RUP:具有對變化和不確定性的“更快速、更敏捷”的反應特性;快速的同時仍保持可持續性;該特性能較好地適應商業競爭環境下對小型項目提出的有限開發時間的約束。*7.AP的人員:(1)客戶角色的重要性:對客戶角色重要性進行突出強調;RUP:無。(2)個體間的相互關系和協作方式:相互關系:個體相互的地位關系是平等的,職責是共同的。協作方式:首要協作交互方式為面對面的交談;也編寫文檔,但文檔僅作為輔助交互方式ORUP:未給出個體間地位關系,協作方式為“形式化的文檔——模型”這一書面形式而非口頭交談方式。結合AP和RUP:個體間的職責進行明確分工,同時個體間為平等協作關系;個體間的交互方式首選交談,但在必要情況下,如交談的結果將作為設計開發的依據,則有必要編寫文檔或創建模型,以書面的形式記錄交談的結果。AP的方法:(1)動態滿足需求——從歡迎變化、與客戶合作到響應變化。步驟一:歡迎變化;步驟二:與客戶合作;步驟三:響應變化。(2)簡單化。區別:RUP:考慮產品的適應性、可擴展性與可重用性等高性能特性,提倡以構架為中心的設計方法,要求構架必須留有實現現在和未來需要的所有用例空間。AP:要求在設計階段盡可能的識別出最簡單的構架。聯系:是對產品不同質量要求的不同的應對策略。簡單質量要求環境:在可預見的最近幾次生命周期內,對產品質量僅為無缺陷要求,而對適應性、可擴展性、可重用性等高性能指標沒有要求,采用AP的簡單化設計方法,以達到快速開發的目的。復雜質量要求環境:在可預見的最近幾次生命周期內,對產品質量不僅為無缺陷要求,而且對適應性、可擴展性、可重用性等高性能指標可能有若干要求。采用RUP的以構架為中心設計方法,以避免可能發生的系統整體重構造成最終開發效率的極速下降。(3)團隊持續自我反省。AP的產品:(1)各類產品的優先級AP:第2條價值觀,可以工
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 游戲測試題及答案
- 聚焦專利代理人考試試題及答案
- 口語競賽試題及參考答案
- 安全總監述職報告
- 藥物分析學的基本理論試題及答案
- 電子廠smt試題及答案
- 節水宣傳面試題及答案
- 福特金融面試題及答案
- 思維固化測試題及答案
- 聚焦新時期衛生管理試題及答案
- 班組長執行力提升培訓課件
- 電影音樂欣賞智慧樹知到期末考試答案章節答案2024年華南農業大學
- 《中國飲食文化》課件-中國飲食文化溯源
- 2024年貴州省中考數學真題試卷及答案解析
- 統編版語文六年級下冊第四單元闖關測試卷(含答案)
- 煤炭開采單位產品能源消耗限額-編輯說明
- 書香校園-世界讀書日主題教育班會
- 雪鐵龍DS6說明書
- TIAC CCSA 32-2019《保險行業云計算場景和總體框架》
- 智慧農業中的農業無人機技術與應用
- 玻璃瓶絲印制度
評論
0/150
提交評論