首先,在讨论软件界面设计之前,先普及一下软件需求分析的基础:
软件始于需求。
软件开发,能否获得成功,最重要的是需求分析的工作。因此,软件需求分析师的能力和水平,对软件项目至关重要。
多年以来,我接触过非常多软件从业人员,很多人说自己参加过多个项目,在项目组中做过需求分析,仔细聊起来却发现他们根本没有接受过软件需求分析的培训,对软件需求根本没有清晰的概念,甚至很多人认为把业务流程图画出来,把数据表做出来,就叫需求分析完成了。
我是做软件实践的,侧重基本概念。因此,本文中,我给大家讲解一下软件需求分析的基本概念。
软件需求,只有三个要素:Actor、系统边界、输入输出。如下图:
Actor:软件需求分析整个阶段,要构建的系统作为一个黑盒子。Actor与这个软件系统有直接交互关系。Actor 可以是人,也可以是其他软件系统。
系统边界:要构建的软件系统是个黑盒子,看不见这个黑盒子里面的任何子系统、模块,只能看到系统的边界。Actor 与系统的交互,都发生在系统边界上。
输入输出:Actor 与软件系统在边界上进行的所有交互。这些交互,无非是Actor给系统怎样的输入,然后系统给Actor怎样的输出,或者反之,系统给Actor怎样的输入,Actor给系统怎样的输出。用户在键盘的输入,鼠标的输入,对接系统向要构建系统发起的连接,发送的消息,接口的调用…,都是输入;用户看到的软件界面,系统的错误提示,系统回应的消息、接口调用的返回值、错误码等等,都是输出。
所有软件的需求分析,都是由这三个要素构成。首先要确定是系统边界和Actor,然后才是仔细分析Actor和系统边界之间的各种输出输出。
接下来就重点说一下软件界面设计了:
一个软件的品质等级,只要看看软件界面,就马上能看出高下了。
软件界面,首先是好用,其次才是好看。好多人经常把优先级弄错,先追求美观,用PS做很多图片,配上各种动态效果,但用起来非常难用,最后被客户骂个狗血喷头。
广州it外包服务公司提醒:软件以用为主,这句话非常深刻。软件是给人来用的,是用来解决某个领域内的问题的,完成相关的工作的。因此,能深刻理解客户的需求,提供给客户方便使用的界面,让客户能高效完成工作,这样的界面就是优秀的界面,能真正解决客户的问题。
不好的界面,术语和概念非常晦涩,客户难于理解,用起来非常复杂,客户要输入大量的数据,在大量的界面之间跳转,最后才完成一个工作项。这样的软件界面,是非常拙劣的。
软件界面的设计,是属于需求分析的范畴。让广州it外包服务公司来告诉您,在需求分析阶段,优秀的软件分析师,是怎样创造出好用的软件界面的呢?
首先,软件需求分析只要三个要素:Actor,系统边界,输入输出。对这方面不了解的,请见我写的文章“软件需求分析基础”。软件界面就是Actor与系统在边界上发生的输入输出。那么,需求分析师要做的事情,就是确定输入是什么,输出是什么,从而确定最合适的界面。
那么,需求分析师是怎么确定,输入是什么,输出是什么的呢?也很简单,需求分析师首先要弄明白,在客户上这套软件系统之前,客户是怎样完成对应的工作的。比如,在一个具体的业务场景中,客户是先接到电话,对方在电话中口述告诉一些信息,还是客户收到一个传真,或者是一个电子邮件,然后客户的下一个动作是拿标题内容查询档案库,再下一个动作是做…,再下一个动作是做…。就这样,把客户现有的各个微观活动环节一个一个找出来,分析清楚每个微观动作的输入是什么,输出是什么?
接下来的分析工作就容易了。把所有微观环节的输入项汇总到一起,重复的输入项合并为一个,如果一个环节的输出项是下一个环节的输入项,那么从汇总中去掉这个输入项,最后形成输入项集合。同样,把所有环节的输出项汇总到一起,重复的输出项合并为一个,如果一个环节的输出项是下一个环节的输入项,那么从汇总中去掉这个输出项,最后形成输出项集合。
输入项集合和输出项集合确定后,最理想的界面就是提供一个界面,界面上需要用户输入的就是输入项集合中的每个输入项,用户输入完毕后,点一个确定按钮,界面上就能显示输出项集合中的每个输出项的值。这样的界面,把客户的多个微观系列动作,一下子压缩到一个界面中,只要点个按钮,就一步完成所有动作,这样对用户来讲,是最高效的。
因此,对于微观业务场景中的输入、输出的精确分析,是软件需求分析师的核心能力,基于这样的分析,得出的界面,才是真正高品质的界面,真正对用户有价值的界面。