本发明专利技术涉及一种软件复用方法及系统,所述方法包括以下步骤:A、采用.net反射技术将项目文件分解为文件信息、窗体信息及需要进行权限控制的控件信息;B、将分解得到的文件信息、窗体信息及控件信息通过文件服务程序和数据访问组件存储到系统数据库中;C、根据文件信息、窗体信息及控件信息定义系统的功能菜单,并将菜单与相应的文件和窗体关联;D、在菜单被点击时,根据与被点击的菜单对应的文件及窗体名称,从项目文件中反射构造出项目功能窗体,显示在子窗体中,完成功能调用。本发明专利技术的软件复用方法和系统使得实现不同项目开发时,便于在不同的业务系统中进行复用,并使业务系统的实现更具备扩展性和可维护性。
【技术实现步骤摘要】
本专利技术涉及计算机
,尤其涉及可组装软件的系统框架。
技术介绍
随着软件系统的日益增多,很多企业在软件的可复用性上做了很多的研究。 一般 都采用源代码级别的重用方式,来复用业务系统中与具体业务无关的部分。比如对数据访 问的处理、系统日志、系统异常、系统主界面及登录、权限等,即当有新的项目开发时,将原 有类似的项目源码复制到新的项目中再基于此代码进行新项目的开发。 现有方案在可复用的方式上,采用源代码级别的复用,模块与模块之间关系都是 紧耦合,即当一个模块需要调用另一个模块的功能方法时,必须将其引用到自身所在的工 程中。 在项目研发过程中,业务需求的变化会导致程序的修改,采用现有的复用方式,当 另一个模块有变化时,势必导致此模块需要重新编译,往往容易出现触一发而动全身的 状况。 且软件在发布后,在运行维护阶段时,如果改动了某个文件,势必要将其他关联了 此文件的文件同时更新发布,给正式系统带来较高的风险。导致发布的可复用版本比较难 管理,且随着项目开发的增多,每个项目所使用的框架版本可能都不一致,后期维护比较麻 烦。
技术实现思路
本专利技术要解决的技术问题在于,针对现有技术的上述缺陷,提供一种可组装软件 的系统框架,使得实现不同项目开发时,与具体业务无关的部分能进行文件级别的重用,并 能支持系统分部开发。 本专利技术解决其技术问题所采用的技术方案是 构造一种软件复用方法,其包括以下步骤 A、采用.net反射技术将项目文件分解为文件信息、窗体信息及需要进行权限控 制的控件信息; B、将分解得到的文件信息、窗体信息及控件信息通过文件服务程序和数据访问组 件存储到系统数据库中; C、根据所述文件信息、窗体信息及控件信息定义系统的功能菜单,并将菜单与相 应的文件和窗体关联; D、在所述菜单被点击时,根据与被点击的菜单对应的文件及窗体名称,从项目文 件中反射构造出项目功能窗体,显示在子窗体中,完成功能调用。 本专利技术所述的软件复用方法,其中,所述步骤A包括 Al、读取项目文件; A2、判断所读取的项目文件是否为.net程序集文件; A3、在所述项目文件为.net程序集文件时,判断所述项目文件是否拥有窗体类, 若有,则循环所有窗体类,反射构造窗体类,记录控件信息、窗体信息和文件信息。 本专利技术所述的软件复用方法,其中,所述步骤A3包括 A31、反射构造窗体类时,判断所依赖文件是否完善,若是,则循环窗体类的控件, 判断是否为容器控件,若是,则递归查找容器控件的子控件,再判断是否有权限控件,若是, 则记录控件信息。 本专利技术所述的软件复用方法,其中,所述步骤A3还包括 A32、记录控件信息后,判断窗体控件循环是否完成,若是,则再判断窗体循环是否 完成,若完成,则记录文件信息、窗体信息及控件信息的关联信息,若没有完成,继续循环所 有窗体类。 本专利技术所述的软件复用方法,其中,所述步骤A3中,在所述项目文件不是.net程 序集文件时,提示返回信息。 本专利技术所述的软件复用方法,其中,所述步骤A31中,在所述依赖文件不完善时, 提示返回信息。 本专利技术所述的软件复用方法,其中,所述步骤A31中,若所循环的窗体类的控件不 是容器控件,则直接判断是否为有权限控件,若是,则记录控件信息。 本专利技术所述的软件复用方法,其中,所述步骤D包括 Dl、在所述菜单被点击时,根据与被点击的菜单对应的文件及窗体名称,查找文 件,如果所查找的文件存在,则从项目文件中反射构造出项目功能窗体,显示在子窗体中, 完成功能调用,若查找的文件不存在,则提示返回信息。 本专利技术还提供了一种软件复用系统,其包括项目文件分解模块、信息存储模块、功 能菜单生成模块;其中, 所述项目文件分解模块,用于采用.net反射技术将项目文件分解为文件信息、窗 体信息及需要进行权限控制的控件信息; 所述信息存储模块,用于将分解得到的文件信息、窗体信息及控件信息通过文件 服务程序和数据访问组件存储到系统数据库中; 所述功能菜单生成模块,用于根据所述文件信息、窗体信息及控件信息定义系统 的功能菜单,并将菜单与相应的文件和窗体关联,使所述菜单在被点击时,根据与被点击的 菜单对应的文件及窗体名称,从项目文件中反射构造出项目功能窗体,显示在子窗体中,完 成功能调用。 本专利技术的软件复用方法和系统将功能模块与模块之间耦合降低,使得实现不同项 目开发时,与具体业务无关的部分能进行文件级别的重用,并能支持系统分部开发,最后一 起进行组装功能,便于在不同的业务系统中进行复用,并使业务系统的实现更具备扩展性 和可维护性。附图说明 下面将结合附图及实施例对本专利技术作进一步说明,附图中 图1是本专利技术实施例的软件复用方法中文件分解部分大致流程图; 图2是本专利技术实施例的软件复用方法中文件分解部分详细流程 图3是本专利技术实施例的软件复用方法中功能调用部分大致流程图; 图4是本专利技术实施例的软件复用方法中功能调用部分详细流程图。具体实施例方式下面结合图示,对本专利技术的优选实施例作详细介绍。 本专利技术较佳实施例的软件复用方法流程图如图1-4所示,其包括以下步骤 S100、采用.net反射技术将项目文件分解为文件信息、窗体信息及需要进行权限 控制的控件信息,如图1和图3所示,具体包括 S110、读取项目文件; S120、判断所读取的项目文件是否为.net程序集文件; S130、在项目文件为.net程序集文件时,判断项目文件是否拥有窗体类,若有,则 循环所有窗体类,反射构造窗体类,记录控件信息、窗体信息和文件信息;并在项目文件不 是.net程序集文件时,提示返回信息。 步骤SI30具体包括 S131、反射构造窗体类时,判断所依赖文件是否完善,若是,则循环窗体类的控件,判断是否为容器控件,若是,则递归查找容器控件的子控件; 再判断是否有权限控件,若是,则记录控件信息; 在所依赖文件不完善时,提示返回信息; 若所循环的窗体类的控件不是容器控件,则直接判断是否为有权限控件,若是,则 记录控件信息。 S132、记录控件信息后,判断窗体控件循环是否完成,若是,则再判断窗体循环是 否完成,若完成,则记录文件信息、窗体信息及控件信息的关联信息,若没有完成,继续循环 所有窗体类。 S200、将分解得到的文件信息、窗体信息及控件信息通过文件服务程序和数据访 问组件存储到系统的数据库中; S300、根据文件信息、窗体信息及控件信息定义系统的功能菜单,并将菜单与相应 的文件和窗体关联,如图2所示;如在功能菜单中可包括功能名称销售管理、生产管理、采购管理等等。 S400、在菜单被点击时,根据与被点击的菜单对应的文件及窗体名称,查找文件, 如果所查找的文件存在,则从项目文件中反射构造出项目功能窗体,显示在子窗体中,完成 功能调用,若查找的文件不存在,则提示返回信息。 具体是,如图4所示,根据控件信息、窗体信息定义功能,保存功能与窗体、控件的 关联关系。系统功能框架定义好后,使用时,系统进行初始化,取出已授权功能菜单信息,并 加载显示。可根据需要点击菜单,选择要复用的功能。系统获取当前被点击的菜单信息,获 取菜单关联的文件窗体信息,查找文件。如果所需要查找的文件不存在,则提示返回信息, 如果存在,则从文件中反射窗体类,并显示窗体。 本文档来自技高网...
【技术保护点】
一种软件复用方法,其特征在于,包括以下步骤:A、采用.net反射技术将项目文件分解为文件信息、窗体信息及需要进行权限控制的控件信息;B、将分解得到的文件信息、窗体信息及控件信息通过文件服务程序和数据访问组件存储到系统数据库中;C、根据所述文件信息、窗体信息及控件信息定义系统的功能菜单,并将菜单与相应的文件和窗体关联;D、在所述菜单被点击时,根据与被点击的菜单对应的文件及窗体名称,从项目文件中反射构造出项目功能窗体,显示在子窗体中,完成功能调用。
【技术特征摘要】
一种软件复用方法,其特征在于,包括以下步骤A、采用.net反射技术将项目文件分解为文件信息、窗体信息及需要进行权限控制的控件信息;B、将分解得到的文件信息、窗体信息及控件信息通过文件服务程序和数据访问组件存储到系统数据库中;C、根据所述文件信息、窗体信息及控件信息定义系统的功能菜单,并将菜单与相应的文件和窗体关联;D、在所述菜单被点击时,根据与被点击的菜单对应的文件及窗体名称,从项目文件中反射构造出项目功能窗体,显示在子窗体中,完成功能调用。2. 根据权利要求1所述的软件复用方法,其特征在于,所述步骤A包括 Al、读取项目文件;A2、判断所读取的项目文件是否为.net程序集文件;A3、在所述项目文件为.net程序集文件时,判断所述项目文件是否拥有窗体类,若有,则循环所有窗体类,反射构造窗体类,记录控件信息、窗体信息和文件信息。3. 根据权利要求2所述的软件复用方法,其特征在于,所述步骤A3包括A31、反射构造窗体类时,判断所依赖文件是否完善,若是,则循环窗体类的控件,判断 是否为容器控件,若是,则递归查找容器控件的子控件,再判断是否有权限控件,若是,则记 录控件信息。4. 根据权利要求3所述的软件复用方法,其特征在于,所述步骤A3还包括 A32、记录控件信息后,判断窗体控件循环是否完成,若是,则再判断窗体循环是否完成,若完成,则记录文件信息、窗体信息及控件信息的关联信息,若没有完成,继续循环所有 窗体类。5....
【专利技术属性】
技术研发人员:印军,
申请(专利权)人:深圳联友科技有限公司,
类型:发明
国别省市:94[中国|深圳]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。