201771030114-马强 实验三 结对项目—《西北师范大学疫情防控信息系统》项目报告

项目 内容
班级博客链接 https://edu.cnblogs.com/campus/xbsf/nwnu2020SE
作业要求链接 https://www.cnblogs.com/nwnu-daizh/p/12521474.html
学习目标 掌握软件项目个人开发流程及Github发布软件项目的操作方法。
本作业在哪方面帮我完成学习目标 根据实际需求独立开发项目
对方姓名学号 201771030113-李志龙
结对方博客链接 https://www.cnblogs.com/zhilong12/p/12573950.html
github仓库地址 https://github.com/AlexCrizs/yiqing2.0

实验步骤和内容

任务一:阅读《现代软件工程—构建之法》第3-4章内容,理解并掌握代码风格规范、代码设计规范、代码复审、结对编程概念;


##任务二:两两自由结对,对结对方《实验二 软件工程个人项目》的项目成果进行评价: (1)对项目博文作业进行阅读并进行评论,将评论内容发布到博客评论区。




(2)clone结对方项目源码到本地机器,阅读并测试运行代码,参照《现代软件工程—构建之法》4.4.3节核查表复审同伴项目代码并记录。



fork对方项目到我的仓库,并进行pull等操作

概要部分

  • 代码能符合需求和规格说明么?
    答:符合需求与规格
  • 代码设计是否有周全考虑?
    答:考虑地不是很全面,还是存在问题,功能还需完善
  • 代码可读性如何?
    答:符合规范,可读性高,解释的很清楚,容易理解
  • 代码容易维护么?
    答:还好,比较容易维护
  • 代码的每一行都执行并检查过了吗?
    答:是的

设计规范部分

  • 设计是否遵从已知的设计模式或项目中常用的模式?
    答:是的
  • 有没有硬编码或字符串/数字等存在?
    答:没有
  • 代码有没有依赖于某一平台,是否会影响将来的移植(如Win32到Win64)
    答:不会影响
  • 开发者新写的代码能否用已有的Library/SDK/Framework中的功能实现?在本项目中是否存在类似的功能可以调用而不用全部重新实现?
    答:可以;存在
  • 有没有无用的代码可以清除?
    答:已经整理完成

代码规范部分

  • 修改的部分符合代码标准和风格么(详细条文略)?
    答:符合

具体代码部分

  • 有没有对错误进行处理?对于调用的外部函数,是否检查了返回值或处理了异常?
    答:有对错误进行处理,并对调用的外部函数,检查了返回值且处理了异常
  • 参数传递有无错误,字符串的长度是字节的长度还是字符(可能是单/双字节)的长度,是以0开始计数还是以1开始计数?
    答:基本无错误,字符串的长度是字节的长度,以0开始计数。
  • 边界条件是如何处理的?Switch语句的Default是如何处理的?循环有没有可能出现死循环?
    不断测试改进,不会出现死循环
  • 有没有使用断言(Assert)来保证我们认为不变的条件真的满足?
    答:目前没有
  • 对资源的利用,是在哪里申请,在哪里释放的?有没有可能导致资源泄露(内存、文件、各种GUI资源、数据库访问的连接,等等)?有没有可能优化?
    答:jdbc访问时申请,访问结束后断开,不会导致资源泄漏,有可能优化
  • 数据结构中是否有无用的元素?
    答:目前没有找到

效能

  • 代码的效能(Performance)如何?最坏的情况是怎样的?
    答:效能一般,最差情况是访问速度很慢
  • 代码中,特别是循环中是否有明显可优化的部分(C++中反复创建类,C#中 string 的操作是否能用StringBuilder 来优化)?
    答:可能有,不过能力不够,只能做到这
  • 对于系统和网络调用是否会超时?如何处理?
    答:没有出现过超时现象

可读性

  • 代码可读性如何?有没有足够的注释?
    答:代码可读性一般,有注释

可测试性

  • 代码是否需要更新或创建新的单元测试?还可以有针对特定领域开发(如数据库、网页、多线程等)的核查表
    不需要
  • 依据复审结果尝试利用github的Fork、Clone、Push、Pull request、Merge pull request等操作对同伴个人项目仓库的源码进行合作修改。
    fork

    pullrequest等操作


任务三:采用两人结对编程方式,结合我校师生疫情每日上报系统使用体验,设计开发一款符合我校疫情防控工作需求的信息系统,使之具有以下功能:

(1)可采集全校各类师生员工疫情信息;


(2)各二级部门疫情防控工作负责人可查看本部门人员疫情汇总,并提供高级查询功能进行多属性组合查询和可视化统计功能;


(3)学校防控办指定负责人登录《西北师范大学疫情防控信息统计》子系统,可浏览所有人员填报汇总数据清单,利用【高级查询】可进行数据组合筛选,系统以图形化方式展示各学院已填报和未填报学生统计情况和关键疫情数据统计情况,可【导出】查询列表的EXCEL文件;


(4)人机交互界面要求GUI界面(WEB页面、APP页面都可);

1.需求分析

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

2.功能设计

基本功能

  • 系统可采集学生疫情有效信息;
  • 学生在前端提交信息到管理员端;
  • 各学院指定负责人登录系统,可查看学生填报的所有汇总数据
  • 负责人可根据学生的姓名,学院,查找相关信息
  • 负责人通过【导出】可获取疫情数据的EXCEL文件
  • 负责人可通过图形化方式查看各学院的疫情数据统计情况

3.设计实现

(1)数据库建立了四个表分别存储教师、学生、二级部和防控办的信息

(2)eclipse工程目录及类的设计与分析

controller是控制层,servlet数据层,还有实现层等等,servlet中有教师类和学生类,用来定义他们的属性

(3)登陆页面









(4)登记填报



(5)校防控办查看



(6)二级部门查询


(7)柱状图查看 ![](https://img2020.cnblogs.com/blog/1946388/202003/1946388-20200328170753845-1112737498.png)
(8)Excel导出 ![](https://img2020.cnblogs.com/blog/1946388/202003/1946388-20200328170836186-62077658.png)
![](https://img2020.cnblogs.com/blog/1946388/202003/1946388-20200328170850489-2047271514.png)
(9)附加提醒功能没有实现 ###4.两人合作的截图 ![](https://img2020.cnblogs.com/blog/1946388/202003/1946388-20200328173956036-1943402258.png)
##总结 这次实验比上一次有很大的进步,预计时间和实际时间的差距缩小了很多,这次项目在前期计划上更加的合理,实验功能完成的比上一次要好,但遗憾的是,提醒功能没有完成,后续开发中会持续更新 这次最重要的是两个人结对编程,真正意义上的实现了1+1>2的效果,实验的效率提高了很多,互相之间可以取长补短,大大缩短了开发时间。希望以后可以共同努力,做出更好的作品。

猜你喜欢

转载自www.cnblogs.com/AlexCrizs/p/12587824.html
今日推荐