Design patterns 数据驱动过程的软件工程
我习惯于规划软件,其复杂性在于用户交互。我学到的敏捷软件工程原理在这种情况下非常有效。当大部分计划都围绕用户的交互进行时,用户故事很容易写出 我现在正在开发一个系统,在这个系统中,用户的唯一干预就是点击go按钮并在出现错误时读取错误 该系统的所有其他工作都是在数据处理和非常繁重的数据处理中进行的。在这个处理流程中,我有大约5种不同的数据转换需要计划 这些过程本质上是松散耦合的,因此它们应该很容易规划为不同的过程,然后工作到工作流中。即便如此,数据驱动流程的规划问题仍然存在,但规模较小Design patterns 数据驱动过程的软件工程,design-patterns,agile,data-processing,Design Patterns,Agile,Data Processing,我习惯于规划软件,其复杂性在于用户交互。我学到的敏捷软件工程原理在这种情况下非常有效。当大部分计划都围绕用户的交互进行时,用户故事很容易写出 我现在正在开发一个系统,在这个系统中,用户的唯一干预就是点击go按钮并在出现错误时读取错误 该系统的所有其他工作都是在数据处理和非常繁重的数据处理中进行的。在这个处理流程中,我有大约5种不同的数据转换需要计划 这些过程本质上是松散耦合的,因此它们应该很容易规划为不同的过程,然后工作到工作流中。即便如此,数据驱动流程的规划问题仍然存在,但规模较小 我如何着手
我如何着手规划这样的数据驱动流程?这种类型的软件有任何已知的设计过程吗?相同强> 规划和迭代开发的敏捷原则可用于任何类型的项目。这仍然可以由用户驱动,但您可能需要扩展“用户”的概念。谁将最终使用您正在构建的软件?你自己技术团队?其他过程?“真正的”用户?无论他们是谁,你都需要将他们包括在设计中,并让他们与你讨论规格
我参与了几个基于数据管理和处理的中大型项目(存储库,包括从不同来源合并、维护“黄金来源”、双时态数据库、为其他外部系统提供数据等)基本上,团队越敏捷,项目就越成功。到目前为止。使用某种形式的验收测试(BDD近来备受关注)会有所帮助。当然有不同的“特性”对于您希望确保存在的结果PDF,否?我建议尝试转移验证的责任(提供反馈)使用BDD验收测试将这些功能提交给最终用户。这就是我遇到的问题。就本产品而言,管理层只关心最终产品,它是一个pdf。本pdf由5个转换和操作数据的过程组成。用户故事也是如此“获取格式A的数据并将其转换为格式B的数据"?可能是这样,但你也可以扮演一个角色:让他们理解迭代方法确实可以改进项目,向他们展示例子,教育他们。我知道这可能很困难,我并不总是成功做到这一点。但当它起作用时,它总是有回报的。一旦他们理解了概念a,他们总能看到好处看到项目一块砖一块砖地构建(当然,只要你经常发布),在最坏的情况下,做你自己的用户。试着从他们的规范中定义你自己,什么是最重要的和定义的,然后从那里构建。这远不是理想的,但仍然比瀑布要好。