104年 高普考 高考三級 資訊處理 系統專案管理 試卷

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