面向對象的系統分析與設計的基本概念_第1頁
面向對象的系統分析與設計的基本概念_第2頁
面向對象的系統分析與設計的基本概念_第3頁
面向對象的系統分析與設計的基本概念_第4頁
面向對象的系統分析與設計的基本概念_第5頁
已閱讀5頁,還剩3頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、面向對象的系統分析與設計的基本概念專業:軟件開發小組:九幽小組目錄概要 -2背景介紹 -2問題陳述 -3內容分析 -3結論 -5名詞解釋 -5參考文獻 -6概要極限編程(Extreme Programming,簡稱 XP 是目前討論最多、實踐最多、爭議也是最多的一種敏捷開發方法。 XP 是一套能夠快速開發高質量軟件所需的價值觀、 原則和活動的集合, 使軟件能以盡可能快的速度開發出來并向客 戶提供最高效益。該報告主要講述了 XP 的概念,特點核心價值,核心思想以及 XP 的適用環境。XP 是很多 Java 開源軟件使用的軟件開發方法,也是許多實干派大師倍加推崇的一種方法,同時也有很多使用 傳統軟

2、件開發方法的大師和大公司倍加批評的一種軟件開發方法。背景介紹2001年, 為了解決許多公司的軟件團隊陷入不斷增長的過程泥潭, 一批業界專家一起概括出了一些可以讓軟件 開發團隊具有快速工作、響應變化能力的價值觀和原則,他們稱自己為敏捷聯盟。敏捷開發過程的方法很多,主要有:SCRUM , Crystal, 特征驅動軟件開發(Feature Driven Development ,簡稱 FDD ,自適應軟件開發 (Adaptive Software Development,簡稱 ASD ,以及最重要的極限編程 (eXtreme Programming,簡稱 XP 。 ExtremeProgrammi

3、ng (極限編程,簡稱 XP 是由 KentBeck 在 1996年提出的。 KentBeck 在九十年代初期 與 WardCunningham 共事時,就一直共同探索著新的軟件開發方法,希望能使軟件開發更加簡單而有效。 Kent 仔細 地觀察和分析了各種簡化軟件開發的前提條件、 可能行以及面臨的困難。 1996年三月, Kent 終于在為 DaimlerChrysler 所做的一個項目中引入了新的軟件開發觀念 XP 。問題陳述該報告中主要闡述一下幾個問題:極限方法提出的背景知識和概念,輕量級方法的優點XP 的特點。和傳統方法相比 XP 具有獨特的優勢XP 的核心思想以及溝通 簡單 反饋 勇氣

4、四個核心價值XP 的適用環境內容分析什么是 XPExtreme Programming(極限編程,簡稱 XP 是由 Kent Beck在 1996年針對業務和軟件開發提出的新規則。它 的作用在于將業務和軟件開發兩者的力量集中在一個共同的、可以達到的目標之上。它是以符合客戶需要的軟件為 目標而產生的一種方法論, XP 使開發者能夠更有效的響應客戶的需求變化。 它強調, 軟件開發是人與人合作進行的 過程,成功的軟件開發過程應該充分利用人的優勢,而弱化人的缺點,突出了人在軟件開發過程中的作用。極限編 程屬于輕量級的方法。XP 是一個輕量級的軟件開發方法輕量級是針對傳統的重量級方法而言的。重量級方法具

5、有很多規則、慣例、和文檔 ,正確地遵循它們需要訓 練及時間。而輕量級方法僅具有很少的一些規則和慣例,或者說,這些規則和慣例遵守起來很容易 。XP 的特點1.不采用瀑布式的軟件工程方法,而采用原型法。將一個軟件開發項目分為多個迭代周期,每個周期實現部 分軟件功能。在每個周期都進行提出需求、設計軟件架構、編碼、測試、發布得軟件開發的全過程。每個周期都進 行充分的測試和集成。這樣的好處是可以不斷的從客戶方面得到反饋,更逼近實際的軟件需求。通過頻繁的重新編 碼的過程,可以非常適應功能更改的需求,同時增加軟件的易維護性。在不斷的迭代中,避免架構設計的重大失誤 造成的軟件不能如期交工,避免了軟件設計的風險

6、。2.在軟件設計中,強調簡單性,就是堅決不作用不到的通用功能。同時,也不刻意避免重新編碼,只有不斷 得重新編碼才能保證軟件得合理性。不害怕對整個軟件推倒重做。認為重新編碼是很正常得現象。每次得重新編碼 都會大大減少軟件中得熵值。3.在專業分工中,提出在開發團隊中要有全職的客戶人員的參與,同時在軟件團隊中也要有自己的領域專家。 這樣,可以和客戶充分交流,徹底了解應用需求。這種軟件需求的提出不是一次性的,而是不斷的交流。也有專門 的軟件架構的設計師,首先進行軟件整體架構的設計。4.在軟件開發的順序上,和傳統方法完全相反。傳統方法是按照整體設計、編寫代碼、進行測試、交付客戶 的方法。而 XP 是按照

7、交付客戶、測試、編碼、設計的順序來開發。首先將要交付客戶的軟件的界面作出來,先讓 客戶對軟件有實際體驗,這樣,可以獲得客戶的更多的反饋,使需求可以在開發前確定。在編碼前就先把測試程序 做好,這樣,編碼完成后就可以馬上進行測試。通過不斷的測試來保證軟件的質量。在進行軟件架構設計之前就進行編碼,可以使問題更早暴露,可以使最后的軟件設計更體現編碼的特點,更符合實際,更容易實現,也保證了設 計的合理,保證了軟件設計的大量決定的正確性。5.在項目計劃的實現上,每次的計劃都是技術人員對客戶提出時間表,由最后的開發人員對項目經理提出編 碼的時間表。這種計劃都是從下而上的,不是從上到下的,更容易保證計劃的按時

8、完成。同時,多個迭代周期也使 工期的估計越來越精確。6.在分工上,強調角色輪換,項目的集體負責,分工的自愿性。分工的自愿性就是每個人的工作內容不是由 項目經理分派,而是由每個人自愿領取,這樣保證了每個人可以發揮自己的特長,適應自己的情況。當然,在每個 問題上都要有唯一的決策人,同時,也要經過充分的交流和溝通。角色輪換就是在項目中,一個人在不同的周期中 擔任不同的角色,可以保證每個人對項目的整體把握,方便項目中的溝通和理解。項目的集體負責,就是每個人不 是完成自己的工作就可以了,要對整個項目的完成負責,任何人都可以對工作的任何部分提出自己的建議。任何人 都可以從事任何工作。 任何人都要對整個項目

9、熟悉。 這樣做的優點是可以充分的鍛煉人、 可以發揮每個人的積極性、 可以使項目不依賴于某個特定的人,方便今后的軟件的維護,通過工作內容的變換可以提高人工作的興趣。通過角 色輪換還可以使每個人都勞逸結合,方便相互理解,避免由于不理解而造成的各種配合問題 .XP 的核心思想與價值XP 的核心思想:從長遠看,早期發現錯誤以及降低復雜度可以節約成本。極限編程強調我們將任務(系 統細分為可以在較短周期解決的一個個子任務(模塊 ,并且強調測試、代碼質量和及早發現問題。通常,通過一 個個短小的迭代周期,我們就可以獲得一個個階段性的進展,并且可以及時形成一個版本供用戶參考,以便及時對 用戶可能的需求變更作出響

10、應。XP 的核心價值:XP 強調四種價值:交流,簡易,回饋,勇氣。溝通:項目中發現的問題往往是由于開發人員與設計人員、設計人員與客戶之間的溝通不暢造成的,因此, 在 XP 項目中沒有溝通是不可能的。簡單:XP 認為應該盡量保持代碼的簡單,只要它能工作就可以,與其實現一個復雜的的系統,不如設計一 個能夠滿足目前需要的、簡單的系統,因為你所考慮的情況可能永遠都不會發生。反饋:盡快獲得用戶的反饋,并且越詳細越好,使得開發人員能夠保證自己的成果符合用戶的需要。勇氣:這是最重要的核心價值。因為 XP 強調要 “ 擁抱變化 ” ,因此對于用戶的反饋,要勇于對自己的代碼進行 修改,丟掉壞的代碼。XP 程序員

11、之間緊密的相互交流, XP 程序員也和客戶緊密的交流。他們總是保持他們的設計簡單明了。項目 一開始, XP 就強調通過對軟件的不斷測試來獲得反饋,程序員盡可能早的把軟件交給客戶,并實現客戶對軟件需 求提出的變化,有了這些基礎, XP 程序員就可以自信的面對需求和軟件技術的變化。XP 的適用環境1. 不斷變化的需求XP 方法的產生是因為難以管理的需求變化, 從一開始你的客戶并不是很完全的知道他們要的系統是怎么樣的, 你可能面對的系統的功能一個月變化多次。在大多數軟件開發環境中不斷變化的需求是唯一的不變,這個時候應用 XP 就可以取得別的方法不可能取得的成功 。2. 風險較大的開發項目XP 方法的

12、建立同時也是為了解決軟件開發項目中的風險問題。假如你的客戶在特定的時間內,需要一個相當 難開發的系統,而且對于你的項目組來說,這個系統是一個新的挑戰(從來沒有做過 ,那風險就更大了,如果這個 系統對于整個軟件行業來說都是新的挑戰,那么它的風險就更大了,采用 XP 將可以減少風險,增加成功的可能。 3.小團體開發XP 方法是為小團體開發建立的, 在 2-10 個人之間。 假如你的團體恰好合適, 你就不需要用其他的軟件工程方法了,就用 XP ,但是要注意你不能將 XP 方法應用于大團體的開發項目中。我們應該注意,在需求一慣呈動 態變化或者高具有高風險的項目中,你就會發現 XP 方法在小團體的開發中

13、的作用要遠遠高于在大團體的開發。 XP 方法需要一個擴展的開發團體, XP 團體不僅僅包括開發者,經理、 客戶也是其中的一員, 所有的工作一環 扣一環,問問題,商討方法和日程,增加功能測試,這些問題的解決不僅僅涉及到軟件的開發者。4.可測試性的項目另一個需要是可測試性,你必須能增加自動的單元測試和功能測試,然而在你進行這個需求的時候,你 會發現有許多的問題很難測試,這需要充分發揮你的測試的經驗和智慧,而且你有時還要改變你的設計以便它可以 更容易的進行測試。結論極限編程是一組簡單、具體的實踐,這些實踐結合在形成了一個敏捷開發過程。極限編程是一種優良的、通用 的軟件開發方法,項目團隊可以拿來直接采

14、用,也可以增加一些實踐,或者對其中的一些實踐進行修改后再采用。極限編程的核心思想在于:從長遠看,早期發現錯誤以及降低復雜度可以節約成本。極限編程強調我們將任務 /系統細分為可以在較短周期解決的一個個子任務 /模塊,并且強調測試、代碼質量和及早發現問題。通常,通過一個 個短小的迭代周期,我們就可以獲得一個個階段性的進展,并且可以及時形成一個版本供用戶參考,以便及時對用 戶可能的需求變更作出響應。XP 的一個成功因素是重視客戶的反饋開發的目的就是為了滿足客戶的需要。 XP 方法使開發人員始終都能 自信地面對客戶需求的變化。 XP 強調團隊合作,經理、客戶和開發人員都是開發團隊中的一員。團隊通過相互

15、之間 的充分交流和合作,使用 XP 這種簡單但有效的方式,努力開發出高質量的軟件。 XP 的設計簡單而高效;程序員們 通過測試獲得客戶反饋, 并根據變化修改代碼和設計, 他們總是爭取盡可能早地將軟件交付給客戶。 XP 程序員能夠 勇于面對需求和技術上的變化。XP 很象一個由很多小塊拼起來的智力拼圖,單獨看每一小塊都沒有什么意義,但拼裝好后,一幅美麗的圖畫 就會呈現在你面前。名詞解釋需求模塊(User Story :開發人員要求客戶把所有的需求寫成一個個獨立的小故事,每個只 需要幾天時間就可以完成。開發過程中,客戶可以隨時提出新的需求模塊,或者更改以前的需求模 塊。Story Estimates和開發速度:開發小組對每個需求模塊進行估算,并根據每個開發周期 (Itera

溫馨提示

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

評論

0/150

提交評論