这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1/homework/10619 |
这个作业的目标 | 实现关系树 |
作业正文 | 如下 |
其他参考文献 | 百度文库 |
作业的github地址:https://github.com/whh12569/20177662-201777726
具体分工
王鸿鹄20177662负责后端的编写并写了ajax的数据交互
段清平20177726负责前端界面的编写。并一起编写文档信息
PSP
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 预估耗时(分钟) |
---|---|---|---|
Planning | 计划 | 20 | 20 |
Estimate | 估计这个任务需要多少时间 | 20 | 20 |
Development | 开发 | 820 | 643 |
Analysis | 需求分析 (包括学习新技术) | 60 | 60 |
Design Spec | 生成设计文档 | 10 | 8 |
Design Review | 设计复审 | 10 | 5 |
Coding Standard | 代码规范 (为目前的开发制定合适的规范) | 20 | 10 |
Design | 具体设计 | 30 | 30 |
Coding | 具体编码 | 600 | 480 |
Code Review | 代码复审 | 30 | 20 |
Test | 测试(自我测试,修改代码,提交修改) | 60 | 30 |
Reporting | 报告 | 60 | 40 |
Test Repor | 测试报告 | 20 | 10 |
Size Measurement | 计算工作量 | 10 | 10 |
Postmortem & Process Improvement Plan | 事后总结, 并提出过程改进计划 | 30 | 20 |
合计 | 920 | 703 |
附件
需求分析
在web端输入数据
展示成树状结构
代码规范
模块开发
驼峰命名
解题思路描述与设计实现说明
前端输入数据异步发送到服务器
服务器处理数据,存储到数据库,向前端返回数据
前端展示树形结构
controller类图
4.流程图
附加特点设计与展示
采用layui框架设计
目录说明和使用说明
可改进地方:比如支持上传文本文件作为输入;右键某一个节点,可以再单独输入,添加其子节点;支持输入额外信息,比如联系方式,点击某个节点可以查看其额外信息;呈现结果可以导出图片等
单元测试
测试工具:IDEA
解析字符串方法测试
package chang;
import chang.pojo.Children;
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
/*
导师:张三
2016级博士生:天一、王二、吴五
2015级硕士生:李四、王五、许六
2016级硕士生:刘一、李二、李三
2017级本科生:刘六、琪七、司四
导师:张三 2016级博士生:天一、王二、吴五 2015级硕士生:李四、王五、许六 2016级硕士生:刘一、李二、李三 2017级本科生:刘六、琪七、司四
*/
Scanner sc = new Scanner(System.in);
String sssss = sc.nextLine();
String[] s = sssss.split("
");
for (int i = 0; i < s.length; i++) {
System.out.println(s[i]);
}
Children ds = null;
for (int i = 0; i < s.length; i++) {
if(i == 0){
ds = new Children( s[i].trim().split(":")[1], new ArrayList<>());
}else{
String[] ss = s[i].trim().split(":");
// 创建班级
Children bj = new Children(ss[0],new ArrayList<>());
// 创建班级学生集合
ArrayList stus = (ArrayList) bj.getChildren();
String[] sss = ss[1].split("、");
for (int j = 0; j < sss.length; j++) {
stus.add(new Children(sss[j]));
}
bj.setChildren(stus);
ds.getChildren().add(bj);
}
}
System.out.println(ds);
}
}
api接口测试
遇到的困难
这次作业是第二次结对编程了,相比第一次结对编程,这次的题目我觉得更有难度,因为它设计到了算法。恰恰我算法是薄弱环节,王鸿鹄费了很多心血,我也只能自己看网上的资料,看看有关内容,尽自己努力去完成这次结对作业
评价你的队友
王鸿鹄 :主要负责后台编写,md编写等等。聪明,能干,吃苦耐劳。
段清平:负责前端界面的编写,DCW负责后端的编写。总能想出最简单,最省力的方法