201771030103-陈正丽 实验二 个人项目-《西北师范大学学生疫情上报系统》项目报告

项目 内容
课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/nwnu2020SE
这个作业要求链接 https://www.cnblogs.com/nwnu-daizh/p/12416880.html
我的课程学习目标 1.掌握软件项目个人开发流程;2.掌握Github发布软件项目的操作方法
这个作业在哪些方面帮助我实现学习目标 一个人亲自实现所有功能,深刻体验到做项目得脚踏实地
项目Github的仓库链接地址 https://github.com/201771030103/test1

1.实验目的与要求

(1)掌握软件项目个人开发流程。

(2)掌握Github发布软件项目的操作方法。

2.实验内容和步骤

  • 项目开发背景简介

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

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

学生每日上报系统包含基本信息很详细,上报日期确定到年月日时分钟,学生每日情况信息主要是调查是否与武汉疫区有接触史,内容详细而不冗杂,而且页面清晰明了,上报信息有保存功能,下次再填报时,若无更改地方可直接提交,省时省力。我觉得可以增添一些功能,如输入某人的姓名,可以查看其当日的情况,以及展示该学院近期学生身体状况。

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

你可在以下两类开发要求选择一种完成项目开发任务:

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

第二类开发要求:
1. 系统可采集学生疫情有效信息;
2. 系统支持用户在线使用;
3. 每日只可填报一次,提交后无法修改,每日十点疫情信息填报截止;
4. 各学院指定负责人登录系统,可查看本学院学生填报的汇总数据,可点击查看学生联系方式、班主任联系方式,学院负责人核实本院所有学生数据后,将数据提交给学校防控办;
5. 学校防控办指定负责人登录《西北师范大学疫情防控信息统计》子系统,可浏览所有学生填报汇总数据清单,通过【导出】可获取疫情数据的EXCEL文件。

我选择的是第一类开发要求

一.需求分析

  • 根据要求,开发出来的系统需要满足能存储多人数据,能随时增加、删除、修改、查询某人在某一天的疫情情况,查询某种数据的周/月的疫情统计情况,将调查的信息录入文本文件,从代码部分直接读取文件即可,增加,修改,删除的信息可以保存至文本中。

二.功能设计

基本功能

  • 增加某人某天的基本疫情情况(如姓名,性别,学院等)

  • 删除某人某天的基本疫情情况

  • 修改某人某天的基本疫情情况

  • 查看某人某天的基本疫情情况

  • 查询某种数据的周的疫情统计情况

  • 查询某种数据的月的疫情统计情况

扩展功能

  • 能显示每个学院填报信息情况

  • 将增加的学生信息保存至文件

  • 从文件读入调查信息

三.设计实现

  • 主要的函数有:add, del,find , modify, save_txt, load_txt...

    • add 增加学生的填报信息

    • del 删除学生的基本信息

    • find 查找学生的基本信息

    • modify 修改学生的基本信息

    • save_txt 保存学生信息至文件中

    • load_txt 读取文件中的信息

四.测试运行

  • 选择菜单

  • 增加学生的基本信息

  • 查看某人的基本情况,当此人不存在时,显示没有符合条件的学生

  • 没有读入文件时,显示统计情况为0

  • stu.txt部分信息截图

5.代码片段

 ···

void load_txt()//从文件中读取信息
{
FILE * fp;
char fname[20];
int i=0, flag;
printf("请输入文件名:");
scanf("%s",fname);
if((fp=fopen(fname,"r"))==NULL)
{
printf("不能打开文件,文件读取失败! ");
return;
}
while(1)
{
flag=fscanf(fp, "%d %s %s %s %s %s %d %d %f",stu[i].num,
stu[i].name, &stu[i].class, &stu[i].academy, &stu[i].province, &stu[i].ifnormal,stu[i].datetime,
&stu[i].sum, &stu[i].ave);

	if(flag == EOF)
		break;
	i++; 
}
stu_num = i;
printf("从文件中成功读取%d条记录!
",i);
fclose(fp); 

}
void modify()//修改学生信息
{
char str[15], m;
int i;
printf("请输入要修改的学生学号:");
scanf("%s",str);
i = display(str);
if(i!=-1)
{
printf(" 确认修改该学生的信息吗?(y/n) ");
m = getche();
if(m'y' || m'Y')
{
printf(" 请重新输入该学生的信息 ");
printf(" 请输入学号:");
scanf("%s",stu[i].num);
printf("请输入姓名:");
scanf("%s",stu[i].name);
printf("请输入班级:");
scanf("%d",&stu[i].class);
printf("请输入学院:");
scanf("%d",&stu[i].academy);
printf("请输入省份:");
scanf("%d",&stu[i].province);
printf("请输入是否正常:");
scanf("%d",&stu[i].ifnormal);
printf("请输入时间:");
scanf("%d",&stu[i].datetime) ;

	}
	
 } 

}

···

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

6.总结

通过这次试验,我了解并掌握了做项目的基本流程,也学会了很多新知识,由于知识储备欠缺,在很多方面花费了很长时间,主要是编程的基本知识忘得差不多了,需要查找很多资料来学习,但是很多想实现的功能都没有做出来,如柱状图没有实现。在写文档方面,修修改改写得也不是很美观,在这次实验中发现的问题,在后面的时间里会加强补回来,很多东西都不是一蹴而就,在以后的学习中我会再接再厉的!

7.我的PSP

PSP 任务内容 计划共完成需要的时间(min) 实际完成需要的时间(min)
**Planning ** 计划 10 20
. Estimate . 估计这个任务需要多少时间,并规划大致步骤 10 20
Development 开发 960 1800
.. Anlysis 需求分析(包括学习新技术) 60 120
. Design Spec .生成设计文档 5 20
. Design Review .设计复审 5 6
. Coding Standard 代码规范(为目前的开发制定合适的规范) 5 6
. Design 具体设计 15 30
. Coding 具体编码 750 1140
. Coding Review 代码复审 60 120
.test .测试(自我测试、修改代码、提交修改) 60 360
Reporting 报告 38 75
..Test Report .测试报告 30 60
.Size Measurement 计算工作量 3 5
.postmortem & Process Improvement Plan .事后总结、并提出过程改进计划 5 10
原文地址:https://www.cnblogs.com/chenzhengli-/p/12507078.html