面向对象设计-第四节:设计人机交互子系统和设计任务管理子系统
Posted 快乐江湖
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象设计-第四节:设计人机交互子系统和设计任务管理子系统相关的知识,希望对你有一定的参考价值。
文章目录
一:设计人机交互子系统
(1)概念
A:主要内容
在面向对象设计过程中,对系统的人机交互子系统进行详细设计,以确定人机交互的细节,其中包括指定窗口和报表的形式、设计命令层次等项内容。
B:重要性
- 人机界面设计得好,则会使系统对用户产生吸引力,用户在使用系统的过程中会感到兴奋,能够激发用户的创造力,提高工作效率;
- 人机界面设计得不好,用户在使用过程中就会感到不方便、不习惯,甚至会产生厌烦和恼怒的情绪
(2)设计策略
A:分类用户
应该把将来可能与系统交互的用户按技能水平,或按职务,或按所属集团进行分类
B:描述用户
了解将来使用系统的每类用户的情况,把用户类型、使用目的、特征、关键的成功因素、技能水平、完成本职工作的脚本的信息记录下来
C:设计命令层次
①:研究现有的人机交互含义和准则
设计图形用户界面时,应该遵守广大用户习惯的约定,这样才会被用户接受和喜爱
②:确定初始的命令层次
命令层次实质上是用抽象机制组织起来的、可供选用的服务的表示形式,设计命令层次时,通常先从对服务的过程抽象着手,然后进一步修改它们,以适合具体应用环境的需要
③:精化命令的层次
为进一步修改完善初始的命令层次,应该考虑次序、整体部分关系、宽度和深度等因素
D:设计人机交互类
人机交互类与所使用的操作系统及编程语言密切相关
二:设计任务管理子系统
(1)必要性
- 许多对象之间往往存在相互依赖关系
- 在实际使用的硬件中,可能仅由一个处理器支持多个对象
(2)设计步骤
A:分析并发性
①:并发性
如果两个对象彼此间不存在交互,或它们同时接受事件,则它们在本质,上是并发的
②:方法
- 通过面向对象分析建立起来的动态模型,是分析并发性的主要依据
- 通过检查各个对象的状态图及它们之间交换的事件,能够把若干个非并发的对象归并到一条控制线中
③:控制线
控制线是一条遍及状态图集合的路径,在这条路径上每次只有一个对象是活动的。在计算机系统中用进程实现控制线。把多个任务的并发执行称为多任务
B:设计任务管理子系统
①:确定事件驱动型任务
某些任务是由事件驱动的,这类任务可能主要完成通信工作,具体任务有
- 任务处于睡眠状态,等待来自数据线或其他数据源的中断
- 一旦接收到中断就唤醒该任务,接收数据并把数据放入内存缓冲区或其他目的地,通知需要知道这件事的对象,然后该任务又回到睡眠状态
②:确定时钟驱动型任务
某些任务每隔一定时间间隔就被触发以执行某些处理,具体任务有
- 任务设置了唤醒时间后进入睡眠状态,等待来自系统的中断
- 接收到这种中断,任务就被唤醒并做它的工作,通知有关的对象,然后该任务又回到睡眠状态
③:确定优先任务
- 高优先级:有些服务是优先级的,为了在严格限定的时间内完成,把这类服务分离成独立的任务
- 低优先级:与高优先级相反,有些服务是低优先级的,属于低优先级处理。设计时用额外的任务把其分离出来
④:确定关键任务
关键任务是有关系统成功或失败的关键处理,这类处理通常都有严格的可靠性要求。处理方法为:在设计过程中用额外的任务把这样的关键处理分离出来,以满足高可靠性处理的要求
⑤:确定协调任务
当系统中存在三个以上任务时,就应该增加一个任务,用它作为协调任务。使用状态转换矩阵可以比较方便地描述该任务的行为。这类任务仅做协调工作,不要让它再承担其他服务工作
⑥:尽量减少任务数
⑦:确定系统资源需求
- 通过计算系统载荷,来估算所需要的固件的处理能力
- 综合权衡一致性、成本、性能以及未来的可扩充性和可修改性,决定资源需求
- 综合考虑各种因素,以决定哪些子系统用硬件实现,哪些子系统用软件实现
以上是关于面向对象设计-第四节:设计人机交互子系统和设计任务管理子系统的主要内容,如果未能解决你的问题,请参考以下文章
(计算机组成原理)第五章中央处理器-第四节4:微程序控制单元设计
基于国产 ARM + FPGA+Codesys运动控制平台的智能人机交互系统设计