網絡15軟工個人作業5——軟件工程總結
網絡15軟工個人作業5——軟件工程總結
一、請回望開學時的第一次作業,你對于軟件工程課程的想象
1. 對比開篇博客你對課程目標和期待,“希望通過實踐鍛煉,增強計算機專業的能力和就業競爭力”,對比目前的所學所練所得,在哪些方面達到了你的期待和目標,哪些方面還存在哪些不足,為什么?
-
達到的期待和目標:
掌握了墨刀的基本使用方法,學會了如何制作出一個原型; 學習了新的IDE的使用(Qt Designer)和新的語言(QSS),對界面設計的要點和技巧有了更深的認識; 體驗了完成一個項目所需要經歷的基本流程,對今后的生活工作有所幫助; 成功地完成了團隊項目,在項目過程中做出了貢獻,出了自己的一份力,并且得到了大家的認可。 -
不足的方面:
時間的安排能力上還有所欠缺; 對新的語言的掌握沒有很成熟,出現了一些目前還無法解決的問題; 不太有主見,時常等著別人給自己安排任務,牽著鼻子走。
2. 總結這門課程的實踐總結和給你帶來的提升,包括以下內容:
-
1)統計一下,你在這門課程中,完成了多少行的代碼;
大概是7000行左右,不太方便統計。 -
2)軟工的各次作業分別花了多少時間?(做一個列表)
| 序號 | 作業名稱 | 完成日期 | 耗時(小時) |
|---|---|---|---|
| 1 | 軟件工程網絡15個人閱讀作業1-開篇博客 | 2018年03月10日 | 5 |
| 2 | 軟件工程網絡15個人閱讀作業2-提出問題 | 2018年03月18日 | 8 |
| 3 | 軟件工程網絡15-結對編程作業 | 2018年03月25日 | 36 |
| 4 | 軟件工程網絡15個人作業3-案例分析 | 2018年04月01日 | 8 |
| 5 | 軟件工程網絡15個人作業4-Alpha階段個人總結 | 2018年05月19日 | 6 |
| 6 | 軟件工程網絡15團隊作業1-團隊組隊&展示 | 2018年03月25日 | 4 |
| 7 | 軟件工程網絡15團隊作業2-團隊計劃 | 2018年04月08日 | 4 |
| 8 | 軟件工程網絡15團隊作業3-需求分析與設計 | 2018年04月15日 | 10 |
| 9 | 軟件工程網絡15團隊作業4-Alpha階段敏捷沖刺 | 2018年04月27日 | 60 |
| 10 | 軟件工程網絡15團隊作業5-測試與發布 | 2018年05月09日 | 4 |
| 11 | 軟件工程網絡15團隊作業6-alpha階段展示 | 2018年05月09日 | 3 |
| 12 | 軟件工程網絡15團隊作業7-Alpha沖刺之事后諸葛亮 | 2018年05月16日 | 2 |
| 13 | 軟件工程網絡15團隊作業8-Beta階段敏捷沖刺 | 2018年05月31日 | 40 |
| 14 | 軟件工程網絡15團隊作業9-項目驗收與總結 | 2018年06月06日 | 4 |
| 15 | Alpha階段項目復審 | 2018年05月19日 | 2 |
| 16 | Beta階段項目復審 | 2018年06月16日 | 2 |
| 附文:博客園主頁【野原澤君】 |
-
3)哪一次作業讓你印象最深刻?為什么?
印象最深刻應該是Alpha沖刺階段吧,畢竟是第一次進行團隊協作來完成一個項目,一開始選題會議的時候大家都積極發言,最后決定了選題以后都干勁十足!
原本以為是一個學期慢慢開發一個項目的,沒想到還有需求分析、測試、復審之類的事情要做,突然以沖刺的方式來進行,大家都有點方,這樣在安排沖刺的這段時間里的任務就會有很多。
那段時間真的是每天沒課的時候就寫代碼畫界面,都是晚上十一點以后才回宿舍,就是為了能完成每天的工作量,并能如期發布第一個版本,大家都好辛苦啊。
很多時候,做項目寫上一天了,然后就會忘記寫今日總結,還會出現到底哪一天做的事情自己都搞亂了的情況,只能照著碼云的git提交記錄來回憶。HHL同學真的很負責了,每天碼博客、督促我們寫總結,當爹又當媽,所以后期我們決定由他來當任我們項目的PM。 -
4)累計花了多少個小時在軟工上?平均每周花多少個小時?
累計耗時將近200小時,平均每周耗時12個小時。 -
5)學習和使用的新軟件;
- 原型設計軟件:墨刀
- 編碼軟件:Qt Creator、Qt Designer
-
6)學習和使用的新工具;
- 代碼倉庫管理工具:GitHub
- 繪圖工具:SAI
- Markdown博客編寫工具:Visual Studio Code
- 在線gif生成工具:Atool在線工具
【之前用了gif5發現有水印,而且生成圖片的質量不太高,所以不推薦】 - 在線去底工具:BgRemover
【同樣的用過別的工具比如Background Burner等,但是比較了一下發現BgRemover比較好用】 - 在線作圖工具:Process on
【可以多人協作,挺不錯的工具】
-
7)學習和掌握的新語言、新平臺;
- 樣式設計語言:QSS
-
8)學習和掌握的新方法;
- 總覺得很多,但是一下子說不上來。
-
9)其他方面的提升。
- 參與了一個項目的完整流程,對其有所了解;
- 雖然時間安排還是不夠,但是工作效率有所提升了!
- 和他人交流的能力好像加強了很多,思維邏輯也有進步,可能是博客寫多了=-=。
二、寫下屬于自己的人月神話——個人或結對或團隊項目實踐中的經驗總結+實例/例證結合的分析
- 關于個人項目:
要先對整個項目進行框架設計,確定好框架后載進行編程,模塊化編寫,易于項目管理,保證函數之間的獨立性,相互的增刪改不影響,也易于單元測試。 - 關于結對項目:
結對編程時要根據雙方所擅長的領域來決定誰編寫誰復審,這樣子可以有效提高編程效率。 - 關于團隊項目:
在選題的時候要注意,要視情況而定,對既定時間和自己的能力進行權衡再決定好目標任務,否則會出現最后只能完成主要功能的情況;
隊員之間要多多交流,編碼規范一定要注意,不要各做各的導致最后代碼放在一起不兼容,代碼可讀性也低。
三、對下一屆實踐的建議,或者對于開學初的你,對于大一的你,對于開學初的我,你有什么想建議和告知的呢?對于后來人的期許。對于換人機制,有什么樣的建議?
- 對開學初的自己:
團隊項目不是一個學期給你慢慢敲代碼的,還有需求分析、原型設計、項目測試等很多程序,實際的編碼時間其實不太多的,不要定太高的目標;
在項目過程中你會學到很多東西,多了解一些輔助工具,對你很有幫助! - 對后來人的期許:
我在上面寫了很多輔助工具,負責UI設計的同學們可以參考!個人覺得是很好用、很有幫助的;
一定要在項目開始之前學好git代碼倉庫管理,不要把“我不會git”作為你們項目做不好、c**y代碼應付的借口,git很無辜;
寫好的項目一定不要刪除,保留好源代碼,這將是你軟件工程一個學期下來所積累的財富,或許之后會幫助你發家致富;
做有實際用途的,有你們自己的風格的項目!
四、分析一下自己所處的團隊。軟件工程實踐是大學里少有的認真的團隊協作經驗。《構建之法》上說團隊的發展有幾個階段,你的團隊都經歷過么,最后到達了“創造”階段了么?(參考《構建執法》第17章 人、績效和職業道德)
?萌芽階段
?磨合階段
?規范階段
?創造階段
在項目策劃的一開始我們對市面上相同類型的軟件進行了逐一比較,選用了他們的優點作為功能設計的參考,在它們的基礎上添加了看板添加刪除、消息提示條等我們團隊自己的構思。
五、怎樣證明你學會了軟件工程?
1. 研發出符合用戶需求的軟件
必須公開發布,有實際的用戶,一定的用戶量和持續使用量 (3 天后能保持10 - 100個用戶);而不是: 做沒有用戶使用的軟件
2. 通過一系列工具,流程,團隊合作,能夠在預計的時間內發布 “足夠好” 的軟件
有項目規劃/需求/設計/實現/發布/維護,有定時的進度發布 ; 而不是: 通過臨時熬夜,胡亂拼湊,大牛一人代勞,延遲交付等方式糊弄
3. 并且通過數據展現軟件是可以維護和繼續發展的。
而不是找不到源代碼,代碼無文檔,代碼不能編譯,沒有task/bug 等項目的發展資料
請在隨筆中用數據證明上述內容或側重選擇之一。










浙公網安備 33010602011771號