结对项目开发(石家庄地铁乘车系统)
结对成员: 刘津鑫 高宇
|
时间百分比(%) |
实际花费的时间 (分钟) |
原来估计的时间 (分钟) |
|
Planning |
计划 |
70 |
40 |
|
· Estimate |
· 估计这个任务需要多少时间,把工作细化并大致排序 |
70 |
40 |
|
Development |
开发 |
640 |
815 |
|
· Analysis |
· 需求分析 (包括学习新技术) |
300 |
400 |
|
· Design Spec |
· 生成设计文档 |
30 |
20 |
|
· Design Review |
· 设计复审 (和同事审核设计文档) |
10 |
10 |
|
· Coding Standard |
· 代码规范 (制定合适的规范) |
20 |
15 |
|
· Design |
· 具体设计 |
60 |
100 |
|
· Coding |
· 具体编码 |
120 |
180 |
|
· Code Review |
· 代码复审 |
40 |
60 |
|
· Test |
· 测试(自我测试,修改代码,提交修改) |
60 |
30 |
|
Reporting |
总结报告 |
|
|
|
· Test Report |
· 测试报告 |
|
|
|
· Size Measurement |
· 计算工作量 |
|
|
|
· Postmortem & Improvement Plan |
· 事后总结, 并提出改进 |
|
|
|
Total |
总计 |
100% |
总用时 |
总估计 |
设计文档:
需求分析:
- 最短路线查询,需要输出每次查询后的路线。
- 换乘最少路线查询,需要输出每次查询后的路线。
功能设计:
把起始点到终点的所有路线查询查来放到list容器中,之后找出其中size()最小的为最短路线,换乘最少的为换乘最少路线。
Subway的基础类型:
1 public class Subway { 2 private int Id; 3 private String Sname; 4 private String Snum; 5 6 private String Change; 7 public Subway(int id2, String sname2, String snum2, String change2) 8 { 9 this.Id=id2; 10 this.Sname=sname2; 11 this.Snum=snum2; 12 this.Change=change2; 13 14 } 15 public String getSname() { 16 return Sname; 17 } 18 public void setSname(String sname) { 19 Sname = sname; 20 } 21 public String getSnum() { 22 return Snum; 23 } 24 public void setSnum(String snum) { 25 Snum = snum; 26 } 27 public int getId() { 28 return Id; 29 } 30 public void setId(int id) { 31 Id = id; 32 } 33 public String getChange() { 34 return Change; 35 } 36 public void setChange(String change) { 37 Change = change; 38 } 39 40 41 }
list函数用来从数据库查出信息并存放到list容器中
1 public static List<Subway> list(String table) { 2 String sql = "select * from " +table; 3 List<Subway> list = new ArrayList<>(); 4 Connection conn = BaseConnection.getConnection(); 5 Statement state = null; 6 ResultSet rs = null; 7 8 try { 9 state = conn.createStatement(); 10 rs = state.executeQuery(sql); 11 Subway subway = null; 12 while (rs.next()) { 13 14 String Sname = rs.getString("Sname"); 15 String Snum = rs.getString("Snum"); 16 int Id = rs.getInt("Id"); 17 String Change = rs.getString("Change1"); 18 subway = new Subway(Id, Sname, Snum, Change); 19 list.add(subway); 20 } 21 } catch (SQLException e) { 22 e.printStackTrace(); 23 } finally { 24 BaseConnection.close(rs, state, conn); 25 } 26 27 return list; 28 }
Judge(List<Subway>来判断换乘问题,并把查出来的线路存放到List<List<Subway>>中
Gather(List<Subway>用来把多个容器合并成一个容器
1 public static List<Subway> Gather(List<Subway> list1,List<Subway> list2,List<Subway> list3 2 ,List<Subway> list4,List<Subway> list5,List<Subway> list6) 3 { 4 List<Subway> list =new ArrayList(); 5 Subway sub=null; 6 list.addAll(list1); 7 list.addAll(list2); 8 list.addAll(list3); 9 list.addAll(list4); 10 list.addAll(list5); 11 list.addAll(list6); 12 return list; 13 }
测试截图: