CN112732248A - 一种模块化软件开发方法、装置、电子设备及存储介质 - Google Patents

一种模块化软件开发方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN112732248A
CN112732248A CN202011613064.0A CN202011613064A CN112732248A CN 112732248 A CN112732248 A CN 112732248A CN 202011613064 A CN202011613064 A CN 202011613064A CN 112732248 A CN112732248 A CN 112732248A
Authority
CN
China
Prior art keywords
software development
module
software
function
name
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
Application number
CN202011613064.0A
Other languages
English (en)
Inventor
姜英豪
朱星
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Mucang Information Technology Co ltd
Original Assignee
Wuhan Mucang Information Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuhan Mucang Information Technology Co ltd filed Critical Wuhan Mucang Information Technology Co ltd
Priority to CN202011613064.0A priority Critical patent/CN112732248A/zh
Publication of CN112732248A publication Critical patent/CN112732248A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements analysis; Specification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

一种模块化软件开发方法、装置、电子设备及存储介质,所述方法包括步骤:获取软件开发需求;根据所述软件开发需求定义软件开发功能;根据所述软件开发功能确定所有待编写软件开发模块;遍历网络公开库中每一软件模块;判断所述待编写软件开发模块是否与所述软件模块相同;若是,将所述软件模块同步调用至软件开发程序中;若否,在所述软件开发程序中编写所述待编写软件开发模块。本申请可以减少软件开发、测试和沟通成本;修改软件开发需求只需要跟负责该模块的开发方沟通即可,降低沟通成本;便于维护,每个模块的代码、布局文件、资源文件可以随时从项目中通过配置去除;开发效率更高,单个模块可以独立运行,运行速度快。

Description

一种模块化软件开发方法、装置、电子设备及存储介质
技术领域
本发明属于软件开发技术领域,具体涉及一种模块化软件开发方法、装置、电子设备及存储介质。
背景技术
在软件开发过程中,一家公司可能会同时拥有多个项目,项目之间是互相独立的,但是有些模块功能是一样,比如登录,意见反馈,图片上传,隐私协议等等,所以在开发的时候可能会出现每个项目都各自开发一份一模一样的功能,浪费人力。
发明内容
鉴于上述问题,本发明提供克服上述问题或者至少部分地解决上述问题的一种模块化软件开发方法、装置、电子设备及存储介质。
为解决上述技术问题,本发明提供了一种模块化软件开发方法,所述方法包括步骤:
获取软件开发需求;
根据所述软件开发需求定义软件开发功能;
根据所述软件开发功能确定所有待编写软件开发模块;
遍历网络公开库中每一软件模块;
判断所述待编写软件开发模块是否与所述软件模块相同;
若是,将所述软件模块同步调用至软件开发程序中;
若否,在所述软件开发程序中编写所述待编写软件开发模块。
优选地,所述根据所述软件开发需求定义软件开发功能包括步骤:
分析每一所述软件开发需求;
使用标准化软件定义语言描述所述软件开发需求;
判断本地软件开发功能存储库中是否存储有相同的标准化软件定义语言;
若是,直接调用所述本地软件开发功能存储库中相应的所述软件开发功能;
若否,定义与所述标准化软件定义语言对应的所述软件开发功能。
优选地,在所述分析每一所述软件开发需求之前还包括步骤:
设置第一空置数据库;
获取预设数量的软件开发需求;
将所述软件开发需求存储至所述第一空置数据库中;
使用标准化软件定义语言描述每一所述软件开发需求;
在所述第一空置数据库中形成所述软件开发需求与对应所述标准化软件定义语言的映射;
得到所述本地软件开发功能存储库。
优选地,所述根据所述根据所述软件开发功能确定所有待编写软件开发模块包括步骤:
分析每一所述软件开发功能;
使用标准化软件开发语言确定所述软件开发功能的名称;
判断本地软件开发模块存储库中是否存储有相同的标准化软件开发语言;
若是,直接调用所述本地软件开发功能存储库中相同名称的所述软件开发模块;
若否,确定与所述标准化软件开发语言对应的所述软件开发模块的名称。
优选地,在所述分析每一所述软件开发功能之前还包括步骤:
设置第二空置数据库;
获取预设数量的软件开发功能;
将所述软件开发功能存储至所述第二空置数据库中;
使用标准化软件开发语言描述每一所述软件开发功能的名称;
在所述第二空置数据库中形成所述软件开发功能的名称与对应所述标准化软件开发语言的映射;
得到所述本地软件开发模块存储库。
优选地,所述在所述软件开发程序中编写所述待编写软件开发模块包括步骤:
获取每一所述待编写软件开发模块的名称;
获取本地软件开发模块存储库;
将每一所述待编写软件开发模块的名称与所述本地软件开发模块存储库中每一软件模块的名称对比;
判断二者是否相同;
若是,直接调用所述本地软件开发模块存储库中相同名称的所述软件模块至所述软件开发程序中;
若否,在所述软件开发程序中编写所述待编写软件开发模块。
优选地,在所述获取每一所述待编写软件开发模块的名称之前还包括步骤:
设置第三空置数据库;
获取预设数量的软件开发模块;
将所述软件开发模块存储至所述第三空置数据库中;
使用标准化软件命名语言命名每一所述软件开发模块的名称;
在所述第三空置数据库中形成所述软件开发模块的名称与对应所述软件开发模块的映射;
得到所述本地软件开发模块存储库。
本发明还提供了一种模块化软件开发装置,所述装置包括:
获取模块,用于获取软件开发需求;
定义模块,用于根据所述软件开发需求定义软件开发功能;
确定模块,根据所述软件开发功能确定所有待编写软件开发模块;
遍历模块,遍历网络公开库中每一软件模块;
判断模块,用于判断所述待编写软件开发模块是否与所述软件模块相同;
执行模块,用于根据所述判断模块的结果执行预设操作;
其中,当所述判断模块为是时,所述执行模块将所述软件模块同步调用至软件开发程序中;当所述判断模块为否时,所述执行模块在所述软件开发程序中编写所述待编写软件开发模块。
本发明还提供了一种电子设备,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述中任一所述的模块化软件开发方法。
本发明还提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时能够实现如上述中任一所述的模块化软件开发方法。
本发明实施例中的一个或多个技术方案,至少具有如下技术效果或优点:本申请提供的一种模块化软件开发方法、装置、电子设备及存储介质可以减少软件开发、测试和沟通成本;修改软件开发需求只需要跟负责该模块的开发方沟通即可,降低沟通成本;便于维护,每个模块的代码、布局文件、资源文件可以随时从项目中通过配置去除;开发效率更高,单个模块可以独立运行,运行速度快。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例提供的一种模块化软件开发方法的流程示意图;
图2是本发明实施例提供的一种模块化软件开发装置的示意图;
图3是本发明实施例提供的一种电子设备的示意图;
图4是本发明实施例提供的一种存储介质的示意图。
具体实施方式
下文将结合具体实施方式和实施例,具体阐述本发明,本发明的优点和各种效果将由此更加清楚地呈现。本领域技术人员应理解,这些具体实施方式和实施例是用于说明本发明,而非限制本发明。
在整个说明书中,除非另有特别说明,本文使用的术语应理解为如本领域中通常所使用的含义。因此,除非另有定义,本文使用的所有技术和科学术语具有与本发明所属领域技术人员的一般理解相同的含义。若存在矛盾,本说明书优先。
除非另有特别说明,本发明中用到的各种原材料、试剂、仪器和设备等,均可通过市场购买得到或者可通过现有方法制备得到。
如图1,在本申请实施例中,本发明提供了一种模块化软件开发方法,所述方法包括步骤:
S1:获取软件开发需求;
在本申请实施例中,软件需求方将软件开发需求发送给软件开发方,进而软件开发方可以获知具体的软件开发需求。比如,软件开发方可以通过软件方式获知软件需求方发送的软件开发需求。
S2:根据所述软件开发需求定义软件开发功能;
在本申请实施例中,所述根据所述软件开发需求定义软件开发功能包括步骤:
分析每一所述软件开发需求;
使用标准化软件定义语言描述所述软件开发需求;
判断本地软件开发功能存储库中是否存储有相同的标准化软件定义语言;
若是,直接调用所述本地软件开发功能存储库中相应的所述软件开发功能;
若否,定义与所述标准化软件定义语言对应的所述软件开发功能。
在本申请实施例中,当获知软件开发需求后,软件开发方可以使用标准化软件定义语言描述具体的软件开发需求,然后判断本地软件开发功能存储库中是否存储有相同的标准化软件定义语言,如果有,则直接调用所述本地软件开发功能存储库中相应的所述软件开发功能,如果没有,则定义与所述标准化软件定义语言对应的所述软件开发功能。比如,软件开发需求为“浮窗”,则相应的标准化软件定义语言为“在其他应用的表面悬浮一可移动的窗口”。此时,可以在本地软件开发功能存储库中搜索是否有“在其他应用的表面悬浮一可移动的窗口”这样的标准化软件定义语言,如果有,则直接调用本地软件开发功能存储库中“在其他应用的表面悬浮一可移动的窗口”对应的软件开发功能;如果没有,则自行定义软件开发功能。
在本申请实施例中,在所述分析每一所述软件开发需求之前还包括步骤:
设置第一空置数据库;
获取预设数量的软件开发需求;
将所述软件开发需求存储至所述第一空置数据库中;
使用标准化软件定义语言描述每一所述软件开发需求;
在所述第一空置数据库中形成所述软件开发需求与对应所述标准化软件定义语言的映射;
得到所述本地软件开发功能存储库。
在本申请实施例中,在所述分析每一所述软件开发需求之前需要构建一个本地软件开发功能存储库方便进行查询和调用操作。具体地,首先需要设置一个空置的数据库,然后在数据库中存储若干软件开发需求,并且使用标准化软件定义语言描述每一所述软件开发需求,并形成软件开发需求与对应标准化软件定义语言的映射,如此,本地软件开发功能存储库构建完成。
本申请提供的一种模块化软件开发方法通过判断本地软件开发功能存储库中是否存储有相同的标准化软件定义语言来决定是否直接调用软件开发功能,可以大大降低软件开发工序,提高软件开发速度,同时还可以提高对本地资源库的利用。
S3:根据所述软件开发功能确定所有待编写软件开发模块;
在本申请实施例中,所述根据所述根据所述软件开发功能确定所有待编写软件开发模块包括步骤:
分析每一所述软件开发功能;
使用标准化软件开发语言确定所述软件开发功能的名称;
判断本地软件开发模块存储库中是否存储有相同的标准化软件开发语言;
若是,直接调用所述本地软件开发功能存储库中相同名称的所述软件开发模块;
若否,确定与所述标准化软件开发语言对应的所述软件开发模块的名称。
在本申请实施例中,当获知软件开发功能后,软件开发方可以使用标准化软件开发语言确定具体的软件开发功能的名称,然后判断本地软件开发模块存储库中是否存储有相同的软件开发功能的名称,如果有,则直接调用所述本地软件开发功能存储库中相同名称的所述软件开发模块,如果没有,则确定与所述标准化软件开发语言对应的软件开发模块的名称。比如,软件开发功能为“在其他应用的表面搭建悬浮窗”,则相应的标准化软件开发语言确定的软件开发功能的名称为“搭建悬浮窗”。此时,可以在本地软件开发模块存储库中搜索是否有“搭建悬浮窗”这样的名称,如果有,则直接调用本地软件开发功能存储库中“搭建悬浮窗”对应的软件开发模块;如果没有,则自行确定软件开发模块的名称。
在本申请实施例中,在所述分析每一所述软件开发功能之前还包括步骤:
设置第二空置数据库;
获取预设数量的软件开发功能;
将所述软件开发功能存储至所述第二空置数据库中;
使用标准化软件开发语言描述每一所述软件开发功能的名称;
在所述第二空置数据库中形成所述软件开发功能的名称与对应所述标准化软件开发语言的映射;
得到所述本地软件开发模块存储库。
在本申请实施例中,在所述分析每一所述软件开发功能之前需要构建一个本地软件开发模块存储库方便进行查询和调用操作。具体地,首先需要设置一个空置的数据库,然后在数据库中存储若干软件开发功能,并且使用标准化软件开发语言描述每一所述软件开发功能的名称,并形成软件开发功能的名称与对应标准化软件开发语言的映射,如此,本地软件开发模块存储库构建完成。
本申请提供的一种模块化软件开发方法通过判断本地软件开发模块存储库中是否存储有相同的标准化软件开发语言的名称来决定是否直接调用软件开发模块,可以大大降低软件开发工序,提高软件开发速度,同时还可以提高对本地资源库的利用。
S4:遍历网络公开库中每一软件模块;
在本申请实施例中,网络公开库中存储有多个软件模块,此时需要对每一软件模块进行遍历。具体的,网络公开库可以为maven中心库。
S5:判断所述待编写软件开发模块是否与所述软件模块相同;
在本申请实施例中,对网络公开库中的软件模块和待编写软件开发模块进行比对,判断二者是否相同。具体地,可以通过判断二者名称是否相同,如果相同,则认为二者相同;反之,则不同。
S6:若是,将所述软件模块同步调用至软件开发程序中;
在本申请实施例中,当判断网络公开库中的软件模块和待编写软件开发模块相同时,则将所述软件模块同步调用至软件开发程序中。具体地,可以将此软件模块相关的所有资源都调用至软件开发程序中,也可以根据需要调用部分资源。
S7:若否,在所述软件开发程序中编写所述待编写软件开发模块。
在本申请实施例中,所述在所述软件开发程序中编写所述待编写软件开发模块包括步骤:
获取每一所述待编写软件开发模块的名称;
获取本地软件开发模块存储库;
将每一所述待编写软件开发模块的名称与所述本地软件开发模块存储库中每一软件模块的名称对比;
判断二者是否相同;
若是,直接调用所述本地软件开发模块存储库中相同名称的所述软件模块至所述软件开发程序中;
若否,在所述软件开发程序中编写所述待编写软件开发模块。
在本申请实施例中,当获知待编写软件开发模块的名称后,软件开发方可以在本地软件开发模块存储库中判断是否存储有相同名称的软件模块,如果有,则直接调用所述本地软件开发模块存储库中相同名称的软件模块,如果没有,则在所述软件开发程序中编写所述待编写软件开发模块。比如,待编写软件开发模块的名称为“悬浮窗”,此时,可以在本地软件开发模块存储库中搜索是否有“悬浮窗”这样的名称,如果有,则直接调用本地软件开发模块存储库中“悬浮窗”对应的软件模块;如果没有,则自行编写待编写软件开发模块。
在本申请实施例中,在所述获取每一所述待编写软件开发模块的名称之前还包括步骤:
设置第三空置数据库;
获取预设数量的软件开发模块;
将所述软件开发模块存储至所述第三空置数据库中;
使用标准化软件命名语言命名每一所述软件开发模块的名称;
在所述第三空置数据库中形成所述软件开发模块的名称与对应所述软件开发模块的映射;
得到所述本地软件开发模块存储库。
在本申请实施例中,在获取每一所述待编写软件开发模块的名称之前需要构建一个本地软件开发模块存储库方便进行查询和调用操作。具体地,首先需要设置一个空置的数据库,然后在数据库中存储若干软件开发模块,并且使用标准化软件命名语言命名每一软件开发模块,并形成软件开发模块的名称与对应软件开发模块的映射,如此,本地软件开发模块存储库构建完成。
本申请提供的一种模块化软件开发方法通过判断本地软件开发模块存储库中是否存储有相同的软件开发模块的名称来决定是否直接调用软件开发模块,可以大大降低软件开发工序,提高软件开发速度,同时还可以提高对本地资源库的利用。
如图2,在本申请实施例中,本发明还提供了一种模块化软件开发装置,所述装置包括:
获取模块10,用于获取软件开发需求;
定义模块20,用于根据所述软件开发需求定义软件开发功能;
确定模块30,根据所述软件开发功能确定所有待编写软件开发模块;
遍历模块40,遍历网络公开库中每一软件模块;
判断模块50,用于判断所述待编写软件开发模块是否与所述软件模块相同;
执行模块60,用于根据所述判断模块的结果执行预设操作;
其中,当所述判断模块50为是时,所述执行模块60将所述软件模块同步调用至软件开发程序中;当所述判断模块50为否时,所述执行模块60在所述软件开发程序中编写所述待编写软件开发模块。
本申请提供的一种模块化软件开发装置可以执行上述所述的一种模块化软件开发方法。
下面参考图3,其示出了适于用来实现本公开实施例的电子设备100的结构示意图,所述电子设备100能够实现如上述中任一所述的模块化软件开发方法。本公开实施例中的电子设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图3示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图3所示,电子设备100可以包括处理装置(例如中央处理器、图形处理器等)101,其可以根据存储在只读存储器(ROM)102中的程序或者从存储装置108加载到随机访问存储器(RAM)103中的程序而执行各种适当的动作和处理。在RAM 103中,还存储有电子设备100操作所需的各种程序和数据。处理装置101、ROM 102以及RAM 103通过总线104彼此相连。输入/输出(I/O)接口105也连接至总线104。
通常,以下系统可以连接至I/O接口105:包括例如触摸屏、触摸板、键盘、鼠标、图像传感器、麦克风、加速度计、陀螺仪等的输入装置106;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置107;包括例如磁带、硬盘等的存储装置108;以及通信装置1010。通信装置1010可以允许电子设备100与其他设备进行无线或有线通信以交换数据。虽然图中示出了具有各种装置的电子设备100,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置1010从网络上被下载和安装,或者从存储装置108被安装,或者从ROM 102被安装。在该计算机程序被处理装置101执行时,执行本公开实施例的方法中限定的上述功能。
下面参考图4,其示出了适于用来实现本公开实施例的计算机可读存储介质的结构示意图,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时能够实现如上述中任一所述的模块化软件开发方法。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的装置、系统或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行装置、系统或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行装置、系统或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:获取至少两个网际协议地址;向节点评价设备发送包括所述至少两个网际协议地址的节点评价请求,其中,所述节点评价设备从所述至少两个网际协议地址中,选取网际协议地址并返回;接收所述节点评价设备返回的网际协议地址;其中,所获取的网际协议地址指示内容分发网络中的边缘节点。
或者,上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:接收包括至少两个网际协议地址的节点评价请求;从所述至少两个网际协议地址中,选取网际协议地址;返回选取出的网际协议地址;其中,接收到的网际协议地址指示内容分发网络中的边缘节点。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、步骤Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本申请提供的一种模块化软件开发方法、装置、电子设备及存储介质可以减少软件开发、测试和沟通成本;修改软件开发需求只需要跟负责该模块的开发方沟通即可,降低沟通成本;便于维护,每个模块的代码、布局文件、资源文件可以随时从项目中通过配置去除;开发效率更高,单个模块可以独立运行,运行速度快。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
应当理解,本公开的各部分可以用硬件、软件、固件或它们的组合来实现。
最后,还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。本申请中的“第一”、“第二”可以理解为名词。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种模块化软件开发方法,其特征在于,所述方法包括步骤:
获取软件开发需求;
根据所述软件开发需求定义软件开发功能;
根据所述软件开发功能确定所有待编写软件开发模块;
遍历网络公开库中每一软件模块;
判断所述待编写软件开发模块是否与所述软件模块相同;
若是,将所述软件模块同步调用至软件开发程序中;
若否,在所述软件开发程序中编写所述待编写软件开发模块。
2.根据权利要求1所述的模块化软件开发方法,其特征在于,所述根据所述软件开发需求定义软件开发功能包括步骤:
分析每一所述软件开发需求;
使用标准化软件定义语言描述所述软件开发需求;
判断本地软件开发功能存储库中是否存储有相同的标准化软件定义语言;
若是,直接调用所述本地软件开发功能存储库中相应的所述软件开发功能;
若否,定义与所述标准化软件定义语言对应的所述软件开发功能。
3.根据权利要求2所述的模块化软件开发方法,其特征在于,在所述分析每一所述软件开发需求之前还包括步骤:
设置第一空置数据库;
获取预设数量的软件开发需求;
将所述软件开发需求存储至所述第一空置数据库中;
使用标准化软件定义语言描述每一所述软件开发需求;
在所述第一空置数据库中形成所述软件开发需求与对应所述标准化软件定义语言的映射;
得到所述本地软件开发功能存储库。
4.根据权利要求1所述的模块化软件开发方法,其特征在于,所述根据所述根据所述软件开发功能确定所有待编写软件开发模块包括步骤:
分析每一所述软件开发功能;
使用标准化软件开发语言确定所述软件开发功能的名称;
判断本地软件开发模块存储库中是否存储有相同的标准化软件开发语言;
若是,直接调用所述本地软件开发功能存储库中相同名称的所述软件开发模块;
若否,确定与所述标准化软件开发语言对应的所述软件开发模块的名称。
5.根据权利要求4所述的模块化软件开发方法,其特征在于,在所述分析每一所述软件开发功能之前还包括步骤:
设置第二空置数据库;
获取预设数量的软件开发功能;
将所述软件开发功能存储至所述第二空置数据库中;
使用标准化软件开发语言描述每一所述软件开发功能的名称;
在所述第二空置数据库中形成所述软件开发功能的名称与对应所述标准化软件开发语言的映射;
得到所述本地软件开发模块存储库。
6.根据权利要求1所述的模块化软件开发方法,其特征在于,所述在所述软件开发程序中编写所述待编写软件开发模块包括步骤:
获取每一所述待编写软件开发模块的名称;
获取本地软件开发模块存储库;
将每一所述待编写软件开发模块的名称与所述本地软件开发模块存储库中每一软件模块的名称对比;
判断二者是否相同;
若是,直接调用所述本地软件开发模块存储库中相同名称的所述软件模块至所述软件开发程序中;
若否,在所述软件开发程序中编写所述待编写软件开发模块。
7.根据权利要求6所述的模块化软件开发方法,其特征在于,在所述获取每一所述待编写软件开发模块的名称之前还包括步骤:
设置第三空置数据库;
获取预设数量的软件开发模块;
将所述软件开发模块存储至所述第三空置数据库中;
使用标准化软件命名语言命名每一所述软件开发模块的名称;
在所述第三空置数据库中形成所述软件开发模块的名称与对应所述软件开发模块的映射;
得到所述本地软件开发模块存储库。
8.一种模块化软件开发装置,其特征在于,所述装置包括:
获取模块,用于获取软件开发需求;
定义模块,用于根据所述软件开发需求定义软件开发功能;
确定模块,根据所述软件开发功能确定所有待编写软件开发模块;
遍历模块,遍历网络公开库中每一软件模块;
判断模块,用于判断所述待编写软件开发模块是否与所述软件模块相同;
执行模块,用于根据所述判断模块的结果执行预设操作;
其中,当所述判断模块为是时,所述执行模块将所述软件模块同步调用至软件开发程序中;当所述判断模块为否时,所述执行模块在所述软件开发程序中编写所述待编写软件开发模块。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-7中任一所述的模块化软件开发方法。
10.一种存储介质,所述存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时能够实现如权利要求1-7中任一所述的模块化软件开发方法。
CN202011613064.0A 2020-12-30 2020-12-30 一种模块化软件开发方法、装置、电子设备及存储介质 Pending CN112732248A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011613064.0A CN112732248A (zh) 2020-12-30 2020-12-30 一种模块化软件开发方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011613064.0A CN112732248A (zh) 2020-12-30 2020-12-30 一种模块化软件开发方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN112732248A true CN112732248A (zh) 2021-04-30

Family

ID=75611809

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011613064.0A Pending CN112732248A (zh) 2020-12-30 2020-12-30 一种模块化软件开发方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN112732248A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116185486A (zh) * 2023-04-27 2023-05-30 苏州清研精准汽车科技有限公司 Can模块配置方法、装置及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105354037A (zh) * 2015-11-30 2016-02-24 用友优普信息技术有限公司 模块化的软件开发方法及软件开发装置
WO2017131265A1 (ko) * 2016-01-29 2017-08-03 케이에스아이 주식회사 다중객체 영상분석 및 그 결과 제공을 위한 영상분석 시스템
CN107632823A (zh) * 2017-08-18 2018-01-26 深圳怡化电脑股份有限公司 一种软件开发方法及装置
CN109240670A (zh) * 2018-11-21 2019-01-18 北京锐安科技有限公司 模块化的软件开发方法、系统、设备及介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105354037A (zh) * 2015-11-30 2016-02-24 用友优普信息技术有限公司 模块化的软件开发方法及软件开发装置
WO2017131265A1 (ko) * 2016-01-29 2017-08-03 케이에스아이 주식회사 다중객체 영상분석 및 그 결과 제공을 위한 영상분석 시스템
CN107632823A (zh) * 2017-08-18 2018-01-26 深圳怡化电脑股份有限公司 一种软件开发方法及装置
CN109240670A (zh) * 2018-11-21 2019-01-18 北京锐安科技有限公司 模块化的软件开发方法、系统、设备及介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116185486A (zh) * 2023-04-27 2023-05-30 苏州清研精准汽车科技有限公司 Can模块配置方法、装置及系统

Similar Documents

Publication Publication Date Title
CN111475298B (zh) 任务处理方法、装置、设备及存储介质
CN112395188B (zh) 一种面向测试的软件项目开发方法、装置、电子设备及存储介质
CN111738316B (zh) 零样本学习的图像分类方法、装置及电子设备
CN111221572A (zh) 一种自动适配运行环境的方法、装置、介质和设备
CN112261176B (zh) 一种网络实际访问关系的获取方法及相关设备
CN111625291B (zh) 数据处理模型自动迭代方法、装置及电子设备
CN112732248A (zh) 一种模块化软件开发方法、装置、电子设备及存储介质
CN109408387B (zh) 页面测试方法及装置
CN113660699A (zh) 一种智能集群联网方法、装置及电子设备
CN112422648B (zh) 数据同步方法和系统
CN114611483A (zh) 核电dcs控制逻辑图和功能图关联自动升版的方法及装置
CN114090817A (zh) 一种人脸特征数据库动态构建方法、装置及存储介质
CN111538717B (zh) 数据处理的方法、装置、电子设备及计算机可读介质
CN111290812B (zh) 应用控件的显示方法、装置、终端及存储介质
CN110568976B (zh) 控制应用显示的方法、装置、设备、存储介质
CN110442403B (zh) 一种调用功能组件的方法、装置、电子设备及介质
CN113378670A (zh) 一种智慧工地施工方法、装置及电子设备
CN112416859B (zh) 一种用于iOS应用内的意见反馈方法及相关设备
CN111625326A (zh) 任务管线执行方法、装置及电子设备
CN111182062A (zh) 服务多活调用方法、系统及电子设备
CN113448550B (zh) 实现类的收集管理方法、装置、电子设备及计算机介质
CN110737494A (zh) 窗口排列方法、装置、终端及存储介质
CN112346728B (zh) 设备适配方法、装置、设备和计算机可读介质
CN112688863B (zh) 网关数据处理方法、装置及电子设备
CN110489341B (zh) 一种测试方法、装置、存储介质及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20210430

RJ01 Rejection of invention patent application after publication