读软件设计的要素01概念
1. 概念
1.1. 一个软件,从运转于手机上的最小程序到大型的企业体系,都是由概念组成的,每个概念都是独立的功用单元
1.2. 软件中的可用性问题,常常能够追溯到其底层概念
- 1.2.1. 概念协助辨认软件的不可用性
1.3. 概念都是以相同办法在各种软件中重复运用的
- 1.3.1. 将规划分解为最基本的概念带来了概念重用的时机
1.4. 概念就像是分子
- 1.4.1. 尽管互相结合在一起,但不管在哪里出现,它们的特色和行为都是相似的
1.5. 概念没有可视化的办法,它们十分笼统
1.6. 任何关于规划的谈论都有必要环绕基本概念,并点评概念选用的行为形式是否契合它的意图
-
1.6.1. 用户界面也很重要,但在必定程度上用户界面仅仅服务于概念,并将概念出现给用户
-
1.6.2. 假如咱们想让软件更好用,就有必要从概念着手
1.7. 在传统的规划学科中,规划是从概念这个中心动身的
-
1.7.1. 当挑选好中心概念后,后续的规划决议计划也是不可防止的
-
1.7.2. 规划作为一个全体,需求使著作出现出共同性,使它看起来像是一个人的著作,哪怕它是由一个大型团队共同完成的
-
1.7.3. 用户能够感知到著作的完整性和统一性,而规划中潜在的杂乱性要让坐落简略的著作形象
1.8. 概念的杂乱性是合理的
- 1.8.1. Photoshop软件的图层和蒙版就归于杂乱的概念
2. 规划的层次
2.1. 物理层次
-
2.1.1. 规划按键、布局和手势
-
2.1.2. 对应用户的物理和认知才干
-
2.1.3. 这个层次是关于组件的物理特性的
-
2.1.3.1. 即便软件的界面仅仅在一块触摸屏上运转,也会有物理特性,只不过或许比较有限
-
2.1.3.2. 咱们有限的视觉采样率导致了感知交融,这使咱们很难差异产生在30毫秒以内的事情,所以30帧/秒的画面就足以让电影看起来很流通
-
2.1.4. 菲茨规律(Fitt's Law)猜测了用户将光标移动到目标点需求的时刻,并解说了为什么菜单栏应该坐落屏幕顶部,就像macOS的桌面那样,而不是像Windows体系桌面那样坐落软件的窗口内部
-
2.1.5. 在物理层次进行规划时,有必要尊重用户身体特色的多样性
2.2. 言语层次
-
2.2.1. 规划与用户沟通的图标、提示信息和术语
-
2.2.2. 这个层次重视的是为了表达软件的运转办法而运用的言语,以协助用户阅读软件、了解可用的操作以及操作将产生的影响、软件现已产生的行为等
-
2.2.3. 在言语层次进行规划时,有必要尊重用户在文明和言语上的差异
-
2.2.3.1. 在欧洲,赤色圆圈的路标表明任何车辆都不答应通行
-
2.2.3.2. 大多数美国司机却或许觉得禁行标识应该是赤色的斜杠
-
2.2.4. 当用户界面的规划师议论对共同性的需求时,他们一般指的便是言语层次上的言语运用
-
2.2.4.1. 共同性包含保证在整个用户界面中,对相同的词语选用了相同的运用办法
2.3. 首要重视用户界面中的概念表达
2.4. 概念层次
-
2.4.1. 将底层行为规划为一系列概念
-
2.4.2. 它重视规划背面的行为,即重视由用户和软件自身履行的操作,以及这些操刁难底层结构的影响
-
2.4.3. 与言语层次比较,概念层次与沟通或文明无关
-
2.4.4. 在编程中,笼统(abstraction)和表达(representation)有着重要的差异
-
2.4.4.1. 笼统是捉住编程思维的实质,也或许用于对观测到的行为进行阐明
-
2.4.4.2. 表达是通过代码完成这个实质
3. 心智模型
3.1. 概念规划之源
3.2. 用户知道软件中有这些功用,却依然无法正确地运用它们
-
3.2.1. 最常见的原因是,用户的心智模型不正确,或许说与软件规划师和程序员的心智模型不共同
-
3.2.2. 用户对他们运用的设备往往有着含糊、不完整乃至是不共同的心智模型,这并不令人意外
3.3. 处理这个问题的一个糟糕办法是训练用户
- 3.3.1. 大多数用户都会回绝花时刻学习怎么运用软件,他们以为游刃有余
3.4. 一个更好的处理办法是规划软件的概念,使软件简略、灵敏并能很好地习惯用户的需求
- 3.4.1. 一起通过用户界面向用户传达这些概念
3.5. 概念自身既是用户想要的心智模型,也是软件的规范
3.6. 用户界面规划师的使命便是规划出相似规划大师唐纳德·诺曼所说的“体系形象”
- 3.6.1. 用户界面能够精确地对应概念模型,这样用户就能够获得与软件概念共同的心智模型
4. 概念能够表明单个软件
4.1. 概念是单个软件、一类软件以及各类软件的特征
4.2. 概念能够让你比较软件,留意其必要的功用以及知道怎么有用地运用这些功用
4.3. 短信和电子邮件的首要差异
-
4.3.1. 短信是用会话概念安排起来的,一切发送给同一个人的音讯都会显现在同一个界面中
-
4.3.1.1. 在必定程度上是由于短信的发送者和接收者仅由电话号码标识身份
-
4.3.1.2. 短信依靠会话的场景
-
4.3.2. 电子邮件一般运用“邮箱”、“文件夹”或“标签”等概念来安排
-
4.3.2.1. 电子邮件用户往往具有多个通信地址,这使得依据地址对电子邮件进行分组并不牢靠
-
4.3.2.2. 电子邮件信息往往是孤立的
5. 概念能够表明一类软件
5.1. 概念一般是软件差异化的要素,重视概念会让你更重视商场的需求,并提醒软件成功或失利的原因
5.2. 概念不只能够表明单个软件,而且能表明一类软件
-
5.2.1. 文本修改器
-
5.2.1.1. Atom、Sublime、BBEdit和Emacs来修改程序代码
-
5.2.1.2. 文本修改器的要害概念是“行”和“字符”
-
5.2.1.3. 行概念包含了强壮的功用,例如比较和兼并,这些对程序员办理代码来说是必不可少的
-
5.2.2. 文字处理软件
-
5.2.2.1. Word、OpenOffice和WordPerfect来创立各种文档
-
5.2.2.2. 包含“阶段”,还包含“格局”,格局概念答应用户为文本指定排版特色
-
5.2.3. 桌面出书软件
-
5.2.3.1. Adobe InDesign、QuarkXPress、Scribus和Microsoft Publisher将文档安排成书本和杂志的终究版式
-
5.2.3.2. 包含文字处理软件的基本概念,但增加了最重要的文本流概念,这一概念答应用户在文档的不同方位刺进链接在一起的文本框
5.3. 概念能够差异软件
6. 概念能够作为事务界说的中心
6.1. 概念能够协助从事数字化转型的公司规划行进的路途
6.2. 尽管出资中心概念这件事听起来没有那么花哨,但或许更有用
6.3. 只需确认事务的中心概念,就能够协助公司专心于正在供给的服务,以及将来或许会供给的服务
6.4. 析这些中心概念能够协助公司发现其间的抵触和时机,然后简化事务
6.5. 对概念清单进行排序,能够反映每个概念关于客户和公司的价值,以及施行和保护这些概念的本钱,然后为公司的服务战略供给依据
6.6. 通过整合一系列中心概念,公司能够保证客户在技能渠道和公司各部门之间具有共同的体会,并能够下降因具有多个概念变体导致的本钱
6.7. 为了使赢利最大化,大多数航空公司躲藏了座位的定价战略
- 6.7.1. 只要专家才知道当时的座位价格与这架飞机上其他座位比较,或许与曩昔的座位价格比较,是贵了仍是廉价了
7. 概念能够确认本钱和收益
7.1. 概念能将功用更明晰地划分为独立的单元,每个功用单元都有自己的价值和本钱
7.2. 概念的杂乱性,即开发这个概念的本钱,以及用户混杂的本钱
7.3. 概念的新颖性,以及由此带来的危险
7.4. 依据二八规律,咱们知道20%的概念将带来80%的收益
8. 用概念别离重视点
8.1. 概念供给一种新的粒度,让软件规划师能够更有用地别离软件的功用点、探究概念的重用办法,并更合理地规划软件工程作业
8.2. 处理问题最重要的战略是别离重视点,即分隔处理重视点的不同方面,即便有些重视点并不是彻底独立的
8.3. 别离重视点是有用的,由于这样能使规划师一次只专心于一个方面
-
8.3.1. 无须在规划审阅功用的一起考虑是否能够吊销约请
-
8.3.2. 每个概念都能够规划得很丰厚,乃至能够独自成为一个小体系
-
8.3.3. 假如规划师以为某个概念的本钱与收益不匹配,也能够彻底疏忽这个概念
9. 概念能够保证规划的安全
9.1. 概念是安全规划的实质,挑选正确的概念并了解其意义至关重要
9.2. 安满是一切软件都重视的问题
9.3. "安全规划”的盛行,反映了人们逐渐对软件安全达到了一种一致,即保证安全最好的办法不是没有安全漏洞(这几乎是不或许的),而是通过规划保证即便存在安全漏洞,体系依然是安全的
9.4. 体系规模的安全规划依靠几个要害的概念
-
9.4.1. 身份验证概念,保证正确辨认出恳求的宣布者,也便是安全范畴中的“委托人”
-
9.4.2. 授权概念,保证这些恳求者只能拜访某些资源
-
9.4.3. 审计概念,保证每次拜访都有实在的记载,而且能够据此赏罚不良行为等
9.5. 概念是一切体系规划的中心
-
9.5.1. 安全(safety)范畴不同于安保(security)范畴,前者很少有规范的概念
-
9.5.2. 假如一个事端重复产生,就意味着应该有一个新的概念发挥相似安保概念的效果,并选用传统的办法完成要害功用
-
9.5.2.1. 医疗设备常常产生剂量计算错误,那么就应该规划一个剂量概念,用来处理各种单位、浓度和流速,然后消除许多导致患者受伤或逝世的悲剧性事端,这些事端本是能够防备的
10. 概念能够回应对规划的谈论
10.1. 概念为谈论规划供给了可用的准则,然后防止花很长时刻才干发现问题
- 10.1.1. 把握这些准则的软件规划师会做出更好的规划,即便他们还没有清晰的主意
10.2. 在任何规划范畴,规划师都会对互相的著作进行剖析和谈论,这对规划有重要的效果
10.3. 谈论并不是一种通过体系性考虑的正式点评,但正是它的非正式性能够带来新的视角与创意
10.4. 规划准则能够有不同的运用办法
- 10.4.1. 它们是规划谈论达到一致的根底,或许能够被体系地应用于启发式点评,但其更重要的效果是刻画规划师的思维