实验二 我的项目报告 <学生疫情管理系统>html
项目git |
内容github |
课程班级博客连接编程 |
https://edu.cnblogs.com/campus/xbsf/nwnu2020SE微信 |
这个做业要求连接函数 |
https://www.cnblogs.com/nwnu-daizh/p/12416880.html工具 |
个人课程学习目标学习 |
(1)掌握软件项目我的开发流程。测试 (2)掌握Github发布软件项目的操做方法。编码 |
这个做业在哪些方面帮助我实现学习目标 |
首先经过进行需求分析,界面设计,代码编写等这几部分工做让我对开发系统有了很大的收获。其次是经过博客做业的编写以及构造之法的 了解也让我有 了很大的收获
|
项目Github的仓库连接地址 |
https://github.com/yanzhidandang/-.git |
一,实验内容和步骤
1,项目开发背景及需求分析
(1) 需求分析
2019年12月末,中国武汉发生新型冠状病毒(2019-nCoV) 感染的肺炎疫情,为遏制疫情蔓延,有效切断病毒传播途径,在中央政府指导下,各级政府部分采起了一系列防控措施: 2020年1 月23 日10时起对武汉“封城”,全国 31个省市也相继实施了严格的防控措施;全国各省市向武汉和湖北派遣医疗队参与救治工做;在全国范围内调配口罩、防御服、药品等急需的医疗资源支援武汉;指导和督促全国范围内拥有医疗物资生产资质的企业尽快恢复生产能力;定向拨付专项财政资金用于疾病防控;从其余省份调集物资保障武汉市民平常生活。
值得一提的是,中国互联网企业在这次疫情防控中发挥了社会治理方面的重要做用。以腾讯为例,围绕应对疫情管控需求开发了十一款产品。其中疫情在线问诊功能,对于减小发热病人之间的相互交叉感染具备重要的做用,患者在家经过互联网向在线医生问诊,减小了病毒传播或感染的风险;谣言粉碎对于公众采起理性态度看待疫情的发展具备重要意义。滴滴出行还在武汉专门组建车队,服务于医护人员的通勤,这在实施交通管制的武汉具备重要做用。此外,还有新型肺炎确诊患者同行程查询工具,用户只须要输入本身所乘坐交通工具的时间和班次,就能够确认是否与被确诊感染者同行,提早作好自我隔离和就诊工做。在疫情防控中,中国互联网企业不只发展壮大,在承担社会责任方面也愈来愈成熟。
为有效配合防控机构有关疫情信息的采集、统计与排查,我校开发了教职工/学生疫情上报系统,该系统由教职工疫情每日上报、学生疫情每日上报、二级部门疫情每日汇总表、疫情防控填报统计四个子系统组成。实现对我校各种人员基本状况、所在区域及活动轨迹及健康情况的信息收集。师生经过我校企业微信服务大厅访问该系统进行远程信息填报。
(2). 功能设计
a,首先是题要求
第一类开发要求:
有一个数据文件,保存了100天 2000 个教职工/学生的全部防疫信息,请设计一个命令行程序, 支持查询某人在某一天的疫情状况, 查询某种数据的周/月的疫情统计状况,并用柱状图显示统计结果。
第二类开发要求:
1. 系统可采集学生疫情有效信息;
2. 系统支持用户在线使用;
3. 每日只可填报一次,提交后没法修改,每日十点疫情信息填报截止;
4. 各学院指定负责人登陆系统,可查看本学院学生填报的汇总数据,可点击查看学生联系方式、班主任联系方式,学院负责人核实本院全部学生数据后,将数据提交给学校防控办;
5. 学校防控办指定负责人登陆《西北师范大学疫情防控信息统计》子系统,可浏览全部学生填报汇总数据清单,经过【导出】可获取疫情数据的EXCEL文件(这一部分没有实现)。
b,经过题目要求分析所要进行的开发 系统的功能;
首先是在疫情期间采集学生的信息,我所设计的系统所采集的信息有,学号,姓名,性别,本身的联系方式,是否留校,是否感染,当前所在地区以及是否接触严重疫区人员和当日是否有发热等症状。系统支持在线使用,系统还包括经过学号来查询某个学生的状况,或者修改,删除,添加,保存等一系统功能。经过浏览学生信息能够查看学生的全部信息。
(3) 设计实现
我使用c语言来实现的,主要经过设计运行界面,以及录入学生疫情信息,浏览 学生疫情信息,查询学生疫情信息,删除学生疫情信息,添加学生 疫情信息,修改学生疫情信息,保存学生疫情 信息八个块来构成 整个系统的。
(4) 测试运行
代码运行过程展现:
(5).关键代码片断
如下部分代码是初始化窗口和界面部分代码,相比其余部分较难的一部分,里面运用了循环以及switch等语句。
//1:初始化窗口和界面 initWindow(title); initMenu(); do{//循环 printf("请选择菜单(1-8):\n"); //清除缓冲区的内容 fflush(stdin); scanf("%c",&result); //清除缓冲区的内容 fflush(stdin); if(result>='1'&&result<='8'){ switch(result){ case '1': //判断是否录入学生信息 while(1) { addStudent(stu);//调用添加学生信息的函数 printf("是否继续录入学生信息(y/n):"); scanf("%c",&choice); if(choice=='n'){ break; } } break; case '2': display(stu);//调用显示信息的函数 printf("\n"); break; case '3': find(stu);//调用查询信息的函数 break; case '4': del(stu); break; case '5': case '6': case '7': Save(stu); break; default:printf("谢谢使用!"); } } else printf("输入有误!"); }while(result!='8'); }
(6). 总结:主要经过设计运行界面,以及录入学生疫情信息,浏览 学生疫情信息,查询学生疫情信息,删除学生疫情信息,添加学生 疫情信息,修改学生疫情信息,保存学生疫情 信息八个块来构成 整个系统的。
2,疫情每日上报的系统使用体验
经过每日在西师易通进行每日的疫情上报,也有很大的感触,首先天然是以为计算机编程在人们生活中的重要性,由于有了计算机编程哪怕在当前这种状况下,照样能够统计学生天天的情况 健康与否等等 ,其次呢,经过从一开始的疫情上报一直但如今系统 中间也有了更新,从一开始要本身填写全部信息,到后面为了方便,打开以后就有以前填的全部的信息,若是从在不同的状况也能够进行修改,若是在状况同样的时候为了节省时间,能够直接提交以前所填的信息,而此次的做业也是开发一个关于学生信息上报的系统,而我在此次的系统开发过程当中也借鉴了不少学校系统上的信息,好比须要采集学生的哪些信息,都是借鉴的学校的系统上的问题。
3,简述阅读《构建之法》第1-2章、第2章2.3节所述PSP流程
PSP流程实际上就是开发系统的流程,它主要包括三个阶段,计划,开发和报告 三个阶段,
(1)计划 阶段:就是对他进行背景调查,需求分析,以及所要涉及到的因素,包括每一个阶段所须要的时间等信息;
(2)开发 阶段:就是对所要开发的项目涉及,而且找到合适的代码规范,进行具体的代码设计,以及进行测试运行等 工做;
(3)报告阶段:经过项目开发的过程来完成项目报告,对项目进行总结,改进,,以及报告工做量。而且对本身的设计开发过程心得进行总结。
PSP2.1 |
任务内容 |
计划共完成须要的时间(min) |
实际完成须要的时间(min) |
Planning |
计划 |
8 |
6 |
· Estimate |
· 估计这个任务须要多少时间,并规划大体工做步骤 |
8 |
6 |
Development |
开发 |
420 |
800 |
·· Analysis |
需求分析 (包括学习新技术) |
30 |
60 |
· Design Spec |
· 生成设计文档 |
20 |
30 |
· Design Review |
· 设计复审 (和同事审核设计文档) |
50 |
100 |
· Coding Standard |
代码规范 (为目前的开发制定合适的规范) |
15 |
25 |
· Design |
具体设计 |
30 |
100 |
· Coding |
具体编码 |
200 |
350 |
· Code Review |
· 代码复审 |
40 |
50 |
· Test |
· 测试(自我测试,修改代码,提交修改) |
35 |
85 |
Reporting |
报告 |
30 |
30 |
·· Test Report |
· 测试报告 |
10 |
10 |
· Size Measurement |
计算工做量 |
10 |
10 |
· Postmortem & Process Improvement Plan |
· 过后总结 ,并提出过程改进计划 |
10 |
10 |
由于本身的能力不够本次设计所花的时间仍是很长,尤为在开发的部分。
4,源代码提交到Github帐号中(完成)
在往github中上传代码参考这篇博客而且向已经提交的同窗请教的。
5,实验总结:
本次实验是我的项目的实验,是经过本身进行设计开发一个疫情上报系统的实验,相比前一个实验来讲算是难度上有了一个大的提高,也更具备挑战了。本次实验我是 用c 语言来完成的,由于本身自己基础比较薄弱,因此用了两天时间将代码删删改改基本实现了项目的 要求,至于不完美的地方我将在课后经过查找资料,向同窗老师请教不断学习和巩固的,也但愿在之后的实验中我能够有一点一点 的进步。