在描述一个事物的时候,我们可以从以下三个观点出发:

1.这个事物是什么。

2.这个事物能够做什么。

3.人们能用这个事物做什么。

第一种观点是一种结构性的观点,描述事物的客观存在。但是不能说明事物的作用。

第二种观点是一种功能性观点,即说明事物可利用的价值。

第三种观点是使用者观点,说明使用者怎么使用它。

对于我们熟知的事物,大可使用上述观点来描述都没有什么大的问题,因为我们对其已经非常熟悉。但对于我们并不熟悉、从未见过或者并不存在的东西呢?

对于一个还不存在的事物,我们不知道其结构,也就不能从结构性观点出发,同时也不知道他究竟具有什么功能。最好的做法就是从使用者的观点去描述他能够为使用者做什么。从使用者角度去描述软件,也非常符合我们对事物的认知过程。对于陌生的事物我们无法发现其本质,只能从表象揭示对使用者的作用。

软件就是一种这样的事物,对于一个新开发的软件,我们不能从结构性观点去描述它,也不能从功能观点去描述它。因为这个软件还没有做,结构未定。不能从功能观点去描述它怎么理解呢?功能是计算机术语,是用来定义计算机的,而非定义需求的。功能实际描述的是输入-》计算-》输出。功能是脱离使用者愿望而存在的,我们常常说某个工具具有某个功能是在描述工具的固有性质。回到软件开发上来,从功能观点出发,采用功能分解方式来获取需求的方式缺少上下文,功能可能对使用者无用。我们经常说我们开发的产品不符合客户的期望,这是因为我们站在程序员的角度从功能性观点出发,为软件臆想出了许多的功能,但是这些功能不符合用户的期望。不符合用户期望的软件,客户不会满意,也不会为其买单。因此也就没有任何意义。

而从使用者观点去描述软件则是非常适合的,使用者观点告诉需求人员,他希望这个系统是什么样,将如何使用,希望获得什么结果。软件只需要按照使用者的要求实现就不会偏离预期。

举个例子,从功能观点出发,电视能开关,能显示,可以调频道,可以播放声音。而从使用者的观点出发,对电视的描述是人们可以打开电视开关,调到自己喜欢的频道,调节声音到合适的音量。

从结构观点出发,汽车具有底盘、发动机、悬挂、传动系统组成。从功能性观点出发,汽车能开动,能鸣笛,能载物,能挡雨。。。。。从使用者观点出发,驾驶员可以通过方向盘控制方向,可以踩下油门控制速度,可以拨动变速杆换挡。。。对于一个汽车新手来说,他不了解汽车的构造,也不关心这些。他关心的是如何转动方向盘,如何油门离合配合等等。现代汽车速度越来越快,舒适性、安全性、操纵性相比以前有本质的提高。这些进步是站在使用者的观点,根据使用者的反馈不断的调整的结果。买车的时候,销售将功能说的天花乱坠,什么涡轮增压、定速巡航、无钥匙启动、全景天窗、ESP、TSC、电子驻车、自动启停、自动泊车。。。当然配备了这些功能的汽车价格也会不菲。上面的这些功能只是汽车固有的属性,它们脱离了使用者独立存在。是否需要这些功能需要看使用者的需要。如果大部分时间都是在市区开开,就没有必要配备定速巡航。还有自动启停、自动泊车这些很鸡肋的功能。也要根据实际需要和钱包作出取舍,不然花了不菲的价格买来却用不到。所以说脱离使用者需要的功能是没有意义的。

从使用者观点去认识软件系统相关推荐

  1. 赫赫有名的杰克·韦尔奇作为通用电气的CEO而享誉全球,他的管理特点就浓缩在这些言语之中,大家可以带着这些观点去读读他的自传和《赢》,吐血推荐哈。

    赫赫有名的杰克·韦尔奇作为通用电气的CEO而享誉全球,他的管理特点就浓缩在这些言语之中,大家可以带着这些观点去读读他的自传和<赢>,吐血推荐哈.       1.集中精力,绝对不妥协地向官 ...

  2. halcon 将数据保存到excel_halcon保存数据到excel表格-怎样把图像里面的数据提取到excel表格里面去?...

    mt4如何将自定义数据保存到excel表格 这种方式嵌入的,目的就是让你没有办法简单复制粘贴.即使通过OCR之类的软件,由于存在底色.水印等,错误率也相当高,意义不是很大. 怎样把图像里面的数据提取到 ...

  3. 优化苦难,新手站长说说之SEO优化过程中原创内容怎么去进行

    对于网站的SEO优化过程之中,网站的内容更新是许多优化人员都苦恼的一件事,随着文章写的越来越多,一个站的内容的文章内容都会出现不少重复,但是不知道怎么去增加文章的原创内容那么对于这方面应该怎么去进行调 ...

  4. 辞职弃学去旅行? 2011-11-06 18:53:07

    辞职弃学去旅行? 2011-11-06 18:53:07 周末在犀牛会做关于旅行的分享,关于台湾旅行,抑或别的地方,我并不是旅行达人,因此甚为苦恼.我不愿给大家再去讲关于台湾的风景和美食,也不愿意讲旅 ...

  5. 很多人都去考了计算机二级证书,它真的有用吗?来看看吧

    我相信在大学期间,很多人都会选择自考计算机二级的证书,那么就有不少人提出疑问:计算机二级证书真的有用吗? 其实我觉得不应该去凭借一个观点去认为他是否有用,主要还是你掌握了多少知识.我认为大学本身就是一 ...

  6. 个人独立博客的去与从

    个人独立博客,personal indie blog,简称piblog,在博客的精简进化者--微博,轻博的冲击下,博客的地位与价值也每况越下,或是两极分化.早期的独立名博或是转型,或是坚持,如今一部分 ...

  7. ADC性能指标(INL/DNL/GE/OE/SNR/THD/SINAD/SFDR/ENOB)(用函数的观点来理解)

    目录 一.静态特性 1.失调误差(offset error) 2.增益误差(gain error) 3.微分非线性(DNL) 4.积分非线性(INL) 二.动态特性 1.信噪比(SNR) 2.总谐波失 ...

  8. 一周精彩内容分享(第 2 期):年味去了哪里?

    这里记录过去一周,我看到的值得分享的东西. 一方面是整理记录一下自己一周的学习,另一方面也是期待自己有更多的输出,有更多的价值. 周刊开源(Github:wmyskxz/weekly),欢迎提交 is ...

  9. 《大象:thinking in uml 》(第二版) 3章 UML核心元素 3节 用例

    只供参考,喜欢请支持正版图书 3.3 用例 用例在UML建模中是最最重要的一个元素.之所以说它重要,是因为UML是面向对象的,除用例之外,所有其他元素都是"封装"的."独 ...

  10. 恶意取款被判无期是中国软件的悲哀(转)

    许霆ATM恶意取款被判无期案今日上午在广州市中院重审,关于此事件各种观点讨论纷纷,但是很少有从软件角度来分析. 我个人观点: 恶意取款被判无期是中国软件的悲哀: 1. 从技术上讲:在中国这样大并发访问 ...

最新文章

  1. UML部署图(转载)
  2. 信息系统项目管理师-组织级项目管理与大型项目管理知识点
  3. Matlab常用函数流水账
  4. Android 线程 thread 两种实现方法!
  5. 【Linux系统编程】vfork() 函数详解
  6. 常用的android弹出对话框
  7. Python进程multiprocessing. Process()的使用
  8. 108. 将有序数组转换为二叉搜索树(二分+搜索)
  9. 【百度地图API】发布静态图API啦!只需一个网址,即可展示定制百度地图!
  10. 妈咪,我找到了!15个实用的Linux find命令示例
  11. sicily 1156 ——虽然Wrong error(原因尚未查明),但温习了一下基础知识
  12. java键盘控制英雄左右移动_js实现键盘操作实现div的移动或改变的原理及代码
  13. ARM、DSP、FPGA的技术特点和区别
  14. Atitit 法学体系树与知识点attilax大总结 法学体系 0301法学类 030101 法学理论 宪法 行政法 民法 商法 婚姻法和继承法 经济法 社会法 刑法 民事诉讼法 行政诉讼法
  15. 使用windbg调试程序
  16. JavaWeb源码网上商城系统a
  17. 天池- IJCAI-18 阿里妈妈搜索广告转化预测(完整版代码,数据集等总结)
  18. 基于微信小程序付费自习室系统(微信小程序毕业设计)
  19. 塑料回收标志相关知识
  20. 搭建Prometheus+Grafana实时监控平台监控Java应用服务

热门文章

  1. Cisco Encrypted Traffic Analysis(ETA)
  2. 0基础学软件测试好学吗?这2个硬性要求没有达到的话奉劝你不要学...
  3. error C2085: “index(随便一个形参)”: 不在形参表中
  4. 中国象棋AI在线弈游戏源码
  5. 吴恩达深度学习课程笔记(二):改善深层神经网络
  6. outlook配置文件添加服务器,Microsoft Outlook卡在加载配置文件?这里如何解决它
  7. 【正一专栏】西甲天王山之战梅西一剑封喉!
  8. PHP 加密解密函数
  9. 在人工智能领域创业,需要明确可知的5个基本条件
  10. 人机大战三周年:围棋界发生了哪些巨变?