歡迎來到系統開發的世界!

你是否曾經好奇過 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. 設計網頁產品

在進行網頁開發時,我們遵循特定的設計流程,以確保使用者有良好的體驗。別擔心步驟看起來很多——這只不過是將想法轉化為成品的過程而已。

設計旅程:

  1. 線框圖 (Wireframes): 簡單的草圖,用於展示佈局 (layout)。沒有顏色或圖片,只有框框來標示位置。(可以把它想成骨架。
  2. 模型圖 (Mock-ups): 更詳細的視覺設計。包括顏色、字型和圖片。看起來就像最終網站,但還無法「運作」。(可以把它想成皮膚。
  3. 網頁設計風格指南 (Web-design Style Guide): 一份文件,列出具體的顏色(十六進位代碼)、字型和按鈕樣式,以確保設計的一致性
  4. 原型 (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)

你能行的!系統開發不過是解決問題的循序漸進方法。只要一步一個「子系統」來處理就好!