软件架构之构件组装模型

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

型。

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

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

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

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

互协作。

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

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

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

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

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

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

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

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

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

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

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

成本。

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

发团队难以控制的

相关推荐
java_logo4 小时前
MySQL Server Docker 容器化部署指南
linux·运维·数据库·docker·容器
誰能久伴不乏5 小时前
Linux文件套接字AF_UNIX
linux·服务器·c语言·c++·unix
a41324475 小时前
如何解决centos上oracle连接问题
linux·oracle·centos
h***34635 小时前
在linux(Centos)中Mysql的端口修改保姆级教程
linux·mysql·centos
星释5 小时前
Rust 练习册 97:Run-Length Encoding 压缩算法
java·linux·rust
2509_940880225 小时前
Linux(CentOS)安装 MySQL
linux·mysql·centos
可爱又迷人的反派角色“yang”5 小时前
LVS+Keepalived群集
linux·运维·服务器·前端·nginx·lvs
課代表5 小时前
Windows 文本搜索命令 findstr
windows·正则表达式·命令行·文本·匹配·搜索·findstr
Nerd Nirvana5 小时前
15个提升开发效率的VS Code插件推荐
linux·vscode·开发工具·嵌入式软件开发·插件使用·智能采集设备·边缘终端
v***16025 小时前
Linux安装Redis以及Redis三种启动方式
linux·redis·bootstrap