在整個開發流程里,如果說建模、實現、測試等等,都還在我的控制之中,那么在與客戶交流時,我不知道有多少人象我一樣,時常感到引導話題或者討論方向時那種深深的無力??蛻艨倳J為你是專家,他說的你都能理解、都能實現,無論其表述是如何的天馬行空。而這種信馬由韁式的討論,也對我劃分子域、切分BC帶來了很大的困擾??赡苡械娜藭f,你為什么不每次都擬定一個討論的主題和大致的提綱呢?而我能說的是,嗯,是的,我準備了,可是客戶思維的發散性和跳躍性永遠會給你帶來意外的“驚喜”。另一方面,是伴隨系統模塊逐漸增多后迅速膨脹的各類測試,以及繁瑣的UI測試,給我們的維護與迭代帶來的巨大心理和工作壓力。
所以,我希望有一種方法學的指引,幫助我們更加專注于每次討論的主題,幫助我們更好地發現和切分BC。在張逸的《 如何識別Bounded Context 》一文中,我找到了方向。在文中,他倡導以領域中的 Who-What-Why-When-Where-How 為媒,以Actor為驅動,不斷堆砌出系統的關鍵用例,再以對用例的分類劃定問題的邊界,最終由此催生不同的BC切分。
這更加深了我對 “講好故事、劃好邊界” 的認識,并由此引導我迅速地轉入了對BDD、Specification by Example的學習。
關于BDD,我在前一篇《行為驅動開發BDD概要》中已經做了一份《 BDD in Action 》的書摘,并按圖索驥嘗試了.NET平臺下的 Specflow + NUnit
原文轉自:http://www.cnblogs.com/Abbey/p/5143674.html