軟件工程(C編碼實(shí)踐篇)
MOOC課程http://mooc.study.163.com/course/USTC-1000002006
潘夢澤
SA17225263
學(xué)習(xí)心得
用自己的話簡要總結(jié)您對軟件工程的理解及學(xué)習(xí)軟件工程(C編碼實(shí)踐篇)的心得
在工作中,我通過實(shí)際經(jīng)驗(yàn)對軟件的開發(fā)方式和框架構(gòu)造有了一些自己的理解,有一些已經(jīng)在日常工作中得以運(yùn)用,還有一些還處在萌芽階段。
通過MOOC的學(xué)習(xí),我才明白這些都和軟件工程相關(guān)。軟件工程大致的內(nèi)容就是在整個(gè)開發(fā)軟件的過程中的一些規(guī)則。從市場調(diào)查、需求的制定、時(shí)間節(jié)點(diǎn)的確定,到設(shè)計(jì)模式、軟件具體開發(fā)的執(zhí)行、軟件測試、迭代維護(hù)等等,軟件工程都有一些講究。而在本門課程中,我們主要是在軟件開發(fā)過程中學(xué)習(xí)了軟件工程,比如接口的封裝、信息的隱藏和線程安全等。
實(shí)驗(yàn)報(bào)告
實(shí)驗(yàn)一:寫一個(gè)hello world小程序
- 實(shí)驗(yàn)報(bào)告:https://www.shiyanlou.com/courses/reports/1290109
- 代碼鏈接:https://github.com/panmengze1991/sse-homework/tree/master/lab1
- 實(shí)驗(yàn)收獲:通過該實(shí)驗(yàn)初步了解了linux的基本操作,編譯并運(yùn)行了C語言的入門程序,也熟悉了實(shí)驗(yàn)樓的用法。同時(shí)也在實(shí)驗(yàn)報(bào)告中熟悉了Markdown的語法。
實(shí)驗(yàn)二:命令行菜單小程序V1.0
- 實(shí)驗(yàn)報(bào)告:https://www.shiyanlou.com/courses/reports/1291114
- 代碼鏈接:https://github.com/panmengze1991/sse-homework/tree/master/lab2
- 實(shí)驗(yàn)收獲:本實(shí)驗(yàn)實(shí)現(xiàn)了一個(gè)基本命令行菜單的功能,讓我們了解了shell等程序的基本運(yùn)行邏輯。并規(guī)范了代碼的寫法,增強(qiáng)了工程化的能力。
實(shí)驗(yàn)三:內(nèi)部模塊化的命令行菜單小程序V2.0
- 實(shí)驗(yàn)報(bào)告:https://www.shiyanlou.com/courses/reports/1293338
- 代碼鏈接:https://github.com/panmengze1991/sse-homework/tree/master/lab3
- 實(shí)驗(yàn)收獲:本實(shí)驗(yàn)通過模塊化實(shí)現(xiàn)了一個(gè)基本命令行菜單的功能,讓我們初步了解了
.h文件的寫法用法和.c文件如何提取。加深了模塊化的思想,為后續(xù)開發(fā)模塊化程序、更好實(shí)現(xiàn)工程化做了鋪墊。
實(shí)驗(yàn)四:用可重用的鏈表模塊來實(shí)現(xiàn)命令行菜單小程序V2.5
- 實(shí)驗(yàn)報(bào)告:https://www.shiyanlou.com/courses/reports/1295778
- 代碼鏈接:https://github.com/panmengze1991/sse-homework/tree/master/lab4
- 實(shí)驗(yàn)收獲:本實(shí)驗(yàn)通過定義接口和實(shí)現(xiàn)方法、接口的行為,讓我們了解了如何定義和實(shí)現(xiàn)接口,為模塊化設(shè)計(jì)程序打下了基礎(chǔ)。
實(shí)驗(yàn)五:用callback增強(qiáng)鏈表模塊來實(shí)現(xiàn)命令行菜單小程序V2.8
- 實(shí)驗(yàn)報(bào)告:https://www.shiyanlou.com/courses/reports/1298282
- 代碼鏈接:https://github.com/panmengze1991/sse-homework/tree/master/lab5
- 實(shí)驗(yàn)收獲:本實(shí)驗(yàn)通過定義接口和實(shí)現(xiàn)方法、接口的行為,讓我們了解了如何定義和實(shí)現(xiàn)接口,如何豐富接口實(shí)現(xiàn),如何隱藏?cái)?shù)據(jù),為模塊化設(shè)計(jì)程序打下了基礎(chǔ)。
實(shí)驗(yàn)六:第六周沒有實(shí)驗(yàn),是一個(gè)小測驗(yàn)
實(shí)驗(yàn)七:將menu設(shè)計(jì)為可重用的子系統(tǒng)
- 實(shí)驗(yàn)報(bào)告:https://www.shiyanlou.com/courses/reports/1303109
- 代碼鏈接:https://github.com/panmengze1991/sse-homework/tree/master/lab7
- 實(shí)驗(yàn)收獲:本實(shí)驗(yàn)通過完成了menu接口的編寫,讓我們對結(jié)構(gòu)化程序有了更好的了解,在設(shè)計(jì)上可以適度地放出接口,使得代碼的靈活性和健壯性更強(qiáng)。同時(shí)本次實(shí)驗(yàn)調(diào)用了基本庫的幾個(gè)函數(shù),讓我們熟悉了C語言的使用。
總結(jié)
您在學(xué)習(xí)《軟件工程(C編碼實(shí)踐篇)》課程中最大的收獲?學(xué)習(xí)完《軟件工程(C編碼實(shí)踐篇)》課程后您最大的遺憾是什么?
學(xué)習(xí)《軟件工程(C編碼實(shí)踐篇)》課程中最大的收獲是掌握了基本的代碼規(guī)范,初步了解了軟件工程的代碼構(gòu)建思想,掌握了一些基本的C語言開發(fā)方法,增強(qiáng)所寫代碼的易讀性、健壯性和可維護(hù)性。
最大的遺憾是實(shí)驗(yàn)結(jié)束的比較快,感覺鋪開的不是特別廣泛就已經(jīng)結(jié)束了。