开发者社区> 超努力的写代码> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

DDD案例(1):从需求分析到领域分析(4)

简介: DDD案例(1):从需求分析到领域分析(4)
+关注继续查看

分析项目成员管理场景的活动。在添加或移除团队成员时,需要通过OA系统发送通知。通知的发送不在目标系统范围内,也不是由某个参与者发起,而是在添加或移除了团队成员之后进行,属于业务服务的执行步骤,不需要列入图20-15所示的业务服务图。


项目计划管理也分成了两个阶段,合并为一个业务服务图,如图20-16所示。


image.png


问题管理业务场景的业务服务图如图20-17所示。


image.png


问题issue)概念的获得并非一蹴而就。一开始,我倾向于使用任务(task)来表达这一概念,然而,在需求管理体系中,任务与用户故事(user story)、史诗故事(epic)、缺陷(defect)属于同一等级的概念,我需要寻找到一个抽象概念来同时涵盖这几个概念,由此就得到了问题概念。在JiraGitHub的需求管理工具中,都使用了这一领域概念。


项目管理者在创建问题时,会指定问题的基本属性,如问题的标题、描述、问题类型等。那么,问题所属的迭代、承担人(owner)、报告人(reporter)是否也属于问题的属性呢?在确定问题管理业务场景的业务服务图时,我确实困惑不已。例如分配问题给迭代分配问题给项目成员都可以认为是在编辑问题的属性。既然业务服务为角色提供了服务价值,很明显,无论是将一个创建好的问题分配给迭代,还是将其分配给项目成员使其成为问题的承担人,都具有项目管理价值,是由项目管理者向目标系统发起的一次独立而完整的功能交互,应该分别识别为两个业务服务。


在确定项目管理的业务服务时,统一语言再一次发挥了价值。最初在确定项目管理的业务流程时,项目管理者要查看问题的完成情况以了解迭代进度,故而将该流程中的一个活动命名为查看问题完成情况。在识别业务服务时,我认为该名称没有清晰地体现该业务服务的服务价值,经过与业务分析人员沟通,认为该业务服务需要清晰地表达问题在迭代周期内的过程,准确的术语是进度progress),将其命名为跟踪问题进度trackingissue progress)更加符合该领域的统一语言。


3)培训


培训的目的是提高员工的技能水平,需要根据员工的职业规划与企业发展制订培训计划,开展培训。培训的整个管理由人力资源部的培训专员负责。培训流程除了牵涉到培训专员,还牵涉到部门协调者、员工主管和员工本人。系统将分配给员工的培训机会称为票(ticket),这实际上是领域概念的一种隐喻。培训专员发起培训的过程,实际上就是分配票的过程,整个流程如图20-18所示。


培训专员在分配票之前,会设定过滤器。过滤器主要用于过滤员工名单,获得一个与该培训相匹配的提名候选名单(candidate)。培训专员将票分配给部门协调者,部门协调者再将票分配给属于提名候选名单中的部门员工。员工在收到培训邮件后,可以选择确认拒绝,若员工拒绝,票会退回给部门协调者,由部门协调者进行再分配,最终会形成一个提名名单(nomination)。


image.png


培训期间,每个参与培训的员工都需要通过培训专员出示的二维码签到,包括培训开始签到和培训结束签到。培训结束后,培训专员可以获得出勤名单。比较出勤与提名名单,可以获得缺席名单。培训专员确认了缺席名单后,系统会根据黑名单规则将缺席人员加入黑名单。员工若被列入黑名单中,将来就不会再出现在提名候选名单中,除非又被移出了黑名单。培训流程如图20-19所示。


image.png


                      图20-19 培训的服务蓝图

培训专员在确定培训计划并分配票时,还可以事先设置有效日期,用于判断票的有效期限。从发起培训开始,到培训结束,一共有4个重要的截止时间(deadline):

q提名截止时间;

q缺席截止时间;

q培训开始前;

q培训结束前。

在不同的截止时间,员工取消票的流程都不一样,票的处理规则也不相同,如图20-20所示。


image.png


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
jquery-服饰案例分析-15
jquery-服饰案例分析-15
6 0
DDD案例(2):从领域分析到代码实现(2)
DDD案例(2):从领域分析到代码实现(2)
71 0
基于事件风暴的需求分析 | 方法案例一
事件风暴(Event Storming)源自领域驱动设计社区,由 Alberto Brandolini 在2012 年发明[1]。 事件风暴最早的名字是基于事件的建模(Event-Based Modeling),正如这个名字所暗示的,事件风暴在发明之初的核心目的是领域建模,在今天的大多数文献和实践中,事件风暴的核心关注点都是领域模型和软件架构。
664 0
带你读《软件项目管理案例教程(第4版)》之一:软件项目管理概述
本书以案例形式讲述软件项目管理过程,借助路线图讲述项目管理的理论、方法及技巧,覆盖项目管理十大知识域的相关内容,重点介绍软件这个特殊领域的项目管理。本书综合了多个学科领域,包括范围计划、成本计划、进度计划、质量计划、配置管理计划、风险计划、团队计划、干系人计划、沟通计划、合同计划等的制定,以及项目实施过程中如何对项目计划进行跟踪控制。该书取材新颖,注重理论与实际的结合,通过案例分析帮助读者消化和理解所学内容,既适合作为高等院校计算机、软件及相关专业高年级本科生和研究生的教材,也适合作为广大软件技术人员和项目经理培训的教材,还可作为软件开发项目管理人员的参考书。
5099 0
问题账户需求分析
1.对Liz进行需求调研,确定好每一步的需求。 2.利用自己的专业解读调研结果,进行分析,得出的结论与Liz进行确认需求是否一样。 3.确认完成后列出需求列表 1.实际的用户量,以及每个用户对应的数据量。
843 0
【项目管理】工作第一步:需求分析
起步慢不一定是慢。不输在起跑线上,第一要明确跑道、方向,否则起跑越快,输的越惨! 【定义】在系统工程及软件工程中,需求分析指的是在创建一个新的或改变一个现存的系统或产品时,确定新系统的目的、范围、定义和功能时所要做的所有工作。
764 0
【公司动态添加行】前台穿一个json的字符串到后台,并解析
代码自动转换 图片自己定义 通过类自动生成代码 通过SQL自动生成代码 使用说明 表单输入和验证 java类包路径 ...
711 0
1940
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载