在CSDN看到一個博主的一個系列不錯,叫的是《面向對象葵花寶典》,看的話必須自宮麼-
-,學到了很多,但是怎麼記錄呢?單純的文字沒有一個樹形結構的概念,看起來也不清晰,我就自己花了一個思維導圖記錄一下~
專欄的地址是http://blog.csdn.net/column/details/oobaodian.html
本節記錄的是該系列的14-17節
需求理解
即系統需要做什麼
需求不等於功能 例子:ATM機
“取款”、“存款”、“查詢餘額”--需求
識別卡”、“密碼認證”、“點鈔”--系統功能
需求是對客戶來說有價值的事情,而功能是系統爲了實現客戶價值而提供的能力
判斷條件-判斷是否對客戶有價值
需要明白客戶是誰
需求是軟件項目的最開始輸入
修復需求錯誤的問題的成本非常高昂
挖掘客戶的問題,實現客戶價值
需求是解決他的問題的
記錄、分析和引導
技術流程
需求模型
通過和客戶溝通,結合行業經驗和知識,明確要求客戶的需求
領域模型
基於需求模型,提煉出領域相關的概念,爲後面的面向對象設計打下基礎
設計模型
以領域模型爲基礎,綜合面向對象的各種設計技巧,完成類的設計
實現模型
以設計模型爲基礎,將設計模型翻譯爲具體的語言實現,完成編碼
需求分析518方法
5W(需求產生的環境)
When
季節信息:春夏秋冬等
日期信息:節日、假日等
作息事件:白天、晚上、凌晨、早晨、上午、下午、晚上、深夜等
Where
國家、地區:不同的國家和地區有不同的文化、風俗、制度等;
室內、室外、街道;
建築物
Who
投資者、管理者
使用者、維護者
監督者、評估者:例如政府機構、監管機構等
其它系統
What
客戶最終想要的輸出
例如一個文檔、一份報告、一個圖片、一個系統等
我們看到的最原始的需求
Why
客戶遇到的問題、困難、阻礙等
客戶提出需求的驅動力
客戶覺得不爽的地方
挖掘客戶的問題,實現客戶價值
1H,即How
需求本身的流程,而非需求如何實現
實現方法---用例圖
8C(約束和限制/質量屬性)
性能Performance
響應時間、吞吐量
成本Cost
實現系統而需要付出的代價
時間Time
客戶要求什麼時候交付
可靠性Reliability
系統長時間正確運行的能力
安全性Security
對信息安全的保護能力
合規性Compliance
滿足各種行業標準、法律法規、規範等
技術性Technology
客戶可能要求我們採用某種技術
兼容性Compatibility
指我們的產品與系統與客戶其它已有的產品或者系統的兼容能力