软件系统的组件化浅析

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

软件系统的组件化浅析

 

起源

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

 image.png

主体内容

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

 

流程制度

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

 

具体细节

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

 

 

目录
相关文章
|
网络协议 Java
【工具】Mermaid + 大模型画流程图
最近看面试文章关于TCP三次握手和四次挥手的文章,时常会看到有类似的图去描述这样的过程。当然觉得这样的图还是蛮规范的,属于流程图的一种,是否有工具可以自动生成呢?但没有细想,昨天刷V2EX看到也有老哥发出了这样的问题。于是顺着评论区大佬的回答,我GET到了一个工具Mermaid 这里三次握手的图取自小林coding的文章
1362 0
|
JavaScript
vue element plus DatePicker 日期选择器
vue element plus DatePicker 日期选择器
700 0
|
10月前
|
机器学习/深度学习 自然语言处理 数据安全/隐私保护
探索Qwen2.5大模型在车险理赔领域的应用
本文探讨了Qwen2.5大模型在车险理赔领域的应用,特别是通过微调模型来优化理赔流程、提高反欺诈能力。文章介绍了车险理赔的数据特点和业务流程,展示了如何准备数据、微调模型,并进行了模型评估和部署的示例。通过这些方法,Qwen2.5能够显著提升理赔效率和准确性,减少人工干预。
|
编解码 分布式计算 网络协议
Netty高性能网络框架(一)
Netty高性能网络框架(一)
|
11月前
|
测试技术 API 持续交付
微服务的版本控制
微服务的版本控制
246 6
|
前端开发 JavaScript Java
美食分享|基于Springboot+Vue实现美食分享网站
美食分享|基于Springboot+Vue实现美食分享网站
1096 0
美食分享|基于Springboot+Vue实现美食分享网站
|
机器学习/深度学习 数据采集 人工智能
【热门话题】AI作画算法原理解析
本文解析了AI作画算法的原理,介绍了基于机器学习和深度学习的CNNs及GANs在艺术创作中的应用。从数据预处理到模型训练、优化,再到风格迁移、图像合成等实际应用,阐述了AI如何生成艺术作品。同时,文章指出未来发展中面临的版权、伦理等问题,强调理解这些算法对于探索艺术新境地的重要性。
400 3
|
存储 Oracle 网络协议
实战篇:使用 StarWind 配置 ISCSI 共享存储
实战篇:使用 StarWind 配置 ISCSI 共享存储
实战篇:使用 StarWind 配置 ISCSI 共享存储
|
小程序 芯片
飞腾平台芯片测试固件(SFW)和开机启动log
飞腾平台芯片测试固件(SFW)和开机启动log
1348 0
飞腾平台芯片测试固件(SFW)和开机启动log
|
测试技术
软件设计原则-里氏替换原则讲解以及代码示例
里氏替换原则(Liskov Substitution Principle,LSP)是面向对象设计中的一条重要原则,它由Barbara Liskov在1987年提出。 里氏替换原则的核心思想是:父类的对象可以被子类的对象替换,而程序的行为不会发生变化。也就是说,如果一个类型A是另一个类型B的子类型,那么在任何使用B的地方都可以使用A,而不会引起错误或异常。
1105 0