天天看點

軟體工程實踐總結

這個作業屬于哪個課程 https://edu.cnblogs.com/campus/fzu/FZUSESPR21
這個作業要求在哪裡 https://edu.cnblogs.com/campus/fzu/FZUSESPR21/homework/12091
這個作業的目标 軟體工程實踐總結&個人技術部落格
GitHub位址 https://github.com/Zmeiting
其他參考文獻

目錄

  • 第一部分 課程回顧和總結
    • 對寒假作業二中列出的五個問題的新看法
      • 1、 P51 瓦茨總結說,軟體領域分為技藝創新的大爆發和堅持不懈的工程工作,而其中工程工作占了90%-95%的比例,那麼剩下的技藝創新具體展現在哪些方面呢?怎麼看出來有技藝創新?
      • 2、 P65 程式設計進行到一半,發現自己原來設計中存在弱點,要解決這個弱點才能避免額外工作,但是如果現在改變設計,會不會讓公司、同僚以為自己能力不行?
      • 3、 P86 結對程式設計雖然能夠不間斷地複審,使代碼品質提高,但是編寫效率明顯下降,要怎麼比較品質和時間哪個更重要?怎麼能夠看出項目是結對程式設計更好還是個人程式設計更好?
      • 4、 P117 當自己想認領某個任務時,發現自己不具備足夠的知識去完成這個任務,而團隊裡面其他成員對這個任務不感興趣時,該怎麼辦?有些人認領的多,有些人認領的少,忙閑不均怎麼辦?
      • 5、 P142 高品質的代碼在當使用者改變了需求,并且這個需求非常模糊時,是否要舍棄掉之前的高品質代碼,選擇重新編寫?
    • 在項目的需求/設計/實作/測試/釋出階段(一共5個階段)中,每個階段收獲最大的知識或能力
      • 需求階段
      • 設計階段
      • 實作階段
      • 測試階段
      • 釋出階段
    • 關于個人項目/結對程式設計/團隊項目的經曆,自己的了解或心得
      • 個人項目
      • 結對程式設計
      • 團隊項目
  • 第二部分 個人技術總結

答:軟體工程有這三個方面的技術要素:軟體工程的方法(開發方法)、工具(支援方法的工具)、過程(管理過程),其中管理過程應該是比較穩定的,《建構之法》後面提到過每個公司都有自己的開發模式和管理模式,是以在這方面創新應該比較少,其次是工具,包括程式設計語言程式設計軟體什麼的,這些一般是由程式設計軟體的開發公司來進行創新更新,而使用者一般不會去創新,最後,最優可能創新的就是方法,如何提高程式運作的效率就在如何寫出高品質的方法。

答:對于公司來講,公司的利益肯定大于自己個人的利益的,是以如果選擇不解決弱點把弱點留給同僚來做的話,不僅讓老闆覺得你能力不行,同僚也會看不起你,倒不如直接坦誠相告,早點解決問題比較好。

答:如果兩個人的程式設計水準都比較高的話,就不需要結對程式設計,因為結對程式設計主要是為了提高代碼品質,而一個人寫出來的代碼已經足夠好了,就不用修改,而如果兩個人水準都比較低的話,還是結對程式設計比較好,這樣能找出對方的錯誤,進而改進

答:任務一定要有人做,倒不如接了這個任務,迫使自己去獲得更多的知識。忙閑不均的時候,比如說有的人已經完成了任務,那這時候也可以進行結對程式設計,剛好有人幫你看看你的代碼有沒有明顯錯誤,但是看得那個人最好不要想修改代碼,因為一眼看過去的肯定沒有程式設計的人更了解,避免代碼亂七八糟,沒有統一風格。

答:我去詢問了已經在軟體公司工作的學姐,雖然她負責的部分不是代碼部分,但是負責與客戶溝通,她說如果客戶需求非常模糊時,不應該急着舍棄,而是先陪着客戶弄清楚他到底想要怎樣的軟體,同客戶讨論協商,在協商過程中比較确定的新的需求就可以開始做了,最後一步一步讓軟體走向成熟。

了解了軟體需求工程的重要性,培養了自己善于發現問題,提出合理的解決方案的能力,在以後的工作和生活當中有更好的溝通能力

此階段中需要根據需求分析的結果,對整個軟體系統進行設計,如系統架構設計、資料庫設計等,學會了設計大概系統架構。軟體設計一般分為總體設計和詳細設計。好的軟體設計将為軟體程式編寫打下良好基礎

将軟體設計的結果轉化為計算機可運作的程式代碼,在程式編碼中必定要制定統一、符合标準的編寫規範,以保證程式的可讀性、易維護性,提高程式的運作效率,在項目中鍛煉具體編代碼能力

在軟體設計完成之後要進行嚴密的測試,一發現軟體在整個軟體設計過程中存在的問題并加以糾正。整個測試階段分為單元測試、組裝測試、系統測試三個階段進行,測試方法主要有白盒測試和黑盒測試,學會了通過測試軟體對項目進行測試,并優化程式

釋出階段,将beta版本的軟體進行釋出,通過問卷等方法了解使用者使用情況,再進行調整

按照作業要求進行個人項目的編寫測試并撰寫部落格釋出,鍛煉了個人完成項目所有流程的能力

不再是一個人的程式設計,學會了與人合作結對程式設計,在結對程式設計中有摩擦有歡樂,同隊友一起完成項目,試一次不錯的經曆

9個人的分工完成一個大項目,體驗了最接近實際的團隊項目開發,因為我們組做的是遊戲,所有組員都對遊戲有着熱情,是以完成項目開發的過程中都是愉悅的。我負責的是地圖素材制作,是以從0美術基礎到能通過ps、Aseprite完成像素遊戲素材的制作,并學會了unity搭建遊戲場景,受益頗多

個人技術總結 https://www.cnblogs.com/zmt-blackpink-JL/p/14926603.html
概述 Unity遊戲開發