申論 1V 模型(The V-Model)為常見的系統開發模型之一,請繪圖並說明其特性,並從系統分析師的角度來探討其優、缺點。(25 分)
本卷皆為申論題,點「看答案與解析」查看擬答。
弱點分析
未作答的題目不計分。看我的紀錄
申論 2目前國內外通常採用軟體能力成熟度模式整合(Capability Maturity Model Integration,以下簡稱CMMI)或是ISO 9000 以為企業本身產品(或軟體)開發能力評估與品管標準。而六個標準差(Six Sigma)則是目前工業界盛行的一種品管檢測方式,請說明CMMI 與ISO 9000 之異同點。另請探討並繪圖說明CMMI 階段式表述(StagedRepresentation)與六個標準差之間的關係。(25 分)
申論 3在資訊系統開發過程中,專案管理者常會因應客戶端的要求而被迫縮短開發時間而將軟體提前釋放,而此種狀況為開發人員及專案管理者所經常面臨到的嚴峻問題與挑戰。根據國內/外研究報告指出資訊系統開發時程的壓縮有其極限性,事實上管理者通常無法任意藉由增加開發人員與添購更多的軟、硬體設備來達到時程壓縮的目的。Putnam 提出了軟體方程式(Software Equation),其定[]3義為:E=LOC×B.0333/P×1(/t4),其中E 為開發心力(Development Effort,單位為人月或人年)、t 為專案執行時間、B 為特別技能因子、P 為生產力參數、LOC為軟體大小(單位為程式碼行數)。請透過軟體方程式來舉例說明開發時程壓縮,將對開發心力造成何種程度的影響。另從實務面來看,合理且可行的時程壓縮極限應為多少?請敘述其可能原因為何?(20 分)
申論 4針對下列八支程式模組:㈠請完成下列表格並明確指出這些程式各具有何種內聚力(Cohesion)及說明其原因?在此內聚力型態(Cohesion Types)須從最差(Worst)至最佳(Best)依序正確排列。另說明欄中若無任何具體說明或解釋逕以零分計算。(18 分)所對應之程式模組內聚力型態 說明(請以P1, P2,…等標示)…… …… ……㈡請針對該表格中最差(即Worst)內聚力型態之程式模組提出具體改進方法。(6 分)㈢假設吾人定義內聚力比率(Cohesion Ratio)公式如下,請據此計算出該批程式模組之內聚力比率。(6 分)NumberofprogrammoduleshavingfunctionalcohesionCohesionRatio=Totalnumberofprogrammodules(請接第二頁)104年公務人員高等考試三級考試試題 代號:26860第二頁類 科: 資訊處理科 目: 系統專案管理//P1public class P1 {public void count1(int m, int n, int p){int counter1, counter2, counter3;counter1 = 1;cusum = 0;while (counter1 <= m){cusum += counter1;counter1 += 1;}counter2 = 1;product = 1;while (counter2 <= n){product *= counter2;counter2 += 1; //P2 //P3} public class P2 { public class P3 {counter3 = 1;sum = 0; public void count2(int n) public void count3(int n)while (counter3 <= p) { {{ int counter; int counter;sum += counter3; counter = 1; counter = 1;counter3 += 1; cusum = 0; cusum = 0;} product = 1; while (counter <= n)mean = sum / p; while (counter <= n) {} { cusum += counter;public int getSum() cusum += counter; counter += 1;{ product *= counter; }return sum; counter += 1;} } mean = cusum / n;public int getProduct() } }{ public int getCusum() public int getCusum()return product; { {} return cusum; return cusum;public int getCusum() } }{ public int getProduct() public int getMean()return cusum; { {} return product; return mean;} }public int getMean() private int cusum, mean;{ private int cusum, product; }return mean; }}private int sum, product, cusum, mean;}(請接第三頁)104年公務人員高等考試三級考試試題 代號:26860第三頁類 科: 資訊處理科 目: 系統專案管理//P6public class P6 {public void count6(int n,int product){int counter1, counter2, counter3, counter4;counter1 = 1;int a[] = new int[n];while (counter1 <= n){a[counter1-1] = counter1;counter1 += 1;}counter2 = 0;cusum = 0;while (counter2 < n){cusum += a[counter2];counter2 += 1;}counter3 = 0;prod = 1;while (counter3 < n){prod = prod* product * a[counter3];counter3 += 1;}counter4 = 0;sum = 0;while (counter4 < n)//P5 {//P4 public class P5 { sum += a[counter4];public class P4 { counter4 += 1;public void count5(int first,int second) }public void count4(int n) { mean = sum / n;{ int intermediate; }int counter; intermediate = first; public int getCusum()counter = 1; result_first = second; {cusum = 0; result_second = intermediate; return cusum;while (counter <= n) } }{ public int getProd()cusum += counter; public int getResult_first() {counter += 1; { return prod;} return result_first; }} } public int getSum()public int getCusum() public int getResult_second() {{ { return sum;return cusum; return result_second; }} } public int getMean()private int cusum; private int result_first, result_second; {} } return mean;}private int cusum, prod, sum, mean;}(請接第四頁)104年公務人員高等考試三級考試試題 代號:26860第四頁類 科: 資訊處理科 目: 系統專案管理//P8public 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//P7 {public class P7 { counter3 = 1;sum = 0;public void count7(int[] tmp, int n) while (counter3 <= p){ {int counter1, counter2, temp; sum += counter3;counter1 = 0; counter3 += 1;a = tmp; }System.out.print("\n"); }for (counter1 = 1; counter1 < n; counter1++) mean = sum / p;{ }for (counter2= 0; counter2 < counter1; counter2++) public int getCusum(){ {if (a[counter1] <a[counter2]) return cusum;{ }temp = a[counter1]; public int getProduct()a[counter1] = a[counter2]; {a[counter2] = temp; return product;} }} public int getSum()} {} return sum;public int[] geta() }{ public int getMean()return a; {} return mean;private int[] a; }} private int cusum, product, sum, mean;}