熟悉的陌生人——软件工程
去年暑假到现在是一个蜕变的过程!从软件工程到UML到设计模式再到三层架构(其实这些都属于软工的范畴),这是一条充满艰辛,充满曲折的道路,一路走来,感触颇多。
进入提高班,再次接触软件工程,让我觉得既熟悉又陌生。造成这种让人纠结的状态只能怪自己当时太无知。没有好好听大学老师讲课。不过也不必太自责,大家也都知道现在中国的教育现状。我想如果我当时好好跟着任课老师学,对软工认识的程度肯定也无法跟现在相比。很庆幸自己选择跟着米老师一直走下去。这个决定可以说是我长这么大最正确的一次!感谢米老师的悉心教导!
软件工程
软件工程,可以说是一门博大精深的学科。如果要用一种武功来比喻软件工程,那么我感觉也只有少林寺的《易筋经》能够体现出它在软件界的重要地位了。软件工程贯穿整个软件开发的始终,从设计到编码到之后的测试发布以及后期的维护,都离不开软件工程的思想。软件工程其实就是一种工具,将软件开发工程化,用科学的方法分析设计软件,为软件开发指制定合理的计划,最大限度的保证软件可以按时保量的完成。软件工程是一门需要终身学习的课程。随着以后不断的积累对于软工的认识会慢慢的加深,继续努力吧!
UML
UML是软件开发过程中一个非常重要的环节,可以说UML是软件工程的灵魂。它是对软件的整体设计与把控。UMLj将软工的思想绘成各种图,然后通过这些图加上设计模式,转化成系统的代码框架。有了框架,有了轮廓,剩下的具体实现的代码就可以一蹴而就。一气呵成了!
UML的四种关系——关联(组合、聚合)、依赖、泛化/继承、实现。还有九图都是学习UML的重点。九种图里面类图是重中之重。另外我感觉画时序图也很让人纠结,在做机房收费系统的时候,画的图就不太好,结果在写代码的时候就编写边改。着实让人头疼,吸取经验下次一定好好研究UML图。
设计模式
第一次用.NET做机房收费系统的时候用了一抽象工厂,稍微感受到了一下设计模式的好处。使用合适的设计模式可以让代码之间更加的独立,专业术语叫做低耦合。使代码更易复用。可谓好处多多啊。但值得注意的是,不要单纯的为了用设计模式而用设计模式。一定要结合实际情况,看看到底这里适不适合用设计模式,适合用哪种设计模式。这样才能发挥设计模式的作用,否则只会适得其反。总之设计模式是前人总结的精华,我们要用,更要会用,以便让它发挥最大的作用。想了解更多我关于设计模式的感受,请移步《大话设计模式读后感》
三层架构
三层的学习也颇费周折,这次米老师没有像之前那样给我们现成的资料,而是让我们自己去搜寻——为的是锻炼我们自己捕获事物,汲取营养的能力,从而让我们更适应大自然的生存环境。想要获得知识,世界上最大的知识库莫过于或联网,于是乎我就整天游荡于各大程序员社区——CSDN。博客园。51CTO等 都少不了我的身影。从那些大牛的博客里学习三层,逐渐的明白了三层到底是怎么一回事。
其实三层说白了就是将代码按照不同的功能分为不同的几个层,每一层都有自己的职责。例如负责跟数据库打交道的代码就放在DAL层(Data Access Layers),而一些逻辑判断就放在BLL层(Business Logic Layer)等等。说白了分层跟用设计模式用着异曲同工之妙,都是为了降低代码的耦合度,从而使得所开发的软件更易扩展、易维护。
分层也是一种思想,不同的阶段对于分层有着不同的理解。随着不断的学习,不断积累经验,对于分层的理解会慢慢的加深。
C#跟VB.NET
学习C#一是为了学习设计模式,因为《大话》中的代码是用C#实现的;而是为了让我们初步认识一下面向对象的编程思想。而学习VB.NET是为了从之前学的VB6无缝过渡到以后的面向对象。这一点很好的提现了米老师的“吃饭理论”——通过自己熟悉的知识去获得自己不熟悉的知识。
重构机房收费系统
又说到我们提高班的经典项目了——机房收费系统。这次重新做机房收费系统,首先是分层,然后又用了抽象工厂+反射+配置文件。而第一次做机房收费系统,用的是VB6,那个时候简直就是一个小白,什么UML、设计模式、分层都一呼不呼。所有代码都直接写到窗体下面,现在看之前做的东西,说难听点就跟屎一样!但是正是因为有当初的屎,才有了现在茁壮成长的庄稼!路是一步步走的,知识是一点点学的,所以不要在乎你现在有多差、水平有多低,只要肯努力,肯付出,再加上一个正确的方法,某天回头望去,发现自己已然到达了一个新的高度!所谓不积跬步无以至千里,不积小流无以成江海。说的就是这个道理,学习其实就是一个积累的过程。
合作开发机房收费系统
很无奈,又是它。这次你明白它为啥是提高班的经典了吧!合作开发主要是为了培养我们合作的能力,学习一下SVN的使用,同事也加深一下对三层和设计模式的理解。合作开发要比一个人开发快多了,这也是为啥要分层的一个原因,分层之后代码的耦合度降低,每个人负责一部分,只要按照一定标准跟规范就可以同时并行开发了,然后各自写完之后再合并,最后调试、打包就OK啦!这次合作没有什么太多的新东西,只是在原来的基础上加了一个外观模式。这次合作让我感受到注释说明很重要,如果注释说明写的清楚明白,那么几乎组员之间不用多余的交流就可以把项目做完,相反,如果写的不好,那么做起来就费劲了,写两句就要沟通一下,这样就没法进行下去了,而且还会带来理解上的偏差,这都会造成很多不必要的麻烦,所以合作很重要的一点就是制定好标准和规范。
结束语
写这篇博客真是不容易啊,因为之前的年度总结《我的IT之路2011(二)》里面已经对这一阶段进行了比较详细的总结,现在又重新再写一次,说白了就是用不同的话把一件事说了两遍,这对于我这个写作水平非常有限的人来说真是个挑战啊!还好写完了,好与不好各位多担待吧!不早了两点多了该睡觉啦!晚安各位!
分享到:
相关推荐
港股游戏行业深度报告:最熟悉的陌生人:港股游戏公司探析
互联网访谈节目传播特点分析——以《和陌生人说话》为例.pdf
从“知己”APP分析陌生人社交软件发展.pdf
最熟悉的陌生人
熟悉的陌生人记叙文.docx
软件为用户在地铁、公交、 火车、飞机、商场等公共场合提供了一种全新的沟通方式,让你摆脱与陌生人聊天的尴尬。你还在为遇上心中的TA而不敢上前搭讪么?通过吖吖软件,让你对中意的TA大声说句“HI”。 软件暂时只...
此ppt为熟悉的陌生人系列第10讲:jdk8中Stream原理的讲解,内容后半部分涉及到响应式编程的介绍。
我们变成最熟悉的陌生人作文.pdf
自己整理的VISIO模型,[.vss文件]严格按照软件工程数据流图模型,添加模具即可在VISIO中绘制软件工程数据流图。 内含[处理][输入输出][连接][换页连接][数据流][穿孔卡片][文档][磁带][联机存储][磁盘][显示][磁鼓]...
Talk2Stranger 2015届中国大学生软件设计比赛——解密陌生人作品(Android端)
港股游戏行业深度报告:最熟悉的陌生人:港股游戏公司探析.pdf
本项目为 第四届“中国软件杯”——大学生软件设计大赛 A组 的参赛作品
IT互联网行业公司软件项目创业方案程序开发商业计划书模板资料
在异步编程中,Promise 扮演了举足轻重的角色,比传统的解决方案...事实上,有些朋友对于这个几乎每天都在打交道的“老朋友”,貌似全懂,但稍加深入就可能疑问百出,本文带大家深入理解这个熟悉的陌生人—— Promise.
用vb 写的 富翁与陌生人 不错 的哦
一款陌生人聊天软件 比漂流瓶更霸道 更神秘 特别适合网吧使用 网管的必备工具
可以和QQ陌生人聊天,学习使用,请勿用于非法用途!
适用于给陌生人发QQ消息。 特点:操作简单,使用方便,免费使用。
qq陌生人推广大师是一款全自QQ陌生人推广软件,支持推送推广信息到非QQ好友,高效稳定。本软件是一款高效的QQ陌生人推广软件,下载可以直接使用,不留尾巴。 “石青QQ陌生人推广
陌生人聊天程序,还是很好用的。 功能: 1.匿名用户配对聊天 2.聊天记录可以下载 3.可以显示对方输入状态 4.采用轮询服务器方式传输数据,相比comet方式,服务器压力小许多,而且轮询间隔时间可以调节。 5.显示在线...