1、請回望開學時的第一次做業,你對於軟件工程課程的想象
1.對比開篇博客你對課程目標和期待,「但願經過實踐鍛鍊,加強計算機專業的能力和就業競爭力」,對比目前的所學所練所得,在哪些方面達到了你的期待和目標,哪些方面還存在哪些不足,爲何?
經過這門課程的學習,我認爲達到了如下目標:前端
- 複習了python;多是好久沒寫的代碼的緣故,前期開始寫的時候速度慢,效率低,有一些基本的格式記不太清,因此常常是邊查邊寫,通過alpha階段前期衝刺,有了大概的總體框架,加之對代碼的熟悉度,在alpha中後期以及beta階段的代碼速度與效率明顯提高,這是一個蠻大的收穫。
- 增長了項目經驗;咱們團隊的項目內容算是相對比較多的,在從無到基本成型的過程,經歷了設計一個較爲複雜數據庫、自定義每一個操做的協議、初次嘗試flash框架、前端與後端的交互過程、解決一些關於mysql之前沒有遇到過的問題等過程。作一好一個項目,是對技術和耐心的考驗。
- 感覺到了團隊協做的魅力;咱們團隊的兩個PM(Beta階段有更換)都能較爲合理地安排好給每一個組員的任務,看到到了你們一塊兒完成這個項目所付出的努力和付出,很開心可以與團隊的成員們一同完成這個項目。
不足的地方:python
- 剛開始設計階段把功能定得太多了,因此最終沒能把全部的功能以及一些更復雜的需求(好比冗餘備份等)實現。仍是專一作好某些重點功能比較好。
- 軟件測試大部分都交給一位組員去作了,本身在這方面作得不多,只是一些基本的連通性測試。
2.總結這門課程的實踐總結和給你帶來的提高,包括如下內容:
- 1)統計一下,你在這門課程中,完成了多少行的代碼; 答:1200行左右
- 2)軟工的各次做業分別花了多少時間?(作一個列表)
做業 |
寫博客時間 |
寫博客的準備時間 |
軟工網絡15我的閱讀做業1 |
3小時 |
0小時 |
軟工網絡15我的閱讀做業2——提問題 |
1.5小時 |
4小時 |
軟工網絡15結對編程練習 |
3小時 |
5小時 |
軟工網絡15團隊做業1——團隊組隊&展現 |
0.5小時 |
10小時 |
軟工網絡15我的做業3——案例分析 |
2小時 |
2小時 |
團隊做業3——需求分析與設計 |
1小時 |
3小時 |
團隊做業2——團隊計劃 |
1小時 |
10小時 |
軟工網絡15Alpha階段敏捷衝刺 |
1小時 |
一週 |
團隊做業6——展現博客 |
1小時 |
3小時 |
團隊做業5——測試與發佈 |
1小時 |
3小時 |
團隊做業7——alpha階段之過後諸葛亮分析 |
1小時 |
2.5小時 |
我的做業4——alpha階段我的總結 |
3小時 |
1小時 |
團隊做業8——敏捷衝刺(Beta階段) |
3小時 |
一週 |
beta版驗收互評 |
1小時 |
1小時 |
我的做業5——軟工我的總結 |
3小時 |
0小時 |
-
3)哪一次做業讓你印象最深入?爲何? 答:我的閱讀做業2--提問題。由於那次做業須要讀完整本書,這讓不愛看書的我感到很疲憊,而後花了很長時間絞盡腦汁纔想出來五個問題。mysql
-
4)累計花了多少個小時在軟工上?平均每週花多少個小時?
答:我的做業加團隊項目,粗略地計算了一下累計花了近80個小時。平均每週6小時左右(共14周)。android
-
5)學習和使用的新軟件。
答:Navicatgit
-
6)學習和使用的新工具。 答:碼雲看板,issuessql
-
7)學習和掌握的新語言、新平臺。 答:python的flask框架數據庫
-
8)學習和掌握的新方法。 答:mysql一些相關操做編程
-
9)其餘方面的提高。 答:抗壓能力,溝通交流能力等flask
2、寫下屬於本身的人月神話——我的或結對或團隊項目實踐中的經驗總結+實例/例證結合的分析
- 團隊項目選題不要太複雜,提取本身最想作的功能專一地完成會更好。由於咱們當初想作的東西有點多,而最終也只是完成了核心功能,並且不是很是完整。
- 軟件開發過程當中應保持一個良好的心態,遇到問題及時跟PM或者其餘組員溝通。衝刺階段因爲其餘事情的干擾,致使有些時候會比較疲憊,甚至不想繼續完成開發,跟PM溝通交流後調整好了心態與節奏。
3、對下一屆實踐的建議,或者對於開學初的你,對於大一的你,對於開學初的我,你有什麼想建議和告知的呢?對於後來人的期許。對於換人機制,有什麼樣的建議?
4、分析一下本身所處的團隊。軟件工程實踐是大學裏少有的認真的團隊協做經驗。《構建之法》上說團隊的發展有幾個階段,你的團隊都經歷過麼,最後到達了「創造」階段了麼?(參考《構建執法》第17章 人、績效和職業道德)
- 我以爲咱們是一個不錯的團隊。從結果來看,當初給每一個人的安排是較爲合理的,你們都能在各自的位置完成規劃好的任務。在磨合過程當中溝通交流漸漸地增強,隊員之間的默契度也慢慢地提高,最終把當初指望的大部份內容都實現了,本身也收穫了許多,十分開心可以待在這樣一個團隊完成整個開發過程。
- 咱們團隊經歷了萌芽,磨合,規範以及創造階段。項目初期,只有一個大概的綱要,你們尚未很是明確本身的目標,也不是很清楚本身的分工,因此進展較慢。通過了一段時間的磨合以後,對本身負責的以及其餘人負責的就比較熟悉了,由於你們都着手於本身任務,因此前期的交流不是不少,以後出現了一些問題,這也使得咱們之間的交流獲得了進一步地提高,通常都能及時解決問題。當整個團隊結構基本成型之後,你們都能完成天天規定的任務,造成一個較爲規範的模式。最終咱們也成功地把軟件(大部分核心都實現了)作出來,而且發佈,有了必定的用戶量。達到了創造階段。
5、怎樣證實你學會了軟件工程?
- 5.1.研發出符合用戶需求的軟件:必須公開發布,有實際的用戶,必定的用戶量和持續使用量 (3 天后能保持10 - 100個用戶);而不是: 作沒有用戶使用的軟件

除了咱們的測試用戶外,有13個實際用戶體驗過咱們的軟件
- 5.2.經過一系列工具,流程,團隊合做,可以在預計的時間內發佈「足夠好」的軟件:有項目規劃/需求/設計/實現/發佈/維護,有定時的進度發佈 ; 而不是: 經過臨時熬夜,胡亂拼湊,大牛一人代勞,延遲交付等方式糊弄
項目發佈:Gugua Release-碼雲發行版 **ISSUE管理系統: **碼雲ISSUE
咱們團隊的小黃衫同窗很負責地讓咱們提交每一個階段天天衝刺的總結。
