软件系统按复杂性和顺序排列。困难

时间:2009-03-25 09:05:15

标签: architecture project-planning estimation

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

由于有经验的程序员倾向于对项目的规模有一种直觉,即使他们不会写出来,我还以为我会提出问题。

正在讨论的系统是:

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

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

  • 100航天飞机生命支持系统,
  • ?申请X
  • 1 Hello World Console。

我有兴趣看到上述3个系统的排名以及人们为了提供视角而工作的任何其他大型系统。

1 个答案:

答案 0 :(得分:3)

这是我的看法

1)电信系统听起来很大,但它看起来像一个纯服务器应用程序,没有用户界面,没有真正的用户,因此一些聪明的数学,一个数据库和一些服务= 60分,总体复杂度为50分,24x7x365为10分。可以获得更多积分与MF集成,或用简化集汉字书写。

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

3)Yawn,Ajax很酷,但CRM的主要复杂性必须是长期运行的事务,由计费系统和名称和地址支持。我给它一个35。

让火焰开始......