七月八月 -软件工程
九月 -机房收费系统文档 -UML图 十月 -Rose画图 -完善文档 -总结UML,总结软工,区分软工与UML的关系和图 -C#语言 -设计模式 十一月 -VB DONET语言 -总结设计模式 -理解三层、MVC -画UML图,用分层实现登录实例 -vb.net版机房收费系统UML图 十二月 -vb.net版机房收费系统UML图 -完善机房收费系统文档 -制作vb.net版机房收费系统 一月 -新闻发布系统 -合作开发机房收费系统
这个阶段,还穿插着YH维护和SLA的学习,可谓是充实到了极点。
就像自己在《2011暑假小结》(2011-08-26)里写的那样,刚接到任务时的兴奋与一丝担忧。兴奋的是终于可以接触到真正的技术学习了,对于当时痴迷于技术的我,当然会兴奋了。担忧则是怕自己走不好,不过还好,自己立马调整过来了。暑假期间,就是软工和SLA了。2011暑假小结说的不少了,导图都在这里了《软件工程》(14部分 2011-09-11 )这里不再赘述。
开学以后就开始了文档的编写。说起文档,现在还很头疼呢。不知道怎么写,跟七期的丹姐(赵丹丹)交流过,感觉她们说的挺有道理的。“文档是用来干嘛的? 文档的作用无非就2个,一者是用于项目内各个部门、人员的交流,再一者则是用于后期的维护”不管是开发的交流还是后期的维护。后来的几次写文档,都是在原基础上修改和完善文档。
对于UML,其实一直很向往。在大学的时候,只是听说过,但没有学。在这里又有机会自己学了,还是挺兴奋的。UML对于我们学习面向对象的开发有着不可磨灭的功劳。UML 中一共有 5类(9种)图,包括用例图、静态图(类图(包图)、对象图)、行为图(状态图、活动图)、交互图(时序图、协作图)、实现图(组件图、部署图)。请看我眼中的UML《UML之图情结》(2011-10-02)。其实通常我们通过Rose工具只画出的常用的UML图(用例图、类图(包图)、时序图、活动图、部署图)。通过正向工程将图导出基本代码框架,然后供各层的程序员同步开发。
其实在学习UML中,就有感觉软件工程中的图于UML图由冲突或类似之处。比如说软工中的数据流图跟UML中 的时序图有些类似,而UML图中的活动图可以说跟软工中的流程图一模一样。在写《UML之图情结》前,现将软工中的图辨别了一番《软件工程中的图情结》(2011-10-02)。 C#已入手,就感觉特舒服。感觉C#的语法更符合人的思维逻辑。由于在VB6时,已经对编程语言的架构有了整体把握,所以学习C#时,感觉很顺手,也很快。许多东西都是相同的,只是稍微有点区别罢了。再加上后面的大话设计模式也是用C#实现的,还有后面的新闻发布系统也要用C#实现,对于C#,没有什么可担心的。现在只是看,做笔记,敲一些简单的代码,后面的项目会给自己增加C#的代码量的,亲和力不用担心。
设计模式,一直被传说着,这次终于要见识一番了,老听说设计模式多么多么的好,这次接触,才知道能明白它真的很厉害。设计模式的六大原则,是设计模式的根本。各式各样的设计模式,都是围绕着这六大原则而扩展的。因为这些原则,才是使得代码复用,因为代码复用,所以灵活,因为灵活,所以易维护。设计模式主要针对于面向对象来说的。所以设计模式也是从对象入手来创造出各种模式来。它们分别从“对象的创建”、“对象结合的结构”、“对象的交互”方面入手,而设计的3类设计模式——创建型模式、结构型模式、行为型模式。初次接触设计模式,还没有实战的机会,不过接下来的机房收费系统会提供这个“战场”。先小结了一下:《设计模式之设计原则》 (2011-11-03)、《设计模式之创建型模式》(2011-11-03)、《设计模式之结构型模式》(2011-11-05)、《设计模式之行为型模式》(2011-11-07)。
这次VB.NET的学习,讲了很少的例子,不过这门语言的结构倒是都讲到了。讲的多的则是.net的一些机制。比较难懂。做了做笔记。没什么可说的,揭过。
设计模式暂告一段,开始进军另一个重要的“领域”——分层与MVC。这个的学习资料是看csdn上、博客园、网易等等博客或论坛里的文章或帖子。只是浅浅的知晓一二,没有实践是很难体会其中的奥妙的。当时参考网上的说法,发表了一下自己对分层和MVC的认识《初识MVC与三层架构》(2011-11-08)。不过做完了机房收费系统对这两个概念也有了新的认识:在我看来分层专注的是系统的架构,看怎么设计架构更为合理,更适合扩展和维护;而MVC专注的则是对系统的控制。哪些该想用户显示,哪些是底层,然后用什么来连接,来控制。当然,它们两个都是对系统的扩展,只是分层是在系统架构方面做的扩展,而MVC则是在对象的创建、结合的结构及交互方面而做的扩展。所以也可以说MVC是一种特殊的分层,同时也是一种综合型的设计模式。 现在做的还是三层,很难体会到MVC的真正内涵,不过接下来的B/S学习,会对MVC有深刻的学习。
对分层和MVC简单了解后,开始利用分层来实现登录实例来加深对前面知识的理解。先分析系统,用Rose画UML图。每种图都画了。加入了设计模式,光系统的架构就推敲了3天。图画完后,开始用C#实现。前前后后用了一个星期。从磕磕绊绊的这一星期,锻炼了Rose画图(以前画的图看都不想看),C#也进一步熟悉,抽象工厂+反射+配置文件也了解了,最主要的是对分层在程序上的实现迈出了关键的一步。后来才想起来机房收费系统要用VB.NET做,所以又用VB.NET做了一遍登录实例。VB.NET与C#在语法上还是有些不同的,一些易混淆的地方也比较了一番,对2种语言操作都又张进了一步。由于登录只是对数据库的查询,所以后来又做了添加、删除、更新的实例。对数据库的操作已经OK了,剩下的就要开始真正的VB.NET的机房收费系统开发了。
终于开始着手VB.NET了,我是在登录实例上进行扩展的。重新分析系统,画图,考虑设计模式,完善文档,这些步骤用了20天的时间。光画图就用了差不多半个月。不断的纠结,不断的修改,不断的重画,不断的提高。由于时序图没有画好,在B层的逻辑控制上,花费了很长的时间。当然在这过程中也有取巧的地方。找了个可以直接将数据库的表导出为实体类(VB.NET)的工具,不过由于设计的缺陷,实体类改了好几次,原先生成的都被改过了。还找了个C#转VB.NET的工具,由于C#接触的比较多点,有些用C#能实现,但VB.NET不知道怎么写,就用这个工具转换一下,对于那些不懂的,就百度一下。这个系统算是学习.NET以来第一个面向对象的系统。对分层、uml图、设计模式、面向对象及vb.net语言都是一个记好的消化融合剂,将这些融合在一块,配合起来一块学习,一块锻炼,一块掌握。当然问题肯定是有的,还是要总结了一下的:《VB.NET机房收费系统总结》 (2011-12-31)。
说到了最近的合作开发,合作,软件开发的正道。没有一块大型系统是由一个人短期内独自开发的。合作开发可以节省大量的时间,而时间则意味着市场,意味着你比别人更多的机遇。合作的经历就不多说了,都在《谈谈我们的合作开发》里了(2012-02-03 )。通过这次合作,培养了大家的合作意识,当时每天在讨论组里讨论,复杂的问题时不时得开个会讨论,交流能力也在无形中提升。通过讨论,通过对比自己和团队其他成员对业务的分析和理解,在业务上面大家也都在提升着。在开发过程中,会发现每个人都有一些自己不知道的神奇的小技巧,所以你会学到很多。
也说说YH的维护吧。从11年10月7号开始,到今天(12年2月7号),整整4个月的时间了。有形的知识学习了不少,也记下来不少。《YH等各种维护收获》,无形的收获更多,当然收获也是不少的《各种维护给我带来的财富》(2011-12-07)。
在这段学习中,有甘有苦,但不论是甘和苦,都是记录着我的成长。选择了提高班,比别人多花3-4年的时间,就是《与未来博弈》 (2011-10-02)。在带领九期展开一系列活动后,也发表了自己的《一点点感想》(2011-11-22),肯定一下自己的成长,同时也给九期的师弟师妹们学习的信心。在即将到2012年的前1个小时,大致回想了自己2011年的经历,《告别我的2011》(2011-12-31),学习很充实,也很快乐。
附:
2011暑假小结 2011-08-26 16:27
软件工程(14部分导图) 2011-09-11
与未来博弈 2011-10-02 00:09
软件工程中的图情结 2011-10-02 10:20
UML之图情结 2011-10-02 22:32
设计模式之设计原则 2011-11-03 17:19
设计模式之创建型模式 2011-11-03 23:19
设计模式之创建型模式 2011-11-05 00:32
设计模式之行为型模式 2011-11-07 16:21
初识MVC与三层架构 2011-11-08 15:02
各种维护给我带来的财富 2011-12-07 11:12
一点点感想 2011-11-22 23:38
告别我的2011 2011-12-31 23:58
VB.NET机房收费系统总结 2011-12-31 16:19
谈谈我们的合作开发 2012-02-03 10:28
2011暑假小结 2011-08-26 16:27