關於軟體工程的實習總結
總結是在某一特定時間段對學習和工作生活或其完成情況,包括取得的成績、存在的問題及得到的經驗和教訓加以回顧和分析的書面材料,它在我們的學習、工作中起到呈上啟下的作用,讓我們一起認真地寫一份總結吧。總結你想好怎麼寫了嗎?以下是小編為大家收集的關於軟體工程的實習總結,希望能夠幫助到大家。
軟體工程是一門研究用工程化方法構建和維護有效的、實用的和高質量的軟體的學科。它涉及程式設計語言、資料庫、軟體開發工具、系統平臺、標準、設計模式等方面。
軟體工程(C編碼實踐篇)是一個非常不錯的學習軟體工程思想方法的實踐性課程,透過一個小小的C語言專案的不斷演化,體現了許多工程化的思想和方法,從而讓我們更加深刻的理解軟體工程理論的內涵。透過跟隨模仿孟寧老師的程式碼實現,從無設計程式碼,模組化設計的程式碼,到可複用的程式碼和回撥函式等介面設計,提高了我們工程化程式碼的編寫能力,讓我們能夠嚴格遵守程式碼風格規範來編寫程式碼。總之,這門線上課程重視實踐,可以使我們對軟體工程有一個直觀感性的認識。個人感覺學了這門課之後受益匪淺。必須點贊!!!
實驗報告目錄:
第一週課程實驗環境準備
實驗一:寫一個helloworld小程式
第二週程式碼風格規範
實驗二:命令列選單小程式V1.0
第三週基本的模組化設計
實驗三:內部模組化的命令列選單小程式V2.0
第四周可重用模組的介面設計
實驗四:用可重用的連結串列模組來實現命令列選單小程式V2.5
第五週可重用模組的介面設計(callback函式)
實驗五:用callback增強連結串列模組來實現命令列選單小程式V2.8
第六週函式的可重入性(reentrant)及執行緒安全
實驗六:函式的可重入性(reentrant)及執行緒安全
第七週子系統的可重用設計
實驗七:將menu設計為可重用的`子系統
總結部分:
學習《軟體工程(C編碼實踐篇)》課程中最大的收穫:
熟悉了Linux環境下的C語言程式設計開發,瞭解了Vim的基本設定。熟悉了Git命令列的使用;熟悉了函式的複用、程式迴圈等思想;體會到模組化的重要性和精髓,及包容變化的能力:將變化和不變的部分分離。同時我也瞭解到KISS原則、設計與程式碼的一致性、錯誤處理,用資料結構和控制結構來簡化程式碼等一系列重要原則。學習了連結串列的很多基本操作程式碼,同時對在標頭檔案中宣告函式、定義常量的一些基本規則、技巧有所瞭解,進一步加強了程式碼的編寫規範,對程式之間的介面規範化有了初步瞭解。瞭解了callback回掉函式機制,使用此函式可以把呼叫者與被呼叫者分開,所以呼叫者不關心誰是被呼叫者。它只需知道存在一個具有特定原型和限制條件的被呼叫函式。簡而言之,回撥函式就是允許使用者把需要呼叫的函式的指標作為引數傳遞給一個函式,以便該函式在處理相似事件的時候可以靈活的使用不同的方法。瞭解了函式的可重入性與執行緒安全之間的關係:
1、可重入的函式不一定是執行緒安全的;
2、可重入的函式在多個執行緒中併發使用時是執行緒安全的,但不同的可重入函式(共享全域性變數及靜態變數)在多個執行緒中併發使用時會有執行緒安全問題(可能是執行緒安全的也可能不是執行緒安全的);
3、不可重入的函式一定不是執行緒安全的;
1、可重入的函式不一定是執行緒安全的;
2、可重入的函式在多個執行緒中併發使用時是執行緒安全的,但不同的可重入函式(共享全域性變數及靜態變數)在多個執行緒中併發使用時會有執行緒安全問題(可能是執行緒安全的也可能不是執行緒安全的);
3、不可重入的函式一定不是執行緒安全的;
pthread_rwlock_t基本用法
操作相關函式說明
初始化讀寫鎖pthread_rwlock_init
讀取讀寫鎖中的鎖pthread_rwlock_rdlock
寫入讀寫鎖中的鎖pthread_rwlock_wrlock
解除鎖定讀寫鎖pthread_rwlock_unlock
銷燬讀寫鎖pthread_rwlock_destroy
學習了支援帶引數的複雜命令,並嘗試使用GNUmake來構建和管理自己的工程。
最後分享一下老師上課引用的經典名言警句,與君共勉:
夫事未有不生於微而成於著,聖人之慮遠故能謹其微而治之,眾人之識近故必待其著而後救;治其微則用力寡而功多,救其著則竭力而不能及也。