@galaxy-0
2016-02-28T14:54:00.000000Z
字数 1781
阅读 680
寒假实践
财务系统
HTML
PHP
参与学生:陈星宇 学号:201530611289
时间:2016年寒假
为了加强自身的专业素养,增加自身的项目经验和开发经验,我与茂名市高山镇实验幼儿园合作,以幼儿园的收费模式为背景,尝试开发一个简易的财务系统,其功能包括:
JavaScript
编写脚本,使用html
和css
构建页面,后台使用php处理,文档的书写使用markdown
编辑工具wamp
集成开发环境搭建本地服务器,使用sublime编辑器+浏览器调试的方式进行开发项目流程总览
需求分析
在于幼儿园的负责人进行深入的沟通和了解后,我明确了功能的需求和定位,并依此写出了初步的需求文档。由于缺乏相关经验,所以需求文档尚停留在最简单的框架上,但依然可以在此基础上继续开发
(需求文档的部分截图)
页面与功能设计
由于个人对于页面设计并不在行,所以我邀请了工业设计专业的朋友协助工作,我则专注于功能和逻辑的设计。在这个阶段中,我初步学习了通过需求文档和设计交流并阅读设计文档的方式
(设计图部分截图)
html+css
的页面构成,还有js
的动态脚本代码,后台分为处理数据和请求的controller
的部分,负责数据库处理的model
部分和数据库具体实现过程中,使用了JQ库
来简化ajax
的交互请求,同时利用jq
的函数来实现动态页面。在收到设计图之后就开始按照设计图标注构建前端页面,途中经历了各种页面崩溃和修正,终于完成了页面的编写。
(操作页面部分截图)
(前端代码部分截图)
后台方面,我的工作顺序如下
model
层代码controller
层的控制代码数据库
在这个过程中,如何设计一个合理的数据库,既满足需要同时保留一定的可扩展性是难点,在经过不断的摸索之后,数据库的基本构成终于能确定下来,虽然并没有达到自己的预期,但是也是一次宝贵的尝试。
(数据库部分截图)
(备注:例如student表用来记录学生信息,family表用来记录家长信息,income表用来记录收入的信息)
model层
model层主要是根据输入的数据,组织好sql查询语句并发送数据库请求,实现比如insert,select,update等命令需求。这部分难度不算大,编写比较繁琐,但是完成之后基本没有出错过,给开发带来了巨大的便利。不足之处是提交数据的方式比较麻烦,使用起来有些情况不能顾及,只能满足项目本身的需求
(model层部分截图)
controller
controller需要根据请求的类型决定进行不同的操作,是后台的重心,特别是涉及数据处理的时候需要反复调用model层的函数进行查询和整理。一般的请求信息不难处理,但是需要数据库写入信息的时候需要确保链接的稳定和写入数据的正确性,是个比较大的挑战。
(controller部分截图)
以上只是代码的一小部分,中途经历了无数的debug和修改,目前总代码行数在2000左右,仍会进一步增加
作为一个系统,目前的功能过于简单,在今后的日子我将继续进行开发,增加包括
考勤管理
班级管理
结余管理
等进一步的功能。同时自身也要继续深入学习以面对更高要求的开发工作。
在实践过程中,除了自己的写代码能力得到了极大的锻炼,同时熟悉了一个项目的基本流程,而不是停留在理论的理解上。经历过深夜debug,经历过冥思苦想解决方案,也经历过需求变更带来的巨大影响。在开发过程中,我学到了很多,也积累了很多实战中的经验,这将极大地有利于我以后的学习和发展。