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

项目 内容
课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/nwnu2020SE
这个作业要求链接 https://www.cnblogs.com/nwnu-daizh/p/12416880.html
我的课程学习目标 通过课堂以及课后各种资源的学习,了解掌握软件工程知识,提高相关专业知识能力,完成实验二
这个作业在哪些方面帮助我实现学习目标 (1)课学习到如何自己尝试开发一个系统
参考文献 [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
flag=True
print("1、查询个人信息\n 2、统计月记录\n 3、统计周记录\n 4、统计武汉籍学生\n 5、结束查询\n");

while(flag): 
    num=int(input("请输入选择:"))
    conn=pymssql.connect("DESKTOP-7LFH1ML\SQL20147","sa","000118","2020nocv")#连接数据库
    cursor=conn.cursor()
    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
/*关闭数据库*/    
cursor.close()
conn.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|

猜你喜欢

转载自www.cnblogs.com/Weiron/p/12521409.html
今日推荐