1. 程式人生 > >QUML建模第一層:角色-業務圖實現願景(1)

QUML建模第一層:角色-業務圖實現願景(1)

本書由本人編寫,於2014-09-09在百度閱讀首發,部落格將轉載試讀部分的20%內容,以及非試讀章節的某些片斷。

本章講解如何將非常模糊的高層需求,也就是願景,表達為一個清晰、簡單、確定的模型。

基於這種簡單的模型進行開發,要比基於大段似是而非的文字更容易得到最終想要的結果。

什麼是願景

我們從客戶聽到的第一句話很可能是這樣的:“打造誠信的網上商城”,“建立可靠的收發貨系統”,“加強領導幹部出入境管理”……很多軟體做完了卻被告知“不符合客戶需求”,在很大程度上就是這種很虛的願景極難落實到實際的軟體需求上。

很多書籍、課程都提到過願景這東西,認為它是開發出最終符合客戶需求的核心要素。不過,已有的各種需求建模方法——這裡指類似UML的工程化的、可實施的表達方法,而不是某種“建模思想”“分析步驟”“需求模板”——都沒有很好的解決方法來表達願景,以及如何從願景分析出一個可實現的軟體。

在UML中,第一層圖可以算是用例圖。不過用例圖表達的是業務需求乃至技術需求的詳細條目,要比願景晚很多。UML的多數圖形都由用例圖直接或間接派生出來,因此比較容易忠實反映用例。但用例圖本身則是“無中生有”的,很難確定是否與願景相符。願景與用例圖中間的真空地帶,導致用例圖和後續圖形或許繪製得很漂亮,但產品功能卻背離了客戶初衷

願景

馬總:今天找你們18位兄弟來,我是想建一個網上商城……

兄弟1:可是外面不是已經有很多獨立的網上商店了嗎?而且這些商店很不可信,早晚死光。昨天我就剛剛收到一個假貨,他自家網站上沒地方評論、投訴,打電話對方不接……

馬總:對,我想做的網上商城,核心之一就是有一個“可靠的購物子系統”……

兄弟2:我猜你是想在P2C環境用寶寶監管吧?

馬總:不止如此……

兄弟3:我們僱一堆網警到處查處欺騙行為?

兄弟4:這成本太高了吧,其實如果網站是我們開的,賣家只是來註冊開店,那麼就可以強制開放評論,騙子很難存活。

兄弟5:對如果有了評論,再加上個評分系統,那就可以放心讓買家自己在上面淘自己喜歡的寶貝了。

馬總:咿,老五,你倒是提醒我得給這個網站起個響亮點的名字了。

作為剛進公司的跟屁蟲,我們的確可以把老大們的對話都記錄下來,然後交給程式設計師說:“這就是高層願景,幹活吧”。不過我可很質疑程式設計師們的領悟能力。那麼,有沒有什麼辦法從文字中清晰、明確地整理出明確願景,只要說這些文字的領導也點頭確認了,就能開發出唯一的一個產品來滿足它呢?