# 開發流程
## Boehm’s spiral model
**實務上較少使用**
- Phase: 每一圈稱之為Phase
- 維護也能繼續延續Phase
### 主要象限
- Objective setting
- Specific objectives for the phase are identified. (also include
constraints, risks, and alternative strategies)
- Risk assessment and reduction
- Risks are assessed and activities put in place to reduce the key
risks.
- Development and validation
- A development model for the system is chosen which can be
any of the generic models. (..waterfall, prototype, formal method)
- Planning
- The project is reviewed and the next phase of the spiral is
planned.
## Rational Unified Process
work on UML
把三個model好的部分整併後的模型
- 動態
- 靜態
- 實務 (practice)
- Code Review
- Unit Test

### Phase
- Inception (立案)
Establish the **business case** for the system.
- 產品價值評估
- 可行性分析
- Elaboration
Develop an understanding of the problem domain, establish the
system architecture, develop project plan, and identify risks
- 風險評估
- 研發
- 系土架構規劃
- Construction
- System design
- programming
- testing.
- Transition
- Deploy the system in its operating environment. (something
ignored in most software process but is, in fact, an expensive
and sometimes problematic activity
- 部署
### Dynamic

越早期的活動,會隨時間推進減少活動
在不同階段,仍可做其他階段的事情
### 靜態 工作流

以使用者的觀點,系統到要做啥
As a student, I can register an account on school web.

## 好實作
- iteratively
- reusable components.
- 可視化
- 驗證程式品質
- Code review
- 控制變更
###### tags: 'SE'