IB 計算機科學/科學系統生命週期和軟體開發/系統生命週期
外觀
系統生命週期可以分為五個階段:分析、設計、實施、執行和維護。
- 分析 - 系統分析師與使用者會面,確定使用者的確切需求,並進行可行性研究(設計人員是否能夠滿足使用者的期望)。
- 設計 - 在此階段,程式設計師設計出使用者問題的解決方案。這可能是週期中最耗時的部分,因為需要做出許多選擇。必須決定要使用哪些型別的軟體、硬體和演算法。
- 實施 - 系統的構建(開發);系統是根據上一階段設計的方案開發的。
- 執行 - 也稱為安裝或系統啟動。系統可以作為直接切換、分階段引入或並行執行進行安裝。
- 維護 - 隨著時間的推移,可能會出現錯誤和/或缺陷,因此需要修復和更新系統。但是,修復一個錯誤可能會導致另一個錯誤的出現。
在分析階段收集資料至關重要,因為您可以獲得對問題的清晰洞察。如果無法正確識別問題,就一定會出現糟糕的解決方案。
| 方法 | 優點 | 缺點 |
|---|---|---|
| 訪談 | 詳細資料,可以在過程中更改問題(不像問卷調查)。 | 耗時,對資料進行分類/量化存在問題。 |
| 問卷調查 | 可以快速覆蓋大量人員(與訪談/觀察相比)。可以進行數值分析。 | 問題可能被誤解。人們可能根本不回覆,或者只回答部分問題。 |
| 文件搜尋 | 可以準確識別系統所需的資料。 | 文件可能缺失、過時等(訪談可以發現這些問題)。 |
| 文獻檢索 | 可以找到之前實現的描述/問題(節省工作量)。 | 問題可能沒有描述(或沒有詳細描述)。同樣,在沒有經驗使用者的參與下工作。 |
| 觀察 | 觀察獨立於使用者偏差(不像訪談/問卷調查)。 | 耗時,觀察者會影響過程:霍桑效應。 |
需求規格說明書包含系統能夠做什麼以及如何完成。這應該包括
- 構建、測試和執行系統的成本(包括硬體和軟體)。
- 預計完成時間
- 所需的硬體和軟體工具列表
- 硬體和軟體功能的描述
- 系統的效能
- 人員和分配任務的列表
可行性報告可以在分析階段、設計階段或兩個階段都產生。它應該包括
- 成本
- 預期效益
- 時間段
- 潛在困難
解決問題的方法有很多,可以使用或不使用計算機。您必須考慮的一個因素是解決方案的輸入和輸出。軟體本身可以是以下三種類型之一
- 通用應用程式軟體 - 這是最便宜的解決方案,但可能不包含使用者需要的所有功能。一個典型的例子是辦公套件。
- 特定應用軟體包 - 這些軟體通常比通用應用程式軟體更昂貴,並提供更多功能。這些程式往往是專門為企業編寫的。
- 定製軟體 - 這是最昂貴的選項,但可以根據客戶的要求進行定製,因為它是從頭開始編寫的。
系統通常會經歷幾個測試階段。alpha 測試是第一個階段,其中一小群合格人員檢查程式的早期版本。beta 測試是指程式已完成所有功能併發布給更廣泛的受眾進行測試。
測試資料還用於確保程式輸出預期資料。我們可以使用以下資料測試程式
- 正常資料 - 預計輸入程式的資料。包括預計範圍內的極限資料。
- 極限資料 - 這將超出程式的正常範圍,模擬使用者錯誤輸入資料時會發生什麼情況。
- 異常資料 - 預期之外的資料,例如字串而不是整數值。
可以使用以下三種方法之一實施新系統
- 並行執行 - 這是同時執行新舊系統。這確認了這兩個系統都產生相同的輸出,如果出現任何故障,可以在不損失正常執行時間的情況下進行修復。員工可以在沒有丟失資料的風險下接受培訓,但可能會有兩倍的工作量。
- 分階段引入 - 系統的各個部分在不同的時間實施,每個部分都會被測試並確認,這意味著實施時間會更長。
- 直接切換 - 也稱為大爆炸,舊系統立即被新系統替換。使用者需要在新系統實施之前接受培訓,並且存在系統無法正常工作的風險。
對系統的良好維護至關重要;清晰的文件在開始時有助於這一過程,因為程式設計師無需費力理解設計決策,因為這些決策已在文件中說明。這降低了維護成本。定期審查和效能審查使用與分析部分中相同的資料收集技術,並指示是否需要進一步改進或修改。