CN102135885A - 一种模块化的软件开发架构 - Google Patents
一种模块化的软件开发架构 Download PDFInfo
- Publication number
- CN102135885A CN102135885A CN2011100690234A CN201110069023A CN102135885A CN 102135885 A CN102135885 A CN 102135885A CN 2011100690234 A CN2011100690234 A CN 2011100690234A CN 201110069023 A CN201110069023 A CN 201110069023A CN 102135885 A CN102135885 A CN 102135885A
- Authority
- CN
- China
- Prior art keywords
- software development
- component
- software
- feature exists
- infrastructure component
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
本发明提供一种模块化的软件架构,包括基础组件和第三方库,核心平台,应用组件;本发明实现了模块化开发的核心平台,允许开发人员在核心平台下并行开发各自模块,同时复用相关模块已实现功能,最终可在核心平台下运行所有模块,搭建整个软件系统;支持模块化的封装和交互;支持模块化的动态配置、部署;极大提高了软件的可扩展性,方便开发人员并行开发,扩展软件系统;实现了软件功能定制化,允许管理人员根据需求自由定制组合软件模块。
Description
技术领域
本发明涉及软件开发领域,具体涉及一种模块化软件开发架构。
背景技术
随着软件复杂性的增长,软件系统的规模也越来越大,软件系统会被划分为多个模块或子系统进行开发,如何灵活的对系统进行模块划分,并支持系统扩容时灵活的增加新的模块,是软件开发面临的一个难点。
发明内容
本发明目的是提供一种模块化的软件架构,用来支持可扩展的软件开发设计。
一种模块化的软件开发架构,所述构架分层次化,包括基础组件和第三方库、核心平台和应用组件三层;其中,
所述基础组件和第三方库定义了基础组件实现的公共规范,并且按此规范实现的基础组件可以被任何系统使用;
所述核心平台以扩展点技术为核心,定义了模块化扩展的的各种扩展点,并提供对模块的统一配置、管理功能,对各个功能进行封装供子系统使用;
所述应用组件为开发人员利用前两层功能实现自己应用
优选的,所述基础组件和第三方库包括数据库,日志,系统调用接口,异常信号,工具类,输入控件与图形控件。
优选的,开发人员实现的基础组件都可以被其他业务系统使用和调用。
优选的,在核心平台上,业务组件可动态加入到软件系统中。
较优选的,所述业务组件是在按照扩展点和模块化规范要求的基础上实现的。
优选的,所述应用组件包括维护管理类,数据中心类和HPC类。
本发明带来的有益效果如下:
1、实现了模块化开发的核心平台,允许开发人员在核心平台下并行开发各自模块,同时复用相关模块已实现功能,最终可在核心平台下运行所有模块,搭建整个软件系统;
2、支持模块化的封装和交互;
3、支持模块化的动态配置、部署;
4、极大提高了软件的可扩展性,方便开发人员并行开发,扩展软件系统;
5、实现了软件功能定制化,允许管理人员根据需求自由定制组合软件模块。
附图说明
图1是本发明架构层次图
具体实施方式
系统总体上分为三个层次,基础组件第三方库;核心平台;应用组件;
基础组件第三方库:对于整个软件系统,存在大量的公用方法与基础控件,如数据库操作、日志、系统调用等,如果每个方法都需在不同的业务系统独立开发,势必造成大量的重复劳动,故此层次定义了基础组件实现的公共规范,使得按照此规范实现的基础组件可以被任何业务系统使用,从而大大提高了软件代码的复用性;只要有开发人员实现某种基础组件,就可以被任何其他业务系统使用,也大大提高了开发人员的效率。
核心平台:为支持模块化的系统架构,核心平台以扩展点技术为核心,定义了模块化扩展的各种扩展点,并提供了对模块的统一配置、管理等功能,从而使得业务组件在按照扩展点和模块化规范要求的基础上实现,即可动态的加入到软件系统中,而不用修改原有软件,达到了系统模块化动态扩展的目的;同时对于任何一个软件系统都会用到诸如用户管理、认证审计等功能,且各业务系统将依赖此功能进行业务系统的操作;故核心平台对此也统一进行了封装实现,可供各子系统直接使用。
如主菜单扩展点,传统的页面开发方式,当需在页面中增加一个菜单时,需要在原有页面代码中编写新的菜单代码,而本发明中通过在系统中定义菜单扩展点,各子系统在按照扩展点要求实现各自的页面并编写配置文件后,核心平台即可将子系统的页面加入主页面中,而不用修改主页面的代码,实现了页面的灵活动态扩展;而当无此子系统时,也不需像传统开发模式下删除菜单代码,因无此业务子系统,核心平台自动不会显示出该子系统的页面。
应用组件:在如上两层次的基础上,开发人员就可以使用基础组件和核心平台提供的公用功能,同时实现自己业务系统的业务流程;按照模块化规范的要求实现的各业务组件可动态加入到软件系统中;这样使得业务组件的开发人员可以专注于应用的流程,而不用分心研究软件的框架等公共方法,从而各有所攻,各有所长,提高了团队开发的效率。
Claims (6)
1.一种模块化的软件开发架构,其特征在:所述构架分层次化,包括基础组件和第三方库、核心平台和应用组件三层;其中,
所述基础组件和第三方库定义了基础组件实现的公共规范,并且按此规范实现的基础组件可以被任何系统使用;
所述核心平台以扩展点技术为核心,定义了模块化扩展的的各种扩展点,并提供对模块的统一配置、管理功能,对各个功能进行封装供子系统使用;
所述应用组件为开发人员利用前两层功能实现自己应用。
2.如权利要求1所述一种模块化的软件开发架构,其特征在:所述基础组件和第三方库包括数据库,日志,系统调用接口,异常信号,工具类,输入控件和图形控件。
3.如权利要求1或2所述一种模块化的软件开发架构,其特征在:所述基础组件可被其他业务系统使用和调用。
4.如权利要求1所述一种模块化的软件开发架构,其特征在:在核心平台上,业务组件可动态加入到软件系统中。
5.如权利要求4所述一种模块化的软件开发架构,其特征在:所述业务组件是在按照扩展点和模块化规范要求的基础上实现的。
6.如权利要求1所述一种模块化的软件开发架构,其特征在:所述应用组件包括维护管理类,数据中心类和HPC类。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100690234A CN102135885A (zh) | 2011-03-22 | 2011-03-22 | 一种模块化的软件开发架构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100690234A CN102135885A (zh) | 2011-03-22 | 2011-03-22 | 一种模块化的软件开发架构 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102135885A true CN102135885A (zh) | 2011-07-27 |
Family
ID=44295679
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011100690234A Pending CN102135885A (zh) | 2011-03-22 | 2011-03-22 | 一种模块化的软件开发架构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102135885A (zh) |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102495730A (zh) * | 2011-12-02 | 2012-06-13 | 曙光信息产业(北京)有限公司 | 一种动态可扩展的web界面的方法 |
CN102546826A (zh) * | 2012-02-22 | 2012-07-04 | 浪潮电子信息产业股份有限公司 | 一种云海os中应用模块拆分与集成的方法 |
CN103324470A (zh) * | 2012-03-21 | 2013-09-25 | 阿里巴巴集团控股有限公司 | 一种Web系统生成的方法和装置 |
CN103777965A (zh) * | 2014-02-24 | 2014-05-07 | 武汉大学 | 一种用于软件合作开发的间层模型 |
CN104142825A (zh) * | 2014-07-08 | 2014-11-12 | 北京彩云动力教育科技有限公司 | 一种产品的模块化开发方法及系统 |
CN104243207A (zh) * | 2014-09-05 | 2014-12-24 | 阿纳克斯(苏州)轨道系统有限公司 | 基于模块化与集成化的pis维护方法及系统 |
CN104765603A (zh) * | 2015-03-18 | 2015-07-08 | 百度在线网络技术(北京)有限公司 | 应用程序构建方法及装置 |
CN105847026A (zh) * | 2015-11-28 | 2016-08-10 | 成都广达新网科技股份有限公司 | 一种基于扩展点实现网管系统功能扩展的方法 |
CN106445786A (zh) * | 2016-09-28 | 2017-02-22 | 北京奇虎科技有限公司 | 一种数据处理方法和装置 |
CN107145353A (zh) * | 2017-05-05 | 2017-09-08 | 武汉斗鱼网络科技有限公司 | 软件框架及软件框架设计方法 |
CN107402768A (zh) * | 2017-07-31 | 2017-11-28 | 四川长虹电器股份有限公司 | 一种可复用扩展的Android应用开发方法 |
CN108053336A (zh) * | 2018-01-15 | 2018-05-18 | 中企动力科技股份有限公司 | 可定制领域服务方法及装置 |
CN108984161A (zh) * | 2018-06-21 | 2018-12-11 | 广州视源电子科技股份有限公司 | 一种统一且可分类拓展的软件安装包构建方法和装置 |
CN109582422A (zh) * | 2018-11-30 | 2019-04-05 | 广州净松软件科技有限公司 | 基于组件的监察系统构建方法、装置、设备和存储介质 |
CN109598572A (zh) * | 2018-09-29 | 2019-04-09 | 阿里巴巴集团控股有限公司 | 服务定制方法、装置、电子设备及计算机可读存储介质 |
CN109710236A (zh) * | 2018-12-30 | 2019-05-03 | 北京字节跳动网络技术有限公司 | 基于共享服务的业务开发和实现方法、装置、平台及介质 |
CN109976715A (zh) * | 2017-12-28 | 2019-07-05 | 中移(杭州)信息技术有限公司 | 一种软件项目开发方法和装置 |
WO2019218724A1 (zh) * | 2018-05-18 | 2019-11-21 | 上海旺谷计算机科技有限公司 | 软件模块标准化开发方法及软件系统开发方法 |
CN110839090A (zh) * | 2019-11-14 | 2020-02-25 | 中国民航信息网络股份有限公司 | 一种基于动态url的产品配置方法及系统 |
WO2020048238A1 (zh) * | 2018-09-06 | 2020-03-12 | 威胜集团有限公司 | 针对电能表软件的模块化设计方法 |
CN111381899A (zh) * | 2020-02-21 | 2020-07-07 | 泰康保险集团股份有限公司 | 用于开发目标系统的方法和装置 |
CN113238731A (zh) * | 2021-05-11 | 2021-08-10 | 广州以大计算机科技有限公司 | 一种Ebeit开发平台 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101261582A (zh) * | 2008-04-29 | 2008-09-10 | 山东大学 | 多层协同软件开发结构 |
CN101320327A (zh) * | 2008-07-17 | 2008-12-10 | 上海众恒信息产业有限公司 | 专用证件管理系统的软件架构 |
-
2011
- 2011-03-22 CN CN2011100690234A patent/CN102135885A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101261582A (zh) * | 2008-04-29 | 2008-09-10 | 山东大学 | 多层协同软件开发结构 |
CN101320327A (zh) * | 2008-07-17 | 2008-12-10 | 上海众恒信息产业有限公司 | 专用证件管理系统的软件架构 |
Cited By (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102495730B (zh) * | 2011-12-02 | 2014-07-02 | 曙光信息产业(北京)有限公司 | 一种动态可扩展的web界面的方法 |
CN102495730A (zh) * | 2011-12-02 | 2012-06-13 | 曙光信息产业(北京)有限公司 | 一种动态可扩展的web界面的方法 |
CN102546826A (zh) * | 2012-02-22 | 2012-07-04 | 浪潮电子信息产业股份有限公司 | 一种云海os中应用模块拆分与集成的方法 |
CN103324470B (zh) * | 2012-03-21 | 2017-09-22 | 阿里巴巴集团控股有限公司 | 一种Web系统生成的方法和装置 |
CN103324470A (zh) * | 2012-03-21 | 2013-09-25 | 阿里巴巴集团控股有限公司 | 一种Web系统生成的方法和装置 |
CN103777965B (zh) * | 2014-02-24 | 2016-08-17 | 武汉大学 | 一种用于软件合作开发间层模型的设计方法 |
CN103777965A (zh) * | 2014-02-24 | 2014-05-07 | 武汉大学 | 一种用于软件合作开发的间层模型 |
CN104142825A (zh) * | 2014-07-08 | 2014-11-12 | 北京彩云动力教育科技有限公司 | 一种产品的模块化开发方法及系统 |
CN104243207B (zh) * | 2014-09-05 | 2018-09-11 | 阿纳克斯(苏州)轨道系统有限公司 | 基于模块化与集成化的pis维护方法及系统 |
CN104243207A (zh) * | 2014-09-05 | 2014-12-24 | 阿纳克斯(苏州)轨道系统有限公司 | 基于模块化与集成化的pis维护方法及系统 |
CN104765603A (zh) * | 2015-03-18 | 2015-07-08 | 百度在线网络技术(北京)有限公司 | 应用程序构建方法及装置 |
CN105847026A (zh) * | 2015-11-28 | 2016-08-10 | 成都广达新网科技股份有限公司 | 一种基于扩展点实现网管系统功能扩展的方法 |
CN106445786A (zh) * | 2016-09-28 | 2017-02-22 | 北京奇虎科技有限公司 | 一种数据处理方法和装置 |
CN106445786B (zh) * | 2016-09-28 | 2019-05-21 | 北京奇虎科技有限公司 | 一种数据处理方法和装置 |
CN107145353A (zh) * | 2017-05-05 | 2017-09-08 | 武汉斗鱼网络科技有限公司 | 软件框架及软件框架设计方法 |
CN107402768A (zh) * | 2017-07-31 | 2017-11-28 | 四川长虹电器股份有限公司 | 一种可复用扩展的Android应用开发方法 |
CN107402768B (zh) * | 2017-07-31 | 2020-06-30 | 四川长虹电器股份有限公司 | 一种可复用扩展的Android应用开发方法 |
CN109976715A (zh) * | 2017-12-28 | 2019-07-05 | 中移(杭州)信息技术有限公司 | 一种软件项目开发方法和装置 |
CN108053336A (zh) * | 2018-01-15 | 2018-05-18 | 中企动力科技股份有限公司 | 可定制领域服务方法及装置 |
WO2019218724A1 (zh) * | 2018-05-18 | 2019-11-21 | 上海旺谷计算机科技有限公司 | 软件模块标准化开发方法及软件系统开发方法 |
CN108984161B (zh) * | 2018-06-21 | 2022-04-08 | 广州视源电子科技股份有限公司 | 一种统一且可分类拓展的软件安装包构建方法和装置 |
CN108984161A (zh) * | 2018-06-21 | 2018-12-11 | 广州视源电子科技股份有限公司 | 一种统一且可分类拓展的软件安装包构建方法和装置 |
WO2020048238A1 (zh) * | 2018-09-06 | 2020-03-12 | 威胜集团有限公司 | 针对电能表软件的模块化设计方法 |
CN109598572A (zh) * | 2018-09-29 | 2019-04-09 | 阿里巴巴集团控股有限公司 | 服务定制方法、装置、电子设备及计算机可读存储介质 |
CN109582422A (zh) * | 2018-11-30 | 2019-04-05 | 广州净松软件科技有限公司 | 基于组件的监察系统构建方法、装置、设备和存储介质 |
CN109710236A (zh) * | 2018-12-30 | 2019-05-03 | 北京字节跳动网络技术有限公司 | 基于共享服务的业务开发和实现方法、装置、平台及介质 |
CN110839090A (zh) * | 2019-11-14 | 2020-02-25 | 中国民航信息网络股份有限公司 | 一种基于动态url的产品配置方法及系统 |
CN110839090B (zh) * | 2019-11-14 | 2022-04-26 | 中国民航信息网络股份有限公司 | 一种基于动态url的产品配置方法及系统 |
CN111381899A (zh) * | 2020-02-21 | 2020-07-07 | 泰康保险集团股份有限公司 | 用于开发目标系统的方法和装置 |
CN113238731A (zh) * | 2021-05-11 | 2021-08-10 | 广州以大计算机科技有限公司 | 一种Ebeit开发平台 |
CN113238731B (zh) * | 2021-05-11 | 2024-03-22 | 广州以大计算机科技有限公司 | 一种Ebeit开发平台 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102135885A (zh) | 一种模块化的软件开发架构 | |
CN102541541B (zh) | 界面生成方法和装置 | |
CN103617255B (zh) | 一种用于电力信息系统的业务数据交换同步系统及方法 | |
CN102158516B (zh) | 服务组合编译方法及编译器 | |
SG126058A1 (en) | System and method for applying development patterns for component based applications | |
CN103500087A (zh) | 一种基于maven插件和freemarker模版的代码生成方法及装置 | |
CN101477462A (zh) | 一种用于动态改变系统行为的模型驱动软件开发方法 | |
CN102136946A (zh) | 一种光网络拓扑图的绘制方法及其拓扑子系统 | |
TW200711379A (en) | Management system and method for wireless communication network and associated user interface | |
CN102929645B (zh) | 一种内嵌Python解释器实现软件系统二次开发的方法 | |
CN103678815A (zh) | 一种机械产品协同仿真平台系统及其仿真方法 | |
CN102314358A (zh) | 一种在云平台上以soa的方式部署常规应用的方法 | |
CN104580532A (zh) | 一种跨平台应用系统 | |
CN103646134A (zh) | 一种面向服务的网络化仿真系统动态生成方法 | |
CN105389153A (zh) | 一种通用集成展现技术在多系统集成中的应用方法 | |
CN102495730A (zh) | 一种动态可扩展的web界面的方法 | |
CN101907993A (zh) | 基于SpringDM的动态模型及其在RFID中间件持久层的应用 | |
CN103761388A (zh) | 一种基于hla通用化的异构仿真系统互联方法 | |
CN113177088B (zh) | 一种材料辐照损伤多尺度模拟大数据管理系统 | |
CN102999329B (zh) | 基于可扩展标记语言映射配置的活动目录接口开发方法 | |
CN113238731B (zh) | 一种Ebeit开发平台 | |
CN102929606A (zh) | 一种基于云计算的数据挖掘系统插件模型 | |
CN103870280A (zh) | 基于flex与jsp的网页无缝结合处理方法 | |
CN102868746A (zh) | 实现移动信息化的方法 | |
CN103473389A (zh) | 一种应用于hla分布式仿真技术的通用模型 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20110727 |