201771010135- Yangrong Qing third experiment twinning project - "Northwest Normal epidemic prevention and control information system" project report

project content
Course class blog link https://www.cnblogs.com/nwnu-daizh/
Operational requirements Links https://www.cnblogs.com/nwnu-daizh/p/12416880.html
My course learning objectives Experience in software development pair programming, a method of operating gitnub exercises to consolidate collaborative development program
This job helped me achieve curriculum goals in what areas (1) master the methods of operation Github publishing software project; (2) to experience the benefits of colorectal programming; (3) personal project control software development process.
Bear her name - Student ID Zhang Yan -201,771,010,142
The blog knot the other job link https://www.cnblogs.com/YRQY/p/12573484.html
Github repository project link address

1, experimental purposes and requirements

They (1) experience in software development cooperation, practice pair programming (Pair programming).

(2) method of operation control Github collaborative development programs.

2, experimental and step

Task 1: Reading - Chapter 3-4 content "of modern software engineering Construction of Law", to understand and master the style code specification, code design specification, code reviews, pair programming concepts;

Task 2: Two two free pair, colorectal other side "of software engineering experiment two individual events," the project results to evaluate specific requirements are as follows:

(1) the project Bowen job to read and comment, comment highlights include: Bowen structure, blog content, blog structure and PSP in "The object of the" relationship column, the PSP "program time required completed" and "practical completion the time required to "explore differences in analysis and data of two reasons, to publish content to the above comments blog comments area.

(2) cloning colorectal other source project to the local machine, read and test run the code, refer to "modern software engineering - Construction of Law" Section 4.4.3 companion project code review checklist and record.

Code review checklist
Important point content result
Summary of part 1 1, in line with the code requirements and specifications it? Code meets the functional operational tasks required to implement the book
2, the code design is well thought out? No, some features still not taken into account, there is no perfect
3, the code is easy to maintain it? Relatively easy to maintain
4, each line of code execution and examine it? It is that almost most of them examined
Design Specification 2 1, the name of the header file and definition file is reasonable? reasonable
2, whether designed to comply with known design patterns or items commonly used mode? Yes, because more familiar, easier to operate;
3, there is no code that depends on a certain platform, whether it will affect the future of transplantation (such as Win32 to Win64)? No, will not affect the transplantation, any platform can be
4, there is no unused code can be cleared? Yes, there are some uncleared completed
Code Specification 3 Modify the code in line with standard parts and style it? Accord, all in accordance with the revised standard codes
Specific code portions 4 1, there is no error processing? For external function call, check the return value or exception handling? Of errors were processed and found no abnormalities
2, there is no cycle may occur an infinite loop? Is it possible, you can repeat the extraction
3, there may cause resource leaks (memory, files, various GUI resources, database access connections, etc.)? Is it possible to optimize? Is it possible resource leaks, are encrypted, there may be room for optimization
5 performance 1, how the effectiveness of the code? The worst case is what? You can achieve the required functional tasks book, the worst is probably the program can not run
2, the code particular cycle, there is an obvious part optimizable There should be some, but the current technology is limited, can not be clearly stated
3, calls for system and network whether time out? How to deal with? Being no timeout occurs, if there is, you can use anti-virus software to free memory, disk clean-c
6 readability How to code readability? Is there enough comments? We are willing to read the code portion annotated
7 testability If the code needs to be updated or create a new unit test? I think the time being not very needed
(3) based on the results of the review to try to source personal companion project to cooperate warehouse use github modification of Fork, Clone, Push, Pull request, Merge pull request other operations. (1) fork! [] (Https://img2020.cnblogs.com/blog/1474924/202003/1474924-20200328005601836-296216835.png)

(2) Clone: The code is downloaded to the local counterpart

(3) to create a new branch, the changes will be submitted to merge the new branch to the main branch

(4)push/pull request


(5)Merge pull request

任务3:西北师范大学疫情防控系统

  • 3.1PSP

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

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

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

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

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

    (5)附加分功能:定时填报提醒;

  • 3.3 软件设计说明

    本次系统总共分为五个包,这些包按功能分可划分为如下几部分,每个包所包含的类又大不相同,可谓分工明确,如下所示:

    (1)实用程序包(java.util) ,因为在系统做了个小日历,所以用日期(Data)类和日历(Calendar)类来产生和获取日期及时间,以及异常类;

    (2)语言包(java.lang),该包提供了此次编程的基础类,主要含有与语言相关的类,有math类、system类(有标准输出/输入);
    (3)图形用户接口包(java.swing),由于本次系统是人机交互界面GUI界面,所以包含了各种swing组件的类;

    (4)mapper,mapper是对象持久化映射层,一般会继承ibatis或者mybatis,开发dao及其实现类;

    (5)controller,controller是控制层,service服务类,定义学生类和管理员类;

    (6)GetConnection类用于连接数据库,login类用于登录界面,权限设置等

  • 3.4 程序运行截图

(1)登录界面


(2)管理员登录,查看所有人员汇总,高级查询


(3)高级查询,筛选,统计图

(4)GUI界面

(5)定时提醒功能

  • 3.5 关键代码

´´´
public String DefaultLoginPage(){
return "/login";
}

@RequestMapping("/adminLogin")
public String adminLoginPage(){
    return "/adminLogin";
}

/**
 * 主页面
 * @return
 */
@RequestMapping("/page/index")
public String indexPage(){

    return "/index";
}
@RequestMapping("/page/AdminIndex")
public String adminIndexPage(){
    return "/AdminIndex";
}
/**
 * 默认主页
 * @return
 */
@RequestMapping("/page/homepage")
public String homepage(){
    return "/homepage";
}


@RequestMapping("/page/adminhomepage")
public String studenthomepage(){
    return "/adminhomepage";
}

/**
 * 分类管理页面
 * @return
 */
@RequestMapping("/page/addStudent")
public String classifyPage(){
    return "/addStudent";
}

@RequestMapping("/page/epidemic/student/all")
public String selAllByStudent(){
    return "/studentRecord";
}

@RequestMapping("/page/AllRecord")
public String selAll(){
    return "/AllRecord";
}

/**
 * 音频文字管理页面
 * @return
 */
@RequestMapping("/page/adminpassword")
public String audioPage(){
    return "/adminpassword";
}

@RequestMapping("/page/password")
public String passwordPage(){
    return "/password";}}´´´

3、结对编程交流过程




因为不确定partner是否有事,所以将通讯改为文字交流,图片交流等……

4、小结:古话说的好,三个臭皮匠顶个诸葛亮,意思也就是说人多办法也多,思维更加开拓,能够想到的东西也更多,所以我认为两人合作真的能够带来1+1>2的效果,遇到困难时候,一人没有办法,另一位伙伴总能给你带来一些思路,通过这次结对合作,我明白了驾驶员和领航员的必要性,两个角色是 可以互换的,就考虑得更加全面,两人合作,可以提供更好的代码质量,在复审过程中,还可以修改好多细节问题,更有着相互激励的作用,能够耐着性子去想办法解决问题,而且可以磨合相互的性格,给对方可以改进的空间。总的来说,我觉得结对编程的体验还是不错的!

Guess you like

Origin www.cnblogs.com/YRQY/p/12573484.html