首页 » 程序员必读之软件架构 » 程序员必读之软件架构全文在线阅读

《程序员必读之软件架构》约束可以划分优先级

关灯直达底部

最后一点,值得记住的是,约束可以划分优先级。就像功能需求,有些约束比其他的更重要,利用好这一点。我在培训中用作案例学习的金融风险系统 就是基于我为伦敦的一个咨询公司工作期间的真实项目。一个投资银行找到我们,说他们需要一个金融风险系统,背后的基本前提是,由于监管原因,银行需要有一个风险系统才能进入一个新的细分市场。

经过几次售前会议和专题研讨,对于他们的需求以及在工作中需要面对的约束,我们有了一个比较好的想法。主要的约束之一是包括典型的重量级Java EE栈在内的批准的技术清单,另一个是严格的时间约束。

在准备财务提案时,我们大致说了这样的话,“是的,我们有信心在最后期限前交付系统,但为了加快项目,我们要使用一些不在你们的批准技术清单上的技术”。我们的提案被接受了。在这种情况下,时间约束被看作比只使用批准技术清单上的技术重要得多,实际上,我们会划分约束的优先级。约束通常是你需要绕过的障碍,但有时候也能相互权衡。