首页 > 代码库 > 构建之法——第七篇

构建之法——第七篇

本周我对于软件的设计与实现和用户体验进行了一个深度的学习。

我们写软件就是要解决用户的需求,我们需要表达和传递一些信息:

在“需求分析”阶段,我们要搞清楚,在问题领域的现实世界里,都有哪些实体,如何抽象出我们真正关心的属性,实体之间的关系是什么,在这个基础上,用户的需求是什么,软件如何解决用户的需求。

在“设计实现阶段”,我们要搞清楚,软件是怎么解决这些需求?

在“测试”和“发布”阶段,我们要搞清楚,软件真的解决了这些需求了么?

那么我们分析和设计有许多方法:

以文字为主的文档,如Word,PowerPoint文档。正如我们在需求分析和场景设计中看到的那样。

用图形为主构造的模型,如MindMap,ERD,DFD,UML的各种图,甚至包括Flow Chart流程图

用数学语言的描述,如Vienna Development Method

用类自然语言+代码构造的描述,如Literate Programming

源代码注释也能加以描述

对于图形建模的分析方法主要有以下几种关系:

表达实体和实体之间的关系:思维导图,实体关系图,UCD

表达数据的流动,表达控制流,以及统一的表达方法

此外,对于其他的设计方法,我们有形式化的方法,文学化的编程

对于我们的用户体验,主要有以下要素

用户的第一体验:我们的产品是针对于广大用户,如果用户的体验并不是很满意,那么我们设计的这个软件无疑就是失败的。

其次,我们要从用户的角度考虑问题,软件是针对用户的,因此,我们就必须得有一个很确定的目标去对用户进行考虑及分析。

对于用户体验设计的步骤:

首先就是概要设计:用户要解决的问题是什么?

接下来就是行为(交互)设计:通过一系列用户和软件系统的互动,帮助用户解决问题

最后就是界面设计:通过读取用户的输入,以及创造和改进交互的媒介帮助用户进行交互

对于评价标准,我们要尽快提供可感触的反馈,对于系统界面符合用户的现实惯例,以及用户的控制权,一致性和标准型,适合各种类型的用户,帮助用户识别,诊断并修复错误,有必要的提示和帮助文档。

构建之法——第七篇