針對下列八支程式模組:
(一)請完成下列表格並明確指出這些程式各具有何種內聚力(Cohesion)及說明其原因?在此內聚力型態(Cohesion Types)須從最差(Worst)至最佳(Best)依序正確排列。另說明欄中若無任何具體說明或解釋逕以零分計算。(18分)
(二)請針對該表格中最差(即Worst)內聚力型態之程式模組提出具體改進方法。(6分)
(三)假設吾人定義內聚力比率(Cohesion Ratio)公式如下,請據此計算出該批程式模組之內聚力比率。(6分)
Cohesion Ratio
//P7 public class P7 { public void count7(int[] tmp, int n) { int counter1, counter2, temp; counter1 = 0; a = tmp; System.out.print("\n"); for (counter1 = 1; counter1 < n; counter1++) { for (counter2= 0; counter2 < counter1; counter2++) { if (a[counter1] { temp = a[counter1]; a[counter1] = a[counter2]; a[counter2] = temp; } } } } public int[] geta() { return a; } private int[] a; } |
//P8 public class P8 { public void count8(int m, int n, int p, int flag) { int counter1, counter2, counter3; cusum = 0; product = 1; sum = 0; mean = 0; if (flag == 1) { counter1 = 1; cusum = 0; while (counter1 <= m) { cusum += counter1; counter1 += 1; } } else if (flag == 2) { counter2 = 1; product = 1; while (counter2 <= n) { product *= counter2; counter2 += 1; } } else { counter3 = 1; sum = 0; while (counter3 <= p) { sum += counter3; counter3 += 1; } } mean = sum / p; } public int getCusum() { return cusum; } public int getProduct() { return product; } public int getSum() { return sum; } public int getMean() { return mean; } private int cusum, product, sum, mean; } |
可觀看題目詳解,並提供模擬測驗!(免費會員無法觀看研究所試題解答)