项目 | 内容 |
课程班级博客链接 | 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():
- 实现统计武汉籍人员
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 |