軟體工程5
阿新 • • 發佈:2020-07-01
這個作業屬於哪個課程 | 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負責後端的編寫。總能想出最簡單,最省力的方法