###### tags: `SA`
# chapter 1 系統分析設計概觀
| 章節 | 大綱 |
| --------- | -------- |
| 1-1| 系統分析與系統設計定義|
| 1-2| 軟體SOP|
| 1-3| 系統分析與系統設計定義 |
## 系統分析與系統設計定義
> **系統分析**
```
- 定義系統開發內容與範疇
- 考慮如何做。
- 指分析師定義和描述系統解決需求細節的一組活動。
```
範例:功能分解圖(FDD)

>**系統設計**
```
- 定義系統開發內容與範疇。
- 考慮要做什麼
- 指分析師去瞭解和明確敘述出資訊系統應該完成的工作的一組活動。
```
範例:點餐app
Step1 點餐第一步點餐菜單
Step2 選取自動結帳或服務生結帳
Step3 給顧客多少錢
Step4 給後端廚房
Step5 端回給顧客
## 軟體SOP(Standard Operation Process)
> **工作步驟**
- **Step1 需求**
訪談用戶需求,了解用戶對於軟體目標和軟體幫助他解決什麼事情。 範例:[需求修改紀錄-客戶許願清單](https://docs.google.com/spreadsheets/d/1G8sRPQo5g9crPjR1zSnWRwgF9BpBe729z5z08Fv2Ezw/edit?usp=sharing)
- **Step2 分析**
通過訪談內容與合約,描述系統內的規格內容與限制。
- **Step3 設計**
產出內容包括
- 角色
- 架構:通過 Function Map&Sitemap
- 流程圖
- 類別圖...等
- **Step4 程式製作**
系統設計書轉為程式模組。
- **Step5 測試**
- 測試工作:進行單元測試、整合測試、功能測試、系統測試。
- **Step6 部署**
上線工作就是將測試完成的系統轉移到實際環境運行。
- **Step7 維護**
- 正確性維護:修改系統錯誤
- 適應性維護:因應環境變化進行的修改工作
- 完美性維護:使用者需要提升系統運作效能所做的調整工作
> **階段**
- **Step1 需求**
- **Step2 起始(inception)**
- **Step3 詳細闡述(elaboration)**
- **Step4 建構(construction)**
- **Step5 轉換(transition)**
> **工作量概覽**

## 系統分析與系統設計定義
> **結構化方法 Structure Method / SD方法**
```
- 是一種傳統的軟體開發方法,它是由結構化分析、結構化設計和結構化程式設計三部分有機組合而成的。
- 把一個複雜問題的求解過程分階段進行,而且這種分解是自頂向下,逐層分解,使得每個階段處理的問題都控制在人們容易理解和處理的範圍內。
```
例如用 結果範例DFD、流程圖Control Flow Diagram
**流程圖中圓型是流程方型是相關資料庫**

> **物件導向方法 Object-Oriented Method / OO 方法**
```
- 所謂物件導向就是基於對象概念,以對象為中心,以類和繼承為構造機制,來認識、理解、刻畫客觀世界和設計、構建相應的軟體系統。
- 把工作流程跟資料合併封裝在物件裡面後,由物件描述系統工作。
- 是一種把物件導向應用於軟體開發過程中,指導開發活動的系統方法,是建立在“對象”概念基礎上的方法學。對象是由資料和容許的操作組成的封裝體,與客觀實體有直接對應關係,一個對象類定義了具有相似性質的一組對象。
```
範例:信義房屋賣房子
| 項目| 內容 |
| -------- | ---- |
| 物件名稱|永和巨景豪宅|
| 屬性 |地址、類型、年份、售價、說明|
| 操作物件 | 委託、看屋、議價、交易|
物件導向系統所需要的標準程序稱為統一程序(UP),所發展出的物件模式化語言稱為UML。已經成為一種繪圖標準。
物件導向與結構化差異在於此方法將系統分割成多個物件,物件中包含資料內容與程式操作方式。
:::info
**專有名詞**
1. 功能分解圖Functional Decomposition Diagram(FDD)
2. 流程圖Control Flow Diagram
3. 統一程序(Unifiedprocess,UP)
4. UML(Unified Modeling Language)
:::
:::info
**結構化方法補充**



:::
:::info
**物件導向方法補充**

:::
:::info
**更多資訊補充**
1.[figma筆記](https://www.figma.com/file/7P3M6Jl1PILNSMME6kKAe9/%E7%B3%BB%E7%B5%B1%E5%88%86%E6%9E%90%E7%A0%94%E7%A9%B6?node-id=4%3A14)
2.[結構化方法與物件導向方法的比較](https://topic.alibabacloud.com/tc/a/comparison-between-structured-method-and-object-oriented-method_8_8_31095700.html)
3.[物件導向(Object Oriented Programming)概念
](https://totoroliu.medium.com/%E7%89%A9%E4%BB%B6%E5%B0%8E%E5%90%91-object-oriented-programming-%E6%A6%82%E5%BF%B5-5f205d437fd6)4.[資料流程圖(Data Flow Diagram)](https://peilee-98185.medium.com/%E8%B3%87%E6%96%99%E6%B5%81%E7%A8%8B%E5%9C%96-data-flow-diagram-2b27d8c67f54)
5.[訂餐系統DFD](https://kknews.cc/code/3qg92ao.html)
6.[校務研究資料申請流程](https://ir.ncu.edu.tw/index.php/en/document-2)
:::