111 高普考高考二級 資訊處理 系統分析與設計研究 考古題詳解

111 年・高普考・高考二級・資訊處理
試題代碼 系統分析與設計研究

第 一 題25 分

若系統開發採用 Scrum 方法,請問 Scrum 開發流程中,在衝刺進行階段使用的燃盡圖(可參考下圖,藍色曲線是實際「任務預估工時」的變化,紅色直線是理想狀況的預測線)如何協助專案管理的控管?

🖼️【此處有附圖,請對照原卷】

🖼️ 本題原卷含圖表。基於試題來源之版權考量,本站不轉載原卷影像; 題目文字已完整轉錄,圖表請自行參閱考選部公告之試題原檔。

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

這一題的完整詳解

核心觀念

燃盡圖(Burndown Chart)是在衝刺期間追蹤「剩餘工作量」如何隨時間減少的圖表。橫軸通常是衝刺天數,縱軸是尚未完成工作的預估工時或工作量。

圖中的紅色直線代表理想進度:假設工作量平均燃盡,從衝刺開始時的 22 小時,在第 5 天降至 0。藍色曲線代表實際剩餘任務的預估工時變化。藍線高於紅線,表示剩餘工作比理想進度多;低於紅線,表示剩餘工作比理想進度少。

解題方法與圖形判讀

將各日的藍線數值與紅色理想線比較,判斷實際進度與計畫進度的差異:

  • 第 0 天:剩餘約 22 小時,衝刺剛開始。
  • 第 1 天:剩餘 21 小時,高於紅線,進度略落後。
  • 第 2 天:剩餘 15 小時,高於紅線,仍落後於理想進度。
  • 第 3 天:剩餘 7 小時,低於紅線,進度超前。
  • 第 4 天:剩餘 3 小時,低於紅線,仍超前。
  • 第 5 天:剩餘 0 小時,衝刺結束時完成預定工作。

因此,圖形顯示衝刺前段的剩餘工時高於理想線,表示工作燃盡較慢;中後段則低於理想線,表示進度追上並超前,最後在衝刺結束時歸零。

燃盡圖如何協助專案管理控管

  1. 掌握衝刺進度 團隊可定期更新剩餘預估工時,了解工作是否按計畫減少,並快速發現進度偏離。

  2. 及早揭露風險 若藍線持續高於紅線,代表剩餘工作偏多,團隊可及早調查原因,例如任務受阻、估時不足、工作拆分不清或成員負荷不均。

🔒

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

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

免費註冊

第 二 題25 分

進行物件導向系統分析與設計,常以類別圖來表達物件間之靜態結構。

(一)請說明類別間有那四種關係。(10 分)

(二)分別介紹每一種關係之表達意涵。(15 分)

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

這一題的完整詳解

核心觀念

本題測驗物件導向系統分析與設計(OOAD)中統一塑模語言(Unified Modeling Language, UML)類別圖(Class Diagram)的靜態結構模型。依據物件管理組織(OMG)之 UML 規範,類別與類別(或介面)之間存在四種基本結構關係:相依(Dependency)、關聯(Association)、一般化(Generalization) 與 實現(Realization)。 本題重點在於檢驗考生是否具備以下能力:

  1. 精確掌握四種關係之標準定義、概念語意(Use-a、Has-a、Is-a、Can-do)。
  2. 明確區分各關係在生命週期相依性、耦合強度(Coupling Strength)以及程式語言實作層次(區域變數/參數 vs. 成員變數 vs. 繼承 vs. 介面實作)之差異。
  3. 精準繪製各關係在 UML 類別圖中的標準符號規範(虛線、實線、箭頭樣式與端點圖標)。

解題方法

  1. 子題(一)切入策略(10 分): 採取「名稱定義+語義標籤+耦合度光譜」之架構作答。依 OMG 規範列出四種核心關係(相依、關聯、一般化、實現),並在關聯中帶出聚合(Aggregation)與組合(Composition)之特化形式,展現對物件導向架構的全面性理解。
  2. 子題(二)切入策略(15 分): 每一種關係均以四個標準構面深入剖析:
  • 語法意涵與關係本質(日常語意與概念模型)。
  • 程式碼實作層次映射(讓分析與設計具備落地實作性)。
  • 生命週期與耦合強度(相依生命期長短與系統耦合度)。
  • UML 標準繪圖語法(線條形式、端點標記與圖形規範)。

選項分析

本題為高考二級之非選題(申論計算題型),無選項。為避免考生在應試時產生概念混淆,特此進行常考觀念辨析:

  • 關聯(Association)vs. 相依(Dependency):若類別 AA 僅在方法中以參數或區域變數形式使用類別 BB,生命週期僅存於方法呼叫期間,屬於「相依」;若類別 AA 將類別 BB 保留為自身之成員屬性(Attribute),具備持久參照,則屬於「關聯」。
  • 聚合(Aggregation)vs. 組合(Composition):二者皆為關聯之特化形式(整體與部分關係)。聚合為「弱擁有」(共享聚集),部分可脫離整體而獨立存在;組合為「強擁有」(複合聚集),部分之生命週期完全由整體掌控,同生共死。
  • 一般化(Generalization)vs. 實現(Realization):一般化針對類別與類別間的繼承(含屬性與實作碼複用);實現針對類別對介面(Interface)之契約履行(僅定義行為規格,不具實作細節)。

解題技巧

  1. 口訣記憶法:以「依、聯、普、現」串聯四種關係(相依、關聯、一般化/普通化、實現)。
  2. 語義對應速查表:
  • 相依(Dependency) →\rightarrow Use-a(使用關係)
  • 關聯(Association) →\rightarrow Has-a / Knows-a(擁有/鏈結關係)
  • 一般化(Generalization) →\rightarrow Is-a(分類/繼承關係)
  • 實現(Realization) →\rightarrow Can-do / Implements(行為契約履行)
  1. 符號防錯檢查:
  • UML 絕無實心三角形。凡是泛化、實現皆用「空心三角形箭頭」。
  • 空心三角形配實線為「一般化」;配虛線為「實現」。
  • 菱形永遠置於「整體(Whole)」端,而非「部分(Part)」端。空心菱形為聚合,實心菱形為組合。

【答案】

(一)類別間之四種關係說明

在 UML 物件導向系統分析與設計中,類別圖用以呈現系統內部之靜態結構。類別與類別(或介面)之間共有以下四種基本關係:

  1. 相依關係(Dependency): 表示一種暫時性的「使用(Use-a)」關係。指一個類別(客戶端 Client)的定義或實作依賴於另一個類別(供應商 Supplier)的規格變更。當供應商類別發生變更時,客戶端類別亦會受到波及。
  2. 關聯關係(Association): 表示一種結構性的「擁有/知悉(Has-a / Knows-a)」關係。指物件之間存在語意上的持久鏈結(Link),使彼此能夠長期保存參照並傳遞訊息。關聯依整體與部分之結合強弱,進一步特化出**聚合(Aggregation)與組合(Composition)**兩種形式。
  3. 一般化關係(Generalization): 表示一種分類與階層式的「繼承(Is-a)」關係。
🔒

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

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

免費註冊

第 三 題25 分

在物件導向技術中,同名異式一般可分為多載(Overload)與覆寫(Override)兩種型式。

(一)請分別說明何謂多載與覆寫。(15 分)

(二)請說明兩者間有何差異?請說明運用多型設計之優點。(10 分)

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

這一題的完整詳解

核心觀念

本題聚焦於物件導向技術(Object-Oriented Technology, OOT)三大核心特性之一的「多型」(Polymorphism,題意稱「同名異式」)及其主要實現機制:

  1. 多載(Method Overloading,編譯期多型/靜態多型):屬於特定多型(Ad-hoc Polymorphism),透過改變方法簽章(Method Signature)中的參數串列,允許同一範圍內存在同名但不同行為的方法。
  2. 覆寫(Method Overriding,執行期多型/動態多型):屬於包含多型(Inclusion Polymorphism),奠基於繼承架構(Inheritance),子類別重新實作父類別已宣告的方法。
  3. 繫結機制(Binding Mechanism):靜態繫結(Static/Early Binding)與動態繫結(Dynamic/Late Binding)的運作時機與底層呼叫原理。
  4. 軟體工程架構原則:多型機制在物件導向設計(OOD)中對開放封閉原則(Open-Closed Principle, OCP)與依賴反向原則(Dependency Inversion Principle, DIP)的支援與貢獻。

解題方法

本題為標準的觀念辨析與效益分析申論題,作答策略如下:

  1. 第一小題(定義說明,15 分):
  • 採「核心定義」、「成立條件(方法簽章結構)」、「繫結時機(Binding Time)」三維度,分別獨立說明多載與覆寫,並搭配簡明虛擬碼/概念語法,建立具體清晰的回答結構。
  1. 第二小題(差異比較與優點分析,10 分):
  • 前半段「差異分析」:以「比較矩陣(表格)」呈現,從作用範疇、方法簽章、回傳型態、多型類別、繫結時序等面向做對比。
  • 後半段「多型設計優點」:跳脫語法層次,由軟體工程架構與設計模式(Design Patterns)的高度出發,條列其對系統擴充性、耦合度、維護性及代碼重構(消除條件判斷分支)的優勢。

選項分析

本題為申論問答題,無單選或複選選項。閱卷評分關鍵與給分點配置如下:

  • (一)多載與覆寫之定義(15 分):
  • 多載定義與條件(名稱相同、參數不同、同一類別、編譯期決定):配分 7~8 分。
  • 覆寫定義與條件(繼承關係、名稱與參數皆同、執行期動態分派):配分 7~8 分。
  • (二)兩者差異與多型優點(10 分):
  • 兩者差異對照(表格化明確條列 4~5 個維度):配分 5 分。
  • 多型優點(擴充性、符合 OCP 原則、降低耦合、提高重用性):配分 5 分。

解題技巧

  1. 關鍵字精準擊中:
  • 多載必寫:同一類別(Class)、參數串列不同、編譯時期(Compile-time)、靜態繫結(Static Binding)。
  • 覆寫必寫:繼承關係(Inheritance)、簽章完全相同、執行時期(Runtime)、動態繫結(Dynamic Binding)、虛擬方法表(vtable)。
  1. 避免常見陷阱:
  • 誤以為「回傳型態(Return Type)不同」即可構成多載(錯誤:僅傳回值型態不同不算多載,編譯器無法僅依傳回值辨識欲呼叫之方法)。
  • 混淆語意:切勿將覆寫(Override)與遮蔽/隱藏(Shadowing/Hiding)混為一談。
  1. 高分論述亮點:
  • 在說明多型優點時,帶入設計原則(如:SOLID 中的開放封閉原則),並點出可「消除龐雜的 switch-case 或 if-else 型態判斷分支」,展現資深系統分析師的架構思維。

【答案】

(一)多載(Overload)與覆寫(Override)之說明

1. 多載(Method Overloading)
  • 定義:在同一類別(Class)內(或具繼承關係的可見範圍內),定義兩個或兩個以上名稱相同,但參數串列(Parameter List)不同的方法。
  • 成立條件:
  • 方法名稱必須完全相同。
  • 參數串列必須不同(參數的個數不同、型態不同或排列順序不同)。
  • 僅改變回傳型態(Return Type)或存取修飾詞(Access Modifier)無法構成多載。
  • 運作機制:屬於靜態多型(Static Polymorphism)或特定多型(Ad-hoc Polymorphism)。編譯器在編譯時期(Compile-time)即根據傳入引數的型態與個數,決定實際呼叫的方法版本,此過程稱為靜態繫結(Static Binding / Early Binding)。
  • 應用範例:
🔒

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

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

免費註冊

第 四 題25 分

對關聯式資料庫設計而言,若沒有適當的設計,於資料維護時可能造成異常現象,包括新增異常、刪除異常及修改異常。以學生選課及收費的關聯表為例,其選課與收費規則及關聯表如下:

i. 每一個學員在某一時間內只能登記一種課程。

ii. 每一課程皆有一標準學費。

學員代號課程代號學費(元)
666789CS1018000

(一)以上述的關聯表設計為例,請分別舉例說明在何種情況會造成新增、刪除及修改異常。(15 分)

(二)應如何修改以避免上述異常現象?(10 分)

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

這一題的完整詳解

核心觀念

本題測驗關聯式資料庫(Relational Database)正規化理論(Normalization Theory)的核心概念:**資料維護異常(Data Anomalies)與第三正規化(3NF)**之設計。

  1. 功能相依(Functional Dependency, FD):
  • 規則 i 規範「每一個學員在某一時間內只能登記一種課程」,故在目前的關聯表架構下,給定學員代號即決定其所選課程: 學員代號→課程代號\text{學員代號} \rightarrow \text{課程代號}
  • 規則 ii 規範「每一課程皆有一標準學費」,即給定課程代號即決定該課程學費: 課程代號→學費\text{課程代號} \rightarrow \text{學費}
  • 由此可導出**候選鍵(Candidate Key)**為 學員代號,主鍵(Primary Key)亦設為 學員代號。
  1. 遞移功能相依(Transitive Dependency):
  • 關聯表中存在 學員代號→課程代號\text{學員代號} \rightarrow \text{課程代號} 且 課程代號→學費\text{課程代號} \rightarrow \text{學費},但 課程代號↛學員代號\text{課程代號} \nrightarrow \text{學員代號},導致非鍵屬性(學費)遞移相依於主鍵(學員代號)。
  • 該關聯表滿足第一正規化(1NF)與第二正規化(2NF,無部分功能相依),但違反第三正規化(3NF)。
  1. 資料異常(Data Anomalies):
  • 當多個相依概念(「學員選課紀錄」與「課程收費標準」)混雜於同一個關聯表時,會違反**實體完整性(Entity Integrity Constraint,主鍵不可為空值)**及重複儲存資料,進而引發:
  • 新增異常(Insertion Anomaly):欲輸入特定資訊時,因缺少其他相依實體的鍵值而無法新增。
  • 刪除異常(Deletion Anomaly):刪除特定實體紀錄時,非預期地將其他獨立存在的實體資訊一併抹除。
  • 修改異常(Update Anomaly):更新某一項屬性值時,需同步更新多筆重複紀錄,否則會導致資料不一致(Inconsistency)。

解題方法

  1. 切入點與相依性推導:
  • 檢視題目給定的兩個業務規則,精確寫出功能相依式: F={學員代號→課程代號,課程代號→學費}F = \{\text{學員代號} \rightarrow \text{課程代號}, \text{課程代號} \rightarrow \text{學費}\}
  • 依據阿姆斯壯公理(Armstrong's Axioms)之遞移律(Transitivity Rule),存在: 學員代號→學費\text{學員代號} \rightarrow \text{學費}
  • 判定問題本質:關聯表混雜了「選課事實(Enrollment)」與「課程資訊(Course)」,使得非鍵屬性 學費 相依於另一個非鍵屬性 課程代號。
  1. 針對第(一)小題之情境設計:
  • 設定具體數值與實際業務情境(例如新開設課程尚未有人選修、學員退選、課程學費調漲),分別針對三種異常進行推演,說明為何受限於資料庫完整性限制或資料重複而無法正常維護。
  1. 針對第(二)小題之正規化分解(Decomposition):
  • 運用**無失真連接(Lossless-join Decomposition)與相依性保留(Dependency Preservation)**原則,將關聯表分解至符合 3NF / BCNF:
  • 將遞移相依的獨立實體抽離:建立 課程 關聯表,由 課程代號 擔任主鍵。
  • 保留原始選課關係:建立 選課 關聯表,以 學員代號 擔任主鍵,並將 課程代號 設為外來鍵(Foreign Key)。

解題技巧

  1. 異常現象秒殺判斷法:
  • 新增異常:聯想「只建主檔、尚無交易」。若只開一門課,但還沒有學生選,能不能存進去?(卡在主鍵不可為 NULL)。
  • 刪除異常:聯想「交易撤銷、主檔陪葬」。若唯一選這門課的學生退選,課程資訊是否就此蒸發?
  • 修改異常:聯想「資料重複、修改遺漏」。一門課若有多人選,改學費要改幾筆?若只改一筆會發生什麼事?
  1. 審題關鍵防雷:
🔒

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

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

免費註冊

其他考古題

資訊處理《系統分析與設計研究》其他年度