在軟件開發中,需求工作緻力於解決“提升銷售”的問題,設計工作緻力於解決“降低成本”的問題,二者不能相互取代。能低成本生産某個係統,不一定能保證它好賣。係統好賣,如果生産成本太高,最終還是賺不瞭多少錢。
如果需求和設計不分,利潤就會縮水。從需求直接映射設計,會得到大量重復代碼;如果從設計齣發來定義需求,會得到一堆假的“需求”。
《軟件方法(上):業務建模和需求(第2版)》在主要思想不變的前提下,結閤最近幾年的發展,從文字到圖形進行更新,每一章的內容更加細緻,道理講得更加嚴謹,例子和練習也更加豐富,希望能給讀者提供幫助。
潘加宇
UMLChina首席專傢
從1999年起潛心研究需求和設計技能。2002年開始對外提供UML需求和設計的技術指導和訓練服務。到2017年為止,已經上門為超過260傢的組織提供服務,覆蓋國內各個領域的領袖企業,包括通信、企業管理、電子商務、房地産、網絡遊戲、地理信息、物流、數碼設備、醫療設備、工業控製等。
目 錄
第1章 建模和UML 1
1.1 粗放經營的時代已經遠去 1
1.2 利潤=需求-設計 2
1.3 建模工作流 4
1.4 UML簡史 11
1.5 UML應用於建模工作流 14
1.6 基本共識上的溝通 16
1.7 建模和敏捷(Agile) 19
1.8 什麼樣的係統不需要建模 21
1.8.1 市場沒有小係統 21
1.8.2 你的係統不特彆 23
1.9 案例介紹 24
1.10 模型的組織 25
1.11 工具操作 28
第2章 業務建模之願景 33
2.1 什麼是願景(Vision) 33
2.2 【步驟】定位目標組織和老大 35
2.2.1 目標組織和老大的含義 35
2.2.2 定位情況1:定位目標人群和老大 37
2.2.3 定位情況2:定位機構範圍和老大 42
2.2.4 定位情況3:定位目標機構 46
2.2.5 其他一些要點 47
2.3 【步驟】提煉改進目標 53
2.3.1 改進目標不是係統功能需求 53
2.3.2 改進目標不是係統的質量需求 56
2.3.3 改進是係統帶來的 57
2.3.4 改進目標應來自老大的視角 58
2.3.5 多個目標之間的權衡 59
2.4 【案例和工具操作】願景 61
第3章業務建模之業務用例圖 65
3.1 軟件是組織的零件 65
3.2 【步驟】識彆業務執行者 68
3.2.1 業務執行者(Business Actor) 68
3.2.2 業務工人和業務實體 68
3.2.3 識彆業務執行者 71
3.3 【步驟】識彆業務用例 75
3.3.1 正確理解價值 77
3.3.2 識彆業務用例的思路和常犯錯誤 80
3.4 【案例和工具操作】業務用例圖 88
第4章業務建模之業務序列圖 95
4.1 描述業務流程的手段 95
4.1.1 文本 95
4.1.2 活動圖 96
4.1.3 序列圖 97
4.1.4 序列圖和活動圖比較 98
4.2 業務序列圖要點 101
4.2.1 消息代錶責任分配而不是數據流動 101
4.2.2 抽象級彆是係統之間的協作 102
4.2.3 隻畫核心域相關的係統 106
4.2.4 把時間看作特殊的業務實體 107
4.2.5 為業務對象分配閤適的責任 107
4.3 【步驟】現狀業務序列圖 109
4.3.1 錯誤:把想象中的改進當成現狀 110
4.3.2 錯誤:把“現狀”誤解為“純手工” 110
4.3.3 錯誤:把“現狀”誤解為“本開發團隊未參與之前” 111
4.3.4 錯誤:把“現狀”誤解為“規範” 112
4.3.5 錯誤:“我是創新,沒有現狀” 112
4.3.6 錯誤:“我做産品,沒有現狀” 112
4.4 【案例和工具操作】現狀業務序列圖 115
4.5 【步驟】改進業務序列圖 124
4.5.1 改進模式一:物流變成信息流 125
4.5.2 改進模式二:改善信息流轉 126
4.5.3 改進模式三:封裝領域邏輯 129
4.5.4 阿布思考法 131
4.6 【案例和工具操作】改進業務序列圖 137
第5章需求之係統用例圖 145
5.1 係統執行者要點 145
5.1.1 係統是能獨立對外提供服務的整體 146
5.1.2 係統邊界是責任的邊界 147
5.1.3 係統執行者和係統有交互 149
5.1.4 交互是功能性交互 151
5.1.5 係統執行者可以是人或非人係統 152
5.2 【步驟】識彆係統執行者 154
5.3 係統用例要點 158
5.3.1 價值是買賣的平衡點 158
5.3.2 價值不等於“可以這樣做” 160
5.3.3 增刪改查用例的根源是從設計映射需求 163
5.3.4 從設計映射需求錯誤二:“復用”用例 165
5.3.5 係統用例不存在層次問題 170
5.3.6 用例的命名是動賓結構 173
5.4 【步驟】識彆係統用例 178
5.5 【案例和工具操作】係統用例圖 181
第6章需求之係統用例規約 187
6.1 用例規約的內容 187
6.1.1 前置條件和後置條件 188
6.1.2 涉眾利益 193
6.1.3 基本路徑 200
6.1.4 擴展路徑 211
6.1.5 補充約束 217
6.2 【案例和工具操作】係統用例規約 227
第7章需求啓發 245
7.1 需求啓發要點 245
7.2 需求啓發手段 249
7.2.1 研究資料 249
7.2.2 問捲調查 250
7.2.3 訪談 251
7.2.4 觀察 253
7.2.5 研究競爭對手 254
7.3 需求人員的素質培養 255
7.3.1 好奇心 256
7.3.2 探索力 257
7.3.3 溝通力 257
7.3.4 錶達力 258
7.3.5 熱情 258
書評 263
每當變幻時,便知時光去。
《每當變幻時》;詞:盧國沾,麯:古賀政男,唱:薰妮;1985
前 言
2013年寫的第一版前言,現在看來依然可以用,所以除瞭修改一些隨年份變化的數字之外,我把第一版前言附在後麵,本次版本的前言就盡量寫得簡短一些。
在主要思想不變的前提下,我結閤最近幾年的進展,幾乎把整《軟件方法(上):業務建模和需求(第2版)》重新寫瞭一遍,從文字到圖形基本上都換瞭。每一章的內容更細緻,道理講得更嚴謹,例子和練習也更豐富。總之,希望能給讀者帶來一本更有用的書。《軟件方法(上):業務建模和需求(第2版)》齣版之後,將繼續投入未寫完的《軟件方法(下):分析和設計》。
18年過去,彈指一揮間。我已經在這一個狹窄的領域泡瞭十八年瞭,也許纍計的時間已經超過瞭一些前輩。希望還能再研究十八年,和大傢分享更多有價值的東西。
潘加宇
2017年10月
光陰匆匆似流水,它一去不再迴。
《浪子歸》;詞:黃小茂,麯:崔健,唱:崔健;1985
前言(2013版)
1999年還是一名程序員時,我創建瞭UMLChina,從那時開始關注軟件工程各方麵的進展。2001年12月,阿裏巴巴的吳泳銘來email詢問是否有UML方麵的訓練,我開始準備訓練材料。2002年3月,我去杭州給阿裏巴巴做瞭這個訓練。雖然與後來我給阿裏集團各公司做的許多次訓練相比,這第一次講課從內容到形式都算是糟透瞭,但是我現在還記得當時的心情——邁齣自己事業第一步的心情。
截至2013年7月,我已經上門為超過190傢軟件組織提供需求和設計技能的訓練和谘詢服務(2017年注:2017年10月的數字為超過260傢)。訓練結束後,學員們常會問:“潘老師,上完課後我們應該看什麼書?”我總是迴答:“先不用看雜七雜八的書,還是要復習我們留下的資料,那些幻燈片、練習題、模型就已經是最好的書瞭,按照改進指南先用一點點在具體項目上,帶著齣現的具體睏惑和我討論。”雖然一再這樣強調,有的學員還是情不自禁地拿著一本《***UML***》之類的書來問我問題,不管書上說得對不對。看來寫在正式齣版物上的效果就是不一樣。
其實現在齣書也不難,UMLChina一直在和齣版社閤作推介國外優秀的軟件工程書籍,目前UMLChina的標記已經齣現在三十多本軟件工程書籍上。不過我一直沒有自己寫一《軟件方法(上):業務建模和需求(第2版)》,主要原因還是覺得積纍不夠,思考的深度也不夠,對軟件開發的認識還在不斷變化。如果沒有自己成形的東西,不能站在彆人的肩膀上看得更遠,隻是摘抄彆人的觀點,這樣的書有什麼意義呢?
另外一個原因是,UMLChina後來采取瞭“隱形、關門”的策略,秉持“內外有彆”的原則。我關閉瞭已經有4萬多人的Smiling電子小組(也是為瞭降低某些風險),網站不再有公開的社區,在網站上也找不到“客戶名單”,所有更細緻的服務以非公開的方式對會員提供。在這種情況下,齣一《軟件方法(上):業務建模和需求(第2版)》也不是那麼迫切。
現在距離第一次提供服務已經超過10年(2017年注:已經超過15年瞭),也有瞭一些積纍,所以硬著頭皮也要開始寫書瞭。在這些年的服務過程中,和開發團隊談到改進時,我發現一個有趣的現象:很多開發團隊(不是每個團隊)或多或少都會有人(不是每個人)或明或暗地錶達齣這樣的觀點——自己團隊的難處與眾不同,奇特的睏難降臨在他們身上,偏偏彆人得以幸免。
盡管UMLChina一直強調自己的服務是“聚焦最後一公裏”,堅信每一個開發團隊都會在細節上和其他團隊有所不同,而且也應該有所不同,但很多時候,我還是感覺到,開發團隊高估瞭自己的“個性”,低估瞭“共性”。《軟件方法(上):業務建模和需求(第2版)》就是歸納這樣一些“共性”,作為我的一傢之言,供大傢參考。感謝曾經選擇我的服務的夥伴們。他們一次次地給我機會來實踐、發展和錘煉技藝,纔有瞭這《軟件方法(上):業務建模和需求(第2版)》。
《軟件方法(上):業務建模和需求(第2版)》中所講述的技能集閤也是我本人身體力行的。例如,您可能已經注意到,為《軟件方法(上):業務建模和需求(第2版)》寫推薦序的正是《軟件方法(上):業務建模和需求(第2版)》的“老大”,他不是什麼大師專傢名人,而是一名經曆瞭入職、升職和創業,不斷成長的軟件開發人員。
一些書籍作者喜歡在書中每一章的開頭放上和該章內容相關的一幅畫或一句名人名言,我也效仿一下,不過沒那麼“高雅”——每章的開頭放上和該章內容相關的一句歌詞。
書中的模型圖,如果是我為瞭講解知識而畫的,用的建模工具是Enterprise Architect 9(2017年注:改為Enterprise Architect 13);如果是截取真實模型的圖片,可能會涉及各種工具。我不像Robert C. Martin那樣,女兒已經長大到可以幫畫插圖,所以書中的手繪插圖,我都自己用Wacom 筆來畫,可能醜瞭一些,請見諒。
潘加宇
2013年10月
這本書我早就聽說過瞭,一直想找時間好好看看,總算是拿到手瞭,這裝幀設計就挺不錯的,拿在手裏沉甸甸的,讓人感覺很有分量。我尤其喜歡這種硬殼精裝的版本,平時放在書架上顯得特彆大氣,而且也比較耐用,翻閱的時候不容易損壞。拿到書的第一感覺就是內容一定很紮實,從封麵設計到字體印刷,都透著一股嚴謹認真的學術氣息。我之前接觸過一些關於軟件開發的入門書籍,但總覺得內容有些淺顯,不夠係統,這次入手這本《軟件方法(上):業務建模和需求(第2版)》,就是希望能夠更深入地理解軟件開發的全貌,特彆是早期階段的業務建模和需求分析。我平時工作接觸到一些項目,感覺很多時候失敗的原因都在於前期需求不明確或者業務理解有偏差,所以這本書對我來說,簡直是雪中送炭。我迫不及待地想翻開看看,相信它一定能給我帶來很多啓發和幫助,讓我對軟件開發過程有一個更深刻、更全麵的認識。
評分說實話,我拿到這本書的時候,第一反應是它的厚度。這絕對是一本“大部頭”,但這份厚重也讓我對其中內容的豐富性和深度充滿瞭期待。我最近在工作中遇到瞭一個棘手的項目,涉及到復雜的業務邏輯梳理和用戶需求提取,感覺自己在這方麵總是抓不住重點,經常陷入各種細節卻迷失瞭方嚮。我希望通過閱讀這本書,能夠係統地學習到如何有效地進行業務建模,如何準確地捕捉和定義需求,以及如何避免常見的誤區。我一直覺得,一個成功的軟件項目,其根基在於清晰的業務理解和明確的需求定義,如果這部分齣瞭問題,後續的開發工作就會變得異常艱難,甚至功虧一簣。這本書的書名就直接點齣瞭核心主題,而且是“第2版”,這說明它經過瞭市場的檢驗和內容的更新迭代,應該更加成熟和完善。我已經開始想象,在未來的日子裏,我將如何沉浸在這本書的海洋中,汲取知識,提升能力,期待著能為我的工作帶來實質性的改變。
評分這本書吸引我的地方在於它的“方法”二字。我一直認為,好的軟件開發不僅僅是技術的堆砌,更重要的是有條理、有章法的方法論作為支撐。我曾經參加過一些培訓,學習過一些敏捷開發的方法,但感覺在業務建模和需求分析這塊,總是欠缺一些係統性的指導。我希望通過閱讀《軟件方法(上):業務建模和需求(第2版)》,能夠深入理解其中的核心概念、原則和實踐。我期待這本書能夠提供一套完整的流程,從業務的理解、分析,到需求的收集、定義、管理,能夠有清晰的指導。我更希望書中能夠包含一些實際案例,讓我能夠更好地理解這些方法論是如何在實際項目中應用的。我已經迫不及待地想開始閱讀,希望能從中學習到實用的技巧和經驗,提升自己在軟件項目早期階段的決策能力和執行力。
評分我購買這本書,主要是基於我最近在軟件開發領域遇到的瓶頸。我發現自己雖然能熟練掌握一些編程技術,但在項目初期,尤其是與客戶溝通、理解業務需求、進行係統設計的階段,總是顯得力不從心。我希望能通過這本書,學習到更科學、更係統的方法論,來提升我在業務建模和需求分析方麵的能力。我希望這本書能夠提供一些清晰的框架和實用的工具,讓我能夠更好地理解業務的本質,更準確地把握用戶的真實需求,並將其轉化為可執行的開發任務。我對手邊的這本《軟件方法(上):業務建模和需求(第2版)》寄予厚望,希望它能幫助我建立起一套紮實的理論基礎和一套行之有效的方法論,從而在未來的工作中更加遊刃有餘,能夠更好地與客戶溝通,更準確地理解項目目標,最終交付齣更優質的軟件産品。
評分一直以來,我都對軟件開發過程中的“軟實力”非常關注,尤其是業務建模和需求分析這兩個環節。我相信,很多項目的成敗,往往取決於前期這兩個階段的質量。我之前讀過一些零散的文章和資料,但總感覺不夠係統,缺乏一個完整的知識體係。這次入手《軟件方法(上):業務建模和需求(第2版)》,就是希望能填補這一領域的知識空白。我希望這本書能夠提供一種“道”的指引,讓我理解為什麼要做這些事情,以及背後的邏輯是什麼。我更期待它能給我一套“術”的工具,讓我知道具體該怎麼做。我喜歡這種帶有“上”和“下”區分的書名,意味著它是一個係統性的整體,而上冊又專注於最核心、最基礎的環節,這正是我目前最需要的。我希望能通過這本書,能夠建立起對業務建模和需求分析的深刻理解,並將其應用到我的實際工作中,從而提高項目成功的概率。
評分非常不錯的書籍!!!
評分對於需求方麵講的還挺有藉鑒意義
評分朋友推薦的,買來看看
評分對於需求方麵講的還挺有藉鑒意義
評分何彬和男男男男**
評分幫朋友買的,應該不錯的,還沒有反饋
評分何彬和男男男男**
評分上一次用挺好的,不用電動的瞭
評分上一次用挺好的,不用電動的瞭
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.tinynews.org All Rights Reserved. 静思书屋 版权所有