學號 | 姓名 | 博客地址 | 分工 |
---|---|---|---|
031702539 | 李清宇 | https://www.cnblogs.com/liang-an/ | 數據處理、博客撰寫 |
031702537 | 吳俊傑 | https://www.cnblogs.com/J-J-1008/ | 前端設計、編程設計 |
PSP | Personal Software Process Stages | 預估耗時(分鐘) | 實際耗時(分鐘) |
Planning | 計劃 | 20 | 20 |
Estimate | 估計這個任務須要多少時間 | 10 | 10 |
Development | 開發 | 1260 | 1360 |
Analysis | 需求分析 (包括學習新技術) | 480 | 540 |
Design Spec | 生成設計文檔 | 30 | 10 |
Design Review | 設計複審 | 30 | 20 |
Coding Standard | 代碼規範 (爲目前的開發制定合適的規範) | 30 | 10 |
Design | 具體設計 | 30 | 90 |
Coding | 具體編碼 | 540 | 600 |
Code Review | 代碼複審 | 60 | 30 |
Test | 測試(自我測試,修改代碼,提交修改) | 60 | 60 |
Reporting | 報告 | 60 | 120 |
Test Repor | 測試報告 | 30 | 60 |
Size Measurement | 計算工做量 | 30 | 60 |
Postmortem & Process Improvement Plan | 過後總結, 並提出過程改進計劃 | 120 | 90 |
合計 | 1470 | 1600 |
兩大功能模塊:javascript
應用Echarts樹形控件,數據處理、分層級算法實現。 控件引入:
數據處理、算法實現:
數據輸入格式處理(split()分割字符串、設計層級標識、push()進數組)、數據處理成層級關係的數據、畫樹、樹綁定事件(節點點擊縮放)css
function draw(){ var searchform = document.getElementById("searchForm"); var form = searchform.Form.value; var count = 0;//樹個數 var s = form.split(/[\n][\n]/); //alert(s.length); /*for(var l=0; l<s.length; l++){ alert(s[l]); }*/ for(var i=0; i<s.length; i++){ alert(s[i]); deal_form(s[i]); //2.處理數據 if(document.getElementById('Form').value != "") {treeData = transData(data, 'value', 'sj', 'children');} //3.展現樹 drawTree(treeData,id); document.getElementById('Form').value = ""; id = id + 1; data = []; } function transData(a, idStr, pidStr, childrenStr) { var r = [], hash = {}, id = idStr, pid = pidStr, children = childrenStr, i = 0, j = 0, len = a.length; for (; i < len; i++) { hash[a[i][id]] = a[i]; } for (; j < len; j++) { var aVal = a[j], hashVP = hash[aVal[pid]]; if (hashVP) { !hashVP[children] && (hashVP[children] = []); hashVP[children].push(aVal); } else { r.push(aVal); } } return r; } function drawTree(treeData,id) { if(id==1) {var myChart = echarts.init(document.getElementById("container1"));//div元素節點的對象 myChart.setOption({ tooltip : { trigger : 'item', triggerOn : 'mousemove' }, series : [ { type : 'tree', name : 'TREE_ECHARTS', data : treeData, top : '5%', left : '30%', bottom : '5%', right : '15%', symbolSize : 20, label : { normal : { position : 'left', verticalAlign : 'middle', align : 'right' } }, leaves : { label : { position : 'right', verticalAlign : 'middle', align : 'left' } }, expandAndCollapse : true , initialTreeDepth : 2 //展現層級數,默認是2 } ] }); //4.樹綁定事件 myChart.on('click', function(params) { var name = params.data.name;//點擊的節點的name var value = params.data.value;//點擊的節點的value //調用點擊事件 clickNode(name,value); }); } else if(id==2) {var myChart = echarts.init(document.getElementById("container1"));//div元素節點的對象 ... //同id==1的狀況 } else if(id==3) {var myChart = echarts.init(document.getElementById("container3"));//div元素節點的對象 ... //同id==1的狀況 } else if(id==4) {var myChart = echarts.init(document.getElementById("container4"));//div元素節點的對象 ... //同id==1的狀況 } else if(id==5) {var myChart = echarts.init(document.getElementById("container5"));//div元素節點的對象 ... //同id==1的狀況 } }
<div class="container" id="myCarousel"> <div id="carousel-example-generic" class="carousel slide" data-interval="false"> <ol class="carousel-indicators"> //輪播導航點 <li data-target="#carousel-example-generic" data-slide-to="0" class="active"></li> <li data-target="#carousel-example-generic" data-slide-to="1"></li> <li data-target="#carousel-example-generic" data-slide-to="2"></li> <li data-target="#carousel-example-generic" data-slide-to="3"></li> <li data-target="#carousel-example-generic" data-slide-to="4"></li> </ol> <div class="carousel-inner"> //輪播內容 <div class="item active"> <div id="container1" style="width:800px;height:600px;"></div> <script type="text/javascript"src="js/echarts.min.js"></script> <script type="text/javascript" src="js/treeEcharts.js"></script> </div> <div class="item"> <div id="container2" style="width:800px;height:600px;"></div> </div> <div class="item"> <div id="container3" style="width:800px;height:600px;"></div> </div> <div class="item"> <div id="container4" style="width:800px;height:600px;"></div> </div> <div class="item"> <div id="container5" style="width:800px;height:600px;"></div> </div> </div> <a href="#carousel-example-generic" class="left carousel-control" data-slide="prev"><span class="glyphicon glyphicon-chevron-left"> //輪播切換按鍵 </span></a> <a href="#carousel-example-generic" class="right carousel-control" data-slide="next"><span class="glyphicon glyphicon-chevron-right"> </span></a> </div>
README文檔
html
在這次做業以前我對於單元測試仍是僅僅處在很模糊不清的狀態,在此次做業附件中看了廖雪峯老師的教程以後,我終於能夠利用框架對代碼進行單元測試了。前端
主要出現的模塊問題就是在輸入數據獲取至js文件這一塊,查閱資料後用java