模块化开放系统方法(MOSA)可以简洁地定义为“在系统生命周期内实现有竞争力和负担得起的获取和维持的综合业务和技术战略”。实现这种方法的目标是确保系统在设计时尽可能具有高内聚、松耦合和可分割的模块,这些模块可以单独竞争并从独立供应商处获得。这可以使国防部获得作战能力,包括系统、子系统、软件组件和服务,与以前的专有项目相比,具有更高的灵活性和竞争力。MOSA意味着使用模块化开放系统体系架构:系统接口共享公共的、被广泛接受的标准的现有概念。 在新采办中采用MOSA的主要驱动力来自于2017年国防授权法案中的国会授权,即在2019年1月之前在国防部的主要采购中使用MOSA。技术和威胁的快速发展要求部署和修改作战能力的周期时间要快得多,而MOSA具有加速和简化新能力交付的潜力,以满足这一需求。 本文从供应商和采购方的角度讨论了MOSA原则发展的重要方面,并提供了10条建议,以帮助在社区中成功采用MOSA。这些建议是: 1)在采购过程的早期开发MOSA策略和目标 2)定义MOSA实现方法(采办方和供应商角色) 3)系统中定义接口的MIL-STD-881D分类级别的细节和利用现有的开放系统体系架构为低层次的细节 4)MOSA适用于软件 5)将MOSA作为更大更强的数字工程战略的一部分实施 6)在初始设计时将网络安全战略纳入MOSA应用程序,不是后来添加 7)国防部和行业共同定义如何评估MOSA 8)制定和实施推动者与适当的投资影响所需的文化变革成功的广泛采用MOSA 9) 创建MOSA系统和接口库 10) 定义一种方法,用于比较和指定支持MOSA的环境的标准和接口。 这些建议的关键推动因素包括:标准和接口的开发、详细的军种开发计划、评估MOSA实现的正式方法,以及政府和行业向认可和奖励模块化架构和开放接口实现的MOSA文化的过渡。 阅读延伸一:【设计模式】理解⾼内聚、松耦合 “⾼内聚、松耦合”是⼀个⾮常重要的设计思想,能够有效地提⾼代码的可读性和可维护性,缩⼩功能改动导致的代码改动范围。很多设计原则都以实现代码的“⾼内聚、松耦合”为⽬的,⽐如单⼀职责原则、基于接⼝⽽⾮实现编程等。 实际上,“⾼内聚、松耦合”是⼀个⽐较通⽤的设计思想,可以⽤来指导不同粒度代码的设计与开发,⽐如系统、模块、类,甚⾄是函数,也可以应⽤到不同的开发场景中,⽐如微服务、框架、组件、类库等。为了⽅便讲述,接下来就以“类”作为这个设计思想的应⽤对象来展开讲解,其他应⽤场景读者可以⾃⾏类⽐。 在这个设计思想中,“⾼内聚”⽤来指导类本⾝的设计,“松耦合”⽤来指导类与类之间依赖关系的设计。不过,这两者并⾮完全独⽴不相⼲。⾼内聚有助于松耦合,松耦合⼜需要⾼内聚的⽀持。 什么是⾼内聚? 所谓⾼内聚,就是指相近的功能应该放到同⼀个类中,不相近的功能不要放到同⼀个类中。相近的功能往往会被同时修改,放到同⼀个类中,修改会⽐较集中,代码容易维护。实际上,单⼀职责原则是实现代码⾼内聚⾮常有效的设计原则。 什么是松耦合? 所谓松耦合是说,在代码中,类与类之间的依赖关系简单清晰。即使两个类有依赖关系,⼀个类的代码改动不会或者很少导致依赖类的代码改动。实际上,依赖注⼊、接⼝隔离、基于接⼝⽽⾮实现编程,以及迪⽶特法则,都是为了实现代码的松耦合。 “内聚”和“耦合”之间的关系? 前⾯也提到,“⾼内聚”有助于“松耦合”,同理,“低内聚”也会导致“紧耦合”。关于这⼀点。 |
|