2.设计过程(p1) 原型化设计与GUI具 对GUI设计模型的早期评价标准 1)系统及其界面的规格说明书的长度和复杂程度决 定了用户学习使用该系统所付出的代价。 2)命令或动作的数量、命令的参数个数等对系统交 互时间和效率的影响 3)命令或动作的数量、系统状态的数量对用户操作 的影响(如迷航问题) 4)界面风格、在线帮助、出错处理协议等决定了用 户是否能够顺利接受你所设计的界面
2. 设计过程(p111) • 原型化设计与GUI工具 • 对GUI 设计模型的早期评价标准 1) 系统及其界面的规格说明书的长度和复杂程度决 定了用户学习使用该系统所付出的代价。 2) 命令或动作的数量、命令的参数个数等对系统交 互时间和效率的影响。 3) 命令或动作的数量、系统状态的数量对用户操作 的影响(如迷航问题)。 4) 界面风格、在线帮助、出错处理协议等决定了用 户是否能够顺利接受你所设计的界面
3.人机界面设计指南(pll2)
3. 人机界面设计指南(p112)
四、详细设计的工具(P114) 程序流程图( Program flow diagram) N-S图(Nas和 Shneiderman提出) PADk( Problem Analysis Diagram) 判定表( Decision table) 判定树( Decision tree) 过程设计语言PDL( Program Design Language, also called Structured english or pseudo code
四、详细设计的工具(P114) • 程序流程图(Program flow diagram) • N-S图(Nassi和Shneiderman提出) • PAD图(Problem Analysis Diagram) • 判定表(Decision Table) • 判定树(Decision Tree) • 过程设计语言PDL(Program Design Language, also called Structured English or Pseudo code)
PDL is not a programming language Component alarm Management The intent of this component is to manage control panel switches and input from sensors by type and to act on any alarm condition that is encountered set default values for system Status(returned value), all data items initialize all system ports and reset all hardware Check controlPaneISwitches(cps) if cps="test then invoke alarm set to"on if cps="alarmOFF then invoke alarm set to off default for cps=none reset all singal values and switches do for all sensors
PDL is not a programming language Component alarmManagement; The intent of this component is to manage control panel switches and input from sensors by type and to act on any alarm condition that is encountered. set default values for systemStatus(returned value), all data items initialize all system ports and reset all hardware Check controlPanelSwitches(cps) if cps = “test” then invoke alarm set to “on” if cps = “alarmOFF” then invoke alarm set to “off” …… default for cps = none reset all singalValues and switches do for all sensors
cont invoke check Sensor procedure returning singal Value if singal Value bound lalarmType] then phone. message - message [alarmType] set alarmBell to"on"" for alarmTime Seconds set system status =alarm Condition parbegin parallel block, all tasks are executed in parallel. invoke alarm procedure with"on, alarmTimeSeconds invoke alarm procedure set to alarm Type, phone Number parend else skip endif enddofor End alarmManagement
cont. invoke checkSensor procedure returning singalValue if singalValue > bound [alarmType] then phone.message = message [alarmType] set alarmBell to “on” for alarmTimeSeconds set system status = “alarmCondition” parbegin \parallel block, all tasks are executed in parallel.\ invoke alarm procedure with “on”, alarmTimeSeconds invoke alarm procedure set to alarmType, phoneNumber parend else skip endif enddofor End alarmManagement