机房重构带给我们什么
2016-05-16 21:29
447 查看
我认为机房重构的过程也是重构我们系统思想的过程,通过这次做机房,感觉涉略了很多知识,逻辑在第一次的时候已经弄明白了,这次主要是在原来的基础上用另一种语言重构了一次系统,了解了一遍软件工程的整个过程,说到这里,我们首先回忆一下软件工程的过程吧。
软工:
总体规划——从人力、物力、财力,经济,法律,人事等各方面分析要开发系统的可行性,再对原有的系统分析,该原有的系统就是我们第一次机房收费系统,我们这个机房收费系统很小,这方面我没有做过多的考虑,只为了解流程。
需求分析——用户可能提出新的需求,而我们现有的系统已经无法满足用户了,这时候我们需要了解用户的需求,通过和用户沟通交流,并写成需求文档,该文档需要给用户、项目经理、开发人员、设计人员等所有人看,以实时了解。
系统设计——软件设计这部分是非常重要的,如果没有这个过程,那么我们做出的系统很可能是不完善、不稳定的,这阶段我们需要做出概要设计,根据需求对数据库设计,对系统结构设计,系统出错的处理设计,考虑在哪里可以用到设计模式,模块划分等等。详细设计就要对系统结构,系统设计,界面设计,业务流程设计,及各层各个模块进行详细说明,为实现编码和测试过程做准备。
编码——实现功能过程。
测试——对修改好的系统通过某些条件进行测试。该阶段测试文档会描述测试项,测试任务,人员分配及应急预案等,最后的测试分析报告要对测试结果记录,分析总结。
运维——对该系统做一些后期维护,保证系统正常运行。
编码知识:
三层架构讲究的是将U层和D层解耦合,防止U层直接访问数据库。那么我们第一次VB版机房收费系统不是做的挺好的吗?为什么要这么麻烦转成三层?因为第一次的耦合性太强了,我稍微改动一下都要改好多地方,牵一发而动全身。那么三层为什么还要转成七层的呢?我个人认为,七层在三层的基础上增加了一个抽象工厂模式,外观模式和反射,这样一个外观层又可以进一步将U层和B层解耦,那么是不是每个功能都必须要用七层呢?我认为不是必须的,比如在重构时,一些功能如查询上机记录等这样很小的功能只需三层就可以了,用到七层的地方不多,比如下机,需要定义的方法特别多,这样我们可以用外观来解决。
重构机房用到了外观模式,抽象工厂模式+反射,单例模式,模板方法模式,职责链模式,策略模式,另外在下机计算消费时间的时候尝试用了下状态模式,感觉他和职责链模式很像,总的来说模式用的不少了。
除了这些还有我们一年前就经常提到的存储过程,视图,触发器等等,那时候总问师傅是什么是什么,现在随着学习的深入,深入实践与应用,已经可以很好地使用了。在编码过程中有关数据库的我还用到了泛型,哈希表,Arraylist集合,这些都是对代码进行的优化,减少了很多代码的重复。
机房感受:
做机房重构很长时间了,期间有做不下去的时候,那时可以换个心情再出发。但是我们一定要有计划,可以让自己快乐的饥渴的去学习,却不能让自己过得太安逸,要想办法适当克制自己,管理好时间。实践过程中了解的知识比在视频中学习到的东西都多,重构的时候只为实现功能就可能回很枯燥,所以我会时不时的找些不一样的东西研究一番,虽然很陌生,但是学会用了就很简单,一句话:去做。就像马云说的:Do it! Now! Inmitate!
[align=left] [/align]
感谢您的阅读!
软工:
总体规划——从人力、物力、财力,经济,法律,人事等各方面分析要开发系统的可行性,再对原有的系统分析,该原有的系统就是我们第一次机房收费系统,我们这个机房收费系统很小,这方面我没有做过多的考虑,只为了解流程。
需求分析——用户可能提出新的需求,而我们现有的系统已经无法满足用户了,这时候我们需要了解用户的需求,通过和用户沟通交流,并写成需求文档,该文档需要给用户、项目经理、开发人员、设计人员等所有人看,以实时了解。
系统设计——软件设计这部分是非常重要的,如果没有这个过程,那么我们做出的系统很可能是不完善、不稳定的,这阶段我们需要做出概要设计,根据需求对数据库设计,对系统结构设计,系统出错的处理设计,考虑在哪里可以用到设计模式,模块划分等等。详细设计就要对系统结构,系统设计,界面设计,业务流程设计,及各层各个模块进行详细说明,为实现编码和测试过程做准备。
编码——实现功能过程。
测试——对修改好的系统通过某些条件进行测试。该阶段测试文档会描述测试项,测试任务,人员分配及应急预案等,最后的测试分析报告要对测试结果记录,分析总结。
运维——对该系统做一些后期维护,保证系统正常运行。
编码知识:
三层架构讲究的是将U层和D层解耦合,防止U层直接访问数据库。那么我们第一次VB版机房收费系统不是做的挺好的吗?为什么要这么麻烦转成三层?因为第一次的耦合性太强了,我稍微改动一下都要改好多地方,牵一发而动全身。那么三层为什么还要转成七层的呢?我个人认为,七层在三层的基础上增加了一个抽象工厂模式,外观模式和反射,这样一个外观层又可以进一步将U层和B层解耦,那么是不是每个功能都必须要用七层呢?我认为不是必须的,比如在重构时,一些功能如查询上机记录等这样很小的功能只需三层就可以了,用到七层的地方不多,比如下机,需要定义的方法特别多,这样我们可以用外观来解决。
重构机房用到了外观模式,抽象工厂模式+反射,单例模式,模板方法模式,职责链模式,策略模式,另外在下机计算消费时间的时候尝试用了下状态模式,感觉他和职责链模式很像,总的来说模式用的不少了。
除了这些还有我们一年前就经常提到的存储过程,视图,触发器等等,那时候总问师傅是什么是什么,现在随着学习的深入,深入实践与应用,已经可以很好地使用了。在编码过程中有关数据库的我还用到了泛型,哈希表,Arraylist集合,这些都是对代码进行的优化,减少了很多代码的重复。
机房感受:
做机房重构很长时间了,期间有做不下去的时候,那时可以换个心情再出发。但是我们一定要有计划,可以让自己快乐的饥渴的去学习,却不能让自己过得太安逸,要想办法适当克制自己,管理好时间。实践过程中了解的知识比在视频中学习到的东西都多,重构的时候只为实现功能就可能回很枯燥,所以我会时不时的找些不一样的东西研究一番,虽然很陌生,但是学会用了就很简单,一句话:去做。就像马云说的:Do it! Now! Inmitate!
[align=left] [/align]
感谢您的阅读!
相关文章推荐
- 使用 Libki 来管理公共用户访问计算机
- 微型计算机的始祖:Altair 8800
- 通过手机、电脑远程开关机,Windows和linux机手机,电脑相互控制
- php实现用手机关闭计算机(电脑)的方法
- 用IE重起计算机或者关机的示例代码
- 一张图告诉你计算机编程语言的发展历史
- 计算机科学中32个常用的基础算法
- 不能在本地计算机启动 apache2.2解决方法
- 超越Jquery_01_isPlainObject分析与重构
- PHP代码维护,重构变困难的4种原因分析
- Repeater控件动态变更列(Header,Item和Foot)信息(重构cs)
- python获取本地计算机名字的方法
- python获取当前计算机cpu数量的方法
- 重构代码的7个阶段
- superword中的模板抽取实践
- superword中一次精彩的重构
- 代码整洁之道------它山之玉可以重构:身份证号码解析、验证工具(第一天)
- 它山之玉可以重构:身份证号码解析、验证工具(第二天)
- 它山之玉可以重构:身份证号码解析、验证工具(第三天)
- 重构之重与敏捷之轻---身份证号重构回顾