该帖已经被评为精华帖
|
|
---|---|
作者 | 正文 |
发表时间:2005-02-20
ddd 写道 我说那一大堆的意思是要说明一个问题:将界面设计放到最后是一种程序员惯性思维带来的。
而要为用户着想的话(也应该这么做),界面设计不能靠后。 你还是没有仔细看我上面说的话啊。不知道你为什么一定要牵扯到所谓的“程序员惯性思维”。想要贬低谁?想要抬高谁?想也不想直接设计界面恰恰是程序员的典型做事风格。我见过 10 个程序员 8 个都会这样做。 在你完全不理解我上面的解释的情况下,你得出与我相反的结论也是很正常的。 |
|
返回顶楼 | |
发表时间:2005-02-20
称我为用例专家确实不敢当,我只是比一般的人使用和知道用例早一些(大概在那些人谈论什么oo和uml之前我就开始使用用例了,当然这些用例还是比较原始的,而且由于得到国外的信息比较少,很多都是我自己按照自己的方式进行的)。
确实的说基本用例这个概念是存在的,当然可以用很多的方式表达这个词。其基本的核心就在于能够超脱于系统的区理解业务。而其和业务用例又有所不同,业务用例关注的是业务的流程,而基本用例还是属于关注用户和系统的交互。 在书写用例的过程中,我们肯定是要从具体的场景开始,得到设想的具体的用例,而进一步的重新抽象出基本用例。实际上作为需求的载体,基本用例会很少的改变,而具体用例和场景则存在很多的活跃因素。 从界面开始设计,其实存在着一些风险。比如由于界面的变化是随时随处发生的,这就有将工作大量集中在具体的使用而忽略用户的真实意图的风险。而界面驱动的开发,往往需要在比较强大的界面设计工具的支持下工作,这些工具往往就意味着RAD——CASE,这造成的影响会很微妙。从界面开始还可以造成,一种对客户短期感受的过于关注,而忽略了客户的长期感受。 当然我在这里并不是要反对这种开发的方式,而是要给大家提出一些应该注意的问题。只有知道界限在什么地方,才是真正的掌握了其核心内容。 |
|
返回顶楼 | |
发表时间:2005-02-20
其实大家可以看出我关于这个问题思考的转变。在最初的时候我们确实是一开始就直接做界面设计的。随着对这种开发方式理解的深入,以及《面向使用的软件设计》对我的帮助,我认识到其实首先还是应该搞清楚用户真正想要完成的任务,然后再开展交互设计来支持用户想要完成的任务。基本用例就是用来描述用户想要完成的任务的,编写基本用例的过程就是任务建模的过程。界面设计是必须要认真做好的,但是直接做界面设计(无论是在纸上还是使用 RAD/CASE 工具)确实会造成某种程度的局限。
|
|
返回顶楼 | |
发表时间:2005-02-21
dlee 写道 你还是没有仔细看我上面说的话啊。不知道你为什么一定要牵扯到所谓的“程序员惯性思维”。想要贬低谁?想要抬高谁?想也不想直接设计界面恰恰是程序员的典型做事风格。我见过 10 个程序员 8 个都会这样做。 在你完全不理解我上面的解释的情况下,你得出与我相反的结论也是很正常的。 程序员惯性思维没有贬低人的意思,我认为这种思维有错误不代表真的有错误,你认为这种思维没错误也不代表真的没错误。有分歧和贬低没直接联系。 见过 10 个程序员 8 个都会这样做,似乎情况确实这样,可能这个又是对"程序员"概念的分歧了,我所说的程序员是有丰富开发经验的,能够在不动手编码就可以进行设计这种,对工具应用熟练,总之属于比较高层次的程序员。属于这种比较高层次的程序员的惯性思维就是抓住整个程序的核心,先编写核心功能,而核心功能和界面一般都没什么关系。 我不理解你的解释么?也许吧。 |
|
返回顶楼 | |
发表时间:2005-02-21
ozzzzzz 写道 从界面开始设计,其实存在着一些风险。比如由于界面的变化是随时随处发生的,这就有将工作大量集中在具体的使用而忽略用户的真实意图的风险。而界面驱动的开发,往往需要在比较强大的界面设计工具的支持下工作,这些工具往往就意味着RAD——CASE,这造成的影响会很微妙。从界面开始还可以造成,一种对客户短期感受的过于关注,而忽略了客户的长期感受。 当然我在这里并不是要反对这种开发的方式,而是要给大家提出一些应该注意的问题。只有知道界限在什么地方,才是真正的掌握了其核心内容。 在界面设计的时候,如果充分考虑到用户的感受同时得到用户的积极意义上的反馈,那么产品在这一块就是很好的,界面设计推后的后果就是这一块很可能属于用户不友好那种,用起来很麻烦,这也是另外一种风险。 关于长期感受问题,可以认为是用户对不友好的界面和麻烦的操作已经习惯的缘故。但不友好的界面和麻烦的操作本质没变。 能否举一个属于"从界面开始能够造成用户长期感受不好"的例子? |
|
返回顶楼 | |
发表时间:2005-02-21
例子n多了。比如快捷键的问题。当然如果你的程序支持使用中定义快捷键,这个问题似乎是可以解决。但是我很少发现客户会使用这个功能。其他的如对于界面色彩等的观感,看一个小时和看一眼,以及看几年完全不是一个概念。当这些因素共同作用在一起的时候,你会发现界面的设计需要投入大量的时间和资源。
而迭代要求前期的工作还是需要尽量的稳定的,把界面放在前面,会造成很多过于活跃的因素。 实际上我认为把界面放在前面的最重要的优势是——可以更加形象和直接的去了解客户的需求,而不仅仅是泛泛的进行所谓的调查和研讨.其作用类似原形. |
|
返回顶楼 | |
发表时间:2005-02-22
ozzzzzz 写道 例子n多了。比如快捷键的问题。当然如果你的程序支持使用中定义快捷键,这个问题似乎是可以解决。但是我很少发现客户会使用这个功能。其他的如对于界面色彩等的观感,看一个小时和看一眼,以及看几年完全不是一个概念。当这些因素共同作用在一起的时候,你会发现界面的设计需要投入大量的时间和资源。
很少发现客户用快捷键的问题说明不了界面设计要拖后,说明的是界面设计的粗放,以为自己想的就是客户要的。 界面色彩等的观感这些交互关系不大的东西确实可以拖后,但界面设计不仅仅是这些和交互关系不大的东西。 这个例子不恰当。 |
|
返回顶楼 | |
发表时间:2005-02-23
ddd 写道 ozzzzzz 写道 例子n多了。比如快捷键的问题。当然如果你的程序支持使用中定义快捷键,这个问题似乎是可以解决。但是我很少发现客户会使用这个功能。其他的如对于界面色彩等的观感,看一个小时和看一眼,以及看几年完全不是一个概念。当这些因素共同作用在一起的时候,你会发现界面的设计需要投入大量的时间和资源。
很少发现客户用快捷键的问题说明不了界面设计要拖后,说明的是界面设计的粗放,以为自己想的就是客户要的。 界面色彩等的观感这些交互关系不大的东西确实可以拖后,但界面设计不仅仅是这些和交互关系不大的东西。 这个例子不恰当。 呵呵,我觉得o6z说的比较关键的是把界面设计放在前面会造成用户代表过于活跃,对于需求范围比较明确,目标用户群体小范围的项目来说,这样做是有好处的。但是对于需求范围不明确,目标用户群体比较庞大的时候,这样做会导致在前期关注了过多细节,反而忽略了全局。 因此,我认为在前期是可以提供界面的,但是在和用户代表讨论的时候要注意不要过多的纠缠于一些细节,包括界面颜色、按钮布局等等。 |
|
返回顶楼 | |
发表时间:2005-02-23
我是很少发现用户会使用鼠标而不使用键盘的。而界面为鼠标设计还是为键盘设计是会有完全不同的内容和风格,这一点非常容易理解。我说的很少使用,是说客户自定义快捷键。
我再次重申一次,我认为先设计界面类似于原形的思想。你设计的界面还是为了搞清楚客户的需求意图,而不是为了真的去设计界面。 |
|
返回顶楼 | |
发表时间:2005-02-25
ozzzzzz 写道 我是很少发现用户会使用鼠标而不使用键盘的。而界面为鼠标设计还是为键盘设计是会有完全不同的内容和风格,这一点非常容易理解。我说的很少使用,是说客户自定义快捷键。
我再次重申一次,我认为先设计界面类似于原形的思想。你设计的界面还是为了搞清楚客户的需求意图,而不是为了真的去设计界面。 客户的需求也包括对系统易用性和用户友好的需求,为了挖掘出这部分需求就得将界面设计进行到底。 关于快捷键的问题,你的意思是说完成一个功能,有人用ctrl+c 有人用ctrl+insert,无法统一,只有通过自定义快捷键才能解决的问题么? 不过我想无论怎样,当无法确定界面设计方案的时候,可能证明了系统易用性和用户友好这部分需求没弄清楚。 |
|
返回顶楼 | |