概述
在描述一个事物的时候,我们可以从以下三个观点出发:
1.这个事物是什么。
2.这个事物能够做什么。
3.人们能用这个事物做什么。
第一种观点是一种结构性的观点,描述事物的客观存在。但是不能说明事物的作用。
第二种观点是一种功能性观点,即说明事物可利用的价值。
第三种观点是使用者观点,说明使用者怎么使用它。
对于我们熟知的事物,大可使用上述观点来描述都没有什么大的问题,因为我们对其已经非常熟悉。但对于我们并不熟悉、从未见过或者并不存在的东西呢?
对于一个还不存在的事物,我们不知道其结构,也就不能从结构性观点出发,同时也不知道他究竟具有什么功能。最好的做法就是从使用者的观点去描述他能够为使用者做什么。从使用者角度去描述软件,也非常符合我们对事物的认知过程。对于陌生的事物我们无法发现其本质,只能从表象揭示对使用者的作用。
软件就是一种这样的事物,对于一个新开发的软件,我们不能从结构性观点去描述它,也不能从功能观点去描述它。因为这个软件还没有做,结构未定。不能从功能观点去描述它怎么理解呢?功能是计算机术语,是用来定义计算机的,而非定义需求的。功能实际描述的是输入-》计算-》输出。功能是脱离使用者愿望而存在的,我们常常说某个工具具有某个功能是在描述工具的固有性质。回到软件开发上来,从功能观点出发,采用功能分解方式来获取需求的方式缺少上下文,功能可能对使用者无用。我们经常说我们开发的产品不符合客户的期望,这是因为我们站在程序员的角度从功能性观点出发,为软件臆想出了许多的功能,但是这些功能不符合用户的期望。不符合用户期望的软件,客户不会满意,也不会为其买单。因此也就没有任何意义。
而从使用者观点去描述软件则是非常适合的,使用者观点告诉需求人员,他希望这个系统是什么样,将如何使用,希望获得什么结果。软件只需要按照使用者的要求实现就不会偏离预期。
举个例子,从功能观点出发,电视能开关,能显示,可以调频道,可以播放声音。而从使用者的观点出发,对电视的描述是人们可以打开电视开关,调到自己喜欢的频道,调节声音到合适的音量。
从结构观点出发,汽车具有底盘、发动机、悬挂、传动系统组成。从功能性观点出发,汽车能开动,能鸣笛,能载物,能挡雨。。。。。从使用者观点出发,驾驶员可以通过方向盘控制方向,可以踩下油门控制速度,可以拨动变速杆换挡。。。对于一个汽车新手来说,他不了解汽车的构造,也不关心这些。他关心的是如何转动方向盘,如何油门离合配合等等。现代汽车速度越来越快,舒适性、安全性、操纵性相比以前有本质的提高。这些进步是站在使用者的观点,根据使用者的反馈不断的调整的结果。买车的时候,销售将功能说的天花乱坠,什么涡轮增压、定速巡航、无钥匙启动、全景天窗、ESP、TSC、电子驻车、自动启停、自动泊车。。。当然配备了这些功能的汽车价格也会不菲。上面的这些功能只是汽车固有的属性,它们脱离了使用者独立存在。是否需要这些功能需要看使用者的需要。如果大部分时间都是在市区开开,就没有必要配备定速巡航。还有自动启停、自动泊车这些很鸡肋的功能。也要根据实际需要和钱包作出取舍,不然花了不菲的价格买来却用不到。所以说脱离使用者需要的功能是没有意义的。
最后
以上就是勤劳盼望为你收集整理的从使用者观点去认识软件系统的全部内容,希望文章能够帮你解决从使用者观点去认识软件系统所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复