读《构建之法》一、二、十六章随笔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 ...
随机推荐
- C#框架学习资料集锦
1.AllEmpty 的[从零开始编写自己的C#框架]系列 从零开始编写自己的C#框架(1)——前言从零开始编写自己的C#框架(2)——开发前的准备工作从零开始编写自己的C#框架(3)——开发规范从零 ...
- # 20155229 2016-2017-2 《Java程序设计》第七周学习总结
20155229 2016-2017-2 <Java程序设计>第七周学习总结 教材学习内容总结 第十二章 lambda的主体是一个表达式,而不是一个代码块.仅仅能在lambda表达式中封装 ...
- PostgreSQL的backuplabel file 初步学习
磨砺技术珠矶,践行数据之道,追求卓越价值 回到上一级页面:PostgreSQL内部结构与源代码研究索引页 回到顶级页面:PostgreSQL索引页 看代码: /* File path names ...
- Noip前的大抱佛脚----数据结构
目录 数据结构 知识点及其应用 线段树 神奇标记 标记不下放 并查集 维护二分图 维护后继位置 堆 可并堆的可持久化 dsu on tree 方式&原理 适用范围 单调队列 尺取合法区间 模板 ...
- 使用Nginx+uWSGI+Django方法部署Django程序
第一步先解决uwsgi与django的桥接.解决在没有nginx的情况下,如何使用uwsgi+DJANGO来实现一个简单的WEB服务器. 第二步解决uwsgi与Nginx的桥接.通过nginx与uws ...
- 解读Web应用程序安全性问题的本质
转自 http://blog.csdn.net/iwebsecurity/article/details/1688304 相信大家都或多或少的听过关于各种Web应用安全漏洞,诸如:跨site脚本攻击( ...
- Python day1 ---python基础1
本节内容 Python介绍 编程语言分类 Hello World程序 变量 字符编码 用户输入 数据类型初识 表达式if ...else语句 表达式while 循环 表达式for 循环 break a ...
- HDU 6191 2017ACM/ICPC广西邀请赛 J Query on A Tree 可持久化01字典树+dfs序
题意 给一颗\(n\)个节点的带点权的树,以\(1\)为根节点,\(q\)次询问,每次询问给出2个数\(u\),\(x\),求\(u\)的子树中的点上的值与\(x\)异或的值最大为多少 分析 先dfs ...
- cogs791 [HAOI2012] 音量调节
大水题 这种题谁不能1A谁就吔屎/退役吧(说的就是我) 设dp[i][j]表示调完前i个音量为j有没有可能 没了 // It is made by XZZ // Fei Fan Ya Xi Lie~~ ...
- Textarea的readonly问题
textarea的readonly属性,不能用setAttribute方法设置,只能类似textarea.readOnly = true|false的写法. 原因: setAttribute只能设置一 ...