1. 程式人生 > >軟工網絡15個人作業5--軟件工程總結

軟工網絡15個人作業5--軟件工程總結

否則 過程 發現 框架 次數 叠代 有用 為什麽 寫博客

一、請回望開學時的第一次作業,你對於軟件工程課程的想象

1. 對比開篇博客你對課程目標和期待,“希望通過實踐鍛煉,增強計算機專業的能力和就業競爭力”,對比目前的所學所練所得,在哪些方面達到了你的期待和目標,哪些方面還存在哪些不足,為什麽?

  • 最初我以為這門課只是一門以編程為主的課程,經過這一個學期的學習後,發現自己錯了,軟件工程這門課不僅是簡單的讓人去編程,而是實際體驗一把在以後的工作時如何進行一個項目的開發。在alpha與beta兩個階段我大致了解了一個項目的開發流程,以及如何與團隊中其他成員一起進行開發,可能不足的地方就是由於產品叠代次數少,自己在團隊中擔任角色有些單一,沒有嘗試做過PM,可能是這次軟工比較遺憾的地方。

2.總結這門課程的實踐總結和給你帶來的提升,包括以下內容:

1)統計一下,你在這門課程中,完成了多少行的代碼;

  • 這門課中完成了378行代碼

    2)軟工的各次作業分別花了多少時間?(做一個列表)

    作業 寫博客時間 寫代碼時間
    軟工網絡15個人閱讀作業 2小時 0小時
    軟工網絡15結對編程練習 2小時 8小時
    軟工網絡15個人閱讀作業2——提問題 2小時 0小時
    軟工網絡15個人作業3——案例分析 1.5小時 0小時
    個人作業4——alpha階段個人總結 1小時 alpha階段每天都有寫已經記不清用時多久了
    個人作業5——軟工個人總結 2小時 0小時

3)哪一次作業讓你印象最深刻?為什麽?

  • alpha沖刺階段的個人總結吧,因為是第一次接觸到這種開發模式,很興奮,感覺大家每天的努力最終都會得到一個好的結果。

    4)累計花了多少個小時在軟工上?平均每周花多少個小時?

  • 個人作業累計花費時間18.5小時,平均每周花費5-6小時

    5)學習和使用的新軟件;

  • sublimetext編輯器

    6)學習和使用的新工具;

  • git,燃盡圖

    7)學習和掌握的新語言、新平臺;

  • 主要接觸的是python,以及flask框架

    8)學習和掌握的新方法;

  • 數據庫方面的操作

    9)其他方面的提升。

  • 習慣與他人協同編寫代碼

    二、寫下屬於自己的人月神話——個人或結對或團隊項目實踐中的經驗總結+實例/例證結合的分析

  • 在團隊協同作戰的時候,最重要的就是要分工明確,每天按時完成任務。在alpha沖刺階段過程中,恰好我和另一位編寫後端的同學有一門課要考試,由於分工明確,其他任務還是有條不紊進行,只是我們的後端需要在考完試後要把之前沒完成的任務補上,最終沒有耽誤alpha階段產品的推出

    三、對下一屆實踐的建議,或者對於開學初的你,對於大一的你,對於開學初的我,你有什麽想建議和告知的呢?對於後來人的期許。對於換人機制,有什麽樣的建議?

  • 建議就是要牢牢掌握一門編程語言,可以自己單獨寫一些有趣的東西出來,這樣學習軟件工程這門課才不會吃力,否則邊要學習一些基礎知識邊要進行開發工作,這樣的話可能會很耽誤時間;對於換人機制的話,我覺得大家不要抱著一種淘汰的態度,無論去到哪個團隊中,努力做好自己的工作才是最重要的,無論自己是否被換出去,都要把自己的任務完成好

    四、分析一下自己所處的團隊。軟件工程實踐是大學裏少有的認真的團隊協作經驗。《構建之法》上說團隊的發展有幾個階段,你的團隊都經歷過麽,最後到達了“創造”階段了麽?(參考《構建執法》第17章 人、績效和職業道德)

  • 由於在alpha與beta階段的兩個團隊中大家都非常熟,所以直接跳過了萌芽階段與磨合階段,團隊成員之間彼此都很信任,並且大家都認真對待自己的任務;我們經歷的階段基本上就是規範階段,與創造階段。

    五、怎樣證明你學會了軟件工程?

1.研發出符合用戶需求的軟件

  • 必須公開發布,有實際的用戶,一定的用戶量和持續使用量 (3 天後能保10-100個用戶);而不是: 做沒有用戶使用的軟件

2.通過一系列工具,流程,團隊合作,能夠在預計的時間內發布 “足夠好” 的軟件

  • 有項目規劃/需求/設計/實現/發布/維護,有定時的進度發布 ; 而不是: 通過臨時熬夜,胡亂拼湊,大牛一人代勞,延遲交付等方式糊弄

3.並且通過數據展現軟件是可以維護和繼續發展的。

  • 而不是 找不到源代碼,代碼無文檔,代碼不能編譯,沒有task/bug 等項目的發展資料
    請在隨筆中用數據證明上述內容或側重選擇之一。

軟工網絡15個人作業5--軟件工程總結