软件工程线上课程(C语言实践篇)学习心得总结

林牧 + 原创作品转载请注明出处 + 《软件工程(C编码实践篇)》MOOC课程http://mooc.study.163.com/course/USTC-1000002006

软件工程的理解:

      软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及到程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。在现代社会中,软件应用于多个方面。典型的软件有电子邮件、嵌入式系统、人机界面、办公套件、操作系统、编译器、数据库、游戏等。同时,各个行业几乎都有计算机软件的应用,如工业、农业、银行、航空、政府部门等。这些应用都促进了经济和社会的发展,也提高了工作和生活效率 。同时,软件工程师研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件的一门科学,代码的设计不单单是为了使程序可运行,可实现需要的功能,在代码的规范,设计的规范,模块化思想,线程的安全性,子系统的可重用性上都有所要求。而这门软件工程线上课程(c语言实践篇)正是侧重代码的规范和设计的规范性。

  代码的设计规范就是说代码要简明、易读、无二义性。同时,代码应该没有缩进错误,代码独占一行,代码行内多留空格等。

  代码内部还应该实现模块化,使代码的业务逻辑和数据存储使用不同的源文件实现。

课程实践:

  本次课程共有6次实验,我一共写了6篇实验心得,分别如下:

  • 实验一:写一个hello world小程序

     在linux环境下,编写hello world小程序。了解linux系统的目录结构,学会使用linux的基本命令ls、cd,vi的基本操作,gcc编译程序等。

  • 实验二:命令行菜单小程序V1.0

         学习缩进、命名、注释等代码编排的风格规范。代码风格的原则:简明、易读、无二义性。

  • 实验三:内部模块化的命令行小程序V2.0

         模块化思想,代码的业务逻辑和数据存储之间的分离。在实验二的基础上将系统抽象为两个层级:菜单业务逻辑和菜单数据存储。

  • 实验四:用可重用的链表模块来实现命令行菜单小程序V2.5

         学习接口规范,了解内聚和耦合(讲究高内聚低耦合),通用原则。

  • 实验五:用callback增强链表模块来实现命令行菜单小程序V2.8

        应用callback函数的方法来增加模块通用性,实现信息隐藏。

  • 实验六:将menu设计为可重用的子系统

         学会写Makefile工程文件,学会了使用getopt函数。

 

  实验一把一个menu所有代码都写在main中;实验二中引入链表,实现了代码的业务逻辑和数据存储之间的分离;实验三改造链表,提高了其与源文件的耦合性;实验四继续改造链表使其有可重用性;实验五利用回调函数,回调函数就是调用者调用被调用者,在被调用者执行的过程中,又去执行调用者代码段的过程逻辑;实验六把代码封装成模块,实现menu接口。

     具体代码和实现过程请参考实验报告链接。

实验总结:

       经过两个月的线上线下学习,我了解了软件工程的基本思想,以后在写代码的时候,要随时遵循代码规范。不是一昧的写出大量大量的代码,而是考虑模块化,通用性,接口化,讲究高内聚低耦合等等。

  

 

转载于:https://www.cnblogs.com/irvings/p/6083094.html

你可能感兴趣的:(软件工程线上课程(C语言实践篇)学习心得总结)