結對項目第一階段總結與對軟工課程的拙見


結對項目-第一階段

項目 內容
教學班級 2021春季軟件工程(羅傑 任健) (北京航空航天大學 - 計算機學院)
GitLab項目地址 2021_Xiaodong_Lu-Pengyang_Xie_pair_work
Mokoghost學號后四位 3647
duckingss學號后四位 3054

結對編程體驗

結對編程使我們受益匪淺,明顯讓我們的工程能力提升並從對方身上學到很多優秀的工程習慣。在結對編程過程中,我們充分討論,協同完成頂層設計,討論架構,在教室的白板上寫寫畫畫,整個過程無比絲滑並建立了深♂厚♂的友誼。

代碼實現過程中,我們采用了原OO的checkstyleJavadoc,並且使用了駝峰命名法,使得代碼整潔易讀。你寫我查的過程讓我們雙方都對代碼有了充分的熟悉,並且增強了代碼的魯棒性,讓我們能夠及時地發現手抖產生的低級bug。

同時,作業內容使我們重新回顧了Java、面向對象和操作系統的知識。體驗了一次極限編程:第一天從下午三點連續編程到凌晨四點十五分,第二天繼續從下午三點編程至凌晨兩點。過程中產生的疑問都發布在指導書的issue上,與課程中的其他同學和助教產生了五個有意義的討論:

課程設計建議

雖然在進行結對編程的時候收獲良多,但是我仍然覺得這門課程的設計不合時宜

  1. 課程設計過重。作為一門必修課(我認為必修課也要因材施教),沒有給同學選擇的權力,大三下有的同學要考研,有的同學要實習,有的同學要科研,如果一周要花三四天來完成一門兩學分的課程,明顯不合適,在這里我想問老師們一個問題:北航計算機學院是否只培養軟件工程師?如果是,那么讓同學全身心投入到這門課中大家不會有意見,但是請在招生簡章中明確地寫出來,我未來不打算從事這個工作。同時,鄒老師書中說:

    這門課程相當於4—5個學分的課。考慮到各個學校的具體情況,老師也可以考慮把這門課當作兩門課的結合(軟件工程理論和軟件工程實踐);也可以安排兩個學期

    學院不是這樣安排的。

  2. 意義不明的流程。不知道測評系統的設計者是否痴迷於神秘主義,或者是單純享受給學生創造困難?至少這樣的作業提交/評測方式給我們造成了極重的負擔,在凌晨三點寫完代碼后還要花費一個小時提交代碼,好不容易在午夜前通過測試,卻要在配置CI上花費兩個小時以上。許多工作明明可以用更方便(對於學生和平台設計者雙方而言)的方式進行,卻要將配置、評測的工作下放讓學生完成部分,增大了學生和老師工作的耦合!從我們這次的開發經驗來講,我認為我們做了很多與作業無關的事。

PSP 規划

PSP2.1 Personal Software Process Stages 預估耗時(分鍾) 實際耗時(分鍾)
Planning 計划 10 ~10
· Estimate · 估計這個任務需要多少時間 10 ~10
Development 開發 890 1205
· Analysis · 需求分析 (包括學習新技術) 240 180
· Design Spec · 生成設計文檔 30 30
· Design Review · 設計復審 (和同事審核設計文檔) 10 5
· Coding Standard · 代碼規范 (為目前的開發制定合適的規范) 10 30
· Design · 具體設計 60 320
· Coding · 具體編碼 360 460
· Code Review · 代碼復審 60 0
· Test · 測試(自我測試,修改代碼,提交修改) 120 180
Reporting 報告 60 90
· Test Report · 測試報告 30 30
· Size Measurement · 計算工作量 20 30
· Postmortem & Process Improvement Plan · 事后總結, 並提出過程改進計划 30 30
合計 960 1305


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM