實驗三 軟件工程結對項目

Deadline:2018-4-4 10:00,以博客發表日期爲準html

評分標準:git

  •  按時交 - 有分(滿分30分,代碼和博客各15分),檢查項目包括:

          -  未提交項目源碼到Github上,代碼部分不得分;未提交博客到班級博客上,博客部分不得分;github

          -  根據項目完成質量累計加分,完成基本功能原則上不超過滿分15分,完成軟件的附加功能,給予加分;編程

          -  代碼提交(代碼規範,不然倒扣分);小程序

          -  這次做業爲結對項目,單幹戶不得分;app

          -  結對編程兩位同窗代碼部分分數一致,博客部分分別評分。編程語言

          -  博文規範(行文清晰流暢,若是行文中涉及代碼,請使用博客園自帶的代碼控件,或使用MarkDown的語法塊)ide

一、實驗目的與要求工具

(1)練習結對編程(Pair programming),體驗軟件項目開發中的兩人合做。學習

(2)掌握Github上增量發佈軟件的操做方法。

題目來源參考:

http://www.cnblogs.com/happyzm/p/6509116.html(集美大學)

http://www.cnblogs.com/xinz/p/7417960.html(鄒欣老師)

http://www.cnblogs.com/vertextao/p/6896953.html(張棟老師)

二、實驗環境要求

編程語言使用Java

開發工具:Elipse或Myelipse

三、實驗相關知識

關於結對編程(閱讀教材第4章內容):

如下圖片是一個結對編程場景:兩位學習夥伴坐在一塊兒,面對着同一臺顯示器,使用着同一鍵盤,同一個鼠標,他們一塊兒思考問題,一塊兒分析問題,一塊兒編寫程序。

 

        同窗們是否嘗試過結對編程的軟件開發模式:本次實驗就讓咱們來體驗一下結對編程的魅力。

關於結對編程的闡述可參見如下連接:

http://www.cnblogs.com/xinz/archive/2011/08/07/2130332.html

http://en.wikipedia.org/wiki/Pair_programming

 

 關於工具

       在軟件開發中,要善於學習和使用工具來輔助軟件設計。本次實驗請開始嘗試使用類圖設計程序中模塊之間的關係。關於類圖,參見:http://blog.csdn.net/xx326664162/article/details/50475352

        類圖的經常使用繪製工具備:Visio 、Rational Rose、PowerDesign,建議同窗們採用輕量級的Visio。

四、實驗內容和步驟採用

任務1:

        在《實驗二 軟件工程我的項目》中,同窗們實現了一個命令行四則運算出題小程序,本次實驗採用結對編程方式,設計開發一個小學生四則運算練習軟件,使之具備如下功能:

(1)由計算機從題庫文件中隨機選擇20道加減乘除混合算式,用戶輸入算式答案,程序檢查答案是否正確,每道題正確計5分,錯誤不計分,20道題測試結束後給出測試總分;

 (2)題庫文件可採用實驗二的方式自動生成,也能夠手工編輯生成,文本格式以下:

 

(3)程序爲用戶提供三種進階四則運算練習功能選擇:百之內整數算式(必作)、帶括號算式、真分數算式練習;

(4)程序容許用戶進行多輪測試,提供用戶多輪測試分數柱狀圖,示例以下:

 

(5)程序記錄用戶答題結果,當程序退出再啓動的時候,可爲用戶顯示最後一次測試的結果,並詢問用戶能否進行新一輪的測試;

(6)測試有計時功能,測試時動態顯示用戶開始答題後的消耗時間。

(7)程序人機交互界面是GUI界面(WEB頁面、APP頁面均可),界面支持中文簡體(必作)/中文繁體/英語,用戶能夠進行語種選擇。

 

任務一結對編程實施要求:

對於結對編程進度計劃的要求:在程序正式開發以前,請先預估本次結對編程任務的PSP環節的消耗時間,並在PSP過程當中統計實際耗時,填寫PSP表格。

對於結對編程中代碼設計規範的要求參見http://www.cnblogs.com/xinz/archive/2011/11/20/2255971.html

編撰任務一結對編程時兩我的遵照共同承認的編碼規範,並提交到github項目倉庫中。

對於結對編程兩我的溝通的技巧:

嘗試採用製做漢堡包法實施項目結對中兩我的的溝通。

關於漢堡包法的闡述參見:http://www.cnblogs.com/xinz/archive/2011/08/22/2148776.html

理解領航員和駕駛員兩種角色關係:兩人都必須參與程序的編碼工做,在結對編程中兩我的輪流作對方的角色。要在github代碼提交日誌上體現兩人合做過程。

任務2:

  • 將包含任務1的源碼以增量方式提交到指定同窗註冊Github帳號下的項目倉庫中(結對小組只在一個帳號下提交代碼)
  • 將任務1要求的編碼規範文檔提交到源碼所在項目倉庫根目錄下。
  • 要求項目倉庫中要能看到項目屢次commit的記錄,同時必須有兩我的各自的commit記錄。

Github如何託管項目?

參考文章:http://www.cnblogs.com/edisonchou/p/5990875.html

學習視頻:https://www.bilibili.com/video/av10475153/

 

任務3:完成結對項目報告博文做業

博文名稱要求:學號1/學號2《小學四則運算練習軟件》結對項目報告;

博文中要有任務1源碼在Github的倉庫主頁連接地址;

博文(兩個同窗都要寫)做爲結對項目實施過程的文字資料,請完整包含下面8個部分:

a. 需求分析:

b. 軟件設計:使用類圖。

c. 核心功能代碼展現:展現核心功能代碼。

d. 程序運行:程序運行時每一個功能界面截圖。

e.描述結對的過程,提供兩人在討論、細化和編程時的結對照片(非擺拍)。

f.提供這次結對做業的PSP。

PSP2.1

任務內容

計劃共完成須要的時間(min)

實際完成須要的時間(min)

Planning

計劃

8

6

·       Estimate

·  估計這個任務須要多少時間,並規劃大體工做步驟

8

6

Development

開發

82

88

··       Analysis

  需求分析 (包括學習新技術)

6

10

·       Design Spec

·  生成設計文檔

5

6

·       Design Review

·  設計複審 (和同事審覈設計文檔)

4

6

·       Coding Standard

  代碼規範 (爲目前的開發制定合適的規範)

3

3

·       Design

  具體設計

10

12

·       Coding

  具體編碼

36

21

·       Code Review

·  代碼複審

7

9

·       Test

·  測試(自我測試,修改代碼,提交修改)

13

21

Reporting

報告

9

6

··       Test Report

·  測試報告

3

2

·       Size Measurement

  計算工做量

2

1

·       Postmortem & Process Improvement Plan

·  過後總結 ,並提出過程改進計劃

3

3

g. 請使用漢堡評價法給你的小夥伴一些點評。漢堡評價法:http://www.cnblogs.com/xinz/archive/2011/08/22/2148776.html

h. 結對編程真的可以帶來1+1>2的效果嗎?經過此次結對編程,請談談你的感覺和體會。

相關文章
相關標籤/搜索