• 201771010110-孔维滢 实验二 个人项目—《西北师范大学学生疫情上报系统》项目报告


    项目 内容
    课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/nwnu2020SE
    这个作业要求链接 https://www.cnblogs.com/nwnu-daizh/p/12416880.html
    我的课程学习目标 通过课堂以及课后各种资源的学习,了解掌握软件工程知识,提高相关专业知识能力,完成实验二
    这个作业在哪些方面帮助我实现学习目标 (1)通过课上以及课后的学习,掌握如何自己尝试开发一个系统
    Github代码托管地址 (https://github.com/Wei-Ron/-.git)
    参考文献 [1]邹欣. 构建之法——现代软件工程[M]. 人民邮电出版社, 2014.

    任务1

    在企业微信中对于每天需要打卡的疫情上报系统,我的体验是:

    • 起初的一点就是每天都需要重复填写相同的内容,因为疫情期间我们都是待在家中,所以所填写的信息都是没有改变的,因此希望一些固定不变的信息可以默认填写。

    • 后来系统会先默认填写信息,但是我发现有一个bug,如图,默认的填写信息里,如果不是今天返校的话不应该填写详细行程过程,但是打开后默认填写的状态下会出现这种情况。

    • 再者就是没有提醒功能,由于每天早上十点之前就要填写,但是有时候早上有课就会忘记填写。

    • 我认为系统应该添加一个填写地址自动定位的功能,来确保每个人都是安全在家。

    任务2

    • 总结详细阅读《构建之法》第1-2章、结合第2章2.3节所述PSP流程,开发一款你自己心目中的西北师范大学学生疫情每日填报系统。你可在以下两类开发要求选择一种完成项目开发任务:

    第一类开发要求:

    -- 有一个数据文件,保存了100天 2000 个教职工/学生的所有防疫信息,请设计一个命令行程序, 支持查询某人在某一天的疫情情况,  查询某种数据的周/月的疫情统计情况,并用柱状图显示统计结果。
    

    第二类开发要求:

     1. 系统可采集学生疫情有效信息;
     2. 系统支持用户在线使用;
     3. 每日只可填报一次,提交后无法修改,每日十点疫情信息填报截止;
     4. 各学院指定负责人登录系统,可查看本学院学生填报的汇总数据,可点击查看学生联系方式、班主任联系方式,学院负责人核实本院所有学生数据后,将数据提交给学校防控办;
     5. 学校防控办指定负责人登录《西北师范大学疫情防控信息统计》子系统,可浏览所有学生填报汇总数据清单,通过【导出】可获取疫情数据的EXCEL文件。
    
    • 需求分析
      -- 首先实现程序之前需要建立一个保存师生信息的数据库;
      -- 其次,支持每个师生能够查询某一天某人的疫情信息;
      -- 然后,可以支持查询某个特定信息的数据某一周或者某个月的汇总,并且能够用柱状图直观的显示出来。
    • 设计实现
    建立数据库

    -- 分别建立不同的函数来实现数据库中信息的查询
    1.实现每个人的疫情信息查询

    def studentinfo(id,name):
    

    2.实现统计每月疫情汇总

    def month_infection():
    

    3.实现统计每周疫情汇总

    def week_infection():
    
    1. 实现统计武汉籍人员
    def fromWuhan():
    

    -- 连接数据库,实现命令行查询

    import  pymssql
    import numpy as np  
    import matplotlib.mlab as mlab  
    import matplotlib.pyplot as plt
    
    sql_file = '2020ncov.sql'
    sql = open(sql_file, 'r', encoding = 'utf8')
    sqltxt = sql.readlines()
    
    flag=True
    print("1、查询个人信息
     2、统计月记录
     3、统计周记录
     4、统计武汉籍学生
     5、结束查询
    ");
    
    while(flag): 
        num=int(input("请输入选择:"))
        
        while(flag):
    /*查询结束*/      
            if(num==5):
                print("查询结束")
                break
    /*信息查询*/
            elif(num==1):
                id=input("请输入编号:").strip()
                name=input("请输入姓名:").strip()
                studentinfo(id,name)
                break
    /*月查询*/
            elif(num==2):
                if(flag==True):
                    month_infection()
                    break
    /*周查询*/
            elif(num==3):
                if(flag==True):
                     week_infection()
                     break
    /*武汉籍查询*/
            elif(num==4):
                if(flag==True):
                     fromWuhan()
                     break
    /*关闭数据库*/    
    sql.close()
    




    任务3

    • 完成任务2项目开发,将项目源码的完整工程文件提交到本人注册Github账号的项目仓库中。
      已提交
      (https://github.com/Wei-Ron/-.git)

    总结

    • 这次试验总体来说没有很好的完成,不论是起初的设计还是在写代码阶段我都没有很好的完成,因为有一个学期多我没有接触过项目开发一类的课程,导致在基本功方面变得很生疏,并且数据库在连接时出现了问题,在所完成的查询中,没有实现有用的功能,没有很直观很全面的体现出一个能够反馈疫情系统的价值。所以这次实验我认为是不合格的,在后面我会更好的改正并学习。
    PSP 内容 计划完成需要的时间(min) 实际完成需要的时间(min)
    Planning 计划 20 30
    *Estimate 预计开发时长,规划大致工作步骤 10 60
    Development 开发 1130 1250
    *Analysis 需求分析 (包括学习新技术) 20 30
    *Design Spec 生成设计文档 20 30
    *Design Review 设计复审 (和同学审核设计文档) 20 30
    *Coding Standard 代码规范 (为目前的开发制定合适的规范) 20 30
    *Design 具体设计 20 30
    *Coding 具体编码 500 600
    *Code Review 代码复审 100 300
    *Test 测试(自我测试,修改代码,提交修改 100 60
    *Reporting 报告 50 60
    *Test Report 测试报告 60 70
    *Size Measurement 计算工作量 10 10
    *Postmortem & Process Improvement Plan 事后总结 ,并提出过程改进计划 20 30
  • 相关阅读:
    开发者最好的推广平台
    [ERR] 2006
    PS通道
    PS图层样式
    PS 图层 蒙版
    科研狗的基本绘图技巧 | PS | AI
    memcached的常规操作:增删改查【转】
    mysql:pt-online-schema-change 在线修改表、删除表数据【转】
    HAProxy的四层与七层的区别及透传IP实战案例【转】
    【springBoot】SpringBoot修改启动logo图案
  • 原文地址:https://www.cnblogs.com/Weiron/p/12521409.html
Copyright © 2020-2023  润新知