【愚公系列】软考高级-架构设计师 095-软件架构复用

举报
愚公搬代码 发表于 2024/07/31 23:52:50 2024/07/31
【摘要】 🏆 作者简介,愚公搬代码🏆《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,51CTO博客专家等。🏆《近期荣誉》:2023年华为云十佳博主,2022年CSDN博客之星TOP2,2022年华为云十佳博主等。🏆《博客内容》:.NET、Java、...

🏆 作者简介,愚公搬代码
🏆《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,51CTO博客专家等。
🏆《近期荣誉》:2023年华为云十佳博主,2022年CSDN博客之星TOP2,2022年华为云十佳博主等。
🏆《博客内容》:.NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。
🏆🎉欢迎 👍点赞✍评论⭐收藏

🚀前言

软件架构复用是指在软件开发过程中,重新使用已有的软件架构设计、模式或组件,以提高开发效率、减少成本和保证质量的一种方法。它是软件复用的一种形式,但专注于更高层次的设计和结构,而不仅仅是代码的复用。

🚀一、软件架构复用

🔎1.软件产品线

🦋1.1 软件产品线

软件产品线是指一组软件密集型系统,它们共享一个公共的、可管理的特性集,满足某个特定市场或任务的具体需要,以规定的方式用公共的核心资产集成开发出来的。即围绕核心资产库进行管理、复用、集成新的系统。

🦋1.2 举例说明

假设一家汽车导航系统制造公司想要开发多款汽车导航产品,以满足不同市场和客户的需求。他们可以采用软件产品线方法:

☀️1.3.1 核心功能

公司首先开发一个通用的核心导航引擎,包括以下功能:

  • 地图数据处理
  • 路线规划
  • 导航指令生成

然后,他们可以基于这个核心引擎,创建不同变种的导航产品。

☀️1.3.2 产品变种

  1. 汽车导航器A

    • 市场定位:高端汽车市场
    • 特点
      • 高级语音识别
      • 实时交通信息
      • 豪华界面
  2. 汽车导航器B

    • 市场定位:经济型车型
    • 特点
      • 功能较少
      • 价格更实惠
  3. 卡车导航系统

    • 市场定位:卡车司机
    • 特点
      • 特殊的货物规划
      • 路线优化功能

☀️1.3.3 定制特性

每个产品变种可以根据特定客户的需求进行定制,添加或移除特定功能或界面元素。例如:

  • 为某个客户定制添加特定的地图数据
  • 为某个市场增加本地化语言支持
  • 根据客户需求调整用户界面风格

🔎2.软件架构复用

软件架构复用依据复用的时机可以分为机会复用和系统复用。

🦋2.1 机会复用

  • 定义:在开发过程中,只要发现有可复用的资产,就对其进行复用。

🦋2.2 系统复用

  • 定义:在开发之前进行规划,以决定哪些需要复用。

🦋2.3 可复用的资产

可复用的资产包括以下内容:

  • 需求:可重复使用的需求文档或需求规范。
  • 架构设计:可重复使用的系统架构或设计模式。
  • 元素:代码模块、库或组件。
  • 建模与分析:模型、分析工具和方法。
  • 测试:测试用例、测试脚本和测试环境。
  • 项目规划:项目计划、时间表和资源分配。
  • 过程方法和工具:开发过程、方法论和支持工具。
  • 人员:具备特定技能和经验的开发人员。
  • 样本系统:过去开发的原型或样本系统。
  • 缺陷消除:已识别和修复的缺陷及其对应的解决方案。

🦋2.4 复用的基本过程

复用的基本过程主要包括以下三个阶段:

  1. 构造/获取可复用的软件资产

    • 创建或获取可复用的代码、设计文档、测试用例等。
  2. 管理这些资产

    • 将这些资产放入到构件库中进行管理,以便组织和检索。
  3. 选择和复用

    • 针对特定需求,从构件库中选择可复用的部分,以开发满足需求的应用系统。

🚀感谢:给读者的一封信

亲爱的读者,

我在这篇文章中投入了大量的心血和时间,希望为您提供有价值的内容。这篇文章包含了深入的研究和个人经验,我相信这些信息对您非常有帮助。

如果您觉得这篇文章对您有所帮助,我诚恳地请求您考虑赞赏1元钱的支持。这个金额不会对您的财务状况造成负担,但它会对我继续创作高质量的内容产生积极的影响。

我之所以写这篇文章,是因为我热爱分享有用的知识和见解。您的支持将帮助我继续这个使命,也鼓励我花更多的时间和精力创作更多有价值的内容。

如果您愿意支持我的创作,请扫描下面二维码,您的支持将不胜感激。同时,如果您有任何反馈或建议,也欢迎与我分享。

在这里插入图片描述

再次感谢您的阅读和支持!

最诚挚的问候, “愚公搬代码”

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。