201771030125-王英雪 实验二 个人项目-《西北师范大学学生疫情上报系统》项目报告
项目 | 内容 |
---|---|
课程班级博客链接 | https://edu.cnblogs.com/campus/xbsf/nwnu2020SE |
这个作业要求链接 | https://www.cnblogs.com/nwnu-daizh/p/12416880.html |
我的课程学习目标 | (1)掌握项目开发流程 (2)学习Github发布软件项目的操作方法 |
这个作业在哪些方面帮助我实现学习目标 | 软件项目的开发以及PSP |
项目Github的存库链接地址 | https://github.com/wyx-candy/test4.git |
一、实验目的与要求
(1)掌握软件项目个人开发流程。
(2)掌握Github发布软件项目的操作方法。
二、实验内容和步骤
项目开发背景简介:
2019年12月末,中国武汉发生新型冠状病毒(2019-nCoV) 感染的肺炎疫情,为遏制疫情蔓延,有效切断病毒传播途径,中国互联网企业在此次疫情防控中发挥了社会治理方面的重要作用。以腾讯为例,围绕应对疫情管控需求开发了十一款产品。其中疫情在线问诊功能,对于减少发热病人之间的相互交叉感染具有重要的作用,患者在家通过互联网向在线医生问诊,减少了病毒传播或感染的风险;谣言粉碎对于公众采取理性态度看待疫情的发展具有重要意义。。
为有效配合防控机构有关疫情信息的采集、统计与排查,我校开发了教职工/学生疫情上报系统,该系统由教职工疫情每日上报、学生疫情每日上报、二级部门疫情每日汇总表、疫情防控填报统计四个子系统组成。实现对我校各类人员基本情况、所在区域及活动轨迹及健康状况的信息收集。师生通过我校企业微信服务大厅访问该系统进行远程信息填报。
任务1:陈述学生疫情每日上报子系统使用体验
- 我第一天填报的时间大约9.40由于该系统10点结束提交所以有很多同学都是在将近10点提交导致系统崩溃,第二次使用时避开了高峰期便能正常填报使用但提交的内容不会被保存下来,每次都要重新输入自己的信息比较麻烦,之后系统就能自动保存你提交的信息如果没有异样你只需轻轻点一下提交就可以了,如果有不符合的信息你也可以在已有的信息上做修改即可。最近我有好多次10点左右提交没有网络拥堵的情况说明该系统开发人员已经将该系统升级更加方便大家使用。
任务2:总结详细阅读《构建之法》第1-2章、结合第2章2.3节所述PSP流程,开发一款你自己心目中的西北师范大学学生疫情每日填报系统
1.需求分析
- 有一个数据文件,保存了100天 2000 个教职工/学生的所有防疫信息,请设计一个命令行程序, 支持查询某人在某一天的疫情情况, 查询某种数据的周/月的疫情统计情况,并用柱状图显示统计结果。
2.功能设计
- 基本功能:多维度实现疫情查询功能即可以查询所有疫情情况同时也可以查询某人在某一天的疫情情况其次还可以查询某种数据一周或者一个月的疫情信息。
3.设计实现
- 创建动态项目并通过JDBC连接mysql数据库,在数据库中创建test表用来存放疫情相关信息。
- 用函数实现所有疫情信息的查询以及某人某天疫情信息的查询
4.测试运行
- 查询所有疫情信息
- 查询某人某天疫情信息
5.代码片段
-查询所有疫情信息
//查询全部疫情信息
public void queryall() {
Connection con =mysqldemo.getCon();
Statement state = null;
ResultSet rs = null;
System.out.println("\n学号" + "\t\t" + "姓名" + "\t\t" + "学院" + "\t\t" + "是否确诊"+"\t\t"+"日期" );
System.out.println("**************************************************************************************");
String sql = "select * from test";
try {
state = con.createStatement();
rs = state.executeQuery(sql);
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
String academy = rs.getString("academy");
String ill = rs.getString("ill");
Date date=rs.getDate("date");
System.out.println(id + "\t" + name + "\t\t" + academy + "\t\t" + ill+ "\t\t" + date );
System.out.println();
}
}
6.总结
- 此次实验与上一次实验相比较难度明显加大,虽然之前学过java以及数据库但课本没有带回家有许多知识点很模糊导致自己在数据库连接上花费了很长时间,也在一些细节问题花费了大量时间,不过也学习了新的知识通过PSP对整个项目实施过程进行计划与管理,有助于提高效率,最终由于时间原因与自身编程能力的不足有一些功能没能实现,以后会多在这方面下功夫。
7.展示PSP
PSP2.1 | 任务内容 | 计划共完成需要的时间(min) | 实际共完成需要的时间(min) |
---|---|---|---|
Planing | 计划 | 25 | 45 |
Estimate | 估计这个任务需要多长时间,并规划大致工作步骤 | 40 | 45 |
Development | 开发 | 1700 | 2300 |
Analysis | 需求分析(包括学习新技术) | 20 | 30 |
Design Spec | 生成设计文档 | 0 | 0 |
Design Review | 设计复审(和同事审核设计文档) | 0 | 0 |
Coding Standard | 代码规范(为目前的开发制定合适的规范 | 10 | 10 |
Design | 具体设计 | 60 | 100 |
Coding | 具体编码 | 1200 | 1500 |
Code Review | 代码复审 | 10 | 20 |
Test | 测试 | 30 | 40 |
Reporting | 报告 | 200 | 240 |
Test Report | 测试报告 | 60 | 60 |
Size Measurement | 计算工作量 | 10 | 10 |
Postmortem & process Improvement Plan | 事后总结并提出过程改进计划 | 60 | 80 |