1. 程式人生 > 實用技巧 >軟體工程5

軟體工程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.流程圖

附加特點設計與展示
​ 採用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介面測試

遇到的困難
這次作業是第二次結對程式設計了,相比第一次結對程式設計,這次的題目我覺得更有難度,因為它設計到了演算法。恰恰我演算法是薄弱環節,王鴻鵠費了很多心血,我也只能自己看網上的資料,看看有關內容,儘自己努力去完成這次結對作業

評價你的隊友
王鴻鵠 :主要負責後臺編寫,md編寫等等。聰明,能幹,吃苦耐勞。

段清平:負責前端介面的編寫,DCW負責後端的編寫。總能想出最簡單,最省力的方法