第三次结对作业

柯晓鸿: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张图片

  • git commit 日志

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

项目照片

  • 上传

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

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

小结

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

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