构建之法阅读笔记04
可以说,目前为止,我自己的写的程序的唯一用户就是我自己,很明显,这样是很不好的。
为什么这么说呢,因为,我们作为软件专业的学生,以后就是一个与人打交道的行业,或者可以说,
我们之所以写软件就是为了给用户用的,我们的最终目的就是为了使用户,能够方便的使用我们的软件。
那么,我们在开发软件之前,很明显要对用户有着足够的了解才行,或者说,我们可以在开发软件之前需要对
软件的主要用户进行建模分析。
这样做有很多好处,比如说,这样就可以做出一个最符合用户需求的软件。
当然,我们对用户进行无论多么详细的分析,也最终不是用户,我们还是需求切实的考虑用户的实际体验的。
毕竟以后使用软件的是用户。
使用软件的人叫做用户。那么,想要编出一个好软件,就必须要清楚的知道自己的用户是什么样的。
于是乎,典型用户和典型场景的分析就变得尤为重要。
那么,怎么定义典型用户呢?
定义典型用户的模板可以包括以下内容:
1.名字(越自然越好)
2.年龄和收入(不同年龄和收入的用户有不同的需求)
3.代表的用户在市场上的比例和重要性(比例大不等同于重要性高,如付费的用户比例比较少,但是影响大,所以更重要)
4.使用这个软件的典型场景
5.使用本软件/服务的环境(在办公室/家里/沙发/床上/公共汽车。。。)
6.生活/工作情况
7.知识层次和能力(教育程度,对电脑、互联网的熟悉程度)
8.用户的动机、目的和困难(困难=需要解决的问题)
9.用户的偏好
和典型用户、典型场景的方法类似,用例也是很常用的需求分析工具。它包括一下基本要素:
1.标题 2.角色 3.主要成功场景 4.扩展场景
使用用例的原则是什么呢?
1.通过讲简单的故事来传递信息 2.保持对全系统的理解 3.关注用户的价值 4.逐步构建整个系统 5.增量开发,逐步构建整个系统 6.适应团队不断变化的需求
需求分析之后便是设计与实现阶段,我们要搞清楚:软件怎么解决需求的。
图形建模和分析方法:
1.表达实体与实体之间的关系:思维导图、实体关系图
2.表达数据的流动:和管理机构相关的数据流、和读者相关的数据流、和新书入库相关的数据流、和时间相关的数据流
3.表达控制流
4.统一的表达方式
其他的设计方法
1.形式化的方法
2.文学化编程
从设计文档到实现的步骤:
1.把修改集集成到代码库中
2.开发人员的标准工作流程
3.代码完成
开发阶段的日常管理
1.闭门造车 2.每日构建 3.构建大师 4.宽严皆误 5.小强地狱
一个软件光是实现用户要使用的功能还不行,还得要能考虑到用户的体验,所以UI(用户界面)就很重要。
用户体检的要素:1.第一印象:
那么,怎么来判断一个设计是好的设计呢?我们可以采用5W1H的方法来判断:
WHO:谁是你的目标用户?
WHEN:他们会在什么时候使用你的产品?比如一个邮件应用,用户在起床的时候可能更偏向于快速查看,而在工作时间会发生更多的输入操作。
WHERE:目标用户会在哪里和你的产品交互?是晃动的公交上或阳光耀眼的室外?还是在沙发上?
WHAT:你的产品是什么?而用户的期待是什么?
WHY:用户为什么要使用你的产品?他们的动机是什么?还有,在众多竞争产品中,用户为什么会选择你的产品?
HOW:用户是如何与你的产品发上交互的?他们怎么用?在使用过程中出现了什么问题吗?
2.从用户的角度考虑问题
3.软件服务始终都要记住用户的选择
4.短期刺激和长期影响
5.不让用户犯简单的错误
6.用户体验和质量
7.情感设计
对于一个用户界面有没有什么评价标准呢?答案当然是有的。
1.尽快提供可感触的反馈
2.系统界面符合用户的现实惯例
3.用户有控制权
4.一致性和标准化
5.适合各种类型的用户
6.帮助用户识别、诊断并修复错误
7.有必要的提示和帮助文档