• 201771010132-徐思 实验三 结对项目-《西北师范大学疫情防控信息系统》


    项目 内容
    课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/nwnu2020SE/
    这个作业要求链接 https://www.cnblogs.com/nwnu-daizh/p/12521474.html
    我的课程学习目标 (1)练习结对编程(2)掌握Github协作开发程序的操作方法。
    这个作业在哪些方面帮助我实现学习目标 通过结对编程,互相学习,在学习编程方面很有帮助
    结对方姓名-学号 杨其菊-201771010134
    结对方本次博客作业链接 https://www.cnblogs.com/yqj-yf-111/p/12588932.html
    项目Github的仓库链接地址 https://github.com/sisi-713/test

    任务2:两两自由结对,对结对方《实验二 软件工程个人项目》的项目成果进行评价

    结对方博客链接:https://www.cnblogs.com/yqj-yf-111/p/12508399.html

    结对方Github项目仓库链接:https://github.com/Tanya11010

    博客评论:

    代码核查表:

    • 1.概要部分
      1)代码符合需求和规格说明么?
      答:基本符合。

      2)代码设计是否考虑周全?
      答:考虑较为周全。

      3)代码可读性如何?
      答:可读性较高。

      4)代码容易维护么?
      答:较易维护。

      5)代码的每一行都执行并检查过了吗?
      答:已检查。

    • 2.设计规范部分
      1)设计是否遵从已知的设计模式或项目中常用的模式?
      答:基本遵从。

      2)有没有硬编码或字符串/数字等存在?
      答:没有。

      3)代码有没有依赖于某一平台, 是否会影响将来的移植(如Win32到Win64) ?
      答:没有。

      4)开发者新写的代码能否用已有的Library/SDK/Framework中的功能实现?在本项目中是否存在类似的功能可以调用而不用全部重新实现?
      答:可以实现,不存在。

      5)有没有无用的代码可以清除?
      答:已经清除。

    • 3.代码规范部分
      1)修改的部分符合代码标准和风格么(详细条文略) ?
      答:基本符合。

    • 4.具体代码部分
      1)有没有对错误进行处理?对于调用的外部函数,是否检查了返回值或处理了异常?
      答:有对错误进行处理,对于调用的外部函数,检查了返回值,处理了异常。

      2)参数传递有无错误,字符串的长度是字节的长度还是字符(可能是单/双字节)的长度,是以0开始计数还是以1开始计数?
      答:基本没有错误,字符串的长度时字符的长度,从0开始计数。

      3)边界条件是如何处理的?switch语句的default分支是如何处理的?循环有没有可能出现死循环?
      答:通过限制长度,没有出现死循环。

      4)有没有使用断言( Assert)来保证我们认为不变的条件真的得到满足?
      答:没有。

      5)对资源的利用,是在哪里申请,在哪里释放的?有无可能存在资源泄漏(内存、文件、各种GUI资源、数据库访问的连接,等等) ?有没有优化的空间?
      答:没有可能导致资源泄露。

      6)数据结构中有没有用不到的元素?
      答:基本没有。

    • 5.效能
      1)代码的效能( Performance )如何?最坏的情况是怎样的?
      答:程序运行正常。

      2)代码中,特别是循环中是否有明显可优化的部分 ?
      答:已基本优化。

      3)对于系统和网络的调用是否会超时?如何处理?
      答:不会超时

    • 6.可读性
      1)代码可读性如何?有没有足够的注释?
      答:可读性较高,注释较详细。

    • 7.可测试性
      1)代码是否需要更新或创建新的单元测试?
      答:不需要。

    结对方项目仓库中的Fork、Clone、Push、Pull request、Merge pull request日志数据:

    任务3:采用两人结对编程方式,设计开发一款符合我校疫情防控工作需求的信息系统,

    需求分析:
    通过对我校师生疫情每日上报系统使用体验进行分析,设计一款符合我校疫情防控需求的系统。我们通过java编写GUI界面来对全校师生疫情情况进行收集,查询,统计。

    软件设计:

    • 基本功能
      • 1)普通师生登录系统可以填报疫情信息;
      • 2)各二级部门登录后可查看本学院的疫情情况,查询本学院的疫情信息;
      • 3)学校负责人登录后可查看各学院疫情情况,可以查询各学院的疫情相关信息,并对关键疫情数据进行统计,导出查询excel文件。

    软件实现:

    chart包:柱状图处理
    dao包:对管理员、二级部门、学生老师登录进行验证,对疫情记录进行操作定义;
    model包:管理员、二级部门、学生、老师、疫情信息实体类;
    util包:数据库连接,判断空字符;
    view包:各种界面的实现。

    核心功能代码:

    package util;
    /**
     * 字符串工具类
     * @author 
     *
     */
    public class StringUtil {
    	/**
    	 * 判断字符串是否为空
    	 * @param str
    	 * @return
    	 */
    	public static boolean isEmpty(String str) {
    		if(str == null || "".equals(str.trim())) {
    			return true;                      
    		}else {                                
    			return false;
    		}
    	}
    
    	/**
    	 * 判断不为空
    	 * @param str
    	 * @return
    	 */
    	public static boolean isNotEmpty(String str) {
    		if(str != null && !"".equals(str.trim())) {
    			return true;
    		} else {
    			return false;
    		}
    	}
    }
    
    package util;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    
    public class JDBC {
    
    	private String url = "jdbc:mysql://127.0.0.1:3306/test";
    	private String username = "root";
    	private String password = "2879026694xs";
    
    	//连接数据库
    	public Connection getCon() throws Exception {
    		Class.forName("com.mysql.jdbc.Driver");
    		Connection con = DriverManager.getConnection(url, username, password);
    		return con;
    	}
    	//断开连接
    	public void closeCon(java.sql.Connection con) throws Exception {
    
    		if(con != null) {
    			con.close();
    		}
    	}
    
    }
    

    程序运行:
    登录界面:

    管理员及二级部门界面:

    师生界面:

    结对讨论:

    PSP:

    PSP 任务内容 计划共完成需要的时间(min) 实际完成需要的时间(min)
    Planning 计划 10 15
    · Estimate · 估计这个任务需要多少时间,并规划大致工作步骤 10 15
    Development 开发 740 1555
    · Analysis · 需求分析 (包括学习新技术) 40 70
    · Design Spec · 生成设计文档 10 25
    · Design Review · 设计复审 (和同事审核设计文档) 10 30
    · Coding Standard · 代码规范 (为目前的开发制定合适的规范) 20 40
    · Design · 具体设计 40 60
    · Coding · 具体编码 500 1200
    · Code Review · 代码复审 30 50
    · Test · 测试(自我测试,修改代码,提交修改) 40 80
    Reporting 报告 18 43
    · Test Report · 测试报告 5 20
    · Size Measurement · 计算工作量 5 8
    · Postmortem & Process Improvement Plan · 事后总结 ,并提出过程改进计划 8 15

    小结感受:1+1>2吗?通过这次结对设计疫情系统,让我们切实感受到了1+1的效果,总的来说,1+1>2。结对设计系统对我们学习编程有很大的帮助,我们在这个讨论过程中分析问题,分享各自的观点,设计想法,以及实现编程,从中互相学习,共同进步,收获很多。但是因为条件的问题,我们很多时候时间对不上,效率不是很高。而且因为时间的问题,我们的功能实现还不是很全面。

  • 相关阅读:
    前端面试
    react 【npx createreactapp myapp】执行错误
    npm yarn安装完成后,查不到版本号
    I love cnblogs
    万万没想到VFP也可以这样硬,调用微信的硬能力,扫码、上报位置、支付都可以
    VFP为公众号添加一个报名功能,代码不多,但谁能得扬名立万
    公众号回复消息不能超过5秒,VFP大数据处理来不及怎么办?
    爆肝怒赞,不会也会了,VFPBS用Form调用webapi和文件上传
    狐友们,万万不可掉队,VFP开发企业微信第一关回调该怎么配
    十行代码完成公众号对话,VFP的能力就是这么强悍,你学会了吗?
  • 原文地址:https://www.cnblogs.com/sisi-713/p/12566861.html
Copyright © 2020-2023  润新知