首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >编制业务流程/流程流程的好方法

编制业务流程/流程流程的好方法
EN

Software Engineering用户
提问于 2015-05-28 15:07:59
回答 1查看 1.5K关注 0票数 5

我正在编写一个过程,在这个过程中,客户将被分成3个不同的组,并且对每个组执行不同的操作。

我的问题涉及决定哪个客户将在哪个组中的过程。

作为输入,我收到了一个包含7个决策块的流程图。

我想你可以想象一下流程图:

如果A和B而不是C和F,那么你就属于第1组。

如果A而不是B,C和E,你是B组的,如果A而不是B和C,而不是E,那么F也是B组。

不管怎么说,你可能明白我的意思。

我正在寻找的是实现这个的好方法是什么?

我们提出了以下解决方案

1编写代码,就像我键入的那样:

代码语言:javascript
复制
if A() && !B() && C() || (D() && E()) groupA.Add(client)
if A() && !B() && C() && F()) groupB.Add(client)

2编写一个大的if / if / else程序

代码语言:javascript
复制
if A()
    if B()

    else
        if ! C()

        else
else
    if C()

    else

等。

但是..。两者都让我不开心,所以我想知道是否有更好的方法来解决这个问题?

EN

回答 1

Software Engineering用户

回答已采纳

发布于 2015-05-28 15:46:15

确实有一些解决方案试图以通用的方式对流程图进行建模。

例如windows工作流基础、SSIS、消息队列中的路由等。

但根据我的经验,除非需求来自技术来源。在存在逻辑形式的技术规范的情况下,IP路由、dns失败等。最好使您的代码与需求文档尽可能接近它描述逻辑的方式。

您将在逻辑和结果中有看起来不一致的漏洞,但是您的代码将满足需求,当需求以某种奇怪的方式发生变化时,您将不会发现自己将它塞进一个聪明的通用系统中,该系统期望以特定的方式表达逻辑。

这通常归结为一个大的如果块。但是它很容易理解,也很容易改变。

更新:以下是我过去做过的事情,并对此表示遗憾

  • OOP方法,在XML中持久化逻辑对象,在另一个文档中保存数据,元素包括

xpath很快就与自定义表达式变得非常复杂,用户从未费心使用这个接口,所以devs无论如何都会收到更改逻辑的请求。

  • 存储在db中的eval vb脚本

用户无法执行vb脚本,无法确定如何做出决定,这几乎是不可能的。

  • eval SQL (因为我们知道)

用户也不能执行sql,这与使用vb脚本的问题相同

  • 使用wcf服务的websphere编排(因为顾问将设置“域语言”)

一旦顾问离开,用户就不能使用java/“域语言”。使用基于web的IDE雇用新的java开发人员、部署/源代码管理问题

  • lisp解释器。天哪,没有。
  • windows工作流基础

即使在我们使用它的时候也是过时的,对于小任务来说太复杂了。难以向用户解释

  • SSIS/DTS包,因为它们有一个拖放界面!

用于非编程数据库管理员、版本控制、部署、调试、性能困难的hacky工具。不能扩展。

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

https://softwareengineering.stackexchange.com/questions/285197

复制
相关文章

相似问题

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