更好地理解软件定制

admin 定制开发 2019-02-20 17:25 0
  
 
  打包软件因其独特性而简化了升级和维护。由于单一系统众所周知,因此也简化了支持和采用。根据定义,软件定制是对封装软件的修改以满足个性化需求。各种有效的企业要求导致包装软件的定制。一般而言,可用的定制技术的好处和缺点很难理解,并且不恰当地集中在一个包罗万象的感知中,即所有定制都会抑制可演化性。
 
  维护或演进是应用程序生命周期中最长且最昂贵的阶段。一旦发布,软件必须得到纠正和更新。Evolvability是用于判断应用程序合并打包软件的更新和新版本的能力的关键指标,同时在整个应用程序生命周期中维护所需的自定义。本文定义了三个级别的软件定制及其对应用程序可演化性的影响。
 
  软件定制的三个层次
 
  应用程序可以定义为支持最终用户有效执行用户特定任务所需的打包软件和定制的组合。
 
  个性化
 
  第一级定制(称为个性化)通常称为“通过配置定制”。企业标识的重要方面,如公司标识和企业配色方案,应反映企业设计。打包软件应为不同的用户组提供不同的选项。报告应反映公司身份并反映支持组织流程,工作流程和个性化所需的信息。这种第一级定制几乎总是针对企业应用程序进行,并且往往是一种无争议的做法。正确执行,个性化是很好理解的,并且需要相当低的努力来实现和维护应用程序的可演化寿命。个性化的关键指标是从打包的软件安装基准更改的属性,选项和配置设置的数量。
 
  裁缝
 
  第二级定制是裁缝,代表了应用持续进化的稳定中间立场。打包软件带有关于组织业务流程的内置假设和程序。这些假设和程序很少与实施组织现有流程的假设和程序完全匹配。因此,大多数实施项目都涉及一定程度的软件定制,以便软件适合当前的组织过程。裁剪可能涉及模块选择,表配置或添加封装的新用户功能。
 
  在模块选择中,公司选择实现软件应用程序的一个或多个模块。在这种情况下,通过公司的模块选择实现定制。模块选择的关键指标是已实现模块的数量与可用模块的总数。表配置,另一种定制技术允许企业消除与给定任务无关的功能,并定制必要的功能以更好地适应给定任务,例如选择更合适的应用程序默认值,或者在应用程序中使用特定于任务的词汇表。表配置的关键指标是每个应用程序表中配置的字段数。
 
  使用封装用户功能进行裁剪可分为五类:外部输入类型,外部输出类型,逻辑内部类型,外部接口类型和外部查询类型。所有这些二级定制定制技术都利用内置于应用程序框架中的软件“开放点”。软件开放点(通常称为应用程序编程接口(API))允许通过以明确且可延展的方式公开内部组件来更改软件系统,以便向用户部署新的或缺失的功能。正确使用这些开放点来扩展或增强打包软件的内置行为,增加了对正确开发和测试环境的要求,以及系统集成商通常提供的更高技能。
 
  在应用程序的可演化生命周期内可以轻松维护二级自定义的程度在很大程度上取决于公开的API的弹性。在成熟的打包软件中,API往往会得到无情的维护,使得在未来的软件包/定制部署周期中可以预测定制的定制。衡量已建立API变更次数和频率的指标可以深入了解应用程序开放点的稳定性和弹性。
 
  核心代码更改和新的自定义软件模块
 
  第三级定制涉及核心代码更改和新的自定义软件模块添加到打包软件。这种定制水平带来了每个修订/升级周期中真正的软件开发,集成和测试的复杂性。此级别的自定义通常会破坏对打包软件完整性和整体应用程序可演化性的信心。
 
  应仔细跟踪这些三级变化的数量和频率。大量这些更改表明打包的软件可能不适合应用程序。此外,由于没有基线培训或文档可供依赖,采用工作是这种定制级别的重要指标。具有第三级自定义的应用程序的健康可演化性度量将是所需的第三级自定义数量的下降趋势,因为新的可用软件包模块在将来的软件包/自定义部署周期中变得可用。
 
  结论
 
  由于健康的企业应用程序随着时间的推移而发展,因此可演化性应该是应用程序设计,初始实现和维护的内在指标。可以对打包软件的每个定制进行分类和测量。正确实施的第一级和第二级自定义为应用程序提供了可接受的可演化级别。第三级定制虽然最初是必要的,但通常会影响可演化性,并且应该在项目的生命周期内呈下降趋势,而第一级和第二级定制可能会向上趋势以适应这些新替换模块的配置和定制。
 

分享:

扫一扫在手机阅读、分享本文

发表评论

评论列表(条)