java實驗報告三

來源:互聯網
上載者:User

標籤:

北京電子科技學院(BESTI)

                     實     驗    報     告

      課程:Java   班級: 1352     姓名:黃曉妍    學號:20135227

      成績:               指導教師:婁嘉鵬        實驗日期:2015.6.5

      實驗密級:           預習程度:              實驗時間:15:30~18:00

      儀器組次:27         必修/選修:選修        實驗序號:03

      實驗名稱:    敏捷開發與XP實踐                                                     

      實驗目的與要求:  

         1. XP基礎

         2. XP核心實踐

         3. 相關工具

                                                  

      實驗儀器:

名稱

型號

數量

電腦

 

1

實驗樓

 

1

 

      統計的PSP(Personal Software Process)時間

 

步驟

耗時(min)

百分比

需求分析

30

15%

設計

50

25%

代碼實現

50

25%

測試

40

20%

分析總結

30

 15%

 

實驗內容一:

(一)敏捷開發與XP

      軟體開發流程的目的是為了提高軟體開發、運營、維護的效率,並提高軟體的品質、使用者滿意度、可靠性和軟體的可維護性。 光有各種流程的思想是不夠的,我們還要有一系列的工具來保證這些思想能夠在實踐中有效率地運作。一個常見的公式是:軟體工程=開發流程+工具。敏捷開發(Agile Development)是一種以人為核心、迭代、循序漸進的開發方法。“敏捷流程”是一系列價值觀和方法論的集合。

其中,極限編程(eXtreme Programming,XP)是
是一種全新而快捷的軟體開發方法。XP團隊使用現場客戶、特殊計劃方法和持續測試來提供快速的反饋和全面的交流:

  • XP是以開發符合客戶需要的軟體為目標而產生的一種方法論
  • XP是一種以實踐為基礎的軟體工程過程和思想
  • XP認為代碼品質的重要程度超出人們一般所認為的程度
  • XP特別適合於小型的有責任心的、自覺自勵的團隊開發需求不確定或者迅速變化的軟體

XP軟體開發是什麼樣的通過 XP準則來表達:

  • 溝通 :XP認為項目成員之間的溝通是項目成功的關鍵,並把溝通看作項目中間協調與合作的主要推動因素。
  • 簡單 :XP假定未來不能可靠地預測,在現在考慮它從經濟上是不明智的,所以不應該過多考慮未來的問題而是應該集中力量解決燃眉之急。
  • 反饋 :XP認為系統本身及其代碼是報告系統開發進度和狀態的可靠依據。系統開發狀態的反饋可以作為一種確定系統開發進度和決定系統下一步開發方向的手段。
  • 勇氣:代表了XP認為人是軟體開發中最重要的一個方面的觀點。在一個軟體產品的開發中人的參與貫穿其整個生命週期,是人的勇氣來排除困境,讓團隊把局部的最優拋之腦後,達到更重大的目標。表明了XP對“人讓項目取得成功”的基本信任態度。

一項實踐在XP環境中成功使用的依據通過XP的法則呈現,包括:快速反饋、假設簡單性、遞增更改、提倡更改、優質工作。

XP軟體開發的基石是XP的活動,包括:編碼、測試、傾聽、設計。

(二)編碼通訊協定

編程標準包含:具有說明性的名字、清晰的運算式、直截了當的控制流程、可讀的代碼和注釋,以及在追求這些內容時一致地使用某些規則和慣用法的重要性。

程式沒有最基本的縮排,讓人讀起來很費勁,這個問題在Eclipse中比較容易解決,我們單擊Eclipse菜單中的source->Format 或用快速鍵Ctrl+Shift+F就可以按Eclipse規定的規範縮排,我使用了以前寫的Dog類:

代碼標準中很重要的一項是如何給包、類、變數、方法等標識符命名,能很好的命名可以讓自己的代碼立馬上升一個檔次。Java中的一般的命名規則有:

  • 要體現各自的含義
  • 包、類、變數用名詞
  • 方法名用動賓
  • 包名全部小寫,如:io,awt
  • 類名第一個字母要大寫,如:HelloWorldApp
  • 變數名第一個字母要小寫,如:userName

方法名第一個字母要小寫:setName 

(三)結對程式設計

結對程式設計是XP中的重要實踐。在結對程式設計模式下,一對程式員肩並肩、平等地、互補地進行開發工作。他們並排坐在一台電腦前,面對同一個顯示器,使用同一個鍵盤、同一個滑鼠一起工作。他們一起分析,一起設計,一起寫測試案例,一起編碼,一起做單元測試,一起做整合測試,一起寫文檔等。 結對程式設計中有兩個角色:

  • 駕駛員(Driver)是修飾鍵盤輸入的人。
  • 領航員(Navigator)起到領航、提醒的作用。

如何結對程式設計,為何要結對程式設計,重點是:

  • 駕駛員:寫設計文檔,進行編碼和單元測試等XP開發流程。
  • 領航員:審閱駕駛員的文檔、駕駛員對編碼等開發流程的執行;考慮單元測試的覆蓋率;思考是否需要和如何重構;協助駕駛員解決具體的技術問題。
  • 駕駛員和領航員不斷輪換角色,不要連續工作超過一小時,每工作一小時休息15分鐘。領航員要控制時間。
  • 主動參與。任何一個任務都首先是兩個人的責任,也是所有人的責任。沒有“My Code”、“你的代碼”或“他/她的代碼”,只有“我們的代碼”。
  • 只有水平上的差距,沒有層級上的差異。兩人結對,儘管可能大家的層級資曆不同,但不管在分析、設計或編碼上,雙方都擁有平等的決策權利。

團隊精神是好多地方都強調的一個精神,最小的團隊就是一對一的二人團隊了,培養團隊精神從結對程式設計開始吧。社會生活中人與人相處最重要的是誠信,有同理心,互利。結對程式設計中大家會出現分歧,如何更有效地合作要做到對事不對人

(四)版本控制

結對程式設計對這一實踐貢獻良多:藉由在不同的結對中工作,所有的程式員都能看到完全的代碼。集體所有制的一個主要優勢是提升了開發程式的速度,因為一旦代碼中出現錯誤,任何程式員都能修正它。 這意味著代碼要放到一個大家都能方便擷取的地方,我們叫代碼倉庫。這引出另外一個話題叫版本控制(Version Control)。

  

(五)重構

我們先看看重構的概念:

重構(Refactor),就是在不改變軟體外部行為的基礎上,改變軟體內部的結構,使其更加易於閱讀、易於維護和易於變更 。

 

(六)實踐項目

java實驗報告三

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.