试论计算机软件开发与用户实践应用
2016-10-20葛晨阳
葛晨阳
[摘要]:阐述了软件开发、信息系统、人机结合等相关概念及其内涵,表达了计算机软件开发与用户实践应用的重要性,以期引起相关人员的思考。
[关键词]:软件开发 问题 用户实践
一、软件开发
软件是能够完成预定功能、达到预期性能的可执行性的计算机程序和使程序正常执行所需要的数据以及描述程序的操作、使用的文档的集合。“计算机程序设计”学过的,可以使用某种程序设计语言将待解决的问题编计为合适计算机的语言序列,经过编译、连接生成计算机可以执行的程序,执行它可以完成预期的功能。然而程序不是计算机软件的全部,软件开发也不仅仅是程序设计或编写程序,它们只是软件和软件开发过程中的一部分。
软件开发又称为软件系统的物理设计。所谓物理设计就是根据新系统的逻辑模型,建立起逻辑模型。也就是,根据系统的逻辑功能的要求,考虑到实际条件,进行各种具体设计,确定系统的实施方案,以解决系统如何去干的问题。
二、信息系统
信息系统是一种人机系统,即人与计算机共存于系统当中,各自负担不同的任务,并通过一系列的对话和交互作用,使其相互衔接的问题得以解决,使系统目标得以实现。
存在于信息系统中的人工过程和人工操作,有的是限于目前条件,计算机无法替代;有的是必须有人的参与判断、决策和控制部分。随着计算机的发展功能不断完善,越来越多的工作将由计算机来代替。但这并不意味着人在系统中的作用被削弱,而是意味着人的作用将越来越壮大。
如何将人工过程和计算机过程进行合理的划分,这是进行系统设计的前提条件。
三、人机结合
第一,具体问题具体分析,根据功能模块执行的具体任务来分析。对于输入格式繁琐、例外情况较多及需要依据经验来判断的任务,采用人工处理比较合适,如校验单据、重要决策等。对于输入格式固定、计算处理量比较大的和例外情况比较少的任务,采用计算机处理比较合适,例如出、入账,统计工作等。总之,对信息系统的要求,从中取得各种资料信息外,还应能按照各种决策模块处理各种数据,以适应各种不同的分析和决策工作的需要。这些要求的实现,计算机起着至关重要的作用。
第二,要考虑需要和可能来划分人工处和计算机处理。如不太重要的环节、不太适合计算机处理的环节,以及受资金条件限制的地方,可以考虑用人工处理过程。
兩种处理过程有着很大的不同,但又存在于一个信息系统中,故它们的衔接问题――人机接口问题,就显得尤为重要。这个问题解决的好坏,直接影响到计算机作用的发挥,也关系到系统的工作质量和工作效率。
了解了软件开发后,我们就要谈一下软件开发的使用者――用户,当然一个软件的开发成果是由用户来肯定的。
我们生活在一个日新月异的时代,日常生活需要人们提高处理信息的能力。这种能力实际上不仅限于使用计算机的能力,还包括应用各种通信交通途径,通过媒体收集和发送有用的信息,并应用信息处理工具从大量信息中挑选出有价值的材料并设法把它们改造成适合于人们使用的形式等。
当一个用户在使用一个新的软件时,如果在三分钟内还没有什么吸引他的地方的话那么可想而知,我们将100%失去这个用户。近些年有不少公司偏好于使用过去的项目模版来设计主界面,这很明显提高了开发的速度,节省了成本。但是对用户却不能留下深刻的印象。软件开发商必须要根据商业营销学的理论,寻找到自己的目标客户群体,之后根据这个客户群体的偏好、特征来设计软件界面的整个风格,让使用者可以看到产品第一眼后产生一种与众不同的感受。
前面提到软件开发,那么软件开发的对象就是我们的用户。了解了用户的实际要求,我们就要选择适当的程序,注重优化与处理效率。
当软件运行过程中耗时较多,就要注意降低、处理用户的不满情绪。随着计算机科学技术的不断完善与提高,计算机性能与运算速度不断的提升,它已全方位应用于各行各业中。许多软件开发工作中程序运行缓慢归咎于计算机的问题,而不是从自身编程的方面找原因。所以导致工作效率偏低,许多软件恶评较多,所以我们要在能够控制的范围内优化程序代码。使用户尽情畅游在体验过程当中。尽量避免用户申请几十秒钟都没有程序的反应的发生,一旦发生就要考虑优化功能。
软件开发针对的是用户,所以软件开发要注重多人性化、多灵活性。人性化与灵活性相结合。我们在产品设计中,虽然有模块设计的理论,但我们也要切记我们设计的软件是最终为广大消费者服务的。必须要将客户的体验过程放到首位,另外不能光追求节省开发成本和提高设计效率。也要注意业务模块的相互搭配的灵活属性,不能盲目追求大众的操作形式。那样只会事得其反。
软件复用和软件构件技术受到广泛的关注。当前,面向对象的软件开发技术日趋成熟,但手工作坊式的软件开发方式仍占主导地位。在人们惊呼软件人员匮乏和软件产品危机的同时,软件开发中重复劳动严重、开发周期长、效率低。软件开发能否像制造业那样,生产标准的零部件,然后制造成不同的产品?
当然并不是说我们就可以“闭门造车”了,要多到用户群中听取他们的要求与建议。就拿我们单位的软件来说,我们是房产登记机构,升级软件适应大环境的要求是必然的,我们不能把在北、上、广地区的软件直接搬到我们的系统中来,我们存在着自已的许多不同的细节,许久以来我们也习惯于这种问题的实际解决方式。所以就要求开发者不断的更新自已的软件,学会因地制宜。当然开发者要把握我们的大方向,让软件更人性化使我们的用户更得心应手。
当然不是用户提出的问题都是对的,这就需要我们掌握灵活性,我们的工作不只是单一的“纸上谈兵”。当然我们可以使用模块设计的理论来提升相应工作中的工作效率,但我们出要亲身体验用户应用环境中推陈出新。
我们要在软件开发工作中扮演不同的用户,用自已亲身的体验来开发每一款软件。我们即是开发者也是应用者,亲身体会到用户所需求的,再来开发软件使得人性化与灵活性完美的结合。
参考文献:
[1]仇国巍.计算机软件技术基础[M].西安:西安交通大学出版社,2010.
[2]张仁津.计算机软件开发技术的研究[M].贵阳:贵州人民出版社,2005.
[3]卢玉民.软件工程[M].北京:中国铁道出版社,1994.