软件架构之构件组装模型

随着软构件技术的发展,人们开始尝试利用软构件进行搭积木式的开发,即构件组装模

型。

在构建组装模型中,当经过需求分析定义出软件功能后,将对构件的组装结构进行设计,

将系统划分成一组构件的集合,明确构件之间的关系。在确定了系统构件后,则将独立完成

每一个构件,这时既可以开发软件构件,也可以重用已有的构件,当然也可以购买或选用第

三方的构件。构件是独立的、自包容的,因此架构的开发也是独立的,构件之间通过接口相

互协作。

构件组装模型的一般开发过程:

构件组装模型的优点如下:

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

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

(3)构件的粒度较整个系统更小,因此安排开发任务更加灵活,可以将开发团队分成

若干组,并行地独立开发构件。

鱼与熊掌不可兼得,构件组装模型也有明显的缺点:

(1)对构件的设计需要经验丰富的架构设计师,设计不良的构件难以实现构件的优点,

降低构件组装模型的重用度。

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

(3)使用构件组装应用程序时,要求程序员熟练地掌握构件,增加了研发人员的学习

成本。

(4)第三方构件库的质量会最终影响到软件的质量,而第三方构件库的质量往往是开

发团队难以控制的

相关推荐
Lw老王要学习25 分钟前
CentOS 7.9达梦数据库安装全流程解析
linux·运维·数据库·centos·达梦
CRUD酱1 小时前
CentOS的yum仓库失效问题解决(换镜像源)
linux·运维·服务器·centos
zly35001 小时前
VMware vCenter Converter Standalone 转换Linux系统,出现两个磁盘的处理
linux·运维·服务器
爱内卷的学霸一枚1 小时前
现代微服务架构实践:从设计到部署的深度解析
windows·微服务·架构
Albert Edison1 小时前
【Python】函数
java·linux·python·pip
General_G2 小时前
Linux中的信号
linux·运维·服务器
诸神缄默不语2 小时前
当无法直接用apt instll时,Linux如何离线安装软件包(以make为例)
linux·运维·服务器
Sivan_Xin2 小时前
拒绝 If-Else 屎山:利用适配器模式(Adapter)构建第三方登录的“防腐层”实战
linux·python·适配器模式
learning-striving2 小时前
kali默认桌面Xfce切换为GNOME桌面
linux·运维·服务器·kali
源远流长jerry2 小时前
dpdk之kni处理dns案例
linux·网络·网络协议·ubuntu·ip