- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
多功能开放式软件设计
按时提供稳定的软件产品需要严格遵守既定的开发计划。开发小组根据客户需求针对其产品设定部分功能,当然也就不可避免地排除了部分强化功能。向外部程序设计者开放软件开发流程可以为增加新的软件功能开辟另一条途径,这样做对生产时间和原始产品的质量都不会产生任何影响。
在理想情况下,一个软件只具备某用户所需的一些功能,仅消耗当前任务所需的资源,而且拥有以这些功能为中心的人机交互界面。但在现实中却很少有这样的情况,所开发的软件功能往往需要满足多个不同客户的需要。结果可能导致该软件对某些人而言过于复杂,而对其他一些人而言又缺少关键组件;不过有一种方法可以解决这一难题,该方法正被越来越多的软件开发公司和用户所采纳。
开发人员可以通过开发应用编程界面(API)获取软件程序或操作系统状态和功能方面的信息[1]。软件开发人员可能会选择通过建立一个API而取消对特定组件或所有软件的锁定,以便使客户或其他开发者可以添加新的功能来增强软件的性能。这一点对独立开发者而言非常有利,因为独立开发者可以选择增加新的功能,可以根据自己的计划自主选择,也可以在不受原开发者约束的条件下自由开展工作[2]。
过去,软件开发人员要想增加软件程序的新功能必须先修改该程序的源代码 [3]。修改源代码会产生以下两方面的问题:首先,这样做会使原开发者无法控制原始软件的修改;其次,任何使用源代码的人员都可以公开使用与原始软件相关的专用自主知识产权(IP)。但与API结合后,开发者就具备了使用高级编程语言的新能力[4]。独立开发者编写的算法与原始程序的数据和公用程序之间通过API进行交互。
最初是由某开发者开发、后来又由某独立程序设计者进行扩展的软件程序可以通过计算器的一系列功能进行比喻说明。某开发者开发出了包括加、减、乘、除程序在内的简单程序。后来,某独立编程者在此基础上增加了正弦、余弦和正切三角函数之类的函数运算功能。如果原始开发者通过开放的API能够提供计算器软件必要组件的话,那么就可以在不修改源代码的条件下将新功能“插入”简单的计算器中[5]。
能够将额外功能(如前面例子中的三角函数)增加到软件中但又不会改变其原始结构的一个好处是可以根据需要将其开启或关闭。仅需简单计算器的用户就可以享用一个包含更少指令和概念的精简界面。一旦有需要,用户就可以通过诸如菜单栏之类的各种途径使用附加功能。
双重开发软件的概念更趋于完善。例如,诸如Web浏览器之类拥有庞大用户群的应用软件能够与一个扩展性的API相结合,生成一个由原始开发者和独立开发者群体组成的软件生态系统,独立开发者群体的任务是扩展核心软件程序。生态系统组件的综合比各个独立的生态系统提供更多的功能价值,从而使原始开发者、独立开发者和用户都能从中受益。
在油气行业,许多复杂的软件程序都旨在应对油气开采过程中出现的
多方面的挑战。例如,Petrel地震-模拟软件就包含了许多地质和地球物理(GG)工作流组件方面的工具。对于每个新版本,开发小组为了满足业界的技术需求为软件添加了一些新的功能,并提高软件效率、可靠性和用户友善性等。项目经理需要对诸多拟定功能该不该开发做出艰难的抉择。
为了向客户提供具有更多功能的GG工作流,斯伦贝谢最近开发了一个API,旨在向第三方软件供应商开放Petrel软件。这样做可以使公司开发者将精力主要集中在开发主要功能上,而独立开发者可以以插件形式给软件增加新的功能。各种新模块的复杂程度各不相同。任何具备基本编程技术的人员在几分钟内都能完成简单、省时的实现人工数据处理过程自动化算法的编写。然而,能够提供诸如电磁建模之类的更复杂功能的插件,则需要编程小组和油田专家付出更大的努力。
开放式软件既有利于独立开发者,又有利于斯伦贝谢,因为这一措施使得插件开发过程与Petrel发布进程分离开来。因此,新的功能可以随时得到开发和应用,而这些新功能的知识产权仍归其所有者所有。独立开发者可以利用Ocean应用程序开发架构在该软件基础上自主开发新功能。
Ocean架构以微软公司.NET架构和Visual C#语言之类的业界标准编程工具为基础,可以为Petrel软件的内部工作提供一个编程接口。独立编程人员可以编写自己的算法将新功能与现有组件(如属性建模或体积计算)相结合,然后在软件环境中显示交互结果。
本文介绍了开放式软件的概念,并对其如何被用来增强复杂软件的功
能做了阐述。第一个实例介绍了客户利用Ocean架构来开发新的岩石物理分析功能的过程。第二个实例重点介绍了独立软件供应商利用该软件开发电磁模拟模块的情况。同时,本文还对学术界对Ocean的采纳情况进行了讨论。
GG软件选项
地质和地球物理工作流程通常涉及多种来源的数据采集,数据处理,然后再将处理结果综合后进行解释。该流程并非是单向或一维的,在后期工作流分支中的一
您可能关注的文档
最近下载
- 小学英语新人教精通版三年级上册Unit 4 Friends Lesson 2教学课件2024秋.pptx
- 2025年易制毒化学品考试练习测试题附答案.doc
- 能源技术革命创新行动计划(2025-2030年).pptx VIP
- 创业资源的管理与整合.pptx VIP
- 2024科技住宅设计标准.docx VIP
- 2025年信息管理系统项目立项申请报告模板.docx
- 管道施工ppt课件学习资料.ppt VIP
- 【2024年7月中考试题观察研讨课件】7. 滨州中考第21题 解析.pptx VIP
- GB50156-2012(2014年版) 汽车加油加气站设计与施工规范.pdf VIP
- _黄帝内经_中相关_血气_气血_论述辨析.kdh.pdf VIP
原创力文档


文档评论(0)