歡迎來到系統開發的世界!
你是否曾經好奇過 Instagram 這種大型應用程式,或是航空公司複雜的訂位系統究竟是如何建構出來的呢?其實,這不僅僅是坐下來寫程式那麼簡單。開發系統就像建造摩天大樓一樣:你需要周詳的規劃、合適的建材,還要清楚了解誰會使用這棟大樓。
在這些筆記中,我們將探討課程大綱中的主題 4(資訊科技系統)和主題 10(網頁設計)。我們將學習如何將大型難題拆解成小部分,並設計出真正「切合用途」(fit for purpose) 的系統。
1. 資訊科技系統由什麼組成?
在開發系統之前,我們必須先了解我們處理的對象。一個資訊科技系統 (IT System) 不僅僅是一台電腦,它是四個關鍵要素的結合:
- 硬件 (Hardware): 實體部件(伺服器、平板電腦、電纜)。
- 軟件 (Software): 指示硬件運作的程式和作業系統。
- 程序 (Processes): 為達成目標而遵循的規則或步驟(例如:重設密碼的步驟)。
- 人員 (People): 與系統互動的使用者,以及負責維護系統的工作人員。
比喻:想像一家餐廳。廚房和餐桌是硬件,食譜是軟件,侍應生接單的方式是程序,而廚師和飢腸轆轆的顧客則是人員。餐廳要運作,這四者缺一不可!
系統分解 (Decomposition)
大型系統往往既複雜又令人望而生畏。為了管理這種複雜性,開發人員會使用分解 (decomposition)。這意味著將大型系統拆解成更小、更易於管理的子系統 (sub-systems)。
快速複習: 為什麼要進行分解?
1. 它讓問題變得更容易理解。
2. 不同的團隊可以同時處理不同的部分。
3. 測試和修復小部分比處理一個龐然大物要容易得多。
重點總結:
資訊科技系統是硬件、軟件、程序和人員的集合。將其分解(分解法)能讓開發過程更順暢。
2. 設計工具:流程圖與數據流圖 (DFD)
開發人員會在動手開發前使用「藍圖」來展示系統運作方式。其中最重要的兩種工具是流程圖 (Flowcharts) 和數據流圖 (Dataflow Diagrams)。
流程圖(展示「如何」運作)
流程圖用來展示過程中的邏輯和逐步決策。它側重於行動的先後順序。
範例:登入頁面的流程圖會顯示:輸入用戶名 -> 密碼正確嗎? -> 若是,前往首頁;若否,顯示錯誤訊息。
數據流圖(展示「什麼」在流動)
數據流圖 (DFD) 展示了數據如何在系統中流動。它不關注步驟的先後順序,而是關注資訊從哪裡來、流向何處,以及儲存在哪裡。
避免常見錯誤: 千萬別搞混這兩者!
- 使用流程圖來展示決策(是/否路徑)。
- 使用數據流圖 (DFD)來展示數據移動(例如:客戶的訂單從表格移動到資料庫)。
重點總結:
流程圖展示邏輯與步驟;數據流圖展示資訊如何在系統中傳輸。
3. 設計網頁產品
在進行網頁開發時,我們遵循特定的設計流程,以確保使用者有良好的體驗。別擔心步驟看起來很多——這只不過是將想法轉化為成品的過程而已。
設計旅程:
- 線框圖 (Wireframes): 簡單的草圖,用於展示佈局 (layout)。沒有顏色或圖片,只有框框來標示位置。(可以把它想成骨架。)
- 模型圖 (Mock-ups): 更詳細的視覺設計。包括顏色、字型和圖片。看起來就像最終網站,但還無法「運作」。(可以把它想成皮膚。)
- 網頁設計風格指南 (Web-design Style Guide): 一份文件,列出具體的顏色(十六進位代碼)、字型和按鈕樣式,以確保設計的一致性。
- 原型 (Prototyping): 設計的互動版本。你可以點擊按鈕,查看頁面之間如何連結。
你知道嗎? 使用風格指南可以確保即使有十個人同時參與網站開發,網站看起來依然像是出自同一人之手!
重點總結:
網頁設計從佈局(線框圖)到視覺(模型圖),最後到可運作的模型(原型)。
4. 切合用途與效能
一旦系統設計或開發完成,我們必須進行評估。最重要的問題是:它是否「切合用途」(fit for purpose)?
切合用途是指系統完全符合使用者的需求,並滿足所有原始規格要求。
衡量效能
要了解系統效能是否良好,我們會觀察:
- 速度 (Speed): 處理器處理任務的速度有多快?
- 容量 (Capacity): 儲存裝置能存放多少數據?
- 頻寬 (Bandwidth): 網絡在同一時間內能傳輸多少數據?
- 能源效率 (Power Efficiency): 是否耗電過快?(這對流動裝置特別重要!)
開發中的數學應用
有時你需要計算系統處理任務的能力。例如,計算傳送檔案所需的時間:
\( \text{時間} = \frac{\text{檔案大小}}{\text{傳輸速率}} \)
記憶小貼士:請記住,在資訊科技中(IEC 單位),一個千位元組 (Kibibyte, KiB) 等於 \( 2^{10} \) (1024) 位元組,而不是 1000!
重點總結:
只有當系統「切合用途」時,它才是成功的——這意味著它能滿足使用者的需求,並達成速度與容量等效能指標。
最終總結清單
考試前,請確認你能夠:
- [ ] 列出資訊科技系統的四個組成部分(硬件、軟件、程序、人員)。
- [ ] 解釋為什麼分解法 (decomposition) 很有用。
- [ ] 分辨流程圖與數據流圖 (DFD) 的區別。
- [ ] 描述線框圖與模型圖的差異。
- [ ] 定義什麼是切合用途 (fitness for purpose)。
你能行的!系統開發不過是解決問題的循序漸進方法。只要一步一個「子系統」來處理就好!