110 中華郵政招考專業職(一) 郵儲業務-丁 中華郵政專業職(一) 郵儲業務丁(資訊系統開發概要) 考古題詳解

110 年・中華郵政招考・專業職(一)・郵儲業務-丁
試題代碼 110年中華郵政專業職(一) 郵儲業務丁(資訊系統開發概要)

第 第一題 題25 分

常見的軟體取得方式有套裝軟體、委外開發軟體及自行開發軟體三種方式,請分別列述說明三種不同取得方式之優劣處。

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

本題考查資訊系統的三種軟體取得方式,以及各方式在成本、時程、彈性、維護、風險與組織能力上的差異。作答時應先界定三種方式,再分別說明其優點與缺點,最後指出適用情境。

三種方式如下:

  1. 套裝軟體:直接購買市場上已完成開發、可供多數使用者使用的軟體。
  2. 委外開發軟體:由外部軟體公司或專業資訊服務廠商,依組織需求進行客製化開發。
  3. 自行開發軟體:由組織內部資訊人員自行進行需求分析、系統設計、程式撰寫、測試與維護。

解題方法

可採「成本—時間—彈性—控制—維護」五個面向分析:

  • 成本:建置及後續維護所需費用。
  • 時間:系統導入或完成所需時間。
  • 彈性:能否配合組織特殊需求修改。
  • 控制:對系統開發、資料與技術的掌握程度。
  • 維護:日後修正、升級及故障處理的便利性。

一、套裝軟體

定義

套裝軟體是由軟體廠商事先開發完成,具有標準化功能,再以授權、買斷或訂閱方式提供給多個組織使用。例如財務會計、人力資源、進銷存及客戶關係管理系統。

優點

  1. 導入時間較短

軟體已經完成開發與測試,組織通常只需進行參數設定、資料轉換及教育訓練,即可上線使用。

  1. 初期開發成本較低

軟體由多個客戶共同分攤開發成本,單一組織不必負擔完整的分析、設計與程式開發費用。

  1. 功能成熟、風險較低

成熟套裝軟體通常已在許多組織實際使用,功能及錯誤處理經過一定程度的驗證,開發失敗風險低於全新開發系統。

  1. 具備廠商支援

軟體廠商通常提供操作手冊、技術支援、版本更新、錯誤修正及教育訓練,有助於降低組織自行維護的負擔。

  1. 可取得產業標準功能

套裝軟體通常整合該領域的常見作業流程,能協助組織導入較標準化的管理制度。

缺點

  1. 客製化彈性有限

套裝軟體是以一般市場需求為設計基礎,難以完全配合組織特殊流程、特殊法規要求或既有作業習慣。

  1. 組織可能必須調整流程

為配合軟體既有功能,組織常需修改原有作業方式,甚至重新設計業務流程。

  1. 可能產生功能不足或功能過剩

軟體功能不一定完全符合實際需求,可能缺少必要功能,也可能購買許多組織用不到的功能。

  1. 受制於廠商

系統更新、錯誤修正、技術支援及價格調整多掌握在廠商手中。若廠商停止營運、停止支援或停止產品更新,組織將面臨維運風險。

  1. 整合與資料移轉可能困難

套裝軟體的資料格式、作業平台及介面規格可能與既有系統不同,導入時可能產生系統整合、資料轉換及資料品質問題。

  1. 授權費與長期成本不可忽略

雖然初期建置成本較低,但授權費、訂閱費、模組費、升級費及顧問費,可能使長期總持有成本增加。

二、委外開發軟體

定義

委外開發是由組織提出業務需求,再委託外部廠商負責系統分析、設計、程式開發、測試、導入及部分維護工作。

優點

  1. 可配合組織需求客製化

委外開發可依組織的業務流程、管理制度、資料格式及特殊功能進行設計,彈性高於套裝軟體。

  1. 可運用外部專業技術

專業廠商通常具備系統開發方法、特定產業經驗、資安技術、資料庫技術及專案管理能力,可補足組織內部人力不足。

  1. 可縮短自行培養技術人力的時間

組織不必從零開始建立完整開發團隊,能利用廠商現有的人員與技術資源完成系統建置。

  1. 可由契約明確規範服務內容

透過採購文件及契約,可約定系統功能、開發期限、驗收標準、服務水準、保固期限、維護責任及違約處理方式。

  1. 適合大型或專業性高的系統

當系統規模大、技術複雜,或涉及高階平台、跨系統整合及特殊資安要求時,委外開發能集中運用專業資源。

缺點

  1. 成本通常高於直接購買套裝軟體

客製化開發必須負擔需求分析、專案管理、程式開發、測試、導入及後續維護等費用,總成本可能相當可觀。

  1. 需求溝通不良容易造成成果落差

業務人員與廠商對需求的理解可能不同。若需求文件不完整、驗收標準不明確,完成的系統可能與實際期待不符。

  1. 容易發生進度延遲與預算超支

系統開發常因需求變更、技術困難、介面整合及測試問題而延後,並增加變更及追加費用。

  1. 組織對系統的控制程度降低

系統主要由外部廠商掌握,組織內部若缺乏專業人員,可能難以判斷開發品質、技術合理性及維護成效。

  1. 可能形成廠商依賴

若程式原始碼、系統文件及技術知識未完整移轉,日後維護與修改可能只能繼續委託原廠商,形成供應商鎖定。

  1. 須重視資訊安全與機密資料風險

廠商可能接觸組織內部資料、系統帳號及網路環境,因此契約應明訂保密義務、資料使用範圍、權限控管、資安責任及服務終止後的資料返還方式。

三、自行開發軟體

定義

自行開發是由組織內部資訊部門或自行聘用的開發人員,負責系統生命週期中的需求分析、設計、開發、測試、導入、教育訓練及維護工作。

優點

  1. 最能符合組織特殊需求

內部人員熟悉組織的業務流程、管理制度及使用者需求,系統可依實際作業方式設計,客製化程度最高。

  1. 對系統具有較高控制權

組織可自行決定系統架構、開發優先順序、功能調整、資料處理方式及版本更新時程。

  1. 有利於累積內部技術與業務知識
🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 第二題 題25 分

請以 VB.NET 程式設計一程式符合下列需求(要寫完整程式,否則不予計分):

(一)欲計算出 2+4+6+⋯+1002+4+6+\cdots+100 的總和(total),下列程式碼內容為何?【12 分】

Dim total, num As Integer

total = 0 : num = 2

Label1.Text = total

程式碼內容:____

(二)欲計算費氏數列(1、1、2、3、5、8、13、⋯)第 15 項數值,下列程式碼內容為何?【13 分】

Dim num1, num2, i, j As Integer

String s = " 1 1" : num1 = 1 : num2 = 1

Label1.Text = s

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

本題考查 VB.NET 的:

  • 變數宣告與指定值
  • Do While 或 For...Next 迴圈
  • 累加器的使用
  • 字串串接
  • 費氏數列的遞迴計算
  • 將結果顯示於 Label1.Text

(一)計算 2+4+6+⋯+1002+4+6+\cdots+100

解題方法

以 total 作為累加器,初值設為 00;以 num 表示目前的偶數,初值為 22。

每次迴圈執行兩件事:

  1. 將目前的 num 加到 total
  2. 將 num 增加 22,取得下一個偶數

當 num 大於 100100 時停止。

累加結果為:

2+4+6+⋯+100=2(1+2+3+⋯+50)2+4+6+\cdots+100 =2(1+2+3+\cdots+50) =2×50×512=2550=2\times \frac{50\times 51}{2}=2550

完整 VB.NET 程式

Dim total, num As Integer

total = 0
num = 2

Do While num <= 100
 total = total + num
 num = num + 2
Loop

Label1.Text = total.ToString

Label1.Text 屬於字串型態,因此將整數結果使用 ToString 轉成文字後顯示。

解題技巧與常見陷阱

  • 條件應寫成 num <= 100,才能包含最後一項 100100。
  • 每次應將 num 增加 22,若增加 11,就會把奇數也加入。
  • Label1.Text 必須放在迴圈結束後,才能顯示完整總和。
  • 快速驗算:共有 5050 個偶數,平均值為 2+1002=51\frac{2+100}{2}=51,因此總和為 50×51=255050\times51=2550。

(二)計算費氏數列第 15 項

核心觀念

費氏數列定義為:

F1=1,F2=1F_1=1,\qquad F_2=1

從第 3 項開始,每一項等於前兩項之和:

Fn=Fn−1+Fn−2F_n=F_{n-1}+F_{n-2}

因此:

1, 1, 2, 3, 5, 8, 13,…, 6101,\ 1,\ 2,\ 3,\ 5,\ 8,\ 13,\ldots,\ 610

第 15 項為:

F15=610F_{15}=610

解題方法

題目已先設定:

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 第三題 題25 分

使用物件導向分析設計時,常使用圖形化物件導向分析工具 UML(Unified Modeling Language),請說明 UML 所使用的各圖形及其意義。

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

UML(Unified Modeling Language,統一塑模語言)是一套以圖形化方式描述、分析及設計物件導向系統的標準語言。它不是程式語言,也不是單一流程圖,而是利用多種圖形,從不同角度表達系統的:

  • 靜態結構:系統由哪些類別、物件、元件及節點組成。
  • 動態行為:系統如何依事件、流程及狀態變化運作。
  • 互動關係:物件之間如何傳遞訊息及合作完成工作。

UML 2.x 通常包含 14 種圖,分為結構圖、行為圖及互動圖三大類。


解題方法

回答本題時,應採「分類說明」方式:

  1. 先說明 UML 的用途及分類。
  2. 依結構圖、行為圖、互動圖逐一列出各圖。
  3. 說明每一種圖的主要圖形及所代表的意義。
  4. 最後補充常見 UML 符號及其判斷技巧。

如此可同時涵蓋 UML 的整體架構與各圖形的實際用途。


一、結構圖(Structural Diagrams)

結構圖用來描述系統的靜態組成與彼此關係,常見圖形如下。

1. 類別圖(Class Diagram)

類別圖是物件導向分析設計最重要的圖之一,用來表示類別、屬性、操作及類別間的關係。

類別通常畫成長方形,分為三個區格:

  1. 類別名稱
  2. 屬性(Attributes)
  3. 操作或方法(Operations)

例如:

┌────────────────┐
│ Customer │
├────────────────┤
│ - customerId │
│ - name │
├────────────────┤
│ + login │
│ + query │
└────────────────┘

常見關係包括:

  • 關聯(Association):表示類別間具有結構上的連結,以實線表示。
  • 聚合(Aggregation):表示整體與部分的弱包含關係,以空心菱形表示。
  • 組合(Composition):表示整體與部分的強包含關係,以實心菱形表示;整體消失時,部分通常也隨之消失。
  • 泛化(Generalization):表示繼承關係,以指向父類別的空心三角形箭頭表示。
  • 相依(Dependency):表示一個類別使用另一個類別,以虛線箭頭表示。
  • 實作(Realization):表示類別實作介面,以虛線加空心三角形箭頭表示。

2. 物件圖(Object Diagram)

物件圖是類別圖在某一特定時間點的實例,表示實際存在的物件及其連結。

物件名稱通常加底線,例如:

customer01 : Customer

類別圖描述「有哪些類別」,物件圖描述「某一時刻有哪些具體物件」。

3. 元件圖(Component Diagram)

元件圖表示系統由哪些可替換、可部署的軟體元件組成,以及元件之間的依賴關係。

元件可代表:

  • 程式模組
  • 函式庫
  • 執行檔
  • Web Service
  • 資料庫存取元件

元件通常以帶有小標籤或元件符號的矩形表示,適合描述系統的實作架構。

4. 部署圖(Deployment Diagram)

部署圖表示軟體元件如何配置在硬體或執行環境上。

主要圖形包括:

  • 節點(Node):表示伺服器、個人電腦、行動裝置或執行環境,通常以立方體表示。
  • 元件(Component):表示部署在節點上的軟體。
  • 通訊連線:表示節點間的網路或通訊關係。

例如,可表示 Web Server、Application Server 與 Database Server 的配置方式。

5. 套件圖(Package Diagram)

套件圖用來表示模型元素如何分組,以及套件間的相依關係。

套件可將相關的類別、介面或其他模型元素集中管理,常用於大型系統的分層與模組化設計。

6. 複合結構圖(Composite Structure Diagram)

複合結構圖描述類別或元件內部的結構,包括內部零件、連接器及其合作方式。

它特別適合表示:

  • 類別內部由哪些部分組成
  • 元件內部如何互相連接
  • 物件如何透過埠(Port)對外提供服務

7. 剖面圖(Profile Diagram)

剖面圖用來擴充 UML,使 UML 能配合特定領域使用。

它可透過:

  • 標籤值(Tagged Value)
  • 限制條件(Constraint)
  • 構造型(Stereotype)

建立符合特定產業或技術領域的模型,例如即時系統、企業架構及網路服務模型。


二、行為圖(Behavioral Diagrams)

行為圖用來描述系統在執行期間的活動、事件與狀態變化。

1. 使用案例圖(Use Case Diagram)

使用案例圖描述系統提供哪些功能,以及哪些外部角色會使用這些功能。

主要圖形包括:

  • 演員(Actor):以火柴人表示,代表使用者、外部系統或其他外部角色。
  • 使用案例(Use Case):以橢圓形表示,代表系統所提供的功能。
  • 系統邊界:以矩形框住使用案例,表示系統範圍。
  • 關聯:以實線連接演員與使用案例。

常見關係包括:

  • <<include>>:某使用案例必定包含另一個共同功能。
  • <<extend>>:在特定條件下,額外延伸另一個使用案例。
  • 泛化:表示演員或使用案例具有一般化與特殊化關係。

例如,「辦理提款」可能必須包含「身分驗證」;「查詢帳戶」可在特定條件下延伸「列印明細」。

2. 活動圖(Activity Diagram)

活動圖描述作業流程、商業流程及系統中的控制流程,概念上類似流程圖,但能表達平行活動及物件流。

主要圖形包括:

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 第四題 題25 分

請寫出下列 Java 程式碼執行後之輸出結果。

public class Break1 { public static void main(String[] args) { flag: for (int j = 3; j < 20; j += 5) { System.out.println("before break: " + j); for (int i = 0; i < 10; i++) { System.out.println("The result of i is: " + i); if (i == 5) break flag; } System.out.println("after break: " + j); } } }

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

本題考 Java 的:

  • for 迴圈執行順序
  • break 敘述
  • 標籤(labelled statement)
  • break 標籤名稱; 對巢狀迴圈的跳脫效果

程式中的:

flag:
for (...) {
 ...
 if (i == 5) break flag;
}

表示 flag 標籤標示外層 for 迴圈。執行 break flag; 時,會直接跳出被 flag 標示的外層迴圈,內層與外層迴圈都立即結束。

解題方法

外層迴圈初始值為:

j = 3

條件為:

j < 20

每次遞增:

j += 5

進入外層迴圈後,先執行:

System.out.println("before break: " + j);

因此第一次輸出:

before break: 3

接著執行內層迴圈:

for (int i = 0; i < 10; i++)

內層迴圈逐次執行如下:

  1. i=0i=0,輸出 The result of i is: 0
  2. i=1i=1,輸出 The result of i is: 1
  3. i=2i=2,輸出 The result of i is: 2
  4. i=3i=3,輸出 The result of i is: 3
  5. i=4i=4,輸出 The result of i is: 4
  6. i=5i=5,輸出 The result of i is: 5
🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

其他考古題