系统架构设计师笔记第20期:软件架构复用

这篇具有很好参考价值的文章主要介绍了系统架构设计师笔记第20期:软件架构复用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

软件架构复用是指在不改变软件功能的情况下,将已有的软件架构直接或进行微调后复用到新的软件或系统中,从而加快软件开发进程,提高软件生产效率。软件架构复用包括软件产品复用和软件过程复用两部分的内容。其中,软件产品复用是指将已有的软件组件(如函数、模块、组件等)直接或进行适应性修改后复用到新的软件或系统中;软件过程复用是指将已有的软件生产过程中的各种劳动成果(如设计文档、测试案例、源代码等)直接或进行适应性修改后复用到新的软件或系统中。

软件架构复用的分类

软件架构复用可以分为以下几种类型:

  1. 代码级复用:通过编写大量的公共类和公共函数等,供开发人员直接使用。
  2. 组件级复用:将功能的组件化封装,对外提供一组或多组的API接口。
  3. 模块级复用:在开发的项目或产品中,如果发现大量重复的功能模块,可以在这些模块设计时注重扩展性,使其能应用到其他类似功能的项目中。
  4. 构架级复用:构架级在设计概念上最为高级的一种。它相当于一个平台或者思想,在这个平台上,可以开发出根据此平台思想稳定而又高效的软件产品。

软件架构复用的实现方式主要包括以下几种:

  1. 白盒复用:源代码可见,可修改和扩展。
  2. 黑盒复用:源代码不可见,不能修改。
  3. 模块层次的复用(接口/类):包括继承和委托等。

这些实现方式可以帮助开发者更好地进行软件架构复用,提高软件生产效率。

软件架构复用的原因

软件架构复用的原因主要有以下几点:

  1. 审美上和智力上的考虑:软件开发者渴望不朽,通过创造出可复用的组件,使他们的作品成为整个行业的基石。
  2. 经济上的考虑:复用降低了成本和开发时间,提高了软件生产效率。它还可以避免不必要的“重新造轮子”,降低维护成本,生产出质量更好、更可靠、更高效的软件。
  3. 可靠性的考虑:复用已经存在一段时间并经过调试的功能,这些功能往往经过充分测试,稳定可靠。
  4. 标准化的考虑:复用 GUI 库会在应用程序中产生通用的外观、规则、一致、连贯地设计。

然而,软件架构复用也存在一定的成本,需要从创造的角度进行考虑,确保可复用的组件以明确定义、开放的方式设计和构建,使用简洁的接口规范、可理解的文档,并着眼于未来的使用。这样才能充分发挥软件架构复用的优势。

软件架构复用的对象及形式

软件架构复用的对象可以包括代码级、组件级、模块级和构架级复用。具体形式如下:

  1. 代码级复用:通过编写大量的公共类和公共函数等,供开发人员直接使用。
  2. 组件级复用:将功能的组件化封装,对外提供一组或多组的API接口。
  3. 模块级复用:在开发的项目或产品中,如果发现大量重复的功能模块,可以在这些模块设计时注重扩展性,使其能应用到其他类似功能的项目中。
  4. 构架级复用:构架级在设计概念上最为高级的一种。它相当于一个平台或者思想,在这个平台上,可以开发出根据此平台思想稳定而又高效的软件产品。

软件架构复用的实现方式主要包括以下几种:

  1. 白盒复用:源代码可见,可修改和扩展。
  2. 黑盒复用:源代码不可见,不能修改。
  3. 模块层次的复用(接口/类):包括继承和委托等。

这些实现方式可以帮助开发者更好地进行软件架构复用,提高软件生产效率。

软件架构复用的基本过程

软件架构复用的基本过程包括以下步骤:

  1. 按复用的要求,界定应用系统的共同特性,建立模型。
  2. 将模型分解成恰当规模和结构的构件。
  3. 对这些构件进行设计、实现、打包、编写文档。
  4. 形成方便使用的可复用构件。
  5. 开发与构件系统相配的工具箱,以支持构件的复用。

通过以上步骤,可以完成软件架构的复用,提高软件开发效率。文章来源地址https://www.toymoban.com/news/detail-496674.html

到了这里,关于系统架构设计师笔记第20期:软件架构复用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 系统架构设计师-软件架构设计(3)

    目录 一、软件架构风格(其它分类)         1、闭环控制结构(过程控制)           2、C2风格         3、MDA(模型驱动架构 Model Driven Architecture)         4、特定领域软件架构(DSSA)                 4.1 DSSA基本活动及产出物:             

    2024年02月15日
    浏览(58)
  • 系统架构设计师-软件架构设计(6)

    目录 一、物联网分层架构 二、大数据分层架构 三、基于服务的架构(SOA)         1、SOA的特征         2、服务构件与传统构件的区别 四、Web Service(WEB服务)         1、Web Services 和 SOA的关系 五、REST(表述性状态转移) 六、ESB(企业服务总线) 七、微服务         1、微

    2024年02月14日
    浏览(248)
  • 系统架构设计师-软件架构设计(7)

    目录 大型网站系统架构演化 一、第一阶段:单体架构 到 第二阶段:垂直架构 二、第三阶段:使用缓存改善网站性能         1、缓存与数据库的数据一致性问题         2、缓存技术对比【MemCache与Redis】         3、Redis分布式存储方案         4、Redis集群切片的

    2024年02月14日
    浏览(68)
  • 【新版】系统架构设计师 - 软件架构设计<新版>

    个人总结,仅供参考,欢迎加好友一起讨论 软件架构的概念(★★★) 基于架构的软件开发(★★★★) 软件架构风格(★★★★★) 特定领域软件架构(★★★) 软件质量属性(★★★★★) 软件架构评估(★★★★★) 软件产品线(★★★) 构件与中间件技术(★

    2024年02月09日
    浏览(56)
  • 【新版】系统架构设计师 - 软件架构设计<轻量级架构>

    个人总结,仅供参考,欢迎加好友一起讨论 基本概念(★) SSH(★★) SSM(★★) 用户界面的逻辑位于最顶层。表现层负责把用户要求的业务逻辑处理结果以可视化的友好的方式返回给用户,并提供接受用户命令的接口和表现层页面控制逻辑的代码。 业务逻辑层负责处理

    2024年02月09日
    浏览(58)
  • 系统架构设计专业技能 · 软件工程(一)【系统架构设计师】

    系统架构设计高级技能 · 软件架构概念、架构风格、ABSD、架构复用、DSSA(一)【系统架构设计师】 系统架构设计高级技能 · 系统质量属性与架构评估(二)【系统架构设计师】 系统架构设计高级技能 · 软件可靠性分析与设计(三)【系统架构设计师】 软件开发生命周期

    2024年02月13日
    浏览(47)
  • 【新版】系统架构设计师 - 软件架构设计<SOA与微服务>

    个人总结,仅供参考,欢迎加好友一起讨论 面向服务SOA(★★★★) 微服务(★★★★) 在SOA模型中,所有的功能都定义成了独立的服务。服务之间通过交互和协调完成业务的整体逻辑。所有的服务通过服务总线或流程管理器来连接。这种松散耦合的架构使得各服务在交互

    2024年02月09日
    浏览(43)
  • 系统架构设计高级技能 · 软件可靠性分析与设计(三)【系统架构设计师】

    系统架构设计高级技能 · 软件架构概念、架构风格、ABSD、架构复用、DSSA(一)【系统架构设计师】 系统架构设计高级技能 · 系统质量属性与架构评估(二)【系统架构设计师】 系统架构设计高级技能 · 软件可靠性分析与设计(三)【系统架构设计师】 现在的一切都是为

    2024年02月13日
    浏览(45)
  • 系统架构设计专业技能 · 软件工程之软件测试与维护(六)【系统架构设计师】

    系统架构设计专业技能 · 网络规划与设计(三)【系统架构设计师】 系统架构设计专业技能 · 系统安全分析与设计(四)【系统架构设计师】 系统架构设计高级技能 · 软件架构设计(一)【系统架构设计师】 系统架构设计高级技能 · 系统质量属性与架构评估(二)【系统

    2024年02月13日
    浏览(59)
  • 系统架构设计师-软件工程(1)

    目录 一、软件过程模型               1、瀑布模型         2、V模型【瀑布变种】         3、原型模型         4、螺旋模型【原型+瀑布】         5、构件组装模型/基于构件的开发方法         6、快速应用开发RAD【瀑布+构件组装】                        

    2024年02月11日
    浏览(66)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包