首页 > 代码库 > 在项目中成长UI
在项目中成长UI
截止到今天,参与项目整整是一个月。这个项目是自己第一次参与,可以说真的是对自己一个很大的考验。 而且收获的也是很多。
需求体验
工作组同时领了两个系统(案件投诉和案件跟踪督办系统)。我和另一个伙伴负责确定案件跟踪督办系统的需求。可参考的资料,只有一份20页的需求文档,虽然说是需求文档,但最后证实可确定下来的需求也就40%。
在履AJGZ系统需求时,发现业务逻辑很简单,主要是负责对AJTS系统的一些查询,以及分配督办人。但是文档提供的业务很不明确。
一开始,我跟伙伴只能通过我们自己的想象,去琢磨客户想要的是什么功能?第一个版本,大部分都是我们猜出来的。连这个系统的人员组织机构,以及督察局职能机构也都是凭自己想象力去猜。(一开始并没有一个明确需求的客户可以去商讨,因为是通过层层外包到我们手里)。
当我们自己想象出了一个版本之后,组长说联系海南那边的客户,可以跟我们视频通话商讨需求。机会难得啊,我们都在紧张的准备,并且在通话的时候进行录音,后面回去对录音进行整理,完善文档。
当跟客户商讨的时候,发现我们的想法跟客户存在很大的差入。就像老总说的,我们并没有真正的站在客户的角度上去思考问题。我们只是根据开发者的角度去考虑 。
在跟客户理需求的时候,发现他们需求可变的因素很多,毕竟这个案件跟踪督办系统是对投诉系统的一个实时监督。如何面对这些可变因素呢?需要用面向对象的思想去思考,在一些已经确定或是预测变化的职能上,留一些可变接口,将它们都做成活的即可。
开发体验
项目开发采用的是MVC+easyUi+Spring+Nhibernate+工作流
两周的需求过后,开始参与案件投诉系统的开发当中。第一次参与项目,接触到了很多的新知识,可谓真的收获很大。
1.MVC数据传输,前台和后台是如何交互的,以及easyUI和MVC的结合
2.easyUI如何绑定后台数据,可返回json数据格式。
3.底层框架是采用Nhibernate,Nhibernate映射文件如何配置?Nhibernate如何实现级联操作(更新、删除、添加)
4.Spring 容器管理对象的创建。
5.workFlow存在的疑问很大,只是进行了简单的培训,这次项目上线并没有用上,将在二期开发中运用。
UI设计体验
在项目验收过程中,老总针对界面设计提出了很多的要求,原因是我们的界面设计跟用户所需要的差距太大了。界面设计的过于复杂,焦点太多,客户需要花费很大精力去给员工培训。例如,搜索框
简单有效的搜索框(百度搜索框):
百度的搜索框:简单明了,用户焦点明确 。当用户拿到这个页面的时候,不需要别人告诉告诉他怎么做,他自己都知道应该要往输入框中输入自己的查询条件,最好的还是,用户输入的时候就可以实时查询出自己想要的结果,连单击都免了。或是在旁边添加一个更多的按钮,可以针对查询条件进行过滤刷选。
感受
我们总是花费大量的精力去做不必要的事情,也就是费力不讨好,有些事我们明明可以用较少的东西,同样可以做更好的事情,但是我们不去思考。每天感觉自己很忙很勤奋,但也只是按部就班的,墨守成规的工作。没有动动自己的脑子换个思考方式。就像老总在验收项目时给我们提到的奥卡姆剃刀定律,原理也称为:如无必要,勿增实体。即简单有效原理。在项目开发的时候,一个小小的搜索框,一个小小的滚动条我们都应该要慎重慎重再慎重。
在项目中成长UI