软件设计与实现
分析和设计方法:写软件就是要解决用户的需求,需要表达和传递下面这些信息。
在“需求分析”阶段,我们需要搞清楚:在问题领域中的实现世界里,都有那些实体,如何抽象出我们真正关心的属性,实体之间的关系是什么,在这个基础上,用户的需求是什么,软件如何解决用户的需求。
在“设计与实现阶段”,我们要搞清楚:软件是怎么解决这些需求的?
在“测试”和“发布”阶段,我们要搞清楚:软件真的解决了这些需求了吗?
图形的建模和分析方法
我们要给事务建造一个模型,描述事物、事物的属性、事物之间的联系(静态的)以及各个事物之间的信息传递(动态的)。
表达实体和实体之间的关系
思维导图:“一图胜千言”,人们经常用图形来帮助他们了解概念,强化记忆。思维导图是其中一个例子。思维导图没有严格的语法定义,一般来说是从图形的正中开始卸下这个概念,然后按照绘图者所关心的属性扩展。
实体关系图:如果我们着重于表达现实世界中的实体和他们之间的关系,那么实体关系图ERD是最自然的表达方式。
用户体验的要素
用户体验的第一印象:用户安装软件之后,软件第一次启动,软件设计者要给用户什么样的第一印象?用户头一回来访问你的网站,你要给他们什么样的第一印象?
我们至少可以考虑一下两点:1、谁会是我们的目标用户?他们是什么样的人?他们的使用方式是什么样的?用户从哪里进入到这个软件或网站?他们知道这个产品是做什么的吗?用户想达到什么目的?2、用户和软件的第一次使用,很大程度上决定了用户对软件的评价。怎么让用户在第一次使用的时候,少花时间(或者不花时间)在对用户没有价值的部分,而把大部分时间花在有实际价值的功能上?
从用户角度考虑问题:
我们常说做产品要从用户的角度考虑问题,这需要有“同理心”。软件团队的设计师和软件工程师有“同理心”么?
什么是同理心?就是理解别人的处境、心理、动机的能力。设计不同于传统的数学题,是没有唯一的标准答案的。有一颗为用户着想的“同理心”,是好的产品设计的出发点。