acm-header
登录

ACM通信

BLOG@CACM

关于软件更新和版本变更


德拉蒙德有限公司系统工程师Carlos A. Brewer R。

软件更新现在是软件行业的标准程序;自从第一个程序诞生以来,开发人员就不断地在他们开发的软件上添加新功能或修正bug。

这些更新大多分为几个类别。就我个人而言,我将其分为两类:修复小bug和改进某些功能的小更新;2.主要的更新,增加了几个新功能的程序。

对于第一种情况,软件开发人员通常不希望用户为此付费,基本上这些是与软件生产过程有关的错误,并包含在保修声明中,这些更新对最终用户应该是“透明的”。

类型2的更新是不同的,在这种情况下,程序功能被增强,新的添加,导致程序改变其行为,甚至它的工作方式,软件开发人员希望用户为此付费,这种更新通常是每一年或两年发布,软件版本被更改为一个新的。

这些更新通常从一个特别的窗口开始,在电脑屏幕的中间出现,警告用户他们的机器将被应用更改,以“保护”或“增加新功能”到他们已经安装的当前软件程序;问题是,并不是所有的用户都花时间阅读这个窗口告诉他们什么,他们只是点击应用程序提供的几个按钮中的一个,希望这个烦人的窗口消失(是的,烦人,因为如果你点击NO,这个窗口将在下周或第二天出现,但它将继续显示,直到你更新软件),这样,用户几乎不知道发生了什么,病毒和其他恶意程序利用这种情况伪装成更新,感染和破坏这些机器中包含的信息。

当用户发现原来的程序突然被新版本取代,并意识到所有的文件和数据可能与新版本的程序不兼容,或者界面发生了巨大的变化,使用软件的条件要求很高,在新版本中做一些事情真的很困难时,会发生什么?在这种情况下,大多数用户会回到他们的旧程序,并保留尽可能多的时间,从而延迟更新过程。

新的程序版本需要花钱,不是所有的用户都有钱购买,特别是在发展中国家,这导致软件盗版增加,病毒很容易传播;程序的工作方式不能有根本性的改变,我打赌一个或两个版本会逐渐改变。

解决这个问题的方法是,大多数小的软件或安全更新都是在安静模式下进行的,所以用户交互仅限于报告显示的最后部分,这些软件更新必须是非常必要的,每天更新一行代码没有意义。

对于版本更改和重大更新成本必须降低(开源软件不存在这个问题),更新之间的时间窗口必须足够让用户为新的支出做好准备,软件更改必须是渐进的,而不是一次性的;作为软件工程师,我们必须记住,学习曲线越陡峭,问题就越多,生产力就越低。

对于发展中国家来说,成本问题的最简单解决方案是向开源解决方案迁移,对于版本升级,开源程序在更新需求、特性更新和学习曲线方面提供了最好的交易。


没有发现记录

登录为完全访问
»忘记密码? *创建ACM Web帐户
Baidu
map