用于模拟全球产品开发的系统和方法

文档序号:6656643阅读:199来源:国知局
专利名称:用于模拟全球产品开发的系统和方法
技术领域
本发明总体上涉及产品开发,包括软件、硬件和系统工程。
背景技术
产品制造商特别是开发软件工程的那些产品制造商,越来越转向通过更集中的开发技术来使用分布式开发过程。分布式开发工程的优点包括可以容易地利用比在单个场点所包含的资源更多的资源以及有效利用具有独特开发技能的不同开发组。
一些软件制造商选择通过在全球范围内开发软件并且利用位于全世界的多个开发场点来使这些效果最大化。在一些情况下,使用基于国际性的开发队伍可以提供众所周知的用于软件开发的“不间断追日(follow the sun)”方式,其中对某个工程的工作从一开发场点传递到另一开发场点,使得可以采取一天24小时的连续运行方式。另外,可以利用由于历史原因具有更廉价劳动力和资源成本的那些国家的开发者,以此降低成本。通过避免把所有开发工作布置在单个国家内的限制,可以认为软件制造商可以获得上述许多(如果不是全部)的效能。
然而,软件产业,尤其是在非西方国家中,只存在了较短时间,并且,直到目前,以当前质量来说,能够支持全球软件开发的通信技术尚不存在。因此,开发商和学术界都没有实在的经验来判断全球软件开发的好处。相对于全球软件开发的潜在缺点来说存在类似的经验匮乏,诸如由通信困难所带来的延迟、来自不同场点的产品质量差异或者海外监督的困难。这可能使那些试图确定是否把某项工程或整个产品外包给外国开发队伍的公司丧失信心。当为长期的开发过程作计划时,公司需要查阅可用的软件开发理论和数据并且确定对它们可用的各种机会的可能结果的能力,不论它们是集中式的还是全球分布式的。
同样,学术界和决策者尤为关注全球软件开发的宏观层效果。由全球开发的软件工程所激发的创新和就业机会可以促进开发地国家的经济或人力资源。相比之下,发达国家尤为关注制造商把现有软件开发工程移向海外更贫穷的国家或在欠发达国家启动工程的影响。虽然过去关于产业转移的关注已经存在了数十年,但各国对这种作用的关注度不高,这是因为都认为被转移到海外或在海外创建的就业岗位可能会由于创新的增加而由国内工资更高、技能更高的就业岗位代替。然而,在软件开发领域中,就业和开发工程的转移正在更高技能和更高工资水平上发生,这表明以前的经济理论和假设已不再适用。
在这两种情况下,制造商、学术界和决策者都发现他们在改变软件开发体制方面知识不足并且难于成功用于真正的预测。在研究全球软件开发方面已经进行了一些工作,诸如James Herbsleb和AudrisMockus在《IEEE Transactions on Software Engineering》发表的文章。然而,在多个开发场点之间捕获动态和变化的交互作用方面,至今尚未进行任何工作。需要一种在全球范围内多个开发场点建模和模拟软件开发的方法,这种方法提供有用和预测性数据来辅助软件开发和技术政策的决策。

发明内容
描述了一种用于模拟在一个或多个开发场点所进行的产品开发的系统。所述系统包括多个离散事件产品开发模拟模型,被配置成对特定场点的产品开发数据操作以生成模拟指标(simulation metrics)。所述系统还包括多个系统动态模拟模型,被配置成对产品开发数据和模拟指标操作以生成模拟指标。还描述了一种包含数据的计算机可读介质,所述数据描述了用于跨多个开发场点的软件开发工程的全球软件开发模型。所描述的模型包括全球系统动态模型、多个特定场点的系统动态模型和多个特定场点的离散事件模拟模型。特定场点的离散事件模拟模型被配置为对特定场点的产品数据操作以生成模拟指标。特定场点的系统动态模型被配置为与特定场点的离散事件模型相交互,接收数据和指标,并且生成模拟指标。全球系统动态模型被配置为与多个特定场点的系统动态模型相交互,接收数据和指标,并且生成全球产品开发模拟指标。
描述了一种用于模拟全球软件开发的方法。所述方法包括从多个软件开发数据场点收集软件开发数据,把所述数据作为模拟参数传递到全球软件开发模型,所述全球软件开发模型包括全球系统动态模型和多个离散事件模拟模型,并且通过利用所述全球软件开发模型模拟工程来接收所模拟的软件开发结果数据。离散事件模拟模型被配置为根据软件开发数据生成特定场点的模拟指标,并且全球系统动态模型被配置为接受数据和模拟指标并生成全球模拟指标。
通过参考结合


的下述具体实施方式
,本发明的附加特征和优点将更加清楚。

图1是图示全球软件开发模型工具的一种实现的框图,所述工具用来建模全球软件开发过程。
图2是用于图示在一种实现中示例性全球软件开发模型工具的组件的框图。
图3是图示用于产生全球软件开发模型的方法的一种实现的流程图。
图4是图示用于使用全球软件开发模型工具来预测过程改变结果的方法的一种实现的流程图。
图5是用于实现图1的全球软件开发模型工具的适当计算环境的框图。
具体实施例方式
以下描述针对全球软件开发模型工具的技术和组件。所述工具为全球软件开发模型提供通用结构,这可以促进关于全球软件开发的研究,以及提供一种可以由软件制造商当考虑全球软件开发或计划改变现有的全球工程时可使用的工具。在一种实现中,这通过结合全球系统动态模型使用特定场点的离散事件模拟模型(可以被称为“混合”模拟模型)来实现。在一种实现中,通过使用特定场点的系统动态或混合模拟模型来使在特定场点的离散模型和全球系统动态模型之间的交互作用便于进行。
说明书给出了该技术在利用数据库和网络连接的个人计算机中的示例性应用,不过在替换的实现中,可以使用不同的计算环境或连接。另外,虽然在特别强调软件开发的情况下进行这里所描述的技术,然而所描述的技术也适用于其它产品开发,诸如硬件或系统工程。
1.全球软件开发工具的例示实现图1图示了全球软件工具的组件的一种实现。在所图示的实现中,全球软件开发工具包括在全球软件开发工具计算机100上运行的模型和软件。如下面将要描述的,在各种实现中,全球软件开发工具计算机100可以包括各种形式和计算环境,包括个人计算机和网络服务器。图1还图示了网络浏览器110,所述网络浏览器110经由网络通过网络接口120与全球软件开发工具计算机100通信。网络接口120允许用户访问来自任何全球软件开发建模的数据,以及能够改变全球软件开发建模参数并且进行模拟全球软件开发。在另一实现中,网络浏览器还允许操纵全球软件开发工具计算机100上的一个或多个模型或模型组件,或者所述计算机100上的模型用来处理建模参数的方程。在候选实现方式中,网络浏览器允许操纵由工具计算机100所使用的数据或由所述计算机所产生的报告。
在一种实现中,网络接口包括在全球软件开发工具计算机100上运行的软件组件。在另一实现中,网络接口120可以包括第二计算机,用于处理来自网络浏览器110的信息请求或模拟命令与参数并且把所述信息中继转发到全球软件开发工具计算机100。在网络浏览器与用户通信的方式也可以因实现不同而不同。在各种实现中,网络接口120可以通过网络浏览器110经由以下技术向用户提供信息和控制能力,包括但不限于由网络接口所提供的Java applet、静态HTML页面、动态产生的HTML页面、PERL、CGI、PHP、ASP或Javascript。
在一种实现中,用户可以通过打开用于指出该网络接口的网络位置的标准URL来控制或访问来自全球软件开发模型的信息。在另一实现中,可能不希望使网络接口120在整个网络上可见,并且在网络浏览器110和所述网络接口120之间的连接可以包括直接链路而不是联网链路。根据全球软件开发工具的实现方式,在图1中所描绘的网络可以把各种通信网络或协议包括到网络接口,包括因特网、LAN、蓝牙连接、内部网或直接拨号。最后,虽然在图1中只图示了一个网络浏览器,然而在各个实现方式中可以配置网络接口使得它可以同时与一个以上网络浏览器通信。在一个这种实现方式中,网络接口120可以允许一次只对一个网络浏览器使用全球软件开发工具来控制模拟,以便防止冲突的命令或参数,同时仍然向多个网络浏览器提供信息。
图1还图示了全球软件开发工程数据库130。在一种实现中,此数据库包含对模拟全球软件开发有用的信息,诸如但不局限于成本统计、缺陷注入率、调度数据和人力需求。在另一实现中,数据库130包含全球软件开发模拟的结果,诸如工程成本、工程质量或工程时间。下面给出了模拟参数和模拟结果的更多例子。在又一实现中,全球软件开发工程数据库可以包括全球开发数据储存库,用于保持从关于全球软件开发的研究所获得的数据,诸如与在特定的国家或开发场点中的开发相关联的劳动力成本或时间要求。在一种实现中,当在全球软件开发领域内的研究人员继续开发新的经验数据时,随时间推移会充实全球开发数据储存库。
图1还图示了模拟软件140和全球软件开发模型150。在一种实现中,模拟软件140包括诸如Extend tool by Imagine That!之类的建模和模拟工具,用于提供用来操纵表示软件开发过程的模拟块并且使所述各块彼此相关的环境以便产生有效模型。在此实现方式中,GSD模型150可以包括这样的块,用来组合以创建所述模型。在一种实现中,一个或多个块包括在美国专利申请10/838,494中所描述类型的通用软件模块,在此该申请通过引用并入此处以供参考。在替换实现方式中,全球软件开发模型150和模拟软件140沿着模拟软件/模型线(line)被集成到软件模块中而不是被分离。在一个这种实现方式中,所组合的软件140和模型150可以包括独立的应用。另外在一些实现方式中,网络浏览器120还可以与模拟软件140和GSD模型150组合。下面将描述GSD模型150的一种实现的组件。
图2图示了全球软件开发模型工具的组件。在图2的中央,在虚线框内图示了全球软件模型150,夹在网络接口120和全球软件工程数据库130之间,全球软件工程数据库130在所图示的实现方式中利用ODBC体系结构。图2的取向图示了全球软件开发模型工具设计的一种构思,网络接口位于模型“之上”,而模型位于数据库“之上”。从而在典型的实现方式中,基本数据保持在数据库130中,通过全球软件开发模型150的动作来解释,并且通过网络接口120被中继到用户。虽然在图2中没有图示计算机100和模拟软件140,该图主要关注所示出的通用结构关联从而并未图示它们;然而上面描述了计算机和模拟软件的各种实现方式。
图2还图示了全球软件开发模型的各个组件的一种实现。图2没有图示单个模型必须覆盖每种全球开发情况;在各个实现方式中,可以修改全球软件开发模型150以根据产品类型、工程需要、制造商类型或资源或其它因素来更好地建模全球开发。另外,因为在一些实现方式中,可以使用调用软件模块的建模块,在一种情况下所述软件模块采用DLL的形式,所以一些实现方式可以包括附加软件模块,为了简化起见在图2中并未图示该软件模块。在一种实现中,模型包括关系和一般方程(generalized equation),由此可以操作软件开发数据来产生用于描述各个模拟指标的输出。
如在图2的实现方式中所图示,全球软件开发模型由单个全球系统动态模型210组成,其经由特定场点的系统动态模型230来与各个特定场点的离散事件模拟模型220相交互。在多个特定场点的模型和一个全球系统动态模型之间的这种交互作用促进了模拟全球软件开发、建模各开发场点的特性以及所述场点之间的交互作用。并且通过使用与每个场点和与场点间交互作用相关联的多个模型和模型组件,全球软件开发模型工具使得对给定软件开发工程的每个开发场点可进行特殊定制和研究。尽管在图2中图示了多个特定场点的模型,然而在替换的实现方式中也可以建立用于表示在单个场点的开发,从而只包含一种类型的特定场点的组件的模型。
在一种实现中,全球系统动态模型以及特定场点的系统动态模型可考虑各建模因素,诸如但不局限于协调、交流、文化、人力分配、生产力、人员和技能。从而,全球系统动态模型210被配置为跨各个开发场点来处理这些因素,并且当所述因素根据与特定场点的模型和离散事件模型的交互作用而动态改变时考虑这些因素。相比之下,每个特定场点的系统动态模型230被配置为当这些因素涉及具体场点时处理这些因素,并且促进在全球系统动态模型210和特定场点的离散事件模拟模型220之间的交互作用。为了进一步促进在各个特定场点的系统动态模型之间的交互作用,图2还图示了一个或多个交互影响动态模型组件240,用于建模在所述场点之间的动态交互作用。
特定场点的离散事件模拟模型处理更接近各离散开发任务的因素,诸如但不局限于过程、产品、生产力、协调、人员、质量保证和开发类型。从而,每个特定场点的离散事件模拟模型220要建模在与之关联的开发场点所出现的实际过程。为了促进在开发场点所出现的过程之间的交互作用,一个或多个离散事件过程交互作用组件250包含用于处理场点间接口的因素。
作为在图2中图示的组件之间可能发生的交互作用的一个例子,全球系统动态模型210可以控制整体质量、生产力、工程管理和调度。根据在全球系统动态模型210中所监视的全局质量等级,可以跨开发场点把人力分配给在特定场点的系统动态模型中所建模的各个验证和确认活动,继而在特定场点的离散事件模拟模型220中指派具体任务。在每个场点所模拟的故障注入、检测和返工率取决于各种特定场点的参数,诸如生产力、动力和开发者技能以及产品特性,诸如规模和复杂度。从而,一些工程特性在特定场点的系统动态模型中来管理。这些比率还受在具体场点之间的协调策略和交流因素的影响。于是所有这些因素会影响在特定场点的离散事件模拟模型中所表示的过程。然后可以把模型参数、数据和模拟结果链接到全球软件开发数据库130。
2.全球软件开发模型的开发图3图示了用于创建全球软件开发模型150的过程的一种实现。在所示方法的各种实现中,可以组合、拆分或去除各个块,同时保持所发明的过程特征。在各种实现方式中,图3的过程可以由寻求开发通用模式的学术界人士或决策者来执行,或由寻求使模型适应他们特定需要的制造商来执行。所述过程在块310开始,其中从开发场点处收集软件开发数据。在各种实现方式中,在此过程块所收集的数据可以来自于制造商关于开发场点的内部数据,可以根据在各个国家中软件或其它产品开发的经验研究来获得,或者可以来自诸如上述的全球开发数据储存库。
接下来,所述过程进至块320,其中修改现有的全球软件开发模型以紧密对应于预计要模拟的现有软件开发结构。在一种实现中,此过程涉及根据全球软件开发模型来创建或删除特定场点的模型组件,使得该模型匹配可用的开发场点。在另一实现方式中,此过程可以涉及修改根据研究或数据储存库所取得的数据以更紧密地匹配已知的参数,所述已知参数匹配当前情况。
然后所述过程进至块330,其中软件开发数据作为用于模拟的参数被输入。在一种实现中,这可以涉及向全球开发工程数据库130中所包含的数据库的指示符或位置提供模型或模拟软件。在另一实现方式中,可以由用户经由网络浏览器110和网络接口120输入所有或部分参数。接下来,在块340,用户可以确定将在模拟期间跟踪哪些结果。如同上述,这可以通过经由网络接口120操纵网络浏览器110上的网页来进行,或者包含在位于全球开发工程数据库130的信息中。最后,在块350,用户确认并证实新近创建的模型以确定当执行模拟时表示所预计的开发情况的模型,并且准确地报告它将跟踪的指标。
图4图示了用于使用全球软件开发模型工具来预测过程改变结果的过程的一种实现。在所示方法的各种实现方式中,可以组合、拆分或去除各个块,同时保持所发明的过程特征。所述过程在块400开始,其中选择对应于期望对其预测的开发结构的全球软件开发模型。在一种实现中,此过程可以涉及从数据库或储存库中选择全球软件开发模型。在另一实现方式中,可以从头创建所选择的全球软件开发模型。接下来在块410,为所述模型选择初始模拟参数。典型情况下,这些对应于常规产品开发情况或将为其建模改变的当前情况。在一些实现方式中,选择这样的模型,它不是对于当前正研究的确切开发场点组创建的,但是其结构最紧密地对应于正研究的那个开发场点。
接下来在块420,利用初始模拟参数来运行模拟以获取数据基准,据此来判断过程改变的结果。接下来,编辑全球软件开发模型以包括一个或多个过程改变。在一种实现中,这种改变可以与开发场点的时间线(timeline)改变一样小。在另一实现方式中,这种改变可以涉及包括新的开发场点,并且输入参数以使得可建模该场点,或者删除整个开发场点。依照这种方式,制造商或研究人员可以灵活地调节在单个场点内的可能开发改变,或者判断改变用于开发软件的场点的影响。
接下来在块440,使用所修改的全球软件模型来运行另一模拟以获得比较数据。然后在块450,把比较数据与来自块430的过程的基线数据相比较以确定在块430中所编辑的结果。借此,研究人员或制造商可以判断所述改变是否有益,并且使用所述数据来确定是否应当在开发过程中进行这种改变。
3.在GSD模型工具的范围内所包括的因素各种各样的因素被归入全球软件开发模型工具的范围内。一些通用区域包括但不局限于·交流问题交流开销、团队规模影响、语言差异、时区差异、通信基础设施丰富度、效能;·文化问题文化背景差异、培训、经验、问题解决方法、工作道德、管理风格、习俗和传统;·协调策略方法、管理方式、协调工具、工程规划、分布影响、协调基础结构、人为转移策略;·人力分配策略根据动态工程需要来调整、根据相关技能和经验来分配人员;·技能技术差异、经验、培训和学习;·生产力收入值、动力、工程环境的影响、团队动态、调度压力和管理策略;·人员人员分级、人力资源问题、退出率、转移率、加班等;·产品产品和模块规模、复杂度、缺陷数、质量、安全、可靠性及在模型或规格说明中已经表示的其它产品特性;·过程过程结构包括与工作转移策略(基于模块的分配、基于阶段的分配、集成分配或“追日”开发)相关联的过程生命周期(IEEE12207,快速原型法(Rapid Prototyping),统一关系过程(Rational UnifiedProcess,RUP),Agile方法,开放源(Open Source)等);·工程/开发类型纯软件、软件与系统、商业、国防、内部、COTS、获取或维护;·质量保证验证和确认(V&V)策略(与测试和预先测试并发进行)以用于分布式开发,返工策略。
另外,全球软件开发模型工具支持性能度量范围,至少覆盖以下工程调度、产品质量、缺陷、开发成本、人员分级、生产力测试有效性、通信驱动延迟和附加返工和产品改变。
4.计算环境上述全球软件开发模型150和模拟软件140(图1)可以在任何各类计算设备和环境上实现,作为几个通用例子例如包括各种类型(个人计算机、工作站、服务器、手持式、膝上、平板或其它移动)的计算机、分布式计算网络和网络服务。全球软件开发模型工具150和模拟软件140可以用硬件电路以及在计算机或其它计算环境内执行的软件580来实现,诸如在图5中所示出的那些。
图5图示了适当计算环境500的通用例子,其中可以实现所描述的技术。计算环境500并不是要对本发明的使用或功能的范围作出任何限制,本发明可以在各种通用或专用的计算环境中实现。
参考图5,计算环境500包括至少一个处理部件510和存储器520。在图5中,在虚线框内包括了此最基本的配置530。处理部件510执行计算机可执行指令并且可以是真正的或虚拟的处理器。在多处理系统中,多个处理部件执行计算机可执行指令以增加处理能力。存储器520可以是易失性存储器(例如寄存器、高速缓存器、RAM)、非易失性存储器(例如ROM、EEPROM、闪速存储器等)或这两种的组合。存储器520存储用于实现全球软件开发模型工具150和模拟软件140的软件580。
计算环境可以具有附加特征。例如,计算环境500包括存储装置540、一个或多个输入设备550、一个或多个输出设备560和一个或多个通信连接570。诸如总线、控制器或网络之类的互连机制(未示出)把计算环境500的组件互连起来。典型情况下,操作系统软件(未示出)向在计算环境500中执行的其它软件提供了操作环境,并且协调计算环境500的组件的活动。
存储装置540可以是可拆卸的或不可拆卸的,并且包括磁盘、磁带或盒式磁带、CD-ROM、CD-RW、DVD或任何其它介质,其可以用来存储信息并且可以在计算环境500内被访问。存储装置540存储用于所述软件580的指令。
输入设备550(例如,在全球软件开发模型工具150和模拟软件140中作为控制点操作的设备)可以是接触式输入设备(诸如键盘、鼠标、输入笔或轨迹球)、语音输入设备、扫描设备或用于向计算环境500提供输入的其它设备。对于音频来说,输入设备550可以是声卡或类似的设备或CD-ROM读取器,所述声卡或类似设备接受依照模拟或数字形式所输入的音频,所述CD-ROM读取器向计算环境提供音频采样。输出设备560可以是显示器、打印机、扬声器、CD写入器或从计算环境500提供输出的其它设备。
通信连接570使得能够经由通信介质与另一计算实体通信。通信介质传送诸如计算机可执行指令之类的信息、音频/视频或其它媒体信息或在调制数据信号中的其它数据。调制数据信号是这样的信号,用于使其一个或多个特征依照该信号中编码信息的方式来设置或改变。举例来说而并非限制,通信介质包括利用电、光、RF、红外、声或其它载体所实现的有线或无线技术。
可以在计算机可读介质的通用范围内描述这里的全球软件开发模型工具技术。计算机可读介质是可以在计算环境内可访问的任何可用的介质。举例来说而并非限制,利用计算环境500,计算机可读介质包括存储器520、存储装置540、通信介质和上述任何组合。
可以在计算机可执行指令的通用范围内描述这里的技术,诸如包括在程序模块中、在目标真正或虚拟处理器上在计算环境中执行的那些指令。通常,程序模块包括例程、程序、库函数、对象、类、组件、数据结构等,用于执行特定的任务或实现特定的抽象数据类型。可以在各种实施例中根据希望在程序模块之间组合或拆分各程序模块的功能。可以在本地或分布式计算环境内执行用于程序模块的计算机可执行指令。
为了表示,详细描述使用像“确定”、“创建”、“获得”和“编辑”之类的术语以描述计算环境中的计算机操作。这些术语是由计算机所执行操作的高级抽象,并且不应当与人类所执行的动作相混淆。对应于这些术语的实际计算机操作根据实施方式而改变。
考虑到可以应用本发明原理的许多可能的实施例,我们要求落入权利要求书及其等效物的范围和精神之内的本发明的所有这种实施例的权益。
权利要求
1.一种用于模拟分布式产品开发的系统,该分布式产品开发包括在多个开发场点开发的多个离散工程,所述系统包括多个特定场点的离散事件产品开发模拟模型,被配置为通过使用一般模拟方程对特定场点的产品开发数据进行操作以生成用于开发场点的模拟指标来建模开发场点的开发;和多个系统动态模拟模型,所述系统动态模型被配置为对产品开发数据和模拟指标进行操作以生成模拟指标,所述多个系统动态模拟模型包括多个特定场点的系统动态模型,被配置为与所述特定场点的离散事件产品开发模拟模型相交互,接收数据和指标,并且生成用于开发场点的模拟指标;和一个全球系统动态模拟模型,被配置为与所述多个特定场点的系统动态模型相交互,接收数据和指标,并且生成全球产品开发模拟指标。
2.如权利要求1所述的系统,其中一个或多个离散事件产品开发模拟模型和一个或多个系统动态模拟模型被配置为用于建模软件工程过程。
3.如权利要求2所述的系统,其中所述多个系统动态模拟模型进一步包括至少一个相互影响模型,被配置为用于建模与场点之间的交互作用相关联的因素。
4.如权利要求2所述的系统,进一步包括至少一个离散事件产品开发模拟模型,被配置为作为在两个特定场点的离散事件产品开发模型之间的接口。
5.如权利要求1所述的系统,进一步包括产品开发数据库,包含工程信息和过程指标。
6.如权利要求5所述的系统,其中所述多个特定场点的离散事件产品开发模拟模型被配置为与产品开发数据库通信。
7.如权利要求6所述的系统,其中在所述产品开发数据库中所包含的工程信息包括软件开发信息。
8.如权利要求1所述的系统,进一步包括网络接口模块,所述接口模块被配置为从用户接受模拟参数的指示并且向用户提供模拟信息。
9.如权利要求8所述的系统,其中所述网络接口模块进一步被配置为接受对过程模型以及与过程模型相关联的方程的改变的指示,并且使这些改变反映在所述多个特定场点的离散事件产品开发模拟模型和多个系统动态模型中。
10.如权利要求8所述的系统,其中所述网络接口模块进一步被配置为接受待由所述多个系统动态和离散事件模型所使用的数据的指示,并且使所述各模型利用所指示的数据。
11.如权利要求8所述的系统,其中所述网络接口模块进一步被配置为接受报告参数的指示,并且使所述系统依照所述报告参数来生成报告。
12.如权利要求8所述的系统,其中所述网络接口模块被配置为利用包括模拟信息的一个或多个网页来对网页请求作出响应。
13.如权利要求1所述的系统,其中所述多个离散事件产品开发模拟模型和多个动态模拟模型包括用于描述产品开发模拟建模块的多个数据文件,并且进一步包括被配置为允许操纵所述产品开发模拟建模块的建模软件。
14.一种包含数据的计算机可读介质,所述数据当被计算机读取时,描述一种全球软件开发模型,用于为跨多个开发场点的全球软件开发工程度量模拟指标,所述模型包括多个特定场点的离散事件模拟模型,被配置为通过使用一般模拟方程对特定场点的产品开发数据进行操作以生成用于开发场点的模拟指标来建模开发场点的开发;多个特定场点的系统动态模型,被配置为与所述特定场点的离散事件产品开发模拟模型相交互,接收数据和指标,并且生成用于开发场点的模拟指标;和全球系统动态模型,被配置为与多个特定场点的系统动态模型相交互,接收数据和指标,并且生成全球产品开发模拟指标。
15.如权利要求14所述的计算机可读介质,其中所述计算机可读介质进一步包括指令,所述指令当由计算机读取时,描述允许用户操纵并利用所述系统动态和离散事件模拟模型的模拟环境。
16.如权利要求14所述的计算机可读介质,其中多个软件开发场点中的每个与特定场点的系统动态模型和特定场点的离散事件模拟模型相关联。
17.如权利要求14所述的计算机可读介质,其中所述全球软件开发模型进一步包括一个或多个相互影响模型,被配置为用于建模与场点之间的交互作用相关联的因素。
18.如权利要求14所述的计算机可读介质,其中所述计算机可读介质进一步包括指令,所述指令当由计算机读取时,描述接口软件模块,被配置为向用户提供模拟信息并且接受来自用户的模拟参数。
19.如权利要求14所述的计算机可读介质,其中所述接口软件模块被配置为用于生成具有模拟信息的一个或多个网页并且通过网络浏览器接受来自用户的模拟参数。
20.一种用于为在多个开发场点所执行的软件开发工程来模拟全球软件开发工程的方法,所述方法包括从多个软件开发数据场点收集软件开发数据;把所述数据作为模拟参数传递到全球软件开发模型,所述模型包括被配置为根据软件开发数据生成特定场点的模拟指标的多个离散事件模拟模型和被配置为接受数据和模拟指标并生成用于全球软件开发工程的全球模拟指标的全球系统动态模拟模型;并且通过利用所述全球软件开发模型模拟所述软件开发工程来接收第一模拟软件开发结果数据。
21.如权利要求20所述的方法,其中多个离散事件模拟模型中的每个与软件开发场点相关联。
22.如权利要求21所述的方法,从多个软件开发数据场点中取出多个软件开发模拟场点中的每个。
23.如权利要求21所述的方法,进一步包括选择将执行软件开发模拟的多个软件开发模拟场点,并且其中所述多个软件开发数据场点不同于多个软件开发模拟场点;并且多个离散事件模拟模型中的每个与从软件开发模拟场点组中所取出的软件开发模拟场点相关联。
24.如权利要求20所述的方法,进一步包括改变一个或多个模拟参数;通过利用所述全球软件开发模型模拟所述软件开发工程来接收第二模拟软件开发结果数据;并且把第二结果数据与第一结果数据相比较以确定模拟参数中改变的影响。
25.一种利用在多个开发场点所开发的多个离散工程来模拟分布式产品开发的系统,所述系统包括多个特定场点的离散事件产品开发模拟模型,被配置为对特定场点的产品开发数据进行操作以生成用于开发场点的模拟指标;和多个系统动态模拟模型,被配置为对产品开发数据和模拟指标进行操作以生成模拟指标;其中所述多个特定场点的离散事件产品开发模拟模型和所述多个系统动态模拟模型被配置使得所述产品开发数据或模拟指标用于度量以下至少一个交流问题、文化问题、协调策略、人力分配策略、技能、生产力、人员、产品、过程、工程类型、开发类型和质量保证。
26.如权利要求25所述的系统,其中所述多个特定场点的离散事件产品开发模拟模型和多个系统动态模拟模型被进一步配置使得所述产品开发数据或模拟指标用于度量以下至少一个工程调度、产品质量、缺陷、开发成本、人员分级、生产力、测试有效性、通信驱动延迟、附加返工和产品改变。
全文摘要
一种网络接口(120)允许用户访问来自任何全球软件开发建模的数据,以及能够改变全球软件开发建模参数并且执行全球软件开发的模拟。在另一实现方式中,网络浏览器还允许在全球软件开发工具计算机(100)上操纵一个或多个模型组件,或者计算机(100)上的模型用来处理建模参数的方程。
文档编号G06F19/00GK101031920SQ200580027869
公开日2007年9月5日 申请日期2005年6月16日 优先权日2004年6月16日
发明者大卫·M·雷佛 申请人:俄勒冈州通过州高教局代表波特兰州立大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1