-
資訊系統開發模式(Information System Development model)
- 又稱 軟體流程模式(Software Process Model)
- 資訊系統開發過程中一系列步驟與執行程序。
-
常用的資訊系統開發模式
-
§瀑布模式( Waterfall Model ) vs 漸增模式( Incremental Model )
- 開發時機皆為:明確需求(使用者需求可明確描述)
- 漸增模式為瀑布模型的擴充,強調需求可被分成幾個漸增部分。
- 漸增模型各子系統可獨立開發,瀑布模型則同時進行。
- 漸增模型由多個週期開發,都有使用者參與,因此風險較低。
-
§雛型模型( Prototyping Model)
- 開發時機:沒有明確需求
- 兩種策略
-
用後丟棄式雛型策略 vs 演進式雛型策略
-
用後丟棄式雛型策略(Rapid Throwaway Prototyping Strategy)
-
演進式雛型策略 (Evolutionary Prototyping or Evolutionary Development Strategy)
- 該雛型與使用者溝通,以確定、修改和擴充需求,並藉以作為下一週期雛型演進之依據。該週期不斷地反覆進行,直到雛型系統符合雙方約定為止
-
§敏捷軟體開發 (Agile Software Development)
- 動態系統開發方法 (Dynamic Systems Development Method, DSDM)
-
結構化技術
- 強調應用概念、策略與工具,提升系統分析與設計、程式設計與測試之效率與效能,包含以下四種。
- 結構化分析 (Structured Analysis)
- 結構化設計 (Structured Design)
- 結構化程式設計 (Structured Programming)
- 由上而下發展 (Top-down Development)
-
§結構化分析 (Structured Analysis)
- 主要目的是將資訊系統依由上而下發展,並將程式設計模組化與結構化。
-
※塑模工具
- 事件 (Event List)
- 環境圖 (Context Diagram)
- 資料流程圖 (Data Flow Diagram, DFD) 顯示系統內實體與儲存資料的關係
- 資料字典 (Data Dictionary, DD)
- 處理規格描述 (Process Specification, PS)
- 實體關係圖 (Entity Relationship Diagram, ERD)
- 實體、關聯、資料元素提供概念性邏輯結構
- 矩形:代表實體類型(Entity Type)
- 菱形:代表實體類型與實體類型間之關係 (Relationship)
- 橢圓形:代表實體類型或關係之屬性(Attribute)
- 實線:把屬性連結到實體類型或把實體類型連結到關係
- 基數(Cardinality):代表實體類型與實體類型間之關係程度。
- 關係程度可以是一對一、一對多(或多對一)或者多對多。
- 狀態轉移圖(State Transition Diagram, STD)
-
※模組
-
程式的模組(Module)是一連串指令的集合:
- 模組名稱:唯一且應有意義,能表達模組的功能。
- 輸入:呼叫一模組所需輸入的資料。
- 輸出:模組執行後所產生的輸出,與輸入合稱為模組的介面。
- 處理邏輯:模組內必須具備的執行程序,以達成模組的功能。
- 內部資料:模組獨自擁有而不與其他模組共用的資料。
-
§結構化設計 (Structured Design)
- 決定系統應有哪些模組、模組間以何種方式相互聯繫能最有效解決問題。
- 特別強調系統的結構化與可維護性
-
§結構化程式設計 (Structured Programming)
-
§由上而下發展 (Top-down Development)
- 由上而下設計 (Top-Down Design)
- 由下而上設計(Bottom-Up Design)
- 由上而下編碼 (Top-Down Coding)
- 由上而下實施(又稱由上而下整合測試) (Top-Down Implementation)
-
單元測試→整合測試→驗收測試→系統測試
-
白箱測試 vs 黑箱測試
- 殘根模組:用來代替下一層未完成的模組
- 由下而上實施(又稱由下而上整合測試)
- 啟動模組:用來逐次往上測試
-
※殘根模組:由上而下整合測試
-
※啟動模組:由下而上的策略
-
內聚力:
- 評估模組內部所處理事情之相關程度( 衡量模組完成一件單一且定義清楚之工作的程度)。
-
耦合力:
- 評估系統內部各模組之間的相關程度( 衡量模組間相互關聯強度的方法)。
- 資料耦合力
- 資料結構耦合力
-
關聯表(關係表)
- 對每一個一般性實體類型建立一個關聯表
- 每對一個弱實體類型建立一個關聯表
- 對於每一個多值屬性建立一個關聯表
- 對M:N關係建立一個關聯表
- 處理兩實體類型間之1:1關係
- 處理兩實體類型間之1:N關係
- 對ñ元關係建立一個關聯表
-
正規化(Normalization)
- 是將資料屬性組合成一具有良好結構之關聯表的過程。
- 異常(異常)
- 異常新增
- 刪除異常
- 更改異常
- 相依性
- 功能相依性(FD):屬性間限制,關係多對一
- 完全功能相依
- 部分功能相依
- 遞移相依
-
正規化步驟
- 正規化滿足條件
1NF:去除關聯表多值或複合屬性
2NF:滿足1NF,去除資料部分功能相依
3NF:滿足2NF,去除資料遞移相依
BCNF:滿足3NF,去除因功能相依造成的異常
4NF:滿足BCNFNF,去除所有多值相依
5NF:滿足4NF,去除剩餘所有異常情況