试题一(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)应用模拟器工具