201771030112-刘永胜 实验二 个人项目 -《西北师范大学疫情上报系统》项目报告

项目 内容
班级博客 https://edu.cnblogs.com/campus/xbsf/nwnu2020SE
作业链接 https://www.cnblogs.com/nwnu-daizh/p/12416880.html
学习目标 了解并掌握软件工程的相关知识及其软件开发应用
这个作业在哪些方面帮助我实现学习目标 掌握软件项目个人开发流程和基本软件开发工具
Github链接 https://github.com/liuyongsheng

任务1:陈述学生疫情每日上报子系统使用体验

我觉得这个系统的优点是:
    系统在后期维护之后可以保存学生之前填过的信息,方便用户填写表格
    系统有详细的信息介绍,让人一看就知道如何填写
而缺点是:
    刚开始的时候网络有拥堵,时不时有卡的现象
    这个系统没有提醒功能,导致有时候早上忘了填写
    这个系统没有补交的窗口,导致有时候记起来而因为错过时间不能填写信息

任务2:总结详细阅读《构建之法》第1-2章、结合第2章2.3节所述PSP流程,开发一款你自己心目中的西北师范大学学生疫情每日填报系统

我选择第一类开发要求:
    1.有一个数据文件,保存了100天 2000 个教职工/学生的所有防疫信息
    2.请设计一个命令行程序
    3.支持查询某人在某一天的疫情情况
    4.查询某种数据的周/月的疫情统计情况
    5.并用柱状图显示统计结果。

任务3:完成任务2项目开发,将项目源码的完整工程文件提交到本人注册Github账号的项目仓库中

没有完成软件的开发,导致没有上传

完成个人项目报告

1. 项目背景和需求分析

    2019年12月末,中国武汉发生新型冠状病毒(2019-nCoV) 感染的肺炎疫情,为遏制疫情蔓延,有效切断病毒传播途径,在中央政府指导下,各级政府部分采取了一系列防控措施: 2020年1 月23 日10时起对武汉“封城”,全国 31个省市也相继实施了严格的防控措施;全国各省市向武汉和湖北派遣医疗队参与救治工作;在全国范围内调配口罩、防护服、药品等急需的医疗资源支援武汉;指导和督促全国范围内拥有医疗物资生产资质的企业尽快恢复生产能力;定向拨付专项财政资金用于疾病防控;从其他省份调集物资保障武汉市民日常生活。
    值得一提的是,中国互联网企业在此次疫情防控中发挥了社会治理方面的重要作用。以腾讯为例,围绕应对疫情管控需求开发了十一款产品。其中疫情在线问诊功能,对于减少发热病人之间的相互交叉感染具有重要的作用,患者在家通过互联网向在线医生问诊,减少了病毒传播或感染的风险;谣言粉碎对于公众采取理性态度看待疫情的发展具有重要意义。滴滴出行还在武汉专门组建车队,服务于医护人员的通勤,这在实施交通管制的武汉具有重要作用。此外,还有新型肺炎确诊患者同行程查询工具,用户只需要输入自己所乘坐交通工具的时间和班次,就可以确认是否与被确诊感染者同行,提前做好自我隔离和就诊工作。在疫情防控中,中国互联网企业不仅发展壮大,在承担社会责任方面也越来越成熟。
    为有效配合防控机构有关疫情信息的采集、统计与排查,我校开发了教职工/学生疫情上报系统,该系统由教职工疫情每日上报、学生疫情每日上报、二级部门疫情每日汇总表、疫情防控填报统计四个子系统组成。实现对我校各类人员基本情况、所在区域及活动轨迹及健康状况的信息收集。师生通过我校企业微信服务大厅访问该系统进行远程信息填报。
    因为疫情的因素,在导致学生无法正常到校的情况下,学校无法准确收集学生的健康信息,因此设计一个系统在网络方面来帮助学校正常的收集学生的身体健康状况。

2. 功能分析

    存储学校中学生/教职工的基本信息、所在区域、每日的健康情况;
    查询某人在某一天的疫情情况;
    查询某种数据的周/月的疫情统计情况,并用柱状图显示统计结果;
    管理员拥有可以登录系统并可以添加或删除用户信息的功能;

3.设计实现

    用户:可以查看自己的提交疫情信息,并可以查询自己某一天的情况
    管理人员:登录后台后,可以查看所有人的信息,筛选或显示柱状图

4.测试运行

5.代码展示

    package sqldemo;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement; 
    public class main {
    public static void main(String[] args) {
     //声明Connection对象
     Connection con;
     //驱动程序名
     String driver = "com.mysql.jdbc.Driver";
     //URL指向要访问的数据库名mydata
     String url = "jdbc:mysql://localhost:3306/sqltestdb";
     //MySQL配置时的用户名
     String user = "root";
     //MySQL配置时的密码
     String password = "123456";
     //遍历查询结果集
     try {
         //加载驱动程序
         Class.forName(driver);
         //1.getConnection()方法,连接MySQL数据库!!
         con = DriverManager.getConnection(url,user,password);
         if(!con.isClosed())
             System.out.println("Succeeded connecting to the Database!");
         //2.创建statement类对象,用来执行SQL语句!!
         Statement statement = con.createStatement();
         //要执行的SQL语句
         String sql = "select * from emp";
         //3.ResultSet类,用来存放获取的结果集!!
         ResultSet rs = statement.executeQuery(sql);
         System.out.println("-----------------");
         System.out.println("执行结果如下所示:");  
         System.out.println("-----------------");  
         System.out.println("姓名" + "	" + "职称");  
         System.out.println("-----------------");  
          
         String job = null;
         String id = null;
         while(rs.next()){
             //获取stuname这列数据
             job = rs.getString("job");
             //获取stuid这列数据
             id = rs.getString("ename");

             //输出结果
             System.out.println(id + "	" + job);
         }
         rs.close();
         con.close();
     } catch(ClassNotFoundException e) {   
         //数据库驱动类异常处理
         System.out.println("Sorry,can`t find the Driver!");   
         e.printStackTrace();   
         } catch(SQLException e) {
         //数据库连接失败异常处理
         e.printStackTrace();  
         }catch (Exception e) {
         // TODO: handle exception
         e.printStackTrace();
     }finally{
         System.out.println("数据库数据成功获取!!");
     }
     } 
}

6.总结

    代码没有完成,只是写了一部分,导致无法组成模块化。我设想的是通过功能划分从而进行模块化设计。

7.展示PSP

PSP2.1 任务内容 计划共完成需要的时间(min) 实际完成需要的时间(min)
Planning 计划 8 15
Estimate 估计这个任务需要多少时间,并规划大致工作步骤 8 10
Development 开发 82 1000
Analysis 需求分析 6 30
Design Spec 生成设计文档 5 60
Design Review 设计复审 4 50
Coding Standard 代码规范 (为目前的开发制定合适的规范) 3 30
Design 具体设计 10 150
Coding 具体编码 36 500
Code Review 代码复审 7 180
Test 测试(自我测试,修改代码,提交修改) 13 60
Reporting 报告 9 60
Test Report 测试报告 3 25
Size Measurement 计算工作量 2 5
Postmortem & Process Improvement Plan 事后总结 ,并提出过程改进计划 3 5
原文地址:https://www.cnblogs.com/liuyongsheng-0112/p/12520727.html