第三次结对作业

柯晓鸿:031302613 叶艺洁:031302540

一、功能分析

需要实现的是上传文件,再将数据库数据显示在页面上

二、实现的思路

首先是确定使用struts2 框架开发,struts2 框架下引入common-fileupload.jar和common-io.jar进行文件的上传,文件上传后按照时间毫秒数进行重命名,避免上传后出现文件重名的情况
上传文件后对文件进行解析,使用的是java中的jxl.jar,解析完成上传的文件开始连接mysql数据库,建表,插入数据。
最后是页面前端显示,前端显示使用bootstrop框架,在fileupload.java的action中末尾调用解析文件的java类文件,查询数据库数据,再利用request将查询结果保存,在显示页面通过request方法得到结果,利用表格将结果显示。

三、数据库考量

由于考虑到一们课程可能由多个老师上课,如果一个excel文件建成一张表需要的主键较多,因此将表简化成类似3NF模式的两张表格,并添加课程编号、选课编号,完善表。

四、git 源码链接

https://github.com/AutoCSky/CourseManagement

五、图片

1、数据库设计
第三次结对作业_第1张图片

2、git commit日志

3、psp表格
第三次结对作业_第2张图片

六、项目照片

1、上传

2、显示
第三次结对作业_第3张图片

3、数据库
第三次结对作业_第4张图片

七、小结

两次结对作业中,印象比较深的是对需求分析这一块的反复的讨论和修改,一开始简单的分析客户的需求,之后在加上自己站在客户的角度上对需求的理解,最后形成所有的需求文档。只有在讨论中才有更多的ideas出现。其次是项目编程,首先没有和同学讨论好项目编码和使用的数据库,刚开始我使用SQL server 2008,而队友使用的是MySql,导致在项目整合的时候出现不可运行的情况,之后是数据库编码,出现中文不可插入的情况,一顿百度后才发现原因。暴露了缺少项目的开发经验,在测试项目,优化代码这一阶段,真的是反反复复的运行和程序,发现bug,修改bug。显示解决测试多次上传重命名问题,怎样的命名规范才是好的。而当项目可运行是时便开始优化代码和结构,怎样删减代码,调用函数比较方便,还要考虑到网页刷新后是否需要重新连接数据库等问题。

(柯晓鸿:http://www.cnblogs.com/DEVILKXH/p/4850400.html)

你可能感兴趣的:(第三次结对作业)