摘要: 写了几年博客了,中间写写停停,停停写写的,有些东西也已经石沉大海了,为了不让自己认为有价值的东东都石沉大海,所以弄了这个索引。enjoy it阅读全文
posted @ 2010-06-25 12:18 玉开 阅读(4919) 评论(15) 编辑

web需求定义涉及到展示和交互两个部分,展示是打开一个页面时呈现出来的页面效果,交互是用户通过鼠标,键盘,触摸或其他外设操作之后系统给出响应的过程。

对于页面的展示要从下面几个角度来确认需求。

一. 界面展示,需要确认展示的逻辑

1)展示逻辑通常要考虑不同的角色进入页面时候的显示是否一致,如果不一致,则要明确不同角色进来后显示内容的异同
2)对于有隐藏内容的控件,必须确认隐藏的内容,例如菜单,tab
3)对于每一个显示单元要确认显示数据的逻辑,例如“最热文章”,必须要确认这个最热文章是如何定义的,是按点击的还是按转贴的,还是其他逻辑,另外还要注意这个最热是否有隐含的时间范围
4)对于显示区域临界条件的确认,要确认数据不足时如何展示,数据字段过长时如何展示

二. 交互需求确认

什么是交互呢? 页面展示出来,用户通过鼠标,键盘,触摸或其他外设操作之后系统给出响应的过程就是交互。

对于传统的web最常见的交互是填写表单和鼠标点击。

我们可以先考虑表单需求的确认。 可以把表单性需求的确认分为三个阶段 1) 表单填写 2)表单的提交 3)表单提交后的响应

先来看表单填写需要确认的需求:

1. 对于输入性控件必须确认输入框是否必填,输入框是否需要格式校验,是否有最大长度限制,是否有相等性校验。
2. 对于选择性控件,也要明确是否有最多选择数,最少选择数,是否可以不填等边界条件
3. 另外要注意是否有键盘操作便捷的需求,例如按回车或Ctrl+回车提交,按tab键要到下一个表单元素
4. 是否需要在进入界面时自动focus到某一控件上
5. 当用户将焦点移向下一个控件时是否需要做交互判断(最典型的是注册用户填写用户名后自动校验用户名是否存在)

上面5点前两点是边界条件的确认,第3,4是便捷性需求的确认,第5点是用户友好性的确认

表单填写完毕用户就可以提交表单了,提交表单有异步和同步两种方式,最好给产品经理确认提交的方式,另外还要评估表单提交是否涉及到耗时的操作,如果操作很耗时,应该要求产品经理给出应对用户等待焦虑的方案。

最后需要明确表单提交之后需要明确后端处理的业务逻辑,和处理成功或者失败之后的提示或页面跳转。

除了表单之外最常见的交互是鼠标点击,例如点击删除链接,删除一条记录,这时候要确认点击前需要客户端如何响应,点击服务器收到成功响应后如何显示,失败时如何显示。

对于一个系统来说添加或者修改一个功能点,往往会影响其他功能点,在做需求确认时还要明确当前操作会影响到地方,影响是什么样子的,如果因为性能原因使用了缓存,要给产品同事明确缓存时间。

总结:

技术人员在确认需求是要考虑界面效果,要考虑显示逻辑,也要考虑后台的业务逻辑,以及当前需求点操作逻辑对其他地方的影响。

必须在确认需求阶段就充分考虑好界面显示的边界条件,用户输入的校验条件,用户交互的显示逻辑,有错误发生时的处理。

业务逻辑中一定要考虑到当前用户是否分了角色,操作的对象是谁,这个需求是否有时间范围,操作是否有其他的前提条件,是否影响到其他地方。

 


posted @ 2013-05-03 09:52 玉开 阅读(1384) 评论(5) 编辑

四川雅安地震再一次牵动了千千万万中国人的心,壹基金在支付宝公益开通了救援雅安的账户,在此呼吁中小网站添加救援雅安的banner。

我已经在我的网站上添了了此banner,对网站效果不会有任何影响。

效果图如下:

如果你的网站引用了jquery可以添加如下js代码:

    <script>
        $(function(){
            $('<ins id="J_RoofBanner" style="text-align:center;background:#030303;display:block;" '
                    +'data-spm="3.69893.123995"><a href="https://love.alipay.com/donate/itemDetail.htm?name=201304201216494301" '
                    +'target="_blank" title="有你救有力量!紧急救援四川雅安,刻不容缓!"><img width="990" src="http://img02.taobaocdn.com'
                    +'/tps/i2/T1zKujXu0cXXcnC4Lh-990-100.jpg" style="vertical-align:top;display:inline"></a></ins>').insertBefore('div:first');
        });
    </script>

如果没有可以在body标签开始后直接添加如下html代码:

<ins id="J_RoofBanner" style="text-align:center;background:#030303;display:block;" data-spm="3.69893.123995"><a href="https://love.alipay.com/donate/itemDetail.htm?name=201304201216494301" target="_blank" title="有你救有力量!紧急救援四川雅安,刻不容缓!"><img width="990" src="http://img02.taobaocdn.com/tps/i2/T1zKujXu0cXXcnC4Lh-990-100.jpg" style="vertical-align:top;display:inline"></a></ins>

我已经在我的网站添加了此推广条,为了避免误会,我不给出我网站的地址,但是你可以通过http://www.tmall.com/看添加的效果。

天佑雅安!!

posted @ 2013-04-21 10:47 玉开 阅读(2664) 评论(24) 编辑
摘要: 360以安全之名做搜索,可信,还是欺世盗名呢? 昨天有位朋友推荐对我的网站进行 360 安全检测。没多想就进行了一下检测,检测结果出来了吓了一跳,我的网站安全评分是 44 分,安全状况是“高危”,这是真的吗?请看漏洞详细分析阅读全文
posted @ 2013-01-30 20:44 玉开 阅读(463) 评论(2) 编辑
摘要: OutOfMemory.CN 为程序员服务上线40天了,时间很短。网站运行一切正常。初步上线,还像一个刚满月的婴儿一样,不会自己吃饭,更不会走路,还需要投入大量的精力来维护运营。阅读全文
posted @ 2012-12-19 22:01 玉开 阅读(420) 评论(2) 编辑
摘要: 很多网站上都有返回顶部的效果,本文阐述如何使用jquery实现返回顶部按钮阅读全文
posted @ 2012-12-02 20:33 玉开 阅读(4229) 评论(13) 编辑
摘要: c#获得几分钟前,昨天,几天前等友好时间的代码实现阅读全文
posted @ 2012-11-24 20:04 玉开 阅读(923) 评论(0) 编辑
摘要: using System.Reflection;using System.IO;using System.Resources;using System.Media;using System.Diagnostics;namespace CN.OutOfMemory.Csharp{ public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender...阅读全文
posted @ 2012-11-19 21:53 玉开 阅读(551) 评论(0) 编辑
摘要: c#之process类相关整理 根据进程名获取进程的用户名,杀死进程,执行命令获得命令输出等阅读全文
posted @ 2012-11-13 22:49 玉开 阅读(727) 评论(0) 编辑
摘要: 朋友开发了一个技术网站,让我帮忙推荐给同样做技术的朋友们。这个网站很有意思,他的域名是OutOfMemory.CN,似乎是和国外那个著名的stackoverflow学来的,都是异常。这个网站的口号是“为程序员服务”,这个似乎是和我dang学来的,胆子不小。名字和口号都有了,再说下这个网站是做啥的。现在它只有一个功能就是分享代码,目前上面的代码量还比较少,java最多有大约200个代码片段。我看了一下质量还是蛮高的。网站的用户体验还不错,界面很新奇。下面是他的首页:这个网站的代码是所有语言的代码,是通过开放分类标签来对代码进行分类的。目前标签的功能还不是很强大。据说要增加wiki编辑的功能。据说阅读全文
posted @ 2012-11-09 17:46 玉开 阅读(486) 评论(0) 编辑
摘要: PyLucence的官方包没有提供windows的安装版,这给windows用户带来很大的不便。需要按照下面的顺序安装:1. 确认安装了jdk 1.6+,并确认C:\Program Files\Java\jdk1.6.0_31\jre\bin\client\jvm.dll存在,如果存在把C:\Program Files\Java\jdk1.6.0_31\jre\bin\client\目录添加到环境变量Path中。java的安装目录可能不一样。2. 安装JCC的python egg包easy_install http://pylucene-extra.apache-extras.org.code阅读全文
posted @ 2012-10-28 22:08 玉开 阅读(385) 评论(0) 编辑