軟工實踐總結
一、請回望暑假時的第一次作業,你對于軟體工程課程的想象
1)對比開篇部落格你對課程目标和期待,“希望通過實踐鍛煉,增強計算機專業的能力和就業競争力”,對比目前的所學所練所得,在哪些方面達到了你的期待和目标,哪些方面還存在哪些不足,為什麼?
達到的期待和目标
和團隊的人一起完成了一個小程式
存在哪些不足
表達能力,ppt示範是門藝術
代碼規範不好
還有很多語言和算法沒學啊
2)總結這門課程的實踐總結和給你帶來的提升,包括以下内容:
1、統計一下,你在這門軟體工程實踐中,完成了多少行的代碼;
2315
2、軟工實踐的各次作業分别花了多少時間?(做一個清單)
序号 | 作業名 | 耗時(分鐘) |
---|---|---|
1 | 第一次作業·準備 | 40 |
2 | 第二次作業·個人項目 | 200 |
3 | 第三次作業·結對項目1 | 240 |
4 | 第四次作業·團隊展示 | 60 |
5 | 第五次作業·結對作業2 | 480 |
6 | 第六次作業·團隊選題報告 | 300 |
7 | 第七次作業·需求分析報告 | 610 |
8 | 第八次作業·項目UML設計(團隊) | 730 |
9 | 團隊現場程式設計實戰(抽獎系統) | 550 |
10 | alpha沖刺 | 20天 |
11 | 第十一次作業·Alpha 事後諸葛亮(團隊) | 250 |
12 | BETA 版沖刺前準備(團隊) | 120 |
13 | beta沖刺 | 14天 |
14 | 第十二次作業·Beta答辯總結 | 180 |
3、哪一次作業讓你印象最深刻?為什麼?
alpha沖刺。
當時為了可以在deadline之前可以做出可用的版本,團隊的成員每天晚上都會在一起敲代碼趕進度四五個小時,有兩次因為太遲門鎖了,就有了我們獨特的FQ經曆。
4、累計花了多少個小時在軟工實踐上?平均每周花多少個小時?同時貼出開篇部落格“你打算平均每周拿出多少個小時用在這門課上”的回答
從之前的進度表統計,累計軟工花掉670個小時,平均每周37.2222小時 (按照18周)
5、學習和使用的新軟體;
微信web開發工具
Axure RP 8
Anaconda
6、學習和使用的新工具;
winscp、xshell、 ssr 、xming 、Andrea Mosaic 、Teamviewer等
7、學習和掌握的新語言、新平台;
python、html 、css、php
8、學習和掌握的新方法;
任務驅動學習,學習過程中自己要學會Google(或者百度),學會過濾網上的資料。
還有看一些自學網站的教學,有助于了解
9、其他方面的提升。
團隊的溝通協作,耐力,耐心等
二、寫下屬于自己的人月神話——個人或結對或團隊項目實踐中的經驗總結+執行個體/例證結合的分析
軟工實踐這門課給我真切的體會就是一個積極的團隊會激發每個隊員的學習欲望,這是一種改良性循環
整個學期做下來,有很多收獲,也有很多遺憾,有很多經驗教訓都是血淋淋的
首先項目定位:先定好核心功能,再往外擴散。我自己當時做算法沒有做到這點,後面效果也不是很好。
其次團隊溝通:團隊之間的溝通非常重要,前端與後端對接,資料格式哪裡錯了,op名是什麼?還有就是PM群組員的溝通,如何做到組員都能及時完成任務。溝通,當然也會營造比較好的團隊氣氛,隊友之間敢搶也好
記錄與規範:雖然我覺得我們團隊的寫作還算ok,但從代碼規範和開發文檔上,我們小組還有很長的路要走。
- 代碼規範:最基本的縮進(4空格?),命名(駝峰式或下劃線式)等等。盡可能做到你的代碼在閱讀的時候像是一篇英文小短文一樣!
- 開發文檔:開發文檔包括很多,比如:需求分析,,使用者使用手冊,資料庫文檔等等,都是需要團隊在開發過程中有意識得記錄!
三、對下一屆實踐的建議,或者對于開學初的你,對于大一的你,對于開學初的我,對于同期的TA們,對于後來的學弟學妹:
1)你有什麼想建議、告知和期許想要告訴他們呢?
我不是天生強大,我隻是天生要強
軟工實踐好好學,可能頂過之前一年所學
2)特别地,特别地,下一屆要不要中途換隊員(強制的、徹底的從一隊換到另一隊)?
假設依舊是一個90+人數的大班
Absolutely NO,個人不是很喜歡換隊這種做法
3)身在一個格外大的班級,競争強勁,你認為一個組的人數應當在多少比較合适?
5個人,5個人做一個項目其實不多不少.而且既然強調競争,那麼組數越多,競争就越激烈!
4)個人/結對/團隊作業應該控制在怎樣的規模?
1:2:7的比例,但是希望去掉alpha和beta沖刺部落格送出次數
5)這學期下來,你最感謝的人是誰?有什麼話想要對TA說呢?
我選擇感謝我自己,自己能堅持住真的不容易。辛苦了,LZM
四、分析一下自己所處的團隊。軟體工程實踐是大學裡少有的認真的團隊協作經驗。《建構之法》上說團隊的發展有幾個階段,你的團隊都經曆過麼,最後到達了“創造”階段了麼?(參考《建構執法》第17章 人、績效和職業道德)
團隊發展大緻為萌芽階段、磨合階段、規範階段、創造階段這四個階段。
萌芽階段:團隊初期核心成員隻有我和劉浩等隊員的時候,就像繼續找人一起做
磨合階段:在項目準備階段完成,就要進行實戰時,團隊有人跳槽了,團隊人員進行了第一次的調整;
規範階段:後面臨近DDL,我發現分工更明确,一切變得盡然有序,每個人都在完成自己的部分;
創造階段:我們整個團隊的成員每個晚上都呆在雙創實驗室敲代碼啊,該界面啊,标資料,跑算法等等/
五、怎樣證明你學會了軟體工程?
1)研發出符合使用者需求的軟體
已經開發出了功能完整的基于目标檢測的餐飲自助點單結算微信小程式以及配套的商家端微信小程式(待完善),但是因為功能涉及購物車支付,上線該小程式需要企業擔保以及電信業務增值許可證,目前已經做到有企業擔保但是許可證明在難以擷取,是以目前僅僅在内部成員體驗測試使用。![]()
軟工實踐總結
2)通過一系列工具,流程,團隊合作,能夠在預計的時間内釋出 “足夠好” 的軟體
有項目規劃/需求/設計/實作/釋出/維護,有定時的進度釋出 ; 而不是: 通過臨時熬夜,胡亂拼湊,大牛一人代勞,延遲傳遞等方式糊弄
3)并且通過資料展現軟體是可以維護和繼續發展的。
github有源碼
4)對着這個檢查表:http://xinz.cnblogs.com/p/3852177.html 檢查一下,自己如果去企業面試,這些常見的問題是否都能回答,并在此總結。
有太多并不能完整的回答出來,模模糊糊的
六*(選做)、閱讀軟體工程中關于代碼品質的的經典論文,從下列文獻中選擇一篇或若幹篇,結合自己的實際做一個閱讀筆記(例如,自己寫的代碼品質如何,是不是一個大泥球,如何衡量自己代碼的品質)?從以下參考論文中選擇一篇或若幹篇:
參考論文文獻:
[1] Stamelos I, Angelis L, Oikonomou A, et al. Code quality analysis in open source software development[J]. Information Systems Journal, 2002, 12(1): 43-60.
[2] Boehm B W, Brown J R, Lipow M. Quantitative evaluation of software quality[C]//Proceedings of the 2nd international conference on Software engineering. IEEE Computer Society Press, 1976: 592-605
[3] Samoladas I, Stamelos I, Angelis L, et al. Open source software development should strive for even greater code maintainability[J]. Communications of the ACM, 2004, 47(10): 83-87
七、個性發揮,包括圖文、照片和創意等
别趕不上野心
别辜負了努力
共勉