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 分

JAVA 程式片段如下,請依(一)~(四)方格中的需求說明,分別以程式中已提供的副程式搭配適當的 JAVA 指令達成需求。(提示:利用 regular expression)

public class Test { public static void main(String[] args) throws IOException { StringBuilder htmlContent = new StringBuilder(); Path source = Paths.get("src /Exam.html").toAbsolutePath(); Charset cs = Charset.forName("BIG5"); List<String> lines = Files.readAllLines(source, cs); for (String s : lines) { htmlContent.append(s); }

    (一)運用提供的副程式 SUB1 找到所指定網頁(Exam.html)內容之 IP address 並輸出,輸出搜尋結果前先輸出「找到的 IP address 有:」文字標示。

    (二)運用提供的副程式 SUB1 找到所指定網頁(Exam.html)內容之 mail address 並輸出,輸出搜尋結果時先輸出「找到的 mail address 有:」文字標示。

    (三)運用提供的副程式 SUB1 找到所指定網頁(Exam.html)內容之 URL address 並輸出,輸出搜尋結果時先輸出「找到的 URL address 有:」文字標示。

    (四)運用提供的副程式 SUB1 找到所指定網頁(Exam.html)內容之 Html tag 並輸出,輸出搜尋結果時先輸出「找到的 Html tag 有:」文字標示。
}

private static void SUB1(StringBuilder html, String regularExp) {
    Pattern p = Pattern.compile(regularExp);
    Matcher m = p.matcher(html.toString());
    while (m.find()) {
        System.out.println(m.group());
    }
}

}

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

這一題的完整詳解

核心觀念

本題考查 Java 的 regular expression(正規表示式)與 Pattern、Matcher 的使用方式。

副程式 SUB1 已完成以下工作:

  1. 將傳入的正規表示式編譯成 Pattern。
  2. 使用 Matcher 對 StringBuilder 內容進行比對。
  3. 透過 m.find 逐一尋找符合的字串。
  4. 以 m.group 輸出每次找到的完整結果。

因此,主程式只需:

  • 先輸出題目指定的文字標示。
  • 呼叫 SUB1(htmlContent, 正規表示式)。

Java 字串中的反斜線必須再跳脫一次。例如正規表示式中的 \d,在 Java 字串中要寫成 "\\d"。

解題方法

(一)尋找 IP address

IPv4 位址由四組 00 至 255255 的數字組成,中間以句點分隔,例如:

192.168.1.10

單一數字欄位的正規表示式為:

25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d

完整 Java 字串如下:

"(?<![\\d.])(?:25[0-5]|2[0-4]\\d|1\\d{2}|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d{2}|[1-9]?\\d)){3}(?![\\d.])"

其中:

  • 25[0-5]:匹配 250250~255255。
  • 2[0-4]\d:匹配 200200~249249。
  • 1\d{2}:匹配 100100~199199。
  • [1-9]?\d:匹配 00~9999。
  • (?:\.(...)){3}:再重複三次,形成四組數字。
  • (?<![\d.]) 與 (?![\d.]):避免從較長的錯誤數字中擷取部分內容。

(二)尋找 mail address

一般電子郵件格式為:

帳號@網域名稱.頂級網域

例如:

[email protected]

可使用:

"[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}"

其中:

  • [A-Za-z0-9._%+-]+:匹配信箱帳號。
  • @:電子郵件必要符號。
  • [A-Za-z0-9.-]+:匹配網域名稱。
  • \\.:匹配真正的句點。
  • [A-Za-z]{2,}:匹配至少兩個英文字母的頂級網域,例如 com、tw、org。

(三)尋找 URL address

本題以常見的 HTTP 或 HTTPS 網址為 URL,例如:

可使用:

"(?i)\\bhttps?://[^\\s<>\"']+"

其中:

  • (?i):不分大小寫,因此 HTTP 與 http 均可匹配。
  • https?:匹配 http 或 https。
  • ://:網址的協定分隔符號。
  • [^\\s<>\"']+:持續匹配非空白、非 HTML 標籤括號、非引號的字元。

(四)尋找 HTML tag

HTML 標籤通常以 < 開始、以 > 結束,例如:

<div>
</div>
<img src="logo.png">

可使用:

"</?[A-Za-z][^>]*>"

其中:

  • </?:匹配開始標籤 <,也匹配結束標籤 </。
  • [A-Za-z]:要求標籤名稱以英文字母開頭。
  • [^>]*:匹配標籤內的名稱、屬性及其他內容。
  • >:匹配標籤結尾。

此寫法可排除 <!-- comment --> 及 <!DOCTYPE html> 等非一般元素標籤內容。

完整參考程式碼

🔒

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

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

免費註冊

第 第三題 題25 分

請列舉四項敏捷(Agile)軟體開發與瀑布式(Waterfall)軟體開發模式的差異比較,並說明之。

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

這一題的完整詳解

核心觀念

本題考查敏捷開發與瀑布式開發的基本管理思想、流程特性與適用情境。答題應掌握兩者在以下面向的差異:

  1. 開發流程與工作方式
  2. 需求變更的處理方式
  3. 交付與使用者回饋
  4. 測試與風險管理

本題不涉及特定法條或計算公式,應以「比較表+逐項說明」呈現,並明確指出兩種模式的優缺點及適用條件。

解題方法

採用「比較面向法」作答:先列出四個具有區別性的比較面向,再分別說明敏捷與瀑布式的作法,最後補充其管理意義。

作答時不可只寫「敏捷較彈性、瀑布式較固定」等概括語句,必須說明這些特性如何影響需求、交付、測試及專案風險。

四項差異比較

一、開發流程:迭代循環與階段順序

敏捷開發:

敏捷採用短週期、反覆迭代的方式進行開發。團隊將系統拆分為多個小功能或使用者故事,每一個迭代週期都會經歷規劃、分析、設計、實作、測試及檢討等活動。每次迭代完成一部分可運作的產品功能。

瀑布式開發:

瀑布式依序經過需求分析、系統設計、程式開發、測試、部署及維護等階段。前一階段完成並確認後,才進入下一階段,整體流程具有明顯的先後順序。

差異說明:

敏捷是循環式與增量式開發,工作階段可在每次迭代中重複進行;瀑布式則是線性階段式開發,通常必須完成前一階段才能進入下一階段。


二、需求變更:高度適應與變更管制

敏捷開發:

敏捷承認需求可能隨著市場、法規、使用者回饋及商業目標而改變,因此將需求依優先順序排列,於每次迭代開始前調整待辦工作。只要變更能提高產品價值,就可納入後續迭代。

瀑布式開發:

瀑布式通常在前期完成需求規格與文件確認,之後依據既定規格進行設計與開發。若開發中途發生需求變更,通常需要經過正式的變更申請、影響分析、核准及文件更新程序。

差異說明:

敏捷將變更視為正常的開發資訊,強調快速回應;瀑布式則強調需求基準與計畫穩定,變更需受到較嚴格的管理。敏捷較適合需求不確定的專案,瀑布式較適合需求明確且變動較少的專案。


三、交付方式與使用者參與:持續交付與最後交付

敏捷開發:

敏捷在每次迭代結束時交付部分可運作功能,使用者或產品負責人可及早檢視成果並提出意見。使用者參與不只發生在專案初期,而是貫穿整個開發過程。

瀑布式開發:

瀑布式通常在主要開發及測試階段完成後,才交付完整系統供使用者驗收。使用者多在需求確認及最終驗收階段參與,開發過程中的即時回饋相對較少。

差異說明:

🔒

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

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

免費註冊

第 第四題 題25 分

利用 VB.net 設計一組 3×33\times3 排列方式的九九乘法表,該程式中須使用迴圈的方法處理並符合下列二條件:

  1. 設計一表單內含兩個按鈕及顯示九九乘法表的區域。
  2. 兩個按鈕分別做執行顯示九九乘法與結束程式。

提供應使用到的物件如【表四】設定值說明:

物件名稱:Form1
屬性:Form
設定:表單名稱
標籤名稱:Form1

物件名稱:ControlBox
屬性:屬性設為 True;MultiLine 的屬性也必須設為 True。

物件名稱:Command2
屬性:CommandButton
設定:結束的按鈕
標籤名稱:結束程式

物件名稱:Command1
屬性:CommandButton
設定:執行的按鈕
標籤名稱:執行九九乘法

物件名稱:Text1
屬性:TextBox
設定:文字方塊

【表四】

Tab:CHAR(9)
換行:CHAR(10)
ENTER:CHAR(13)

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

這一題的完整詳解

核心觀念

本題考查 VB.NET 的:

  • Windows Form 表單與控制項事件處理。
  • For...Next 巢狀迴圈。
  • 二維排列的索引計算。
  • TextBox 的 MultiLine 多行顯示。
  • 使用定位字元與換行字元排版文字。

「3×33\times3 排列方式」表示將 11~99 的九九乘法表分成三列、三欄:

  • 第一列:11、22、33 的乘法表。
  • 第二列:44、55、66 的乘法表。
  • 第三列:77、88、99 的乘法表。

每一個乘法表包含乘數 11~99,因此總共會輸出 99 個小乘法表。


物件與屬性設定

表單及控制項可設定如下:

物件名稱類型重要設定
Form1Form表單名稱為 Form1,ControlBox=True
Command1ButtonText 設為「執行九九乘法」
Command2ButtonText 設為「結束程式」
Text1TextBoxMultiline=True,作為乘法表顯示區域

Text1 必須設定為多行,否則無法依照換行字元顯示完整乘法表。


解題方法

每一個小乘法表的起始被乘數為:

base=blockRow×3+blockCol+1base = blockRow \times 3 + blockCol + 1

其中:

  • blockRow:3×33\times3 排列中的列索引,範圍為 00~22。
  • blockCol:3×33\times3 排列中的欄索引,範圍為 00~22。
  • base:目前小乘法表的被乘數,範圍為 11~99。

例如:

  • blockRow=0, blockCol=0,則 base=1。
  • blockRow=1, blockCol=2,則 base=6。
  • blockRow=2, blockCol=1,則 base=8。

每一個小乘法表再利用內層迴圈,讓乘數從 11 執行到 99:

base×multiplierbase \times multiplier

因此必須使用三層迴圈:

  1. 控制三個區塊列。
  2. 控制三個區塊欄。
  3. 控制每個乘法表的乘數 11~99。

VB.NET 程式碼

🔒

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

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

免費註冊

其他考古題

110 年郵儲業務-丁的其他科目