项目 | 内容 |
---|---|
课程班级博客连接 | https://edu.cnblogs.com/campus/xbsf/nwnu2020SE |
本次做业要求连接 | http://www.javashuo.com/article/p-meyvhbuv-mp.html |
个人课程学习目标 | 根据目前所学知识进行软件开发 |
这个做业在哪些方面帮助我实现学习目标 | 学会软件开发的流程 |
项目Github的仓库连接地址 | https://github.com/Eason1011/SSM |
(1)掌握软件项目我的开发流程。html
(2)掌握Github发布软件项目的操做方法。前端
(1)第一天使用由于人数过多,系统出现了一些问题,在修改以后能够很好地使用。java
(2)界面比较简洁,刚开始没有记忆功能,天天都要从新输入信息,后面进行了修改。git
(3)功能比较单一,没有提醒功能,很容易遗忘。github
我选择第二类开发要求数据库
系统外观设计比较简约,操做很简便。后端
系统支持用户在线使用app
每日只可填报一次,提交后没法修改,每日十点疫情信息填报截止框架
各学院指定负责人登陆系统,可查看本学院学生填报的汇总数据,可点击查看学生联系方式、班主任联系方式,学院负责人核实本院全部学生数据后,将数据提交给学校防控办前后端分离
学校防控办指定负责人登陆《西北师范大学疫情防控信息统计》子系统,可浏览全部学生填报汇总数据清单,经过【导出】可获取疫情数据的EXCEL文件
基本功能:
扩展功能:
数据库设计了四张表,分别为管理员表,学院表,学生疫情表和字典表。
学生类实现了疫情信息采集,上报到后台,保存当前上报时间等功能
管理员类实现了登陆,学生疫情查看,根据不一样信息进行查询,修改和删除以及信息导出到Excel等功能。
代码运行截图:
基本功能截图:
前端登陆及学生上报界面
学生上报界面截图
提交成功截图
后台界面截图
导出功能截图
数据导出到Excel
GitHub使用截图
扩展功能截图
后台查询功能
后台修改和删除功能
分页功能
粘贴了关于分页的一部分代码:
@Override public int doStartTag() throws JspException { JspWriter writer = pageContext.getOut(); HttpServletRequest request = (HttpServletRequest) pageContext.getRequest(); Page page = (Page) request.getAttribute(bean); if (page == null) return SKIP_BODY; url = resolveUrl(url, pageContext); try { // 计算总页数 int pageCount = page.getTotal() / page.getSize(); if (page.getTotal() % page.getSize() > 0) { pageCount++; } writer.print("<nav><ul class=\"pagination\">"); // 显示“上一页”按钮 if (page.getPage() > 1) { String preUrl = append(url, "page", page.getPage() - 1); preUrl = append(preUrl, "rows", page.getSize()); writer.print("<li><a href=\"" + preUrl + "\">上一页</a></li>"); } else { writer.print("<li class=\"disabled\"><a href=\"#\">上一页</a></li>"); } // 显示当前页码的前2页码和后两页码 // 若1 则 1 2 3 4 5, 若2 则 1 2 3 4 5, 若3 则1 2 3 4 5, // 若4 则 2 3 4 5 6 ,若10 则 8 9 10 11 12 int indexPage = (page.getPage() - 2 > 0) ? page.getPage() - 2 : 1; for (int i = 1; i <= number && indexPage <= pageCount; indexPage++, i++) { if (indexPage == page.getPage()) { writer.print("<li class=\"active\"><a href=\"#\">" + indexPage + "<span class=\"sr-only\">(current)</span></a></li>"); continue; } String pageUrl = append(url, "page", indexPage); pageUrl = append(pageUrl, "rows", page.getSize()); writer.print("<li><a href=\"" + pageUrl + "\">" + indexPage + "</a></li>"); } // 显示“下一页”按钮 if (page.getPage() < pageCount) { String nextUrl = append(url, "page", page.getPage() + 1); nextUrl = append(nextUrl, "rows", page.getSize()); writer.print("<li><a href=\"" + nextUrl + "\">下一页</a></li>"); } else { writer.print("<li class=\"disabled\"><a href=\"#\">下一页</a></li>"); } writer.print("</nav>"); } catch (IOException e) { e.printStackTrace(); } return SKIP_BODY; }
因为水平有限,只能按照SSM框架的模式进行“模块化”原则,尽可能作到各个层级之间互不干扰。因为是我的完成项目,模块化没有很好地体现,后续在小组项目中会更加注意。
PSP | 任务内容 | 计划共完成须要的时间(min) | 实际完成须要的时间(min) |
---|---|---|---|
Planning | 计划 | 40 | 30 |
·Estimate | 估计这个任务须要多少时间,并规划大体工做步骤 | 40 | 30 |
Development | 开发 | 1000 | 1100 |
·Analysis | 需求分析 (包括学习新技术) | 300 | 250 |
·Design Spec | 生成设计文档 | 20 | 20 |
·Design Review | 设计复审 (和同事审核设计文档) | 0 | 0 |
·Coding Standard | 代码规范 (为目前的开发制定合适的规范) | 15 | 15 |
·Design | 具体设计 | 150 | 120 |
·Coding | 具体编码 | 335 | 445 |
·Code Review | 代码复审 | 120 | 100 |
·Test | 测试(自我测试,修改代码,提交修改) | 60 | 150 |
Reporting | 报告 | 60 | 90 |
·Test Report | 测试报告 | 30 | 50 |
·Size Measurement | 计算工做量 | 20 | 10 |
· Postmortem & Process Improvement Plan | 过后总结,并提出过程改进计划 | 10 | 30 |
计划阶段对所需的软件及环境进行了整合,以及前端界面的设计。
开发阶段因为我的水平有限,在编码过程花费了很长时间,修改小bug比较费时。
代码测试阶段因为一些逻辑上的问题,查找后台逻辑花费了一些时间。
小记
经过此次系统开发,我对软件开发的流程有了必定的了解,再也不是之前那种直接开始写代码的过程。了解以后对软件的开发效率有很好的提升做用。
SSM框架做为最基本的java后台开发,有必定的优势和缺点,相比于SpringBoot框架有些过程倒是比较复杂。之后要抓紧学习SpringBoot这个框架,运用到之后的开发中。
JavaScript对处理前端界面的一些问题确实很是强大。