我在工作中参与了一个关于不同人构建的软件系统最大的讨论;在这种情况下,最大的问题是系统复杂性和实施难度的结合。
由于经验丰富的程序员往往会对项目的规模有直觉,即使他们不会把它写下来,我想我会向 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 个系统的排名以及人们曾参与过的任何其他大型系统的排名,以提供观点。