`
eredlab
  • 浏览: 58874 次
  • 性别: Icon_minigender_1
  • 来自: 昆明
社区版块
存档分类
最新评论

关于界面原型设计的再思考

阅读更多

 

昨天看了一篇ITEye上一篇关于界面原型设计讨论的帖子,其中某君的观点引起了偶的注意,他在帖子中如是说:

“个人观点,而且一直以来,都是用JSP代码,而且是基于后台框架的(根据时间情况),基本上是半成品,作出的原型后基本不需要修改(90%已经跟客户确认过);而且我们的原型时在需求调研阶段并行做的。基本上需求完了,界面原型也完了。

以前做过的原型的程度有,界面原型,样式、风格,布局,功能基本都与真实产品一样:

1、存JSP/HTML+CSS+JS,

2、JSP/HTML+CSS+JS + 后台java代码(如Struts),只是简单的页面跳转,没有任何逻辑处理

”.....(这里省略很多此君误导偶的高论)

见原文:http://www.iteye.com/topic/1019296?page=2#2089719

昨天晚上一读完此君高论后让偶热血沸腾,便开始构思在以后的G4.Builder中要如何按照他的这个理论将界面原型设计工具设计出来的原型和后续开发无缝接轨的问题。想了一夜,想明白了:这个理论基础就是错的。如果按照此想法去实现我的G4.Builder势必被引入歧途。唉,还好醒悟得早。这也再一次警醒自己,可以开放视听,但不要轻信别人言论,要做一个有独立思考能力的人。

此君解释了为什么要建议那么做的几条原因,下面偶逐一批斗一下,交流就该碰撞,还望楼主莫见怪。

他说:

1、在做界面原型时间,基本上90%都不需要修改,开发可以直接重用,而其他方式实现,比如PPT,word,gui designer等工具,时间比较快,但是基本交互完后,100%无法供后续开发使用,即重用率为0;

偶说:

客户给你那么多做需求时间吗?你有快速生成界面又能生成代码且这个代码还能很好的无缝的被后续开发平台使用的工具吗?开发这样一个工具的成本几何?

-------------------------------

他说:

2、跟客户沟通的时候,容易沟通,因为具有交互性,所有客户配合很好,大家也很容易了解彼此想要的东西;而其他工具做的原型,都不具备交互性,或者交互性非常非常的少,会导致客户不配合;我就遇到过这样的情况;让客户确认需求,让客户看原型,客户根本不鸟我们,你发给他,他都不看,然后几天后你问他有什么问题,人家说没有看~~~~~~

偶说:

做需求就是和客户面对面交互,我们要抓住的是客户的功能性需求而非在做需求阶段把时间拿去搞一些花哨的所谓的可以点击可以跳转可以提示信息的交互界面来误导客户,让客户停留在兴奋型需求上而不去深挖最有价值最能主导需求分析成败的功能需求上。这个环节,并不是说不做界面原型,要做,但要有度。

--------------------------------

他说:

3、把风险往前提,在需求阶段通过原型,客户配合好了,需求就更好做了,分先也少点了,而且设计阶段的工作提到了需求阶段,将界面设计不符合客户要求的时候,而且也能极少发现我们做的是不是客户想要的。因为如果到设计阶段再去考虑界面,而且一般都是在开发到一定阶段或测试的时候,客户才会介入,此时发现设计不符合客户要求的时候,那就要修改,风险就更大了,因为往往到编码阶段,是最紧张的时候,而且时间的问题更加明显。

偶说:

在需求阶段穿插一定的界面原型设计目的是要辅助需求分析人员更好更顺畅的和客户进行交互沟通。并非是把界面设计的工作往前提,更不是要让客户确认以后系统的界面就是长这么个样子了.一般来说客户是不会来干预你的界面的,你做的再漂亮设计得再艺术对于客户来说只是兴奋需求,所以说风险在于功能型需求而非兴奋型需求。

------------------------------------

他说:

4、界面原型好了后,因为90%的功能界面客户都已经确认了,所以后期大范围修改界面原型的情况几乎是不可能的,除非需求有很大的变动;而且我做的界面的基本交互已经模拟出来了,比如按某个按钮会怎么处理,有些都会模拟出来,实在不容易实现或时间太急就暂时不实现,跟客户沟通的时候会跟他解释;所以到编码阶段,开发员基本不用管太多的界面处理,基本上只专注于自己的后台逻辑实现,页面就往里套数据就ok了,开发也很happy;

偶说:

客户需求阶段出来的界面原型只是辅助需求分析的一个输出成果。给后续设计阶段(包括界面设计)的一个参考。此是需求才做结束,你弄出来的那个原型就能说以后很少修改??连库表结构什么样都不清楚,这种做法那你可能得在需求时候把设计全做了,回来就可以直接进入代码实现阶段了.这似乎是个一点也不好笑的笑话。

下面偶简单说一下偶结合自己经历过的项目并结合今天界面设计这个话题总结出来的一个界面设计环节软件过程,欢迎大家拍砖:

1.大家肯定会纠结过这样的问题,在软件过程中我们到底要不要做界面设计?界面设计在什么时候做?界面设计用什么工具做?界面设计的输出是什么?做界面设计付出的成本和带来的效益如何?

界面设计必须得做,而且要两份。

一份就是和需求一起的以需求附件形式输出的界面原型。这个界面原型可以使用pencil等界面原型设计工具来超级快速的实现,他会有很多缺陷比如显示字段不全,布局摆放不合理等等。但这都是正常的,因为他只是在和客户需求交流时的一个附带输出。他的意义在于辅助说明需求分析,给后续的设计提供参考。比如,我下面一份图所示:(只用了5分钟就画出来了)

 


另一份就是在需求分析的基础上做了概要设计(含数据库设计),并在进行功能模块详细设计的时候出来的。我觉得真正意义上的界面设计应该是和功能模块详细设计并行的,只有在有了库表对具体功能模块进行详细设计的同时也才出得来在代码实现阶段能直接以此为模版进行开发的界面设计。此阶段的界面设计我认为很重要,第一:界面元素界面风格界面布局方案小到一个很小的元素和页面边距是多少的细节都要在此界面设计中反映,代码实现必须按照这个界面设计来做,如果不按照这个界面做,到时候自由发挥出来的界面那就可以让开发人员自己改到统一风格上去,这是开发人员也没什么话说。第二:界面设计和详细设计是相辅相成的,界面上放置的任何一个元素肯定是和后台有一一关联关系的,并不是随便乱放。而后台设计也决定了界面元素甚至是界面布局。这样就互相促进,是设计人员考虑得更周全,而不是写个设计文档出来,界面什么样也不知道。到时候开发人员看这个这个纯文字的设计就去画界面,这样不仅风格不统一而且设计文档的质量考虑的是否周全都大打折扣。界面设计文档可以单独出报告也可以和功能详细设计报告合并。

下面是偶在做功能模块详细设计的同时在需求分析阶段出的界面原型基础上做的界面设计,如下图所示:

当然界面设计不应该仅仅是一张图,还应该辅以文字说明一些控制逻辑、约束规则、跳转逻辑等等。


最后做个广告哈:)

eRedG4(易道系统集成与应用开发平台)是一个开放源代码的、面向企业计算环境下异构系统集成与行业应用快速二次开发的平台。

您可以通过下面的地址获取到G4最新版本和相关资源:

GoogleCode项目主页

http://code.google.com/p/g4-xiongchun/
在线演示系统暨G4平台在线交流社区

http://web230531.host89.chinajsp.net
eRedG4平台总设计师个人博客

http://hi.baidu.com/eredlab

 

 

分享到:
评论
12 楼 xieyanhua 2011-05-18  
<div class="quote_title">Rooock 写道</div>
<div class="quote_div">
<div class="quote_title">eredlab 写道</div>
<div class="quote_div">
<p> <span style="color: #ff9900;">基本上是半成品,作出的原型后基本不需要修改(90%已经跟客户确认过);而且我们的原型时在需求调研阶段并行做的。基本上需求完了,界面原型也完了。</span></p>
<p><span style="color: #ff9900;">以前做过的原型的程度有,界面原型,样式、风格,布局,功能基本都与真实产品一样:</span></p>
</div>
<p> </p>
<p>界面原型对客户的意义在于, 客户知道, 将来交付给我的产品是什么样子了. 这是初体验.</p>
<p>            对需求人员的意义在于可以拿一个模型对受众催眠.</p>
<p>            对研发和测试的同事在于,这就是定死的样式,不可更改了.</p>
<p> </p>
<p>客户需要知道你和后台数据交互了吗? </p>
<p>      他只要看见一个直观的交互效果就可以了.</p>
<p>      至于数据是不是从后台区出来的. 他才不关心呢.</p>
<p> </p>
<p> 研发需要和数据交互了吗?</p>
<p>      你都把事干完了. 叫研发情何以勘.</p>
<p>      再者, 碰见有[洁癖]的工作狂, 看这不顺眼, 看那不合理, 还不推倒重来.</p>
<p>      最后, 已完成的代码不一定入设计者的法眼. </p>
<p>          要是看出个[高藕合],[性能低下], 重构那[半成品], 谁都呲眼裂嘴.</p>
<p> </p>
<p>所以说, 原型, 就老老实实的做HTML. CSS吧. 别整些花里胡哨的东西. 吃力不讨好.</p>
</div>
<p> </p>
<p>还是我原来的观点,每家公司或每个团队都有自己的最佳实践,没有好于坏之分,只有合适不合适之分,就像C++好还是JAVA好一样,脱离了实际的应用环境,就没有意义了。</p>
<p> </p>
<p>每个公司的实力或者财力不一样,我们公司是小公司,没有办法做到每样工作都由专人或者专门的团队去做,需求就做需求,前台就做前台,开发就搞开发,设计就搞设计,就像我们的技术总监以前所在的一家公司(神马),人家公司有那个财力,养着一帮专门的人,搞需求的就只做需求工作,前台的就只做前台的ui,开发员就只做开发工作,设计就只管设计和架构,DBA就只负责DB相关的工作,PM只负责项目管理工作,技术负责有专门的人去做。各司其职。 我们小公司办不到,基本都是打杂的,基本都是从头做到尾,就拿我来说,主任PM,负责项目管理工作,也兼任质量经理负责公司质量体系定制及执行工作,质量规范文档,自动化的持续集成及相关脚本编写,也要与客户沟通,需求收集,甚至有时候也要做一些支持性的开发工作。</p>
11 楼 eredlab 2011-05-18  
<p>看来xieyanhua有点生气了。撇开分歧不说,光说老兄这份认真劲就把偶折服了。偶以个人名义像您致歉!<br></p>
<div class="quote_title"> 写道</div>
<div class="quote_div">看了看你也是个设计师(eRedG4平台总设计师),既然是个总设计师,我认为那么轻率的下一些结论,有点不太好。</div>
 <br>偶是沦落民间的草根派设计师, 自己冠名自娱自乐的,在公司是最底层的民工型程序员, 见笑了 哈哈
<p> </p>
10 楼 Rooock 2011-05-18  
<div class="quote_title">eredlab 写道</div>
<div class="quote_div">
<p> <span style="color: #ff9900;">基本上是半成品,作出的原型后基本不需要修改(90%已经跟客户确认过);而且我们的原型时在需求调研阶段并行做的。基本上需求完了,界面原型也完了。</span></p>
<p><span style="color: #ff9900;">以前做过的原型的程度有,界面原型,样式、风格,布局,功能基本都与真实产品一样:</span></p>
</div>
<p> </p>
<p>界面原型对客户的意义在于, 客户知道, 将来交付给我的产品是什么样子了. 这是初体验.</p>
<p>            对需求人员的意义在于可以拿一个模型对受众催眠.</p>
<p>            对研发和测试的同事在于,这就是定死的样式,不可更改了.</p>
<p> </p>
<p>客户需要知道你和后台数据交互了吗? </p>
<p>      他只要看见一个直观的交互效果就可以了.</p>
<p>      至于数据是不是从后台区出来的. 他才不关心呢.</p>
<p> </p>
<p> 研发需要和数据交互了吗?</p>
<p>      你都把事干完了. 叫研发情何以勘.</p>
<p>      再者, 碰见有[洁癖]的工作狂, 看这不顺眼, 看那不合理, 还不推倒重来.</p>
<p>      最后, 已完成的代码不一定入设计者的法眼. </p>
<p>          要是看出个[高藕合],[性能低下], 重构那[半成品], 谁都呲眼裂嘴.</p>
<p> </p>
<p>所以说, 原型, 就老老实实的做HTML. CSS吧. 别整些花里胡哨的东西. 吃力不讨好.</p>
9 楼 xieyanhua 2011-05-18  
eredlab 写道
嗯 我喜欢唱反调的。有碰撞才有进步。


我也不反对唱反调,搞程序的,就是需要有碰撞,大家交流才有进步,尽管别人的观点可能一点都不正确,但是可能也会给你一些启发。

只是我觉得,不能轻易下结论或者是否认他人的经验。还是那句化,我在我的特定环境和条件下,那就是我的最最佳实践,我的经验在我上家单位也是得到团队和公司领导的认可的。虽然我们公司不大。

在下任何结论当前,要先了解清楚别人但是的情况,只有了解清楚了才能根据你的判断去下你的结论,那样别人不会说你什么,但是如果没有任何了解,或者没有足够的信息的情况下,你随便去否定别人,甚至在误解别人意思的时候轻易下结论否定别人,个人感觉总是不好。


看了看你也是个设计师(eRedG4平台总设计师),既然是个总设计师,我认为那么轻率的下一些结论,有点不太好。
8 楼 xieyanhua 2011-05-18  
<div class="quote_title">eredlab 写道</div>
<div class="quote_div">
<p> </p>
<p>昨天看了一篇ITEye上一篇关于界面原型设计讨论的帖子,其中某君的观点引起了偶的注意,他在帖子中如是说:</p>
<p><span style="color: #ff9900;">“个人观点,而且一直以来,都是用JSP代码,而且是基于后台框架的(根据时间情况),基本上是半成品,作出的原型后基本不需要修改(90%已经跟客户确认过);而且我们的原型时在需求调研阶段并行做的。基本上需求完了,界面原型也完了。</span></p>
<p><span style="color: #ff9900;">以前做过的原型的程度有,界面原型,样式、风格,布局,功能基本都与真实产品一样:</span></p>
<p><span style="color: #ff9900;">1、存JSP/HTML+CSS+JS,</span></p>
<p><span style="color: #ff9900;">2、JSP/HTML+CSS+JS + 后台java代码(如Struts),只是简单的页面跳转,没有任何逻辑处理</span></p>
<p><span style="color: #ff9900;">”....</span>.(这里省略很多此君误导偶的高论)</p>
<p>见原文:<a href="/topic/1019296?page=2#2089719">http://www.iteye.com/topic/1019296?page=2#2089719</a></p>
<p>昨天晚上一读完此君高论后让偶热血沸腾,便开始构思在以后的G4.Builder中要如何按照他的这个理论将界面原型设计工具设计出来的原型和后续开发无缝接轨的问题。想了一夜,想明白了:这个理论基础就是错的。如果按照此想法去实现我的G4.Builder势必被引入歧途。唉,还好醒悟得早。这也再一次警醒自己,可以开放视听,但不要轻信别人言论,要做一个有独立思考能力的人。</p>
<p>此君解释了为什么要建议那么做的几条原因,下面偶逐一批斗一下,交流就该碰撞,还望楼主莫见怪。</p>
<p><strong><br></strong></p>
<p><strong><span style="color: #ff0000;">此君即本人</span></strong></p>
<p><span style="color: #ff0000;">-------------------------</span></p>
<p> </p>
<p>他说:</p>
<p><span style="color: #ff9900;">1、在做界面原型时间,基本上90%都不需要修改,开发可以直接重用,而其他方式实现,比如PPT,word,gui designer等工具,时间比较快,但是基本交互完后,100%无法供后续开发使用,即重用率为0;</span></p>
<p>偶说:</p>
<p>客户给你那么多做需求时间吗?你有快速生成界面又能生成代码且这个代码还能很好的无缝的被后续开发平台使用的工具吗?开发这样一个工具的成本几何?</p>
<p> </p>
<p> </p>
<p><span style="color: #0000ff;">----客户给你那么多做需求时间吗?</span></p>
<p><span style="color: #ff0000;">客户给多少时间,是在做项目立项的时候,商务上和项目经理或者相关的技术人一起确定项目完成的周期的,不是说客户给多少时间。整个项目周期确定以后,具体每个阶段分配多少时间,是项目组说的算,不是客户说的算,难道你们做项目的时候,比如项目总时间5个月,客户会要求你们必须在15天内把需求搞定? 你们会听客户的吗?</span></p>
<p> </p>
<p><span style="color: #0000ff;">-----开发工具</span></p>
<p><span style="color: #ff0000;">1、</span><span style="color: #ff0000;">没有想过去开发这样一个工具,但是有考虑过按照我们的UI 开发框架的基础上,做一个eclipse的开发插件,生成基本的代码。因为我们没有考虑过去实现一个什么自动化的开发工具,任何去说卖或者什么的,我们需要系统开发,而不是自动化的代码工具。而且我始终认为,有些地方是可以用自动生成,而且效果很好,我们也有,但不是软件,是我们自己按我们的需要,结合我们框架的实际,写的一些自动化程序,比如根据数据生成对应的java类,可以生成hibernate的类(包括注解,而且可以自定义自己的生成规则,那些生成,那些不生成),也可以生成ibatis的java类,也可以生成基本java实体类;运行也很简单,配置好生成规则后,写个bat文件运行就ok了,也可以通过ant,也可以直接在IDE里运行,而且在任何时候,只要你想运行就运行(一般数据库改动);当然也许你会认为我们在重复造轮子,外面很多自动化工具。但是请注意,外面的工具都是通用,比如您现在做的</span><span style="color: #ff0000;">G4.Builder自动化工具,能按我的要求去实现吗?外面的那些功能,能帮我生成一个基本的类,并入带各种我想要的功能吧,比如再这个类封装将数据转换为flexGird控件需要的数据格式和数据模型吗?能动态通过该类去控制页面的展示比如列宽,行高,设置是CSS吗?</span></p>
<p><span style="color: #0000ff;">所以,什么东西都结合实际,脱离了实际,说的难听点,那些东西对于我们公司或者我们的框架来说,是一无是处。不如我们写的东西好。前面说的那些东西,就是我说的,为什么我们在做demo的时候,有时候会结合我们的后台控制框架控制。当然这也需要时间,所以我有说了,要看时间</span></p>
<p> </p>
<p>2、<span style="color: #ff0000;">对于你说的自动化工具,尤其是在web成的自动化,我始终认为,尽管自动化工具可以做出很漂亮原型效果,也可以跟后台无缝结合,但是也只能是有自动化工具确定,但是自动化生成的东西,不一定与用户需求的一样,比如java后台要分5层,4层,比如我web要做js,css分离,但是你的工具不一定是这样划分的。或者说我这里想div标签,那里想用span,别的地方又想用table。</span><span style="color: #ff0000;">当然,不是说技术上做不到。在一个,看过那么多的代码生成器,尤其是在web层的,感觉生成出来的代码,可读性和可维护性都是非常差的,比如基本的注释。我搞过质量管理,我对这些是非常重视的,因为我们的系统,是要自己维护的。</span></p>
<p> </p>
<p><span style="color: #0000ff;">我的观点,不管什么东西,只有结合自己的实际才有用或者才能发挥最大。脱离了自己的实际需求,那么有可能不但起不到好的作用,还有可能成为绊脚石。</span>、</p>
<p><span style="color: #ff0000;">-------------------------</span></p>
<p> </p>
<p>------------------------------</p>
<p>他说:</p>
<p><span style="color: #ff9900;">2、跟客户沟通的时候,容易沟通,因为具有交互性,所有客户配合很好,大家也很容易了解彼此想要的东西;而其他工具做的原型,都不具备交互性,或者交互性非常非常的少,会导致客户不配合;我就遇到过这样的情况;让客户确认需求,让客户看原型,客户根本不鸟我们,你发给他,他都不看,然后几天后你问他有什么问题,人家说没有看~~~~~~</span></p>
<p> </p>
<p>偶说:</p>
<p>做需求就是和客户面对面交互,我们要抓住的是客户的功能性需求而非在做需求阶段把时间拿去搞一些花哨的所谓的可以点击可以跳转可以提示信息的交互界面来误导客户,让客户停留在兴奋型需求上而不去深挖最有价值最能主导需求分析成败的功能需求上。这个环节,并不是说不做界面原型,要做,但要有度。</p>
<p> </p>
<p> </p>
<p><span style="color: #ff0000;">从我的实际情况,确实是这样,那个将近1000万的项目,开始就是这样,具体情况,原文里已经说明,我想你肯定也看到了。而且我没有说做需求不需要跟客户面对面的,我们也是需要去跟客户沟通了,比如需求阶段,假设2个月的需求,那么基本上前一个月,可能就主要是跟客户沟通,获取用户的需求,基本上了解后,人们再细化需求,接着就开始做原型,做好原型后继续跟客户沟通再挖掘需求;</span></p>
<p> </p>
<p><span style="color: #ff0000;">大家都了解需求的重要性,但是我们在这个环节上做界面原型,不代表我们没有用心去做需求,不代表我们只是让客户停留在兴奋型需求上;那只是你的个人观点,你们知道我们的需求做到什么程度?</span></p>
<p> </p>
<p><span style="color: #ff0000;">对于你的理解,我只能说,仅仅是以你的理解去看待问题,或者你们以前就是那么认为的,或者你认为我们的公司或者团队就是去忽悠客户的。你怎么就</span><span style="color: #ff0000;">能</span><span style="color: #ff0000;">断定我们需求阶段做的工作就是去</span>‘搞一些花哨的所谓的可以点击可以跳转可以提示信息的交互界面来误导客户’?<span style="color: #ff0000;">你怎么就能断定我们</span>“没有深挖客户的需求呢”?<span style="color: #ff0000;">你怎么就能断定</span>“我们的原型做的过度了呢”?。<span style="color: #ff0000;">原型有是否过度,不是你说的算,我没有要求大家都做到我们这个程度啊,我都说,要做成我们这样,是要具备一定的条件的,你们不具备这样的条件,要做成我们这样的效果,自然是过度了,但是我们能做到啊,说的难听点,我觉得我们做的原型不一定比你用工具的慢?我们相关的组件都相对来说都是比较全的,而且有相应的支持,比如美工,比如技术组等等。</span></p>
<p>--------------------------------</p>
<p> </p>
<p>他说:</p>
<p><span style="color: #ff9900;">3、把风险往前提,在需求阶段通过原型,客户配合好了,需求就更好做了,分先也少点了,而且设计阶段的工作提到了需求阶段,将界面设计不符合客户要求的时候,而且也能极少发现我们做的是不是客户想要的。因为如果到设计阶段再去考虑界面,而且一般都是在开发到一定阶段或测试的时候,客户才会介入,此时发现设计不符合客户要求的时候,那就要修改,风险就更大了,因为往往到编码阶段,是最紧张的时候,而且时间的问题更加明显。</span></p>
<p>偶说:</p>
<p>在需求阶段穿插一定的界面原型设计目的是要辅助需求分析人员更好更顺畅的和客户进行交互沟通。并非是把界面设计的工作往前提,更不是要让客户确认以后系统的界面就是长这么个样子了.一般来说客户是不会来干预你的界面的,你做的再漂亮设计得再艺术对于客户来说只是兴奋需求,所以说风险在于功能型需求而非兴奋型需求。</p>
<p> </p>
<p><span style="color: #ff0000;">我们做界面原型,不否认,在需求阶段确实是让客户顺带确认了界面原型。但是不代表我们就没有做好用户需求的挖掘啊?我也说了,界面原型提高了我们与客户之间的需求理解能力以及沟通能力,那么我们有具备这个条件顺便做好系统设计(原型),我做了也没有什么不可以啊。</span></p>
<p> </p>
<p>-------一般来说客户是不会来干预你的界面的</p>
<p><span style="color: #ff0000;">那是你没有遇到那样的客户,你说客户不在乎界面是什么,那是你可能没有遇到那样的客户,我们就遇到过,比如上面说的那家世界有名的企业,涉及客户近30个财务部门的需求人员,每个人的观点都不一样,这个说那样放,那个说这样放;还有,客户提供的excel报表,我们按她给的报表一模一样的设计出来(客户要求),包括颜色,结果在讨论需求和确认的会议上,人家发标了说,怎么做的那么难看(每个人的审美观不一样,其实不难看),我们说了,是按你给的excel样子做,人家说什么,人家说那我的在excel上看的很好看啊。中途在该原型的过程,今天这样该,明天那样该的情况不少见。</span></p>
<p> </p>
<p>-----风险在于功能型需求而非兴奋型需求</p>
<p><span style="color: #ff0000;">我想没有否认功能性需求的重要性,但是你能说非功能性需求就不重要吗,但是可能你所指的功能性需求仅仅是UI而已,实际还包含了很多,比如性能等;那我们就说UI,UI的展现显示,有的可能很简单,改改也花不了多少时间,但是有些展示,就有可能涉及到你的实现,你的数据,你的设计问题,那就不是你说的那么简单了。我们就遇到过,还好,用户是在实现阶段提出来的(改变他们的需求展现,也就是UI了),那个改动,就是伤筋动骨,把原来的设计实现全部推翻了,必须重新设计实现。这个风险算不算大,加入这个问题是到了用户验收测试了才提出来,那时候时间已经不多了,你怎么处理,算不算是风险呢??所有功能模块都实现完以后,再大概程序,请问还有多少时间给重新去修改需的问题,或大的改动,当然你可以说提需求变了,加时间了或者说我们设计不好了!但是就算是简单的修改,如果很多要改,这算不算风险。</span></p>
<p><span style="color: #ff0000;">   有的项目是政治任务,时间点必须完成,超过一个小时都不行,比如我去年的一个项目,时间点是卡死的,人家客户的N十年大庆,项目必须在大庆前上线,而且不能出问题,大庆上要演示系统,行业上全国各大有名的公司老总都来了,市级领导、省部委的重要领导(包括省长,国家Xx部的领导),你能出点问题吗,我们但是赶这个项目,加班,通宵是常事,请问哪个情况下,你们UI问算不算问题,严重不严重???</span>当然这种情况不多见。</p>
<p>------------------------------------</p>
<p>他说:</p>
<p><span style="color: #ff9900;">4、界面原型好了后,因为90%的功能界面客户都已经确认了,所以后期大范围修改界面原型的情况几乎是不可能的,除非需求有很大的变动;而且我做的界面的基本交互已经模拟出来了,比如按某个按钮会怎么处理,有些都会模拟出来,实在不容易实现或时间太急就暂时不实现,跟客户沟通的时候会跟他解释;所以到编码阶段,开发员基本不用管太多的界面处理,基本上只专注于自己的后台逻辑实现,页面就往里套数据就ok了,开发也很happy;</span></p>
<p>偶说:</p>
<p>客户需求阶段出来的界面原型只是辅助需求分析的一个输出成果。给后续设计阶段(包括界面设计)的一个参考。此是需求才做结束,你弄出来的那个原型就能说以后很少修改??连库表结构什么样都不清楚,这种做法那你可能得在需求时候把设计全做了,回来就可以直接进入代码实现阶段了.这似乎是个一点也不好笑的笑话。</p>
<p> </p>
<p><span style="color: #ff0000;">这个只能说,每个公司要求不一样,每个公司有自己的最佳实践,你认为不可能的,不代表别的公司或团队不可能。我们需求阶段出界面原型,确认输出输入字段,基本的处理流程,但是没有说数据库设计也做了,当然有些简单的数据表,也基本上需求的那些东东,也不存在什么设计不设计。但是你认为不可能的,在我们的团队里就是把它变为了可能。</span></p>
<p> </p>
<p><span style="color: #ff0000;">我一再强调,每个公司要求不一样,你们仅仅是把需求阶段的原型作为辅助的东西,不作为后前实现的一部分,所以你那么认为,而我们的认为需求阶段做出的东西,在能实现的前提下尽量达到实际系统的要求,不需要做过多的改动。我们对意见的标准不一样,所以在你那存在问,但在我们这不存在问题,或者问题不大。</span></p>
<p><span style="color: #ff0000;"><br></span></p>
<p><span style="color: #ff0000;">就像很多公司很要求质量,很多公司不重视质量一样,有些事情对于你们来说不可思议。比如我们要求的每个阶段的输出都有严格的质量要求,比如文档,比如编码,比如注释,比如review机制,比如我们的自动化。从代码基本规范,到注释,程序存在的隐含的bug,质量报告,测试报告,编译,测试,部署,各个阶段中的相关结果告知相关人员,比如编译出错等等,都是自动化的,然后再辅助少量的人工review等,自动化可以帮我们做了很多事情。对于我们来说,这是很easy的事情,对于你(或者很多公司来说)来说,恐怕又是不可思议的事情。但是你认为的不可思议,不代表别人不能实现。</span></p>
<p> </p>
<p>-----------------------------------</p>
<p>下面偶简单说一下偶结合自己经历过的项目并结合今天界面设计这个话题总结出来的一个界面设计环节软件过程,欢迎大家拍砖:</p>
<p>1.大家肯定会纠结过这样的问题,在软件过程中我们到底要不要做界面设计?界面设计在什么时候做?界面设计用什么工具做?界面设计的输出是什么?做界面设计付出的成本和带来的效益如何?</p>
<p>界面设计必须得做,而且要两份。</p>
<p>一份就是和需求一起的以需求附件形式输出的界面原型。这个界面原型可以使用pencil等界面原型设计工具来超级快速的实现,他会有很多缺陷比如显示字段不全,布局摆放不合理等等。但这都是正常的,因为他只是在和客户需求交流时的一个附带输出。他的意义在于辅助说明需求分析,给后续的设计提供参考。比如,我下面一份图所示:(只用了5分钟就画出来了)</p>
<p><span>
</span></p>
<p style="line-height: normal;"> </p>
<p style="line-height: normal;"><span style="color: #ff0000;">对于你这个功能,我们也可以在5分钟内出来啊,甚至不需要五分钟(当然展现形式不一定跟你的一模一样(毕竟我们的组件是结合我们的展现,而不是像你这样的展现),但是就是查询,显示信息和grid展现的功能),当然,不包括页面控制逻辑(js),我不知道你的是否包括页面js的逻辑控制。但是如果要我们做的跟你一模一样的展现,说实话,可能30分钟也出不来,但话又说回来,如果用你的工具做做我们一模一样的展现,如果你不修改你的工具的实现代码,估计一辈子也做不出来(<span style="color: #0000ff;">仅仅是估计,不要钻牛角尖</span>)。</span></p>
<p style="line-height: normal;">-----------------</p>
<p style="line-height: normal;"><img src="http://dl.iteye.com/upload/picture/pic/90387/6bbd5b5a-c510-32b3-8491-259e8908284f.png" alt="" width="758" height="530"><br style="line-height: normal;"><strong style="line-height: normal;">另一份</strong>就是在需求分析的基础上做了概要设计(含数据库设计),并在进行功能模块详细设计的时候出来的。我觉得真正意义上的界面设计应该是和功能模块详细设计并行的,只有在有了库表对具体功能模块进行详细设计的同时也才出得来在代码实现阶段能直接以此为模版进行开发的界面设计。此阶段的界面设计我认为很重要,第一:界面元素界面风格界面布局方案小到一个很小的元素和页面边距是多少的细节都要在此界面设计中反映,代码实现必须按照这个界面设计来做,如果不按照这个界面做,到时候自由发挥出来的界面那就可以让开发人员自己改到统一风格上去,这是开发人员也没什么话说。第二:界面设计和详细设计是相辅相成的,界面上放置的任何一个元素肯定是和后台有一一关联关系的,并不是随便乱放。而后台设计也决定了界面元素甚至是界面布局。这样就互相促进,是设计人员考虑得更周全,而不是写个设计文档出来,界面什么样也不知道。到时候开发人员看这个这个纯文字的设计就去画界面,这样不仅风格不统一而且设计文档的质量考虑的是否周全都大打折扣。界面设计文档可以单独出报告也可以和功能详细设计报告合并。</p>
<p style="line-height: normal;">下面是偶在做功能模块详细设计的同时在需求分析阶段出的界面原型基础上做的界面设计,如下图所示:</p>
<p style="line-height: normal;">当然界面设计不应该仅仅是一张图,还应该辅以文字说明一些控制逻辑、约束规则、跳转逻辑等等。</p>
<p style="line-height: normal;"><img src="http://dl.iteye.com/upload/picture/pic/90385/5c45d9d9-a529-31e4-9b90-644dae277e30.png" alt="" width="758" height="530"><br>最后做个广告哈:)<br><br><span>eRedG4(易道系统集成与应用开发平台)是一个开放源代码的、面向企业计算环境下异构系统集成与行业应用快速二次开发的平台。</span><br><span>
</span></p>
<p style="padding: 0px; margin: 0px;"><span style="font-size: 14px;">您可以通过下面的地址获取到G4最新版本和相关资源:</span></p>
<p style="padding: 0px; margin: 0px;"><span style="font-size: 14px;">GoogleCode项目主页</span></p>
<p style="padding: 0px; margin: 0px;"><a style="color: #006699; text-decoration: underline;" href="http://code.google.com/p/g4-xiongchun/"><span style="font-size: 14px;">http://code.google.com/p/g4-xiongchun/</span></a><br><span style="font-size: 14px;">在线演示系统暨G4平台在线交流社区</span></p>
<p style="padding: 0px; margin: 0px;"><a style="color: #006699; text-decoration: underline;" href="http://web230531.host89.chinajsp.net/"><span style="font-size: 14px;">http://web230531.host89.chinajsp.net</span></a><a style="color: #006699; text-decoration: underline;" href="http://web505332.host89.chinajsp.net/" target="_blank"></a><br><span style="font-size: 14px;">eRedG4平台总设计师个人博客</span></p>
<p style="padding: 0px; margin: 0px;"><a style="color: #006699; text-decoration: underline;" href="http://hi.baidu.com/eredlab"><span style="font-size: 14px;">http://hi.baidu.com/eredlab</span></a></p>
<p> </p>
<p> </p>
</div>
<p> </p>
<p>看到你这篇文档,我不好怎么说,说我不是为了反驳你,说不过去,但是如果说只是为了反驳你,也不对。</p>
<p>我不发对观点的碰撞,碰撞很正常。不是说怪你反驳我的经验,只是觉得你下的结论太过于偏激,而且只是从你的个人观点出发,完全没有考虑别人的实际情况。而且我觉得你一直在有意或无意的误解我的意思,或者你没有认真看我的答复:</p>
<p> </p>
<p><span style="color: #ff0000;">1、我没有说我的方式是最好的,是普世通用的经验?</span></p>
<p><span style="color: #ff0000;">2、我一直都在强调,我的经验不一定都是用,是需要条件,我一直在强调说每家公司,每个团队都都有自己的实际情况。</span></p>
<p><span style="color: #ff0000;">3、我没有强制谁去接受我的观点,我一直都在用建议性的,类似“每个公司或团队的情况不一样。仅供参考。”的字眼</span></p>
<p><span style="color: #ff0000;"><br></span></p>
<p><span style="color: #ff0000;">如果觉得我说的有错,可以回头去看看原文里,有关我的答复的回帖!</span></p>
<p> </p>
<p>但是我想说明的是,楼主不要在不理解实际情况的时候轻易下结论。你认为不可思议的事情在别人看来可能是很容易理解的事情。凡事都要联系实际,脱离实际和特定的环境,就没有意义了。</p>
7 楼 liumik 2011-05-18  
沟通需要双方都能懂而且认可的语言。
界面原型是客户和开发人员都能理解而且引起歧义较少的很好的方式。
这是我的理解。
6 楼 eredlab 2011-05-17  
嗯 我喜欢唱反调的。有碰撞才有进步。
5 楼 lifeier 2011-05-17  
我也来唱反调。我觉得快速界面原型工具很有用。在捕获需求时,特别好用。别说客户不注重界面,很多情况上,那些领导更注重界面。但说到可以重用,则不尽然。之后肯定要由美工设计好的界面模板出来,然后我们这些码农照着美工的界面套。而快速原型界面只是功能逻辑的交互和参考。
4 楼 longfeisoft 2011-05-17  
我来唱反调了,我觉得,那位仁兄说的还是有道理的,或者说在他的条件下是非常好的。

你现在做的是产品不是项目,在需求调研人员对于某个行业或者某个企业很熟悉的情况下,如果能够有这个原型工具的话,那是相当的好的,因为本身他已经具备了很好的能力,很好的经验,他可以引导客户的需求,虽然他在画界面,可是,他心里有数后台的数据结构、处理逻辑,他让客户有了感性的认识,有利于需求的确认,如果确认的界面还能够在后续逻辑开发的时候能够复用,那就太好了。

其实,很多时候,客户都不知道自己想要是什么样子,与其让客户天马行空的想,不如让他落地,带领他一起需求落地,而且客户也会很踏实。
3 楼 littlegang 2011-05-17  


看得那个累呐
2 楼 zylph 2011-05-17  
支持春哥的想法
1 楼 wwtaoin 2011-05-17  
恩,学习了eRedG4,很好,很强大

相关推荐

    js软件界面原型设计.ppt

    js软件界面原型设计 第2章 软件界面原型设计 思考: 软件原型设计的重要性; 如何设计Web应用程序原型 界面原型在需求阶段是与用户交流的工具;在设计阶段是设计的依据 Web应用的界面原型需要使用Html、...

    交互原型设计:首页低保真原型设计.pptx

    最后,"感谢您的观看"提示我们,这个演示文稿可能是为了教育或分享目的,向观众展示了交互原型设计的实践步骤和思考过程。 总结来说,交互原型设计涉及了用户体验设计的多个方面,包括需求理解、信息架构、界面布局...

    新版阿里云网站界面高保真原型模板.zip

    Axure RP是一款专业级的原型设计工具,广泛用于创建网站和应用程序的线框图、交互原型和规格说明。它允许设计师快速绘制草图,创建交互,同时支持自定义动态面板、中继器等高级功能,使原型更加接近真实产品。在阿里...

    界面原型21

    在IT行业中,界面原型是设计过程中的重要环节,它预示着最终产品的用户交互和视觉体验。"界面原型21"可能是指一个项目的第21个版本或阶段,这通常意味着设计已经经过了多次迭代和优化,正在趋向成熟。在这个阶段,...

    用户界面设计课程设计报告.doc

    这部分将详细展示各个页面的编辑状态,包括设计草图、原型和最终版本,以呈现设计迭代过程。 5. 课程设计心得体会 学生将分享他们在设计过程中的思考、遇到的问题和解决方案,以及对用户体验设计的理解深化。 通过...

    OA系统原型

    OA系统原型是企业信息化建设中的重要组成部分,它主要用于...OA系统原型设计是一个涉及多方面知识的综合性工程,需要结合业务需求、用户体验、技术实现等多个角度进行思考,才能创造出真正符合企业需求的高效办公平台。

    软件产品界面设计PDF

    #### 七、界面原型开发与实现 - **原型开发**:在正式开发之前,制作可交互的原型有助于团队成员更好地沟通设计理念,并收集用户反馈进行迭代优化。 - **界面开发实现**:根据设计方案和技术要求,完成最终的界面...

    AxureRP9项目原型.rar

    Axure RP 9是一款强大的原型设计工具,专为产品经理、设计师和开发人员设计,用于快速创建交互式的产品原型。在“AxureRP9项目原型.rar”这个压缩包中,包含了丰富的资源,帮助用户高效地进行产品设计工作。 首先,...

    阿里云网站界面高保真原型.zip

    阿里云网站界面高保真原型的设计是用户体验设计领域中的一个重要环节,它涉及到用户与网站的交互方式、视觉表现以及信息架构等多个方面。高保真原型是设计师在充分理解业务需求和用户行为的基础上,通过专业工具制作...

    iphone用户界面典型设计案例

    2. 设计思维的拓宽:通过案例分析,书中可能会教授如何从实际应用中提取经验,帮助设计师在遵循设计规范的同时,敢于进行创新性的设计思考。 3. 应对变化和用户需求:在快速变化的技术和用户习惯中,书中可能会强调...

    Web应用界面设计规范

    - **开发流程概述**:界面设计的开发流程一般包括需求分析、设计草图、原型制作、用户测试等多个阶段。每个阶段都需要遵循一定的设计原则和技术标准。 #### 五、应该遵循的基本原则 - **显示信息一致性的原则**:...

    Axure学习资料移动应用原型设计新手引导

    ### Axure学习资料移动应用原型设计新手引导 #### Axure基础与移动应用原型设计 - **Axure简介**:Axure RP是一款强大的原型设计工具,广泛应用于网站和移动应用程序的原型设计过程中。它可以帮助设计师创建高保真...

    OTH001 - AxureUX交互原型设计指南.7z

    AxureUX交互原型设计指南是一份综合性的资源,旨在帮助设计师深入理解和掌握使用Axure进行用户体验(UX)设计的方法和技巧。这份指南可能包含了多个章节,涵盖了从基础概念到高级功能的全面介绍,以帮助设计师提升其...

    如何成为优秀UI(交互界面)设计师

    UI设计不仅仅是关于图形界面的设计,它更关乎用户体验,包括交互设计、可用性测试以及视觉设计等多个方面。在当今高度竞争的市场环境中,一个良好的用户界面能够显著提升产品的吸引力,增加用户满意度,从而直接影响...

    宝酷盒子产品原型V1.0_v2.rar

    《宝酷盒子产品原型V1.0_v2》是一款针对智能电视盒的原型设计,它体现了产品设计者对用户体验、功能布局以及交互流程的深入思考。在这个版本中,设计者可能对原有的V1.0进行了优化和改进,以提供更优质的用户界面和...

    mockups.7z

    Mockups工具是一款所见即所得的界面原型设计工具,它提供了一种简单直观的方式来构建和演示应用程序的界面布局。通过这款工具,设计师可以快速地拖拽各种UI元素,如按钮、文本框、图片等,放置在工作区中,形成一个...

    界面设计51

    12. 设计工具:设计师通常使用Sketch、Adobe XD、Figma等专业工具来创建和原型化界面设计,这些工具提供了丰富的资源和协作功能。 界面设计是一个综合性的领域,涉及到心理学、人机交互、视觉艺术等多个学科。理解...

    产品经理应该先写需求文档还是先画原型?.pdf

    规范高质量的PRD文档,虽然对产品经理来说是基本素质要求,但在一些团队中,如果模型和原型已经足够明确,工程师和界面设计师可能不会再去阅读PRD文档。因此,PRD的撰写通常是为了满足项目存档的要求,包括前期的...

    Axure商城后台业务管理系统原型模板(全套).rar

    在IT行业中,高效、准确的原型设计是产品开发的关键步骤,它能够帮助团队快速理解需求,降低沟通成本,提高开发效率。本篇将详细介绍“Axure商城后台业务管理系统原型模板(全套)”这一资源,包括其核心特点、设计...

    设计驱动的用户增长思考与策略.pdf

    1. **设计思维**:设计思维是一种以人为本、迭代和解决问题的方法论,它强调理解用户需求、挑战假设、创造原型并快速测试解决方案。在用户增长策略中,设计思维帮助团队从用户的角度出发,构建符合其期望的产品或...

Global site tag (gtag.js) - Google Analytics