对软件质量的评价
对软件质量的评价,现在还没有统一标准。
根据个人使用CAX软件的经验,我通常从几个方面来做判断,
1.核心理论的正确性
主要是指支撑软件的理论基础,必须是科学的、严谨的、具有普适意义的。
如很多管理理论源自欧美,其社会实践受其历史人文的影响,带有先天的局限性和时效性。
那么在这些理论基础上开发的软件多数也只能完成数据库功能,而基于数据的分析、预测等,很难有真正的现实意义。
2.方法论的有效性
方法论是保证软件工作流程有效性的基础,是软件在核心理论模型引导下解决具体问题的通用流程、步骤和方式,及其选择和判断的原则。
可以说方法论是实践联系理论,理论联系实践的关键。
大多数“不好用”的软件,问题就出在方法论上。
继而,软件的完善过程其实就是方法论的完善过程。
3.运行过程自动化程度
最理想的软件,应是一次性输入即刻产生所需结果。
中间过程不需要人的干预,软件自动能把所有事情做好。
,如图,
较理想的软件,通过单一向导,中间多次输入,软件得出所需结果。
过程中软件告诉人做什么,如何做。
人需要按照提示,输入初始化的信息,或判断可否。
如图,
略理想的软件,通过多选向导,中间多次输入,软件得出所需结果。
软件提供多选项,自行组合,人根据需要逐项做出判断后选择。
如图,
欠理想的软件,仅提供一个工作平台,每部都需要人工输入、判断和修正,大多数人工录入软件(无论文字、数据或图形)都属于这一类。
软件无非是用电子化的方式,表达传统工作文本。
软件的方便之处是提供具有一定资源的工作环境,人根据需要,选择适合的资源自己操作。
还有就是方便复制和修改。
如图,
4.操作步骤的的明确性
如果软件的自动化程度不高,需要大量的人工干预,才能实现所需要的结果。
那么,“做什么?”软件应该能够给出明确的步骤。
如果软件不说,那么就会造成过程不可控,导致结果不可控。
5.操作流程的指导性
接下来是“如何做?”的问题。
此处是在操作者有必要的专业知识的前提下,为其提供符合软件运作需求的操作指导或技术指导。
为了实现指导功能,不同的
软件使用了不同的方法。
大多数采用案例教程的方式。
对一类问题给出一个完整实例,操作者可“对号入座”,“依样葫芦”。
还有的是在每一步操作的之前之后给出提示和建议。
更有约束型的模式,在操作超出软件工作范围或优化条件时,给出建议或拒绝运行。
当然,这样做会带来一定的风险,一方面软件极易产生bug;一方面,对软件面向行业的技术专业性要求更高。
6.对运行结果的建议
好的软件除了对运行过程进行引导、控制外,还应对运行的结果,提供分析功能和建议功能。
这是从工具级向系统级迈进的必然趋势。
建议既可以包括软件操作优化方面也可包含行业技术方面。
但前者是以提高软件效率的,较好实现。
而后者则用结合专业知识和行业经验了,通常软件商较难把它说清楚。
随着软件定制化的发展,通过共同开发的形式,采用CASE- by-CASE的方式,或许是降低门槛的途径。
7.运行的稳定性
这是反应软件成熟度的指标,稳定性直接反应软件的年龄。
通常一个商业软件至少要在3个版本之后,才能够达到基本稳定运行。
有时阻碍软件升级的不是没有新功能可增加,而是新功能让软件变得不稳定。
8.数据、网络相关性能
有一种说法,软件就是数据+程序,可见数据的重要度。
我们可能都有过当机的经历,当机后让人焦灼的不是不能马上继续工作,而是大量数据还没备份。
特别是那些自动化程度不高的软件的数据,浸满了使用者的心血。
所以数据安全是第一重要的,有的软件,甚至是很大牌的软件,经常会出现保存后的文件无法打开的问题。
这种情况既有软件运行造成破坏的内在原因,也有文件易遭破坏的外部原因。
数据尺寸的大小,通常用户在开始的时候并不关心。
但用了一段时间,发现软件产生的数据尺寸极大或过程文件太多或运行时调用资源太多。
没多久就会因数据管理负担过重而会频生抱怨。
软件的数据格式五花八门,有的是软件结构造成的先天原因,有的则是人为制造的技术壁垒。
那么,随着软件使用种类的增加,数据的通用性已经成为当务之急。
为了解决数据共享的问题,在众软件公司还未达成协议之前,目前多由PDM等专门来承担数据转换任务。