最近一个月的时间一直在做项目,是关于学校的机房收费的管理系统,是C/S阶段里程碑式的项目。从前期的准备,到实施、修改、重构项目,再到结束,测试,这个过程太痛苦了,不过,收获还是挺多,下面给大家先从整体上介绍一下,再介绍细节上的内容。
一、整体介绍
C/S阶段基本涉及到了整个软件开发过程中的所有技术,学完所有内容之后,相信设计一款较实用的软件应该是没有问题的。(当然这是在做完系统之后,才体会到的o(∩_∩)o)
二、开发项目
1、前期准备阶段,需求分析真的很重要
由于这个项目曾经做过一遍,对于需求还是有一定了解的,但是也仅限于了解,不是很深入透彻,没有做到对每一个功能都特别详细的知道还应该添加什么功能。虽然在前期准备阶段也知道需求自己一定会改动很多,但是没有做好需求变更计划来应付变化,造成在开发的过程中,进度很慢。需求分析阶段是一个很重要的阶段,做好需求分析可以为整个软件的开发打下良好的基础。
总结:变是永远不变的,唯一不变的是变化本身。
2、实施设计,一头雾水
在第一遍vb版机房收费系统中,对于数据库的学习不是很深入,对于如何建立表存在较多的障碍,所以要重构系统,需要依据三范式重新建立数据库表,在建立表之后,原来系统中没有涉及数据库其他的如何东西,尽量都用一用。在使用的过程中,遇到了各种各样的问题,建立的表不完整,七零八散的,没有整体上的把控。在敲代码的时候,为了系统更加完善,总是要不断的修改字段,很是浪费时间。
总结:设计无论是概要设计还是数据库的详细设计,在编程之前一定要尽可能的详细。
3、总是被心理障碍治服
数据库的基本表建立完之后,本应该是完善文档和UML之后才是敲系统,由于对于文档的理解很浅,认识不是很深刻。文档和UML图就略过去,就开始直接写代码。想直接写代码,又一个障碍突然降临了,自己总觉得对于三层架构和设计模式学到的东西很虚,不知道如何下手,找到不到入口点了。回过头来看才知道,自己用一层窗户纸蒙住了眼睛,不知道该想怎么走了。
总结:克服心理障碍的最好方法是: Todo,to do ,done,done之后窗户纸自然就破了。
4、直接写代码,害人不浅啊
为了能让自己能够走下去,减轻难度,所以采用最笨的方法,敲纯三层的系统,不加任何的设计模式。系统敲了多半的时候,随着对于三层的理解不断加深,对了类也有更深的认识。当自己醒悟的时候,发现原来没有画UML图真是害人不浅,多写了很多的代码。
总结:出来混,早晚是要还的。过去省略的地方一定会在另一个地方找回来,而且很浪费时间。
三、结束项目
在真正的理解三层之后,完善UML图,为了提高程序的可读性、易维护性,是一定要加设计模式重构,当自己走到这里的时候,总算看到黎明的曙光了。到这里,只需要将系统进行到底就好了。最后给大家展示一下系统中登录的时序图:
总结:
在学习的过程中,一定会存在没有理解、不会的知识,一次性学会并灵活运用,我觉得是不可能的,无论是欠下的、拉下的、还是不愿做、放弃的。
记得:出来混,早晚是要还的。还的多的人,职位高、待遇好,还的少的人,职位低,待遇差。
相关推荐
NULL 博文链接:https://larch-running.iteye.com/blog/1142008
《Java 开发手册》是阿里巴巴集团技术团队的集体智慧结晶和经验总结,经历了多次大规模一 线实战的检验及不断完善,公开到业界后,众多社区开发者踊跃参与,共同打磨完善,系统化地整理 成册,当前的版本是嵩山版。...
1.8.2.1 为什么要进行参数化 188 1.8.2.2 如何具体操作 191 1.8.2.3 Global Sheet VS Local Sheet 194 1.8.3 Test DataTable VS Run-time DataTable 201 1.8.4 用好DataTable对象使脚本更加灵活 204 1.8.5 总结 208 ...
【云南】欧陆风格住宅规划方案文本(PPT+95页)图纸包含:前期分析、项目位置、U A 实践、交通条件、周边条件、地块现状、规划条件、前期总结、策略比较、规划设计、居住设想、等共95页。 效果图。效果图。总平面图...
Viewport不局限于浏览器可视区域的大小,可能比浏览器的可视区域要大,也可能比浏览器的可视区域要小。 媒体查询 CSS媒体查询允许开发者基于浏览网站的设备的特性来应用不同的样式申明,最常用的特性是视口宽度。 ...
本论文结合上述情况,在某项目中总结出了一套对PID算法的参数进行整定的方法。PID调节方法是三阶系统中一种常用的有效控制方法。PID在许多系统中能够得到广泛的运用是由于这些系统都存在非线性和未知的干扰,尤其是...
本论文结合上述情况,在某项目中总结出了一套对PID算法的参数进行整定的方法。PID调节方法是三阶系统中一种常用的有效控制方法。PID在许多系统中能够得到广泛的运用是由于这些系统都存在非线性和未知的干扰,尤其是...
1.4 总结 14 第2部分高可用 17 2 负载均衡与反向代理 18 2.1 upstream配置 20 2.2 负载均衡算法 21 2.3 失败重试 23 2.4 健康检查 24 2.4.1 TCP心跳检查 24 2.4.2 HTTP心跳检查 25 2.5 其他配置 25 2.5.1 域名上游...
本文所研究的课题来源于国家863电动汽车重大专项:纯电动轿车整车(上 海交大与奇瑞汽车公司)和混合动力轿车(东风汽车公司)两个项目。按照项目 ...最后,对全文做了总结,并提出了若干有待进一步研究的内容
2.4 绕开脚本陷阱 2.5 总结 第3章 开发环境和调试方法 3.1 我能用什么来编写脚本--适合编写JavaScript的文本编辑器 3.2 来自浏览器的支持 3.3 集成开发环境 3.4 调试工具--提升开发效率的利器...
3.4.2 使用EM 算法来学习HMM 参数——Baum-Welch 算法 28 3.5 用于解码HMM 状态序列的维特比算法32 3.5.1 动态规划和维特比算法32 3.5.2 用于解码HMM 状态的动态规划算法33 3.6 隐马尔可夫模型和生成语音识别...
《Spring3.x企业应用开发实战》是在《精通Spring2.x——企业应用开发详解》的基础上,经过历时一年的重大调整改版而成的,本书延续了上一版本追求深度,注重原理,不停留在技术表面的写作风格,力求使读者在熟练使用...
《Spring3.x企业应用开发实战》是在《精通Spring2.x——企业应用开发详解》的基础上,经过历时一年的重大调整改版而成的,本书延续了上一版本追求深度,注重原理,不停留在技术表面的写作风格,力求使读者在熟练使用...
3.7 类——应该做什么和如何识别它们 37 3.8 小结 39 3.9 常见问题解答 39 3.10 小测验和习题 39 3.10.1 小测验 39 3.10.2 习题 40 第4章 关系 41 4.1 关联 41 4.1.1 关联上的约束 42 4.1.2 关联类 43 4.1.3 链 43 ...
数据仓库——唯一可行的解决方案.....................................................................................33 一种新类型的系统环境.................................................................