網絡15 個人作業5 軟件工程總結
網絡15 個人作業5 軟件工程總結
一、請回望開學時的第一次作業,你對於軟件工程課程的想象
對比開篇博客你對課程目標和期待,“希望通過實踐鍛煉,增強計算機專業的能力和就業競爭力”,對比目前的所學所練所得,在哪些方面達到了你的期待和目標,哪些方面還存在哪些不足,為什麽?
??軟工項目確實鍛煉了作為一個團隊的協作能力,提高了編寫各種文檔、畫各種流程圖的、以及如何和目標用戶溝通、如何和隊友交流的能力,代碼量也提升了很多。同時學會了軟件工程中的很多理論和概念,比如關於UX的討論、需求分析等等,還讓我認識了很多優秀的工具。
??不足之處是我覺得這門課還是需要更多的時間,這麽短的時間內又要學習理論知識,又要學習各種文檔、分析技巧,還要完成團隊項目的設計開發實現,感覺壓力挺大的。
總結這門課程的實踐總結和給你帶來的提升,包括以下內容:
- 統計一下,你在這門課程中,完成了多少行的代碼
一萬行左右,主要是團隊項目中寫的代碼 軟工的各次作業分別花了多少時間?(做一個列表)
作業 耗時 /h 個人作業1 5 個人作業2 10 結對編程 36 個人作業3 10 個人作業4 6 團隊項目每日總結 0.5 * (7 + 5) 哪一次作業讓你印象最深刻?為什麽?
結對編程那一次作業,因為那是在本課程剛剛開始的時候,當時花了很多尋找和熟悉我們所需要的技術的各種工具,例如微軟持續集成工具VSTS、單元測試框架MSUT、熟悉Git以及Git的倉庫、以及代碼覆蓋率、性能測試等等,博客也花了很多時間來寫。- 累計花了多少個小時在軟工上?平均每周花多少個小時?
- 累計花了233個小時左右
- 平均每周花25個小時
- 學習和使用的新軟件;
所使用的軟件- SublimeText
- Qt Creator
- Visual Studio
- Visual Studio Code
- PyCharm
- Github Desktop
- 學習和使用的新工具;
- VSTS
- GIT
- MSUT
- ProcessOn
- 學習和掌握的新語言、新平臺;
- 以下都是淺嘗輒止
- Python Flask
- HTML
- CSS
- 以下了解的比較多
- C++ / QT
- QSS
- 新平臺
- Git Issue 管理平臺
- 以下都是淺嘗輒止
- 學習和掌握的新方法;
- 敏捷開發
- Deadline是第一生產力
- NABCD需求分析
- 競爭性需求分析
- 其他方面的提升
- 文檔編寫
- 博客書寫
- 團隊協作
- 抗壓能力
二、寫下屬於自己的人月神話——個人或結對或團隊項目實踐中的經驗總結+實例/例證結合的分析
- 無論是結對編程還是團隊項目,積極地應對才能更好地提高效率,消極面對反而會讓問題更加棘手
- 為可能出現地突發情況做好準備,Plan B在關鍵時候很重要
- 埋頭研究細節的時候也要偶爾擡頭看看整體情況,戰略上的錯誤無法用戰術逆轉
- 一個凝聚力高的團隊能事半功倍
- 帶著熱情去做一件事能做得更好
三、對下一屆實踐的建議,或者對於開學初的你,對於大一的你,對於開學初的我,你有什麽想建議和告知的呢?對於後來人的期許。對於換人機制,有什麽樣的建議?
建議下一屆的學弟學妹們最好選擇開發效率高的工具來編程,寫PC端的工作量比同等規模下其它平臺大很多,很累。
對於換人機制,延續現在這樣的機制就好,自由度高。
四、分析自己所處的團隊
軟件工程實踐是大學裏少有的認真的團隊協作經驗。《構建之法》上說團隊的發展有幾個階段,你的團隊都經歷過麽,最後到達了“創造”階段了麽?(參考《構建之法》第17章 人、績效和職業道德)
這些階段我們團隊都經歷了,而由於與我們的團隊成員本來就是比較熟悉的朋友,所以一開始磨合的階段比較快地過去了,我們的團隊比較融洽,比較有執行力。可以說最後也達到了“創造”階段,做出了自己滿意的一定成果。
五、怎樣證明你學會了軟件工程?
研發出符合用戶需求的軟件
必須公開發布,有實際的用戶,一定的用戶量和持續使用量 (3 天後能保持10 - 100個用戶);而不是做沒有用戶使用的軟件
發布地址:Gugua Release-碼雲發行版
後臺數據
通過一系列工具,流程,團隊合作,能夠在預計的時間內發布 “足夠好” 的軟件
有項目規劃/需求/設計/實現/發布/維護,有定時的進度發布 ;而不是: 通過臨時熬夜,胡亂拼湊,大牛一人代勞,延遲交付等方式糊弄
- 需求文檔 Gugua需求文檔-碼雲
- 原型設計 Gugua原型設計-墨刀
- 實現
- Gugua客戶端-碼雲
- Gugua服務端-碼雲
- 測試維護 測試維護報告-碼雲
ISSUE管理系統 Issue-碼雲
- 持續開發
- 團隊協作
自行設計制作並實現所有元素、資源、功能
並且通過數據展現軟件是可以維護和繼續發展的
而不是 找不到源代碼,代碼無文檔,代碼不能編譯,沒有task/bug 等項目的發展資料
- Git倉庫
- Gugua客戶端-碼雲
- Gugua服務端-碼雲
- 需求文檔 和 原型設計 同上
- README https://gitee.com/niverse799/GuguaClient
- 環境部署演示 Gugua構建演示
- Git倉庫
網絡15 個人作業5 軟件工程總結