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。结对设计系统对我们学习编程有很大的帮助,我们在这个讨论过程中分析问题,分享各自的观点,设计想法,以及实现编程,从中互相学习,共同进步,收获很多。但是因为条件的问题,我们很多时候时间对不上,效率不是很高。而且因为时间的问题,我们的功能实现还不是很全面。

posted @ 2020-03-28 22:56  徐思  阅读(202)  评论(1编辑  收藏  举报