天天看點

軟工實踐個人總結

目錄

  • 本次課程對自己的滿意程度
  • 學習掌握的工具和技術
  • 經曆的挫折和困難,解決方式
  • 課程結束的收獲與心得
  • 編碼量
  • 平均花費時間
  • 團隊協作的反思與心得
  • 對于軟工實踐課程及助教工作的建議
  • 你的未來規劃
  • SE_Final_Skill_survey 表格
這個作業屬于哪個課程 https://edu.cnblogs.com/campus/fzu/SE2020
這個作業要求在哪裡 https://edu.cnblogs.com/campus/fzu/SE2020/homework/11605
這個作業的目标 軟工實踐個人小結
學号 031802506

  • 表現還可以吧,80-85 分左右,滿意的地方在于自己還算是比較圓滿地完成了任務,達到了預期,該盡到的職責也有盡到,有些失誤和失職的地方也及時糾正了
  • 作為組長,所帶領的小組的小程式完成度算是挺高的了,基本不存在軟體上的 bug,除了分工和溝通交流的方面還有待改進以外,其他方面都基本達到預期發揮
  • 唯二不滿意給自己扣分:可能是自己比較喜歡鑽牛角尖,隊友寫的代碼用處不大就會大改或者自己重寫,導緻出現新的 bug 需要 debug 好長一段時間,拖延了開發進度,而且還有很多想完善的沒來得完成;另一方面是前面提到的分工和溝通交流方面,由于時間不太充分,會議有時候開的就比較倉促,有些要點就沒溝通清楚,這樣子問題就會留到下一次會議可能才能解決

  • 原型工具:墨刀
  • Vue 的一部分,jQuery 和 bootstrap
  • 測試工具 jmeter、pytest 的學習使用,Postman
  • 微信開發的一部分

  • 客觀問題:呈上四字血書————時間不夠。尤其是一學期的所有大作業都趕上了最後的一兩周。時間管理大師都是熬夜逼出來的。
  • 主觀問題1:jQuery 第一次用來實戰,結果有些頭疼,首先它的 ajax 沒有封裝 json 檔案,最後對所有 json 資料進行 stringify ;以及它在 js 檔案中無法識别$符号,導緻 jQuery 代碼和 html 檔案無法分離,代碼顯得很亂,于是百度了一下找到了一兩個可以解決方案,雖然不能完全分離開,但是已經夠用了;jQuery 在定位 dom 元素的時候有時候會觸及它的使用範圍死角,于是需要額外寫 function 傳入參數來定位該元素。
  • 主觀問題2:前端的 bugs 千奇百怪,需要不斷 console.log 和 alert 一些具體的資料,或者前後端兩邊跑,确認問題究竟是前端還是後端。當然解決方式也很簡單,不熟悉的接口,先自己額外練手寫一段,成功後開始碼代碼,每個代碼塊結束後輸出一下關鍵資料是否擷取/處理成功,然後繼續下一個代碼塊。

  • 累是累了點,不過最後有完成了一個附帶背景管理系統的比較完整的項目,了解到如何進行 web 端的前後端對接和微信小程式的前後端對接,這個是一整個學期下來最大的收獲,以後開發就會有經驗了
  • 精通一門語言還是挺困難的,之前自己簡單的涉獵還不足以支撐自己任意開發,後續還要在更多實戰中才能
  • 寫部落格的結束以後得檢視有沒有問題(之前因為改了改縮進就直接換了一種文本樣式了),以及部落格園自帶一個遠端曆史版本可以回溯

練手的所有代碼:327 行

正式 commit 的前端代碼:1348 行

團隊作業前的編碼量:412 行

總共:2087 行

  • 累計花了 210 個小時左右在軟工實踐上(包括上課時間 21 * 1.5 )
  • 一共持續 14 周,平均每周花 15 個小時左右

  • 完美的分工和心有靈犀的編碼是不可能的,這輩子都是不可能的,隻能靠不斷調節每個人的分工和适當時機開展會議交流讨論來盡可能達到這個目标。在團隊協作初期,作為組長分工方面自己得背鍋,存在了一些比如沒有讓每個人程式設計量飽和的問題,當然這樣子也把核心代碼交給了大佬們處理了,是以最終完成度挺高,是以利弊還真不好說...
  • 組内小白和大佬之間的學習差距處于兩個極端狀态,是以最後以佬帶新的方式可能更适合整個項目的推進,畢竟有些東西就是一個想法+架構=實作的過程,簡單一點撥就會用了
  • 印象裡的站立式會議很嚴肅,但是實際上開得很歡樂,而且也能促進交流;團隊協作的時候極限程式設計效果不錯,隊友為了早點回去睡覺的時候打代碼效率極其得高
  • 資料的規範從一開始就得大家一起制定好,不然後期搜集完再處理小 bug 很麻煩,自動化腳本都處理不完

  • 助教每次都是深夜或者淩晨才看部落格,感覺挺辛苦的,先點個贊吧
  • 對于課程學分和投入不成正比這一點嘛,我覺得會有很多人吐槽哈哈哈,如果再往上提億點學分,天天 997 都行~
  • 希望有一兩節課老師或者助教專門講一下,一個軟體的具體前後端開發架構和對接過程,具體測試需要如何同步開展之類的,最好有個事例,這樣子現場程式設計不慌,大項目起步也會快一些
  • 其實喜歡任務簡單一點,部落格和 Vlog 有時也蠻花時間的
  • 更傾向于 6-8 人的自由組隊,個人感覺和目前的組隊機制的結果差距不大

  1. 考研保研,别卷了别卷了;
  2. 前面有提到過這學期學得很雜,有空需要完善一下本學期學的知識體系和調用的各種架構,不然等下學期開學就忘光啦~
  3. 傾向于做一些個人小項目,自己偶爾練練手,不過能規劃出來的剩餘時間可能已經不多,因為等期末考完大部分時間會勻給 SDN 和 AI。

before the class after the class
Skills/技能 assessment 1..10
Software Engineering(SE)Overall /對軟工整體了解 1 10(上完棟哥的課就得這麼自信)
SE: Requirement (需求分析,典型使用者,場景,創新) 2 4
SE: Project Management (項目管理,spec) 5
SE: Design (架構設計,子產品化設計,接口設計)
SE: Design (效能分析,效能改進)
SE: Implementation (閱讀代碼的能力,實作,單元測試) 6
SE: Test (測試方法、測試工具、測試實踐、代碼覆寫率)
Software Tools (performance tool, version control, work item, TFS)
Code Review/Writing Solid Code (代碼複審/代碼規範/代碼品質)
Programming Language (C/C++/C#/Java) (pick one language) C++ JAVA
App development Web/Mobile/PC (choose one) PC WEB
Task Plan, estimation and Prioritization (計劃任務,估計時間和優先級)
Task Execution (按照品質要求、按期完成任務) 7
Work with others (協同工作,提供回報, 說服别人) 3
Presentation (報告項目狀态,提出想法,寫部落格等)