定义
除了与系统直接相关的质量属性外,还有很多商业质量目标往往也会对系统的构架产生较大的影响。这些商业目标与成本、进度、市场和营销策略有关。系统的质量属性具有模糊性,此处的每个商业目标也是如此,需要通过场景使这些目标变得具体,以使它们适合影响设计过程,并且变得可以测试。
商业质量属性
上市时间
如果存在较大的竞争压力,或产品推向市场的时间很关键,则开发时间的长短就成为一个重要因素。这会迫使在开发中购买或重用现有的元素。通常可以通过使用预先构建好的元素或重用以前某个项目中的元素来缩短上市时间。在系统中插入或部署系统子集的能力依赖于从系统到各元素的分解。成本和收益
系统开发自然不能超出预算。不同构架的开发成本不同。例如,采用开发组织并不具有的技术实现构架的成本要远高于利用组织内的已有资产实现构架的成本。实现一个灵活性很高的构架的成本通常要高于构建一个不太灵活的构架成本。所希望的系统生命期的长短
如果希望系统生命期很长,则可修改性、可扩充性和可移植性就变得非常重要。但为支持这些特性而构建基础结构中的额外部分通常会导致上市时间的推迟。另一方面,可修改、可扩展的产品更可能在市场上存在较长的时间,从而延长了其生命期。目标市场
对于通用软件,系统所运行的平台及其特性集将决定潜在市场的大小。所以,可移植性和功能性就成为能占有市场多大份额的关键。其他一些质量属性,如性能、可靠性和易用性等也起着一定的作用。而对于较大的专门市场,应用考虑产品线策略,即各个系统的核心是相同的,在些基础上构建具有各种特性的软件。推出计划
如果产品是作为一个基本功能集推出的,以后将会发布很多特性,则构架的灵活性和可定制性就非常重要。尤其是要保证所构建的系统必须易于收缩和扩展。与老系统的集成
如果新开发的系统必须与现有的系统集成,则一定要认真考虑,定义合适的集成方法。这显然具有重要的营销价值,但也涉及到构架上很多问题。例如,将某个老系统与HTTP服务器集成,以便能够从万维网上进行访问是在过去十年中很多公司的营销目标。为此,必须分析这种集成对构架的要求。