實驗四 軟件工程結對項目

實驗四  軟件工程結對項目html

2019-3-21/22git

Deadline:2019-4-3 10:00,以博客發表日期爲準github

評分標準:編程

  • 按時交 - 有分(滿分100分),檢查項目包括:
  • 任務1部分(40分,代碼和博客各20分)
  • 任務2部分(60分,代碼和博客各30分)
  • 未提交項目源碼到Github,代碼部分不得分;未提交博客到班級博客上,博客部分不得分;
  • 任務2根據項目完成質量累計加分,完成基本功能原則上不超過滿分60分,完成附加功能,給予加分;
  • 代碼提交(代碼規範,不然倒扣分);
  • 博文規範(行文清晰流暢,若是行文中涉及代碼,請使用博客園自帶的代碼控件,或使用MarkDown的語法塊)
  • 抄襲 - 倒扣本次做業分數

1、實驗目的與要求框架

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

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

2、實驗相關知識測試

閱讀現代軟件工程—構建之法第4章內容,掌握如下概念:編碼

1)結對編程spa

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

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

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

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

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

2)代碼規範

關於代碼規範的其餘參考博文:https://www.cnblogs.com/S031602240/p/10551854.html

關於github基礎操做的參考連接:

參考文章:http://www.cnblogs.com/schaepher/p/4933873.html

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

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

3、實驗內容和步驟

任務1:兩兩自由結對,對結對方的《實驗二 軟件工程我的項目》的項目成果進行評價,具體要求以下:

  •  對項目博文做業進行閱讀並進行評論,評論要點包括:博文結構、博文內容、博文結構與PSP中「任務內容」列的關係、PSP中「計劃共完成須要的時間」與「實際完成須要的時間」兩列數據的差別化分析與緣由探究。
  •  克隆結對方項目源碼到本地機器,閱讀並測試運行代碼,結合運行結果評論程序代碼,評論要點包括:軟件結構、代碼規範、功能實現、人機交互等。
  •  嘗試利用github中的Fork、Clone、Push、Pull request、Merge pull request對結對方倉庫中的源碼進行合做修改。

任務2:採用兩人合做方式,設計開發一個英文文本統計分析軟件,使之具備如下功能:

(1)實驗2要求的功能;

(2)單詞頻數可視化柱狀圖要求是如下樣式:

(3)統計該文本行數及字符數;

(4)各類統計功能均提供計時功能,顯示程序統計所消耗時間(單位:ms);

(5)可處理任意用戶導入的任意英文文本;

(6)人機交互界面要求GUI界面(WEB頁面、APP頁面均可);

(7)附加分功能:統計文本中除冠詞、代詞、介詞以外的高頻詞;

(8)附加分功能:統計前10個兩個單詞組成的詞組頻率。

任務二兩個合做項目實施要求:

  •  結對合做開發進度計劃的要求:在項目正式開發以前,預估本次合做開發任務的PSP環節的消耗時間,並在PSP過程當中統計實際耗時,填寫PSP表格。
  • 嘗試採用漢堡包法實施項目結對中兩我的的溝通,關於漢堡包法的闡述參見:http://www.cnblogs.com/xinz/archive/2011/08/22/2148776.html
  • 理解領航員和駕駛員兩種角色關係:兩人都必須參與程序的編碼工做,在結對編程中兩我的輪流作對方的角色。
  • github倉庫中的代碼提交要體現兩人合做過程,不能只看到最終的代碼,至少有三次以上的代碼簽入記錄, 能顯示代碼從最初的基本框架, 基本功能,到所有功能實現的構建過程 。
  • 編撰兩人合做開發遵照共同承認的編碼規範,並提交編碼規範文檔到github項目倉庫根目錄下。
  •  將包含任務2的源碼以增量方式提交到指定同窗註冊Github帳號下的項目倉庫中,要求項目倉庫中要能看到項目屢次commit的記錄,同時必須有兩我的各自的commit記錄。

任務3:完成博文做業

博文名稱要求:學號1姓名+《英文文本統計分析》結對項目報告;

填寫博文簡要信息表:

項目

內容

這個做業屬於哪一個課程

任課教師博客主頁連接

這個做業的要求在哪裏

做業連接地址

課程學習目標

熟悉軟件開發總體流程,提高自身能力

本次做業在哪一個具體方面幫助咱們實現目標

第一次體驗一個完整的工程

博文做爲兩個任務總結的文字資料,請完整包含如下內容:

  •  任務1要給出所點評做業的博客、github連接地址,點評內容和點評心得;
  • 任務2須要給出結對項目源碼在Github的倉庫主頁連接地址;
  • 任務2博文做爲結對項目實施過程的文字資料,請完整包含下面7個部分:

          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. 小結感覺:兩人合做真的可以帶來1+1>2的效果嗎?經過此次結對合做,請談談你的感覺和體會。

相關文章
相關標籤/搜索