课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,越来越多的程序员都开始关注用户使用体验,而今天我们就一起来了解一下,性能问题对用户体验的影响需要满足哪些需求。
1、性能
性能这个话题或许是计算机行业永远也绕不开的话题。基于网络的应用的性能先取决于应用的需求,然后是所选择的交互风格,接下来是实现的架构,后则是每个组件的实现细节。换句话说,应用软件无法回避为了实现该软件的需求而付出的基本成本。比如说软件需要的数据位于系统A,并由系统B来处理,那么该软件就无法避免的要把数据从系统A移动到系统B(好比你要访问数据库,这部分网络开销是无论如何也绕不过去的)。无论架构怎样优秀,网络的速度再快,也不可能比直接在系统A处理要快。
用户感知的性能:用户的一个动作从发出,到其得到响应的时间,其主要有两个衡量指标,延迟和完成时间。比如打开一张图片,一边下载一边显示和等下载完后再显示,对于用户感知的性能是有明显的区别的。
网络性能:通常来讲,网络性能指的的网络传输的吞吐量以及其支撑这些吞吐量所产生的开销。
网络效率:一个有趣的现象是,佳的应用性能通常时通过不使用网络而获得的。这也就是说,对于一个基于网络的应用来说,把对网络的使用降低到少,才是高效的架构风格。
2、可伸缩性
可伸缩性是可以通过配置来改变一个架构中的大量的组件之间的交互的能力。可以通过简化组件、去中心化、以及通过监视获得的信息来对交互进行配置和控制。
3、简单性
乍看之下这个架构属性有点笼统,其实也不然。比如http的无状态性特点,就使得服务器端的实现简单化,不用去保存或者恢复上一次的http请求,也使得中间的各个组件和连接器可以独立的理解单次请求的语义。通过对组件实施分离关注点原则,可以获得简单性;通过实施通用性原则,也可以提高简单性。
4、可修改性
可修改性指的是对于应用的架构做出改变的容易度。即使创造出了一个完全满足用户需要的系统,用户需求也总是会变化的,不变的事情就是变化本身。基于网络的应用中的组件跨越了网络。比如系统中的一些组件难免的会升级为新组件,系统需要能面对新旧共存的局面等等。可修改性可以做如下更细节的划分:
可进化性:指一个组件改变了内部实现而不会对其他组件产生负面影响的程度。
可扩展性:指可以把一个新功能添加到系统中的能力。动态扩展性则是指将功能添加到一个已部署的系统中,而不会影响到系统中的其他部分。
可定制型:指临时性的规定一个架构元素的行为的能力。如果一个组件的客户端能够扩展该组件的服务,而不会对其他客户端产生影响,则该组件就是可定制的。
可重用性:指一个应用软件中的组件、连接器和数据元素能够不做修改的在其他应用重用。
5、可见性
可见性指的是一个组件对于其他组件之间的交互进行监视或者进行中间周旋的能力。拥有了可见性之后,就可以通过共享缓存来改善性能、通过分层来改善可伸缩性、通过允许中间件(比如防火墙)对交互做出检查来改善安全性、通过监视来改善可靠性等。
6、可移植性
指的是软件在不同的环境下运行的能力。比如那些将代码和代码处理的数据放在一起移动的架构风格可以获得此架构属性,比如虚拟机风格、移动代理风格,以及那些限制只能使用标准格式的数据元素的架构风格。
7、可靠性
从应用软件的角度来看,可靠性是在组件、连接器和数据之间出现部分故障时,一个架构受影响的程度。通过避免单点故障、增加冗余、系统监视等方法来改善可靠性。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请在707945861群中学习了解。