201771030113-李志龙 实验二 个人项目-《西北师范大学疫情上报系统》项目报告
项目 | 内容 |
---|---|
课程班级博客 | https://edu.cnblogs.com/campus/xbsf/nwnu2020SE |
本次作业要求链接 | https://www.cnblogs.com/nwnu-daizh/p/12416880.html |
我的课程学习目标 | 学习使用github,并且熟悉psp流程 |
这个作业在哪些方面帮助我实现学习目标 | 熟悉并掌握psp流程,即GitHub的管理 |
项目github的仓库链接地址 | https://github.com/lizhilong12/javaprojects |
实验目的与要求
(1)掌握软件项目个人开发流程
(2)掌握GitHub发布软件项目的操作方法
实验内容
任务1:陈述学生疫情每日上报系统使用体验:
第一次使用学生疫情上报系统时,是在早上的八九点钟的时候,刚要上报时,登录界面进不去,上报系统就崩溃了;在连续使用了一段时间,系统崩溃的情况已经得到了很大的改善,但是还是有点卡;最后我一般都是在凌晨的时候选择上报,错开了上报的高峰期。
任务2:总结详细阅读《构建之法》第1-2章、结合第2章2.3节所述PSP流程,开发一款你自己心目中的西北师范大学学生疫情每日填报系统。
我选择了第一类开发任务:
要求如下:
有一个数据文件,保存了100天 2000 个教职工/学生的所有防疫信息,请设计一个命令行程序, 支持查询某人在某一天的疫情情况, 查询某种数据的周/月的疫情统计情况,并用柱状图显示统计结果。
任务3:完成个人项目报告博文作业
- 需求分析:
- 要有一个数据文件,我采用数据库中的表存储个人信息,即建立了一个数据库文件,首要的是数据的采集。接着是选择开发工具,即选择了MySQL和eclipse两个开发工具。以及柱状图的显示所选择的方法。
- 功能设计:
- 可以查询某人在某一天的疫情情况;
- 还可以实现用柱状图的方式展示疫情的统计情况;
- 设计实现:
-
数据库有四张表,一张统计学生的个人信息,一张统计老师的个人信息,一张统计学生在疫情期间的情况,还有一张统计老师在疫情期间的身体情况;
-
采用命令行的方式,实现对功能的实现。
-
- 测试运行
-
查询功能的实现截图:
-
查询功能用了下面的三个类实现的:
-
柱状图的实现效果截图:
-
- 代码片段
/**
* 创建柱状图
*
* @throws Exception
*/
public UserDao() throws Exception {
CategoryDataset dataset = getDataSet();
JFreeChart chart = ChartFactory.createBarChart3D(
// 图表标题
"学生确诊情况",
// 显示的标签
"性别",
// 数值轴的显示标签
"总数",
// 数据集
dataset,
// 图表方向
PlotOrientation.HORIZONTAL,
// 是否显示图例
true,
// 是否生成工具
false,
// 是否生成URL链接
false);
// 获取图表区域对象
CategoryPlot plot = chart.getCategoryPlot();
// 垂直列表
CategoryAxis domainAxis = plot.getDomainAxis();
// 垂直标题
domainAxis.setLabelFont(new Font("黑体", Font.BOLD, 20));
// 水平标题
domainAxis.setTickLabelFont(new Font("宋体", Font.BOLD, 20));
// 显示柱状图
ValueAxis rangeAxis = plot.getRangeAxis();
rangeAxis.setLabelFont(new Font("黑体", Font.BOLD, 20));
chart.getLegend().setItemFont(new Font("黑体", Font.BOLD, 20));
// 设置标题字体的类型
chart.getTitle().setFont(new Font("宋体", Font.BOLD, 20));
frame1 = new ChartPanel(chart, true);
}
-
总结
通过本次项目的实践,进一步熟悉了博客的编辑,并且掌握了github的操作。同时也在实践中发现了自己的不足之处,尤其是在某些特定功能的实现上,明显缺乏足够的经验。在此次项目中就在柱状图这一块花费了好多时间,最后终于算是整出来了,但是看起来有点别扭,还需要我进一步的思索和改进。这也就是为什么我要把这段代码放在我的博客中的原因。也就是遇到的麻烦越多,最后的收获越多。 -
展示PSP
PSP | 任务内容 | 计划共需的时间(min) | 实际所需的时间(min) |
---|---|---|---|
planning | 计划 | 30 | 20 |
Estimate | 估计这个任务所需时间,并作规划 | 30 | 40 |
Development | 开发 | 600 | 800 |
Analysis | 需求分析 | 300 | 240 |
Design Spec | 生成设计文档 | 30 | 30 |
Design Review | 设计复审(和同事审核设计文档) | 0 | 0 |
Coding Standard | 代码规范 (为目前的开发制定合适的规范) | 20 | 20 |
Design | 具体设计 | 200 | 150 |
Coding | 具体编码 | 400 | 450 |
Code Review | 代码复审 | 150 | 130 |
Test | 测试 | 50 | 200 |
Reporting | 报告 | 50 | 50 |
Test Report | 测试报告 | 30 | 45 |
Size Measurement | 计算工作量 | 20 | 10 |
Postmortem & Process Improvement Plan | 事后总结,并提出过程改进计划 | 10 | 30 |