
識別解決方案
通常,編碼被認為是任何軟體開發過程中最核心的部分。然而,編碼只是流程的一部分,如果系統設計正確,它實際上可能花費最少的時間。在設計系統之前,必須為手頭的問題確定一個解決方案。
關於系統設計,首先需要注意的是,最初系統分析師可能會提出不止一個解決方案。但最終的解決方案或產品只能是一個。在需求收集階段收集到的資料的深入分析可以幫助得出唯一的解決方案。正確定義問題對於獲得解決方案也至關重要。
當面臨多個解決方案的問題時,分析師會使用流程圖、資料流圖、實體關係圖等視覺輔助工具來深入瞭解每個解決方案。
流程圖
流程圖是透過符號和圖表來說明系統中工作流程和資料流的過程。它是幫助系統分析師識別問題解決方案的重要工具。它以視覺化的方式描繪了系統的元件。

以下是流程圖的優點:
視覺化表示有助於理解程式邏輯
它們充當實際程式編碼的藍圖
流程圖對於程式文件很重要
流程圖是程式維護期間的重要輔助工具
以下是流程圖的缺點:
複雜的邏輯無法使用流程圖來描述
如果邏輯或資料/工作流程發生任何變化,則必須完全重繪流程圖
資料流圖
資料流圖或 DFD 是資料流透過系統或子系統的一種圖形表示。每個流程都有其自己的資料流,並且存在不同級別的資料流圖。級別 0 顯示整個系統的輸入和輸出資料。然後將系統分解成模組,級別 1 DFD 分別顯示每個模組的資料流。如果需要,可以將模組進一步分解成子模組並繪製級別 2 DFD。
虛擬碼
系統設計完成後,將交由專案經理進行實施,即編碼。程式的實際編碼是用程式語言完成的,只有接受過該語言培訓的程式設計師才能理解。但是,在實際編碼發生之前,程式的基本操作原理、工作流程和資料流會使用類似於要使用的程式語言的表示法進行編寫。這種表示法稱為虛擬碼。
以下是一個 C++ 虛擬碼的示例。程式設計師只需將每個語句轉換為 C++ 語法即可獲得程式程式碼。

識別數學運算
所有對計算機的指令最終都在機器級別實現為算術和邏輯運算。這些操作很重要,因為它們:
- 佔用記憶體空間
- 需要時間執行
- 決定軟體效率
- 影響整體軟體效能
系統分析師在識別手頭問題的唯一解決方案時,會嘗試識別所有主要的數學運算。