2010.7——2011.7年度总结
每次年度总结,不得不已这句话开篇:时间过得总是这么快。的确,去年的暑假做机房收费系统的场景就像昨天刚刚过去一样,然而今天我们已经开始了BS的教务系统的开发。这里面存在着质的飞跃。
经过一年的时间,总体来说我的成长还是非常显著的。一年前我的学习动力还可以,也就是一般;现在,学习劲头十足,忍不住要珍惜时间,将更多的时间用到学习上,学习兴趣十分浓厚。为什么会这样呢?我想只有真正经历过这个过程的人才能真正明白到其中的原因。那就先总结一下这一年的耕耘与收获的这个过程吧。
从2010.7做学生信息管理系统开始,第一次开始做至少十多个界面的信息管理系统,刚开始还真没有头绪,一头雾水。一点编程思想都没有的一层式程序都看不明白,自己写不出来就先照着敲了几个界面,敲着敲着就有感觉了。
下一个就是学了SQLSever之后的机房收费系统,这个系统可以说是我最熟悉的、从中学到了许多东西的系统了,因为这个系统总共做了三次。每一次做的层次、思想、方式、技术都是不一样的,但实现的是相同的需求。
第一次做机房收费系统,没有用到任何编程思想,没有任何框架,用VB语言只要将功能实现即可。所以做出来的就是个没有任何架构设计的鸡窝,而不是精心设计的架构清晰的鸟巢。
第一次机房收费系统之后,学习了软件工程、UML、C#语言、设计模式、分层思想。
软件工程是用来实现整个系统工程的文档驱动,也就是在一项工程正是编码之前设计的文档说明。比如:可行性分析、项目开发计划、需求分析、概要设计、详细设计、数据库设计、测试计划等。当然这里的每一门课程如果要是细致的研究还有很多值得学习的东西,不如说,数据库设计中三范式的知识也是相当有研究价值的充满智慧的结晶。
UML也是用来讲解怎么建立模型的理论课程,用Rose或EA等画图工具将模型用各种图形和关系展现出来。给编程人员很直观的模型感受。如果说软件工程是整个工程的文档驱动,那么Rose或EA画图就是整个工程的图形驱动了。有了这两个驱动作指导可以说整个工程就完成的差不多了。两个驱动属于工程的前期设计,前期设计好了,后期代码实现那是相当的快了。正所谓:磨刀不误砍柴工,磨好前期设计的工,后期砍柴效率会大大提高的。
《大话设计模式》这本书里讲到的各个模式是用C#语言实现的。所以又学习了C#语言,对于语言的学习,感觉还是挺轻松的,因为学习了半年的VB,对语言的学习也有了一定的基础,所以对C#也比较容易上手。设计模式是为了可重用代码、让代码更容易让他人理解、保证代码可靠性。要想实现这几点,不是一天两天的事,甚至有的程序员作了一辈子的编程,也没有真正弄明白每个设计模式的内涵。我们只有在工程中反复的揣摩与应用,才能逐渐加深对设计模式的理解。
接下来就是非常重要的编程思想——分层。最初接触分层,不知所措、迷茫困惑。经过前人的讲解和视频资料的学习,才逐步对它的理解层层清晰。简单的三层加上设计模式,让整个工程的架构更加有层次感,框架感,清晰感。
学完了这些,学习了VB.Net语言。然后开始用vb.net语言结合上面学到的驱动和编程模式和思想,进行机房收费系统的第二次开发。每一个人都要单独实现一遍。最开始写代码也是不知道有些代码具体应该放到哪一层,也是受了在网上下载的《小燕雀》的资料的影响,比如说一些逻辑判断本应该放到Bll层,结果放到了UI层。尽管当时放错了,尽管当时的抽象做的不是很到位,但当做完之后就会发现这些问题,才能验证什么是对什么是错,在以后的工程实践中就会更加注意这些了。如果没有这些错,或许也就不知道什么是对了,正是这些错误促成了我们的成长。
再后来就是学习svn版本控制,又一个新鲜玩意儿,同样充满着人类的智慧——你做一点,我做一点,然后攒起来构成整个工程,同时记录不同版本的信息。有了它,我们就可以实现多人合作开发了。然后就是机房收费系统的合作开发。
现在,我们已经到了B/S结构的开发方式。学习并实现了牛腩的新闻发布系统,还看了JavaScript,scc+div,ASP.net的一些视频。通过看这些视频,感觉学的越多不会的就更多,还有更多的东西等着我去学习。
近几天,我们正在为教务系统做前期设计——需求分析、数据库设计、界面设计等等。教务系统总共分了8个小组,每个小组负责一块,我们这个小组负责的是评教系统和选课系统,我们一定会尽最大的努力将这两个系统做的好一些,相信在做的过程中我们也会有不少的收获。