一、回顧
1)對比開篇部落格你對課程目标和期待,“希望通過實踐鍛煉,增強計算機專業的能力和就業競争力”,對比目前的所學所練所得,在哪些方面達到了你的期待和目标,哪些方面還存在哪些不足,為什麼?
達到了期待和目标的能力:
- 團隊協調能力:從之前面向對象課程的結對程式設計,到軟工實踐的團隊程式設計,一路走來每次的任務完成,都離不開團隊的溝通能力。而且我可以很明顯的感覺到自己與團隊成員的溝通能力明顯的提高。一晚上完成所有的結對程式設計任務,并且取得不錯的成績,應該是很好的證明吧嘻嘻嘻。我想這要歸功于和隊友之間的默契以及多次團隊任務的磨練!
- 學會一個項新技術的能力:由于我擔任我我們組的資料采集以及美工的任務,但是就憑我鋼鐵直男的審美,可能是無法勝任這項工作的。但是,在隊長的高壓push之下、以及隊伍面臨着沒有美觀的展示材料的時候,我身上的正義感突然爆發,驅使着我在淩晨四點的宿舍中,完成了一次又一次的視訊制作。
哪些不足:
- 時間的安排能力:我記得我曾經說過一句,DDL是唯一生産力。我也忘記這句話是我從哪裡聽來的了。。。但是這句話在我身上得到了良好的展現。因為我是一個機器喜歡拖DDL的人。每次的任務都等到最後才完成,曾經導緻團隊的資料集不足的情況。在這裡我要向我們隊伍裡的大哥表達一下歉意!
2)總結這門課程的實踐總結和給你帶來的提升,包括以下内容:
1、統計一下,你在這門軟體工程實踐中,完成了多少行的代碼:
- 總和不超過3000行,個人作業和結對程式設計的代碼量不是很大,加上最後被配置設定到了資料組,幾個簡單的爬蟲腳本。并沒有很大的代碼量。可以說是硬傷了- -。
2、軟工實踐的各次作業分别花了多少時間?(做一個清單)
作業編号 | 作業内容 | 時間/h |
---|---|---|
一些QA | 3 | |
1 | 個人作業 - 詞頻統計 | 22 |
2 | 結對作業 - 原型設計 | 5 |
結對作業 - 編碼 | 20 | |
4 | 團隊展示等前期作業 | |
需求分析報告 | 10 | |
6 | 課堂實戰 - UML | |
7 | 抽獎系統 | |
8 | Alpha沖刺階段 | 110 |
9 | 福大助手測評 | |
Beta沖刺階段 | 70 | |
11 | 課程總結 | |
總計 |
3、哪一次作業讓你印象最深刻?為什麼?
- 當然是Alpha版本沖刺啦,隊友之間怼的最兇的一段時間,同時也是戰友感情最深的一段時間。
4、累計花了多少個小時在軟工實踐上?平均每周花多少個小時?同時貼出開篇部落格“你打算平均每周拿出多少個小時用在這門課上”的回答
- Alpha沖刺那段時間每天都至少要花三四個小時吧,有時候一整天都花在上面。Beta階段就舒服一些,但整個課程下來的話也有平均每周20小時妥妥的。(一個不負衆望的數字)
- 當初的回答:
期待自己可以真正的寫出一款有用的滿足自己内心期待APP,增加自己的代碼量,還有就是結識一群夥伴。投入時間的話,說實話自己對這個東西也沒有一個明确的概念,但是這門課的優先級應該是比較高的,應該算是A部落客[3]所說的“A類”事情。
5、學習和使用的新軟體
- Xcode
- Final cut pro X
- Adobe AE
- Adobe PS
- Pytohn3.0
6、學習和使用的新工具
- 墨刀
- GitHub
- ProcessOn
- StarUML
- visual studio
7、學習和掌握的新語言、新平台
- python3.0
- shell
- Mac OSX
8、學習和掌握的新方法
- 單元測試
- 代碼覆寫率
- 代碼性能分析
- Python爬蟲知識
- YOLO
- 燃盡圖
9、其他方面的提升
- 個人的審美,視訊制作,PPT制作方面得到的提升。
- 我覺得自己的韌性得到了提升,面對繁重的學業壓力和軟工任務。居然能抗的下來,在這裡也要給班級裡每一位堅持下來的同學點贊!
- 熬夜爆肝- -。
- 為人處世的能力,與人溝通的藝術。
二、寫下屬于自己的人月神話——個人或結對或團隊項目實踐中的經驗總結+執行個體/例證結合的分析
經曆了整整一個學期的軟工實驗,我覺得團隊間的溝通和讨論是最重要的。我們團隊就因為溝通不夠的問題造成了一些完全可以避免的麻煩。最經常發生的事情就是前後端的對接問題。因為後端沒有接觸過前端,是以後端不知道前端要的接口是怎樣的,後端按照自己的想法寫出了接口,因為一開始前後端沒有進行過交流,是以寫出的接口也是不符合要求。還有就是評論資料的格式,由于沒有事先的溝通,導緻我們組在資料格式化方面浪費了很多時間。
三、對下一屆實踐的建議,或者對于開學初的你,對于大一的你,對于開學初的我,對于同期的TA們,對于後來的學弟學妹:
1)你有什麼想建議、告知和期許想要告訴他們呢?
對開學初的我: 軟工雖苦,且行且珍惜。ps:霸王安排一下:D
對大一的我: 能不熬夜的時候千萬别熬夜!!不必要的熬夜之後都是血的教訓,切記切記,血條要攢着給大三,因為大三會有一門軟工,還有兩天一門的考試!!!!
對學弟學妹:聽說你們軟工必修???
2)特别地,特别地,下一屆要不要中途換隊員(強制的、徹底的從一隊換到另一隊)?
我覺得沒必要強制。如果一個組經過較長時間的磨合,突然的換隊員可能會是一道晴天霹靂!但是我内心你還是很想看到他們絕望的眼神hhhhhh
3)身在一個格外大的班級,競争強勁,你認為一個組的人數應當在多少比較合适?
8-10人吧,按這學期的人數劃分就很合理了。人數不能過多,也不能太少,太少的話每個人的工作量太大,如果人太多的話,可能會出現部分成員劃水吧
4)個人/結對/團隊作業應該控制在怎樣的規模?
要根據實際情況來吧,盡量不要與考試沖突,這學期真的被這門課給搞得頭昏腦脹了!!
5)這學期下來,你最感謝的人是誰?有什麼話想要對TA說呢?
董鈞昊同學吧,合作多次的好夥伴。在這次軟工實踐中他給予了很多的幫助,也容忍了我多次的劃水hhhh
四、分析一下自己所處的團隊
軟體工程實踐是大學裡少有的認真的團隊協作經驗。《建構之法》上說團隊的發展有幾個階段,你的團隊都經曆過麼,最後到達了“創造”階段了麼?(參考《建構執法》第17章 人、績效和職業道德)
√ 萌芽階段:大家剛開始的時候就已經認識了,萌芽階段應該是很短了
√ 磨合階段:慢慢暴露自身的缺點,進度慢、做事拖拉等。隊内也有了一些抱怨的聲音,好在隊長的調節之下,負能量也沒有在隊内擴散。
√ 規範階段:這個時候分工明确,大家各做各的事情,其實我覺得隻有開發組的隊員在工作,實際上這時候也隻需要開發組的隊員進行開發了。
√ 創造階段:“高度自治”、“效率達到巅峰”
整個步調其實還是蠻穩的,規範也定的比較早,是以雖然在磨合和規範階段有來回轉換幾次,但最後還是可以說是達到的創造階段的~
五、怎樣證明你學會了軟體工程
1)研發出符合使用者需求的軟體
PM有公開釋出在Github,不過暫時使用者不怎麼多,後期可能會增加宣傳力度,釋出到安卓平台,基本完成
2)通過一系列工具,流程,團隊合作,能夠在預計的時間内釋出 “足夠好” 的軟體有項目規劃/需求/設計/實作/釋出/維護,有定時的進度釋出 ; 而不是:通過臨時熬夜,胡亂拼湊,大牛一人代勞,延遲傳遞等方式糊弄
團隊在燃盡圖的幫助下,團隊進度在有條不紊的推進。其中團隊交流方面我覺得存在一定的問題,其他都基本完成。
3)并且通過資料展現軟體是可以維護和繼續發展的。 而不是 找不到源代碼,代碼無文檔,代碼不能編譯,沒有task/bug 等項目的發展資料
基本完成,在軟工過程中形成了許多高品質的文檔。
4)對着這個檢查表:http://xinz.cnblogs.com/p/3852177.html 檢查一下,自己如果去企業面試,這些常見的問題是否都能回答,并在此總結。
大部分都不能回答,看來我的水準離一個标準的程式員還是有很大差距的hhh