一种it系统中管理软件模块的方法和装置的制作方法

文档序号:6582503阅读:183来源:国知局
专利名称:一种it系统中管理软件模块的方法和装置的制作方法
技术领域
本发明涉及IT(信息技术)系统技术领域,尤其涉及一种IT系统中管理软件模块 的方法和装置。
背景技术
随着信息技术的迅速发展,用户可根据IT系统的架构体系和业务特点,在项目实 施过程中开发出一些可复用的软件模块。现有技术中一直都依靠人工对可复用的软件模 块之间的依赖关系进行控制与管理,随着IT系统的延伸和系统中软件模块的增多,单依靠 人工理清一个项目中各软件模块之间的相互依赖关系,对管理人员来说是件十分困难的事 情,更谈不上精确控制与管理各软件模块之间的相互依赖关系。 由于人工难以对软件模块之间的依赖关系进行精确的控制和规范,使得软件模块 之间易出现环状依赖关系(例如,一个项目共有A、B、C三个软件模块,它们之间的关系是 A依赖B, B依赖C, C又依赖A),这样会导致项目中的软件模块无法被单独提取出来,或者能 提取但会连带出若干不相关的软件模块,从而导致该软件模块的复用度不高,造成开发资 源的严重浪费。 此外,没有对软件模块之间的依赖关系进行严格管理还有可能使得软件模块没有 按照该软件模块与其他软件模块之间的依赖关系进行访问,这样会导致软件模块之间的错 误调用,造成被访问的软件模块资源的极大浪费。 由于现有技术中存在的上述缺点,将会给整个项目实施带来高成本、低效率的后 果。

发明内容
本发明要解决的技术问题是提供一种IT系统中管理软件模块的方法和装置,可 实现对软件模块之间的依赖关系的精确控制和管理从而提高项目实施的效率,降低开发成 本。
为解决上述技术问题,本发明提供了一种IT系统中管理软件模块的装置,包括 配置文件读取模块,用于从软件模块的配置文件中读取该软件模块的访问信息; 访问规则生成模块,用于根据所述访问信息生成该软件模块的访问规则; 控制管理模块,用于根据生成的所述软件模块的访问规则和存储模块存储的其他
软件模块的访问规则对软件模块之间的依赖关系进行管理。
相应地,本发明还提供了一种IT系统中管理软件模块的方法,包括 从软件模块的配置文件中读取该软件模块的访问信息; 根据所述访问信息生成该软件模块的访问规则; 根据生成的所述软件模块的访问规则和存储模块存储的其他所述软件模块的访 问规则对软件模块之间的依赖关系进行管理。
本发明具有如下有益效果通过依据生成的软件模块的访问规则对软件模块之间的依赖关系进行管理,使得项目实施过程中可正确复用可供复用的软件模块,从而可提高 项目实施的效率,节省软件资源,降低开发成本,并形成项目资源信息共享。


图1是本发明的IT系统中管理软件模块的装置的第一实施例的结构示意图;
图2是图1中控制管理模块的结构示意图; 图3是本发明的IT系统中管理软件模块的装置的第二实施例的结构示意图;
图4是Eclipse环境中存储软件模块访问规则的数据结构示意图;
图5是本发明的IT系统中管理软件模块的方法的第一实施例的流程示意图;
图6是图5中步骤S503的流程示意图; 图7是本发明的IT系统中管理软件模块的方法的第二实施例的流程示意图。
具体实施例方式
下面结合附图对本发明的实施方式作进一步的描述。 图1是本发明的IT系统中管理软件模块的装置的第一实施例的结构示意图。参 考图l,所述管理软件模块的装置1包括配置文件读取模块10、访问规则生成模块20和控 制管理模块30。下面对各模块进行详细描述。 配置文件读取模块10,用于从软件模块的配置文件中读取该软件模块的访问信息。 具体地,配置文件读取模块10可根据软件模块的名称或者软件模块的其他标识 信息获取到该软件模块的配置文件,然后从该软件模块的配置文件中读取软件模块的访问 信息。其中,软件模块的访问信息可包括本软件模块访问其他软件模块的信息和本软件 模块可供其他软件模块访问的信息。所述本软件模块供其他软件模块访问的信息可包括 本软件模块所属项目的名称(例如,sup)、本软件模块的名称(例如,Test)、本软件模块内 部的程序文件名称(例如,A)、软件模块的版本号(例如,l)。对于本软件模块的部分程序 功能可供其他软件模块访问而言,访问信息可通过与该部分程序对应的程序文件全称包含 上述名称信息来表示,例如,程序文件全称表示为cn. ccb. sup. Testl. A,其中,cn. ccb表示 单位名称,这样,根据该程序文件全称即可知sup项目中的Testl模块中的A程序可供其他 软件模块访问。对于本软件模块的全部内容可供其他软件模块访问而言,访问信息可通过 本软件模块的全称包含上述名称信息来表示,例如,本软件模块的全称表示为cn. ccb. sup. Testl。 相应地,本软件模块访问其他软件模块的信息可包括所需访问的项目名称、所需 访问的软件模块的名称、所需访问软件模块的版本号、所需访问的软件模块内部的程序文 件名称。 需要说明的是,在本软件模块供其他软件模块访问的信息中,本软件模块所属项 目的名称、本软件模块内部的程序文件名称、本软件模块的版本号等信息可根据需要设置 并不是必要包含的;同样,在本软件模块访问其他软件模块的信息中,软件模块所需访问的 项目名称、、所需访问的软件模块的版本号、以及所需访问的软件模块内部的程序文件名称 等信息也可根据需要设置,并不是必须包含的。
访问规则生成模块20,用于根据所述读取的软件模块的访问信息生成所述软件模 块的访问规则。 在本发明实施例中,配置文件读取模块10在读取软件模块的访问信息后,将读取 的访问信息发送给访问规则生成模块20,或者访问规则生成模块20从配置文件读取模块 10获取读取的访问信息。访问规则生成模块20根据所述读取的软件模块的访问信息生成 所述软件模块的访问规则具体为将读取的软件模块的访问信息解析成计算机能识别的访 问规则。 控制管理模块30,用于根据所述软件模块的访问规则以及存储模块存储的其他软
件模块的访问规则对软件模块之间的依赖关系进行管理。其中,控制管理模块30可将该生
成的软件模块的访问规则存储到计算机内存、文件或数据库等存储模块中。本发明实施例
中,软件模块之间的依赖关系是指软件模块之间的访问关系或者调用关系。 图2是图1中控制管理模块的结构示意图。参考图2,控制管理模块30包括检
查模块301、执行模块303。 检查模块301,用于根据生成的软件模块的访问规则和存储模块存储的其他软件 模块的访问规则对需管理的软件模块之间的依赖关系进行检查,所述检查包括检查需管理 的软件模块之间是否按照存储模块存储的软件模块的访问规则进行调用和/或检查需管 理的软件模块之间是否构成环状依赖关系。 在本发明实施方式中,检查模块301可利用事件监听机制并根据生成的软件模块 的访问规则以及存储模块中存储的软件模块的访问规则对软件模块之间的依赖关系进行 检查。其中,事件监听机制是现有的程序设计的一种模式。 可选地,控制管理模块30还可包括存储管理模块和属性设置模块。其中,所述存 储管理模块用于在对软件模块之间的依赖关系进行管理之前将生成的所述软件模块的访
问规则存储到存储模块;所述属性设置模块用于根据生成的软件模块的访问规则设置该软 件模块的属性以共享该软件模块的内容。其中,属性设置模块可在软件模块开发时设置该 软件模块的属性,也可以在软件模块开发完成后设置软件模块的属性。 具体地,所述检查模块301对软件模块之间的依赖关系进行的检查可包括以下三 种方式 第一种方式,检查需管理的软件模块之间是否按照存储模块存储的软件模块的访 问规则进行调用和访问。例如,在对组成一个项目的程序编译开始前会检查各软件模块的 调用是否正确,其中包括检查构成一个软件模块的程序代码是否按照该软件模块的访问规 则进行调用和访问。 第二种方式,检查需管理的软件模块之间是否构成环状依赖关系。
可采用对各软件模块的访问规则进行递归检查的方法检查软件模块之间是否构 成"环状"依赖关系。例如,软件模块A需要访问软件模块B的第一部分程序,则在软件模 块A的配置文件中写入访问软件模块B的第一部分程序的信息(当然软件模块B的配置文 件中也存储有第一部分程序可供其他软件模块访问的信息),那么对于软件模块A,会生成 访问软件模块B的第一部分程序的访问规则a ;如果软件模块B的供软件模块A调用的第 一部分程序需要访问软件模块C的第二部分程序,则在软件模块B的配置文件中写入访问 软件模块C的第二部分的信息,那么对于软件模块B,会生成访问软件模块C的第二部分程
6序的访问规则b ;如果软件模块C的供软件模块B调用的第二部分程序还需要访问其他软 件模块,则在软件模块C的配置文件中写入访问其他软件模块的信息,那么对于软件模块C 会生成访问其他软件模块的访问规则c。将软件模块A的访问规则a、软件模块B的访问规 则b和软件模块C的访问规则c分别存储在存储模块中,检查时可先根据访问规则a和访 问规则b判断软件模块A和软件模块B是否构成环状依赖关系,如果没有构成环状依赖关 系依次检查软件模块B和C,软件模块C和A,以及软件模块A、 B、 C之间是否构成环状依赖 关系。 第三种方式,检查需管理的软件模块之间是否按照存储模块存储的软件模块的访 问规则进行调用和访问并且检查需管理的软件模块之间是否构成环状依赖关系。检查软件 模块之间是否按照存储模块存储的软件模块的访问规则进行调用和访问以及检查软件模 块之间是否构成环状依赖关系分别参见第一种方式和第二种方式的具体描述,此处不再赘 述。 执行模块303,用于当所述检查模块301检查出需管理的软件模块之间按照所述 存储的软件模块的访问规则进行调用和/或所述需管理的软件模块之间没有构成环状依 赖关系时,指示IT系统对所述需管理的软件模块进行下一步操作,否则,所述检查模块301 发送提示开发人员的信息给显示模块并指示IT系统不对所述需管理的软件模块进行下一 步操作。 下面以开发和编译两个阶段为例对控制管理模块30根据软件模块的访问规则对 软件模块之间的依赖关系的管理进行描述。 例如,对于开发阶段,开发软件模块A时需要用到现有的软件模块B的某部分程 序,则需要软件模块B共享该部分程序,以使该部分程序代码可供其他软件模块调用,从而 使得开发人员在进行软件模块开发时可知软件模块B可供调用。 具体地,如果开发人员A正在开发软件模块A,而开发人员B正在开发软件模块B, 同时开发人员C已经完成软件模块C、D的开发工作。软件模块C进行了属性设置使得可共 享软件模块的部分内容,这时如果软件模块A需要使用软件模块C中的部分功能,开发人员 A可以通过服务接口获知软件模块C这部分功能,从而可以直接获取软件模块C的该部分功 能对应的程序代码,而后软件模块A再与软件模块C建立依赖,并声明所要使用软件模块C 的部分功能。如果软件模块A需要使用软件模块C中的全部内容,也可将软件模块C的属 性设置成全部共享。在本发明实施例中,软件模块C的属性的设置可以是开发人员通过开 发工具的操作界面根据需要设置,也可以是开发人员在软件模块C新创建的时候设置,还 可以是属性设置模块根据生成的该软件模块的访问规则设置。 在开发阶段,检查模块301,用于检查需管理的软件模块之间是否按照存储模块存 储的软件模块的访问规则进行调用。当所述检查模块301检查出所述软件模块之间按照 存储的访问规则调用时,执行模块303指示IT系统对需管理的软件模块进行下一步操作, 当所述检查模块301检查出所述软件模块之间没有按照存储的访问规则调用时,执行模块 303发送提示信息给显示模块并指示IT系统不对所述需管理的软件模块进行下一步操作。
对于编译阶段,所述检查模块301,用于根据存储模块存储的软件模块的访问规则 对需管理的软件模块之间的依赖关系进行检查,所述检查包括检查需管理的软件模块之间 是否按照存储模块存储的软件模块的访问规则进行调用和/或检查需管理的软件模块之间是否构成环状依赖关系。 所述执行模块303,用于当所述检查模块301检查出需管理的软件模块之间按照 所述存储的软件模块的访问规则进行调用和/或所述需管理的软件模块之间没有构成环 状依赖关系时,指示IT系统对所述需管理的软件模块进行下一步操作,例如,对需管理的 软件模块进行编译操作;否则,所述执行模块303发送提示开发人员的信息给显示模块并 指示IT系统不对所述需管理的软件模块进行下一步操作。 图3是本发明的IT系统中管理软件模块的装置的第二实施例的结构示意图。参考 图3,该装置包括配置文件读取模块10、访问规则生成模块20、控制管理模块30,可选地, 还可包括配置文件修改模块40和/或配置文件创建模块50。下面对各模块进行详细描述。
配置文件创建模块50,用于创建软件模块的配置文件,并且将所述软件模块的访 问信息写入所述软件模块的配置文件中。在本发明实施例中,在新创建软件模块的同时配 置文件创建模块50创建该软件模块的配置文件,并且将该软件模块的访问信息写入该配 置文件中。其中,软件模块的访问信息包括本软件模块访问其他软件模块的信息和本软件 模块可供其他软件模块访问的信息,在新创建软件模块的配置文件时还可将配置文件的版 本号、创建软件模块者姓名、软件模块的版本号等信息写入软件模块的配置文件中;所述本 软件模块供其他软件模块访问的信息和本软件模块访问其他软件模块的信息的内容可参 见图1的实施例中的描述。 配置文件读取模块IO,用于从配置文件创建模块50创建的软件模块的配置文件 中读取该软件模块的访问信息。 访问规则生成模块20,用于根据配置文件读取模块10读取的软件模块的访问信 息生成该软件模块的访问规则。具体地,访问规则生成模块20获取到软件模块的访问信息 后将该软件模块的访问信息解析成计算机能识别的访问规则。 控制管理模块30,用于将访问规则生成模块20生成的软件模块的访问规则存储 在存储模块,例如,计算机内存、文件、数据库中。控制管理模块30还用于根据存储的该软 件模块的访问规则和存储模块存储的其他软件模块的访问规则对软件模块之间的依赖关 系进行管理。 在本发明实施例中,对软件模块之间依赖关系的管理包括开发阶段的管理和编译 阶段的管理。对于开发阶段管理的具体情况可参见前面实施例中的具体描述,下面具体描 述开发阶段访问规则的存储结构。 图4是Eclipse (Eclipse是一种可扩展的开放源代码集成开发环境,IBM公司 生产)环境中软件模块访问规则的数据结构示意图。在开发阶段,控制管理模块30可将 访问规则生成模块20生成的访问规则按图4所示的数据结构存储在计算机内存中,所述 Eclipse环境中的每个软件模块都有自己的Eclipse类路径容器(IClasspathContainer), 每个Eclipse类路径容器又包含有不同的Eclipse类路径(IClassPathEntry),每个 Eclipse类路径中又包括含有不同的访问规则(IAccessRule),软件模块利用Eclipse类路 径中的访问规则完成该软件模块对其他软件模块的访问。图4所示的整个存储结构图中有 一个主表,主表类似于软件模块的索引目录,该主表记录所有软件模块的唯一标识以及与 每个标识对应的该软件模块的访问列表。根据该目录可以得到该软件模块的访问列表,每 个软件模块的访问列表记录了该模块可访问其他软件模块的信息。例如,按图4所示结构存储的软件模块A的标识和软件模块A的访问列表A,其中,访问列表A包括不同的访问规 则,例如,IAccessRulel、 IAccessRule2禾口 IAccessRule3等,访问列表A中的IAccessRule 是软件模块A可访问其他软件模块的访问规则。本发明实施例通过调用Eclipse提供的 JavaCore. newProjectEntry方法,将软件模块的物理路径、该软件模块的访问规则写入 Eclipse类路径中。 当然,本发明实施例不限于采用Eclipse软件作为管理软件模块的软件开发环 境,本领域技术人员可以采用本领域公知的能够实现与Eclipse相同功能的管理软件模块 的软件开发环境,这也在本发明涵盖的范围内。 对于开发阶段,控制管理模块30对软件模块之间的依赖关系的管理包括检查需 管理的软件模块之间的调用关系是否按照存储模块存储的软件模块的访问规则进行调用, 具体可参见前面实施例中的描述。对于编译阶段,控制管理模块30对软件模块之间的依赖 关系的管理包括检查需管理的软件模块之间的调用关系是否按照存储模块存储的软件模 块的访问规则进行调用和/或需管理的软件模块之间是否构成环状依赖关系。在本发明实 施例中,当控制管理模块30检查出需管理的软件模块之间的调用关系按照存储的软件模 块的访问规则进行调用和/或需管理的软件模块之间没有构成环状依赖关系时指示IT系 统对所述需管理的软件模块进行下一步操作(例如,对需管理的软件模块进行编译操作), 或者在检查出需管理的软件模块之间的调用关系没有按照存储的软件模块的访问规则进 行调用和/或需管理的软件模块之间构成环状依赖关系时,可生成提示信息发送至显示模 块显示以提示开发人员软件模块之间发生错误调用和/或软件模块之间构成环状依赖关 系,并且指示IT系统不对所述需管理的软件模块进行下一步操作。 此处作两点说明一,所述的存储模块可以设置在本发明实施例的管理软件模块 的装置中,也可不设置在本发明实施例的管理软件模块的装置中,此种情况下,控制管理模 块30能够获取到存储模块中存储的软件模块的访问规则;二,在开发阶段可以将生成的访 问规则按如图4所示的存储结构存储以供开发阶段对软件模块之间的依赖关系进行管理 时使用,在编译阶段将根据重新生成的软件模块的访问规则对软件模块之间的依赖关系进 行管理。 可选地,本发明实施例还可包括配置文件修改模块40,所述配置文件修改模块40 是在用户对软件模块之间依赖关系维护时触发并工作的。 配置文件修改模块40用于接收标识需要修改的软件模块的配置文件的信息以及 该软件模块的访问信息,并将该访问信息发送给控制管理模块30。其中,该软件模块访问 信息包括本软件模块供其他软件模块访问的信息和本软件模块访问其他软件模块的信 息。其中,本软件模块供其他软件模块访问的信息可包括本软件模块所属项目的名称、本 软件模块的名称、本模块内部的程序文件名称;本软件模块访问其他软件模块的信息包括 所需访问的项目名称、所需访问的软件模块名称和所需访问的软件模块内部的程序文件名 称。 控制管理模块30用于根据存储模块存储的软件模块的访问规则对所述配置文件 修改模块40接收到的访问信息进行判断;当判断接收到的访问信息合理时,发送指示修改 的信息给配置文件修改模块40,当判断为不合理时,指示配置文件修改模块40不修改配置 文件中的访问信息。下面举例说明控制管理模块30进行的合理性判断,例如,需要修改的软件模块A的访问信息为软件模块A访问软件模块B的部分程序,此时需要判断软件模块B 是否声明该部分程序可供其他软件模块调用,如果判断出软件模块B已声明该部分程序可 供其他软件模块调用,则软件模块A的访问信息是合理的。 所述配置文件修改模块40,还用于接收到控制管理模块30发送的指示修改的信 息后,将所述接收到的访问信息写入所述需要修改的软件模块的配置文件中,并发送指示 读取配置文件的读取指令给所述配置文件读取模块10以指示所述配置文件读取模块10读 取该配置文件。 配置文件读取模块10在接收到配置文件修改模块40发送的配置文件读取指令 后,从软件模块的配置文件中读取该软件模块的访问信息。访问规则生成模块20根据所述 配置文件读取模块IO读取的软件模块的访问信息生成该软件模块的访问规则。控制管理 模块30将访问规则生成模块20生成的所述软件模块的访问规则存储到存储模块;控制管 理模块30根据存储的所述软件模块的访问规则和存储模块存储的其他软件模块的访问规 则对软件模块之间的依赖关系进行管理。其中,配置文件读取模块10、访问规则生成模块 20和控制管理模块30的功能与前文所述对应各软件模块的功能相同,此处不再赘述。
在本发明实施例中,控制管理模块30还可在新创建软件模块时对软件模块之间 的依赖关系进行管理。此时,控制管理模块30根据新创建软件模块的访问信息和存储模块 存储的访问规则判断新创建软件模块与其他软件模块之间的依赖关系是否合理,例如,新 创建的软件模块A需要访问现有的软件模块B的部分程序,此时需要判断软件模块B是否 声明该部分程序可供其他软件模块调用,如果软件模块B已声明可供其他软件模块调用, 则软件模块A与软件模块B之间的依赖关系是合理的。在新创建软件模块与其他软件模块 之间的依赖关系合理时,控制管理模块30指示访问规则生成模块20生成新创建软件模块 的访问规则,并将该访问规则存储到存储模块;当所述检查为不合理时,控制管理模块30 还可指示访问规则生成模块20不生成新创建软件模块的访问规则,进一步地,还可以发送 指示不合理的信息给IT系统中的显示模块以显示软件模块之间的依赖关系不合理。在本 发明实施例中,控制管理模块30将生成的新创建软件模块的访问规则存储到存储模块之 后对新创建的软件模块与其他软件模块之间的依赖关系进行管理可参见前面实施例的描 述。 以上对本发明的IT系统中管理软件模块的装置进行了详细描述,下面对本发明 实施例的方法进行详细描述。 图5是本发明的IT系统中管理软件模块的方法的第一实施例的流程示意图。参 考图5,所述方法包括以下步骤 步骤S501,从软件模块的配置文件中读取该软件模块的访问信息。 具体地,根据软件模块的名称或者其他标识从软件模块的配置文件中读取软件模
块的访问信息,软件模块访问其他软件模块的信息和本软件模块访问其他软件模块的信息
的内容可参见图1的实施例中的描述。 步骤S502,根据所述读取的软件模块的访问信息生成该软件模块的访问规则。
具体地,该步骤中会将读取的软件模块的访问信息解析成计算机能识别的访问规 则。 步骤S503,根据所述软件模块的访问规则和存储模块存储的其他软件模块的访问规则对软件模块之间的依赖关系进行管理。 具体地,步骤S503可将步骤S502生成的软件模块的访问规则存储在存储模块,例 如,计算机内存、数据库、文件等。 需要说明的是,本发明实施例中的软件模块之间的依赖关系为软件模块之间的访 问关系或调用关系。 可选地,在步骤S501之前还可包括步骤创建软件模块的配置文件,并且将该软 件模块的访问信息写入该软件模块的配置文件中。具体地,在新创建软件模块的同时创建 该软件模块的配置文件,并且将该软件模块的访问信息写入该配置文件中,此外,还可把软 件模块的访问信息放入数据库或者内存中。在本发明实施例中,在创建软件模块配置文件 时还可将配置文件的版本号、创建软件模块者姓名、软件模块的版本号等信息写入软件模 块的配置文件中。 图6是图5中步骤S503的流程示意图;参考图6,所述方法包括以下步骤 步骤S5031,根据存储模块存储的软件模块的访问规则检查需管理的软件模块之
间是否按照存储的软件模块的访问规则进行调用;当检查出需管理的软件模块之间按照所
述存储的软件模块的访问规则进行调用时执行步骤S5032,当检查出需管理的软件模块之
间不按照所述存储的软件模块的访问规则进行调用时执行步骤S5034。 具体地,步骤S5031可通过事件监听机制对需管理的软件模块之间的依赖关系进
行检查,检查软件模块之间的调用关系是否按照存储的软件模块的访问规则进行调用和访
问。此处,在编译开始前会完成各软件模块依赖关系的检查,例如,检查构成一个软件模块
的程序代码是否按照该软件模块的访问规则进行调用和访问。 步骤S5032,根据存储模块存储的软件模块的访问规则检查需管理的软件模块之 间是否构成环状依赖关系;当检查出所述需管理的软件模块之间构成环状依赖关系时执 行步骤S5034,当检查出所述需管理的软件模块之间没有构成环状依赖关系时执行步骤 S5033。 在本发明实施例中,可采用对软件模块的访问规则进行递归检查的方法检查软件 模块间是否构成"环状"依赖关系。例如,存储模块存储的各软件模块的访问规则包括软 件模块A的访问规则a、软件模块B的访问规则b和软件模块C的访问规则c,检查时可先 根据访问规则a和访问规则b判断软件模块A和软件模块B是否构成环状依赖关系,如果 没有构成环状依赖关系依次检查软件模块B和C,软件模块C和A,以及软件模块A、 B、 C之 间是否构成环状依赖关系。 步骤S5033,指示IT系统对所述需管理的软件模块进行下一步操作。
具体地,可指示IT系统对所述需管理的软件模块进行编译。 步骤S5034,发送提示信息给显示模块显示,并且指示IT系统不对所述需管理的 软件模块进行下一步操作。 在本发明实施例中,根据软件模块的访问规则对软件模块之间的依赖关系的管理 可使用在开发和编译两个阶段。 在开发阶段,可根据存储模块存储的软件模块的访问规则检查需管理的软件模块 之间是否按照存储的软件模块的访问规则进行调用;在编译阶段,可检查需管理的软件模 块是否按照存储模块存储的软件模块的访问规则进行调用和/或检查需管理的软件模块之间是否构成环状依赖关系。这两个阶段的检查可分别参见对图2部分的相关描述,此处 不再赘述。 图7是本发明的IT系统中管理软件模块的方法的第二实施例的流程示意图;参考 图7,所述方法包括以下步骤 步骤S701,接收标识需要修改的软件模块的配置文件的信息以及该软件模块的访 问信息。 具体地,该软件模块的访问信息包括本软件模块供其他软件模块访问的信息和 本软件模块访问其他软件模块的信息。其中,本模块供其他软件模块访问的信息和本软件 模块访问其他软件模块的信息的内容可参见前面实施例中的描述。 步骤S702,根据存储模块存储的软件模块的访问规则判断所述接收到的访问信息
是否合理。 下面举例说明软件模块访问信息的合理性,例如,需要修改的软件模块A的访问 信息为软件模块A访问其他软件模块B的部分程序,此时需要判断软件模块B是否声明该 部分程序可供其他软件模块调用,如果软件模块B已声明可供其他软件模块调用,则软件 模块A的访问信息是合理的; 步骤S703,当判断为不合理时,不修改所述软件模块的配置文件。 步骤S704,当判断为合理时,将所述访问信息写入所述需要修改的软件模块的配
置文件中。 步骤S705,从修改后的软件模块的配置文件中读取软件模块的访问信息。 在本发明实施例中,步骤S704的实施可参见图3中配置文件修改模块40的相关
描述;软件模块的访问信息修改后,启动从修改后的软件模块的配置文件中读取软件模块
的访问信息的步骤。 步骤S706,根据所述读取的软件模块的访问信息生成该软件模块的访问规则。具
体地,该步骤中会将读取的软件模块的访问信息解析成计算机能识别的访问规则。 在本发明实施例中,开发阶段生成该软件模块的访问规则之后可以根据生成的软
件模块的访问规则对软件模块属性设置,以共享该软件模块的程序代码;或者开发人员通
过开发工具的操作界面根据需要设置以共享该软件模块的程序代码。从而开发人员开发时
可以调用该软件模块的程序代码,进而该软件模块与其他软件模块之间建立依赖关系。 步骤S707,将生成的所述软件模块的访问规则存储到存储模块。 在本发明实施例中,存储模块包括计算机内存、文件或数据库等。需要说明的是,
在开发阶段可将生成的软件模块的访问规则按如图4所示的存储结构存储在计算机内存
中,以便在开发阶段直接根据存储的软件模块的访问规则对软件模块之间的依赖关系进行
管理,而在编译阶段将根据重新生成的软件模块的访问规则对软件模块之间的依赖关系进
行管理。 步骤S708,根据生成的所述软件模块的访问规则和存储模块存储的其他软件模块 的访问规则对软件模块之间的依赖关系进行管理。 在本发明实施例中,步骤S708对依赖关系的管理包括根据存储模块存储的软件 模块的访问规则对软件模块之间的依赖关系进行检查,所述检查包括检查需管理的软件模 块之间的调用关系是否按照存储的软件模块的访问规则进行调用和/或检查需管理的软件模块之间是否构成环状依赖关系;当检查出需管理的软件模块之间按照所述存储的软件 模块的访问规则进行调用和/或所述需管理的软件模块之间没有构成环状依赖关系时,指 示IT系统对需管理的软件模块进行下一步操作(例如,指示IT系统对软件模块进行编译 操作);当检查出软件模块之间没有按照所述存储的软件模块的访问规则进行调用和/或 所述软件模块之间构成环状依赖关系时,发送提示信息给显示模块以进行显示,并且指示 IT系统不对需管理的软件模块进行下一步操作。 本发明方法实施例的实施例二中,采用流程步骤S705至步骤S708在开发阶段和 编译阶段对软件模块之间的依赖关系进行管理的描述可参见本发明的IT系统中管理软件 模块的装置的描述,此处不再赘述。 在本发明实施例中,新创建软件模块时对软件模块之间的依赖关系的管理还可包 括根据存储模块存储的软件模块的访问规则判断新创建软件模块与其他软件模块之间的 依赖关系是否合理,例如,新创建的软件模块A需要访问现有的软件模块B的部分程序,此 时需要根据软件模块B的访问规则判断软件模块B是否声明可供其他软件模块调用,如果 软件模块B已声明可供其他软件模块调用,则软件模块A与软件模块B之间的依赖关系是 合理的。在判断出新创建软件模块与其他软件模块之间的依赖关系合理时,可生成新创建 软件模块的访问规则并将该访问规则存储到存储模块;当判断结果为不合理时,不生成新 创建软件模块的访问规则,进一步地,还可以发送指示不合理的信息给IT系统中的显示模 块显示以说明软件模块之间的依赖关系不合理。 综上所述,实施本发明能够精确掌握和控制软件模块之间的依赖关系,增大软件 模块的可重复利用率,提高项目实施效率,降低项目开发成本,并形成项目知识信息共享。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助 软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施。基于这样的理解, 本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来, 该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使 得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例 或者实施例的某些部分所述的方法。 当然,以上所公开的仅为用于对本发明进行举例说明的具体实施方式
,应当指出, 不能以此来限定本发明的保护范围,本领域普通技术人员在不脱离本发明实质的前提下还 可以进行各种修改、变化或替换,因而依照本发明所作的各种等同变化,仍属于本发明涵盖 的范围。
权利要求
一种IT系统中管理软件模块的装置,包括配置文件读取模块,用于从软件模块的配置文件中读取该软件模块的访问信息;访问规则生成模块,用于根据所述访问信息生成该软件模块的访问规则;控制管理模块,用于根据生成的所述软件模块的访问规则和存储模块存储的其他软件模块的访问规则对软件模块之间的依赖关系进行管理。
2. 根据权利要求1所述的装置,其特征在于,所述控制管理模块包括存储管理模块,用 于在对软件模块之间的依赖关系进行管理之前将生成的所述软件模块的访问规则存储到 所述存储模块。
3. 根据权利要求1或2所述的装置,其特征在于,所述装置还包括 配置文件创建模块,用于创建软件模块的配置文件,并且将所述软件模块的访问信息 写入所述软件模块的配置文件中。
4. 根据权利要求1或2所述的装置,其特征在于,所述控制管理模块包括属性设置模 块,用于根据所述生成的软件模块的访问规则设置该软件模块的属性以共享该软件模块的 全部或部分内容。
5. 根据权利要求3所述的装置,其特征在于,所述控制管理模块包括检查模块,用于根据存储模块存储的软件模块的访问规则对需管理的软件模块之间的 依赖关系进行检查,所述检查包括检查需管理的软件模块之间是否按照所述存储的软件模 块的访问规则进行调用和/或检查所述需管理的软件模块之间是否构成环状依赖关系;执行模块,用于实现如下功能当所述检查模块检查出所述需管理的软件模块之间按 照所述存储的软件模块的访问规则进行调用和/或所述需管理的软件模块之间没有构成 环状依赖关系时,指示IT系统对所述需管理的软件模块进行下一步操作;否则,发送提示信息给显示模块进行显示,并指示IT系统不对需管理的软件模块进行 下一步操作。
6. 根据权利要求3所述的装置,其特征在于,所述装置还包括配置文件修改模块,其中所述配置文件修改模块,用于接收标识需要修改的软件模块的配置文件的信息以及该 软件模块的访问信息,并将该访问信息发送给所述控制管理模块;所述控制管理模块,用于根据所述存储模块存储的软件模块的访问规则判断所述接 收到的访问信息是否合理,当判断为合理时,发送指示修改的信息给所述配置文件修改模 块;所述配置文件修改模块,还用于当接收到指示修改的信息后,将所述访问信息写入所 述需要修改的软件模块的配置文件中,并给所述配置文件读取模块发送指示读取该配置文 件的读取指令。
7. 根据权利要求1所述的装置,其特征在于,所述软件模块的访问信息包括 该软件模块访问其他软件模块的信息和该软件模块可供其他软件模块访问的信息。
8. —种IT系统中管理软件模块的方法,包括从软件模块的配置文件中读取该软件模块的访问信息; 根据所述访问信息生成该软件模块的访问规则;根据生成的所述软件模块的访问规则和存储模块存储的其他软件模块的访问规则对软件模块之间的依赖关系进行管理。
9. 根据权利要求8所述的方法,其特征在于,根据生成的所述软件模块的访问规则和 存储模块存储的其他软件模块的访问规则对软件模块之间的依赖关系进行管理步骤包括 在对软件模块之间的依赖关系进行管理之前将生成的所述软件模块的访问规则存储到存 储模块。
10. 根据权利要求8或9所述的方法,其特征在于,从软件模块的配置文件中读取该软 件模块的访问信息步骤之前还包括创建软件模块的配置文件;将所述软件模块的访问信息写入所述软件模块的配置文件中。
11. 根据权利要求8或9所述的方法,其特征在于,在根据所述访问信息生成该软件模 块的访问规则步骤之后,还包括根据所述生成的软件模块的访问规则控制该软件模块的属性以共享该软件模块的全 部或部分内容。
12. 根据权利要求10所述的方法,其特征在于,根据生成的所述软件模块的访问规则 和存储模块存储的其他软件模块的访问规则对软件模块之间的依赖关系进行管理包括根据存储模块存储的软件模块的访问规则对需管理的软件模块之间的依赖关系进行 检查,所述检查包括检查需管理的软件模块之间是否按照所述存储的软件模块的访问规则 进行调用和/或检查需管理的软件模块之间是否构成环状依赖关系;当检查出需管理的软件模块之间按照所述存储的软件模块的访问规则进行调用和/ 或所述需管理的软件模块之间没有构成环状依赖关系时,指示IT系统对所述需管理的软 件模块进行下一步操作;否则,发送提示信息给显示模块进行显示,并指示IT系统不对需管理的软件模块进行 下一步操作。
13. 根据权利要求10所述的方法,其特征在于,从软件模块的配置文件中读取该软件 模块的访问信息步骤之前还包括接收标识需要修改的软件模块的配置文件的信息以及该软件模块的访问信息; 根据存储模块存储的软件模块的访问规则判断所述接收到的访问信息是否合理; 当判断为合理时,将所述访问信息写入所述需要修改的软件模块的配置文件中。
14. 根据权利要求8所述的方法,其特征在于,所述软件模块的访问信息包括 该软件模块访问其他软件模块的信息和该软件模块供其他软件模块访问的信息。
全文摘要
本发明公开了一种IT系统中管理软件模块的装置,包括配置文件读取模块,用于从软件模块的配置文件中读取该软件模块的访问信息;访问规则生成模块,用于根据所述访问信息生成该软件模块的访问规则;控制管理模块,用于根据生成的所述软件模块的访问规则和存储模块存储的其他软件模块的访问规则对软件模块之间的依赖关系进行管理。本发明还公开了一种IT系统中管理软件模块的方法。实施本发明的实施例,提高了项目实施效率,节省了开发资源,降低了开发成本,并可形成项目资源信息共享。
文档编号G06F9/44GK101710279SQ20091020455
公开日2010年5月19日 申请日期2009年12月1日 优先权日2009年12月1日
发明者何银行, 刘立, 尹振宇, 张峰, 李光宇, 潘舒, 王斯洋, 邱炜亨, 郑志远, 陈铭新 申请人:中国建设银行股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1