Linux系统架构师考试:主程序-子程序与管道-过滤器对比
版权申诉
93 浏览量
更新于2024-06-29
收藏 536KB DOCX 举报
在2010年的系统架构师考试科目二中,考生面临的是关于Linux操作系统下KWIC检索系统的设计案例。这个系统的核心功能是根据用户输入的关键字提供相关帮助文档,并支持循环滚动阅读。在需求分析阶段,尽管初始的需求是通过重复剪切并插入单词实现滚动,但后续可能会有更多展示方式。
在架构设计环节,公司的两位架构师,王工和李工,提出了不同的解决方案。王工倾向于采用主程序-子程序的架构风格,这种风格强调所有计算组件作为子程序协同工作,由主程序按照顺序调用,数据通过共享存储区传递。然而,这种风格在灵活性上有所欠缺,算法或功能变更可能导致整个系统的重新编译,数据表示变更也会影响程序结构,性能方面可能因为整体程序的耦合而受限。
相反,李工提出的管道-过滤器架构风格更为灵活。在这个架构中,每个组件作为过滤器独立处理数据,输入和输出之间通过管道连接。这种设计允许独立的组件升级和修改,降低了算法和功能变更的影响,同时数据表示的变化不会直接影响整个程序,有利于性能优化和扩展。因此,考虑到系统的可维护性、灵活性和性能,会议最终选择了李工的管道-过滤器架构风格。
问题1的答案着重介绍了软件架构风格的定义,即一种描述软件系统组织方式的惯用模式,它定义了组件及其交互方式。主程序-子程序风格以顺序调用为主,数据共享,但在应对变化时显得僵化;而管道-过滤器风格则是模块化的,利于灵活扩展和数据流处理,更适合复杂系统的构建。
问题2的答案要求考生填写一个表格,对比评估两种架构风格在算法变更、功能变更、数据表示变更和性能方面的优劣。根据上述分析,应填写:
- 算法变更:主程序-子程序 - (-);管道-过滤器 - (+)
- 功能变更:主程序-子程序 - (-);管道-过滤器 - (+)
- 数据表示变更:主程序-子程序 - (-);管道-过滤器 - (+)
- 性能:主程序-子程序 - (-);管道-过滤器 - (+)
综合考虑,李工的管道-过滤器架构风格在灵活性和性能方面具有明显优势,所以被选为项目的最终方案。这体现了在软件开发中,适应变化和优化系统性能的重要性。
2022-08-03 上传
xxpr_ybgg
- 粉丝: 6744
- 资源: 3万+
最新资源
- 前端协作项目:发布猜图游戏功能与待修复事项
- Spring框架REST服务开发实践指南
- ALU课设实现基础与高级运算功能
- 深入了解STK:C++音频信号处理综合工具套件
- 华中科技大学电信学院软件无线电实验资料汇总
- CGSN数据解析与集成验证工具集:Python和Shell脚本
- Java实现的远程视频会议系统开发教程
- Change-OEM: 用Java修改Windows OEM信息与Logo
- cmnd:文本到远程API的桥接平台开发
- 解决BIOS刷写错误28:PRR.exe的应用与效果
- 深度学习对抗攻击库:adversarial_robustness_toolbox 1.10.0
- Win7系统CP2102驱动下载与安装指南
- 深入理解Java中的函数式编程技巧
- GY-906 MLX90614ESF传感器模块温度采集应用资料
- Adversarial Robustness Toolbox 1.15.1 工具包安装教程
- GNU Radio的供应商中立SDR开发包:gr-sdr介绍