软考 系统架构设计师系列知识点之软件构件(1)

所属章节:

第2章. 计算机系统基础知识

第3节. 计算机软件

2.3.7 软件构件

1. 概述

构件又称为组件 ,是一个自包容可复用程序集 。构建是一个程序集、或者说是一组程序的集合。这个集合可能会以各种方式体现 出来,如源程序或二进制代码。这个集合整体向外提供统一的访问接口构件外部只能通过接口来访问,而不能直接操作构建的内部 。构件的两个最重要的特性自包容可重用

2. 软件构件的组装模型

随着软件构件技术的发展,人们开始尝试利用软件构件进行搭积木式 的开发,即构件组装模型 。在构件组装模型中,当经过需求分析定义出软件功能后,将对构件的组装结构进行设计,将系统划分成一组构件的集合,明确构件之间的关系。在确定了系统构件后,则将独立完成每一个构件,这时既可以开发软件构件,也可以重用已有的构件 ,当然也可以购买或选用第三方的构件 。构件是独立的自包容的 ,因此架构的开发也是独立的,构件之间通过接口相互协作

构件组装模型的一般开发过程分为以下4步:

(1)设计构件组装

(2)建立构件库

(3)构建应用软件

(4)测试与发布

构件组装模型优点如下:

(1)构件的自包容性让系统的扩展变得更加容易

(2)设计良好的构件更容易被重用,降低软件开发成本

(3)构件的粒度较整个系统更小,因此安排开发任务更加灵活,可以将开发团队分成若干组,并行地独立开发构件。

构件组装模型也有明显的缺点:

(1)对构件的设计需要经验丰富的架构设计师,设计不良的构件难以实现构件的优点,降低构件组装模型的重用度

(2)在考虑软件的重用度时,往往会对其它方面做出让步,如性能等;

(3)使用构件组装应用程序时,要求程序员能熟练地续航我构件,增加了研发人员的学习成本

(4)第三方构件库的质量会最终影响到软件的质量,而第三方构件库的质量往往 是开发团队难以控制的。

相关推荐
奔跑的架构师9 小时前
[A-50]ARMv9/v8-DVFS系统架构
linux·arm开发·架构·系统架构·arm
跨境数据猎手9 小时前
参考pandabuy淘宝代购与集运系统架构设计
系统架构·团队开发
AI产品测评官11 小时前
从L3寻源智能体到全链路闭环ATS:拆解世纪云猎新一代AI招聘系统架构
人工智能·系统架构
奔跑吧树袋熊19 小时前
多租户隔离该做到哪一层:从连接池到 ORM 的取舍
开发语言·数据库·oracle·系统架构
励志不掉头发的内向程序员21 小时前
【LibreCAD 2D架构】从 addHistory 到 RS_UndoCycle:LibreCAD 里的两套 History 与撤销机制
开发语言·c++·qt·学习·系统架构
XiaoZhenHua981 天前
C#工业机器视觉软件架构设计:从能运行的Demo到能够稳定跑产线的软件
计算机视觉·系统架构·自动化
XiaoZhenHua981 天前
C# WinForms + 西门子S7 + SQLite + EPPlus生产数据采集系统架构设计
系统架构·sqlite·c#
粉色大象1 天前
handdrawn‑architecture‑video:开源SVG架构图转手绘4K动画视频|本地AI Agent Skill
人工智能·ai·ai作画·系统架构·开源·aigc·音视频
微三云 - 廖会灵 (私域系统开发)1 天前
私域团购系统架构设计:五级定价、自动结算与三级合规的技术实现
系统架构
木木学AI1 天前
2026主流大模型电话机器人系统解析:技术架构、业务执行与企业落地实践
架构·系统架构·机器人