软件设计的十二个最佳步骤

摘要:
软件设计的12个最佳步骤许多公司无法理解为什么他们的软件没有达到预期的结果,或者为什么用户会遇到意外的错误。最近,在加拿大中央研究院举办的自由软件和开源软件研讨会上,两人介绍了让软件设计重回正轨的12个步骤。这是促进软件行业蓬勃发展的关键因素。
     软件设计的十二个最佳步骤

    许多公司理解不了为何自己设计的软件没有达到预期的效果,也理解不了为何用户会遇到预料不到的错误。据微软加拿大公司的可用性顾问David Crow和多伦多的软件开发公司Radiant Core总裁Jay Goldman介绍,没有比醒来后才发现需要可用性测试更糟糕的了。近日在加拿大辛尼加学院举行的自由软件和开源软件讨论会上,两人介绍了让软件设计返回正常轨道的12个步骤。

    第一个步骤:承认自己有问题

    Goldman说:你想单凭自己设计出可用性良好的软件是不可能的。他们主张借助人物角色,设计这种虚构人物是为了模拟目标用户群当中可能使用网站或者产品的不同类型的用户。增强可用性的非正式方法可能也管用,比如非正规的客户访谈以及与技术支持人员一起合作。

    第二个步骤:要认识到用户比你自己还重要

    Crow在会上放了几张幻灯片,上面显示的是三种不同类型的用于公共场所的椅子,然后问观众偏爱哪种设计。自然是萝卜青菜,各有所爱。他说:应用软件开发也始终存在这个问题。要找出是谁要使用你设计的产品。

    第三个步骤:要认识到优秀设计的重要性

    Goldman引用了Steve Jobs的一句话:设计不单单关注产品的外观感觉,更应关注产品用起来如何。”Crow指出,考虑到基于Mac的硬件销量卷土重来,这句话值得铭记在心。

    第四个步骤:认真检查一下在用户体验方面的不足

    CrowGoldman邀请观众上台帮助自己一起画人物线条画,让大家明白即使画简单的图也要运用大量逻辑,还要质疑一些基本假设。这就是为什么他们认为连环漫画书可能是有用的软件开发教材。

    第五个步骤:在别人面前承认自身问题的性质

    你要做的不只是得到用户反馈,还要站在平等地位与用户进行交谈,这有助于弄清楚为什么应用软件不管用。Goldman说:迈出这一步(即经常与用户交谈),确实需要莫大的勇气,但是一旦公开表示了自己的不足,你就向成功彼岸靠近了一大步。

    第六个步骤:准备去除这些缺陷

    Crow拿微软公司的Office 2007为例说明。这家公司为其Word产品添加更多的特性和功能时,开始在界面中使用压缩的工具栏(即两个或者多个工具栏能够容纳在屏幕的同一行中);等到交付Word 2003时,工具栏从原来的12个增加到超过31个。Crow说:在前十项特性要求当中,有五项要求Office提供不止一个版本的工具栏。相比之下,最新版本使用了功能区,上面有一组主要的工具栏,可帮助用户找到所需工具。

    第七个步骤:寻求帮助

    就连像Mozilla开源基金会这样拥有丰富资源的大组织也开始在网站上发布下一款Firefox浏览器的原型。这么做可能会吓跑一些企业,因为担心自己的设计方案被竞争对手看到。不过GoldmanCrow却认为,这能够获得丰厚回报。

    第八个步骤:列出伤害过的所有用户,然后为对方改善设计

    Goldman划出了从实用、可靠、可用、方便、令人满意到富有意义的几个档次。他说:要评估自己处在哪个档次。大多数软件接近方便的档次。

    第九个步骤:直接赔礼道歉

    遗憾的是,有时候向用户征求反馈意见反而会带来适得其反的结果。要是你没有改进产品设计,就等着最糟糕的情况发生吧!Crow说:最好不要与用户断绝关系。不然,他们肯定不会成为回头客,还会把这事告诉他们所有的朋友。

    第十个步骤:不断改进设计

    可用性测试不是一蹴而就的,而是一项周期性工作:观察、分析、设计。

    第十一个步骤:认识到要是没有用户,一切都是白搭

    Goldman提到CueCat是可用性设计非常糟糕的一个案例:这款手持设备用于扫描杂志里面的条形码,然后,将其发送到URL。他说:它并没有为用户解决问题。用户仍得使用计算机。

    第十二个步骤:让爱传出去

    软件社区拥有大量可供后来人汲取的宝贵经验,包括雅虎的用户界面库和Tango.freedesktop.org等。这是促进软件业蓬勃发展的一个关键要素。Crow说:我们作为设计人员都有义务与他人共享最佳实践。

免责声明:文章转载自《软件设计的十二个最佳步骤》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇点击页面div弹窗以外隐藏的两种思路Linux(Centos)全自动异地备份数据(WEB+Mysql)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

R统计建模与R软件

教材目录 第一章 概率统计的基本知识 第二章 R软件的使用 第三章 数据描述性分析 第四章 参数估计 第五章 假设检验 第六章 回归分析 第七章 方差分析 第八章 应用多元分析(I) 第九章 应用多元分析(II) 第十章 计算机模拟 第一章 概率统计的基本知识 第二章 R软件的使用 2.1 求均值和方差 > X1 <- c(35,40...

js 事件阻止传播方法,准确定位事件源

1事件冒泡 在目标元素获得机会处理事件后,事件模型检查目标元素的父元素,看是否为同类型事件建立了处理程序。如果是,则也调用父元素的处理程序。在这之后,再检查其父元素,然后父元素,然后父元素。。。持续不停直到DOM树的顶部。因为事件处理向上传播就像香槟酒杯里冒起的气泡,所以这个过程称为事件冒泡。 这是一种强大的能力,因为允许把处理程序建立在任何一级的元素上,...

激活windows专业版(激活windows10专业版,解决“我们无法在此设备上激活windows因为无法连接到你的组织的激活服务器 ”)

本来系统用的好好的,但是前几天系统突然提示我要去取设置里面激活windows,我就想:我的系统好像是原厂正版的吧,怎么就过期了呢?没办法只能搜索下怎么激活,去系统城,各大网站什么的试了好多密钥全部不行。最后找到了一个能用的,今天记录一下 Solution 以管理员身份打开cmd 然后 slmgr.vbs -skms zh.us.to粘贴进去运行,好了之后去...

ExtJS组件的xtype属性列表

ExtJS的应用界面是由很多小部件组合而成的,这些小部件被称作“组件(Component)”,所有组件都是Ext.Component的子类,Ext.Component提供了生命周期管理包括初始化、渲染、大小和尺寸管理、销毁等功能,这使得所有Ext.Component的子类都自动分享了这些能力。ExtJS提供了各式各样丰富的组件,每一个组件都很容易被扩展创建...

[蓝牙] 3、 剖析BLE心率检测工程

位于:<KEIL path> ARMDeviceNordic rf51822Boardpca10001s110le_app_hrs  Heart Rate Example The Heart Rate Application is a firmware example that implements the Heart Rate prof...

linux SFTP用户创建 不允许用户登录,并且连接只允许在制定的目录下进行操作

1.创建用户 groupadd sftp 2.添加用户并设置为sftp组  useradd -g sftp -s /sbin/nologin -M sftp    (/sbin/nologin为禁止登录shell的用户) 3.设置用户密码 passwd sftp 4.创建用户目录。并设置权限。 cd /home mkdir sftp chown root:...