CN104424525A - 辅助确定项目范围的方法和装置 - Google Patents

辅助确定项目范围的方法和装置 Download PDF

Info

Publication number
CN104424525A
CN104424525A CN201310386713.1A CN201310386713A CN104424525A CN 104424525 A CN104424525 A CN 104424525A CN 201310386713 A CN201310386713 A CN 201310386713A CN 104424525 A CN104424525 A CN 104424525A
Authority
CN
China
Prior art keywords
demand
scheme
candidate
groups
constraint
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.)
Granted
Application number
CN201310386713.1A
Other languages
English (en)
Other versions
CN104424525B (zh
Inventor
C·科齐
S·M·卡根
李峰
周欣
党亚斌
陈昊
李少春
H·M·赫斯
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
Priority to CN201310386713.1A priority Critical patent/CN104424525B/zh
Priority to US14/455,983 priority patent/US9202188B2/en
Publication of CN104424525A publication Critical patent/CN104424525A/zh
Application granted granted Critical
Publication of CN104424525B publication Critical patent/CN104424525B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06316Sequencing of tasks or work
    • 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

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Development Economics (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种辅助确定项目范围的方法和装置,该方法包含:获取多个需求、需求之间的依赖关系和需求约束;根据需求之间的依赖关系生成第一分组方案,其中,将所述多个需求划分为一个或多个组,具有依赖关系的需求分在同一个组中;接收用户定义的关系约束;基于第一分组方案,生成满足用户定义的关系约束的候选分组方案的集合,其中,候选分组方案的集合中的每个候选分组方案包含一个或多个组;根据需求约束,计算候选分组方案的集合中的每个候选分组方案的组合指标;显示候选分组方案的集合中的候选分组方案以及对应的组合指标。

Description

辅助确定项目范围的方法和装置
技术领域
本发明涉及信息技术,更具体地,涉及计算机实现的辅助确定项目范围的工具。
背景技术
现代企业的业务得到许多相互依赖的软件应用的支持。对已有应用的变更的需求,是持续不断的,这些需求来自方方面面:业务创新、技术革新、缺陷修正(defect fixing)等。各种对变更的需求之间往往存在复杂的相互依赖关系。一方面,两个需求之间可能存在直接依赖关系;另一方面,由于应用之间存在相互依赖的关系,针对不同应用的需求之间因此存在间接依赖关系。
对于有许多应用的企业来说,这样的变更需求的数量往往很大,例如数以千计。为这些需求确定需要开展的项目,优化项目的范围,是一种繁重艰难的工作。这是因为,在定义项目范围时,既要考虑需求之间的依赖关系,又要满足对需求的约束。此外,不同专家和项目管理人员的知识、经验和习惯不同,人工确定项目范围往往导致在优先顺序、需求约束和需求关系等方面的冲突。
发明内容
本发明的一个目的是提供一种辅助确定项目范围的计算机实现的工具。
根据本发明的一个方面,提供一种辅助确定项目范围的方法,包含:获取多个需求、需求之间的依赖关系和需求约束;根据需求之间的依赖关系生成第一分组方案,其中,将所述多个需求划分为一个或多个组,具有依赖关系的需求分在同一个组中;接收用户定义的关系约束;基于第一分组方案,生成满足用户定义的关系约束的候选分组方案的集合,其中,候选分组方案的集合中的每个候选分组方案包含一个或多个组;根据需求约束,计算候选分组方案的集合中的每个候选分组方案的组合指标;显示候选分组方案的集合中的候选分组方案以及对应的组合指标。
另一方面,提供一种辅助确定项目范围的装置,包含:数据获取与分析模块,被配置得用于获取多个需求、需求之间的依赖关系和需求约束;初始分组模块,被配置得用于根据需求之间的依赖关系生成第一分组方案,其中,将所述多个需求划分为一个或多个组,具有依赖关系的需求分在同一个组中;关系约束接收模块,被配置得用于接收用户定义的关系约束;更新模块,被配置得用于基于第一分组方案,生成满足用户定义的关系约束的候选分组方案的集合,其中,候选分组方案的集合中的每个候选分组方案包含一个或多个组;组合指标计算模块,被配置得用于根据需求约束,计算候选分组方案的集合中的候选分组方案的组合指标;显示模块,被配置得用于显示候选分组方案的集合中的候选分组方案以及对应的组合指标。
采用本发明提供的系统化的辅助工具,有助于提高软件开发的项目管理人员的工作效率,减少确定项目范围、优化项目范围时的工作量。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图;
图2示出了按照本发明实施例的辅助确定项目范围的方法的流程图;
图3例示按照本发明实施例生成的第一分组方案;
图4例示按照本发明实施例生成的第二分组方案;
图5例示按照本发明实施例生成的候选分组方案的集合;
图6例示按照本发明实施例计算的图5所示候选分组方案的集合中的候选分组方案的组合指标的表;
图7示出了按照本发明实施例的辅助确定项目范围的装置的框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
所属技术领域的技术人员知道,本发明可以实现为系统、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其它可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。
也可以把这些计算机程序指令存储在能使得计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instruction means)的制造品(manufacture)。
也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。图1显示的计算机系统/服务器12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图1所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机系统/服务器12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
本发明的方法和装置可以在图1所示的计算机系统12上实现。
本发明的基本构思是,针对大量例如变更请求之类的需求,通过系统化的人机相互的过程,按照一定的优先顺序,基于需求之间的关系和需求约束对需求进行聚类,由此生成可以用来确定项目范围的一个或多个需求组。
下面说明本发明的各种实施方式。首先参看图2,图2示出了按照本发明实施例的辅助确定项目范围的方法的流程图。
图2所示的方法流程始于步骤210。在步骤210,获取多个需求、需求之间的依赖关系和需求约束(requirement constraints)。
在本发明的上下文中,“需求”也指的是变更请求,例如对一个IT应用(以下简称“应用”)的变更请求。一个需求与另一个需求之间往往存在直接依赖关系。例如,需求1是“修改数据库DB-2的一个数据库表”,需求3是“基于数据库DB-2制作一个数据报表”。在这种情况下,需求1与需求3之间存在直接依赖关系,需求3依赖于需求1,因为要先修改数据库表,然后才能基于修改的数据库表制作报表。此外,一个需求与另一个需求之间也可能存在间接依赖关系。例如,如果需求1针对的是应用1,需求2针对的是应用2,而应用1与应用2之间存在依赖关系,则需求1与需求2之间则因为它们分别与应用1和应用2的关系而存在依赖关系,这种关系称为间接依赖关系。
如果两个需求之间存在直接依赖关系和/或间接依赖关系,则他们之间存在依赖关系。
在项目管理领域,在描述需求的属性中,有一类属性定义对需求的约束,包括工作量约束、期限约束、价值约束等等。例如,某个需求的工作量是30人天、完成期限是9月13日、价值是1万美元等等。在本说明书中,将这种约束称作“需求约束”,在上下文清楚的情况下,也简称为“约束”。
在项目管理实践中,通常要对需求进行预处理,生成预定格式的需求描述和相关数据,并将它们存储在一个需求存储库(未予示出)。步骤210可以从需求存储库中获取需求、需求之间的依赖关系和需求约束。
为了方便以下的说明,假设在步骤210中获取了9个需求(需求1、需求2、…需求9),记为R={r1,r2,…r9},其中大写字母R表示一个需求集合,小写字母r表示需求,例如r1表示需求1。此外,还假设在步骤210中获取了这9个需求之间存在的依赖关系,例如“r3依赖于r1”;每个需求的需求约束,例如“r1所需的工作量是30人天”。然后,过程继续到步骤220。
在步骤220,根据需求之间的依赖关系生成第一分组方案,其中,将所述多个需求划分为一个或多个组,具有依赖关系的需求分在同一个组中。步骤220也称初始分组步骤。
图3例示按照本发明实施例生成的第一分组方案。该图用两个连通图301和302表示步骤220生成的第一分组方案。连通图中的一个节点表示一个需求,节点之间的有向边表示需求之间的依赖关系。例如,连通图301中,节点1表示r1,从节点3到节点1的有向边,表示r3依赖于r1。图3表示,在本例中,按照步骤220生成的第一分组方案,需求r1,…r9被划分为两个组:第一组包含5个需求,记为G301={r1,r2,r3,r7,r8},其中,“G301”表示连通图301表示的组;第二组包含4个需求,记为G302={r4,r5,r6,r9},其中,“G302”表示连通图302表示的组。
图3中也表示了其它需求之间的依赖关系,即r3依赖于r2,r5依赖于r4和r9,r6依赖于r5,r7和r8都依赖于r3。这些依赖关系都是在步骤210获取的。如图3所示,具有依赖关系的需求被分在同一个组中。
需要指出的是,虽然在图3中是用连通图表示第一分组方案中的各个组的,但是这仅仅是个示例,所属技术领域的技术人员显然明白,可以采用适合计算机处理的其它形式(例如链接表)来表示第一分组方案中的各个组及其相关数据。
按照本发明一个实施例,需求之间的依赖关系包含需求之间的直接依赖关系。如上文所述,可以从需求存储库中获取需求之间的直接依赖关系。
按照本发明一个实施例,所述多个需求是针对已有的不同应用的变更请求,需求之间的依赖关系还包含需求之间的间接依赖关系,如图所示,在这种情况下,该方法可以进一步包含:
步骤211,获取所述多个需求所针对的应用之间的依赖关系;和
步骤212,根据所述多个需求所针对的应用之间的依赖关系,导出所述多个需求中任意两个需求之间的间接依赖关系。
例如,需求1针对的是应用1,需求2针对的是应用2。此时,在步骤220中生成第一分组方案所根据的依赖关系,可以既包括直接依赖关系,又包括间接依赖关系。
在实践中,步骤211和步骤212可以与步骤210集成在一个步骤中,也可以在步骤210之后执行。在项目管理实践中,通常把预定格式的应用描述和应用之间的关系描述等数据,存储在一个应用存储库(未予示出)中。可以从应用存储库中获取应用和应用之间的关系描述,例如获取应用1和应用2之间的关系。
如果应用1和应用2之间存在依赖关系,则认为需求1与需求2之间存在间接依赖关系,例如,如果应用1依赖于应用2,则可以导出需求1依赖于需求2。
在步骤230,接收用户定义的关系约束(relationship constraints)。
按照本发明一个实施例,关系约束包含以下的至少之一:
1、包含性(inclusive)约束,指的是要将一个需求与另一个需求划分在同一个组中的要求。例如,“如果r1和r2在一组中,则r6必须在同一组中”;“r1与r6必须在同一组中”,等等。在确定项目范围的实际应用中,包含性约束“r1与r6必须在同一组中”可能意味着,用户希望将需求r1和r6包含在同一个项目中。
2、排斥性(exclusive)约束,指的是不要将一个需求与另一个需求划分在同一个组中的要求和/或不要将某需求划分在某一组或多组中的要求。例如“如果r2和r3在一组中,则r5不能在同一组中”;“r2与r5不能在同一组中”;“r7不要在第1组和第2组中”等等。在确定项目范围的实际应用中,排斥性约束“r2与r5不能在同一组中”可能意味着,用户希望在同一个项目中不要同时包含需求r2和r5。
需要指出的是,用户定义的关系约束,用户定义的关系约束是用户定义的指示要在某组中包含某需求的需求,以及/或者要在某一组或多组中排除某需求的要求,包括—但不限于—包含性约束和/或排斥性约束,是用户(例如项目管理人员)为了确定项目范围而对需求进行分组时对需求提出的额外约束条件,与在步骤210获取的需求约束相比,具有更高的优先级。
所属技术领域的技术人员应当明白,可以用各种方式接收用户定义的关系约束。例如,可以通过人机交互的方式获取关系约束,即在运行本发明实施例的方法的计算机显示器上,显示一个用户界面(UI),其中,以某种方式显示在步骤220生成的第一分组方案,提示用户在UI的输入区,针对第一分组方案,按照预先规定的计算机可识别的格式,输入关系约束,例如包含性约束和/或排斥性约束,由此从用户接收关系约束。当然,也可以把关系约束以计算机可读的形式预先存储在需求存储库中,在步骤210中或之后,从需求存储库中获取用户定义的关系约束。
在步骤230后,执行步骤240。
在步骤240,基于第一分组方案,生成满足用户定义的关系约束的候选分组方案的集合,其中,候选分组方案的集合中的每个候选分组方案包含一个或多个组。
用户定义的关系约束,可以只有包含性约束或者只有排斥性约束,也可以二者兼有。本发明实施例的方法要进行对关系约束中是否有包含性约束的确定,也要进行对关系约束中是否有排斥性约束的确定。根据关系约束包含的内容,在步骤240中可以采取相对应的处理。
按照本发明一个实施例,关系约束包括包含性约束和排斥性约束,所述基于第一分组方案生成满足用户定义的关系约束的候选分组方案的集合包含:基于第一分组方案生成满足包含性约束的第二分组方案;基于第二分组方案生成满足排斥性约束的候选分组方案的集合。
首先,基于第一分组方案生成满足包含性约束的第二分组方案。参看图4,该图例示按照本发明实施例生成的第二分组方案。具体来说,假设用户定义的包含性约束是“如果r1和r2在同一组中,则r6必须在同一组中”,则执行步骤240的结果如图4所示。如图所示,为了满足“如果r1和r2在同一组中,则r6必须在同一组中”这个要求,可以通过合并第一分组方案的组G301和G302,生成满足包含性约束的第二分组方案,第二分组方案中只有一个组G401,由图4中的连通图401表示。在图4中,节点1与节点6之间的虚线,表示需求r1和需求r6之间具有包含(include)关系,即,按照包含性约束,r1和r6要被包含在同一个组中。同样,节点2与节点6之间的虚线,表示r2和r6要被包含在同一个组中。
显然,第二分组方案也包含一个或多个分组,它们是从第一分组方案的一个或多个分组衍生的。
然后,基于第二分组方案生成满足排斥性约束的候选分组方案的集合。
假设用户定义的排斥性约束是“如果r2和r3在一组中,则r5不能在同一组中”,则执行“基于第二分组方案生成满足排斥性约束的候选分组方案的集合”的结果如图5所示。图5例示按照本发明实施例生成的候选分组方案的集合。
图5所示的候选分组方案的集合S,包含三个候选分组方案S1、S2和S3。候选分组方案S1包含三个组S1G1、S1G2和S1G3,记为S1={S1G1,S1G2,S1G3},其中,组S1G1包含需求r1、r3、r7和r8,记为S1G1={r1,r3,r7,r8}。类似地,S1G2={r2},S1G3={r4,r5,r6,r9}。
候选分组方案S2包含两个组,类似地,可以记为:
S2={S2G1,S2G2};
S2G1={r1,r2,r3,r6,r7,r8};
S2G2={r4,r5,r9}。
候选分组方案S2包含三个组,类似地,可以记为:
S3={S3G1,S3G2,S3G3};
S3G1={r1};
S3G2={r2,r3,r7,r8};
S3G3={r4,r5,r6,r9}。
步骤230和步骤240的先后顺序,表明对用户定义的关系约束的考虑的优先级,高于对需求之间的依赖关系的考虑。在步骤240中,先生成基于第一分组方案生成满足包含性约束的第二分组方案,再基于第二分组方案生成满足排斥性约束的候选分组方案的集合、即基于图4所示的分组方案生成图5所示的候选分组方案的集合,表明对排斥性约束的考虑的优先级高于对包含性约束的考虑。
以上描述的是关系约束中既有包含性约束又有排斥性约束时的处理方式。在实际应用中,可能存在关系约束中只有排斥性约束和包含性约束其中之一的情形。
按照本发明一个实施例,关系约束只包括包含性约束,所述基于第一分组方案生成满足用户定义的关系约束的候选分组方案的集合包含:
基于第一分组方案生成满足包含性约束的第二分组方案,作为所述候选分组方案的集合。
在这个实施例中,例如,基于第一分组方案生成满足包含性约束的第二分组方案的过程,与上文描述的相同。不过,所生成第二分组方案将被作为候选分组方案,用于后续步骤的处理。
按照本发明一个实施例,关系约束只包含排斥性约束,所述基于第一分组方案生成满足用户定义的关系约束的候选分组方案的集合包含:
基于第一分组方案生成满足排斥性约束的第二分组方案,作为所述候选分组方案的集合。
在这个实施例中,基于第一分组方案生成满足排斥性约束的第二分组方案的过程,与上文基于图4所示的分组方案生成图5所示的候选分组方案的集合的过程相同,因此无需赘述。
在步骤240后,已经产生了候选分组方案的集合,其中的每个候选分组方案包含一个或多个组。然后,过程前进到步骤250。以下以图5所示的候选分组方案的集合为例,说明步骤240之后的过程。
在步骤250,根据需求约束,计算候选分组方案的集合中候选分组方案的组合指标(combined indicator)。
例如,假如在步骤210获取的需求约束中,需求1—9对应的工作量、价值和最后期限约束如下表1所示。
表1:工作量、价值和最后期限约束
需求 1 2 3 4 5 6 7 8 9
工作量 30 300 40 340 250 400 120 60 200
价值 3 29 4 29 22 30 11 6 19
最后期限 09-13 09-13 10-13 12-31 12-13 12-13 10-13 10-13 12-31
表1列出了需求1、…需求9的工作量约束,根据需求1、…需求9的工作量约束,可以计算出每个候选组合方案有关的工作量的组合指标。
在项目管理实践中,往往对项目预定的约束,例如,预先定义的单个项目允许的最大工作量、单个项目的资源限制、期限限制等等。计算每个候选分组方案的组合指标,例如工作量的组合指标,就能识别某候选分组方案的总体工作量是否,超过预先定义的单个项目允许的最大工作量。
参看图6。图6例示按照本发明实施例计算的图5所示候选分组方案的集合中的每个候选分组方案的组合指标的表。
图6所示的表中,包含图5所示候选分组方案的集合中的候选分组方案S1、S2和S3的组合指标,其中:
表头“组数”表示一个候选分组方案中包含的组的个数;
表头“G1”、“G2”、“G3”分别表示某一候选分组方案中的第1组、第2组和第3组;
表头“工作量”表示一个候选分组方案中每个组的工作量,其是该组中包含的所有需求的工作量的总和,计量单位例如是“人天”;
表头“价值”表示一个候选分组方案中每个组的价值,其是该组中包含的所有需求的价值的总和,计量单位例如是“千美元”;
表头“最后期限”表示一个候选分组方案中每个组的最后期限,其是该组中包含的所有需求的期限中最晚的期限,格式为“月-日”。
例如,候选分组方案S1包含3个组:第1组(G1)、第2组(G2)和第3组(G3)。
第1组(G1)的工作量为250,其计算方式如下:
第1组(G1)就是图5所示的S1G1,第1组(G1)的工作量是S1G1中的所有需求r1、r3、r8、r9的工作量之和。根据表1,r1、r3、r8、r9的工作量分别为30、40、120、60,它们的总和为250。
类似地,可以计算出第1组(G1)的价值和最后期限分别为24、09-13。
类似地,可以计算出第2组(G2)的工作量、价值和最后期限分别为300、29、09-13;第3组(G2)的工作量、价值和最后期限分别为1190、100、12-13。
以上说明了如何计算候选分组方案S1的组合指标。以类似方式,可以计算候选分组方案S2的组合指标和候选分组方案S2的组合指标。
在步骤260,显示所述候选分组方案及其组合指标。
一个候选分组方案的组合指标,通常可以包括以下的一项或多项:
该候选分组方案包含的组的个数;
该候选分组方案中每个组的总工作量;
该候选分组方案中每个组的总价值;
该候选分组方案中每个组的最晚期限。
例如,在计算机屏幕上的用户界面中,显示图5所示的候选分组方案S1、S2和S3,以及图6所示的组合指标。可以用各种组合方式显示候选分组方案及其组合指标,例如,可以将图5所示的多个组合方案的组合指标,显示图6所示的一张表中,或者多个表中;可以先显示每个组合方案,再显示组合指标,也可以将每个组合方案与其组合指标对应地在一起显示。此外,还可以显示如表1所示的需求约束。此外,候选分组方案、组合指标以及需求约束的呈现形式,也可以与图5、图6和表1的呈现形式有所不同。所属技术领域的技术人员完全应当了解各种显示方式和呈现形式,在此无需赘述。
显示候选分组方案及其组合指标的目的,是为了让与计算机交互的用户、尤其是项目管理人员能够直观地了解各种候选分组方案的详细内容,以便从项目的角度衡量候选分组方案中包含的各个组是否适合构成一个项目。
例如,项目管理人员从用户界面上看到,候选分组方案S2包含的两个组的工作量分别是950和790(参看图6),相对均衡,适合目前的可用于项目开发的资源状况(例如人力资源状况),于是选择候选分组方案S2。这意味着项目管理人员要根据S2中的组S2G1中包含的需求r1、r2、r3、r7和r8的内容确定一个项目范围,根据S2中的组S2G2中包含的需求r4、r5和r9的内容确定另一个项目范围。图2中的方框270表示用户进行选择的步骤。
按照本发明一个实施例,还可以提供对所选择的候选分组方案的用户交互界面。如图1中从步骤270指向步骤230的虚线箭头所示,在用户选择了候选分组方案S2后,如果认为还要对候选分组方案S2进行优化,则可以通过该用户界面而返回步骤230,顺序执行随后的步骤,对候选分组方案S2进行优化。
在具体实现中,可以重复执行步骤230—步骤270的过程,直到用户获得满意的分组方案。
用户可以根据最终获得的分组方案中的每个组,定义一个的项目范围,由此定义各个优化了的项目范围。
以上说明了本发明的辅助确定项目范围的方法的各种实施方式。按照同一个发明构思,本发明也提供一种辅助确定项目范围的装置。图7例示按照本发明实施例的辅助确定项目范围的装置700的框图。如图所示,装置700包含:数据获取与分析模块710、初始分组模块720、关系约束接收模块730、更新模块740、组合指标计算模块750、显示模块760。
数据获取与分析模块710被配置得用于获取多个需求、需求之间的依赖关系和需求约束。
如前文所述,可以从一个需求数据库中获取多个需求、需求之间的依赖关系和需求约束。
初始分组模块720被配置得用于根据需求之间的依赖关系生成第一分组方案,其中,将所述多个需求划分为一个或多个组,具有依赖关系的需求分在同一个组中。
关系约束接收模块730被配置得用于接收用户定义的关系约束。
更新模块740被配置得被配置得用于基于第一分组方案,生成满足用户定义的关系约束的候选分组方案的集合,其中,候选分组方案的集合中的每个候选分组方案包含一个或多个组。
组合指标计算模块750被配置得用于根据需求约束,计算候选分组方案的集合中的候选分组方案的组合指标。
显示模块760被配置得用于显示候选分组方案的集合中的候选分组方案以及对应的组合指标。
按照本发明一个实施例,关系约束包含以下的至少之一:
包含性约束,指的是要将一个需求与另一个需求划分在同一个组中的要求;和
排斥性约束,指的是不要将一个需求与另一个需求划分在同一个组中的要求和/或不要将某需求划分在某组中的要求。
按照本发明一个实施例,更新模块被配置得响应于对用户定义的关系约束中有包含性约束和排斥性约束的确定,基于第一分组方案生成满足包含性约束的第二分组方案,基于第二分组方案生成满足排斥性约束的候选分组方案的集合。
按照本发明一个实施例,更新模块被配置得响应于对用户定义的关系约束中只有包含性约束的确定,基于第一分组方案生成满足包含性约束的第二分组方案,作为所述候选分组方案的集合。
按照本发明一个实施例,更新模块被配置得响应于对用户定义的关系约束中只有排斥性约束的确定,基于第一分组方案生成满足排斥性约束的第二分组方案,作为所述候选分组方案的集合。
按照本发明一个实施例,需求之间的依赖关系包含需求之间的直接依赖关系。
按照本发明一个实施例,所述多个需求是针对已有的不同应用的变更请求,需求之间的依赖关系还包含需求之间的间接依赖关系,其中,所述装置进一步包含:
用于获取所述多个需求所针对的应用之间的依赖关系的装置;和
用于根据所述多个需求所针对的应用之间的依赖关系导出所述多个需求中任意两个需求之间的间接依赖关系的装置。
如前文所述,可以从一个应用存储库中获取应用之间的依赖关系。
按照本发明一个实施例,候选分组方案的组合指标,包括以下的一项或多项:
该候选分组方案包含的组的个数;
该候选分组方案中每个组的总工作量;
该候选分组方案中每个组的总价值;
该候选分组方案中每个组的最晚期限。
以上说明了本发明的辅助确定项目范围的装置的实施例。在对辅助确定项目范围的装置的实施例的描述中,省略了与对辅助确定项目范围的方法的描述中重复的内容,或者能够从上述对辅助确定项目范围的方法的描述中导出的内容。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (16)

1.一种辅助确定项目范围的方法,包含:
获取多个需求、需求之间的依赖关系和需求约束;
根据需求之间的依赖关系生成第一分组方案,其中,将所述多个需求划分为一个或多个组,具有依赖关系的需求分在同一个组中;
接收用户定义的关系约束;
基于第一分组方案,生成满足用户定义的关系约束的候选分组方案的集合,其中,候选分组方案的集合中的每个候选分组方案包含一个或多个组;
根据需求约束,计算候选分组方案的集合中的候选分组方案的组合指标;
显示候选分组方案的集合中的候选分组方案以及对应的组合指标。
2.根据权利要求1的方法,其中,关系约束包含以下的至少之一:
包含性约束,指的是要将一个需求与另一个需求划分在同一个组中的要求;和
排斥性约束,指的是不要将一个需求与另一个需求划分在同一个组中的要求和/或不要将某需求划分在某组中的要求。
3.根据权利要求2的方法,其中,关系约束包括包含性约束和排斥性约束,所述基于第一分组方案生成满足用户定义的关系约束的候选分组方案的集合包含:
基于第一分组方案生成满足包含性约束的第二分组方案;
基于第二分组方案生成满足排斥性约束的候选分组方案的集合。
4.根据权利要求2的方法,其中,关系约束只包括包含性约束,所述基于第一分组方案生成满足用户定义的关系约束的候选分组方案的集合包含:
基于第一分组方案生成满足包含性约束的第二分组方案,作为所述候选分组方案的集合。
5.根据权利要求2的方法,其中,关系约束只包含排斥性约束,所述基于第一分组方案生成满足用户定义的关系约束的候选分组方案的集合包含:
基于第一分组方案生成满足排斥性约束的第二分组方案,作为所述候选分组方案的集合。
6.根据权利要求1的方法,其中,需求之间的依赖关系包含需求之间的直接依赖关系。
7.根据权利要求6的方法,其中,所述多个需求是针对已有的不同应用的变更请求,需求之间的依赖关系还包含需求之间的间接依赖关系,其中,所述方法进一步包含:
获取所述多个需求所针对的应用之间的依赖关系;和
根据所述多个需求所针对的应用之间的依赖关系,导出所述多个需求中任意两个需求之间的间接依赖关系。
8.根据权利要求1的方法,其中,候选分组方案的组合指标,包括以下的一项或多项:
该候选分组方案包含的组的个数;
该候选分组方案中每个组的总工作量;
该候选分组方案中每个组的总价值;
该候选分组方案中每个组的最晚期限。
9.一种辅助确定项目范围的装置,包括:
数据获取与分析模块,被配置得用于获取多个需求、需求之间的依赖关系和需求约束;
初始分组模块,被配置得用于根据需求之间的依赖关系生成第一分组方案,其中,将所述多个需求划分为一个或多个组,具有依赖关系的需求分在同一个组中;
关系约束接收模块,被配置得用于接收用户定义的关系约束;
更新模块,被配置得用于基于第一分组方案,生成满足用户定义的关系约束的候选分组方案的集合,其中,候选分组方案的集合中的每个候选分组方案包含一个或多个组;
组合指标计算模块,被配置得用于根据需求约束,计算候选分组方案的集合中的候选分组方案的组合指标;
显示模块,被配置得用于显示候选分组方案的集合中的候选分组方案以及对应的组合指标。
10.根据权利要求9的装置,其中,关系约束包含以下的至少之一:
包含性约束,指的是要将一个需求与另一个需求划分在同一个组中的要求;和
排斥性约束,指的是不要将一个需求与另一个需求划分在同一个组中的要求和/或不要将某需求划分在某组中的要求。
11.根据权利要求10的装置,其中,更新模块被配置得响应于对用户定义的关系约束中有包含性约束和排斥性约束的确定,基于第一分组方案生成满足包含性约束的第二分组方案,基于第二分组方案生成满足排斥性约束的候选分组方案的集合。
12.根据权利要求10的装置,其中,更新模块被配置得响应于对用户定义的关系约束中只有包含性约束的确定,基于第一分组方案生成满足包含性约束的第二分组方案,作为所述候选分组方案的集合。
13.根据权利要求10的装置,其中,更新模块被配置得响应于对用户定义的关系约束中只有排斥性约束的确定,基于第一分组方案生成满足排斥性约束的第二分组方案,作为所述候选分组方案的集合。
14.根据权利要求9的装置,其中,需求之间的依赖关系包含需求之间的直接依赖关系。
15.根据权利要求14的装置,其中,所述多个需求是针对已有的不同应用的变更请求,需求之间的依赖关系还包含需求之间的间接依赖关系,所述装置进一步包含:
用于获取所述多个需求所针对的应用之间的依赖关系的装置;和
用于根据所述多个需求所针对的应用之间的依赖关系导出所述多个需求中任意两个需求之间的间接依赖关系的装置。
16.根据权利要求9的方法,其中,候选分组方案的组合指标,包括以下的一项或多项:
该候选分组方案包含的组的个数;
该候选分组方案中每个组的总工作量;
该候选分组方案中每个组的总价值;
该候选分组方案中每个组的最晚期限。
CN201310386713.1A 2013-08-30 2013-08-30 辅助确定项目范围的方法和装置 Expired - Fee Related CN104424525B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201310386713.1A CN104424525B (zh) 2013-08-30 2013-08-30 辅助确定项目范围的方法和装置
US14/455,983 US9202188B2 (en) 2013-08-30 2014-08-11 Impact analysis of change requests of information technology systems

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310386713.1A CN104424525B (zh) 2013-08-30 2013-08-30 辅助确定项目范围的方法和装置

Publications (2)

Publication Number Publication Date
CN104424525A true CN104424525A (zh) 2015-03-18
CN104424525B CN104424525B (zh) 2018-04-24

Family

ID=52973430

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310386713.1A Expired - Fee Related CN104424525B (zh) 2013-08-30 2013-08-30 辅助确定项目范围的方法和装置

Country Status (1)

Country Link
CN (1) CN104424525B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110188023A (zh) * 2019-05-21 2019-08-30 联想(北京)有限公司 资源健康检查方法和资源健康检查装置
CN112925800A (zh) * 2021-02-26 2021-06-08 平安普惠企业管理有限公司 数据依赖判断方法、装置、计算机设备及存储介质
WO2021169110A1 (zh) * 2020-02-28 2021-09-02 平安国际智慧城市科技股份有限公司 运输路线生成方法、装置、计算机设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040107125A1 (en) * 1999-05-27 2004-06-03 Accenture Llp Business alliance identification in a web architecture
CN1987776A (zh) * 2005-12-20 2007-06-27 国际商业机器公司 用于提供版本感知影响分析的计算机方法和装置
CN102598034A (zh) * 2009-11-09 2012-07-18 国际商业机器公司 为多个需求组提供不同服务质量的有效库存管理

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040107125A1 (en) * 1999-05-27 2004-06-03 Accenture Llp Business alliance identification in a web architecture
CN1987776A (zh) * 2005-12-20 2007-06-27 国际商业机器公司 用于提供版本感知影响分析的计算机方法和装置
CN102598034A (zh) * 2009-11-09 2012-07-18 国际商业机器公司 为多个需求组提供不同服务质量的有效库存管理

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110188023A (zh) * 2019-05-21 2019-08-30 联想(北京)有限公司 资源健康检查方法和资源健康检查装置
CN110188023B (zh) * 2019-05-21 2021-09-14 联想(北京)有限公司 资源健康检查方法和资源健康检查装置
WO2021169110A1 (zh) * 2020-02-28 2021-09-02 平安国际智慧城市科技股份有限公司 运输路线生成方法、装置、计算机设备和存储介质
CN112925800A (zh) * 2021-02-26 2021-06-08 平安普惠企业管理有限公司 数据依赖判断方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
CN104424525B (zh) 2018-04-24

Similar Documents

Publication Publication Date Title
JP6736173B2 (ja) データベースへの自然言語インタフェースのための方法、システム、記録媒体およびコンピュータ・プログラム
US9811543B2 (en) Systems and methods for generating schemas that represent multiple data sources
US9626451B2 (en) Canonical data model for iterative effort reduction in business-to-business schema integration
US10175977B2 (en) User profile based code review
CN111580861A (zh) 用于计算机环境迁移的基于模式的人工智能计划器
US20170235661A1 (en) Integration of Software Systems via Incremental Verification
CN105446966A (zh) 生成关系数据转换为rdf格式数据的映射规则的方法和装置
CN104423983A (zh) 用于开发、测试和部署应用的方法和装置
CN103970604A (zh) 基于MapReduce架构实现图处理的方法和装置
CN110502519B (zh) 一种数据聚合的方法、装置、设备及存储介质
US11263113B2 (en) Cloud application to automatically detect and solve issues in a set of code base changes using reinforcement learning and rule-based learning
CN104252472A (zh) 用于并行化数据处理的方法和装置
EP2947610A1 (en) Business problem networking system and tool
CN103377174A (zh) 用于复制文本格式的方法和装置
CN104424525A (zh) 辅助确定项目范围的方法和装置
US10664653B2 (en) Automated structured cloud datatester
Zhao et al. Due date assignment and single machine scheduling with deteriorating jobs to minimize the weighted number of tardy jobs
US11513876B2 (en) Resolving data location for queries in a multi-system instance landscape
CN104516994A (zh) 计算机实现的辅助发布规划的方法和装置
CN103914296A (zh) 用于本机语言ide代码帮助的方法和系统
CN104182414A (zh) 用于在多租户系统中管理数据库的方法和设备
US20140310248A1 (en) Verification support program, verification support apparatus, and verification support method
CN104598661A (zh) 用于涉及it系统的项目的变更请求分析的方法和装置
WO2013042182A1 (ja) リスク判定方法及びリスク判定サーバ
US20150347507A1 (en) Hierarchical query plans in an elastic parallel database management system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180424

Termination date: 20200830