zoukankan      html  css  js  c++  java
  • 构建之法阅读笔记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.有必要的提示和帮助文档

      

  • 相关阅读:
    Java NIO系列教程(十二) Java NIO与IO
    Java NIO系列教程(十一) Pipe
    Java NIO系列教程(十) Java NIO DatagramChannel
    Java NIO系列教程(九) ServerSocketChannel
    C#使用cmd运行命令并返回控制台输出信息
    分割nginx日志
    redis启动警告解决
    git worktree 目录修复
    git worktree 稀疏检出(sparseCheckout)
    python json dumps datetime类型报错
  • 原文地址:https://www.cnblogs.com/haojun/p/6398954.html
Copyright © 2011-2022 走看看