第一章    概论

“软件团队要从需求分析开始,把合适的需求梳理出来,然后逐步开展后续工作”;——p3

问题:好的用户体验要从软件分析开始,那么软件分析仅仅是从用户的需求出发吗?

我的看法:需求分析是软件开发的基础阶段,“一个软件有人买就得找到顾客,顾客有各种需求,有些靠谱有些不靠谱。软件团队要从需求分析开始,把合适的需求梳理出来”,那么问题来了,仅仅从用户的需求出发就能写出非常成功的软件了吗?举一个常见的例子,网购。网购出现之前,人们是没有网购需求的,世界上第一个购物网站是美国的ebay网,早在1999年以前中国互联网的先知们就开始建立B2C网站,随后各大网购网站陆续兴起,到了2006年迎来网购发展的第二阶段,淘宝网在经营中遇到一些假货问题,售后问题,然后根据用户需要进行调整。由此可见,成功的软件除了解决用户需求,还可以改变人们的生活方式,在互联网时代,引领一个时代的发展。

“一个好的软件,即使功能和同类软件差别不大,但却会让人感觉到非常好用。这就是软件的用户体验”;——p3

问题:用户体验和技术没有直接关系,为什么很多成功软件就赢在这个方面?

我的看法:在这里,我可以把程序员比作一个厨师,公司就是饭店,饭店最重要的就是厨师,所有厨师都有蒸煮炸煎等基本技能,相同的但偏偏做出来的菜味道有好坏。我觉得用户体验像菜,不只是满足用户饱腹需求,还要有惊喜。有一句话让我豁然开朗:“好的用户体验不是替用户做所有的事,而是在想要做某件事时能够适时的、恰如其分的给予引导和说明,帮助用户简单、高效的完成要做的事。“我查了资料,用户体验主要包括  1、保持连续,拒绝迷路:当用户为了完成某一任务而需要经过一系列的操作时,系统应尽量避免打扰用户行为;2、简洁明确,容易理解;3、操作简便易上手;4、引导用户,结果可知;5、符合习惯,合理创新。

第二章    个人技术和流程

这一章内容主要讲了两个重点单元测试和实践。

1、关于单元测试,因为我并没有团队开发的经验,所以并不能体会单元测试的重要性。但是在这本书里,通过详细的举例列举了单元测试的重要性以及单元测试的标准。在看的过程中,我简单的读一遍之后发现并不能看懂。比如“单元测试应该产生可重复、一致的结果”下的解释,我读了好多遍都不懂它的意义。这归结于我没有开发经验,没有做过测试。

2、关于实践,在软件工程中,实践的重要性毋庸置疑,早在刚刚接触这个专业时,老师们都在强调软件工程是门实践的学科。然而我并没有重视,在学习的过程中,仍然保持中学时代的学习方法。在学习编程的过程中,我总是倾向于先把资料看完然后再着手进行编程。结果是要么学到后来把前面的全忘记,要么就是直接半途而废。以至于我的代码水平那么low。在实践中学习是我的学习经验,或者说是学习教训,这方面我是没有疑惑的。

第十六章     IT行业的创新

关于创新,我对迷思一、二有一些我自己的看法。创新重要吗?创新当然重要,就像我第一章举的例子,网购,除了从用户需求出发,这也是创新的成果。当世界上第一个购物网站出现时,大部分人们都不需要它,人们更倾向于实体店去挑挑试试。最开始网站就是以更便宜更便捷吸引客户。由此,我认为创新引领一个时代的变化。“在算法和数据库领域,创新的想法一开始往往不被接受,创新的想法那些建立在前任基础上的线性扩展往往有更好的命运”。这句话引起了我的深思,就像机会往往留给有准备的人顿悟或创新往往来源于科学的积累。我看了这一章的内容开始懂得,创新不是天马行空的想法,在计算机领域的这些成果都是都是几代人在前人的基础上前仆后继持续创新的结果。


综上就是我的一些想法,谢谢老师和同学们的阅读,有许多不足之处请大家多多提点。

读《构建之法》一、二、十六章随笔a的更多相关文章

  1. Web 前端开发人员和设计师必读精华文章【系列二十六】

    <Web 前端开发精华文章推荐>2014年第5期(总第26期)和大家见面了.梦想天空博客关注 前端开发 技术,分享各类能够提升网站用户体验的优秀 jQuery 插件,展示前沿的 HTML5 ...

  2. WCF技术剖析之二十六:如何导出WCF服务的元数据(Metadata)[实现篇]

    原文:WCF技术剖析之二十六:如何导出WCF服务的元数据(Metadata)[实现篇] 元数据的导出就是实现从ServiceEndpoint对象向MetadataSet对象转换的过程,在WCF元数据框 ...

  3. JAVA之旅(二十六)——装饰设计模式,继承和装饰的区别,LineNumberReader,自定义LineNumberReader,字节流读取操作,I/O复制图片

    JAVA之旅(二十六)--装饰设计模式,继承和装饰的区别,LineNumberReader,自定义LineNumberReader,字节流读取操作,I/O复制图片 一.装饰设计模式 其实我们自定义re ...

  4. 智课雅思词汇---二十六、形容词后缀-ble

    智课雅思词汇---二十六.形容词后缀-ble 一.总结 一句话总结: assemble 英 [ə'semb(ə)l]  美 [ə'sɛmbl]  vt. 集合,聚集:装配:收集 vi. 集合,聚集 [ ...

  5. 二十六个月Android学习工作总结【转】

    原文:二十六个月Android学习工作总结 1.客户端的功能逻辑不难,UI界面也不难,但写UI花的时间是写功能逻辑的两倍.     2.写代码前的思考过程非常重要,即使在简单的功能,也需要在本子上把该 ...

  6. Bootstrap <基础二十六>进度条

    Bootstrap 进度条.在本教程中,你将看到如何使用 Bootstrap 创建加载.重定向或动作状态的进度条. Bootstrap 进度条使用 CSS3 过渡和动画来获得该效果.Internet ...

  7. 二十六:Struts2 和 spring整合

    二十六:Struts2 和 spring整合 将项目名称为day29_02_struts2Spring下的scr目录下的Struts.xml文件拷贝到新项目的scr目录下 在新项目的WebRoot-- ...

  8. 二十六、Jcreator使用初步

    摘自http://blog.csdn.net/liujun13579/article/details/7751464 二十六.Jcreator使用初步 Jcreator是一个小巧灵活的Java开发工具 ...

  9. WCF技术剖析之二十六:如何导出WCF服务的元数据(Metadata)[扩展篇]

    原文:WCF技术剖析之二十六:如何导出WCF服务的元数据(Metadata)[扩展篇] 通过<实现篇>对WSDL元素和终结点三要素的之间的匹配关系的介绍,我们知道了WSDL的Binding ...

随机推荐

  1. Go压缩文件

    Go压缩文件 首先是恭喜IG获得S8全球总决赛冠军,IG牛逼.但咱是一介草民,狂欢后,还是得老老实实的开始敲代码.最近做了一个给底层固件压缩加密的工具,是使用C#做的,已经提交出去可以正常使用的.既然 ...

  2. lua函数定义

    FuncState proto结构数组保存函数原型信息;prev保存父函数体指针:actvar保存定义的局部变量:upvalues保存upvalue Lua源码中,专门有一个结构体FuncState用 ...

  3. Oracle 在 多个Virtualbox 虚拟机间 跨不同物理宿主机进行通信

    因为单位网络管理的原因,不太方便使用 Virtualbox 的Bridge Adapter 模式,故此欲采用NAT模式,不对外不暴露虚拟机IP. 但是此时会有一个问题:采用NAT模式后,在通常情况下, ...

  4. 简单的贝叶斯分类器的python实现

    # -*- coding: utf-8 -*- ''' >>> c = Classy() >>> c.train(['cpu', 'RAM', 'ALU', 'io ...

  5. Openstack入门篇(十七)之Cinder服务-->安装并配置一个本地存储节点

    怎样为块存储服务安装并配置存储节点.为简单起见,这里配置一个有一个空的本地块存储设备的存储节点.这个向导用的是 /dev/sdb,此处选用linux-node1节点作为存储节点,需要在vmware中添 ...

  6. Codeforces 912 D. Fishes (贪心、bfs)

    题目链接:Fishes 题意: 有一个n×m的鱼塘,有一张r×r的渔网,现在往池塘里面放k条鱼(每个格子只能放一条鱼), 现在撒网的地方是随机的(必须在池塘内),问能捕的鱼的期望值最大是多少? 题解: ...

  7. JS字符串补全方法padStart()和padEnd()

    背景: var t = new Date().getMonth() + 1; // t ===> 7,没有0,怎么展示成下面的样子? // 2018-07-23 解决上述问题的一个思路: // ...

  8. 什么是 CI/CD?(翻译)

    CI/CD是什么? 原文:https://opensource.com/article/18/8/what-cicd 在谈论软件开发时,经常会提到持续集成Continuous Integration( ...

  9. android 判断应用是否在前台显示

    在一些场景下我们需要知道应用是否在前台显示,当不在前台显示的时候,一些后台进程可以暂时停止,比如一些查询任务.不必要的线程.不需要的渲染等,以减少对设备资源的占用.判断应用是否在前台通常可以使用一下方 ...

  10. Java将List<T>集合组装成树(Tree)树结构组装

    把列表转换为树结构 /** * 把列表转换为树结构 * * @param originalList 原始list数据 * @param keyName 作为唯一标示的字段名称 * @return 组装 ...