2017软件工程实践总结
一、請回望暑假時的第一次作業,你對于軟件工程課程的想象
1)對比開篇博客你對課程目標和期待,“希望通過實踐鍛煉,增強計算機專業的能力和就業競爭力”,對比目前的所學所練所得,在哪些方面達到了你的期待和目標,哪些方面還存在哪些不足,為什么?
回想第一次作業時對軟工實踐的期待,想必大多數人和我一樣都是抱著“參與第一”的態度,也會躍躍欲試,但也不奢求會做出怎么樣了不起的軟件,總體來說軟工實踐基本符合開學初本人對其的期待------一次接近業界真實流程的開發體驗。在這其中,有守得云開見月明的欣喜,也有揮散不去的怨聲載道,我想這恰恰是這個實踐最真實的意義。
- 滿意的方面:在本次軟工實踐方面,本人被分配在了算法組,負責識別算法的神經網絡部分。之前雖然有一些在這方面的基礎,但是并沒有親自參與設計和調試模型,所以在這次的任務對我來說也是一次全新而艱巨的任務。識別模型到最后順利地完成了,也做到了自己滿意的正確度。通過這次的經歷,最大的收獲是對模型的認識更加宏觀,能夠以更高的角度來看待問題。
不足的方面:,雖然在這其中由于硬件條件不足的客觀原因,最后的結果和最初的設想存在偏差,最直接具體的表現就是原本打算使用的近九十萬張圖的關于3755個字的訓練集在實際訓練過程中由于本機性能不夠只能不斷簡略,最后只能選擇生活中使用頻率最高的500個字。最初時忽略了硬件條件的限制,是一大疏忽,也是一大收獲,對以后的相關的開發提前上了一課。再則是對服務器的架設,由于對服務器的不了解和神經網絡本身對環境極嚴格的特點,導致到最后把原來在本機訓練好的模型架設在服務器上時遇到困難重重,這是在實際開發過程中的一大教訓-------要充分了解開發平臺和架設平臺的異同和軟件的兼容性。
2)總結這門課程的實踐總結和給你帶來的提升:
1、統計一下,你在這門軟件工程實踐中,完成了多少行的代碼;
- 2、軟工實踐的各次作業分別花了多少時間
| 軟件工程實踐2017第一次作業 | 3 |
| 軟件工程實踐2017第二次作業 | 4 |
| 結隊項目——第一次作業 | 7 |
| 團隊第一次作業——團隊展示 | 0.05 |
| 結對項目——第二次作業 | 15 |
| 團隊作業—選題報告 | 2 |
| 個人技術博客(α) | 4 |
| 團隊作業—需求規格說明書 | 3 |
| 團隊作業—預則立&&他山之石 | 1 |
| 團隊作業——系統設計 | 4.5 |
| 團隊作業——UML設計 | 3 |
| 團隊作業——隨堂小測(同學錄) | 8 |
| 個人作業——軟件產品案例分析? | 7 |
| 團隊項目課堂展示 | 0.5 |
| 團隊項目測試報告與用戶反饋 | 1 |
| 團隊Alpha博客鏈接目錄 | 0.05 |
| 團隊事后諸葛亮博客 | 2 |
| Beta沖刺博客集合貼 | 3 |
| 個人作業——軟件工程實踐總結作業 | 4 |
| Alpha和beta階段代碼 | 100 |
3、哪一次作業讓你印象最深刻?為什么?
最深刻的要數α沖刺,感受到被deadline支配的恐懼和無能為力,每天在課業和deadline之間徘徊往回,當然還有和團隊隊友的交流協作。- 4、累計花了多少個小時在軟工實踐上?平均每周花多少個小時?
這個我覺得真的很難說出一個準確的數字,沖刺的時候廢寢忘食相信是大多數同學的常態,平均每周花35個小時。 5、學習和使用的新軟件;
openCV,tessract,墨刀
- 6、學習和使用的新工具;
python相關包如tensorflow ,keras,theano
github,墨刀
- 7、學習和掌握的新語言、新平臺;
都是在之前學習的基礎上(python , IDE:spyder),沒有新語言和平臺
- 8、學習和掌握的新方法;
閱讀論文來提升模型的性能;在stackflow上尋找解決方案。
- 9、其他方面的提升。
心理素質提升了好多,心理耐受力強了不是一點點
二、寫下屬于自己的人月神話——個人或結對或團隊項目實踐中的經驗總結+實例/例證結合的分析
經驗總結:最大的經驗就是一定要在項目開始前就對項目的各方各面盡力做最全面最細節的分析和安排,修正錯誤的成本隨著項目進度的推進不斷提高,與其在后期花大量時間彌補初始的疏忽,不如在最初做最好的安排,但變更也是無法避免,從容應對也是必修課
比如在團隊項目最初的設想中,我們并沒有打算設立服務器,打算將模型直接嵌套進安卓中,一時的想當然導致了這樣荒謬的錯誤,現在想來直覺得不可思議,在后期安卓和算法組結合時才發現行不通,大大滯后了項目的進度,不得不在本就緊張的安排中,花費時間和人力去架設服務器,對整個團隊造成巨大的不良影響。
三、對下一屆實踐的建議,或者對于開學初的你,對于大一的你,對于開學初的我,你有什么想建議和告知的呢?對于后來人的期許。 特別地,特別地,下一屆要不要中途換隊員?
---
如果你沒時間或者目標研究生甚至出國,不要選實踐;如果你不想從事開發相關的職業,不要選實踐;如果你想高績點,不要選實踐。最后,必修讓上面這些話毫無意義。
但是認真地說,軟工實踐給予了同學們一個全新的機會去看待自己正在學習的學科,我的建議是去嘗試,只要經歷了才知道適合和不適合,才能了解這個行業最核心的人員------程序員是什么樣的工作節奏。這門課是好是壞,也許見仁見智,但是鼓勵的是一定要去嘗試。
對于中途換隊員這種事,還是不要換的好,雖然可以理解老師想讓我們體驗職場的不測風云,但是一個初步成型的團隊這樣的變動無疑是巨大的,對學生來說只會徒增對項目的負擔,更甚是對課的抵觸。退一步來說,這樣的體驗對以后的職場生活并無益處,試想,一個剛入職場的程序員,是否會因為有這樣的一個經歷而能更好地應對突如其來的變故?面對這樣的事,還能想起之前軟工實踐中的小小的體會?再退一步,這樣的變化和實際上變故一比,實在是小巫見大巫,不值一提。綜上所述,我覺得中途換隊員的好處和帶來的負面影響相比,實在得不償失。。
四、分析一下自己所處的團隊。軟件工程實踐是大學里少有的認真的團隊協作經驗。《構建之法》上說團隊的發展有幾個階段,你的團隊都經歷過么,最后到達了“創造”階段了么?
構建之法中提到的團隊發展有4個階段,分別是萌芽階段,磨合階段,規范階段和創造階段。我覺得最后我們的團隊到達了“創造階段”。從最開始的組隊,到初步的協作討論,再到熟悉磨合,到現在,存在了幾個問題:
- 對時間的分配不夠精確,導致到最后趕工現象嚴重
- 對于代碼的規范沒能夠一直堅持下去,導致交接時理解出現問題
五、怎樣證明你學會了軟件工程?
1)研發出符合用戶需求的軟件
在Alpha階段的時候,我們已經把我們的軟件推薦給我們班的人使用了,并積極收集bug反饋和建議
2)通過一系列工具,流程,團隊合作,能夠在預計的時間內發布 “足夠好” 的軟件
3)并且通過數據展現軟件是可以維護和繼續發展的。
轉載于:https://www.cnblogs.com/qiwenzhou/p/8120345.html
總結
以上是生活随笔為你收集整理的2017软件工程实践总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 序列二次规划——SQP
- 下一篇: 2 微信公众号开发 服务器配置 Tok