Linux系统架构师考试:主程序-子程序与管道-过滤器对比
版权申诉
77 浏览量
更新于2024-06-29
收藏 536KB DOCX 举报
在2010年的系统架构师考试科目二中,考生面临的是关于Linux操作系统下KWIC检索系统的设计案例。这个系统的核心功能是根据用户输入的关键字提供相关帮助文档,并支持循环滚动阅读。在需求分析阶段,尽管初始的需求是通过重复剪切并插入单词实现滚动,但后续可能会有更多展示方式。
在架构设计环节,公司的两位架构师,王工和李工,提出了不同的解决方案。王工倾向于采用主程序-子程序的架构风格,这种风格强调所有计算组件作为子程序协同工作,由主程序按照顺序调用,数据通过共享存储区传递。然而,这种风格在灵活性上有所欠缺,算法或功能变更可能导致整个系统的重新编译,数据表示变更也会影响程序结构,性能方面可能因为整体程序的耦合而受限。
相反,李工提出的管道-过滤器架构风格更为灵活。在这个架构中,每个组件作为过滤器独立处理数据,输入和输出之间通过管道连接。这种设计允许独立的组件升级和修改,降低了算法和功能变更的影响,同时数据表示的变化不会直接影响整个程序,有利于性能优化和扩展。因此,考虑到系统的可维护性、灵活性和性能,会议最终选择了李工的管道-过滤器架构风格。
问题1的答案着重介绍了软件架构风格的定义,即一种描述软件系统组织方式的惯用模式,它定义了组件及其交互方式。主程序-子程序风格以顺序调用为主,数据共享,但在应对变化时显得僵化;而管道-过滤器风格则是模块化的,利于灵活扩展和数据流处理,更适合复杂系统的构建。
问题2的答案要求考生填写一个表格,对比评估两种架构风格在算法变更、功能变更、数据表示变更和性能方面的优劣。根据上述分析,应填写:
- 算法变更:主程序-子程序 - (-);管道-过滤器 - (+)
- 功能变更:主程序-子程序 - (-);管道-过滤器 - (+)
- 数据表示变更:主程序-子程序 - (-);管道-过滤器 - (+)
- 性能:主程序-子程序 - (-);管道-过滤器 - (+)
综合考虑,李工的管道-过滤器架构风格在灵活性和性能方面具有明显优势,所以被选为项目的最终方案。这体现了在软件开发中,适应变化和优化系统性能的重要性。
2022-08-03 上传
xxpr_ybgg
- 粉丝: 6801
- 资源: 3万+
最新资源
- ConsoleApplication1-伪线程及独立栈.zip
- Theo.QuartzDemo
- Nginx Limit Proxy-开源
- 红旗飘呀飘flash动画
- gitbash:更好的git使用bash设置
- CppE4X:一个cpp版本的XML解析器,类E4X语法
- 简单多边形三角化最佳剖分算法多线程滚动条图形编程Java源程序
- 探索性分析_测试
- Xcode-gitignore:Xcode 5〜6的gitignore文件
- ddr0-watcher:ddr.ca的监视程序(ddr0.github.com)
- java代码-递归-求最大值
- MyPHPPictureGallery-开源
- octoblob:用于OCT和OCTA处理的Python工具
- ghiblog:knightyui博客
- angelvisit
- java实现病历管理系统.rar