在C/S阶段,我们学习了软件工程,UML,VB.NET,设计模式,三层架构,以及简单了解了C#语言基础,有了这些理论的积累,开始用机房收费系统来进行实践,通过实践这些知识才能成为真正的自己,因为只有自己亲自动过手,才会有深刻的理解。
机房收费系统个人版,总共写了两遍,一遍是只运用了三层,我称之为简单三层机房收费系统,目的是进一步深刻理解三层,以及在VS中实践VB.Net语言。因为是第一遍,再加上开学,用的时间还是很多的,用了一个月零十天的时间,期间就觉的浪费了很多时间。 第二遍,我称之为加设计模式机房收费系统,我添加了设计模式,sqlhelper这个曾经让我头疼的东西,数据库的各种操作,例如视图,存储过程,还尝试了触发器。当然这次没有再用Retional Rose画图,而是用了EA,EA对代码,文档,UML图三者的转化做的非常好。 这次做,目的是学习这些东西,当然感觉更深的是通过比较两者,对面向对象编程语言有了更深刻的理解。前后大概总共用了将近两个月的时间。
先说说第一遍吧。因为没有加设计模式,画图感觉还是挺好画的,有了登录例子的铺垫,大概还算顺利。这次真正用面向对象,在三层架构中实现了一个系统。真正体验到了先建模后实现的优势,也才真正体会到项目经理与代码工的不同之处。虽然这次还是按一条线一条线的实现的,但是有了图,感觉自己实现代码简单多了,最起码不用一直动脑筋了,把图画好,逻辑就非常清楚了,着个期间向辉哥咨询了些问题,他的一些大概的指导感觉还是非常有用的,最起码,自己心里有底,就这样磨蹭磨蹭把这次写完了,因为后边还有做一遍,很多东西不规范,辉哥让我继续。
第二遍加设计模式的,还是先从登录的例子入手,实现了一个登录的例子,搞清楚了他的顺序图,包图,这样机房收费系统就简单了,虽然这个机房收费系统加一些设计模式感觉是多余的,但是我们是为了学习,通过这样来学习设计模式,体验他的好处。当把加设计模式的登录例子搞得非常清楚,开始用了新的工具EA,来进行系统的总体建模,有了第一次建模的基础,这次建模画的图更全面了,虽然加了设计模式,但感觉仅仅是来回多调用了几次。用EA感受还是很深的,它对我们真正的做软件我感觉比Retional Rose更强大,或者可以说更能方便我们。而这次实现代码,基本上按层来实现的,一层一层的写代码,照着图来写,感觉还是挺舒服的。体会最深的就是彼此层之间的接口,方法名规范的重要性,这样彼此层之间才能有很好的衔接。通过两次对比更能体会到面向对象设计该如何做。
在个人重构版的机房收费系统,让我感受最深的还是文档规范,在验收期间宝强师哥说了句话“第一遍机房收费系统是主要验收你们的功能,第二次就是面向对象建模文档和图的规范性了!”的确是,验收期间师傅辉哥,给我提出了很多不规范的问题。不过经过三天的修改基本上完工了,肯定没有达到完美,不过为下次做系统做了一次深刻的教训,这也是我们迈向项目经理者,走向领导层的刚刚开始。我们写文档,只有一个标准,那就是把你写的文档,给别人看着能做出系统,这样就是最完美的。而这需要我们通过实践不断的积累经验,来把握这个度。这突然让我想起了IT这个行业其实经验最重要。
这次机房收费系统个人版,让我收获很多,让我从过去的面向过程,迈进了面向对象的大门,这也是当今比较实用的。和C/S到B/S转换一样,我们正在潜移默化的改变着……