一种软件设计方法、系统及电子设备和存储介质技术方案

技术编号:26169914 阅读:23 留言:0更新日期:2020-10-31 13:35
本申请公开了一种软件设计方法、系统及电子设备和存储介质,该方法包括:根据实际软件设计需求,确定当前软件所需的目标功能模块;在预设软件配置文件中查找与目标功能模块匹配的层定义,预设软件配置文件包括预先定义的按照执行顺序排列的所有分层功能模块;根据匹配结果,对未能匹配成功的层定义进行删除,得到符合当前软件设计需求的更新后软件配置文件;基于更新后软件配置文件自动编译生成用于实现所述目标功能模块的功能代码,完成软件设计。本申请采用预设软件配置文件定义按照执行顺序排列的所有分层功能模块,在软件设计时可根据不同需求灵活裁剪功能模块,无需用户关注数据处理过程,也无需阅读修改代码,降低了软件开发和维护成本。

【技术实现步骤摘要】
一种软件设计方法、系统及电子设备和存储介质
本申请涉及软件设计
,更具体地说,涉及一种软件设计方法、系统及一种电子设备和一种计算机可读存储介质。
技术介绍
在产品级软件系统设计以及很多的协议规划时,为了结构清晰,降低复杂度和耦合性,常常选择分层设计。在存储设备系统设计时也是如此,例如产品级存储设备在运行时,首先接收来自服务器请求访问,存储设备接收和理解服务器请求,然后存储设备考虑当前是否为了支持虚拟化而划分了域,如果存储设备设计了控制器冗余和负载均衡,存储设备要判断此服务器请求是否转交到其他控制器去处理,对于服务器读写数据,接下来存储设备需要考虑是否使用缓存,依次考虑写入逻辑卷、再到存储池、RAID、写物理磁盘的软件模块,最后写入物理盘,在描述的这个I/O路径上各层之间还有一些高级功能需要判断,例如远程备份、镜像卷、转发到其他控制器上挂载的物理磁盘。这么多层次的软件功能模块也不是所有产品都必须具备,对于企业来说一般会开发一系列不同型号的产品,有些产品仅用到上边描述的其中一部分的分层模块功能,如果每种型号的产品都开发一套独有软件系统并把它们分别维护起来则成本是非常高的,通常情况企业会采取维护一套软件,在特定型号产品使用时就根据需要裁剪出特定需求的软件系统。传统技术实现软件设计裁剪时,通常采用以下方案:第一种是在代码中定义一个产品宏,每层软件模块的入口和出口都根据产品宏来判断本软件模块在此产品中是否需要,出口处根据产品宏来判断需要把数据交给哪一层。这种方式中,产品宏遍布在多处代码中,不仅影响维护人员阅读代码,而且当增加新的产品型号时,需要多处查找添加产品宏的位置,容易遗漏和出错,软件开发成本高。第二种是在代码中增加对产品型号的判断,运行时判断数据递交的软件模块层次。然而,这种方式判断非常多,每次数据传递都需要经过判断过程,同样影响了系统性能。因此,如何解决上述问题是本领域技术人员需要重点关注的。
技术实现思路
本申请的目的在于提供一种软件设计方法、系统及一种电子设备和一种计算机可读存储介质,降低了软件开发和维护成本。为实现上述目的,本申请提供了一种软件设计方法,包括:根据实际软件设计需求,确定当前软件所需的目标功能模块;在预设软件配置文件中查找与所述目标功能模块匹配的层定义,所述预设软件配置文件包括预先定义的按照执行顺序排列的所有分层功能模块;根据匹配结果,对未能匹配成功的层定义进行删除,得到符合当前软件设计需求的更新后软件配置文件;基于所述更新后软件配置文件,自动编译生成用于实现所述目标功能模块的功能代码,完成软件设计。可选的,所述在预设软件配置文件中查找与所述目标功能模块匹配的层定义,包括:获取所述目标功能模块的标识信息;在所述预设软件配置文件中,根据所述标识信息查找与所述目标功能模块匹配的层定义;为未能匹配成功的层定义添加标记信息。可选的,所述根据匹配结果,对未能匹配成功的层定义进行删除,包括:根据所述标记信息自动删除所述预设软件配置文件中未能匹配成功的层定义;或,通过可视化界面接收用户终端下发的用于删除层定义的操作指令,根据所述操作指令对未能匹配成功的层定义进行删除。可选的,所述基于所述更新后软件配置文件,自动编译生成用于实现所述目标功能模块的功能代码,包括:获取预先按照模块执行顺序定义的所有分层功能模块调用关系接口的层次定义文件;结合所述更新后软件配置文件和所述层次定义文件,自动确定所有所述目标功能模块之间的目标层次关系;根据所述目标层次关系生成接口调用代码,所述接口调用代码用于描述各层功能模块出口调用下层功能模块入口的过程;结合所述接口调用代码和预设功能模块代码库,自动编译生成用于实现所述目标功能模块的功能代码。可选的,所述根据匹配结果,对未能匹配成功的层定义进行删除,得到符合当前软件设计需求的更新后软件配置文件之后,还包括:接收根据实际软件设计需求下发的新增层定义,将所述新增层定义添加至所述更新后软件配置文件的指定位置。为实现上述目的,本申请提供了一种软件设计系统,包括:模块确定模块,用于根据实际软件设计需求,确定当前软件所需的目标功能模块;定义查找模块,用于在预设软件配置文件中查找与所述目标功能模块匹配的层定义,所述预设软件配置文件包括预先定义的按照执行顺序排列的所有分层功能模块;定义删除模块,用于根据匹配结果,对未能匹配成功的层定义进行删除,得到符合当前软件设计需求的更新后软件配置文件;代码编译模块,用于基于所述更新后软件配置文件,自动编译生成用于实现所述目标功能模块的功能代码,完成软件设计。可选的,所述定义查找模块,包括:获取单元,用于获取所述目标功能模块的标识信息;查找单元,用于在所述预设软件配置文件中,根据所述标识信息查找与所述目标功能模块匹配的层定义;标记单元,用于为未能匹配成功的层定义添加标记信息。可选的,所述定义删除模块,包括:第一删除单元,用于根据所述标记信息自动删除所述预设软件配置文件中未能匹配成功的层定义;或,第二删除单元,用于通过可视化界面接收用户终端下发的用于删除层定义的操作指令,根据所述操作指令对未能匹配成功的层定义进行删除。为实现上述目的,本申请提供了一种电子设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现前述公开的任一种软件设计方法的步骤。为实现上述目的,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现前述公开的任一种软件设计方法的步骤。通过以上方案可知,本申请提供的一种软件设计方法,包括:根据实际软件设计需求,确定当前软件所需的目标功能模块;在预设软件配置文件中查找与所述目标功能模块匹配的层定义,所述预设软件配置文件包括预先定义的按照执行顺序排列的所有分层功能模块;根据匹配结果,对未能匹配成功的层定义进行删除,得到符合当前软件设计需求的更新后软件配置文件;基于所述更新后软件配置文件,自动编译生成用于实现所述目标功能模块的功能代码,完成软件设计。由上可知,本申请采用预设软件配置文件预先定义按照执行顺序排列的所有分层功能模块,在软件设计时,可根据实际需求在预设软件配置文件中查找与所需功能模块对应的层定义,未能匹配成功的层定义对应的模块即为本次设计软件所不需要的分层模块,可将该层定义删除,得到的更新后软件配置文件即为符合当前设计需求的配置文件,可以根据不同的产品需求灵活裁剪功能模块,无需用户关注数据的处理过程,也无需用户阅读和修改代码,降低了软件开发和维护成本,且避免了对系统性能的影响。本申请还公开了一种软件设计系统及一种电子设备和一种计算机可读存储介质,同样能实现上述技术效果。应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。附图说明...

【技术保护点】
1.一种软件设计方法,其特征在于,包括:/n根据实际软件设计需求,确定当前软件所需的目标功能模块;/n在预设软件配置文件中查找与所述目标功能模块匹配的层定义,所述预设软件配置文件包括预先定义的按照执行顺序排列的所有分层功能模块;/n根据匹配结果,对未能匹配成功的层定义进行删除,得到符合当前软件设计需求的更新后软件配置文件;/n基于所述更新后软件配置文件,自动编译生成用于实现所述目标功能模块的功能代码,完成软件设计。/n

【技术特征摘要】
1.一种软件设计方法,其特征在于,包括:
根据实际软件设计需求,确定当前软件所需的目标功能模块;
在预设软件配置文件中查找与所述目标功能模块匹配的层定义,所述预设软件配置文件包括预先定义的按照执行顺序排列的所有分层功能模块;
根据匹配结果,对未能匹配成功的层定义进行删除,得到符合当前软件设计需求的更新后软件配置文件;
基于所述更新后软件配置文件,自动编译生成用于实现所述目标功能模块的功能代码,完成软件设计。


2.根据权利要求1所述的软件设计方法,其特征在于,所述在预设软件配置文件中查找与所述目标功能模块匹配的层定义,包括:
获取所述目标功能模块的标识信息;
在所述预设软件配置文件中,根据所述标识信息查找与所述目标功能模块匹配的层定义;
为未能匹配成功的层定义添加标记信息。


3.根据权利要求2所述的软件设计方法,其特征在于,所述根据匹配结果,对未能匹配成功的层定义进行删除,包括:
根据所述标记信息自动删除所述预设软件配置文件中未能匹配成功的层定义;
或,通过可视化界面接收用户终端下发的用于删除层定义的操作指令,根据所述操作指令对未能匹配成功的层定义进行删除。


4.根据权利要求1所述的软件设计方法,其特征在于,所述基于所述更新后软件配置文件,自动编译生成用于实现所述目标功能模块的功能代码,包括:
获取预先按照模块执行顺序定义的所有分层功能模块调用关系接口的层次定义文件;
结合所述更新后软件配置文件和所述层次定义文件,自动确定所有所述目标功能模块之间的目标层次关系;
根据所述目标层次关系生成接口调用代码,所述接口调用代码用于描述各层功能模块出口调用下层功能模块入口的过程;
结合所述接口调用代码和预设功能模块代码库,自动编译生成用于实现所述目标功能模块的功能代码。


5.根据权利要求1至4任一项所述的软件设计方法,其特征在于,所述根据匹配结果,对未...

【专利技术属性】
技术研发人员:李美欣
申请(专利权)人:济南浪潮数据技术有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1