---
# System prepended metadata

title: 系統分析 CH1
tags: [系統分析]

---

# 系統分析 CH1
* **software:Logic，一般而言不太會損壞，只會不符合需求，多半客製化**
* **Hardware:實際存在的東西，會損壞折舊，大部分是大量生產的文件**

| 種類 | 描述 |
|:--:|:--:|
|系統軟體|連接電腦硬體跟應用程式，讓電腦正常工作的軟體 ex:Your installer|
|應用程式|一種專門For特定工作的程式，ex:word|
|==++**軟體的組成**++==|程式+資料與資結+文件|
|程式|用程式語言撰寫的exe，一種store在media上的二進制資料|
|文件|使用手冊，需求文件等|
|==資料與資結==|執行時所管理的資料結構|

## 資訊系統結構（big to small)

商業環境＞企業>資訊系統>軟體

* ++軟體工程:系統化地進行軟體系統的開發，透過一些經驗證可行的方法，在時間與預算內開發系統++
>方法:需求、分析、設計、實作、測試、部署
>工具:CASE(Computer-Aided Software Engineering Tools)
>流程:流程圖

|軟體工程三大階段||
|:--:|:--:|
|定義|聽懂客戶的requirement，提供那些功能|
|開發|如何達成軟體需求，決定架構、資結、撰寫程式、測試|
|維護|除錯、升級等|

* 術語:作業(Task):活動的組成元素，最小工作單位

|軟體開發生命週期(SDLC)||
|:--:|:--:|
|需求|++**功能性需求**++:我所需要提供的功能。 ++**非功能性需求**++:ex:最少須選修16學分的限制|
|分析|想方案，並尋找合適程式語言|
|設計|++**系統導向**++:決定系統的軟硬架構，使用的作業系統並分割為子系統，評估是否需要資料庫。 ++**物件導向(重複利用性高)**++:將分析模型轉成設計模型，找出完整的物件屬性、方法的類別關係|
|實作|Coding|
|測試|確定是否符合定義與滿足客戶要求|
|部署|給客戶|

|軟體生命週期|描述|
|:--:|:--:|
|瀑布式模型|如同上面的需求到部署，缺點:缺乏彈性|
|反覆與漸進式|針對主要需求進行開發，快速建立初期版本，再debug|
|雛形|針對初期無法瞭解完整需求的情況，先建立一個簡單版本，給客戶評估，然後再依照反饋開發，通常雛形的code會捨棄|
|螺旋|整合瀑布+雛形再加風險分析，若客戶覺得風險太高有可能專案停頓，分為:企劃、風險分析、工程、客戶評估，不斷輪轉|

==Rational統一流程==:IBM研發，利用物件導向來開發系統，最主要的概念就是透過++方法論++來解決問題
* 方法論:解決問題的方法集合，方法則是定義一種可重複使用的技術來解決指定的問題，其優點為可複製性
### ++**四個階段**++
>初始:訂出目標
>強化:定義架構
>建構:利用反覆與漸進式coding
>轉換:釋出beta並改善

###### tags: `系統分析`




