软考系统分析师-软件重用三个层次软件重用是系统分析师考试中软件工程模块的绝对核心,综合知识占有一定的分值,案例分析及论文也经常涉及,是必须掌握的考点。软件重用主要分为三个层次:代码重用、设计结果重用和分析结果重用。软件重用的三个层次
| | |
|---|
| 分析结果重用 | 复用业务需求、领域模型、分析文档等。收益最大,但复用难度也最高。 | 业务用例模型、数据流图(DFD)、需求规格说明书、领域模型 |
| 设计结果重用 | 复用软件的架构、模块划分、接口设计等解决方案。属于“方案级”复用,比代码更宏观。 | 经典设计模式(工厂、单例等)、软件架构(MVC、微服务)、模块划分方案、数据库ER图 |
| 代码重用 | 直接复用现有的源代码、二进制库或组件。实现最直接、效果最明显的基础层次。 | - 函数/方法封装:最基础的方式,将通用逻辑封装成函数。- 类与对象(继承/多态/组合):通过继承复用父类代码,通过多态实现通用接口,组合优于继承能降低耦合。- 模块/组件:将功能打包成独立单元(如JAR包、DLL),通过明确接口调用。- 算法与库:复用成熟的排序算法、工具类库等,避免“重复造轮子”。- 设计模式:可复用的解决方案模板,是代码重用的高层次体现。- 复制粘贴:最不推荐的方式,易导致“散弹式修改”,仅适用于快速原型。- 源代码级重用的两种形态:1. 白盒复用:源代码可见,可修改定制,但增加复杂度和耦合风险。2. 黑盒复用:源代码不可见,通过API调用,简单但适应性较差。 |
注意:测试结果(如测试报告、缺陷统计数据)不属于其中任何一个层次,在解题时需牢记这一点。从组件到架构
系统分析师需要掌握更具工程价值的高级复用方式,这些是系统化重用的体现:
组件复用:复用独立开发、测试和部署的“二进制”组件,通过明确的接口进行交互。
服务复用:在分布式系统中,将业务能力封装为可通过网络调用的服务(如微服务),支持跨语言、跨平台复用。
架构复用:复用整个系统的骨架和风格,避免架构层面的重新设计。
实现代码重用是提高开发效率、保证软件质量的核心。系统性的代码重用不仅是技术手段,更是一种贯穿软件开发全生命周期的工程化思想。2025上半年系统分析师
软件开发中,实现代码重用的方式包括()。
A. 变量、常量、函数、模块、子程序
B. 函数、对象、模块、类、算法
C. 接口、函数、模块、文件、项目
D. 属性、行为、对象、模块、构件
2020年系统分析师
在软件实现中,以下()不属于软件重用的层次。A. 代码重用
B. 设计结果重用
C. 分析结果重用
D. 测试结果重用