阅读以下关于开放式嵌入式软件架构设计的相关描述,回答问题。 【说明】 某公司一直从事宇航系统研制任务,随着宇航产品综合化、网络化技术发展的需要,公司的业务量急剧增加,研制新的软件架构已迫在眉睫。公司架构师王工广泛调研了多种现代架构的基础,建议采用基于FAC

admin2023-02-21  52

问题 阅读以下关于开放式嵌入式软件架构设计的相关描述,回答问题。
【说明】
某公司一直从事宇航系统研制任务,随着宇航产品综合化、网络化技术发展的需要,公司的业务量急剧增加,研制新的软件架构已迫在眉睫。公司架构师王工广泛调研了多种现代架构的基础,建议采用基于FACE(Future Airborne Capability Environment)的宇航系统开放式软件架构,以实现宇航系统的跨平台复用,实现宇航软件高质量、低成本的开发。公司领导肯定了王工的提案,并指出公司要全面实施摹于FACE的开放式软件架构,应注意每个具体项目在实施中如何有效实现从需求到架构设计的关系,掌握基于软件需求的软件架构设计方法,并做好开放式软件架构中各段间的接口标准化设计工作。
FACE架构的核心能力是可支持应用程序的跨平台执行和可移植性,要达到可移植能力,必须解决应用程序的紧耦合和封装的障碍。请用200字以内的文字简要说明在可移植性上,应用程序的紧耦合和封装问题的主要表现分别是什么,并给出解决方案。

选项

答案紧耦合问题主要表现在:I/O问题、业务逻辑问题和表现问题。 解决方案:可采用分离原则,通过隔离实现硬件特定信息和少数模块的代码,减少耦合性。 封装问题主要表现在:ICD硬编码问题、组件的紧耦合问题、直接调用问题。 解决方案:可以通过提供数据源或槽的软件服务的方法,将紧耦合组件分解出应用程序,并将平台相关部分加入计算环境中,在计算平台内提供数据源或槽的软件服务,并实现接口标准化。

解析 紧耦合和封装是软件模块化设计中最难以解决的两个问题,要使软件具备良好的可移植性、可复用性,就必须清楚其问题的表现形式。
紧耦合是应用程序移植的一个障碍,进一步说,就是计算平台的硬件设备和软件模块及其沟通之间的耦合代表了一个应用程序的可移植性方面的障碍。原因是便携性使得每个平台设备都有一个接口控制文件(ICD),描述了由硬件所支持的消息和协议,应用程序对消息和协议的支持将紧密耦合于硬件。若要移植,需要太多的工作来修改应用程序以支持不同的结构元素。
为了尽量减少支持新的硬件设备所需要的工作,可采用分离原则,通过隔离实现硬件特定信息和少数模块的代码,来减少耦合性。
通常紧耦合问题主要表现在I/O问题、业务逻辑问题和表现问题。传统的应用程序不可移植的另一个原因是这些应用程序被紧密耦合到一组固定的接口,而这些数据的每个数据源或槽(sinks)都暴露出了设备的特殊接口,这些特殊接口在每个平台中都是不同的。这样,支持平台设备的接口控制文件(ICD)是被硬编码到应用程序中,就导致应用程序不能成功在不同计算平台上执行。
为了解决这种接口控制文件(ICD)被硬编码而难以封装的问题,可以通过提供数据源或槽的软件服务的方法,从紧耦合组件分解出应用程序,并将平台相关部分加入计算环境中,在计算平台内提供数据源或槽的软件服务,并实现接口标准化。
通常封装问题主要表现在:ICD硬编码问题、组件的紧耦合问题、直接调用问题。
转载请注明原文地址:https://kaotiyun.com/show/V90D777K
0

相关试题推荐
最新回复(0)