软件工程5

这个作业属于哪个课程 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.流程图
软件工程5_第1张图片

附加特点设计与展示
​ 采用layui框架设计

软件工程5_第2张图片
目录说明和使用说明
软件工程5_第3张图片

可改进地方:比如支持上传文本文件作为输入;右键某一个节点,可以再单独输入,添加其子节点;支持输入额外信息,比如联系方式,点击某个节点可以查看其额外信息;呈现结果可以导出图片等
单元测试
测试工具: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("\n");

    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接口测试

软件工程5_第4张图片

软件工程5_第5张图片

遇到的困难
这次作业是第二次结对编程了,相比第一次结对编程,这次的题目我觉得更有难度,因为它设计到了算法。恰恰我算法是薄弱环节,王鸿鹄费了很多心血,我也只能自己看网上的资料,看看有关内容,尽自己努力去完成这次结对作业

评价你的队友
王鸿鹄 :主要负责后台编写,md编写等等。聪明,能干,吃苦耐劳。

段清平:负责前端界面的编写,DCW负责后端的编写。总能想出最简单,最省力的方法

你可能感兴趣的:(软件工程5)