新書推薦:
《
人格阴影 全新修订版,更正旧版多处问题。国际分析心理学协会(IAAP)主席力作
》
售價:NT$
305.0
《
560种野菜野果鉴别与食用手册
》
售價:NT$
305.0
《
中国官僚政治研究(一部洞悉中国政治制度演变的经典之作)
》
售價:NT$
286.0
《
锂电储能产品设计及案例详解
》
售價:NT$
505.0
《
首辅养成手册(全三册)(张晚意、任敏主演古装剧《锦绣安宁》原著小说)
》
售價:NT$
551.0
《
清洁
》
售價:NT$
296.0
《
组队:超级个体时代的协作方式
》
售價:NT$
352.0
《
第十三位陪审员
》
售價:NT$
245.0
|
編輯推薦: |
在软件开发过程中,让开发团队中的每个人对现有工作产生共识至关重要。本书详细阐述通过故事可视化来使业务流程和领域知识具象化的方法,以确保团队每个人都能理解业务流程中的角色、活动和工作对象,一起用简单的象形符号捕捉洞见,展示工作成果并征求意见,直至达成一致,从而高效协作并敏捷地构建领域驱动的软件。
|
內容簡介: |
通过讲述和可视化故事来构建更好的商业软件,从故事到工作软件,帮助读者构建软件内容的本质,提出以种用于协作领域建模的平易近人、结构化、基于叙述的技术。该书是领域建模技术的实用指南,并从领域驱动设计的关键方面提炼出的丰富见解。
|
關於作者: |
Stefan Hofer拥有计算机科学博士学位,并负责维护DomainStoryting.org,这是一个领域故事讲述社区。自2005年以来,他一直为WPS Workplace Solutions工作,帮助团队开发以正确方式完成正确工作的软件。
|
目錄:
|
译者序
前言
第一部分领域故事会详解
第1章概述2
11什么是领域故事会2
12第一个领域故事4
第2章象形语言13
21角色13
22工作对象14
23活动16
24编号16
25说明17
26建模画布18
27分组19
28颜色20
29没有分支23
210围绕角色展开23
211领域故事会的语法25
212良好的语言风格27
第3章按场景建模32
31什么是场景32
32领域故事会中的场景33
33把具体实例当作场景34
34提纲挈领36
第4章范围38
41粒度38
42时间点41
43领域纯粹性42
44范围维度的组合:典型的故事发展脉络43
X第5章建模工具48
51在白纸或白板上建模48
52使用软件工具建模52
53工具选择57
第6章工作坊形式59
61工作坊开始之前60
62工作坊63
63工作坊结束之后69
64TOBE工作坊70
65线上工作坊71
66主持人72
67不要一人分饰两角74
68是独乐乐还是众乐乐74
第7章领域故事会与其他建模方法的关系75
71领域驱动设计75
72事件风暴76
73用户故事地图78
74实例地图80
75故事风暴81
76用例83
77统一建模语言84
78业务流程模型和表示法85
79小结85
XI第二部分根据不同目的运用并调整领域故事会
第8章案例研究——Alphorn汽车租赁公司88
81探索Alphorn汽车租赁公司的完整领域89
82深入研究风险评估——理解一个重要的子领域89
83整理风险评估——避免使用技术化的术语91
84优化风险评估——TOBE流程92
85引入新软件——业务流程与IT支持相结合93
86小结93
第9章学习领域语言96
91讲得清,听得懂98
92组织中的领域语言不止一种101
93使用自然语言102
94迷失在翻译中104
95接下来做什么105
第10章寻找边界106
101多套模型的乐趣108
102寻找子领域的启发式方法108
103从子领域到限界上下文113
104从上下文边界到团队边界115
105接下来做什么116
第11章处理需求118
111软件开发就是持续沟通120
112从领域故事到需求121
113调整“菜谱”128
114局限性129
115接下来做什么130
XII第12章在代码中建模131
121从领域故事到领域模型133
122实现领域模型137
123接下来做什么146
第13章支持组织变化147
131改变人们的工作流程149
132数字化工作153
133接下来做什么155
第14章是自建还是采购或选择现成软件157
141理解现成解决方案中的流程159
142接下来做什么163
第15章寻找影子IT164
151开发软件的不只是IT人员165
152让影子IT不再隐蔽166
153接下来做什么168
第16章总结169
161领域故事会的未来169
162领域故事会的根基170附录领域故事会史话171
参考文献176XIII
|
內容試閱:
|
前言
软件开发人员和业务人员之间存在误解是个普遍存在的问题。糟糕的沟通简直是灾难,会导致项目失败。“领域故事会”则是解决这个问题的良药。它能够将领域知识转化为有效的业务软件,并让领域专家、软件开发人员、用户体验设计师、产品负责人、产品经理和业务分析师达成共识。大家在一起讲故事并把故事画成容易理解的图,以互相学习。
本书面向的读者
本书面向的读者是参与软件开发的人,或者对软件开发感兴趣的人,包括那些没有技术背景的人。书中的代码示例很少,基本上不需要提前学习相关知识。必要时我们会推荐一些阅读材料。此外,CxO、高级管理者、董事、业务部门领导或领域专家通过阅读本书可以提升对业务流程的理解,并改善和IT部门的沟通。
本书在软件开发领域中的定位
本书旨在成为一本实用指南。尽管本书的主题包括了领域驱动设计、领域建模、需求、敏捷和软件开发,我们仍希望它保持简洁,并尽量避免过于深入,因为这些主题在其他书籍中已有精彩的阐述。读者如果感兴趣,可以参考下面的书籍:
我们对软件开发的看法深受ObjectOriented Construction Handbook\\[Züllighoven 2004\\]的影响。这本书提倡以用户为中心进行软件开发,并且围绕工具和材料的贴切比喻展开,涵盖的主题包括迭代增量开发、建模、场景、软件构建模式等。
DomainDriven Design\\[Evans 2004\\]和ObjectOriented Construction Handbook有许多共同之处。领域驱动设计为领域故事会开辟了一个全新的应用领域,深刻影响了过去几年我们在领域故事会方面的实践方式。
Manifesto for Agile Software Development\\[Beck et al.2001\\]认为“个体和交互高于流程和工具”“可以工作的软件胜过面面俱到的文档”。领域故事会也强调个体之间的交互,体现在以下两个方面:①领域故事展示的是人与人之间的协作;②讲故事的工作坊把人们聚在一起互动。Extreme Programming Explained\\[Beck 2000\\]将故事的概念引入软件开发,User Stories Applied:For Agile Software Development\\[Cohn 2004\\]详细阐述了这个概念。
Writing Effective Use Cases\\[Cockburn 2001\\]展示了如何从领域出发,遵循敏捷方式开发软件。我们借鉴了目标层次的概念,并把它应用到领域故事会中。
Specification by Example\\[Adzic 2011\\]强调了软件开发中沟通的重要性。我们开始把软件开发当作一系列关于领域和需求的沟通,这些沟通的“方法”包括领域故事会。关于需求和使用实例的优势,我们的看法和Adzic一致。
我们有幸跟随德国汉堡大学的Floyd教授学习。她研究和教授的内容包括建模理论、建模局限性、建模和软件开发的社会技术面、参与式设计等。她发表的论文有德文的,也有英文的。如果读者有兴趣,可以阅读“Software Development as Reality Construction”\\[Floyd 1992\\],还可以搜索她的关于STEPS方法的论文,这后来被称为敏捷软件开发的雏形。
本书概要
本书分为两部分:第一部分介绍领域故事会方法本身,第二部分介绍如何使用该方法及如何根据不同用途调整该方法。
VI第一部分包括读者通过领域故事会了解领域所需掌握的全部内容。
第1章解释领域故事会到底是什么。本章通过一个案例研究,让读者建立对该方法的第一印象,并了解该方法为什么有效。第2章介绍领域故事会的图形符号。视觉化地记录领域故事所需的一套符号及组合这些符号的规则。本章还展示一些我们认为不错的语言风格,以及一些需要避免的错误。第3章介绍领域故事与其他业务流程建模语言的主要区别——每个领域故事都和场景有关。读者将了解应该对哪些用例进行建模及如何保持大局观。第4章介绍故事细节的丰富程度(无论是描述性的还是探索性的),以及故事中的技术信息含量。每个全新的领域故事都要从一开始就考虑全部范围维度。本章将帮助读者做出正确的范围选择。第5章总结不同建模工具的使用经验,推荐一些工具及其适用场景和优缺点,还介绍简化建模过程的实用技巧。第6章展示在协作建模中运用领域故事会的最佳效果,还介绍如何准备、引导和跟进工作坊,以及如何成为一名优秀的工作坊主持人。第7章讨论领域故事会如何与其他建模方法和工作坊形式相结合,以及如何选择正确的工具来完成正确的工作。
第二部分讨论领域故事会可以解决的问题和可以达成的目标。第二部分所有章节使用的是同一个案例,不必按顺序阅读,读者选择感兴趣的章节阅读即可。
第8章介绍另一个更加完整的案例研究。第9章介绍领域专家的语言,这是让业务流程和软件需求的沟通变得有效的关键。第10章针对以下问题:很多领域太大,无法作为整体来理解和建模,领域需要分解成可以掌控的单元。如果想要重新组织应用或者想要设计微服务,又或者想要应用领域驱动设计但在识别限界上下文的时候遇到了困难,请阅读本章。如果因为开发团队太大而无法高效地工作,或者需要协调多个开发团队的工作,本章的内容也能提供帮助。第11章聚焦于弥合领域知识和需求之间的差距,并展示如何从领域故事中获取可供讨论的优先级和可行产品的需求。第12
|
|