`
ronghao
  • 浏览: 457165 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
E9473dd5-1985-3883-ac98-962354ca10b3
张小庆,在路上
浏览量:8808
社区版块
存档分类
最新评论

用户故事、开发任务与工作流块任务数据模式

阅读更多

用户故事与开发任务

在开发人员的日常工作中,编码工作主要包括了三种类型:用户故事(用户故事)、开发任务( Task)和缺陷( Defect)。尽管不喜欢缺陷,但是它是你生活的一部分,并且大部分的缺陷都与沟通相关,在这些缺陷中,团队成员对功能的假设产生了偏差。

 

一 个用户故事可以拆分为多个开发任务。一个常见的问题是:如何区别用户故事和开发任务?我们用海平面来进行区分,海平面即用户价值。项目目标是那高高的风 筝,它高高的飘扬,越过云彩,它是项目帮客户实现的商业目标,飘那么高,让客户瞅一眼就觉得激动万分;项目特性是那半空中的云彩,客户从风筝上下来,看到 的是项目所提供的大的特性,这些特性帮助客户实现其商业目标;接下来就是用户故事,是的,现在终于落地(海)了,用户故事是海上的点点小岛,它一半露在海 平面以上,另一半没在海平面下,客户看到的是海平面以上的东西,所以用户故事一定要包含用户价值,开发人员看到海平面以下的东西,所以用户故事一定要是可 评估的、可开发的,因为存在两种不同的角度看用户故事,所以用户故事一定要是可沟通的,围绕着海岛总是有很多的话题,例如,项目经理经常就会与客户就海岛 展开磋商,项目经理通常会说,时间来不及了,我们需要找出最有价值的海岛进行开发。而客户通常会说,不行啊,看人家海南岛,仅仅一个规划就把房价炒得那么 高,所有的海岛都要开发;开发任务则是海底的贝壳、扇类,它们是那样的美丽,以至于只有开发人员才能了解,当一个用户故事过大难以评估时,我们往往将它拆 分为多个开发任务,这些开发任务单独并不能为客户提供价值,只有当多个开发任务联合起来时才能显示价值,典型的,探索性技术开发都属于开发任务。是的,那 么结论是?

 

开发人员都是潜水员!所以,怪不得那么多技术社区冷冷清清,如果你不提供内容,就别指望其他人为你提供内容。

 

这样,当进行开发任务时,这些开发任务就与与之对应的用户故事构成了一个完整的对客户可见的价值域,作为开发人员,必须理解相应用户故事要解决的问题和验收条件,这些信息贯穿于所有开发任务的开发中,为用户故事和开发任务们所共享。

 

那么,对于工作流里的块任务,它需要能够定义变量,这些变量数据能够在其子任务中共享。

 

描述

块任务(典型的如子流程任务)能够定义变量,在一个流程实例里,其所包含的子任务实例能够使用该变量。

 

6-3块任务级别的数据可见性

如图 6-3所示,我们在块任务 C上定义了一个变量 M,此时,在一个流程实例里,与其对应子流程中的任务 X、任务 Y和任务 Z的实例在运行期都可以使用该变量。相似的,我们可以在子流程中定义了一个变量 N,那么子流程中的所有任务实例都可以使用该变量,根据不同的工作流系统实现, N也可以被块任务 C的实例所使用。

 

为什么需要块任务?

 

良 好的代码需要封装,需要职责分离,业务流程建模同样如此。在一个定义良好的流程里,相互连接且语义相关的任务往往被建模为子流程。例如,一个跨越多个部门 的复杂业务流程,一种比较好的方式是针对每个部门都建立起自己的子流程。从维护的角度看,这种建模清晰自然,各个部门也能自己维护自己的流程建模。由于任 务执行的上下文存在差异,那么针对各个子流程建立自己的执行环境就非常必要,在工作流系统里,这种执行环境的表现即为数据。

 

实现

为 保证子流程定义的复用和独立性,一般不直接在与之对应的块任务里定义其要使用的变量,采用的方式是在块任务定义里进行数据映射,即将块任务中的变量与子流 程中的变量进行一一映射,运行期父流程实例中的变量传值到子流程中的对应变量中,子流程实例执行完毕再将值传回。具体的实现将在下一节的交互模式里进行详 细说明。

分享到:
评论
4 楼 comsci 2010-03-22  
ronghao同志,欢迎继续发表描述流程系统设计的思想的文章。。。。
3 楼 ronghao 2010-03-15  
yimlin 写道
好像文中前后说了两件不同的事的,没有看懂

⊙﹏⊙b汗,看看这篇文章http://ronghao.iteye.com/blog/609427
2 楼 yimlin 2010-03-15  
好像文中前后说了两件不同的事的,没有看懂
1 楼 comsci 2010-03-15  
我的理解块任务就是不针对某个子流程或节点的公用任务,好像程序设计里面的公共变量一样,感觉你们的思路是把流程系统设计中的问题考虑为类似操作系统中对进程与变量那种关系一样。。。。

相关推荐

    工作流引擎开发参考资料

    《工作流项目实施的一些问题和解决策略.pdf》可能提供实施工作流项目时常见的困难和挑战,如流程变更管理、用户接受度、数据集成等,以及相应的应对策略。 《工作流回退常用模式分析.pdf》将关注工作流异常处理和...

    工作流源代码,学习开发工作流可以参考

    7. **API与服务接口**:供其他应用程序或组件与工作流引擎交互的接口,如启动新工作流实例、查询当前状态、进行任务操作等。 8. **日志与跟踪**:记录工作流实例的详细历史,便于问题排查和审计。 通过深入研究这...

    E8.Net工作流开发架构(介绍)

    E8.Net工作流开发架构是一种高效的企业应用系统快速开发平台,专为提升软件生产力而设计。这个框架的核心目标是简化工作流的构建过程,让开发者能够更专注于业务逻辑的实现,而不是底层基础设施的搭建。E8.Net的工作...

    JAVA工作流引擎的开发和设计.pdf

    随着信息技术的快速发展,工作流引擎作为支撑企业业务流程自动化的关键组件,其开发与设计对于保证系统质量和提升企业效率具有重要意义。本文档针对Java工作流引擎的开发和设计进行了深入探讨,涵盖了工作流引擎的...

    工作流和DevExpress

    4. **任务分配和通知**:DevExpress工作流组件支持自动或手动分配任务给相关人员,并可以通过邮件、消息或其他方式通知用户待处理的任务。 5. **审批和签署**:对于需要审批的流程,DevExpress提供了审批工作流模板...

    工作流资料+DEMO源代码

    工作流管理系统通常包括工作流定义语言、工作流引擎、用户界面以及与企业其他系统的集成接口。 在“NetronLight工作流软件源码.rar”中,我们可以期待找到一个实际的工作流引擎的实现。NetronLight可能是一个轻量级...

    C#工作流开发实例

    在工作流中,ASP.NET可以作为前端展示层,与后端C#工作流服务交互,提供用户界面,使用户能够启动、暂停、恢复或终止工作流实例。 3. **SQL数据库管理**:工作流通常涉及到大量的数据存储和查询,因此对SQL数据库的...

    php 工作流源码

    这个源码可能包含这样的数据结构设计,如工作流实例表、任务表、参与者表等。 `ThinkPHP`是一个知名的PHP框架,它为快速开发高效、稳定的Web应用提供了强大的支持。在这个工作流项目中,ThinkPHP可能是用来构建后端...

    工作流JBPM开发计划书

    ### 工作流JBPM开发计划书 #### 一、项目背景与目标 在当前数字化转型的大背景下,企业越来越依赖于高效的工作流程管理来提升业务效率和服务质量。JBPM(JBoss流程管理)作为一款开源的工作流引擎,因其灵活性、可...

    基于关系数据库的工作流系统设计与实现

    4. **开发工作流引擎**:实现工作流逻辑,包括活动调度、任务分配、状态转移等功能。 5. **集成测试**:在模拟环境中测试工作流系统,确保其符合设计要求。 6. **部署与优化**:在生产环境中部署工作流系统,并根据...

    WorkFlow C++ 工作流图形

    工作流,简单来说,就是一系列按照特定顺序执行的任务或活动,它在企业管理、软件开发、流程自动化等领域中广泛应用。C++作为一门强大且高效的编程语言,非常适合构建这种复杂的系统。 该库的核心目标是提供一种...

    工作流引擎的设计与实现

    在给定的文件中,提到了工作流引擎的设计与实现,具体基于Java语言进行开发,并且参照了工作流管理联盟(WFMC)定义的工作流参考模型。下面将围绕工作流引擎的设计和实现相关知识点进行详细介绍。 首先,要了解什么...

    ext工作流javascript

    ExtJS工作流与JavaScript结合是Web应用程序开发中的一个重要领域,特别是在构建复杂的企业级应用时。ExtJS是一个强大的JavaScript库,提供了丰富的用户界面组件和数据绑定功能,而工作流则是管理和控制业务流程的一...

    c#编写的工作流引擎

    每个活动都需要实现执行逻辑,并与上下文(如任务数据、参与者信息)交互。 4. **调度和触发机制**:引擎需要有调度机制来决定何时启动、暂停、恢复或结束一个流程实例。这可能涉及到定时器、事件驱动或消息队列。 ...

    基于 vue、ant-design-vue 的自定义Antdv 工作流组件

    在工作流中,服务任务是实现业务逻辑的关键,它们将工作流与实际业务数据紧密联系起来,确保流程的正确执行。 总的来说,这个项目提供了一个强大且灵活的Web工作流解决方案,利用Vue.js和Ant Design Vue的优势,...

Global site tag (gtag.js) - Google Analytics