更新日线,是一项我们经常遇到的数据导入功能。

这项功能的说明文字,我是这么写的:

用户在初次使用本系统的时候,需要安装沪深两市从开市到本年度的所有历史数据,这些数据可以从某证券行情软件获得,是遵循一定格式的二进制文件。此后,每天两市交易结束之后,用户必须更新当天的日线行情,当然,用户也可能在几天后一次性更新最近几天的日线行情。用户更新日线,才能建立完整准确的数据基础,我们所有的分析工作都基于这些日线数据。

事实上只需要这么简单的描述,就能够弄清楚这项功能的目标和具体的应用场景。

不可避免的,我们需要做用户体验设计,这是将功能转换为一系列开发任务的前提。所谓用户体验设计,我们可以简单的理解为界面设计的一部分。界面设计包括两个方面:1、如何更美观;2、设置哪些最少的功能从而满足用户的全部要求。后者可以简单的理解为“用户体验设计”。

我们可以根据功能的描述按部就班的演绎,接下来就是整个思考过程。首先,我们需要列出用户可能需要的操作、可能遇到的问题:

1、 用户每次更新日线都需要选择一个行情文件,然后开始更新。

2、用户可能误操作,导致选择的文件不是一个真正的行情文件。

3、用户从分析软件中生成行情文件的时候,可能仅包括一个市场的数据、或者包含了期货、港股等其他市场的数据。

4、用户可能记不清最近10天是否每天的日线行情都已经更新了。

5、在更新日线的时候,用户需要看到更新的进度

6、用户可能对系统中保存的数据完全没有信心,准备重新从两市开市的第一天开始安装历史数据。

7、用户可能将一个文件更新两次,或者一些数据已经安装了但用户选择的另一个行情文件中包含了这部分数据。

针对上述情形,我们可以简单的对界面元素进行设计,当然这里无需考虑美观问题,仅仅关注:1、用户遇到的问题,是否都能够处理;2、在能够处理所有问题的时候,界面是否最简单且最容易理解。经过简单的思考,我们可以得到界面的原型,这里用Vc 2010的对话框设计器可以简单的绘制草图如下:

第一行,“日期”那部分,用户将能够看到目前已经安装的行情数据的起止日期,每次安装数据后这里要实时刷新,这样用户就能够始终做到心中有数。下面一行很容易理解,左边是选择文件的控件,右边是启动更新的按钮。第三行是进度的文本信息报告区,刚进入界面的时候显然要提醒用户选择一个文件。第四行是进度条,开始更新之后进度条将报告更新的进度。接下来的两个按钮,第一个是删除最新的五天日线,第二个是删除全部的日线。

这里不需要过多的分析,我们知道这种界面的形式,是能够应付上面用户可能遇到的所有情形的。菜鸟程序员很容易忽略的,是报告系统中行情的起止日期和进度文本区两个部分。

这样的东西,一些资深的项目经理可能会不屑,因为什么呢?“你好象过早的进入界面设计了”,是的,确实如此。但老实说,如果项目经理的脑子里,不能在最快时间出现上面的窗体图形的话,他会怎样为团队的程序员分配开发任务?所以,书生们常常说项目管理大师,未必需要懂得编程,在软件领域甚至在其他任何领域,这简直是十足的扯淡。做事的团队,其实并不需要一个指手画脚的人,每个人需要很清晰、很简单的知道自己今天做什么、明天做什么、怎样做是对的也就是标准是什么,外行如何用他的想象力来实现?一个蹩脚的程序员永远不可能成为能干的项目经理,就如同一个从来没有碰过枪的人,怎么可能指挥千军万马作战?当然,公司经理完全可以不懂技术,为什么,因为他可以将这一块封装起来,技术总监会对他负责,公司经理也不会对技术团队指手画脚的具体到每一项工作。

那么,完成用户体验设计之后,我们确定开发任务其实就非常简单了:

上面的截图是第一项功能的任务清单,当然Tfs的一些术语翻译的很生硬,比如堆栈级别,其实是开发的顺序,用户情景,就是功能;不用太理会,我们简单的将这些任务指派给团队不同的成员,项目经理大体上就能开始轻松的当监工了。

针对这项功能,我比较看重的是一个简单的重复测试,也就是循环执行安装一个文件、删除全部日线、安装同一个文件,这样循环多次,从而确定这两项功能的稳固性。因为显示进度的需要,更新日线的操作最好在后台运行,这样界面才不会僵死,那么这种乱序测试是对这部分后台操作的一个考验。

到现在,我们已经完整的讲述了从启动项目开始,到程序员开始写代码之间的全过程。事实上没有多少多余的工作量,但整个开发过程将在这种简单的模式下,更趋规范。后面如果仍然有时间和兴趣,可能会对开发过程完整描述,记录学习VC++2010的过程。

转载于:https://www.cnblogs.com/by1990/archive/2011/10/28/2227404.html

个人软件过程4 功能说明和用户体验设计相关推荐

  1. 【转】人脸识别功能的用户体验设计优化

    2016-08-09 人脸识别技术是生物特征识别技术的一种,因其相对其它生物特征识别技术的优点而在市场上得到广泛应用.在人脸识别功能优化设计的项目中,主要以"三步走"的流程完成了设 ...

  2. 产品干货 | 没有产品功能,谈不上用户体验

    视频创作有多难? 策划.脚本.拍摄.剪辑- 如果可以像画原型一样做视频是不是挺爽的?! 这就是[来画]一直在做的事! 那来画究竟是什么呢?先说几个关键句: 全球领先的在线视频协同创作平台 继 Goog ...

  3. android 技能标签功能_iOS和Android用户体验设计差异

    摘要:iOS和Android用户体验设计差异 关键词:iOS,Android,用户体验设计 本文将讨论iOS和Android之间的具体设计差异. 基本差异 1.设计规范 iOS和Android遵循不同 ...

  4. 实现线程哪种方法更好_实施数据以实现更好的用户体验设计的4种方法

    实现线程哪种方法更好 Gone are the days when design used to rely mainly on the color palettes and the creativit ...

  5. 用户体验设计常犯10个逻辑谬误

    用户体验设计更像是一个科学研究过程,而不是艺术品制造. 用户体验设计必须是用户行为习惯和数据驱动的.许多错误会在决策过程中发生,这些错误来自于人类的偏见.毕竟,产品经理也是人,有偏见是很正常的.人类的 ...

  6. 开发app用户协议_兰州移动APP开发用户体验设计不应该做的事

    接着讲述关于移动APP开发的用户体验设计应该不做什么?以下是兰州东方商易的移动APP开发设计人员在处理APP开发的UX设计时应避免的一系列要点: 不要限制互动大多数移动APP开发设计者都建议您避免使用 ...

  7. 面向对象的用户体验设计(持续更新10.29)

    注:本文为原创产品设计译文,由于原文较长,预计分为5次完成.首发PMCAFF,转载请私信,感谢捧场,欢迎交流,谢谢~ 原文:Object-Oriented UX 2012年6月,我在CNN.com工作 ...

  8. 超完整的用户体验设计流程,规范化提升产品效率

    送给真正的互联网人一顿干货早餐 [小咖导读]可能每个公司都有各自的用户体验设计流程,流程合理能让我们更有效率地进行产品工作.下面这篇文章来自海外,让我们看看他们对用户体验设计流程有怎样的理解吧. 文档 ...

  9. 用户体验设计的五个原则(转)

    [编者按]本文作者,现Aura Marker Studio创始人@路意Louis,曾带过五年多的用户体验设计团队.这篇文章是他带团队这几年沉淀下来的一些经验和思考. "设计,必须是充满诗意的 ...

最新文章

  1. 第三代测序之Pacific Biosciences
  2. python脚本获取内网,公网ip
  3. android 控件随手指移动_液体流动控件,隔壁产品都馋哭了
  4. TF之CNN:CNN实现mnist数据集预测 96%采用placeholder用法+2层C及其max_pool法+隐藏层dropout法+输出层softmax法+目标函数cross_entropy法+
  5. NYOJ 970 Yougth's Game II
  6. Linux下C++的多线程编程---(转载)
  7. 古董来了:1999年的物件,香港已经回归了,我都上初中了,那么你出生了吗?
  8. WORD如何制作参考文献?
  9. 2n皇后问题(dfs)
  10. [学习笔记]拉格朗日中值定理
  11. Linux 设置系统时间和时区2.Ubuntu
  12. 60套模板免费送,一秒搞定甘特图
  13. mysql 用户及权限
  14. jsp 默认select option 默认选中方法
  15. 简历制作器App使用条款
  16. CSR867x — 说说什么是ANC、CVC、DSP降噪
  17. 让苹果CEO库克折服的程序员仅10岁!?
  18. 速营社怎么赚钱,可以当副业吗
  19. 表格怎么拆分成2个的简便操作
  20. IBIS模型:利用IBIS模型研究信号完整性问题

热门文章

  1. php查询mysql表里的数据_3.php查询mysql数据表所有记录
  2. python exe文件运行依赖环境_python将py代码文件转换为EXE脱离环境运行
  3. 分隔链表Python解法
  4. 65535 java_Databinding引起的 java方法大于 65535 的问题
  5. redis源码分析 ppt_Redis源码分析之客户端+数据库
  6. 怎么写CORTEX在windows用arm-none-eabi-gcc编译时的makefile
  7. 飞控所有PID参数都无法消除振荡问题
  8. 收藏!5V转3.3V电平的19种方法技巧
  9. oracle ebs hr模块表,oracle ebs常用表结构及分类模块.doc
  10. python办公自动化博客_自动化办公 Python 操控 Word