代码之家  ›  专栏  ›  技术社区  ›  jimmystormig

如何使软件与业务流程保持一致?

  •  1
  • jimmystormig  · 技术社区  · 16 年前

    根据我的经验,当业务流程发生变化时,与业务流程紧密配合的软件更容易更改。什么类型的架构最适合这种方法?

    2 回复  |  直到 16 年前
        1
  •  1
  •   JoeGeeky    16 年前

    好问题…但首先…SOA?这是一个很流行的词,但经常被误解,主要是由于缺乏任何一个“真实”的定义。真见鬼!即使是马丁·福勒现在也把它称为“服务导向的决策能力”,并鼓励人们不要把它提出来。

    真的没有” 一 “ 最好的 “回答。企业对IT的需求可以是,而且通常是,非常多样化的。这些需求通常受到外部驱动因素的影响,如客户、合作伙伴、市场趋势、立法、监管机构等。在许多情况下,这些驱动因素决定架构,或者至少妥协或限制您充分实现您认为可能是“更好”架构的能力。这听起来可能也很油嘴滑舌,但这不是我的意图。有这样一种观念,即存在一个“最好的”建筑,导致许多人继续浪费大量的精力(和金钱)来追求它。尽管这可能不是有意的,但这些观点往往得到了那些已经成为单个供应商/社区的代理,或者将流程作为产品销售给您的人的支持。

    尽管如此…从软件工程的角度来看,旧的原则仍然是确保您能够满足业务需求的最可靠的方法。例如,

    • 分开你的顾虑
    • 将架构分层
    • 设计时要考虑到灵活性
    • 隔离测试层,然后一起测试
    • 采用持续集成实践,以便更快地显示回归
    • 使需求和规格成为您的主要驱动程序
    • 投资工具,投资开发人员
    • 等。。。

    注意,没有提到任何一种架构模式、技术或语言…这是因为这些并不是真正的驱动因素,尽管它们可能是驱动因素,并且在各种因素的作用下会发生变化。让我再谈一点。”业务流程”和软件工程流程有着非常不同的关注点、观点等。强迫两个组的功能相同只会导致完全失败。这并不是说他们不应该分享承诺,比如日期、功能性的交付成果等。这些团队需要有所不同才能有效地完成他们的工作,但肯定需要找到方法来传达那些需要共享愿景的事情。这是任何数量的设计和生命周期管理过程都可以帮助的地方。(例如DDD、MSF、Scrum、CMMI等…)。

    我的意思是这是建设性的…希望它有帮助。

        2
  •  0
  •   Pontus Gagge    16 年前

    油嘴滑舌的回答:企业架构。

    你到底在寻找什么样的答案?根据我的经验,每一个企业都有独特的需求,特别是当涉及到他们想要发展的方向时。可修改性只是一个令人满意的品质,它与成本控制、上市时间、效率、安全性、可用性以及其他的障碍竞争资源。

    推荐文章