1. 程式人生 > 其它 >高階軟體工程實驗總結_SA20225133_程靜

高階軟體工程實驗總結_SA20225133_程靜

一、做過的實驗

1、五大場景玩轉Git

2、以VSCode + gcc工具集進行環境編譯除錯

3、完成專案UML圖

4、實驗驗證軟體中的一些特殊機制

5、正則表示式

二、收穫與感想

1、五大場景玩轉Git

  由於之前沒有在實際工作中使用Git,所以剛開始進行使用時感覺有些困難,但是在不斷摸索和嘗試中漸漸掌握了Git的用法,並感受到了Git的強大。

  Git的版本控制能力極其強大,通過分支、合併、本地以及上傳等操作可以實現對專案版本的清晰控制。

  通過這次實驗,讓我體會到了實際開發工作中的專案管理的流程,對以後實際工作做了一些準備。

2、以VSCode + gcc工具集進行環境編譯除錯

  VSCode是老師強力推薦的一款編輯器,再結合強大的gcc開發工具集可以實現諸多的開發任務。

  • 模組化設計:將系統各部分相互獨立,即關注點分離,高內聚、低耦合;
  • 可重用介面:軟體模組介面,給某一類物件定義公用的介面,對介面的不同實現形成了多個功能不同的類;
  • 回撥函式介面,使用事件驅動方式呼叫,當事件發生時觸發響應的介面執行;
  • 執行緒安全:併發情況下,加鎖保證資料操作的原子性,資料操作結束後對鎖釋放

3、完成專案UML圖

  UML圖是專案開發過程中必不可少的一個設計部分。由於我們組做的是深度學習方面的課題,所以UML圖可能不夠複雜,但也明確了用例直接的關係,如下圖所示:

  

4、實驗驗證軟體中的一些特殊機制

  實際軟體開發過程中是很複雜的需要用到很多特殊的機制,這次實驗讓我們體會到了這些特殊的用法,為我們今後的軟體開發做好了準備。

  • 回撥函式:事件驅動模型下,在某一事件觸發時,觸發回撥函式;
  • 多型:同一種物體的多種狀態,例如一個函式根據傳入的引數個數、型別的不同的多型,某一個類既可以是子類也可以是父類;
  • 閉包:當前函式和周圍狀態的引用相互繫結,例如可以在外函式的末尾返回內部函式,通過內部函式訪問到外函式中的區域性變數;
  • 非同步呼叫:事件驅動模型下,某一個操作的執行並不是同步進行的;
  •   例如網路IO,這是一個非同步操作,非同步操作返回時,觸發回撥函式的執行,典型的實現有primise,async/await;
  • 匿名函式:lamda函式,js、java、c++中都有相關實現;

5、正則表示式

  正則表示式是對字串操作的一種邏輯公式,就是用事先定義好的一些特定字元、及這些特定字元的組合,組成一個“規則字串”,這個“規則字串”用來表達對字串的一種過濾邏輯。

  正則表示式功能非常強大,尤其是在處理字串場景中,而且不區分語言。這次實驗是在VSCode環境中實現的,讓我們熟悉了正則表示式的搜尋和替換操作。

  相信經過對正則表示式的不斷練習,可以提高我們對字串的操作能力,為今後的編碼工作打下良好的基礎。

三、對實驗的評價和建議

  本學期老師修改了課程的要求,增加了幾個實驗,可謂是用心良苦。這幾個實驗都是本課程的核心知識,好好做的好可以收穫很多,在此對老師表示衷心的感謝!

  不過老師若能在檢查實驗後集中講解一下效果可能會更好。