CN114625703A - 用于软件开发中的协作项目的资产识别 - Google Patents

用于软件开发中的协作项目的资产识别 Download PDF

Info

Publication number
CN114625703A
CN114625703A CN202111432003.9A CN202111432003A CN114625703A CN 114625703 A CN114625703 A CN 114625703A CN 202111432003 A CN202111432003 A CN 202111432003A CN 114625703 A CN114625703 A CN 114625703A
Authority
CN
China
Prior art keywords
asset
data
project
program
assets
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
CN202111432003.9A
Other languages
English (en)
Inventor
L.C.V.里尔
R.L.德弗雷塔斯昆哈
M.N.多斯桑托斯
R.F.S.苏扎
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN114625703A publication Critical patent/CN114625703A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/41Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/48Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/489Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using time information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/101Collaborative creation, e.g. joint development of products or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Data Mining & Analysis (AREA)
  • Marketing (AREA)
  • Tourism & Hospitality (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Library & Information Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本文所提出的方法实现了软件开发中的协作项目的资产识别。更具体地,识别多个资产。确定由多个资产中的至少一个资产提供的内容。确定与由至少一个资产提供的内容相关联的项目。更新与项目相关联的储存库以包括至少一个资产。

Description

用于软件开发中的协作项目的资产识别
技术领域
本发明总体上涉及软件开发的领域,更特别涉及识别与所述项目的贡献者相关的协作项目的资产。
背景技术
协作项目是包括跨各个部门和组织的各种成员来完成的复杂项目。在项目的生命周期期间,由项目的成员或贡献者生成各种资产。在软件开发中,这些资产可以包括代码、模块或库。
发明内容
本发明的实施例提供了一种用新资产自动更新项目储存库的方法、系统和程序产品。处理器识别多个资产。处理器确定由多个资产中的至少一个提供的内容。处理器确定由至少一个资产提供的内容与项目相关联。处理器更新与项目相关联的储存库以包括至少一个资产。
本发明的一个方面包括一种方法,包括:由一个或多个处理器识别多个资产,由一个或多个处理器确定由多个资产中的至少一个资产提供的内容,由一个或多个处理器确定与由至少一个资产提供的内容相关联的项目,以及由一个或多个处理器更新与项目相关联的储存库以包括至少一个资产。
本发明的另一方面包括一种计算机程序产品,包括:一个或多个计算机可读存储介质和存储在一个或多个计算机可读存储介质上的程序指令,程序指令包括:用于识别多个资产的程序指令,用于确定由多个资产中的至少一个资产提供的内容的程序指令,用于确定与由至少一个资产提供的内容相关联的项目的程序指令,以及用于更新与项目相关联的储存库以包括至少一个资产的程序指令。
本发明的又一方面包括一种计算机系统,包括:一个或多个计算机处理器、一个或多个计算机可读存储介质、以及存储在计算机可读存储介质上以供一个或多个处理器中的至少一个执行的程序指令,程序指令包括:用于识别多个资产的程序指令,用于确定由多个资产中的至少一个资产提供的内容的程序指令,用于确定与由至少一个资产提供的内容相关联的项目的程序指令,以及用于更新与项目相关联的储存库以包括至少一个资产的程序指令。
附图说明
从下面结合附图对本发明的各个方面的详细描述中,将更容易理解本发明的这些和其它特征,附图中:
图1是示出根据本发明的示例性实施例的网络化环境的功能框图。
图2示出了根据本发明的示例性实施例的资产程序在图1的环境内的计算设备上确定何时用附加资产更新项目的操作过程。
图3示出了根据本发明的示例性实施例的资产程序的操作过程,该资产程序识别了在图1的环境中的计算设备上要考虑包括到项目中的相关资产。
图4描绘了根据本发明的示例性实施例的执行资产程序的计算设备的组件的框图。
附图不一定是按比例的。附图仅仅是表示,而不旨在描绘本发明的特定参数。附图旨在仅描绘本发明的典型实施例,并且因此不应被认为是对范围的限制。在附图中,相同的标号表示相同的元件。
具体实施方式
虽然资产跟踪的解决方案是已知的,但是现有的解决方案需要来自用户的手动输入或直接交互,以添加、更新或以其他方式跟踪与项目相关联的每个资产。另外,现有解决方案还将省略或不检测项目的其他外部资产,诸如与项目相关联的产品或服务的出版物或论文详述功能,使得资产可发现性和跟踪在范围上被限制。另外,包括在与项目相关联的正常渠道之外发生的协作讨论的其他重要资产和资源常常被遗忘在或未被包括在项目文档中,诸如留言板讨论或即时消息聊天日志。
通过从项目储存库之外的各种源收集资产,本发明的实施例认识到提供对项目中的资产管理和跟踪的现有解决方案的改进。通过识别新的潜在资产、确定内容、以及识别关于资产的相关项目,本发明的实施例提供了对项目生命周期期间的资产跟踪的改进。通过自动地摘要和查找项目的成员所作的相关出版物、消息和其它形式的讨论,本发明的实施例增加了文档和讨论的数量和各种类型,以更好地通知项目的成员关于项目的组分和项目的进展和功能。
本发明可以是任何可能的技术细节集成水平的系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有计算机可读程序指令的计算机可读存储介质(或多个介质),计算机可读程序指令用于使处理器执行本发明的各方面。
计算机可读存储介质可以是能够保留和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光学存储设备、电磁存储设备、半导体存储设备或前述的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括以下:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪速存储器)、静态随机存取存储器(SRAM)、便携式光盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、诸如其上记录有指令的打孔卡或凹槽中的凸起结构的机械编码装置,以及上述的任何适当组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤线缆的光脉冲)、或通过导线传输的电信号。
本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络,例如因特网、局域网、广域网和/或无线网络,下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
用于实行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据,或者以一种或多种编程语言(包括面向对象的编程语言,诸如Smalltalk、C++等)和过程编程语言(诸如“C”编程语言或类似的编程语言)的任意组合编写的源代码或目标代码。计算机可读程序指令可以完全在用户的计算机上执行,部分在用户的计算机上执行,作为独立的软件包执行,部分在用户的计算机上并且部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(LAN)或广域网(WAN),或者可以(例如,使用因特网服务提供商通过因特网)连接到外部计算机。在一些实施例中,为了执行本发明的各方面,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化。
在此参考根据本发明的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各方面。将理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机可读程序指令来实现。
这些计算机可读程序指令可以被提供给计算机或其他可编程数据处理装置的处理器以制造机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图的一个或多个框中指定的功能/动作的构件。这些计算机可读程序指令还可以存储在计算机可读存储介质中,其可以引导计算机、可编程数据处理装置和/或其他设备以特定方式工作,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图的一个或多个框中指定的功能/动作的各方面的指令。
计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,以使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图的一个或多个框中指定的功能/动作。
附图中的流程图和框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这方面,流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替代实施方案中,框中所注明的功能可不按图中所注明的次序发生。例如,连续示出的两个框实际上可以作为一个步骤来实现,同时、实质上同时、以部分或全部时间重叠的方式执行,或框有时可以以相反的顺序执行,这取决于所涉及的功能。还将注意,框图和/或流程图图示的每个框以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作或实行专用硬件和计算机指令的组合的专用的基于硬件的系统来实现。
现在将参照附图详细描述本发明。图1是示出根据本发明一个实施例的网络化环境(通常指定为100)的功能框图。网络化环境100包括通过网络140连接的计算设备110、储存库服务器120、数据服务器130。计算设备110包括资产程序112、自然语言处理(NLP)模块113、活动数据114、成员资格数据115和消息数据116。储存库服务器120包括项目数据122。(多个)数据服务器130包括资产数据132。
在本发明的各种实施例中,计算设备110、储存库服务器120和(多个)数据服务器130都是计算设备,其可以是独立设备、服务器、膝上型计算机、平板计算机、上网本计算机、个人计算机(PC)或台式计算机。在另一个实施例中,计算设备110、储存库服务器120和(多个)数据服务器130单独地或共同地表示利用集群计算机和组件充当单个无缝资源池的计算系统。通常,计算设备110、储存库服务器120和(多个)数据服务器130可以是任何计算设备或设备的组合,其可以访问活动数据114、成员资格数据115、消息数据116、项目数据122和资产数据132,并且能够执行资产程序112和NLP模块113。计算设备110、储存库服务器120和(多个)数据服务器130中可以各自包括内置和外接硬件组件,如参考图4进一步详细描绘和描述的。
在该示例性实施例中,资产程序112、NLP模块113、活动数据114、成员资格数据115和消息数据116被存储在计算设备110上;项目数据122被存储在储存库服务器120上;并且资产数据132被存储在相应的数据服务器130上。然而,在其它实施例中,资产程序112、NLP模块113、活动数据114、成员资格数据115、消息数据116、项目数据122和资产数据132可以外置地存储,并且通过诸如网络140的通信网络来访问。网络140可以是例如局域网(LAN)、诸如因特网的广域网(WAN)或两者的组合,并且可以包括有线、无线、光纤或本领域已知的任何其它连接。通常,根据本发明的期望实施例,网络140可以是将支持计算设备110、储存库服务器120与(多个)数据服务器130之间的通信的连接和协议的任意组合。
在各种实施例中,资产程序112对各种数据源进行摘要,以识别要包括在项目的储存库或其它形式的数据存储中的资产,诸如存储在储存库服务器120的项目数据122中的资产。项目数据122包括但不限于,各种文档、可交付物、以及与由储存库服务器120维护的项目相关的其它文件。在各种实施例中,资产是与项目或项目的成员相关的任何数据或信息。例如,在软件开发项目中,资产可以是正被开发的软件的组件,诸如包含代码或伪代码的文件或摘录。另外,基于在此包含的讨论,本领域普通技术人员将容易明白,资产还可以包括与项目或项目的特征有关的任何研究论文、讨论、评论或其他形式的通信。例如,讨论项目的新特征的项目的两个成员之间的聊天日志可以是由资产程序112摘要和识别的资产。在各种实施例中,如这里所讨论的,项目成员是创建或辅助创建任何项目数据122的任何用户或个人。
在各种实施例中,资产程序112从一个或多个数据服务器130撷取各种资产数据132。(多个)数据服务器130包括一个或多个计算设备,其存储或以其他方式提供资产数据132给资产程序112。资产数据132包括与由储存库服务器120在项目数据122中维护的项目相关或以其他方式指向该项目的任何资产,以及关于其他项目或主题的其他资产。示例资产包括但不限于(i)项目组件,诸如项目成员对项目有贡献的绘图、图表、代码、图表或任何其他设计文档,(ii)关于项目或者项目的组分或功能的论文或其他出版物,以及(iii)关于以上资产的任何讨论,诸如但不限于关于项目或其特征的演示、会议或直接通信(例如,聊天日志或论坛公告)。
在各种实施例中,资产程序112基于各种准则识别相关资产。在一些实施例中,资产程序112基于活动数据114来识别相关资产。活动数据114包括指示以下的信息:关于对由储存库服务器120维护的项目的项目数据122的访问和创建的各种项目成员的活动以及关于上传或访问存储在一个或多个数据服务器130中的资产数据132中的文档的任何活动。活动数据114包括指示项目数据122中的项目成员访问的文件或其他文档的数据;以及指示对未包括或复制在项目数据122中但存储在资产数据132中的数据的任何上载或改变的数据。基于项目成员的活动,资产程序112识别出成员已经在尚未被并入到项目数据122中的数据存储或诸如(多个)数据服务器130的其它储存库中访问、创建或编辑的相关资产。
在一些场景中,活动数据114指示项目成员在本地或企业网络内的活动。例如,(多个)数据服务器130的数据服务器是本地数据存储,其中活动数据114包括项目成员的访问日志以识别哪些文件由用户上传、改变或以其他方式更改。在其他场景中,活动数据114指示项目成员对因特网上的各种服务和网站的活动。例如,活动数据114包括由项目成员访问的网站或其他服务的日志。
在一些实施例中,资产程序112基于成员资格数据115来识别资产。成员资格数据115包括指示专业协会、贸易团体或项目成员参与的任何工作团体的数据,通过向团体发布论文或其他资产,或者通过评论由团体提供的工作(例如,同行评论)。另外,成员资格数据115包括指示(多个)数据服务器130的数据,该数据包括项目成员已经创建或辅助创建的资产数据132。基于项目成员的成员资格数据115,资产程序112识别资产数据132以供撷取和摘要,如本文所讨论的。
在一些实施例中,资产程序112基于消息数据116来识别资产。在一些场景中,消息数据116包括经由企业即时消息通信程序、留言板、社交网络或允许用户之间的通信的其他程序在项目成员之间共享的消息。例如,聊天日志被存储在项目的两个成员之间的消息数据116中。在其他场景中,消息数据116包括公布到一个或多个数据服务器的资产数据132,其包括由项目成员公布的或以其他方式涉及(例如,响应于)项目成员的消息。如成员资格数据115所示,资产程序112基于公布到外接消息传送平台的可用消息来识别要包括到项目数据122中的潜在资产。例如,项目成员对外接平台响应的线程被撷取并存储在消息数据116中。在一些实施例和场景中,从企业或内部消息传送系统或社交媒体平台收集消息数据116。另外,在一些实施例中,资产程序112包括允许用户指示以下的特征和界面(未示出):线程或对话是用于记录在消息数据116中,并且默认地不监控其它线程或对话。
在各种实施例中,资产程序112确定资产数据132和消息数据116的内容。基于资产数据132或消息数据116的内容,资产程序112确定该内容是否与由储存库服务器120维护并存储在项目数据122中的项目或所述项目的组分、部分或功能相关或以其他方式针对所述项目或所述项目的组分、部分或功能。如果内容是相关的,则资产程序112将与内容有关的资产包括在项目数据122中。例如,项目数据122包括与用于调度约定的网页的正在进行的开发有关的数据、代码和其它项目信息。在该示例中,在内部消息板上讨论的两个成员测试调度网页的时区功能。基于成员资格数据115,资产程序112识别参与资产创建的项目成员(即,时区功能的讨论)。如将在此讨论的,资产程序112确定讨论的内容并识别该讨论与项目的内容相关。这样,资产程序112自动将讨论的副本附加到项目数据122。在一些实施例中,资产程序112对项目数据122中找到的用户撷取和识别内的讨论进行分类或提供分类(例如,向资产分配关键字或标签)。
有利地,本发明的实施例提供了对未包括在项目数据122中的资产的自动识别、撷取和包括,然而,这些资产作为资产数据132或消息数据116以其他方式可获得。通过自动地更新和存储与项目有关的各种论文、讨论和其它资产、或者项目的相关功能,本发明的实施例创建了用于项目的更完整和详细的文档。关于项目的许多外部讨论,无论是通过非正式的(例如,聊天或论坛公告)还是正式的(例如,研究论文或演示)手段,都可以向其他项目成员提供关于项目的正在进行和当前进展的更多细节。如先前所述,现有解决方案需要由项目管理者或其他用户进行手动编辑以包括此类资产的文档。
在各种实施例中,资产程序112确定资产数据132的内容,以识别出相关资产是否已不是项目数据122中除与项目或项目的任何组分相关以外的一部分项目数据。资产程序112包括自然语言处理(NLP)模块113,以确定资产数据132和项目数据122的内容。首先,NLP模块113将来自资产的文本分段为句子或词根。然后,NLP模块113令牌化和标签化句子的各种词,提取与项目数据122的主题相关的某些关键词。一旦资产的文本被解析,实体或主题被提取以便与和项目相关的实体进行比较。然后,NLP模块113确定所提取的实体之间的关系。基于提取的关键字和资产数据132与消息数据116的关系,NLP模块113确定资产或消息是否与由储存库服务器120作为项目数据122维护的任何正在进行的项目相关或者有关。
在一些实施例中,资产程序112确定资产是否包括可能与项目相关的文本的句法或任何其他布置。例如,项目数据122包括用于开发在各种库或模块中具有多行代码的移动应用的项目。当识别资产是否与项目相关时,资产程序112将项目数据122中的现有代码的部分与资产数据132或消息数据116进行比较。如果资产或消息包括与存储在项目数据122中的语法类似的语法,则资产程序112识别项目数据122中不存在的任何改变或附加资产或内容。作为响应,资产程序112更新项目数据122以包括在被发现具有与项目的组分类似的语法的资产或消息中提供的附加信息。在一些场景中,资产程序112分解或分离项目数据122中的各种文件和库以用于比较目的(例如,资产程序112从源代码中的方法调用提取各种函数标头以识别在诸如消息数据116和资产数据132等其它数据源中找到的类似函数)。在其他场景下,资产程序112生成或被提供项目的各种组分之间的本体(ontology)或关系的集合。基于项目的本体,资产程序112基于资产或消息的分类来对新资产或消息进行分类和存储。
在一些实施例中,资产程序112的NLP模块113摘要项目数据122和资产数据132以确定内容是否与在项目数据122中存储的项目的各种组分或部分匹配。例如,项目数据122包括软件开发项目的各种源文件、库和其他文件。最初,NLP模块113摘要项目数据122的内容并确定指示项目的内容的各种分类器、标签或其他名称、短语、词根或词。在此软件开发项目示例中,NLP模块113识别各种方法标头并且确定基于方法调用的名称以及每一代码块中所包含的各种输入、变量和输出所提供的函数类型的标签或分类。然后,在评估包括到项目的资产数据132时,NLP模块113识别资产数据132中的与最初被确定为项目数据122的一部分的函数、输入、变量、输出等相关或以其他方式讨论最初被确定为项目数据122的一部分的函数、输入、变量、输出等。如果NLP模块113识别项目数据122与资产数据132之间的任何类似内容,则资产程序112将内容从资产数据132上传或以其他方式保存到项目数据122。参考回软件开发示例,资产程序112将内容保存到项目数据122,并在项目数据122中的内容的文件夹或文件中创建到与新资产数据132匹配的新资产数据132的链接。
在一些场景和实施例中,资产程序112基于项目成员之间的交互来确定协作图。例如,资产程序112分析消息数据116以识别频繁地彼此协作的项目成员。在这样的情况和在提供新资产时已经识别了项目成员的情况下,资产程序112附加地识别协作者已经创建的任何资产数据132或消息数据116,以潜在地包括在项目数据122中。附加地,在一些实施例中,资产程序112用新资产或消息、资产程序112消息来更新项目数据122,或使另一程序发送消息,向协作者通知对项目数据122的更新。对于较大的项目,通过仅通知基于协作图的改变,资产程序112仅通知那些事先在项目的此类组分上已经协作的项目成员。
在各种实施例中,资产程序112将资产数据132和消息数据116与项目数据122进行比较。最初,资产程序112识别资产或消息是否可以是现有项目的一部分,或者是否与现有项目有关。基于资产或消息的贡献者和/或资产或消息的内容,资产程序112识别出该资产或消息应当与特定项目一起包括在项目数据122中。作为响应,资产程序112在项目数据中创建新的条目,或者用资产或消息来附加或更新前一个条目。例如,资产程序112识别讨论向科学期刊发布的项目的方面的研究论文。作为响应,资产程序112更新与到研究论文的链接的方面相关的项目数据122的部分。在另一个示例中,两个项目成员经由内部企业即时消息应用一夜聊天,该应用被监控并随后存储在消息数据116中。聊天的一部分讨论项目的新阶段。响应于检测到聊天的这一部分,资产程序112将讨论附加到与项目的新阶段相关联的项目数据122中的文档。附加地,在一些实施例中,资产程序112确定该新阶段尚未在项目数据122中记载。作为响应,资产程序112更新项目数据122的本体或其他类别,以指示项目的新阶段。
在一些场景和实施例中,资产程序112识别资产或消息不与任何正在进行的项目相关并且是新项目。例如,基于NLP模块113的输出,资产程序112确定公司的内部论坛的公告涉及几个新的协作者和新的客户实体。作为响应,资产程序112自动地在项目数据122中创建新项目。在一些场景中,资产程序112识别项目数据122中的与新项目匹配的项目。给定基于关于新项目的消息的内容或讨论新项目的协作者的匹配,资产程序112确定项目数据122中最接近的现有项目,然后复制项目的数据的一部分以用作新项目的模板。
如果在操作期间资产程序112没有找到现有项目的匹配,也没有发现资产或消息没有指示新项目,则资产程序112可以暂时忽略该资产或消息,然而资产程序将保留任何内容分析和协作映射以供稍后处理。当较新的消息或资产随时间被公布时,资产程序112可以重新评估要包括在项目中的资产或一系列消息。
图2示出了资产程序112确定何时用附加资产更新项目的操作过程,一般指定为200。在过程202中,资产程序112识别与项目相关联的任何资产。基于活动数据114或成员资格数据115,资产程序112识别与项目相关联的任何资产,诸如资产数据132或消息数据116。在过程204中,资产程序112确定与用户相关联的资产数据132或消息数据116的内容。在一些场景中,资产程序112基于各种因素对资产数据132或消息数据116进行排名。图3更详细地讨论了上述过程200和204。
在判定过程206中,资产程序112确定任何所识别的与用户相关联的资产(过程202)是否可以与储存库服务器120的项目数据122中的项目相关联。如在此所讨论的,项目数据122或储存库服务器120包括与一个或多个正在进行的项目有关的各种可交付物和文档。基于资产数据132或消息数据116的内容(过程204),以及与项目相关联的用户的活动数据114或成员资格数据115(过程202),资产程序将用户属性的资产和消息的内容、活动和成员资格与一个或多个项目进行比较。如果识别了预先存在的项目(判定过程206的“是”分支),则资产程序112将资产或消息发布给储存库服务器120的项目数据122中的所识别的项目(过程208)。在一个示例中,演示幻灯片组已由与项目相关联的用户创建。在该演示内,幻灯片包括用于项目中使用的排序(sorting)算法的伪代码。在该示例中,资产程序112提取伪代码作为文本,基于NLP模块113(例如,内容是排序算法)和成员资格数据115(例如,作者是项目的贡献者的成员)来确定内容与项目的排序算法相关,并且作为响应,将幻灯片发布到项目数据122(过程208)。此外,如果两个用户之间的聊天日志包括对项目名称的引用,或者例如如果对科学论文的NLP模块113扫描识别了潜在的项目名称,则以该项目名称命名的本地文件夹也被存储在储存库服务器120的项目数据122中。例如,名为“SuperScannerProject”的论文可以导致名为“SuperScanner”的本地文件夹存储到项目数据122。
如果资产程序112没有识别匹配的现有项目(判定过程206的“否”分支),则资产程序112确定资产或消息是否讨论或以其他方式针对新项目的开始(判定过程210)。基于资产或消息的内容,资产程序112确定资产或消息中包含的讨论是否指示新项目,以及在一些情况和场景中,是否指示项目数据122中的类似项目。当资产或消息指示正在开始新项目时(过程210的“是”分支),则资产程序112在项目数据122或储存库服务器120中创建新项目(过程212)。例如,如果两个用户之间的聊天日志包括讨论创建项目的投标或其他介绍步骤(例如,如由项目本体表示的)的内容,则资产程序112在项目数据122中创建新项目(过程212)。在这种实例下,资产程序112可以通过NLP模块113来识别其他上下文信息,以确定新项目是否类似于存储在项目数据122中的其他项目。例如,资产程序112基于对话的内容确定具有公开投标订单的客户组织。在这样的场景中,项目数据122可以用指示客户何时被创建的信息来填充(过程212)。
如果资产程序112不能确定对应的(判定过程206的“否”分支)项目,或者资产或消息不指示新项目(判定过程210的“否”分支),则资产程序112暂时忽略资产或消息(过程214)。在一些实例下,资产程序112保留在过程202和204中生成的信息以供稍后分析。对于消息数据116,可以在稍后的时间添加附加的评论或备注,从而提供由NLP模块113的更好分类。在此类实例中,最初被忽略的资产或消息可以基于在对资产或消息的改变的稍后分析中确定的附加内容而稍后被包括。
尽管以上根据单个项目讨论了该过程,但是本领域的普通技术人员将理解,可以以任何次序以及根据各种准则来执行以上过程。例如,资产程序112可以在创建资产和消息时撷取和分析资产数据132和消息数据116中的内容。在另一种场景下,可以基于源来撷取和分析资产数据132和消息数据116,其中跨多个项目和项目成员来摘要资产和消息。
图3示出了资产程序112的操作过程,一般指定为300,以识别要考虑包括到项目中的相关资产。在过程302中,资产程序112撷取活动数据114。活动数据114指示用户随时间访问的文件和其它资产。基于给定用户的访问率,资产程序112确定用户访问资产的频率(过程304)。特定用户编辑或访问文件的频率越高,该文件可能对项目成员越重要,因此对项目也越重要。在某些实施例和场景中,资产程序112基于访问的频率对资产进行排名,分析并确定所述频繁访问的文件是否与包括的项目相关,如关于图2所讨论的。
在过程306中,资产程序112基于文件类型和内容选择和排列资产。对于某些类型的项目,资产程序112包括对指示要在资产中讨论的各种文件类型和内容的重要度的文件类型和内容的排名。例如,用于演示的幻灯片组可以在项目的初始阶段期间被排得更高,而稍后的制作焦点阶段可以将诸如示意图或图表的其他可交付物排得更高。
在过程308中,资产程序112撷取成员资格数据115。成员资格数据115指示用户向外部组织(诸如科学期刊)或内部(诸如通过发明公开和其它内部展示或讨论)做出的出版物。在过程310中,基于各种成员资格和随后贡献于每个论坛的项目成员的数目,资产程序112基于贡献的项目成员的数目来识别资产并对资产排名,或者在一些实例中,给每个出版物源分配预定义的排名(例如,在具有来自项目成员的引证的网页文章上对讨论项目的科学期刊或其各方面的出版物进行排名。
在过程312中,资产程序112撷取消息数据116。消息数据116是涉及作为创建者或接收者的至少一个项目成员的任何通信。如这里所讨论的,NLP模块113确定消息数据116的内容(过程314)。基于包括在消息数据116中的各种因素,诸如但不限于所讨论的预定主题或信息的“级别”(即,消息的熵指示消息的信息量如何,其中“今天天气温暖”具有比消息“今天是72°F”更少的信息),资产程序112从消息数据116中选择消息并对其进行排名。资产程序112向讨论项目的预定重要主题或者包含关于相同主题或内容的更多信息陈述的消息分配更高的排名。基于包含在消息数据116中的内容与项目数据122的内容匹配,资产程序112选择与项目相关联的消息数据116(过程316)。
图4描述了根据本发明的说明性实施例的计算设备110、储存库服务器120和(多个)数据服务器130的组件的框图400。应当理解,图4仅提供了一种实现方式的图示,而不暗示对关于其中可实现不同实施例的环境的任何限制。可以对所描述的环境进行许多修改。
计算设备110、储存库服务器120和(多个)数据服务器130包括通信结构402,其提供(多个)计算机处理器404、存储器406、永久存储装置408、通信单元410和(多个)输入/输出(I/O)接口412之间的通信。通信结构402可以用被设计成在处理器(诸如微处理器、通信和网络处理器等)、系统存储器、外围设备和系统内的任何其它硬件组件之间传递数据和/或控制信息的任何架构来实现。例如,通信结构402可以用一个或多个总线来实现。
存储器406和永久存储装置408是计算机可读存储介质。在该实施例中,存储器406包括随机存取存储器(RAM)414和高速缓冲存储器416。通常,存储器406可以包括任何合适的易失性或非易失性计算机可读存储介质。
资产程序112、NLP模块113、活动数据114、成员资格数据115、消息数据116、项目数据122和资产数据132被存储在永久存储408中,以便由相应计算机处理器404中的一个或多个经由存储器406的一个或多个存储器执行和/或存取。在该实施例中,永久存储装置408包括磁硬盘驱动器。作为磁硬盘驱动器的替代或补充,永久存储装置408可以包括固态硬盘驱动器、半导体存储设备、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、闪速存储器或能够存储程序指令或数字信息的任何其它计算机可读存储介质。
永久存储装置408所使用的介质也可以是可移动的。例如,可移动硬盘驱动器可以用于永久存储装置408。其它示例包括光盘和磁盘、指状驱动器和智能卡,它们被插入到驱动器中以便传送到也是永久存储装置408的一部分的另一计算机可读存储介质上。
在这些示例中,通信单元410提供与包括网络140的资源的其它数据处理系统或设备的通信。在这些示例中,通信单元410包括一个或多个网络接口卡。通信单元410可以通过使用物理和无线通信链路中的一者或两者来提供通信。资产程序112、NLP模块113、活动数据114、成员资格数据115、消息数据116、项目数据122和资产数据132可以通过通信单元410被下载到永久存储器408。
(多个)I/O接口412允许通过可以连接到计算设备110、储存库服务器120和(多个)数据服务器130的其它设备对数据的输入和输出。例如,I/O接口412可以提供到诸如键盘、小键盘、触摸屏和/或一些其它合适的输入设备的外接设备418的连接。外部设备418还可以包括便携式计算机可读存储介质,诸如指状驱动器、便携式光盘或磁盘、以及存储卡。用于实践本发明的实施例的软件和数据,例如资产程序112、NLP模块113、活动数据114、成员资格数据115、消息数据116、项目数据122和资产数据132,可以存储在这样的便携式计算机可读存储介质上,并且可以经由(多个)I/O接口412加载到永久存储装置408上。(多个)I/O接口412也连接到显示器420。
显示器420提供向用户显示数据的机制,并且可以是例如计算机监控器或电视屏幕。
这里描述的程序是基于在本发明的特定实施例中实现它们的应用来识别的。然而,应当理解,这里的任何特定程序术语仅是为了方便而使用,因此本发明不应当限于仅在由这样的术语识别和/或暗示的任何特定应用中使用。

Claims (7)

1.一种方法,包括:
由一个或多个处理器识别多个资产;
由所述一个或多个处理器确定由所述多个资产中的至少一个资产提供的内容;
由所述一个或多个处理器确定与由所述至少一个资产提供的所述内容相关联的项目;以及
由所述一个或多个处理器更新与所述项目相关联的储存库以包括所述至少一个资产。
2.根据权利要求1所述的方法,所述方法还包括:
响应于确定所述内容与新项目相对应,由所述一个或多个处理器在所述储存库中创建新条目,其中所述新条目包括所述至少一个资产。
3.根据权利要求1所述的方法,其中,所述多个资产至少部分基于以下中的一个或多个来识别:(i)所述项目的成员的文件访问活动;(ii)所述多个资产的文件类型;(iii)项目成员的成员资格;以及(iv)所述多个资产的内容。
4.根据权利要求1所述的方法,其中,所述多个资产包括多个消息,其中所述多个消息在涉及所述项目的至少一个成员的讨论中被共享。
5.根据权利要求4所述的方法,所述方法还包括:
由所述一个或多个处理器确定由所述多个消息中的至少一个消息提供的内容;以及
响应于由所述多个消息中的所述至少一个消息提供的所述内容,其中由所述至少一个消息提供的所述内容指示所述讨论包括所述项目,由所述一个或多个处理器更新与所述项目相关联的所述储存库以包括所述至少一个消息。
6.一种计算机程序产品,包括:
程序指令,所述程序指令包括分别执行根据权利要求1-5中的任一项所述的方法的步骤的程序指令。
7.一种计算机系统,包括:
一个或多个计算机处理器;
一个或多个计算机可读存储介质;以及
存储在所述计算机可读存储介质上以供所述一个或多个处理器中的至少一个执行的程序指令,所述程序指令包括分别执行根据权利要求1-5中的任一项所述的方法的步骤的程序指令。
CN202111432003.9A 2020-12-11 2021-11-29 用于软件开发中的协作项目的资产识别 Pending CN114625703A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/118,646 2020-12-11
US17/118,646 US11650812B2 (en) 2020-12-11 2020-12-11 Asset identification for collaborative projects in software development

Publications (1)

Publication Number Publication Date
CN114625703A true CN114625703A (zh) 2022-06-14

Family

ID=80038541

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111432003.9A Pending CN114625703A (zh) 2020-12-11 2021-11-29 用于软件开发中的协作项目的资产识别

Country Status (5)

Country Link
US (1) US11650812B2 (zh)
JP (1) JP2022093276A (zh)
CN (1) CN114625703A (zh)
DE (1) DE102021129308A1 (zh)
GB (1) GB2603265A (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112382290B (zh) * 2020-11-20 2023-04-07 北京百度网讯科技有限公司 一种语音交互方法、装置、设备和计算机存储介质

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5629980A (en) 1994-11-23 1997-05-13 Xerox Corporation System for controlling the distribution and use of digital works
AU4166601A (en) 2000-02-23 2001-09-03 Ipdn Corp Methods and devices for storing, distributing, and accessing intellectual property in digital form
US7797244B2 (en) 2002-08-29 2010-09-14 Hoke Jr Clare L Intellectual property archive
TW200428250A (en) * 2003-06-06 2004-12-16 Hon Hai Prec Ind Co Ltd A project control system and method
US7596778B2 (en) 2003-07-03 2009-09-29 Parasoft Corporation Method and system for automatic error prevention for computer software
US7277904B2 (en) 2003-12-18 2007-10-02 International Business Machines Corporation Method and system for managing intellectual property aspects of software code
US8244745B2 (en) * 2005-12-29 2012-08-14 Nextlabs, Inc. Analyzing usage information of an information management system
CN100474305C (zh) 2006-03-23 2009-04-01 华为技术有限公司 一种点对点文件共享中的热门资源搜索方法及装置
US8037453B1 (en) 2006-09-13 2011-10-11 Urbancode, Inc. System and method for continuous software configuration, test and build management
US7631294B2 (en) * 2006-09-19 2009-12-08 Black Duck Software, Inc. Notification system for source code discovery
US20090150906A1 (en) 2007-12-07 2009-06-11 Sap Ag Automatic electronic discovery of heterogeneous objects for litigation
US8874533B1 (en) 2009-03-25 2014-10-28 MyWerx, LLC System and method for data validation and life cycle management
US9569449B2 (en) * 2010-11-18 2017-02-14 International Business Machines Corporation Method and apparatus for autonomic discovery of sensitive content
WO2013078269A1 (en) 2011-11-22 2013-05-30 Solano Labs, Inc. System of distributed software quality improvement
CN105447062A (zh) 2014-09-30 2016-03-30 中国电信股份有限公司 热点数据识别方法和装置
US11334642B2 (en) * 2015-12-30 2022-05-17 Successfactors, Inc. Self-learning webpage layout based on history data
US10783151B1 (en) * 2016-06-29 2020-09-22 Amazon Technologies, Inc. Popularity-based content feed management system
CN106228074A (zh) 2016-07-14 2016-12-14 广州华多网络科技有限公司 存储对象老化方法及装置
US10599644B2 (en) * 2016-09-14 2020-03-24 International Business Machines Corporation System and method for managing artificial conversational entities enhanced by social knowledge
US11176144B2 (en) * 2016-09-16 2021-11-16 Microsoft Technology Licensing, Llc. Source code search engine
US9852377B1 (en) * 2016-11-10 2017-12-26 Dropbox, Inc. Providing intelligent storage location suggestions
US10796255B2 (en) * 2016-12-29 2020-10-06 Dropbox, Inc. Managing project tasks using content items
JP6916476B2 (ja) 2018-06-12 2021-08-11 株式会社AI Samurai 知的財産支援装置および知的財産支援方法並びに知的財産支援プログラム
US11520784B2 (en) * 2019-10-25 2022-12-06 Accenture Global Solutions Limited Utilizing neural network and machine learning models to generate a query after migrating data from a source data structure to a target data structure
US11514334B2 (en) * 2020-02-07 2022-11-29 International Business Machines Corporation Maintaining a knowledge database based on user interactions with a user interface
CN111383082A (zh) 2020-04-02 2020-07-07 广东高航知识产权运营有限公司 一种知识产权资源管理系统
US11429620B2 (en) * 2020-06-29 2022-08-30 Western Digital Technologies, Inc. Data storage selection based on data importance

Also Published As

Publication number Publication date
JP2022093276A (ja) 2022-06-23
GB2603265A (en) 2022-08-03
US20220188100A1 (en) 2022-06-16
DE102021129308A1 (de) 2022-06-15
GB202117002D0 (en) 2022-01-12
US11650812B2 (en) 2023-05-16

Similar Documents

Publication Publication Date Title
RU2621005C2 (ru) Резюмирование потоков сообщений
US20140379815A1 (en) Aggregating message responses into topic-organized content
US20190188251A1 (en) Cognitive auto-fill content recommendation
US10706362B2 (en) Significance of relationships discovered in a corpus
Hassan et al. Studying bad updates of top free-to-download apps in the google play store
US20180197088A1 (en) Discovery, characterization, and analysis of interpersonal relationships extracted from unstructed text data
US20190325012A1 (en) Phased collaborative editing
US20150278764A1 (en) Intelligent Social Business Productivity
Tizard et al. Can a conversation paint a picture? mining requirements in software forums
JP2013505500A (ja) コンテキスト上関連するタスクアイテムの自動発見
US11443144B2 (en) Storage and automated metadata extraction using machine teaching
WO2018044695A1 (en) Document sharing via logical tagging
US11443239B2 (en) Interface for machine teaching modeling
US9800536B2 (en) Automated document lifecycle management
US20110153619A1 (en) Personalized content links
WO2020023064A1 (en) Intelligent home screen of cloud-based content management platform
US10999230B2 (en) Relevant content surfacing in computer productivity platforms
CN114625703A (zh) 用于软件开发中的协作项目的资产识别
US11455461B2 (en) Self-executing document revision
US10298676B2 (en) Cost-effective reuse of digital assets
JP6759720B2 (ja) 情報処理装置及び情報処理プログラム
US10970347B2 (en) Managing user activity context using an activity context graph
Li et al. A Need-finding Study for Understanding Text Entry in Smartphone App Usage
Compton et al. Living in the present: Understanding long-term content referencing in enterprise online communities
US20230177256A1 (en) Role-Based Cross Data Source Actionable Conversation Summarizer

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