﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-Design&amp;Art-随笔分类-交互设计</title><link>http://www.cppblog.com/abware/category/5823.html</link><description /><language>zh-cn</language><lastBuildDate>Tue, 10 Jun 2008 05:46:36 GMT</lastBuildDate><pubDate>Tue, 10 Jun 2008 05:46:36 GMT</pubDate><ttl>60</ttl><item><title>GMOS模型</title><link>http://www.cppblog.com/abware/archive/2007/12/18/38935.html</link><dc:creator>安帛伟</dc:creator><author>安帛伟</author><pubDate>Tue, 18 Dec 2007 12:40:00 GMT</pubDate><guid>http://www.cppblog.com/abware/archive/2007/12/18/38935.html</guid><wfw:comment>http://www.cppblog.com/abware/comments/38935.html</wfw:comment><comments>http://www.cppblog.com/abware/archive/2007/12/18/38935.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/abware/comments/commentRss/38935.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/abware/services/trackbacks/38935.html</trackback:ping><description><![CDATA[<h3><a name=_Toc132769306><span>GMOS</span></a><span><span>击键模型</span></span></h3>
<p><span>GMOS</span><span>（<span>goals/objects/methods/slecetion rules</span>）</span></p>
<p><span>基本操作时间</span></p>
<table cellSpacing=0 cellPadding=0 width=559 border=1>
    <tbody>
        <tr>
            <td vAlign=top width=211>
            <p><span>名称和助记</span></p>
            </td>
            <td vAlign=top width=70>
            <p><span>典型值</span></p>
            </td>
            <td vAlign=top width=278>
            <p><span>含义</span></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=211>
            <p><span>击键（<span>Keying</span>），<span>K</span></span></p>
            </td>
            <td vAlign=top width=70>
            <p><span>0.2</span><span>秒</span></p>
            </td>
            <td vAlign=top width=278>
            <p><span>敲击键盘上的一个键所需要的时间</span></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=211>
            <p><span>指向（<span>Pointing</span>），<span>P</span></span></p>
            </td>
            <td vAlign=top width=70>
            <p><span>1.1</span><span>秒</span></p>
            </td>
            <td vAlign=top width=278>
            <p><span>用户指向显示屏上某一位置所需要的时间</span></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=211>
            <p><span>归位（<span>Homing</span>），<span>H</span></span></p>
            </td>
            <td vAlign=top width=70>
            <p><span>0.4</span><span>秒</span></p>
            </td>
            <td vAlign=top width=278>
            <p><span>用户将手从键盘移动到鼠标或者从鼠标移动到键盘需要的时间</span></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=211>
            <p><span>心理准备（<span>Mentally preparing</span>），<span>M</span></span></p>
            </td>
            <td vAlign=top width=70>
            <p><span>1.35</span><span>秒</span></p>
            </td>
            <td vAlign=top width=278>
            <p><span>用户进入下一步所需要的心理准备时间</span></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=211>
            <p><span>响应（<span>Responding</span>），<span>R</span></span></p>
            </td>
            <td vAlign=top width=70>
            <p>&nbsp;</p>
            </td>
            <td vAlign=top width=278>
            <p>&nbsp;</p>
            </td>
        </tr>
    </tbody>
</table>
<p>&nbsp;</p>
<p><span>插入删除心理准备活动的规则</span></p>
<table cellSpacing=0 cellPadding=0 border=1>
    <tbody>
        <tr>
            <td vAlign=top width=115>
            <p><span>规则<span>0 </span>候选<span>M</span>的初始插入</span></p>
            </td>
            <td vAlign=top width=444>
            <p><span>在所有的<span>K</span>之前插入<span>M</span>。在所有用于选择命令的<span>P</span>之前插入<span>M</span>。但是对于选择命令参数的<span>P</span>，不要插入<span>M</span>。</span></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=115>
            <p><span>规则<span>1 </span>预期<span>M</span>的删除</span></p>
            </td>
            <td vAlign=top width=444>
            <p><span>如果<span>M</span>前面的操作符号能完全预期<span>M</span>后边的一个操作符，则将该<span>M</span>删除。例如移动鼠标并点击目标，就需要删除按规则<span>0</span>插入的<span>M</span>，变<span>PMK</span>为<span>PK</span>。</span></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=115>
            <p><span>规则<span>2 </span>认知但愿内<span>M</span>的删除</span></p>
            </td>
            <td vAlign=top width=444>
            <p><span>如果一串<span>MK</span>属于同一个认知单元，则删除除了第一个以外的所有<span>M</span>。例如连续输入一个单词或者多个数字。</span></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=115>
            <p><span>规则<span>3 </span>连续终结符之前<span>M</span>的删除</span></p>
            </td>
            <td vAlign=top width=444>
            <p><span>如果<span>K</span>是一个认知单元后面的多余分隔符，如命令的分隔符后面紧跟着参数的分隔符，则将之前的<span>M</span>删除。</span></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=115>
            <p><span>规则<span>4 </span>作为命令终结符的<span>M</span>的删除</span></p>
            </td>
            <td vAlign=top width=444>
            <p><span>如果<span>K</span>是一个分隔符，且后面紧跟着一个常量字符串，则将之前的<span>M</span>删除。</span></p>
            </td>
        </tr>
        <tr>
            <td vAlign=top width=115>
            <p><span>规则<span>5 </span>重叠<span>M</span>的删除</span></p>
            </td>
            <td vAlign=top width=444>
            <p><span>不要记入任何与<span>R</span>重叠的<span>M</span>。</span></p>
            </td>
        </tr>
    </tbody>
</table>
<p>&nbsp;</p>
<p><span>举例：</span></p>
<p><span>设计一个软件可以完成如下功能，可以把摄氏温度转换成华氏温度，也可以把华氏温度转换成摄氏温度。</span></p>
<p><span>界面一如下：</span></p>
<p><span><img height=219 alt="" src="http://www.cppblog.com/images/cppblog_com/abware/GMOS.JPG" width=243 border=0><br>缺省选项没有选中</span></p>
<p><span>HPKHKKKKK</span></p>
<p><span>HMP<span>M</span>KMH<span>M</span>K<span>M</span>K<span>M</span>K<span>M</span>KMK</span></p>
<p><span>HMPKHMKKKKMK</span></p>
<p><span>2H<st1:chmetcnv TCSC="0" NumberType="1" Negative="False" HasSpace="False" SourceValue="3" UnitName="m" w:st="on">3M</st1:chmetcnv>1P6K = 2*0.4 + 3*1.35 + 1.1 + 6*0.2 = 7.15</span><span>秒</span></p>
<p>&nbsp;</p>
<p><span>缺省选项选中</span></p>
<p><span>MKKKKMK</span></p>
<p><st1:chmetcnv TCSC="0" NumberType="1" Negative="False" HasSpace="False" SourceValue="2" UnitName="m" w:st="on"><span>2M</span></st1:chmetcnv><span>5K = 2*1.35 + 5*0.2 = 3.7</span><span>秒</span></p>
<p>&nbsp;</p>
<p><span>取两者的平均值（<span>7.15 + 3.7</span>）<span>/2 =5.4</span>秒</span></p>
<img src ="http://www.cppblog.com/abware/aggbug/38935.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/abware/" target="_blank">安帛伟</a> 2007-12-18 20:40 <a href="http://www.cppblog.com/abware/archive/2007/12/18/38935.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>