读《构建之法》一、二、十六章随笔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 ...
随机推荐
- Hbase的安装和基本使用
Hbase介绍 HBase是一个开源的非关系型分布式数据库(NoSQL),它参考了谷歌的BigTable建模,实现的编程语言为 Java.它是Apache软件基金会的Hadoop项目的一部分,运行于H ...
- 【转】CSDN离线网页html文件自动跳转
问题: 最近使用OneNote2016剪辑csdn的文章时,发现一些公式/文本框不能被正确识别,所以离线保存网页的html文件. 但是每次打开html文件,都会自动跳转的CSDN主页,即使断网,也会自 ...
- JS 判断滚动底部并加载更多效果。。。。。。。。。
JS 判断滚动底部并加载更多效果......... <html lang="zh-cn"> <head> <meta http-equiv=" ...
- kali国内更新源
在/tec/apt/sources.list加入以下内容 #中科大更新源 deb https://mirrors.ustc.edu.cn/kali kali-rolling main non-free ...
- 自己写个activex控件,如何知道他的classid(转载)
在网页里用的时候需要知道他的classid我在代码中看到有 const GUID CDECL BASED_CODE _tlid = { 0x89201950, 0x2CAC, 0x4CF7, { 0x ...
- Linux下开发python django程序(设置admin后台管理模块)
1.新建项目和项目下APP django-admin startproject csvt03 django-admin startapp app1 2.修改settings.py文件 设置默认安装AP ...
- Scikit-Learn机器学习入门
现在最常用的数据分析的编程语言为R和Python.每种语言都有自己的特点,Python因为Scikit-Learn库赢得了优势.Scikit-Learn有完整的文档,并实现很多机器学习算法,而每种算法 ...
- P2167 [SDOI2009]Bill的挑战
sb状压dp. 设f[i][j]表示字符串前i位和集合为j的串匹配的方案数. 枚举哪个字母直接转移就好了. (话说为啥这种水题都有紫色难度 #include<bits/stdc++.h> ...
- [Luogu4921]情侣?给我烧了![错位排列]
题意 题意很清楚 \滑稽 分析 对于每一个询问 \(k\) ,记 \(g(x)\) 表示 \(x\) 对情侣都错开的方案总数,那么答案可以写成如下形式: \[ {ans}_k= \binom{n}{k ...
- [BZOJ4475][JSOI2015]子集选取[推导]
题意 题目链接 分析 显然可以看成一个位数为 \(n\) 的二进制数然后每一位分开考虑然后求和.最后的答案是 \(w^n\) 的形式. 考虑一个dp. 定义状态 \(f_{i}\) 表示选择了长度为 ...