2020软件工程作业05

2020软件工程作业05

作业的github地址:https://github.com/changorz/work

作业描述

软件工程 https://edu.cnblogs.com/campus/zswxy/software-engineering-2017/
作业要求 https://edu.cnblogs.com/campus/zswxy/software-engineering-2017/homework/10496
题目 2020软件工程作业05-家族树的可视化
作业正文 DCW同学的博客作业地址:https://www.cnblogs.com/chang1024/p/12578372.html
MYK同学的博客作业地址:https://www.cnblogs.com/mykang/
其他参考文献 layui帮助文档:https://www.layui.com/doc/

具体分工

  • DCW负责后端的编写并写了ajax的数据交互

  • MYK负责前端界面的编写。并一起编写文档信息。

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端输入数据
  • 展示成树状结构

代码规范

  • 模块开发
  • 驼峰命名

解题思路描述与设计实现说明

  1. 前端输入数据异步发送到服务器

  2. 服务器处理数据,存储到数据库,向前端返回数据

  3. 前端展示树形结构

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

贴出Github的代码签入记录

遇到的困难及解决办法

​ 由于疫情期间结对编程困难,我们采用TeamViewer远程控制和QQ演示来实现线上结对编程。

评价你的队友

DCW:

​ 在这次作业中,我主要负责后台的编写,md编写的。MYK负责编写前端,UI设计,项目流程图设计等等。

MYK:

​ 在本次结对编程中我负责前端界面的编写,DCW负责后端的编写,整个过程充分的认识到自己的知识量没有DCW的多,因为我忘记ajax的写法了,在写ajax的post请求中DCW解决了问题,才最终完成代码编写。其中的layui框架还是DCW告诉我用的。

Ps:此次作业通过远程连接共用一台PC完成

posted @ 2020-03-26 23:39  mykang  阅读(248)  评论(0编辑  收藏  举报