陈涛 (SA16225028) 《软件工程(C编码实践篇)》MOOC课程http://mooc.study.163.com/course/USTC-1000002006
课程实验内容列表
实验一:编写一个hello world的小程序
实验 告:https://www.shiyanlou.com/courses/reports/1243967
实验二:命令行菜单小程序
实验 告:https://www.shiyanlou.com/courses/reports/1244694
实验三:内部模块化命令行菜单程序
实验 告:https://www.shiyanlou.com/courses/reports/1245456
实验四:可重用链表模块来实现命令行菜单小程序
实验 告:https://www.shiyanlou.com/courses/reports/1246178
实验五:用callback增强链表模块来实现菜单小程序
实验 告:https://www.shiyanlou.com/courses/reports/1246760
实验七:将menu设计为可重用子系统
实验 告:https://www.shiyanlou.com/courses/reports/1248131
实验代码:http://git.shiyanlou.com/chentao/shiyanlou_cs122
软件工程专业是一门关于如何构建有效、实用、高质量的技术性学科。软件过程为一个为建造高质量软件所需完成的任务的框架,即形成软件产品的一些列步骤,包括中间产品、资源、角色及过程中采取的方法、工具等范畴。软件工程三要素 = 过程+方法+工具。
在设计代码的时候,掌握了模块化的思想,它是降低模块间的耦合模块内的内聚,可重用模块接口的设计使得代码块更加通用。比如在实验三,我们将菜单业务逻辑和菜单数据存储抽象为两个层级。在代码中,我们还要考虑错误处理。因为程序的错误处理要花费到80%的时间,可以采用断言的方式来处理。
可重入的函数不一定是线程安全的;可重入的函数在多个线程中并发使用时是线程安全的,但不同的可重入函数在多个线程中并发使用时会有线程安全问题;不可重入的函数一定不是线程安全的。在处理这些问题时候,我们必须关注是否可以使用互斥锁来解决线程安全问题。
通过暴漏接口的方法实现了对可以单独完成某些功能的子系统的重用;了解strok,getopt函数使用,实现对命令行参数的分割以及选项匹配。
我理解的软件工程就是在开发软件过程中,使用一套科学、工程化的方法,削弱人一些主观的不利因素,使软件性能,可移植,可维护,成本,开发周期达到一种最优的状态。
文章知识点与官方知识档案匹配,可进一步学习相关知识C技能树首页概览114812 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!