读《构建之法》一、二、十六章随笔a
第一章 概论
“软件团队要从需求分析开始,把合适的需求梳理出来,然后逐步开展后续工作”;——p3
问题:好的用户体验要从软件分析开始,那么软件分析仅仅是从用户的需求出发吗?
我的看法:需求分析是软件开发的基础阶段,“一个软件有人买就得找到顾客,顾客有各种需求,有些靠谱有些不靠谱。软件团队要从需求分析开始,把合适的需求梳理出来”,那么问题来了,仅仅从用户的需求出发就能写出非常成功的软件了吗?举一个常见的例子,网购。网购出现之前,人们是没有网购需求的,世界上第一个购物网站是美国的ebay网,早在1999年以前中国互联网的先知们就开始建立B2C网站,随后各大网购网站陆续兴起,到了2006年迎来网购发展的第二阶段,淘宝网在经营中遇到一些假货问题,售后问题,然后根据用户需要进行调整。由此可见,成功的软件除了解决用户需求,还可以改变人们的生活方式,在互联网时代,引领一个时代的发展。
“一个好的软件,即使功能和同类软件差别不大,但却会让人感觉到非常好用。这就是软件的用户体验”;——p3
问题:用户体验和技术没有直接关系,为什么很多成功软件就赢在这个方面?
我的看法:在这里,我可以把程序员比作一个厨师,公司就是饭店,饭店最重要的就是厨师,所有厨师都有蒸煮炸煎等基本技能,相同的但偏偏做出来的菜味道有好坏。我觉得用户体验像菜,不只是满足用户饱腹需求,还要有惊喜。有一句话让我豁然开朗:“好的用户体验不是替用户做所有的事,而是在想要做某件事时能够适时的、恰如其分的给予引导和说明,帮助用户简单、高效的完成要做的事。“我查了资料,用户体验主要包括 1、保持连续,拒绝迷路:当用户为了完成某一任务而需要经过一系列的操作时,系统应尽量避免打扰用户行为;2、简洁明确,容易理解;3、操作简便易上手;4、引导用户,结果可知;5、符合习惯,合理创新。
第二章 个人技术和流程
这一章内容主要讲了两个重点单元测试和实践。
1、关于单元测试,因为我并没有团队开发的经验,所以并不能体会单元测试的重要性。但是在这本书里,通过详细的举例列举了单元测试的重要性以及单元测试的标准。在看的过程中,我简单的读一遍之后发现并不能看懂。比如“单元测试应该产生可重复、一致的结果”下的解释,我读了好多遍都不懂它的意义。这归结于我没有开发经验,没有做过测试。
2、关于实践,在软件工程中,实践的重要性毋庸置疑,早在刚刚接触这个专业时,老师们都在强调软件工程是门实践的学科。然而我并没有重视,在学习的过程中,仍然保持中学时代的学习方法。在学习编程的过程中,我总是倾向于先把资料看完然后再着手进行编程。结果是要么学到后来把前面的全忘记,要么就是直接半途而废。以至于我的代码水平那么low。在实践中学习是我的学习经验,或者说是学习教训,这方面我是没有疑惑的。
第十六章 IT行业的创新
关于创新,我对迷思一、二有一些我自己的看法。创新重要吗?创新当然重要,就像我第一章举的例子,网购,除了从用户需求出发,这也是创新的成果。当世界上第一个购物网站出现时,大部分人们都不需要它,人们更倾向于实体店去挑挑试试。最开始网站就是以更便宜更便捷吸引客户。由此,我认为创新引领一个时代的变化。“在算法和数据库领域,创新的想法一开始往往不被接受,创新的想法那些建立在前任基础上的线性扩展往往有更好的命运”。这句话引起了我的深思,就像机会往往留给有准备的人顿悟或创新往往来源于科学的积累。我看了这一章的内容开始懂得,创新不是天马行空的想法,在计算机领域的这些成果都是都是几代人在前人的基础上前仆后继持续创新的结果。
综上就是我的一些想法,谢谢老师和同学们的阅读,有许多不足之处请大家多多提点。
读《构建之法》一、二、十六章随笔a的更多相关文章
- Web 前端开发人员和设计师必读精华文章【系列二十六】
<Web 前端开发精华文章推荐>2014年第5期(总第26期)和大家见面了.梦想天空博客关注 前端开发 技术,分享各类能够提升网站用户体验的优秀 jQuery 插件,展示前沿的 HTML5 ...
- WCF技术剖析之二十六:如何导出WCF服务的元数据(Metadata)[实现篇]
原文:WCF技术剖析之二十六:如何导出WCF服务的元数据(Metadata)[实现篇] 元数据的导出就是实现从ServiceEndpoint对象向MetadataSet对象转换的过程,在WCF元数据框 ...
- JAVA之旅(二十六)——装饰设计模式,继承和装饰的区别,LineNumberReader,自定义LineNumberReader,字节流读取操作,I/O复制图片
JAVA之旅(二十六)--装饰设计模式,继承和装饰的区别,LineNumberReader,自定义LineNumberReader,字节流读取操作,I/O复制图片 一.装饰设计模式 其实我们自定义re ...
- 智课雅思词汇---二十六、形容词后缀-ble
智课雅思词汇---二十六.形容词后缀-ble 一.总结 一句话总结: assemble 英 [ə'semb(ə)l] 美 [ə'sɛmbl] vt. 集合,聚集:装配:收集 vi. 集合,聚集 [ ...
- 二十六个月Android学习工作总结【转】
原文:二十六个月Android学习工作总结 1.客户端的功能逻辑不难,UI界面也不难,但写UI花的时间是写功能逻辑的两倍. 2.写代码前的思考过程非常重要,即使在简单的功能,也需要在本子上把该 ...
- Bootstrap <基础二十六>进度条
Bootstrap 进度条.在本教程中,你将看到如何使用 Bootstrap 创建加载.重定向或动作状态的进度条. Bootstrap 进度条使用 CSS3 过渡和动画来获得该效果.Internet ...
- 二十六:Struts2 和 spring整合
二十六:Struts2 和 spring整合 将项目名称为day29_02_struts2Spring下的scr目录下的Struts.xml文件拷贝到新项目的scr目录下 在新项目的WebRoot-- ...
- 二十六、Jcreator使用初步
摘自http://blog.csdn.net/liujun13579/article/details/7751464 二十六.Jcreator使用初步 Jcreator是一个小巧灵活的Java开发工具 ...
- WCF技术剖析之二十六:如何导出WCF服务的元数据(Metadata)[扩展篇]
原文:WCF技术剖析之二十六:如何导出WCF服务的元数据(Metadata)[扩展篇] 通过<实现篇>对WSDL元素和终结点三要素的之间的匹配关系的介绍,我们知道了WSDL的Binding ...
随机推荐
- 版本管理工具git与svn简介
版本管理工具 版本管理工具简介 常见版本管理工具 cvs(Concurrent Versions System) vss(Visual SourceSafe) svn 常用的版本管理工具 git 流行 ...
- jquery 直接访问图片路径
jQuery("#img").attr("src",function(){return this.src+"?"});
- SQL Server 日期格式和日期操作
SQL Server发展至今,关于日期的格式的控制方法,有传统的方法,比如CONVERT(),也有比较便利的新方法,比如FORMAT():同样,关于日期的操作函数,也分为传统方法:DATEADD()等 ...
- node.js学习笔记(一)——创建第一个应用
巧妇难为无米之炊.要学习node.js,当然必须先有node.js环境(可以去官网 http://nodejs.cn/ 下载安装),如果还是不懂怎么配置开发环境,度娘会告诉你一切. 安装完成环境之后, ...
- python+appium 实现qq聊天的消息,滑动删除聊天消息
有人问我,appium怎么去删除qq聊天的, 当时想到的是滑动, 可是具体的大概有个思路,于是乎,就想自己来实现下, 打开模拟器,开发者选项,找到显示坐标的 然后去打开qq获取要删除的消息的坐标后, ...
- hdu1829A Bug's Life(种类并查集)
传送门 关键在于到根节点的距离,如果两个点到根节点的距离相等,那么他们性别肯定就一样(因为前面如果没有特殊情况,两个点就是一男一女的).一旦遇到性别一样的,就说明找到了可疑的 #include< ...
- 用adb来修改android嵌入式设备的system只读目录下的东西
转的一篇: 以修改hosts文件为例: 由于某些原因,可能需要指定域名对应的IP地址.Android是基于Linux的系统,与Linux类似,通过hosts文件来设置. 在Android下,/etc是 ...
- java并发之线程池的使用
背景 当系统并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要消耗大量的系统资源. 所以需要一个办法使得线程可以 ...
- oracle数据库之子查询
子查询也叫内部查询,在主查询之前执行一次并得到结果,此结果一般情况下,是用来当做是主查询的条件. -- 在 emp 表中,找出工资比 ALLEN 的高? -- 先查出 ALLEN 的工资是多少? ...
- 关于docker线上部署时间问题
背景 公司线上部署采用docker swarm方式,这几天线上项目时间突然出了问题(ps:第一反应,我去,这也能出问题,代码里肯定藏毒了),线上时间总跟实际时间差八个小时.本着速战速决的原则,把所有时 ...