平台与产品的边界不是一成不变的,会随着领域内产品的变化、认识的变化、实现技术的变化而变化。甚至平台与不同产品的边界也是不同的,这里我们定义平台与产品的边界是平台与所有产品边界的并集,即平台所有对外提供的接口。(我们要求平台使用接口进行封闭,产品只能看到平台提供的接口,包括接口定义的参数、参数类型、返回值,以及接口相关的协议和约束。)
有两种定义平台边界的策略:
做加法:先确定那些明显可以重用的部分,并在将来某个产品可以从其他产品重用或移植某个部分时,再进行重用性分析,把公共部分作为新的公共部件添加到领域核心资产中。这种策略可以减轻平台的负担和重用风险。
做减法:把所有可能重用(包括部分重用)的模块都作为平台开发,在某个产品发现某个交付件不适用,或需要部分改造时,再进行重用性分析,保留公共部分,把定制部分移交给使用该部分的产品维护团队。
谁来做平台边界的定义?担任这个职责的是架构师,架构师与系统工程师不一样,一个是SA,一个是SE。 他们之间的区别是:
系统工程师:负责本版本系统分析与设计的所有活动,关注当前版本的所有需求,关注当前版本所有的技术方案,管理SE团队。
架构师:负责本产品的架构设计和架构维护,关注影响架构的当前需求和未来需求,关注影响架构的技术方案,负责领域架构在当前版本的落地和产品架构的生命周期管理。
联系我们
Contact us