软件系统的组件化浅析

简介: 20世纪70年代至90年代初,软件研发基本采用模块化的程序设计技术。

软件系统的组件化浅析

 

起源

20世纪70年代至90年代初,软件研发基本采用模块化的程序设计技术。模块化的设计方法源自面向过程的软件设计思想,一般采用库函数的形式实现,主要是面向过程的开发方式,用户不便于理解,已经无法满足未来复杂综合信息系统快速高效集成开发需求。当分布式架构、云端部署日益成为主流后,系统模块化、组件化趋势明显,系统软件中开源组件的使用复杂且相互依赖。开源组件治理是整个治理活动中非常重要的一部分。组件多层且互相依赖,往往很难厘清关系,开源组件治理工作充满严峻挑战。

 image.png

主体内容

开源治理涉及多个职能部门,需要组织层面自上而下的设计与支持。通常需要横跨研发管理、技术平台、安全等团队。 团队的设立,为后续开源治理中的工具建设、引入引出、威胁识别、威胁处置等活动起到了关键支撑作用。

 

流程制度

设计开源治理的流程及制度,用以贯通相关团队职能并保障具体治理工作落地。这些流程体现在开源组件完整的生命周期过程中,包含组件引入引出流程、组件使用流程、组件检测流程、组件安全应急处置等。海通证券有完整的软件研发管理规范,研发管理规范中包含开源治理的相关条项,对开源使用意识、开源使用具体操作、开源支持、开源检测等具体实践进行指导及要求,确保技术的合规使用及风险可控。

 

具体细节

开源组件引入引出是指对开源组件的使用进行引入审核、无效退出的管理事务,是开源组件生命周期中的入口及出口。 开源组件的有效管理需要依赖流程、 制度来保障,而专业化的开源组件管理工具在治理工作中也能发挥很大支持作用。 我司建设了专业化的开源组件管理工具, 支持范围如下 :一是支持多种开源组件代码类型,例如 JavaC/C++Golang PythonJavaScript 等组件语言类型 ; 二是支持基本的引入引出审批流程,对引入的包在仓库中实现统一依赖管理,对引出的包标记黑名单实现屏蔽效果 ;三是实现统一包依赖管理,对包使用方式进行统一管理,支持通用的 MavenGradle NPMConan 等包使用方式。

 

 

目录
相关文章
|
7月前
|
JavaScript 开发者
组件化开发
组件化开发
|
7月前
|
前端开发 JavaScript Java
现代化软件开发中的前后端分离模式
随着互联网技术的快速发展,现代化软件开发中的前后端分离模式逐渐成为主流。本文将介绍前后端分离的概念和优势,以及如何在不同的技术栈中实现这种模式。通过前后端分离,可以提高开发效率、降低耦合性,并且更好地满足用户需求。
115 0
|
1月前
|
前端开发 JavaScript 物联网
组件化设计适用于哪些场景
【10月更文挑战第22天】组件化设计适用于哪些场景
|
1月前
|
前端开发 JavaScript UED
什么是组件化设计
【10月更文挑战第22天】什么是组件化设计
|
1月前
|
前端开发 JavaScript API
组件化设计有哪些缺点吗
【10月更文挑战第22天】组件化设计有哪些缺点吗
|
2月前
|
前端开发 安全 测试技术
前端组件化有什么优势?
【10月更文挑战第4天】
41 1
|
2月前
|
前端开发 JavaScript 开发者
深入解析前端开发中的模块化与组件化实践
【10月更文挑战第5天】深入解析前端开发中的模块化与组件化实践
32 1
|
4月前
|
前端开发 UED
组件化的好处是什么
【8月更文挑战第13天】组件化的好处是什么
129 1
|
7月前
|
前端开发 JavaScript 测试技术
构建高效前端项目:模块化与组件化策略
【2月更文挑战第25天】 在现代网页开发中,随着用户对于网页性能和交互体验的期待不断提升,前端项目的复杂性也随之增加。为了应对这种复杂性并提高开发效率,本文将探讨模块化与组件化在前端项目中的应用策略。通过分析这两种方法的优势与适用场景,我们将揭示如何利用它们来优化项目结构,提升代码复用率,以及加快开发流程。
154 4
|
7月前
|
资源调度 前端开发 JavaScript
构建高效前端项目:模块化与组件化的最佳实践
【2月更文挑战第13天】在现代前端开发的浪潮中,模块化和组件化已经成为提升项目可维护性和开发效率的核心原则。本文深入探讨了如何通过合理的模块划分、组件设计以及工具选择来优化前端项目结构,同时确保代码的复用性和可测试性。我们将从理论出发,结合实例分析,为前端开发者提供一套行之有效的最佳实践指南。
323 0

相关实验场景

更多