首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据驱动过程的软件工程

数据驱动过程的软件工程
EN

Stack Overflow用户
提问于 2011-12-14 18:18:57
回答 2查看 170关注 0票数 0

我习惯于设计复杂的软件,其复杂性在于用户之间的交互。我学到的敏捷软件工程原理对于这类场景非常有用。当大多数计划都围绕着用户的交互时,用户故事很容易写出。

我现在正在开发一个系统,在这个系统中,用户唯一的干预就是点击go按钮,如果出现错误,就读取错误。

本系统的所有其他工作都是在数据处理和非常繁重的数据处理。在这个处理流程中,我有大约5种不同的数据转换计划。

这些过程本质上是松散耦合的,因此它们应该很容易规划为不同的流程,然后工作到工作流中。尽管如此,数据驱动过程的规划问题仍然存在,但规模较小。

如何规划像这样的数据驱动的过程?这种类型的软件有任何已知的设计过程吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-14 18:34:58

同样的

计划、迭代开发的敏捷原则可以用于任何类型的项目。这仍然可以是用户驱动的,但您可能需要扩展“用户”的概念。谁将最终使用您正在构建的软件?你自己?一个技术团队?其他程序?“真实”用户?不管他们是谁,你都需要把他们包括在设计中,让他们和你讨论规格。

  1. 首先,优先考虑用户想要什么。他们希望看到的“核心”功能集是什么,以及/或您的新流程(Es)最重要的体系结构定义特性是什么?计划它们的前几次迭代。(在设置开发环境的迭代0之后)。最后,您的系统将不会完成它应该做的所有事情,但这将是一个开始。同时,把注意力集中在端到端的故事上。最好尽早生产出一个输出,即使它不是期望的输出,然后回来重构它来改进它。
  2. 继续按照你习惯的方式写用户故事,也许在每个故事的开头添加一个句子:“作为XXX,我想.为了.”。因此,每个故事都与最初的请求者紧密地联系在一起。(XXX可以是您自己,也可以是另一个系统,或者是一个真正的用户)。
  3. 很早就专注于全面的验收测试集。(可能使用像JBehaveFITnesse这样的自动化框架(如果您使用Java,但我认为每种语言都有其他的选择)。对于数据驱动的项目,这些是最重要的:它们将充当您的系统的文档,并将使它成为未来的证据。您应该这样构建您的权限测试:从“空”(或“给定”系统)开始,当您添加XX、YY和ZZ作为数据时,结果应该是AA、BB和CC。在你的验收测试中不要犹豫,只要它们一直被用户看到和认可。(不要对它们做任何假设,验证一切)
  4. 然后迭代一次又一次,添加复杂性层,直到达到所需的规范集为止。

我参与了几个基于数据管理和处理的中到大型项目(存储库,包括不同来源的合并、维护“黄金源”、双时态数据库、为其他外部系统提供信息等)。基本上,团队越敏捷,项目就越成功。到目前为止。

票数 1
EN

Stack Overflow用户

发布于 2011-12-15 10:20:17

使用某种形式的验收测试(BDD最近得到了很多关注)可能会有所帮助。结果PDF当然有不同的“特性”,您希望确保其存在,不是吗?我建议使用BDD验收测试,尝试将验证(给出反馈)这些特性的响应能力转移给最终用户。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8509631

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档