前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >【愚公系列】软考高级-架构设计师 095-软件架构复用

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

原创
作者头像
愚公搬代码
发布2024-08-08 08:34:34
发布2024-08-08 08:34:34
1820
举报

🏆 作者简介,愚公搬代码 🏆《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,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. 选择和复用
    • 针对特定需求,从构件库中选择可复用的部分,以开发满足需求的应用系统。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 🚀前言
  • 🚀一、软件架构复用
    • 🔎1.软件产品线
      • 🦋1.1 软件产品线
      • 🦋1.2 举例说明
    • 🔎2.软件架构复用
      • 🦋2.1 机会复用
      • 🦋2.2 系统复用
      • 🦋2.3 可复用的资产
      • 🦋2.4 复用的基本过程
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档