[关闭]
@galaxy-0 2016-02-28T14:54:00.000000Z 字数 1781 阅读 663

寒假专业实践:简单财务系统的开发

寒假实践 财务系统 HTML PHP

参与学生:陈星宇 学号:201530611289
时间:2016年寒假


背景介绍

为了加强自身的专业素养,增加自身的项目经验和开发经验,我与茂名市高山镇实验幼儿园合作,以幼儿园的收费模式为背景,尝试开发一个简易的财务系统,其功能包括:


使用工具


开发过程记录

项目流程总览

Created with Raphaël 2.1.2需求分析功能与页面设计代码实现阶段调试与上线
  1. 需求分析
    在于幼儿园的负责人进行深入的沟通和了解后,我明确了功能的需求和定位,并依此写出了初步的需求文档。由于缺乏相关经验,所以需求文档尚停留在最简单的框架上,但依然可以在此基础上继续开发

    (需求文档的部分截图)
    

    13.png-341.5kB

  2. 页面与功能设计
    由于个人对于页面设计并不在行,所以我邀请了工业设计专业的朋友协助工作,我则专注于功能和逻辑的设计。在这个阶段中,我初步学习了通过需求文档和设计交流并阅读设计文档的方式

    (设计图部分截图)
    

3.png-142.3kB

  1. 代码实现阶段
    项目主要分为两个部分,分为前端和后台,前端包括html+css的页面构成,还有js的动态脚本代码,后台分为处理数据和请求的controller的部分,负责数据库处理的model部分和数据库
Created with Raphaël 2.1.2前端前端controllercontrollermodelmodelMysqlMysql提交输入的数据html+css:页面布局js:动态修改页面并提交数据到后台根据请求调用相关操作对数据库进行操作通过Ajax返回请求内容和操作结果

具体实现过程中,使用了JQ库来简化ajax的交互请求,同时利用jq的函数来实现动态页面。在收到设计图之后就开始按照设计图标注构建前端页面,途中经历了各种页面崩溃和修正,终于完成了页面的编写。

    (操作页面部分截图)

10.png-886.9kB
9.png-178.3kB
8.png-165.3kB
7.png-172.7kB

(前端代码部分截图)

17.png-289.7kB
18.png-223.5kB
16.png-249.9kB


后台方面,我的工作顺序如下

数据库

在这个过程中,如何设计一个合理的数据库,既满足需要同时保留一定的可扩展性是难点,在经过不断的摸索之后,数据库的基本构成终于能确定下来,虽然并没有达到自己的预期,但是也是一次宝贵的尝试。

   (数据库部分截图)

4.png-71kB

(备注:例如student表用来记录学生信息,family表用来记录家长信息,income表用来记录收入的信息)

model层

model层主要是根据输入的数据,组织好sql查询语句并发送数据库请求,实现比如insert,select,update等命令需求。这部分难度不算大,编写比较繁琐,但是完成之后基本没有出错过,给开发带来了巨大的便利。不足之处是提交数据的方式比较麻烦,使用起来有些情况不能顾及,只能满足项目本身的需求

    (model层部分截图)

11.png-254.4kB
12.png-235.5kB

controller
controller需要根据请求的类型决定进行不同的操作,是后台的重心,特别是涉及数据处理的时候需要反复调用model层的函数进行查询和整理。一般的请求信息不难处理,但是需要数据库写入信息的时候需要确保链接的稳定和写入数据的正确性,是个比较大的挑战。

(controller部分截图)

14.png-357.5kB
15.png-221.3kB

以上只是代码的一小部分,中途经历了无数的debug和修改,目前总代码行数在2000左右,仍会进一步增加


下阶段计划

作为一个系统,目前的功能过于简单,在今后的日子我将继续进行开发,增加包括

  1. 考勤管理
  2. 班级管理
  3. 结余管理

等进一步的功能。同时自身也要继续深入学习以面对更高要求的开发工作。


总结

在实践过程中,除了自己的写代码能力得到了极大的锻炼,同时熟悉了一个项目的基本流程,而不是停留在理论的理解上。经历过深夜debug,经历过冥思苦想解决方案,也经历过需求变更带来的巨大影响。在开发过程中,我学到了很多,也积累了很多实战中的经验,这将极大地有利于我以后的学习和发展。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注