軟工 · 最終作業 - 軟體工程實踐總結(個人)
一、請回望暑假時的第一次作業,你對于軟體工程課程的想象
1)對比開篇部落格你對課程目标和期待,“希望通過實踐鍛煉,增強計算機專業的能力和就業競争力”,對比目前的所學所練所得,在哪些方面達到了你的期待和目标,哪些方面還存在哪些不足,為什麼?
- 通過軟工實踐,了解了一個産品規範的開發流程,以及細節上的把控,學習到了“規範”的含義。不足之處在于代碼量少,程式設計能力沒有明顯提升,最終産品沒有完成是個遺憾。
2)總結這門課程的實踐總結和給你帶來的提升,包括以下内容:
- 統計一下,你在這門軟體工程實踐中,完成了多少行的代碼
- 共1351行代碼。
- 軟工實踐的各次作業分别花了多少時間?(做一個清單)
作業 | 耗時(h) |
---|---|
作業一 | 1 |
作業二 | 4 |
作業三 | 2 |
作業四 | |
作業五 | 3 |
作業六 | |
作業七 | |
作業八 | |
作業九 | |
作業十 | |
作業十一+Alpha沖刺 | 7 |
作業十二+Beta沖刺 | 8 |
- 哪一次作業讓你印象最深刻?為什麼?
- 現場程式設計那次作業,緊張刺激,現場的氣氛很棒,大家真真正正地在一起程式設計,第一次感受到團隊的氛圍。
- 累計花了多少個小時在軟工實踐上?平均每周花多少個小時?同時貼出開篇部落格“你打算平均每周拿出多少個小時用在這門課上”的回答
- 包括學習時間應該在60-70個小時左右,平均每周5個小時
針對上述問題,你對這門課的期待是什麼?你打算平均每周拿出多少個小時用在這門課上,以達成你的期待以及你的目标?
- 我期待能夠和隊友共同完成一個滿意的作品,友情學習雙豐收!具體多少個小時說不準欸,看自己的悟性和學習能力啦。
- 學習和使用的新軟體;學習和使用的新工具;學習和掌握的新語言、新平台;學習和掌握的新方法;
- 新軟體和新工具有:Axure8、Android Studio、Eclipse、Visual Paradigm、Mockplus
- 學習的新語言:java、html\css\js
- 新平台:Android Studio、Eclipse、JetBrains WebStorm
- 學習的新方法:單元測試、封裝DLL、增量設計開發
- 其他方面的提升
- 與人交往的藝術
- 更加自信
寫下屬于自己的人月神話——個人或結對或團隊項目實踐中的經驗總結+執行個體/例證結合的分析
- 學會溝通、進度透明。團隊項目開發的時候大家各幹各的事情,導緻後期工作沒辦法對接,隻能打回去重做,費時費力。布置的任務隻是說“差不多差不多”,其實差的還很多,進度的不透明也是項目失敗的很大原因。
對下一屆實踐的建議,或者對于開學初的你,對于大一的你,對于開學初的我,對于同期的TA們,對于後來的學弟學妹:
- 你有什麼想建議、告知和期許想要告訴他們呢?
- 多少付出多少收獲,對于真正想學東西的人,軟工不會讓你失望
- 特别地,特别地,下一屆要不要中途換隊員(強制的、徹底的從一隊換到另一隊)?
- 是一個很好的想法,整個實踐課奉行的就是靈活開發,換隊員可以讓大家适應變化,利大于弊。同時在不同的團隊中擔任不同的角色,學到的東西也更加全面,++就是作業評分機制要好好考量一下,有大學問++
- 身在一個格外大的班級,競争強勁,你認為一個組的人數應當在多少比較合适?
- 8個人應該是一個畢竟剛好的人數,多一個人管理的難度就上番了。團隊展現也不會很好
- 個人/結對/團隊作業應該控制在怎樣的規模?
- 2:4:4
- 這學期下來,你最感謝的人是誰?有什麼話想要對TA說呢?
- 最感謝的人是蔡子陽了,在個人和結對作業的時候就已經在幫助我了,團隊項目更是中央空調,很辛苦。
- 想說的話:你永遠是爸爸的好兒子!
分析一下自己所處的團隊。軟體工程實踐是大學裡少有的認真的團隊協作經驗。《建構之法》上說團隊的發展有幾個階段,你的團隊都經曆過麼,最後到達了“創造”階段了麼?(參考《建構執法》第17章 人、績效和職業道德)
- 我覺得我們團隊處于磨合階段。團隊成員基本相識,能夠讨論協作規範細則但沒有形成規範文檔。集體榮譽感和個人的能力都不足。
怎樣證明你學會了軟體工程?
工程師能力自我評價表
類别 | 具體技能和面試問題 | 現在的回答(大三) |
---|---|---|
語言 | 最拿手的計算機語言之一,代碼量多少? | C++,7000行 |
最拿手的計算機語言之二,代碼量多少? | html,3000行 | |
軟體實作 | 你有沒有在别人代碼的基礎上改進 | 有 |
你是怎麼讀懂别人的代碼的 | 看注釋看注釋看注釋 | |
你采取了什麼方法來保證新功能不會影響原來的功能 | 規範封裝、內建測試 | |
你在開發中遇到的最複雜的bug是什麼,你是如何解決的?這個bug出現的原因是什麼,你在将來應該怎麼避免bug再出現? | 版本的不比對問題導緻無法整合,打回去重做,在做之前寫好規範 | |
軟體測試 | 你如何測試自己寫的代碼 | 使用VS自帶的測試工具 |
你如何測試别人寫的代碼 | ||
你掌握了多少種測試工具和方法 | 一種 | |
你寫過測試工具嗎 | 沒有 | |
你如何對一個網站進行壓力測試和效能測試 | 未接觸過 | |
你如何測試一個軟體的人機界面(UX/UI) | 在使用過程中測試 | |
效能分析 | 你寫過的最複雜的代碼是什麼 | 沒寫過什麼很複雜的代碼。。。 |
你是如何測量和改進它的效能的,用了什麼工具,如何分析的 | 用VS的分析工具,分析程式各部分程式的耗時情況,再優化 | |
需求分析 | 你做過多少個有實際使用者的項目,使用者最多有多少,你的項目有什麼創新的地方 | 無 |
行業洞察力 | 你最感興趣的領域是什麼 | 人工智能 |
這個領域過去十年經曆了哪些創新 | 無人駕駛、醫療機器人 | |
你分析過這個領域前十的産品嗎?請分析一下它們的優劣 | 沒分析過 | |
你要進入這個領域應該如何創新 | 廣泛調查人民需求 | |
項目管理 | 你參與過項目管理嗎 | 沒參與過 |
軟體設計 | 你做過構架設計,子產品化設計,接口設計嗎? | |
品質意識 | 你是怎麼做代碼複審的 | 規範格式、規範接口、規範子產品 |
工具/社群 | 你在各種開發平台都使用過什麼開發工具 | VS,eclipse,JetBrains WebStorm |
自己寫過什麼工具來改進工作效率 | ||
給社群貢獻過什麼工具和代碼,github有分享代碼嗎 | ||
你的技術部落格堅持了多久,讀者最多的是哪一篇 | 留下了沒有技術的眼淚 | |
團隊協作 | 請描述你在項目中如何說服同伴采用你提出的更好的解決方案,或者你如何聽取了别人的一件,改進了自己的方案 | 現場分析讨論 |
你如何說服懶惰的同伴趕緊工作,實作團隊目标 | 破口大罵 | |
理論素養 | 你上過什麼數學,計算機或其他理論課 | 高等數學,離散數學,機率論,數值分析,資料結構與算法,編譯原理等 |
請舉出具體的例子,說明你學到的理論知識如何幫助你解決實際問題 | 資料結構與算法的搜尋算法解決了路徑問題 | |
自我管理 | 全年級你專業排名多少? | 36 |
你剛入學帶現在的排名有變化嗎? | 退步了很多 | |
如何解釋你的排名的變化 | 變得随意了 |