需求發展
需求彙整最困難的部分,在於如何將user想要的系統,轉成user需要的系統
需求彙整與規格化的動作,是不斷重複的,直到對user需求達到一個清晰穩定的瞭解
User
Not only people
會影響或被影響的人事物,皆為User
彙整與管理使用者需求
將需求訪談轉成結構化應用面需求
需求條列、分類
功能性
非功能性
介面requirement
效能需求
rule
例外情形
對每一項需求編號
方便溝通
方便追蹤
文件產出(基本上以CMMI為主)
會議記錄
客戶提供資料記錄表
現行作業流程圖
需求彙整清單與glossary
系統軟體、硬體與網路架構
資料量分析表
若不需要PM可裁適
需求追溯表(RTM)
系統需求規格書
需求確認
取得專案成員認同(內部成員,如SA、PM)
取得user認同
彙整報告會議
審查會議
交付需求分析文件
文件審查
User簽名
Models
三個面向
Level
Scope level
Scope
High level
Conceptual(brief description)
Low level
Detail description
Focus
who
影響與被影響的actor
what
流程、規範等
when
何時使用、使用的頻率與時間分佈
where
網路與實體機器位置等
why
為何需要,有什麼樣的問題需要被解決
how
如何滿足需求
View
Behavior
Use Case Diagram
Flow chart
Struture
Data model
Class Diagram
Dynamic
Statechart Diagram
Event table
Control
作業規範
business policy
常用的model與適用時機
What do we means
Glossary
Who's affected by the project?Who affects it
Stakeholder Classes
關鍵人員
外部界接系統也可能是關鍵人員之一
Who does it
Actor table
Actor map
What must be true?What policies do we have?
Business Policies
Business Rule
Decision Table
Decision Tree
When will it happen?What will result?
Event table
What does need to do?
Event-driven system
Who or what parts of organization are involved?
Relationship Map
What data is needed?
Domain Model
High level
將現實世界問題,使用圖解方式表達Conceptual class or object
What information action need?
When will the data change?
Statechart Diagram
例如Insert、Edit狀態改變
What processes will go on?In what sequence will things done?
Process Map
Flow chart
Use cases
描述Actor與系統內功能的關聯
定時或批次處理的驅動actor
timer
Use Case Map (Activity diagram)
What are dependencies among use cases?
Use Case Packages
What are examples of what will happen?
Scenarios
What will the system look like?
User Interface Navigation Diagram
類似以UI為eneity的flow chart
Prototype
SA的責任
引導(Elicitation)
可透過一連串的問答來引導user,找到user真的想要與需要的系統
Analysis
找到消失的需求(missing requirement)
例如透過CRUDL matrix找出消失的操作
五種權限
Create
Read
Update
Delete
List
二維matrix
X: entity
Y: use cases
Specifation
將需求轉換成規格文件及model
Validation
確認需求
You Should Know
需求發展程序
研讀專案計畫
瞭解專案目標
Scope
Key user參與計畫
關鍵人員參與溝通計畫
蒐集與瞭解使用者需求
蒐集的方法
可參考哪些data
如何瞭解user requirement
彙整跟管理使用者需求
需求與確認(V & V)
需求彙整與瞭解的方法
文獻調查
RPP、proposal、工作說明書
專案計畫書,瞭解目標跟Scope
客戶組織有哪些user會使用此系統
客戶現行文件、報表
domain knowledge
訪談會議
PM擬定訪談計畫
瞭解現行作業流程與問題點
瞭解user requirement
對未來系統的需求與期望(共識)
未來系統的限制條件
導引
配合訪談會議
預先構思Scenario
Prototype展示,啟發user requirement
Axure
問卷調查
跨部門或跨組織可使用
實地調查
特定情境需實地訪查的系統
實習
先行瞭解作業(實際上比較少見)
需求發展應避免
User涉入不足
四處蔓延的需求
語意不清的敘述
盡量
盡快
彈性
什麼什麼等....
鍍金
無謂的功能
花俏的UI
Minimal specfication
應描述更詳盡,break down到更細的思考,才能避免遺漏需求或誤解需求
隨便給user承諾
忽略了User Class
為什麼需要Models
為了溝通
用簡單明瞭的方式,讓對方瞭解你要表達什麼
根據需要呈現不同的情況或要表達的重點,選擇適合的model來溝通
各種model適用時機與簡單描繪
Process map diagram
Statechart diagram
Relationship map diagram