软件工程(C编码实践篇)学习总结

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


对软件工程的理解


我认为,软件工程是对软件项目开发工作的一个规范性指导与管理,目的是帮助我们在有限的成本内完成优秀的软件工程项目开发。

软件的开发工作如同建筑的建设。小型软件开发就好比建造一座小房子,即便是没有学习过建筑的人也可以凭借着自己对于房屋建造的理解盖出来方方正正的模样。而大型软件的开发就好比高楼大厦的建造,需要一个实力强大的团队,从设计、选址到测绘、施工以及最终的交付,均要有着完善的指导方案与严格的技术要求才能完成最终的建设任务。网上流传着一张图片很形象的描述了没有软件工程的指导,软件开发的结果会变成什么样子。

虽然软件工程和土木工程等传统工程项目相比,显得有些抽象,但本质是一样的生产实践工作。所以软件工程是利用工程化的方法,结合软件学科的特点所进行的研究工作。在系统性的对软件生产工作进行研究,掌握软件生产的客观规律,对软件生产建立系统性的认识,从而服务于软件的生产活动。也可以根本上的解决软件危机。这便是我对软件工程学科的理解。

学习软件工程(C编码实践篇)的心得体会


首先是代码规范化的学习。对于程序员来讲,每天的基本任务就是写代码,所以代码规范化也是程序员每天都会面临的问题。统一的代码规范可以帮助程序员们写出优美的代码和简洁的文档,而遵循着规范的代码也可以帮助程序员们事半功倍地读懂和使用。

然后是对软件模块化设计的学习,即高内聚低耦合的设计模式,这是整个课程学习的核心。从最简单的hello world程序,到简单的Shell制作,然后是对Shell的迭代开发。不断完善使其变得更具模块化,可重用性更高。对于软件开发来讲,其开发过程以及产品均具有生命周期。而软件的重用性直接决定了其是非在今后的生产中作为有效资源继续利用。规范化、模块化的软件设计,可以极大程度上降低后期维护和后续其他产品的开发,减少个人的工作量,减少了公司的成本,也促进了行业的进步。

软件设计的主要原则:模块化,接口,信息隐藏,增量开发,抽象,一般化。在实验过程中,老师带领我们从一个简单的程序入手,通过完整的软件开发流程进行开发,一步一步地完善程序。使我们很快可以熟悉程序的开发流程,同时也在实践中为我们讲解了抽象的问题。

实验报告

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

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

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

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

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

实验六(测验):函数的可重入性(reentrant)及线程安全

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

总结


软件工程课程的学习是个很奇妙的过程,学习的时候感觉课程是有些抽象的,似乎很难对自己的实际开发工作起到很大的作用。但是学习的过程中很快就能感觉到自己的进步,尤其是写代码的时候会去关注自己写代码的规范以及模块化设计,让自己的代码在看起来会更优美。这的确使得代码在使用的时候更加便利,逻辑上也更加清晰。

这是网易云课堂上的主要收获,而这门课的收货远不止如此。大部分是软件开发者实际工作所需要用到的技能与工具,在软件工程这门课程上均得到了学习。

首先是Git,程序员必备的工具。在刚刚接触云课堂实验楼的时候花了一两个小时去研究git的使用,而后的微信Kingke开发的代码库是放在coding.net上的,在做这些作业的期间学会了Git的使用。

第二是Linux与Vim。实验楼的环境是Ubuntu,做实验的工程中学习了很多Linux以及Vim的命令行操作,而后的微信Kingke开发更是又了解了Meteor.js这个优秀的前端框架以及nginx代理服务器的配置与使用。

第三是产品原型的设计。不想当产品经理的程序员不是好的程序员(我自己编的),而要当产品经理的第一步就是要会做原型、写PPT和文档。以前做毕设的时候做软件开发,虽然知道需要先做原型才能进行开发,但是却完全不知道怎么做。而在软件工程的课程上,老师让我们使用墨刀来做原型。在使用墨刀对微信Kingke的产品原型进行设计以后,对原型的制作工作已经比较熟悉,而且这的确是个很有意思的事情。

第四是技术博客的撰写。之前也时不时的在CSDN也写一些,并没有特别的重视。这次的作业用博客形式提交,深深感觉到老师是在培养我们的码农习惯。这不仅仅是教给我一项技能,而是在教我们如何成为一名程序员。这也是来科大以来我学到的最有用的课程了。

一些小建议


是在平时上课和云课堂上都遇到了的一些个小问题,关于老师讲课方面的一点点感受。就是听课的时候感觉逻辑不是很清晰,很容易就进入迷茫的状态有点不知道在讲什么。

致谢


感谢孟宁老师这两个多月以来在学习上的指导与帮助,也的确是因为这门课让我变得更接近一个真真正正的程序员了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,529评论 5 475
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,015评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,409评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,385评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,387评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,466评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,880评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,528评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,727评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,528评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,602评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,302评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,873评论 3 306
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,890评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,132评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,777评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,310评论 2 342

推荐阅读更多精彩内容