试题一(25分)

阅读以下关于软件架构设计的叙述,在答题纸上回答问题1至问题3

[说明]

某软件公司为某品牌手机厂商开发一套手机应用程序集成开发环境,以提高开发手机应用程序的质量和效率。在项目之初,公司的系统分析师对该集成开发环境的需求进行了调研和分析,具体描述如下:

a.需要同时支持该厂商自行定义的应用编程语言的编辑、界面可视化设计、编译、调试等模块,这些模块产生的模型或数据格式差异较大,集成环境应提供数据集成能力。集成开发环境还要支持以适配方式集成公司现有的应用模拟器工具。

B.经过调研,手机应用开发人员更倾向于使用Windows系统,因此集成开发环境的界面需要与Windows平台上的主流开发工具的界面风格保持一致。

C.支持相关开发数据在云端存储,需要保证在云端存储数据的机密性和完整性。

d.支持用户通过配置界面依据自己的喜好修改界面风格,包括颜色、布局、代码高亮方式等,配置完成后无需重启环境。

e.支持不同模型的自动转换。在初始需求中定义的机器性能条件下,对于一个包含 50个对象的设计模型,将其转换为相应代码框架时的消耗时间不超过 5秒。

f.能够连续运行的时间不小于 240小时,意外退出后能够在 10秒之内自动重启

g.集成开发环境具有模块化结构,支持以模块为单位进行调试、测试与发布。

h.支持应用开发过程中的代码调试功能:开发人员可以设置断点、启动调试,编辑器可以自动卷屏并命中断点,能通过变量监视器查看当前变量取值。

在对需求进行分析后,公司的架构师小张查阅了相关的资料,认为该集成开发环境应该采用管道一过滤器的架构风格。公司的资深架构师王工在仔细分析后,认为应该采用数据仓储的架构风格公司经过评审,最终采用了王工的方案。

[问题1](10分)

识别软件架构质量属性是进行架构设计的重要步骤。请分析题干中的需求描述,填写表 28-1中(1)~(5)处的空白。

质量属性识别表表28-1

质量属性名称

需求描述编号

可用性

(1)

(2)

e

可修改性

(3)

可测试性

(4)

安全性

c

易用性

(5)

参考答案:

(1)f (2)性能 (3)g (4)h (5)b

[问题2](7分)

请在阅读题干需求描述的基础上,从交互方式、数据结构、控制结构和扩展方法4 个方面对种架构风格进行比较,填写表 28-2中(1)~(4)处的空白。

表28-2两种架构的比较

比较因素

管道一过滤器风格

数据仓储风格

交互式

顺序结构或有限的循环结构

(1)

数据结构

(2)

文件或模型

控制结构

(3)

业务功能驱动

扩展方法

接口适配

(4)

参考答案:

(1) 星型结构,由中心的控制器,与其他模块交互

(2)数据流

(3)数据流驱动

(4)模型适配

[问题3](8分)

在确定采用数据仓库架构风格后,王工给出了集成开发环境的架构图。请填写图 28-1中(1)~(4)处的空白,完成该集成开发环境的架构图。

系统架构设计师 - 模拟题 - 案例题(一)_数据结构

图28-1 集成开发环境架构图

参考答案:

(1)语法结构树

(2)编辑器

(3)适配器

(4)应用模拟器工具