202308-啊对对队 实验四:软件开发案例(1)

202308-啊对对队 实验四:软件开发案例(1)

项目 内容
班级博客链接 2023春软件工程2020级计算机科学与技术
本次作业要求链接 实验四:软件开发案例(1))
团队名称 啊对对队
团队课程学习目标 (1)软件开发环境部署;(2)练习mysql数据库创建和连接访问技术;(3)掌握数据库应用程序开发技术。
本次作业在哪些方面帮助团队实现学习目标 学习和巩固软件开发相关知识,对优秀案例进行学习和总结
团队博客链接 啊对对队

一、实验要求与目的

  1. 软件开发环境部署;

  2. 练习mysql数据库创建和连接访问技术;

  3. 掌握数据库应用程序开发技术。

二、实验内容与步骤

  1. 任务1:用户综合管理软件开发环境配置
  • 创建用户综合管理软件的Java web项目,项目名称自拟。
    image

  • 在项目中添加mysql的驱动支持包并配置c3p0数据库连接池。

  • 分别用手工或脚本方式创建mysql数据库及表。

    • 创建MySQL数据库及表并添加数据代码展示
      image
    • 使用navicat premiumMy MySQL可视化工具查看数据库及表数据
      image
  • 将用户综合管理软件案例代码导入到项目中。
    image

  • 在Tomcat服务器中部署项目。
    image

  • 测试运行用户信息的查询、更新、删除、显示等操作。(注:查询,更新等操作依据为用户id号,数据库id号自动增长)

    • 对用户信息进行添加操作
      image

    • 添加结果显示

      • 添加成功
        image

      • 添加失败
        image

    • 对用户信息进行查询操作
      image

    • 查询结果显示

      • 查询成功
        image
      • 查询失败
        image
    • 对用户信息进行更新
      image

    • 更新结果显示

      • 修改成功
        image

      • 修改失败
        image

    • 对用户进行删除
      image

    • 删除结果显示

      • 删除成功
        image
      • 删除失败image
  1. 任务二:用户综合管理软件增量开发
  • 为案例软件开发软件入口主界面,作为查询、更新、删除、显示的功能导航页面。

    • 首页
      image
    • 导航栏
      image
  • 为案例软件开发一个新功能,可将excel文件的用户信息批量导入数据库。

    • 读取excel表格数据主要代码
      • 前台

          					fileReader.addEventListener("load", ev => {
          				
                                                      try {
                                                              var data = ev.target.result;
                                                              var workbook = XLSX.read(data, {
                                                                      type: "binary" // 以二进制读取得到excel整份表格数据
                                                              });
                                                      } catch (err) {
                                                              this.file = null;
                                                              this.users = [];
                                                              fileInput.value = "";
                                                              alert("文件格式不支持,仅支持Excel工作表文件!");
                                                              return;
                                                      }
                                                      var fromTo = "";
                                                      for (var sheet in workbook.Sheets) {
                                                              if (workbook.Sheets.hasOwnProperty(sheet)) {
                                                                      fromTo = workbook.Sheets[sheet]["!ref"];
                                                                      if (fromTo != undefined) {
                                                                              this.users = XLSX.utils.sheet_to_json(workbook.Sheets[sheet]);
                                                                      }
                                                              }
                                                      }
                                              });
        
                                              fileReader.readAsBinaryString(this.file);
        
      • 后台获取前台传递的excel表格数据并将数据保存在数据库中

                  if (!"".equals(usersString)) {
         			JSONArray jsonArray = JSON.parseArray(usersString);
                     List<User> users = new ArrayList<User>();
                     String msg = "";
                     for (Object object : jsonArray) {
                             User user = JSON.toJavaObject(JSON.parseObject(object.toString()), User.class);
                             boolean flag = Model.insertUser(user.getUname(), user.getUphone(), user.getUsex(), user.getUage());
                             if (flag) {
                                     msg += user.getUname() + ":添加成功!<br/>";
                             }else {
                                     msg += user.getUname() + ":添加失败, 原因:用户已存在!<br/>";
                             }
                             users.add(Model.getByPhone(user.getUphone()));
                     }
                     String uString = JSON.toJSONString(users);
                     session.setAttribute("users", uString);
                     session.setAttribute("msg", msg);
                     session.setAttribute("color", "black");
             } else {
                     session.setAttribute("msg", "数据不能为空!");
                     session.setAttribute("color", "red");
             }
        
             response.sendRedirect("insertShow.jsp");
        
      • excel表格数据
        image

      • 选择excel文件进行添加
        选择文件数据回显
        image
        结果显示
        image

  • 将任务1与任务2完成的用户综合管理软件源码上传到团队github仓库。

三、实验总结

  1. 任务完成时间(单位:h)
任务内容 预计花费时间(h) 实际花费时间(h)
1.创建用户综合管理软件的Java web项目,项目名称自拟 0.1 0.1
2.在项目中添加mysql的驱动支持包 0.1 0.1
3.分别用手工或脚本方式创建mysql数据库及表 0.5 0.2
4.将用户综合管理软件案例代码导入到项目中 3 8
5.在Tomcat服务器中部署项目 1 0.5
6.测试运行用户信息的查询、更新、删除、显示等操作 2 5
7.为案例软件开发软件入口主界面,作为查询、更新、删除、显示的功能导航页面 0.5 0.3
8.为案例软件开发一个新功能,可将excel文件的用户信息批量导入数据库 1 0.5
9.将任务1与任务2完成的用户综合管理软件源码上传到团队github仓库 0.5 0.5

2.成员分工

成员 分工
赵嘉旺 建立数据库并导入驱动,撰写博客
杨炜 完成增量开发,并优化项目结构,撰写博客
李锋斌 创建项目导入案例文件并配置tomcat,撰写博客

3.实验心得体会

成员 心得体会
赵嘉旺 通过本次实验,我锻炼了自己的Java web开发和MySQL数据库设计与应用的能力,通过团队协作,我也更加了解了团队协作开发的重要性和操作方法。在今后的学习和工作中,我将更加注重协作与沟通,不断提升自己的综合能力。
杨炜 通过本次实验,我深入学习了Java web的开发技术,以及UI设计的相关知识。在团队合作中,我也更加了解了如何分配任务、分工协作以及相互配合的重要性。通过这次实验,我不仅锻炼了自己的技术能力,也更加了解了团队协作开发的重要性,也加深巩固了自己以前所学的相关知识
李锋斌 在本次实验中,我学到了如何使用Java web技术和MySQL数据库开发一个用户综合管理软件,并且通过团队协作的方式完成了增量开发。在这个过程中,我发现团队协作对于软件开发来说非常重要,只有相互沟通和配合才能取得好的效果。
posted @ 2023-04-27 22:41  啊对对队  阅读(165)  评论(0编辑  收藏  举报