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

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

然而,事实上,有一些通用的指标来评估一个软件在行业中是否好。通常,我们从“先进技术、功能性(功能完备性/需求符合性)、安全性、易用性、便利性、灵活性、性能和负载能力、可靠性(健壮性/稳定性)、可扩展性、开放性和兼容性”等维度对软件产品进行综合评价。

但是网上关于指标描述的文章太专业了,估计大家都很难理解。所以在这篇文章中,我会尽力用你能理解的语言向你说清楚。

先进技术

作为用户,我们对软件产品中使用的先进技术一般都不了解,只能听厂家“吹”,这里就不介绍了。

功能(功能完整性/要求符合性)

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

安全

我认为我们不需要解释安全的概念。每个人都明白。安全性是所有功能中最重要的。不管一个软件产品在其他方面做得多好,如果它的安全性差,那就意味着一切都建立在浮沙之上,一碰就塌。对于10多年前的产品,开发者的安全意识不到位,其安全性非常令人担忧。目前大部分软件产品都是基于一些开发框架进行深度开发的,基本的安全措施还不错。例如,几乎所有的框架都可以反SQL注入。但这并不意味着大多数软件产品都是安全的。由于攻击方式太多,比如XSS攻击、CSRF攻击等,很多开发者并没有意识到这一点,导致这一领域存在大量的安全漏洞。

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

易用性和便利性

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

易用性主要是检查是否好用。如果一个新手用户不用经过培训,也不用用户手册,就能操作这个软件的常用功能,那就说明这个软件的可用性是达标的。当然,可用性的优化是无止境的。另一个常用词“人性化设计”更接近可用性的评价。人性化设计越好,产品越容易使用。

便捷性主要是指软件能否尽可能减少一些需要很多步骤的操作,能否快速对多个对象进行批量操作,能否快速找到常用操作。有时候便利性和易用性是统一的(比如自动排版,比如错别字检测和纠正,比如错链扫描和自动修复等。),有时还会出现方便性和易用性之间的矛盾(如批量设置节点、批量设置权限等)。).便捷性更适合已经熟悉软件产品的用户。产品的深入使用,对于一些常见的操作,需要更方便快捷的操作 ,但这些操作 不一定好用。因此,如何平衡和选择是对产品经理软件设计水平的一大考验。

灵活性

软件的灵活性主要是指不需要定制开发,通过各种参数配置就能满足 数量用户的需求。例如,内容模型、站点扩展字段、节点扩展字段、审批流程定义、系统中复杂的权限配置等...当然,模板解析引擎是我们产品中最灵活的一个。所以很多网站都用同一个系统,但是可以有完全不同的首页效果。如果没有模板解析引擎或者模板解析引擎不够强大和灵活,是不可能做到的。灵活性和易用性基本上是矛盾的。但是需要灵活性的功能一般都是针对技术人员或者实现人员的,普通用户一般是没有权限访问这些功能的,所以即使不是那么好用,也要花一点时间去学习。当然,如果在灵活性的前提下,让相应的功能更容易使用,也会考验产品经理的软件设计水平。

和负载能力。

软件的性能和负载能力非常相似,容易混淆,但并不完全相同,而是略有不同。我们说高性能,一般是指在单机环境下,在非并发单性能下测试单个功能点时,响应时间短。负载能力是指在保证正常响应时间的前提下,系统能够承受的并发访问。对于单机环境来说,高性能肯定会带来强大的负载能力,但需要注意的是,软件的负载能力也可以通过堆垛机来获得。整个分布式大系统的负载能力强,并不意味着单机性能高。

可靠性(坚固性/稳定性)

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

软件的可靠性也很重要。如果一个软件总是崩溃,那它永远是蓝屏和黄屏,即使在其他方面做得很好,用户也不想用它。当然,系统越复杂,要兼容和自适应的硬件和 环境越复杂,可靠性越低。从这个角度来看,Windows操作系统的可靠性真的是一个奇迹!这是一个积极的评价。想想Windows应该兼容多少种硬件?有多少种软件是兼容的?如今互联网应用在可靠性上花费的时间和精力最多,这也是为什么我们认为很多应用(比如 、E-mail、JD.COM、天猫)好像功能并不是很复杂,但是这些互联网公司的技术人员总是几万人。

可扩展性和可伸缩性

很多文章把可伸缩性和可伸缩性混为一谈,但我觉得两者还是有很大区别的。

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

软件的可扩展性是指软件系统在不同规模、不同等级的运行环境平台上运行的能力。比如我们的SiteAzure支持单机部署、双机热备、WEB和数据库分开部署、前台和后台分开部署、多台服务器均衡部署、读写分开部署等多种部署方案。,这说明可扩展性非常好。

公开

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

和睦相处

软件兼容性是指与软件从一个环境转移到另一个环境的能力相关的一组属性。比如浏览器兼容性(兼容Chrome/Safari/Edge/Firefox/IE11等。),操作系统兼容性(兼容Windows/Linux/MacOS/各种国产操作系统等。),数据库兼容性(兼容SQL Server/MySQL/PostgreSQL/Oracle/各种国产数据库等。)、芯片架构兼容性(兼容X86/ARM64/MIPS/RISC等芯片架构)、数据格式兼容性(参见支持的图片格式、视频格式、音频格式、Doc/WPS

参考文献:

软件质量评估

Https://baike.baidu.com/item/软件质量评估/5851341?阿拉丁

软件评估指标

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