课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
软件质量是对软件应用开发评估的一个重要指标,而今天我们就通过案例分析来了解一下,关于软件质量评估的先决条件都有哪些,希望通过对本文的阅读,大家对于软件编程开发有更多的了解与认识。
01高性能
所谓高性能,是指推荐服务可以在较短的时间内给用户返回相关推荐结果,并且数据是准确可靠的,同时用户会感觉整个交互过程很流畅,不会感到非常慢或者卡顿。
一般用响应时间(用户触发推荐页面到返回推荐结果的时间)来衡量高性能,通常服务需要在200ms之内返回结果,否则用户肉眼就可以直观感受到慢了,好的系统可以做到50ms之内返回结果。这个时间当然是越短越好,相应技术实现成本和难度都会更大。
当然,网络会存在各种偶发情况,即使推荐服务性能很好,我们也没法保证每个用户请求都可以在这个时间内响应,所以一般可以采用百分之多少的请求可以在多少毫秒内返回(比如99%的请求可以在75毫秒内返回)来衡量高性能。
02高可用
所谓高可用,从字面理解就是用户可以一直使用而不出现问题。
由于软件服务是基于现代芯片及硬件基础上构建的,硬件会产生故障宕机,软件也会由于bug或者偶发情况等出现问题,所以一般故障是几乎无法避免的,特别是对于大规模分布式服务,共同服务于同一服务的计算机集群越大,出现故障的可能性也会越大。
这里举个例子:比如飞机是安全的交通工具,但是一两年基本都有一些飞机相关的事故,主要是全球每天有大量的航班飞行,虽然单次飞行出问题概率非常小,但一两年累计下来至少一次飞行出问题的概率就很大了,学过概率统计的读者应该很好理解。
当这些故障出现时,软件系统将无法响应用户请求,导致提供的服务不及时、不稳定、不可靠,甚至不可用。
计算机行业的高可用一般是通过故障出现后的影响时长、等级及故障恢复的快慢来衡量一个软件系统是否高可用。如果故障不频繁、故障影响面不大、在很短的时间就恢复正常了就是高可用的系统,否则就不是高可用的系统。
很多大型网站,比如淘宝,百度基本达到了99.99%的高可用了,算下来一年大约只有0.88小时不可用。
推荐系统本身就是一项软件服务,对于推荐系统来说,高可用就是推荐服务是否稳定高效的为用户提供服务。
03可伸缩
我们可以这样来理解伸缩性,将一个模块或者系统类比为一条生产线(如富士康中苹果手机生产线),当有大量的订单需求时,可以通过扩充生产线来应对大规模的业务需求,这就是生产线的伸缩性。
推荐系统需要面对海量用户的推荐请求,同时也要为每个用户存储相关的推荐结果。可伸缩性是指是否可以通过不断增加服务器(在该服务器上部署相关的推荐服务)的手段来应对不断新增的用户及在服务高峰期暴增的请求。这种增加服务器来提供无差别的服务,必须是对用户无感知的,不会影响用户体验。
互联网产品(特别是toC互联网产品)是基于规模效应的一种生意,发展用户是公司重要的事情,在用户发展阶段,用户是爆发增长的,这时原有的推荐服务是无法满足快速增长的用户需求的,所以要求推荐服务具备伸缩能力是必然的。
由于推荐系统需要存储用户推荐结果,因此相应的存储数据库也需要具备可伸缩的能力,当前很多NoSQL数据库都是具备可伸缩能力的。
04可拓展
互联网产品是需要快速响应用户需求变化的,所以对产品做调整,或者增加新的产品形态是常有的事情。
可拓展性指的就是推荐服务可以快速响应业务需求变化,非常容易对服务做调整修改,可以非常方便地增加新的推荐业务。
比如,公司在前期没有接入广告,等做商业变现时,需要在信息流推荐中插入广告,这时就需要对信息流推荐产品做调整,整合广告投放能力。
05安全性
互联网是一个开放的服务体系,我们需要采用技术手段确保网站数据不会轻易被恶意攻击,防止数据被盗。
衡量推荐服务安全性的主要指标是针对各种恶意攻击及窃密手段是否有有效的应对方案,同时是否可以很好的保护用户隐私,特别是今年315曝光了很多数据黑产的利益链,用户数据安全性只会越来越重要,相信不久的将来,就会有更完善的法律保护措施出台。
我们已经介绍完了好的服务设计需要具备的5大要素,这些要素是任何一个互联网服务都必须关注的,更需要我们基于已有的人力资源、经验、投入成本、业务特性等做好平衡。构建优质的推荐服务,也需要关注上面的5点,需要在这5大要素之间做好取舍和平衡。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!