软件系统的组件化浅析

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

软件系统的组件化浅析

 

起源

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

 image.png

主体内容

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

 

流程制度

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

 

具体细节

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

 

 

目录
相关文章
|
19天前
|
JavaScript 开发者
组件化开发
组件化开发
|
5月前
|
缓存 JavaScript 前端开发
模块化
模块化
25 0
|
8月前
|
缓存 开发工具 Android开发
其实,模块化并没有你想的那么难
其实,模块化并没有你想的那么难
|
ARouter Java Maven
企业级项目组件化重构之路
前面几篇文章我们讲解了一个云音乐app的基础库搭建,今天我们就来对这个app进行**组件化代码重构**
|
JavaScript 前端开发 开发者
组件化和模块化的区别|学习笔记
快速学习组件化和模块化的区别
783 0
|
前端开发 程序员
组件化开发的优势
随着前后端分离架构成为主流,越来越多的业务逻辑被推向前端,再加上用户对于体验的更高要求,前端的复杂性在一步一步地拔高。对前端复杂性的管理就显得越来越重要。
组件化开发的优势
|
开发框架 前端开发 JavaScript
我对组件化概念的理解
我对组件化概念的理解
我对组件化概念的理解
|
前端开发 JavaScript 持续交付
谈谈对前端组件化,模块化,工程化的理解
谈谈对前端组件化,模块化,工程化的理解
28549 5
谈谈对前端组件化,模块化,工程化的理解
|
存储 敏捷开发 运维
对软件系统的一些理解
总了了一些个人对软件构建过程的一些理解
967 2
|
设计模式 前端开发 JavaScript
浅谈软件开发架构模式
浅谈软件开发架构模式
185 0
浅谈软件开发架构模式

热门文章

最新文章