关于用信息系统模型的观点分析软件系统的探讨
2021-11-30柏苗
柏苗
西南计算机有限责任公司 重庆 400060
引言
我们可以认为软件系统是一个信息系统的“灵魂”,而硬件系统是信息系统的“骨肉”,两者缺一不可,相辅相成。但是真正让一个信息系统脱颖而出,区别于其他信息系统的只能是它所承载的软件系统。比如苹果手机虽然硬件水平不一定是同期内手机中的翘楚,但是苹果特有的IOS系统,让IPhone显得卓尔不凡。苹果手机的成功很大一部分取决于作为灵魂的软件系统IOS的成功。
我们把信息系统模型抽象出来三大能力,思维能力,记忆能力和交流能力。所谓思维能力就是信息系统处理所收到信息的能力,思维能力是三大能力中的核心,一个信息系统优于同类信息系统的表现主要就在超越同类的信息处理能力;所谓记忆能力就是信息系统记录和存储信息的能力,是现实世界在系统中的影像,是思维的前提,为信息交流提供基础;所谓交流能力就是信息系统与外界通信进行交互信息的能力,它也是三大能力中不可或缺的,一个“封闭”和“对外隔绝”的信息系统是毫无意义的存在。本文采用信息系统模型三大能力的观点,再加上一些并行,串行等的模型化观点对好的软件系统进行分析。
1 好的软件系统是易用的
一款好的软件系统必定是一款易用的系统。对应于信息系统三大能力中的交流能力。一款好用的软件,应该是一款好“交流”的软件。
这个“交流”可以是机器与机器的交流,表现在实际中就是一款软件的兼容性强,它可以跨软件平台运行,比如支持windows、Linux、IOS各种操作系统,它也可以跨硬件平台运行,比如支持X86架构,ARM架构等。
这个“交流”还可以是软件与软件的交流,在实际中,一款易用的软件必定扩展性强,接口众多,比如很早就风靡一时的魔兽争霸游戏,他给用户提供了自定义的接口和地图编辑器,在魔兽争霸基础上开发出来的Dota,同样广受玩家的追捧。
这个“交流”,我觉得最重要的还是人与软件系统的交流,主要但不仅仅限于人机界面的设计。当今社会,软件行业竞争激烈,每款产品都在不停升级以防止被社会所淘汰,笔者认为,对各种商业化软件的升级最主要的工作就是在设计新的人机界面上,用样式更美观,操作更便捷的界面风格来吸引和留住用户,使软件产品能长盛不衰。比如最近我在使用Excel编辑敏感数据,我需要将此excel发送给另外的人,但是又不希望敏感的数据遭到篡改,那么excel就提供了对工作表的锁定功能。通过对工作表的锁定,必须要有密码才能对被锁定的数据进行修改。这样保证了通过excel进行通信的时候,数据的完整性和正确性;再比如大家都广为熟悉的微信软件,其核心功能几乎一直没变,但是体现给用户的是越来越炫的界面,越来越人性化和便捷的操作,我相信这些不停升级的努力,也是微信能长期保持大量用户的原因之一;包括常使用的语音助手等,其实也是为了提高软件与人类交流的能力。所以,一款好的软件系统是在不断追求与人更好地沟通的[1]。
2 好的软件系统是强大快速的
前面我们重点谈到了交流能力,这是因为笔者认为软件的易用性是目前软件成败的根本;接下来我想谈一下思维能力,这是区别一款软件强大与否的关键。
一个强大的系统肯定是一个支持并行的系统,即是一个能支持多线程,多进程的系统。因为用户总希望能同时用软件系统做几件事情,比如一边听歌,一边上网,一边写作业。
一个强大的系统必须也是一个稳定的系统,一个三天两头崩溃宕机的系统肯定是谁都不愿意使用的。从系统模型的观点,稳定的系统必定是合理的使用的负反馈的机制和闭环控制的思想,及对所有可能的异常进行合理的纠偏,使得软件回到正确的轨道上来,避免加大错误的正反馈。
众所周知,在硬件水平一定的情况下,程序的算法决定程序的运行效率。从软件系统模型的观点来看,所有的程序不外乎于三种结构:顺序,选择,循环。那么如何合理的组织好这三种结构,来提升软件系统的运行效率,这个是开发人员需要考虑的事情。
按人们以往一贯的思维,更强大的软件系统必定要更耗费硬件的资源。但是windows 8的出现颠覆了人们的这一观点。Win8运行的最低配置要求甚至比win7还低,而在相同配置的机子上运行win8的速度明显比win7要快。不得不说,微软的工程师肯定是透彻理解了信息系统的三大能力之思维能力的需要,对软件系统进行了良好的设计,从而实现了更加强大的思维能力。
3 好的软件系统不能是健忘的
目前,云的概念是被吹得如火如荼,在笔者看来,就云存储而言,其实归根到底还是人们对信息系统的记忆能力的要求的一种延伸。信息社会,信息是大爆炸的,是海量的,任何人,任何存储设备都不能指望能存下所有的海量信息,但是云的概念的出现,就是为了方便人们对信息的存放和获取。信息系统不但要能存东西,还要方便,只要有网络的地方,我就可以和“云端”进行交互信息,往云端放,从云端取。
目前云的应用在针对个人用户的范围内是广泛的发展,什么云电视、云手机是应接不暇。但是在针对企业级用户的领域内还有待拓展。这个很大的一个因素就是用户基于安全性的考虑。一个企业他有没有信心将作为商业秘密的商业数据交给云服务商进行托管,这是一个亟须解决的问题。
所以我们在考虑信息系统的记忆能力时,不仅要考虑实现的方便性,更重要的一点是记忆的安全性,就是信息系统的记忆会不会被未授权的用户所非法的获取。我想所有人都不希望自己的记忆对其他所有人都是可见的吧。
在笔者的实际工作中,还接触到一类软件系统对数据的存储有着极为苛刻的要求。数据需要定期的增量备份,需要镜像全量备份,还需要有灾难恢复的机制。所有的种种,其实都是客户对软件系统模型的记忆能力提出的更高的要求。
4 结束语
采用软件系统模型的观点来重新看待身边的软件系统,发现凡是优秀的软件系统必定是能够透过现象发现本质,采用软件系统模型的思想与方法论。