第8章 · 播客 第9集
系统分析与设计方法 · 界面设计黄金法则与工作流
🎙️ 本集播客:第9集:接口设计三方面入手,逐条拆 Theo Mandel 的三个黄金法则(第 9 题)与界面设计四步;再进工作流设计,十大术语、谁什么何时三问、WFMC 参考模型六个模块,中间还有 Petri 网与有限状态自动机的取舍。 语音由微软 Edge 神经网络语音预生成(女声·晓伊,男声·云希)。点击下方任意对话可直接从该句开始播,当前句朗读时下一句已预先加载,无缝衔接。
明
阿明
UML 讲完了,界面设计这块好像一直没被重视?
雅
小雅
原文也是这么说的。接口设计主要包括三个方面的内容:一是设计软件构件间的接口;二是设计模块和其他非人的信息生产者和消费者,如外部实体的接口;三是人,如用户,和计算机间界面设计。软件构件间接口的设计与架构的设计紧密相关,设计模块和外部实体的接口则与详细设计相关,人机界面接口是相当容易被忽视的环节。三个接口、三个关联层次,本身就是一道归类题。
明
阿明
用户界面设计有原则吗?练习题第 9 题就在这儿。
雅
小雅
有,而且是名人背书的。用户界面设计必须考虑软件使用者的体力和脑力,根据 Theo Mandel 的总结,设计时必须遵从三个黄金法则:置用户于控制之下;减少用户的记忆负担;保持界面的一致。第 9 题问「三个黄金法则不包括」,答案是「最大化界面美观度」——原文三法则里没有美观这一条,出现「美观」二字的选项就是来骗人的。
雅
小雅
把三条法则的内容也展开,考试爱考细则对应哪条。置用户于控制之下,具体来说就是:以不强迫用户进入不必要的或不希望的动作的方式来定义交互模式、提供灵活的交互、允许用户交互可以被中断和撤销、当技能级别增长时可以使交互流水化并允许定制交互、使用户隔离内部技术细节、设计应允许用户和出现在屏幕上的对象直接交互。
雅
小雅
减少用户的记忆负担,具体来说:减少对短期记忆的要求、建立有意义的默认、定义直觉性的捷径、界面的视觉布局应该基于对真实世界的隐喻、以不断进展的方式提示信息。保持界面的一致,具体来说:允许用户将当前任务放入有意义的语境、在应用系列内保持一致性,如果过去的交互模型已经建立了用户期望,除非有不得已的理由,否则不要改变它。
明
阿明
「允许交互被中断和撤销」归控制之下,「减少短期记忆要求」归记忆负担,「不要随意改变已建立的用户期望」归一致性。
雅
小雅
对,这么挂靠就错不了。我出一道检验题:题目描述「定义直觉性的捷径,界面的视觉布局基于对真实世界的隐喻」,问这属于哪条黄金法则?
明
阿明
捷径和隐喻都是为了让人不用死记硬背——减少用户的记忆负担。
雅
小雅
反应很快。反过来「允许用户和出现在屏幕上的对象直接交互」呢?这句容易被「直接交互」四个字带偏,实际是置用户于控制之下的细则。
明
阿明
记下了,细则归属我过关了。那界面设计本身是个什么过程?
雅
小雅
用户界面的设计过程也应该是迭代的,通常包括 4 个不同的框架活动。第一,用户、任务和环境分析,着重于分析将和系统交互的用户的特点,记录技术级别、业务理解及对新系统的一般感悟,定义不同的用户类别,然后对用户将要完成什么样的任务进行详细的标识和描述,最后对用户的物理工作环境进行了解与分析。
雅
小雅
第二,界面设计,包括建立任务的目标和意图,为每个目标或意图制定特定的动作序列,按在界面上执行的方式对动作序列进行规约,指明系统状态,定义控制机制,指明控制机制如何影响系统状态,指明用户如何通过界面上的信息来解释系统状态;第三,实现,根据界面设计进行实现,前期可以通过原型工具来快速实现,减少返工的工作量;第四,界面确认,界面实现后进行一些定性和定量的数据收集,以进行界面的评估,调整界面的设计。分析、设计、实现、确认,四步迭代。
明
阿明
界面这块不重,倒是工作流那节看着术语爆炸。
雅
小雅
先给你泼点背景:工作流技术经过多年努力取得了一定成果,但在实际应用中,应用的企业还是较少,应用的范围窄,效果不理想。流程设计的主要困难实际上也就是软件的主要困难:现实复杂性。原文还有句名言:所有的流程模型都是对现实的简化,计算机只根据确定的信息作判断,而现实中的流程存在大量的不确定性。以及一句扎心的:企业管理已经发展了几百年,而计算机还没有百年的历史。
雅
小雅
定义要一字不差。根据工作流管理联盟的定义:工作流是一类能够完全或者部分自动执行的经营过程,根据一系列过程规则、文档、信息或任务在不同的执行者之间传递、执行。简记,工作流是现实中的具体工作从开始到结束过程的抽象和概括,这个过程包括了众多因素:任务顺序、路线规则、时间时限约束等。
明
阿明
工作流周边还有一串术语,我数着有十个?
雅
小雅
十个,逐个过。流程定义:对业务过程的形式化表示,它定义了过程运行中的活动和所涉及的各种信息,这些信息包括过程的开始和完成条件、构成过程的活动及进行活动间导航的规则、用户所需要完成的任务、可能被调用的应用、工作流间的引用关系,以及工作流数据的定义。流程实例,也常常称为工作,是一个流程定义的运行实例,例如客户的一次订购过程,客服中心受理的一次客户投诉过程等。注意这对关系:流程定义是模板,流程实例是运行,类比类和对象。
雅
小雅
工作流管理系统:和数据库管理系统类似,是一个软件系统,这个程序存储流程的定义,按照所使用的流程定义来触发流程状态的改变,推动流程的运转,这个推动的依据常常称为工作流引擎。流程定义工具:同样是一套软件系统,它和工作流管理系统的关系就如同数据库设计工具和数据库管理系统的关系一样,可能是独立的软件,也可能是工作流管理系统的一部分。这个类比本身就是考点。
雅
小雅
参与者:回答业务流程中谁这个问题,可以是具体的人或者角色,也可以是自动化系统,甚至是其他系统。活动:流程定义中的一个元素,一次活动可能改变流程处理数据的内容、流程的状态,并可能将流程推动到其他活动中去,活动可以由人来完成,也可以是系统自动的处理过程。活动所有者:参与者之一,他有权决定该活动是否结束,当他决定活动结束时,将活动推动到其他活动中,可能是下一个活动,也可能是前一个活动。工作所有者:有权整体控制流程实例执行过程的参与者。工作项:代表流程实例中活动的参与者将要执行的工作。
明
阿明
活动所有者管一个活动、工作所有者管整个流程实例,这两个所有者最容易混。
雅
小雅
对,层级差一级,判断题爱考。描述流程时原文说要回答三个问题:谁,流程的参与者;什么,参与者做什么工作;何时,工作完成的时间限制,还需要说明工作的数据流和完成工作的控制流。人们认为自然语言描述容易引起歧义,所以定义了一些形式化语言,称为工作流定义语言。
明
阿明
描述流程的图形化工具,是不是又有 Petri 网?
雅
小雅
有两派。有限状态自动机是一种分析状态和改变状态的良好工具,但这种方法需要完全列出流程中所有状态及这些状态的组合,当处理流程变得庞大时,自动机所对应的状态图膨胀得太厉害。而 Petri 网有严格的数学基础和图形化的规范语义,在描述离散事件动态系统方面的能力已经得到公认,具有较强的模型分析能力,在工作流的描述和分析中已经是人们广泛采用的一种方法。问「为什么不用有限状态自动机」——答状态图膨胀;问「Petri 网的优势」——答严格的数学基础和图形化规范语义。
明
阿明
那工作流管理系统的定义呢?
雅
小雅
根据工作流管理联盟 WFMC 的定义,工作流管理系统是一种在工作流形式化表示的驱动下,通过软件的执行而完成工作流定义、管理及执行的系统,其主要目标是对业务过程中各活动发生的先后次序及与活动相关的相应人力或信息资源的调用进行管理,而实现业务过程的自动化。还有个比较考点:和关系数据库共同基于关系代数、支持标准 SQL 不同,这些工作流管理系统基于不同的数学模型,提供完全不同的接口,各具特色但通用性和相互协作不足,限制了应用。
雅
小雅
WFMC 给出了包含六个基本模块的参考模型,这六个模块被认为是工作流管理系统的最基本组成,参考模型同时包括这些模块之间的接口标准。逐个数:一,流程定义工具,提供图形化或者其他方式的界面给设计者,将实际工作流程进行抽象,并将设计者提交的流程定义转换为形式化语言描述。
雅
小雅
二,工作流执行服务,这是工作流管理系统的核心,它使用一种或者多种数据流引擎,对流程定义进行解释,激活有效的流程实例,推动流程实例在不同的活动中运转,完成流程实例的创建、执行和管理,同时为每个用户维护一个活动列表,告诉用户当前必须处理的任务,必要时可以通过电子邮件甚至短消息提醒用户任务的到达。三,其他工作流执行服务,大型企业应用往往包括多个工作流管理系统,需要它们有效交互,避免画地为牢、信息孤岛。
雅
小雅
四,客户应用程序,这是给最终用户的界面,用户通过它对工作流的数据进行必要的处理,如果用户是当前活动的拥有者,还可通过客户应用程序改变流程实例的活动。五,被调用应用程序,常常是对工作流所携带数据的处理程序,用得很多的是电子文档的处理程序,它们由工作流执行服务在流程实例的执行过程中调用。六,管理和监控工具,提供对流程实例的状态查询、挂起、恢复、销毁等操作,同时提供系统参数、系统运行情况统计等数据。六个模块:流程定义工具、工作流执行服务、其他工作流执行服务、客户应用程序、被调用应用程序、管理和监控工具。
明
阿明
「工作流执行服务是核心」这条我标重了。
雅
小雅
本集必背:接口设计三方面是软件构件间接口、模块与外部实体接口、人机界面;三个黄金法则置用户于控制之下、减少用户的记忆负担、保持界面的一致,不含最大化美观;界面设计四步是用户任务和环境分析、界面设计、实现、界面确认;工作流定义是能够完全或者部分自动执行的经营过程;十大术语里流程定义是模板、流程实例是运行,活动所有者管活动、工作所有者管整个实例,工作流管理系统推动流程的依据叫工作流引擎;有限状态自动机败在状态图膨胀,Petri 网赢在严格数学基础和图形化规范语义;WFMC 参考模型六模块,工作流执行服务是核心。
明
阿明
界面加工作流,两块拼图都齐了。
雅
小雅
最后一集收尾本章:分布式系统的两种协作方式——基于实例与基于服务、近连接与远连接的辨析(练习题第 13 题);集中式、C/S、多层结构、Internet 三件套;以及系统过渡三种方式,并行过渡开销 2.5 到 3 倍(第 10 题),最后带全章必背清单。