當前位置:文思屋>社會工作>實習報告>

關於軟體工程實習總結範文

文思屋 人氣:1.3W

軟體工程是一門研究用工程化方法構建和維護有效的、實用的和高質量的軟體的學科。它涉及程式設計語言、資料庫、軟體開發工具、系統平臺、標準、設計模式等方面。

關於軟體工程實習總結範文

軟體工程(C編碼實踐篇)是一個非常不錯的學習軟體工程思想方法的實踐性課程,通過一個小小的C語言專案的不斷演化,體現了許多工程化的思想和方法,從而讓我們更加深刻的理解軟體工程理論的內涵。通過跟隨模仿孟寧老師的程式碼實現,從無設計程式碼,模組化設計的程式碼,到可複用的程式碼和回撥函式等介面設計,提高了我們工程化程式碼的編寫能力,讓我們能夠嚴格遵守程式碼風格規範來編寫程式碼。總之,這門線上課程重視實踐,可以使我們對軟體工程有一個直觀感性的認識。個人感覺學了這門課之後受益匪淺。必須點贊!!!

實驗報告目錄:

第一週 課程實驗環境準備

實驗一:寫一個hello world小程式

第二週 程式碼風格規範

實驗二:命令列選單小程式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

學習了支援帶引數的複雜命令,並嘗試使用GNU make來構建和管理自己的工程。

最後分享一下老師上課引用的經典名言警句,與君共勉:

夫事未有不生於微而成於著,聖人之慮遠故能謹其微而治之,眾人之識近故必待其著而後救;治其微則用力寡而功多,救其著則竭力而不能及也。

――資治通鑑

學習完《軟體工程(C編碼實踐篇)》課程後最大的遺憾:

課程非常精緻,但結合之前相關的軟體開發經驗,發現現在太多程式設計師都不能真正理解軟體工程的精髓,希望以後能有更多程式設計師來學習孟老師的課程,夠好好體會一下軟體工程的魅力所在!