软件工程(C编码实践篇)
MOOC课程http://mooc.study.163.com/course/USTC-1000002006
潘梦泽
SA17225263
学习心得
用自己的话简要总结您对软件工程的理解及学习软件工程(C编码实践篇)的心得
在工作中,我通过实际经验对软件的开发方式和框架构造有了一些自己的理解,有一些已经在日常工作中得以运用,还有一些还处在萌芽阶段。
通过MOOC的学习,我才明白这些都和软件工程相关。软件工程大致的内容就是在整个开发软件的过程中的一些规则。从市场调查、需求的制定、时间节点的确定,到设计模式、软件具体开发的执行、软件测试、迭代维护等等,软件工程都有一些讲究。而在本门课程中,我们主要是在软件开发过程中学习了软件工程,比如接口的封装、信息的隐藏和线程安全等。
实验报告
实验一:写一个hello world小程序
- 实验报告:https://www.shiyanlou.com/courses/reports/1290109
- 代码链接:https://github.com/panmengze1991/sse-homework/tree/master/lab1
- 实验收获:通过该实验初步了解了linux的基本操作,编译并运行了C语言的入门程序,也熟悉了实验楼的用法。同时也在实验报告中熟悉了Markdown的语法。
实验二:命令行菜单小程序V1.0
- 实验报告:https://www.shiyanlou.com/courses/reports/1291114
- 代码链接:https://github.com/panmengze1991/sse-homework/tree/master/lab2
- 实验收获:本实验实现了一个基本命令行菜单的功能,让我们了解了shell等程序的基本运行逻辑。并规范了代码的写法,增强了工程化的能力。
实验三:内部模块化的命令行菜单小程序V2.0
- 实验报告:https://www.shiyanlou.com/courses/reports/1293338
- 代码链接:https://github.com/panmengze1991/sse-homework/tree/master/lab3
- 实验收获:本实验通过模块化实现了一个基本命令行菜单的功能,让我们初步了解了
.h
文件的写法用法和.c
文件如何提取。加深了模块化的思想,为后续开发模块化程序、更好实现工程化做了铺垫。
实验四:用可重用的链表模块来实现命令行菜单小程序V2.5
- 实验报告:https://www.shiyanlou.com/courses/reports/1295778
- 代码链接:https://github.com/panmengze1991/sse-homework/tree/master/lab4
- 实验收获:本实验通过定义接口和实现方法、接口的行为,让我们了解了如何定义和实现接口,为模块化设计程序打下了基础。
实验五:用callback增强链表模块来实现命令行菜单小程序V2.8
- 实验报告:https://www.shiyanlou.com/courses/reports/1298282
- 代码链接:https://github.com/panmengze1991/sse-homework/tree/master/lab5
- 实验收获:本实验通过定义接口和实现方法、接口的行为,让我们了解了如何定义和实现接口,如何丰富接口实现,如何隐藏数据,为模块化设计程序打下了基础。
实验六:第六周没有实验,是一个小测验
实验七:将menu设计为可重用的子系统
- 实验报告:https://www.shiyanlou.com/courses/reports/1303109
- 代码链接:https://github.com/panmengze1991/sse-homework/tree/master/lab7
- 实验收获:本实验通过完成了menu接口的编写,让我们对结构化程序有了更好的了解,在设计上可以适度地放出接口,使得代码的灵活性和健壮性更强。同时本次实验调用了基本库的几个函数,让我们熟悉了C语言的使用。
总结
您在学习《软件工程(C编码实践篇)》课程中最大的收获?学习完《软件工程(C编码实践篇)》课程后您最大的遗憾是什么?
学习《软件工程(C编码实践篇)》课程中最大的收获是掌握了基本的代码规范,初步了解了软件工程的代码构建思想,掌握了一些基本的C语言开发方法,增强所写代码的易读性、健壮性和可维护性。
最大的遗憾是实验结束的比较快,感觉铺开的不是特别广泛就已经结束了。