问题 问答题

试题一(共25分) 阅读以下关于软件架构风格的说明,在答题纸上回答问题。

[说明] 某软件公司为其新推出的字处理软件设计了一种脚本语言,专门用于开发该字处理软件的附加功能插件。

为了提高该语言的编程效率,公司组织软件工具开发部门为脚本语言研制一套集成开发环境。软件工具开发部门根据字处理软件的特点,对集成开发环境进行了需求分析,总结出以下3项核心需求:

(1)集成开发环境需要提供对脚本语言的编辑、语法检查、解释、执行和调试等功能的支持,并要实现各种功能的灵活组合、配置与替换。

(2)集成开发环境需要提供一组可视化的编程界面,用户通过对界面元素拖曳和代码填充的方式就可以完成功能插件核心业务流程的编写与组织。

(3)在代码调试功能方面,集成开发环境需要实现在脚本语言编辑界面中的代码自动定位功能。具体来说,在调试过程中,编辑界面需要响应调试断点命中事件,并自动跳转到当前断点处所对应的代码。

针对上述需求,软件工具开发部门对集成开发环境的架构进行分析与设计,王工认为该集成开发环境应该采用管道—过滤器的架构风格实现,李工则认为该集成开发环境应该采用以数据存储为中心的架构风格来实现。公司组织专家对王工和李工的方案进行了评审,最终采用了李工的方案。

请用200字以内的文字解释什么是软件架构风格,并从集成开发环境与用户的交互方式、集成开发环境的扩展性、集成开发环境的数据管理三个方面说明为什么最终采用了李工的设计方案。

答案

参考答案:

软件架构风格是指描述特定软件系统组织方式的惯用模式。组织方式描述了系统的组成构件和这些构件的组织方式,惯用模式则反映众多系统共有的结构和语义。 从集成开发环境与用户的交互方式看,用户通常采用交互式的方式对脚本语言进行编辑、解释执行与调试。在这种情况下,采用以数据存储为中心的架构风格能够很好地支持交互式数据处理,而管道—过滤器架构风格则对用户的交互式数据处理支持有限。 从集成开发环境的扩展性来看,系统核心需求要求实现各种编辑、语法检查、解释执行等多种功能的灵活组织、配置与替换。在这种情况下,采用以数据存储为中心的架构风格,以数据格式解辐各种功能之间的依赖关系,并可以灵活定义功能之间的逻辑顺序。管道—过滤器架构风格同样以数据格式解耪数据处理过程之间的依赖关系,但其在数据处理逻辑关系的灵活定义方面较差。 从集成开发环境的数据管理来看,集成开发环境需要支持脚本语言、语法树(用于检查语法错误)、可视化模型、调试信息等多种数据类型,并需要支持数据格式的转换。以数据存储为中心的架构将数据存储在统一的中心存储器中,中心存储器能够表示多种数据格式,并能够为数据格式转换提供各种支持。管道。过滤器架构风格通常只能支持有限度的数据格式,并且在数据格式转换方面的灵活性较差。

解析:

本题主要考查考生对软件架构风格的理解与掌握,特别是针对实际应用问题,如何采用基于软件架构风格的系统软件架构设计。软件架构风格是指描述特定软件系统组织方式的惯用模式。组织方式描述了系统的组成构件和这些构件的组织方式,惯用模式则反映众多系统共有的结构和语义。 本问题主要考查设计方案的比较与选型。题干明确指出从集成开发环境与用户的交互方式、集成开发环境的扩展性、集成开发环境的数据管理三个方面对两种方案进行比较,并说明选用李工方案的原因。 从集成开发环境与用户的交互方式看,根据题干描述,用户通常采用交互式的方式对脚本语言进行编辑、解释执行与调试。在这种情况下,采用以数据存储为中心的架构风格能够很好地支持交互式数据处理,而管道—过滤器架构风格则对用户的交互式数据处理支持有限。 从集成开发环境的扩展性来看,根据题干描述,要求实现各种编辑、语法检查、解释执行等多种功能的灵活组织、配置与替换。在这种情况下,采用以数据存储为中心的架构风格,以数据格式解辊各种功能之间的依赖关系,并可以灵活定义功能之间的逻辑J颐序。管道—过滤器架构风格同样以数据格式解精数据处理过程之间的依赖关系,但其在数据处理逻辑关系的灵活定义方面较差。 从集成开发环境的数据管理来看,集成开发环境需要文持脚本语言、语法树(用于检查语法错误)、可视化模型、调试信息等多种数据类型,并需要支持数据格式的转换。以数据存储为中心的架构将数据存储在统一的中心存储器中,中心存储器能够表示多种数据格式,并能够为数据格式转换提供各种支持。管道。过滤器架构风格通常只能支持有限度的数据格式,并且在数据格式转换方面的灵活性较差。 考生在回答上述问题时,不能仅仅列举教科书中对数据存储为中心的架构风格和管道—过滤器架构风格的特点描述,必须紧紧围绕题干对系统要求的描述,将系统要求与架构风格特点结合起来进行回答。

单项选择题
单项选择题