转向面向服务架构(SOA)存在的一个挑战是,以一种有效的方式对现有软件系统的复杂度进行测量。功能点(FP)可以测量IT应用软件的大小,该软件具有向用户提供业务的功能。功能点测量方法对其他参数(如成本效率和生产力)的输入非常重要。
如今,功能点测量还是以手动过程为主,这就限制了其对新SOA项目的分析。对象管理组织(OMG)的新自动化功能点(AFP)保证在做功能点分析时节省时间、降低成本。Dan Galorath是Galorath有限公司的首席执行官,该公司是一个软件成本预算供应商。他说,这将使组织对目前的软件基础设施准确估价变得更容易,同时也会对新项目的时间、成本和风险做出更好的估计。
虽然市场上已经出现了自动化功能,但是没有标准来确保他们能够采用同一种方法来估算。AFP根据国际功能点用户组为自动化功能点提供了一套标准。
Bill Curtis博士在其负责的IT软件质量协会中说:“OMG为AFP估算制定的标准中说明,在测量IT应用大小时应该加大功能点的适用范围。通过显著降低估算成本和解决与手动估算的不一致问题,自动化功能点测量方法可以成为软件开发和维护过程中的一个标准组件。”
测量过程要考虑到组织承担特殊业务能力的相关工作量、成本和质量因素。该计划可能会有效,估算也会很成功,但是首席财务总监却不理解为什么测量出来的数据是这样的。通过业务能力和业务目标良好的指标可以对成本进行更准确的估计,使其达到理想程度的优化和规划。
手工估算繁琐
估算FP的主要原因是要找出加强、创新或者返工过程中的工作量和进度需求。组织还不具备传统的估计功能点,因为其中涉及到估算时间和成本。在整个过程中,使用自动化的方法,就可以进行估计或者达到很接近功能点的程度。
一天的时间,一个专家可以计算约1500个功能点。一个大型应用程序(如SAP组件)大约是65000功能点,需要几周的时间来估算。AFP可以将时间和成本减少10-20倍。
组织结合工具如Galorath SEER软件后,可以使用FP数据,这样就可以对软件进行成本、进度、风险和可靠性估算。当组织进行额外的开发工作时,这种方法有助于准确的评估。
Galorath说:“很多时候人们是根据希望和猜测做的决定。源于自动化工具的计算对涉及组件维护方面的估计会更准确。能够对隐藏在SOA后的软件进行可视化呈现。”
自动化技术的优势
David Seaver是OPS咨询公司的高级技术分析师,他正努力将AFP技术应用到大型政府机构中。他说:“当要考虑组织实施能力时,为了管理SOA基础设施,组织可以完成并从AFP中获益的方式是,免费进行大小测量和开放软件资源。”
通过计算包括内部、开放的资源和商业代码在内的现有组合,组织可以了解到其他组合的复杂性。当获得了一个业务,AFP会使了解新软件基础结构和集成、强化变得更加容易。
大多数实践都是依赖于正在运行的项目,这通常包括将功能点添加到应用程序中。由于没有计算整个应用程序的数量,因此,会忽略许多遗留功能,而这些功能都是要集成到添加功能中的。
AFP还有助于更好的校正交付项目的估计。一旦部署运行起来,由于成本问题,大多数组织未能对新代码的大小进行校正。Seaver解释道:“SOA的不足之处是对整个应用程序缺乏可视化。我们将AFP视为代码分析和需求估计检验的一种方式。”
AFP存在一定的局限性。你需要一个代码库来开发带有AFP的功能点计算,因此,你不能在项目的需求阶段利用它进行估计。同样,你也不能将它应用到现有的商业软件中(因为商业软件没有资源代码)。
未来的挑战
如果AFP无法运行,Seaver预期它会给商业厂商带来压力,使其提供功能点分析来运行软件包。“他们也许不会给你源代码,但是,他们会给你一个分析结果。这将会使完成AFP内部代码或者软件更加容易,因为你不会遇到那些阻碍。”
像CAST软件公司这样的供应商在早期就应用了AFP。但是在工具成熟前和更多的用户获得访问权限前,还需要等待一段时间。在最初的实施过程中,Seaver预计AFP和成熟的功能点计算之间会存在一定的差异性。
为了使AFP有效运行,还需要花费一些时间开发业务流程。Seaver指出:“如果该项目成功,即使不是网络、系统集成专家也可以申请权限。”
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
事件驱动框架和SOA在空军的应用
空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。
-
揭秘New Relic APM技术细节
New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响
-
仅凭SOA和云无法解决业务数据管理风险问题
SOA和云可以是某些恼人问题高效的解决方案;这一点我们已经知道了。但是也要记住它们并不是所有事情的直接答案,特别是当你的问题是业务数据管理风险,而不是技术问题时。
-
购买应用集成工具可以采取平衡做法
购买应用程序集成工具需要好好看看你的公司需求,知道从供应商里面要寻找哪些关键功能。