高級軟件開發過程(復習資料)_第1頁
高級軟件開發過程(復習資料)_第2頁
高級軟件開發過程(復習資料)_第3頁
高級軟件開發過程(復習資料)_第4頁
高級軟件開發過程(復習資料)_第5頁
已閱讀5頁,還剩3頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

高級軟件開發過程第1章緒論計算機軟件發展的三個階段:程序設計階段(軟件工作:程序設計,軟件質量:程序設計=數據結構+算法,強調編程技巧)、軟件工程階段(總結軟件危機的教訓,軟件工作:代碼編寫+需求分析、測試、維護等等,軟件質量:程序的可讀性、可理解性、可測試性和易修改性等工程化的原則)、軟件過程階段(軟件工作:軟件開發過程+軟件管理過程,更強調軟件開發的效率、軟件質量以及與軟件開發相關的管理工作)2?現代軟件產業的總體情況:很多軟件項目最終不能交付,或者最終交付的軟件項目發生延期、成本超岀預算、而且運行經常不可靠。原因:不完整、不現實的項目需求描述、對需求變更束手無策、脆弱的框架、采用不成熟的技術、測試的不充分性、拙劣的進度計劃和評估、缺乏資源、不具備項目管理的方法、缺少管理層的支持。軟件周期模型:定義:軟件生命周期模型是軟件過程中全部活動的生命周期結構框架的一種形式化描述,也成為軟件生存期模型。種類:瀑布模型、演化(原型)模型、螺旋模型、噴泉模型。總體局限性:軟件過程不僅包括組成過程的各種活動,而且包括各種活動的相關項,如活動的執行者、活動執行時采用的各種方法和工具、活動執行的結果等等,軟件生命周期模型用于指導軟件開發實踐時,表現岀較差的可操作性。軟件過程模式:定義:軟件工程模式從成功或失敗的軟件開發實踐中總結而成,是軟件過程中生命周期、人員、方法、產品四大要素相互關聯的有機整體。典型的過程模式:Rational統一過程、敏捷過程、微軟過程。其他過程模式:個體/小組軟件過程(PSP/TSP)。軟件過程模式與軟件牛命周期模型的關系:軟件牛命周期模型包含與軟件過程模式中。6?軟件過程能力評估標準和改進方案CM(能力成熟度模型):初始級、可重復級、已定義級、已定量管理級、優化級。ISO9000;。第2章Rational統一過程1.什么是RUP:Rational統一過程(RationalUnifiedProcess)是一種典型的軟件過程模式,對軟件過程模式的四大要素生命周期、人員、方法和產品均進行了詳盡的論述;是一種軟件過程產品一一Rational公司開發并維護,與Rational一系列其他軟件開發工具集成。*2.RUP術語:用戶代表與所開發的系統進行交互的某個人或某個系統(所開發系統之外的另一個系統)。用例是能夠向用戶提供有價值結果的系統中的一種功能。所有的用例合在一起構成用例模型。?特點:①確定系統需求的工具,傳統的系統功能說明:系統應該做什么?用例模型:增加三個詞foreachuser。②驅動軟件開發過程,RUP三大特點中第一大特點為“用例驅動”。構架是系統在其所處環境中最高層次的概念。軟件系統的構架是指通過接口交互的重要構件的組織和結構,這些構件又由一些更小的構件和接口組成。RUP三大特點中第二大特點為''以構架為中心”工作流程是在業務中執行的活動序列,它對于業務主角個體生成一個可見值結果。迭代是指帶有已建立基線的計劃和評估準則的獨特活動序列,迭代生成內部或外部的發布版本。增量是指在后續迭代結束后,兩個發布版本之間存在的差異或差值。RUP三大特點中第三大特點為“迭代和增量的過程”。在軟件過程組織的環境中,個人或協同工作的小組的行為和職責定義為角色,角色代表項目中個人承擔的作用,并確定了如何完成工作。活動是要求角色執行的工作單元。工件是指一條信息,該信息:由過程生成、修改或使用;定義了職責范圍;受到版本控制。里程碑是迭代正式結束的時間點,該時間點與發布時間點相對應。階段是指項目相鄰兩個主要里程碑之間的時間段,在此期間要實現一組既定的目標、完成工件并決定是否進入下一階段。RUP二維結構生命周期:橫軸通過時間組織,體現開發過程的動態結構。術語主要包括階段、里程碑、迭代和增量。縱軸將內容組織為邏輯活動,體現開發過程的靜態結構,術語主要包括工作流程、活動、角色、工件。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章敏捷過程1?什么是AP:敏捷軟件開發宣言:軟件團隊具有快速工作、快速響應變化的能力,制訂了4條基本價值觀和12條原則。敏捷過程(AgileProcess)是一種典型的軟件過程模式,對軟件過程模式中的四大要素(生命周期、人員、方法、產品)及相互關系均進行了論述。AP流派:極限編程XP、SCRUM、動態系統開發方法DSDM、水晶系列方法、開放式源碼、適配性軟件開發ASD、適配性軟件開發ASD。AP的4條價值觀:①個體和交互勝過過程和工具。人是軟件項目獲得成功最為重要的因素,當然,不好的過程和工具也可以使最優秀的團隊成員失去效用、合作、溝通以及交互能力要比單純的軟件編程能力更為重要;合適的工具對于成功來說非常重要,工具的作用不可被過份地夸大,建議從使用小的工具開始。結論:團隊的構建(包括個體、交互等)要比項目環境(包括過程、工具)的構建重要得多;應該首先致力于構建團隊,然后再讓團隊基于需要來配置環境。②可以工作的軟件勝過面面俱到的文檔。軟件的重要性:交付給用戶可以工作的軟件而不是文檔,否則應該稱之為文檔開發而不是軟件開發。文檔的作用:沒有文檔的軟件是一種災難,過多的面面俱到的文檔比過少的文檔更糟。準則:軟件開發的主要和中心活動是創建可以工作的軟件;直到迫切需要并且意義重大時,才進行文檔編制;編制的內部文檔應盡量短小并且主題突出。③客戶合作勝過合同談判。客戶不可能做到一次性地將他們的需求完整清晰地表述在合同當中:客戶需求的多樣性,客戶需求還可能隨時發生變化。全方位的滿足客戶需求的有效途徑:開發團隊與客戶緊密協作,為開發團隊和客戶的協同工作方式提供指導的合同是最好的合同。④響應變化勝過遵循計劃。變化是軟件開發中存在的現實:商務環境可能會變化,這會引起需求的變動;隨著系統逐漸開始運做,項目關系人(包括開發人員與客戶)對系統的理解也會發生變化;技術隨著時間也在變化。響應變化的有效途徑之一是制定靈活可塑的計劃:制定計劃的策略——細致度逐漸降低的計劃。*4.AP的12條原則:①最優先要做的是通過盡早的、持續的交付有價值的軟件來使客戶滿意。②即使到了開發的后期,也歡迎改變需求,敏捷過程利用變化來為客戶創造競爭優勢。③經常性交付可以工作的軟件,交付的間隔可以從幾個星期到幾個月,交付的時間間隔越短越好。④在整個項目開發期間,商務人員和開發人員必須天天都工作在一起。⑤圍繞被激勵起來的個體來構建項目,給他們提供所需的環境和支持,并且信任他們能夠完成工作。⑥在團隊內部,最具有效果并且富有效率的傳遞信息的方法,就是面對面的交談。⑦工作的軟件是首要的進度度量標準。⑧敏捷過程提倡可持續的開發速度,責任人、開發者和用戶應該能夠保持一個長期的、恒定的開發速度。⑨不斷地關注優秀設計的技能和好的設計會增強敏捷能力。⑩簡單一一使未完成的工作最大化的藝術一一是根本的。?最好的構架、需求和設計出自于自組織的團隊。?每隔一定時間,團隊會在如何才能更有效地工作方面進行反省,然后相應地對自己的行為進行調整。*5.XP實踐:①客戶作為團隊成員。②用戶素材。③短交付周期。④驗收測試。⑤結對編程(由兩個開發人員在同一臺電腦上共同編寫解決同一問題的代碼,通常一個人負責編碼,而另一個負責保證代碼的正確性與可讀性。作用:結對編程是一種非正式的同級評審,它要求成對編程的兩個開發人員在性格和技能上應該相互匹配)⑥測試驅動開發(強調“測試先行”RUP對測試也是非常的重視,只是RUP和XP兩者對于測試在整個項目開發周期內首先出現的位置處理不同)。⑦集體所有權。⑧持續集成(提倡在一天中集成系統多次,而且隨著需求的改變,要不斷的進行回歸測試,持續集成不是XP專有的最佳實踐,微軟公司就有每日編譯的成功實踐)。⑨可持續的開發速度。⑩開放的工作空間。?計劃游戲(計劃是持續的,循序漸進的。根據項目的進展來進行項目計劃的調整,一成不變的計劃是不存在)。?簡單的設計。?重構(指在不改變系統行為的前提下,重新調整、優化系統的內部結構以減少復雜性、消除冗余、增加靈活性和提高性能。重構不是XP所特有的行為)。?隱喻(將隱喻看成整個系統聯系在一起的全局視圖、系統的未來影像,RUP的構架視圖)。AP的生命周期:敏捷過程是一個一維的迭代過程。該過程中的每一個生命周期循環交付一個有價值的軟件版本,各循環可持續進行。RUP的二維雙重的迭代過程:RUP整個過程是若干次生命周期的不斷循環;每個循環包括先啟、精化、構建和產品化四個階段,每個階段由一次或多次迭代完成,每次迭代可能經歷九個核心工作流程中的若干個;項目進度衡量的首要標準是各階段的主要里程碑,包括生命周期目標里程碑、生命周期構架里程碑、最初操作性能里程碑和產品發布里程碑。AP相對RUP:具有對變化和不確定性的“更快速、更敏捷”的反應特性;快速的同時仍保持可持續性;該特性能較好地適應商業競爭環境下對小型項目提出的有限開發時間的約束。*7.AP的人員(1)客戶角色的重要性:對客戶角色重要性進行突出強調;RUP:無。(2)個體間的相互關系和協作方式:相互關系:個體相互的地位關系是平等的,職責是共同的。協作方式:首要協作交互方式為面對面的交談;也編寫文檔,但文檔僅作為輔助交互方式。RUP:未給出個體間地位關系,協作方式為“形式化的文檔-一模型”這一書面形式而非口頭交談方式。結合AP和RUP:個體間的職責進行明確分工,同時個體間為平等協作關系;個體間的交互方式首選交談,但在必要情況下,如交談的結果將作為設計開發的依據,則有必要編寫文檔或創建模型,以書面的形式記錄交談的結果。AP的方法:(1)動態滿足需求一一歡迎變化、與客戶合作到響應變化。步驟一:歡迎變化;步驟二:與客戶合作;步驟三:響應變化。(2)簡單化。區別:RUP:考慮產品的適應性、可擴展性與可重用性等高性能特性,提倡以構架為中心的設計方法,要求構架必須留有實現現在和未來需要的所有用例空間。AP:要求在設計階段盡可能的識別出最簡單的構架。聯系:是對產品不同質量要求的不同的應對策略。簡單質量要求環境:在可預見的最近幾次生命周期內,對產品質量僅為無缺陷要求,而對適應性、可擴展性、可重用性等高性能指標沒有要求,采用AP的簡單化設計方法,以達到快速開發的目的。復雜質量要求環境:在可預見的最近幾次生命周期內,對產品質量不僅為無缺陷要求,而且對適應性、可擴展性、可重用性等高性能指標可能有若干要求。采用RUP的以構架為中心設計方法,以避免可能發生的系統整體重構造成最終開發效率的極速下降。(3)團隊持續自我反省。AP的產品:(1)各類產品的優先級AP:第2條價值觀,可以工作的軟件勝過面面俱到的文檔,即可以工作的軟件在過程各類產品的重要性方面擁有最高的優先級。RUP:強調創建和維護形式化的文檔一一模型,而非文字化的文檔,但就模型與軟件兩者的優先級未給出論述。AP&RUP融合后的各類產品之間優先級的結論:軟件開發的主要和中心活動就是創建可以工作的軟件;直到迫切需要且意義重大時,才進行文檔編制;編制的內部文檔應盡量短小并且主題突出,滿足這種要求的最好的文檔形式是模型。(2)產品的功能規模和質量要求:盡量簡單化。AP四大要素的關系:第1條價值觀和第1、9條原則中即開宗明義的指出,過程最優先要做的是盡早的、持續的交付有價值的軟件產品,在這一交付過程中,個體與交互勝過過程與工具:這四大要素中,前面三種要素的中心目標是服務于第四大要素,即交付可以工作的軟件產品;就前面三種要素的重要性而言,個體具有最高的優先級地位。AP特點:優點:針對商業環境下通常具有有限資源和有限時間約束的小型項目提出了一些獨具特色的、操作性較強的解決方案;RUP:提供的是理想開發環境下軟件過程的一種完整且完美的模式,但對商業環境具有有限資源和有限時間約束的項目未能給出具體完整的配置方案。缺點:作為軟件過程模式AP遠不及RUP全面完整。相對RUP,AP在人員、方法、產品等方面的論述遠不及RUP全面詳細。結論:AP可作為對RUP的一種補充和完善。第4章微軟過程1.什么是MP:從微軟解決方案框架(MSF)中抽取出項目開發準則中的過程模型和組織模型,構成了一套軟件過程模式。內容涵蓋軟件過程中的過程、人員及組織、方法、產品等不同方面。*2.MP術語:項目前景是對項目要解決什么問題的開放性描述,它代表項目的遠景目標。項目范圍描述的則是在項目的限制條件內,需要完成哪些具體的目標,這主要是指所有特定的近期目標而言。功能說明書闡釋了軟件每一個特性的功能和執行方式,以及所有特性的組合關系和整體架構,包括單頁和詳細兩種形式。程序經理的職責是在規定的項目資源、期限等限制條件下,確保產品能夠如期發布。程序經理不同于傳統的項目經理,微軟的團隊組織結構中,六個組隊角色的地位是相互平行、相輔相成,程序經理只是項目開發過程的組織者、管理者和決策者,不是項目的領導者。*3.MP的過程原則:①制定計劃時兼顧未來的不確定因素(這一原則與AP第4條價值觀“響應變化勝過遵循計劃”異曲同工);②通過有效的風險管理減少不確定因素的影響(對照而言,RUP提出的風險管理方法為在每次迭代中都要解決最突出的風險問題,兩者互補);③經常生成過渡版本并進行快速測試來提高產品的穩定性及可預測性(每日生成制度:在最大程度上保證整個產品開發過程可管理、可預期,并能增強產品的穩定性,類似AP的持續集成);④快速循環、遞進的開發過程(和敏捷過程所強調的不斷重復產品的生命周期、以遞進的方式推出版本的要求相似);⑤從產品特性和成本控制出發創造性地工作;⑥創建確定的進度表(在具體制定項目進度表方面,借鑒AP的策略,即制定一種細致度逐漸降低的進度計劃以保持足夠的靈活性);⑦使用小型項目組并發完成工作,并設置多個同步點;⑧將大型項目分解成多個可管理的單元,以便更快地發布產品;⑨用產品的前景目標和概要說明指導項目開發工作一一先基線化,后凍結(凍結思想與AP不同,AP倡導即使到了開發的后期,也歡迎改變需求);⑩避免產品走形(對照而言,RUP中避免產品走形的方法是用例驅動);?使用原型驗證概念,進行開發前的測試;?零缺陷觀念(零缺陷并不意味著產品中沒有Bug,首先按零缺陷這一高標準進行要求,具體實施時,項目組在產品的每一個階段、在發布產品的每一個版本之前,都對已發現的產品Bug進行了有效的管理和控制,改正了影響產品使用的Bug,對不影響產品使用、且因資源有限無法及時修改的Bug進行跟蹤和記錄,確保使產品中所有已發現Bug都在項目組的控制范圍之內,都可以在適當的時機得到修正)。?非責難式的里程碑評審會(MP的里程碑與RUP的里程碑的思想幾乎是一致的)。*4.組隊原則:①小型的、多元化的項目組(AP鼓勵的也是一種小型化的項目組)。②角色依賴和職責共享(與AP第11條原則中提出的“最好的構架、需求、設計出自于自組織的團隊”思想基本吻合)③專深的技術水平和業務技能。④以產品發布為中心。⑤明確的目標。⑥客戶的主動參與(與AP中強調客戶這一角色重要性的目的是一致的;微軟設置產品管理角色方法相對AP的與客戶天天工作在一起的方法更具可實現性)。⑦分享產品的前景。⑧所有人都參與設計(與AP第11條原則“最好的構架、需求和設計出自于自組織的用戶”是一致的)。⑨認真從過去的項目中吸取經驗。⑩共同管理、共同決策。?項目組成員在同一地點辦公。?大型項目組也像小型項目組一樣運轉。MP的生命周期:每個生命周期循環分為五個階段:構想階段、計劃階段、開發階段、穩定階段和發布階段。相對RUP,MP可視為RUP的一個精簡配置版本。整個過程由若干生命周期持續遞進循環,每個循環由若干階段組成,且各階段之間擴充為具有緩沖時間,各階段的對應關系為:先啟階段完成構想,精化階段完成計劃,構建階段完成開發和穩定,產品化階段完成發布。每個階段精簡為一次迭代,每次迭代經歷若干個工作流程,具體為:先啟階段主要經歷業務建模、需求、項目管理;精化階段主要經歷業務建模、需求、分析設計、項目管理;構建階段主要經歷需求、分析設計、實現、測試;產品化階段:主要經歷部署、配置變更管理和項目管理。相對AP,MP是前者的一個擴充版本,擴充了其每個生命周期內的各階段的具體運作流程。MP人員:人員分工:職責與任務分配類似按照RUP中的“角色”概念進行。人員組織管理:矩陣結構。橫軸按不同的專業技能劃分的角色,縱軸是由來自不同角色組中的各個角色組成的項目組。六種角色:產品管理角色、程序管理角色、開發角色、測試角色、用戶體驗角色、發布管理角色。MP最具特色角色一一程序管理和產品管理。職責設置:將傳統項目經理的職責一分為二。對外的用戶需求管理職能交與產品經理完成,項目組內部的綜合管理職能交與程序經理完成。產品經理的職責:管理用戶需求;程序經理的職責:系統設計和項目組內部管理,包括編寫并管理產品設計文檔、組織項目組成員就開發相關問題進行交流和溝通、協調項目組日常事務設置意義:以技術為基線進行管理職責劃分①有利于實現專家式管理;②保證兩者的獨立性和相互制約性,有利于商業需求和技術細節更好的結合。MP角色間的關系:對等環行項目結構。相互地位關系是對等,關鍵協作方式為交流與溝通。MP角色合并:原則:項目組內的開發人員不能兼任其它角色,不要試圖合并兩個有明顯利益沖突或制約關系的職能角色。結論:一個最小項目組可以只有三個成員:產品經理、程序經理和開發工程師。其中產品經理兼任測試和用戶體驗角色,程序經理兼任發布管理角色。*10.MP產品部門:“1+3”的結構:“1”即一個產品部門總經理,“3”即三個部門經理,分別是程序經理部經理、開發部經理和測試部經理,這三個部門經理平級,都直接向產品部門總經理報告。垂直式的專家管理模式:每個部門經理管理幾個組長,每個組長管理三到五個具體工作人員。構成微軟的“三架馬車”:對項目成功起關鍵性支撐作用。三個部門的設置對應每個項目組中最重要的三種角色——程序管理、開發和測試;這三類角色是每個項目組無論怎樣精簡也必須的。11.MP人員特點:RUP:給出了人員角色種類劃分,但未指出各角色間地位和工作關系。AP:給出了人員間相互關系和交流協作關系,但未能給人員職責的劃分準則。MP:以上兩種過程優點的結合和進一步深化發展。角色劃分方面:產品管理和程序經理兩權分立;角色相互地位和交互關系:相互平等,交流和溝通;角色分配方面:提出了針對有限人員限制條件下的角色合并原則;項目組的規模和人員配備與管理方式上:指出提出了由專家式行政管理和小型化、多元化項目組組隊方式構成的矩陣結構。MP特色及意義:項目組由專業職責劃分清晰地各對等角色組成,各角色相互配合、同時又是相互制約;人員的行政管理是專家式管理;專業人才地培養發展遵循不同的業務(職務頭銜與行政級別并不能直接掛鉤)。MP的方法:(1)構想階段:①確定項目前景和項目范圍兩個項目目標。項目范圍:是項目近期的具體目標,即第一次生命周期內的目標;項目前景:是項目的遠景目標,即第二次及以后若干次生命周期內的目標。②動態滿足需求——先基線化、后凍結。在開發過程的前期歡迎變化;在開發過程的后期階段(穩定階段及以后),對所有配置項進行凍結,一般不再允許修改。與AP比較:對需求變化的態度:歡迎變化;AP:在第2條原則中指出,“即使到了開發的后期也歡迎改變需求”MP:對變化在后期進行凍結的策略應該更是現實性,因為到開發的后期還要響應變化,其成本代價和風險代價均太高,明智的策略不如將這一需求變化留至下一個版本的開發中實現。(2)計劃階段:以產品特性及其優先級指導整個項目。①提高了產品的競爭力;②降低了產品開發各階段的風險。(3)開發階段:①代碼優化:代碼的性能包括運行效率、安全性、穩定性、可理解性、可維護性等多個方面。②高信度計算。③源代碼管理。建立源代碼的管理庫,每日Check-in進行持續更新和集成。④每日編譯生成。類同AP的持續集成(提倡在一天中集成系統多次,而且隨著需求的改變,要不斷的進行回歸測試)。⑤手工測試與自動測試結合。⑥內部測試與外部測試結合。MP產品:①各類文檔:如前景/范圍說明書、功能說明書、項目計劃、總結報告等。②源代碼;③可執行文件;④相應的文檔代碼庫。各類產品的優先級未進行專門闡述。產品的功能與性能:以產品特性及優先級指導整個項目。MP特點:過程的生命周期進度、人員及方法工具等項目資源、產品的功能和性能之間存在一種相互制約的均衡三角形關系。任何對三角形一邊的改變都將導致三角形另外一邊或兩邊的變化,因為只有這樣才能保持三角形關系的均衡。發布一個符合客戶需求的產品,其關鍵在于項目組必須在進度、資源、產品功能&性能之間的三角型尋求最佳的平衡點。項目均衡矩陣:有效的項目均衡三角形管理工具,定義了資源、進度和功能&性能三者在需要做出折中時的優先級關系。功能&性能:能接受(不可改變的或是最低要求的)。進度:最佳(必須優先考慮、作出最好選擇的)。資源:可調整(既不是最佳也不是僅能接受,必須根據情況做出相應的調整,以保持三角形的均衡)。四要素相互關系特點:相對AP提出的“個體交互勝過過程和工具”這一絕對的觀念,MP四要素之間的均衡關系總結:①更全面、更具普適性;②不同的項目可根據項目的具體環境需要對這四要素做出合適的優先級安排、尋求各要素之間的最佳平衡點。第5章最佳軟件過程模式*MP與AP、RUP三者之間關系:RUP:一個大而全的過程框架,可適應于各種具有不同項目環境類型的項目開發,包括理想的項目開發環境和具有有限資源與時間約束的項目環境。AP:針對商業環境中具有有限資源和時間進度限制的小型項目提出的一種軟件過程模式,對RUP的進行了多方面的有益補充和完善。MP:另一種針對商業環境中具有有限資

溫馨提示

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

評論

0/150

提交評論