app怎么样(评价一个软件的好100字)

一个软件产品到底好不好用,是一个非常主观的感受。

但其实行业内评价一款软件好不好,还是有一些通用指标的,一般我们是从“技术的先进性、功能性(功能完备性/需求符合度)、安全性、易用性、便捷性、灵活性、性能和负载能力、可靠性(健壮性/稳定性)、可扩展性、可伸缩性、开放性、兼容性”等维度对一款软件产品进行综合评价。

但有关指标的描述,网上的文章过于专业化,估计大家都很难看懂。所以在这篇文章中,我尽可能的用大家能理解的话来和大家讲清楚吧。

技术先进性

做为用户,软件产品所使用的技术的先进性我们一般不好感知,只能听厂商“吹”,这里我不多做介绍。

功能性(功能完备性/需求符合度)

一般来说,评估软件产品的功能性(功能完备性/需求符合度)时,需要拿着产品的功能与事先确定好的用户需求做对比,才好判断功能性是好是坏/功能是否完备/需求是否符合。或者两个同样的软件产品放在一起做对比(比如Office和WPS、或者最简单的比如说WinZip和7Zip、或者我们的SiteAzure和SiteFactory进行对比)才好判断哪一个产品的功能更强大/更完备。如果是和用户需求进行对比,则应该事先尽量将用户需求详细得非常细致,越细致越好!否则如果用户需求中只是简单的功能描述,很难判断软件产品是否满足用户需求,在使用过程中就会有许多“用户觉得必须要这样改进而软件厂商觉得没有提前说明现在是需求变更”的情况出现。如果是两个或多个产品进行对比,则需要列出来详细的功能点,然后看哪一个产品的功能更多更完备。

安全性

安全性这个概念我想不用解释大家都理解。安全性是所有特性中最重要的。一个软件产品,不管其他方面做得再好,假如安全性很差,等于所有的一切都是建立在浮沙上的,轻轻一碰就坍塌了。10几年以前的产品,开发人员的安全意识不到位,其安全性让人非常担心。而现在的大部分软件产品,因为多是基于一些开发框架上做深度开发的,所以基础的安全措施都还不错,比如防SQL注入基本上所有框架都可以做到。但这并不意味着大部分的软件产品就是安全的。因为攻击手段太多,比如XSS攻击和CSRF攻击,很多开发人员对此还没有意识,导致存在着大量这方面的安全漏洞。

一般用户只能感知到一些有相应操作界面或明显提示的安全措施(比如设置密码时的密码强度提示,比如历史记录,比如日志记录),还有大量的安全防护措施用户是无感知的(比如SQL注入攻击防护、XSS攻击防护、CSRF防护、CC攻击防护、暴力猜解密码防护、越权操作限制等),因为这些安全措施是针对攻击时才会起作用的,而一般用户不知道如何攻击,也不会去主动攻击。但对于软件开发厂商来说,必须要有人对各种攻击手段非常熟悉甚至精通,才能制定出相应的安全防护措施。

易用性与便捷性

很多用户可能会把易用性和便捷性混淆,以为是同一个特性指标,但我认为便捷性与易用性还是有很大区别的。

易用性主要是考察一款否很容易使用。假如一个新手用户不需要培训,没有用户操作手册,也可以上手操作这款软件的常用功能,那就说明这款软件的易用性是达标的。当然易用性的优化是没有止境的。我们常用的另一个词“人性化设计”与易用性的评价比较接近,人性化设计得越好,产品越易用。

便捷性则主要是指软件能否将一些需要很多步的操作尽量缩减,能否快速的对多个对象进行批量操作,能否快速的找到常用的操作。有时便捷性是与易用性是统一的(比如自动排版,比如错别字检测与更正,比如错链扫描与自动修复等),有时便捷性与易用性会有矛盾(比如批量设置节点、批量设置权限等)。便捷性更适用于对软件产品已经熟悉的用户,深度使用产品时需要对一些常用操作提供更便捷快速的操作方式,但这些操作方式并不一定就是易用的。所以如何平衡与取舍,非常考验产品经理的软件设计水平。

灵活性

软件的灵活性主要是指在不需要定制开发的情况下,通过各种参数配置即可满足最多用户的各种需求。比如我们系统中的内容模型、站点扩展字段、节点扩展字段、审核流程的定义、复杂的权限配置等……当然我们产品中最灵活的还是要数模板解析引擎。这么多网站都是用同一套系统,却可以有着各种完全不同的前台页面效果,假如没有模板解析引擎或者模板解析引擎不够强大和灵活是不可能做到的。灵活性则与易用性基本上是矛盾的了。不过需要灵活性的功能一般是针对技术人员或者实施人员的,普通用户一般接触不到这些功能,所以即使不那么易用,需要一点时间学习也没有什么问题。当然,如果在灵活的前提下让相应的功能做得更易用,也是非常考验产品经理的软件设计水平的。

性能和负载能力

软件的性能和负载能力非常相似,很容易混淆,但两者并不完全相同,而是稍有区别。我们说性能高,一般是指单机环境下,对单一功能点进行非并发的单次性能测试时,响应时间少。负载能力则是指在保证正常响应时间的前提下系统能承受的并发访问量。对于单机环境,性能高则负载能力肯定强,但要注意的是:软件的负载能力还可以通过堆机器的方式来获得。整个分布式部署的大系统的负载能力强,并不意味着单机时的性能高。

可靠性(健壮性/稳定性)

软件的可靠性(健壮性/稳定性)主要是指软件的相应功能应能在复杂的运行环境里稳定、可靠地运行,在出现异常的情况下,系统应具备相应的容错机制等。换句话说,其实就是要求软件的BUG要尽可能的少,各种未知情况都有考虑,对各种异常情况都有容错机制。

软件的可靠性也是非常重要的。如果一个软件动不动就死机,动不动就蓝屏、黄屏,就算其他方面做得再好,用户也是不想用的。当然越复杂的系统,要兼容适配的硬件和网络环境越复杂,可靠性就会越低。从这个角度来说,Windows操作系统的可靠性真的是一个奇迹!这是正面的评价。想一想Windows要兼容适配多少种硬件?要兼容多少种软件?现在的互联网应用在可靠性上面花的时间和精力是最多的,这就是为什么我们觉得许多APP(比如QQ、、邮箱、京东、天猫)等看起来功能并不是非常复杂,但这些互联网公司的技术人员动不动就是几万人的原因。

可扩展性与可伸缩性

很多文章把可扩展性与可伸缩性混为一谈,但我认为两者也还是有很大区别的。

软件的可扩展性主要是指系统设计不仅基于当前的应用需求,而且还要考虑未来的发展需求。比如分层架构、模块化的设计、开放的接口、插件机制、支持不同数据库等都是一些可扩展性的具体表现。

软件的可伸缩性是指软件系统可以在不同规模、不同档次的运行环境平台上运行的能力。比如我们的SiteAzure支持从单机部署、双机热备、WEB与数据库分离部署、前后台分离部署、多台服务器负载均衡部署、读写分离部署等各种部署方案,说明可伸缩性很不错。

开放性

软件的开放性一般是指对外开放了各种接口,提供了完善的接口文档、数据库结构设计文档等,可以方便的接入各种第三方系统,可以方便的让外部第三方系统访问本软件内的数据,或者通过接口访问第三方系统的数据,或者推送数据给第三方系统。我们系统就提供了用户单点登录、第三方登录、在线支付接口、邮件发送接口、手机短信发送接口、错别字检测接口、文章导入/更新/删除接口、站群数据交换接口等,与许多第三方系统都通过接口导入或推送数据。

兼容性

软件的兼容性,是指与软件可从某一环境转移到另一环境的能力有关的一组属性。比如浏览器兼容性(兼容Chrome/Safari/Edge/Firefox/IE11 等),操作系统兼容性(兼容Windows/Linux/MacOS/各种国产操作系统等)、数据库兼容性(兼容SQLServer/MySQL/PostgreSQL/Oracle/各种国产数据库等)、芯片架构兼容性(兼容X86/ARM64/MIPS/RISC等芯片架构)、数据格式兼容性(看支持的图片格式、视频格式、音频格式、doc/wps/pdf等办公软件文档格式的多少)。

参考资料:

软件质量评估

https://baike.baidu.com/item/软件质量评估/5851341?fr=aladdin

软件评价指标

https://wenku.baidu.com/view/ff63a144e87101f69e31956c.html

软件性能

https://baike.baidu.com/item/软件性能/5341633?fr=kg_qa

软件性能指标

https://blog.csdn.net/weixin_30711917/article/details/99451687

软件性能的几个指标

https://wenku.baidu.com/view/86f7f0c6d5bbfd0a79567333.html