111 漁會招考新進第十一職等 資訊管理 全國漁會第九次 資訊管理(資訊電腦實務) 考古題詳解
第 1 題20 分
漁會以服務漁民為宗旨,業務類型也越趨廣泛多元,資訊系統需扮演主導或輔助的角色,因此資訊人員必須面臨自主開發資訊系統的問題,請就軟體發展生命週期(Software Development Life Cycle; SDLC)的觀點,回答以下問題: (1) SDLC 流程可分為那些階段?(15 分) (2) SDLC 的優點與缺點。(5 分)
登入後即可作答並保存紀錄。
核心觀念
本題旨在考驗考生對**軟體發展生命週期(Software Development Life Cycle; SDLC)**標準階段流程及其在實際組織(如漁會)自主開發資訊系統時之優缺點分析能力。
- SDLC 定義:將軟體系統從概念形成、需求定義、設計、實作、測試、上線到最後維護廢棄的完整過程,劃分為多個具備明確輸入與產出文件(Deliverables)的階段,以達系統化專案管理與品質控制之目的。
- 核心範疇:常見的傳統 SDLC(瀑布模型 Waterfall Model 框架)包含「系統規劃」、「需求分析」、「系統設計」、「程式實作」、「系統測試」與「營運維護」六大階段。
解題方法
本題為標準的軟體工程與資訊管理申論問答題,解題切入點如下:
- 第 (1) 小題(15 分):按時間軸發展順序,清晰列出 SDLC 的 6 大標準階段。每一階段必須包含階段名稱、核心任務/作業內容與關鍵產出交付物(Deliverables),結合題目情境(漁會業務多元化、自主開發需求)進行論述,以爭取滿分。
- 第 (2) 小題(5 分):將 SDLC(主要指結構化瀑布生命週期)的優缺點進行條理化分項對比。優點聚焦於「專案管理、文件化、品質管控」;缺點聚焦於「彈性、變更成本、使用者回饋時程」。
選項分析
本題為申論問答題,無選擇題選項。以下針對兩大子題之評分配分與答題解析重點說明:
-
第 (1) 子題剖析(SDLC 階段劃分,15 分):
-
系統規劃與可行性分析:釐清漁會業務需求與技術/經濟可行性。
-
需求分析與定義:產出《軟體需求規格書》(SRS),為後續開發依據。
-
系統設計:分為總體與詳細設計,包含 DB Schema 與 UI/UX 規劃。
-
程式實作與編碼:將設計轉化為原始碼,並完成單元測試。
-
系統測試:包含整合、系統與使用者驗收測試(UAT),確保品質與資安。
-
上線部署與營運維護:資料移轉、上線營運與後續修復/適應性維護。 評分關鍵:階段劃分邏輯需前後連貫,不可漏掉「測試」或「維護」階段。
-
第 (2) 子題剖析(SDLC 優缺點,5 分):
-
優點:結構清晰易於管理、文件完整減少接手困難、早期檢驗降低後期重工風險。
-
缺點:變更彈性差、開發後期才能看到系統原型(使用者回饋延遲)、前期文件成本高。 評分關鍵:優缺點各自列出 2~3 點,寫出關鍵專有名詞(如:里程碑、UAT、需求變更成本)。
解題技巧
- 口訣記憶法:階段順序口訣「規 需 設 實 測 維」(規劃、需求、設計、實作、測試、維護)。
- 答題結構優化:申論題切忌一段到底。應使用標題號(一、二、(一)、(二)、1.、2.)條列,並給關鍵名詞加粗標記。
- 情境扣合加分項:回答時可適度帶入「漁會業務」(如信用部補助款申報、供銷部產品進銷存系統、漁民服務平台)作為例子,展現將理論應用於實際業務情境的敏銳度。
【答案】
一、 軟體發展生命週期(SDLC)流程階段(15 分)
軟體發展生命週期(SDLC)是資訊系統開發時所遵循的系統化、階段性方法論。針對漁會自主開發資訊系統之需求,標準 SDLC 流程劃分為以下六個主要階段:
第 2 題20 分
請說明作業系統(Operation System)中,產生死結(Deadlock)的四要素與預防方法。(20 分)
登入後即可作答並保存紀錄。
核心觀念
本題考驗作業系統(Operating System, OS)資源管理中的「死結(Deadlock)」原理與防護機制。
- 死結(Deadlock)定義:在多工環境下,兩組或兩組以上的行程(Processes)各自持有部分資源,同時又在等待其他行程所持有的資源,導致所有行程皆進入無限期等待(Infinite Waiting)而無法繼續執行的狀態。
- 死結四大必要條件(Coffman Conditions):死結的發生必須同時滿足四個條件:互斥(Mutual Exclusion)、持有並等待(Hold and Wait)、不可搶奪(No Preemption)、循環等待(Circular Wait)。
- 死結預防(Deadlock Prevention):透過設計靜態資源分配規範,強制破壞上述四個必要條件中的至少一個,使得死結在理論上絕對不可能發生。
解題方法
本題需精確拆解死結的「四大要素(必要條件)」與「四種對應的預防方法」,並具體說明預防手段的實施作法與副作用。
一、產生死結的四要素(Necessary Conditions for Deadlock)
- 互斥(Mutual Exclusion) 系統中至少有一個資源屬於非共享(Non-shareable)型態。一次僅允許一個行程使用該資源;若其他行程申請該資源,申請者必須等待至該資源被釋放為止。
- 持有並等待(Hold and Wait) 行程當前至少持有一個資源,並且同時提出申請以取得其他正被其他行程持有的資源。
- 不可搶奪(No Preemption / 非預佔) 資源不能被強制從持有者手中奪取。資源只能在行程完成任務後,由該行程主動釋放(Voluntary Release)。
- 循環等待(Circular Wait) 存在一個行程等待集合 ,其中 正等待 所持有的資源, 正等待 所持有的資源,……, 正等待 所持有的資源,而 則正等待 所持有的資源,形成一條閉合的資源等待環路(Cycle)。
二、死結預防方法(Deadlock Prevention Strategies)
死結預防策略旨在透過系統層面的約束,使四大必要條件中至少有一項無法成立:
- 打破「互斥」條件
- 具體作法:儘可能將資源設計為可共享(Shareable)型態。例如將唯讀檔案(Read-only Files)開放多個行程同時讀取,或使用假離線技術(Spooling)將印表機等獨佔設備虛擬化為共享資源。
- 實務限制:許多資源(如互斥鎖 Mutex、寫入權限)本質上具有不可共用的物理特性,故此方法無法全面推行。
- 打破「持有並等待」條件
- 具體作法一(Protocol 1):要求行程在開始執行前,必須一次申請並獲得其執行過程所需的全部資源;若無法完全獲得,則一個資源都不給予(靜態分配)。
- 具體作法二(Protocol 2):允許行程動態申請資源,但規定行程只有在完全沒有持有任何資源時,才允許提出新資源的申請。
- 實務限制:會造成極低的資源利用率(Low Resource Utilization),且需要大量資源的長行程極易面臨飢餓現象(Starvation)。
- 打破「不可搶奪」條件
- 具體作法:若行程已持有部分資源,當其申請新資源無法立即獲得而必須等待時,系統會強制該行程釋放目前持有的所有資源(隱性搶奪);或允許高優先權行程搶奪低優先權行程持有的資源。
- 實務限制:僅適用於「狀態容易儲存與復原(State Save and Restore)」的資源(如 CPU 暫存器、主記憶體);
第 3 題20 分
當資訊系統不足以應付漁會業務的時候,則需要面臨替換的情況。例如各地區漁會魚市場的交易理貨拍賣系統更是需要穩定且不間斷的運作。因此請問,系統轉換主要可以區分為那幾類?並簡述說明各類型的優缺點。(20 分)
登入後即可作答並保存紀錄。
核心觀念
本題考查資訊系統實施階段(System Implementation)中的系統轉換策略(System Conversion Strategies)。系統轉換是指組織將舊有資訊系統停用,並過渡切換至新資訊系統運作的過程。
在資訊管理與系統分析設計(SAD)理論中,系統轉換主要分為四大類型:直接轉換(Direct Conversion)、平行轉換(Parallel Conversion)、分階段轉換(Phased Conversion)與試點轉換(Pilot Conversion)。對於各地區漁會魚市場拍賣系統這類要求「零中斷、高穩定度與即時性」的關鍵業務系統(Mission-Critical Systems),評估各轉換策略的營運風險、成本投入與過渡期運作機制是極為重要的決策核心。
解題方法
- 分類說明與定義:精準寫出系統轉換的四種主要類型名稱,並簡述其運作機制與定義。
- 架構化分析優缺點:針對每一種轉換類型,統一從「風險控制」、「成本支出(人力與硬體)」及「轉換時程與操作複雜度」等構面分析其優缺點。
- 結合實務情境評估:對照題目所給定之「漁會魚市場交易理貨拍賣系統需穩定且不間斷運作」的特定情境,給出終極最佳轉換策略之建議與【答案】。
選項分析
本題為申論問答題,將系統轉換之四大主要類型作為答題構面進行逐一詳細分析如下:
1. 直接轉換(Direct Conversion / Cold Turkey)
- 運作機制:在設定的特定時間點(如週末離峰時段),立刻終止舊系統運作,並同步全面啟用新系統。
- 優點:
- 成本最低:不需要同時維持兩套系統運作,無雙倍硬體、軟體與維護開銷。
- 轉換最快:即時切換完成,無過渡重疊期。
- 無重複輸入問題:使用者無需在兩套系統中重複登錄資料。
- 缺點:
- 風險極高:若新系統上線後出現重大缺損或崩潰,缺乏舊系統作為備援(No Rollback/Fallback),可能導致業務完全停擺。
- 員工適應壓力大:操作人員缺乏緩衝期,新手上路易產生操作失誤。
2. 平行轉換(Parallel Conversion / Dual Operation)
- 運作機制:新舊兩套系統在一段時間內同時並行運作,所有交易與理貨資料均在兩套系統重複輸入並進行輸出比對,直到確認新系統完全穩定後,才正式停用舊系統。
- 優點:
- 安全性與可靠度最高:風險幾乎為零。若新系統遭遇突發狀況,舊系統可隨時接管營運,保障業務不間斷。
- 資料驗證嚴密:可直接透過兩套系統的運算結果交叉比對,驗證新系統資料的精確度。
- 缺點:
- 成本最高:需同時維持兩套系統運行,人力負擔與硬體運算資源消耗龐大(高達原本成本的 倍)。
- 作業效率降低:第一線工作人員需重複輸入兩次資料,作業負擔加倍。
3. 分階段轉換(Phased Conversion / Phase-in)
- 運作機制:將新系統依照功能模組(如:理貨登錄模組、拍賣交易模組、漁會金流結算模組)逐步分批替換舊系統,直至全系統轉換完畢。
- 優點:
- 風險適度分散:每次僅轉換單一功能模組,若發生問題,影響範圍僅限於該模組。
- 學習曲線平緩:使用者可分階段陸續熟悉新功能,降低一次性適應新系統的壓力。
- 缺點:
第 4 題20 分
電子商務是目前的發展趨勢,資訊人員除了擁有專業知識外,同時也需要考量系統建置成本,請說明資訊系統委外(Outsourcing)與自主開發的差異。(20 分)
登入後即可作答並保存紀錄。
核心觀念
本題考查資訊系統建置策略的比較,重點在於分析「資訊系統委外(Outsourcing)」與「自主開發(In-house Development)」在成本、時程、技術、控制權、資安及後續維護等方面的差異。
- 資訊系統委外:組織將系統規劃、設計、開發、建置、維護等工作,全部或部分交由外部專業廠商負責。
- 自主開發:由組織自行聘用或配置資訊人員,負責需求分析、系統設計、程式開發、測試、導入及維護。
評估時不可只比較初期建置費用,應採用全生命週期的總持有成本(Total Cost of Ownership, TCO):
因此,委外不一定絕對便宜,自主開發也不一定絕對昂貴,必須配合組織的需求、資源及長期策略判斷。
解題方法
本題適合採用「定義說明+面向比較+優缺點分析+適用情境」的方式作答:
- 先分別定義委外與自主開發。
- 再從成本、建置速度、專業能力、控制程度、客製化、資安、維護及風險等面向比較。
- 說明兩種方式各自的優點與缺點。
- 最後提出選擇原則,表示實務上可依系統重要性採取適當策略。
資訊系統委外與自主開發之比較
| 比較面向 | 資訊系統委外 | 自主開發 |
|---|---|---|
| 費用型態 | 支付顧問費、開發費、授權費、維護費或訂閱費 | 支付人事、設備、軟體、訓練與維護成本 |
| 初期成本 | 通常可降低設備及人力建置負擔,但須支付廠商費用 | 初期需投入較多資訊人員與開發資源 |
| 長期成本 | 持續產生維護費、服務費及升級費 | 系統穩定後可降低對外部廠商的依賴,但須負擔內部人力 |
| 建置速度 | 可利用廠商既有產品、模組及經驗,通常較快 | 需求分析、設計、開發及測試均由內部完成,通常較久 |
| 專業能力 | 可取得外部專業人才及最新技術 | 取決於組織內部人員的數量與能力 |
| 系統控制權 | 部分控制權掌握在廠商手中 | 組織擁有較高的設計、修改及決策控制權 |
| 客製化程度 | 套裝系統客製化受限,專案委外則可依合約調整 | 可依組織流程及特殊需求設計 |
| 彈性 | 受廠商技術架構、合約及服務範圍限制 | 修改需求較直接,但須由內部自行投入資源 |
| 資安與機密 | 資料需交由外部處理,存在外洩及權限管理風險 | 資料及程式掌握在內部,控制較直接 |
| 維護責任 | 由廠商提供維護,需明確約定服務水準 | 由內部負責維護,須確保人員持續在職 |
| 供應商風險 | 有廠商倒閉、服務中斷、技術移轉困難及廠商綁定風險 | 有關鍵人員離職、技術斷層及內部資源不足風險 |
| 知識累積 | 系統知識可能集中於廠商,組織內部累積較少 | 可累積內部技術與業務知識 |
| 擴充升級 | 依廠商產品路線及報價進行 | 可依組織需求自行規劃,但需自行負責相容性與開發 |
一、成本差異
委外的優點是可以減少自行購置開發設備、聘任大量專業人員及培訓技術人員的負擔,特別適合資訊部門規模較小的組織。
但委外成本不只包含一次性的開發費,還可能包括:
- 系統授權費。
- 導入與顧問費。
- 客製化費用。
- 年度維護費。
- 雲端服務或訂閱費。
- 資料移轉與教育訓練費。
- 需求變更及額外功能費用。
- 合約終止、資料移轉及重新建置成本。
自主開發需要負擔較高的固定成本,例如人員薪資、伺服器、開發工具、測試環境及教育訓練費用,但系統完成後,組織不必持續支付特定廠商的服務費,且修改需求的成本較容易自行控制。
因此,成本判斷應比較整體生命週期成本,而非只比較「委外報價」與「自主開發初期預算」。
二、建置速度與專業能力
委外廠商通常具有既有產品、開發框架、專案經驗及專業分工,能快速完成電子商務平台、會員管理、訂單管理、金流整合及報表系統等功能,適合有明確上線期限的組織。
自主開發則必須自行完成需求訪談、系統架構設計、程式撰寫、測試、資料轉換及使用者訓練,建置時間較長。若內部人員不足,還可能產生專案延遲及品質不穩定的問題。
不過,自主開發人員通常更熟悉組織內部流程,能將業務規則直接反映在系統中,減少與外部廠商溝通所造成的認知落差。
三、控制權與客製化程度
委外時,系統的技術架構、開發流程、版本更新及部分資料處理方式,可能受廠商掌握。若合約規範不完整,組織在修改功能、取得原始碼、移轉資料及更換廠商時可能受到限制。
自主開發則由組織自行決定:
- 系統架構與開發工具。
- 資料庫設計。
- 權限管理方式。
- 功能優先順序。
- 系統修改與升級時程。
- 原始碼及技術文件的管理方式。
因此,若系統涉及組織核心業務、特殊作業流程或長期競爭優勢,自主開發通常具有較高的客製化能力及控制程度。
第 5 題20 分
某漁會資料庫系統中,資料表與資料欄位如下,請依據下列問題,寫出 SQL 語法,並需注意 SQL 語法大小寫。
資料表名稱:BoatDB
| CTNumber | BName | PType | PDate | TMoney | ChkDate |
|---|---|---|---|---|---|
| CT3-8888 | 新金益 | 機漁船改進推廣費 | 2022-03-10 | 3500 | 2022-03-11 |
| CTR-SH0122 | 彼得號 | 漁筏業改進推廣費 | 1988-05-06 | 2200 | 1988-05-06 |
| CTR-PT1880 | 滿載 6 號 | 漁筏業改進推廣費 | 1988-03-29 | 1800 | 1988-04-01 |
| CTR-SH0285 | 慶滿豐 | 漁筏業改進推廣費 | 2000-07-01 | 2200 | 2000-07-08 |
| CT2-PT0125 | 皮卡丘號 | 機漁船改進推廣費 | 2021-04-20 | 1800 | 2021-04-25 |
(1) 根據資料表,從「TMoney」欄位篩選出大於 3000 元的 SQL 語法。(5 分) (2) 根據資料表,寫出「CTNumber」欄內有包含「SH」字串的 SQL 語法。(7 分) (3) 根據資料表,請依「ChkDate」欄位資料,輸出結果是由「大到小」排序的 SQL 語法。(8 分)
登入後即可作答並保存紀錄。
核心觀念
本題考查 SQL 的三個基本操作:
- 使用
WHERE搭配比較運算子進行資料篩選。 - 使用
LIKE搭配萬用字元搜尋部分字串。 - 使用
ORDER BY進行排序,DESC表示由大到小、由新到舊。
題目要求注意 SQL 語法大小寫,以下採用關鍵字大寫、資料表名稱與欄位名稱依題目原樣書寫。
(1)篩選 TMoney 大於 3000 元
解題方法
以 TMoney 欄位作為條件,使用大於運算子 >:
完整 SQL 語法如下:
SELECT *
FROM BoatDB
WHERE TMoney > 3000;
結果判斷
資料表中只有「新金益」的 TMoney 為 3500,大於 3000,因此會篩選出:
| CTNumber | BName | TMoney |
|---|---|---|
| CT3-8888 | 新金益 | 3500 |
解題技巧
>:大於>=:大於或等於<:小於<=:小於或等於=:等於
本題是「大於 3000」,因此不可寫成 TMoney >= 3000,否則會把金額剛好為 3000 元的資料也納入。
(2)篩選 CTNumber 包含「SH」字串
解題方法
題目要求判斷欄位內容中是否包含一段字串,應使用:
LIKE '%SH%'
其中:
%代表任意長度的字串,包含空字串。SH代表必須出現的文字。- 前後各有
%,表示SH可出現在CTNumber的任意位置。
完整 SQL 語法如下:
SELECT *
FROM BoatDB
WHERE CTNumber LIKE '%SH%';
結果判斷
CTNumber 包含 SH 的資料如下:
| CTNumber | BName |
|---|---|
| CTR-SH0122 | 彼得號 |
| CTR-SH0285 | 慶滿豐 |
解題技巧
LIKE 萬用字元的使用方式:
| 寫法 | 意義 |
|---|---|
LIKE 'SH%' | 以 SH 開頭 |
LIKE '%SH' | 以 SH 結尾 |