0

我在工作中参与了一个关于不同人构建的软件系统最大的讨论;在这种情况下,最大的问题是系统复杂性和实施难度的结合。

由于经验丰富的程序员往往会对项目的规模有直觉,即使他们不会把它写下来,我想我会向 SO 提出这个问题。

正在讨论的系统是:

  • 电信计费系统。4个主要特点:
    • 实时呼叫控制,其中每 60 秒从数据库中保留一次呼叫信用,
    • 可定制的呼叫计划、最低成本路由、自定义每用户费率、
    • 每个计费服务器可同时处理 1000 个呼叫,
    • 365x24x7 和 99.999% 的可靠性。
  • 赛车行业的核心投注系统。4个主要特点:
    • 客户端/服务器应用程序支持大约。1000 个现金网点和 200 个座位的呼叫中心,
    • 不是一个固定的赔率系统,根据扣除佣金和获胜者之间的共享池计算支出,
    • 大约 20 种不同的投注类型,最大组合投注为前 4 名,
    • 350x20x7 和 99.9% 的可靠性。
  • 客户关系管理系统。4个主要特点:
    • AJAX 用户界面,
    • 电子邮件集成根据收件人地址发送到不同的队列,
    • 开票,
    • 具有 3rd 方集成授权的 Web 服务 API。

缺少大量细节,但问题的重点是按“大”降序对系统进行排名(定义见上文)。任何比例都是任意的,但为了给它一些相关性,建议使用以下比例:

  • 100航天飞机生命支持系统,
  • ?? 应用 X
  • 1 Hello World 控制台。

我很想看看上面 3 个系统的排名以及人们曾参与过的任何其他大型系统的排名,以提供观点。

4

1 回答 1

3

这是我的看法

1) 电信系统听起来很大,但它看起来像一个纯服务器应用程序,没有 UI,没有真正的用户,因此需要一些巧妙的数学运算、一个数据库和一些服务 = 60 分,整体复杂性 50 分 +24x7x365 的 10 分。与 MF 集成或用简化的汉字书写会获得更多积分。

2) 赌马,现在我们正在谈论,电话中的人们,呼叫中心,大量的用户界面,大量的互动,大量的肮脏财富。我会给它一个 70 分,你确实每天有 4 小时进行维护,但如果它停机 30 秒,我怀疑你是否能活到足够长的时间到达那个支持窗口。

3) 打哈欠,Ajax 有点酷,但 CRM 的主要复杂性必须是长期运行的交易,由计费系统和名称和地址支持。我会给它一个35。

让火焰开始燃烧吧 ...

于 2009-03-25T09:32:34.740 回答