(软件工程复习核心重点)第十章面向对象设计-第四节:设计人机交互子系统和设计任务管理子系统
文章目录
- 一:设计人机交互子系统
- (1)概念
- A:主要内容
- B:重要性
- (2)设计策略
- A:分类用户
- B:描述用户
- C:设计命令层次
- ①:研究现有的人机交互含义和准则
- ②:确定初始的命令层次
- ③:精化命令的层次
- D:设计人机交互类
- 二:设计任务管理子系统
- (1)必要性
- (2)设计步骤
- A:分析并发性
- ①:并发性
- ②:方法
- ③:控制线
- B:设计任务管理子系统
- ①:确定事件驱动型任务
- ②:确定时钟驱动型任务
- ③:确定优先任务
- ④:确定关键任务
- ⑤:确定协调任务
- ⑥:尽量减少任务数
- ⑦:确定系统资源需求
一:设计人机交互子系统
(1)概念
A:主要内容
在面向对象设计过程中,对系统的人机交互子系统进行详细设计,以确定人机交互的细节,其中包括指定窗口和报表的形式、设计命令层次等项内容。
B:重要性
- 人机界面设计得好,则会使系统对用户产生吸引力,用户在使用系统的过程中会感到兴奋,能够激发用户的创造力,提高工作效率;
- 人机界面设计得不好,用户在使用过程中就会感到不方便、不习惯,甚至会产生厌烦和恼怒的情绪
(2)设计策略
A:分类用户
应该把将来可能与系统交互的用户按技能水平,或按职务,或按所属集团进行分类
B:描述用户
了解将来使用系统的每类用户的情况,把用户类型、使用目的、特征、关键的成功因素、技能水平、完成本职工作的脚本的信息记录下来
C:设计命令层次
①:研究现有的人机交互含义和准则
设计图形用户界面时,应该遵守广大用户习惯的约定,这样才会被用户接受和喜爱
②:确定初始的命令层次
命令层次实质上是用抽象机制组织起来的、可供选用的服务的表示形式,设计命令层次时,通常先从对服务的过程抽象着手,然后进一步修改它们,以适合具体应用环境的需要
③:精化命令的层次
为进一步修改完善初始的命令层次,应该考虑次序、整体部分关系、宽度和深度等因素
D:设计人机交互类
人机交互类与所使用的操作系统及编程语言密切相关
二:设计任务管理子系统
(1)必要性
- 许多对象之间往往存在相互依赖关系
- 在实际使用的硬件中,可能仅由一个处理器支持多个对象
(2)设计步骤
A:分析并发性
①:并发性
如果两个对象彼此间不存在交互,或它们同时接受事件,则它们在本质,上是并发的
②:方法
- 通过面向对象分析建立起来的动态模型,是分析并发性的主要依据
- 通过检查各个对象的状态图及它们之间交换的事件,能够把若干个非并发的对象归并到一条控制线中
③:控制线
控制线是一条遍及状态图集合的路径,在这条路径上每次只有一个对象是活动的。在计算机系统中用进程实现控制线。把多个任务的并发执行称为多任务
B:设计任务管理子系统
①:确定事件驱动型任务
某些任务是由事件驱动的,这类任务可能主要完成通信工作,具体任务有
- 任务处于睡眠状态,等待来自数据线或其他数据源的中断
- 一旦接收到中断就唤醒该任务,接收数据并把数据放入内存缓冲区或其他目的地,通知需要知道这件事的对象,然后该任务又回到睡眠状态
②:确定时钟驱动型任务
某些任务每隔一定时间间隔就被触发以执行某些处理,具体任务有
- 任务设置了唤醒时间后进入睡眠状态,等待来自系统的中断
- 接收到这种中断,任务就被唤醒并做它的工作,通知有关的对象,然后该任务又回到睡眠状态
③:确定优先任务
- 高优先级:有些服务是优先级的,为了在严格限定的时间内完成,把这类服务分离成独立的任务
- 低优先级:与高优先级相反,有些服务是低优先级的,属于低优先级处理。设计时用额外的任务把其分离出来
④:确定关键任务
关键任务是有关系统成功或失败的关键处理,这类处理通常都有严格的可靠性要求。处理方法为:在设计过程中用额外的任务把这样的关键处理分离出来,以满足高可靠性处理的要求
⑤:确定协调任务
当系统中存在三个以上任务时,就应该增加一个任务,用它作为协调任务。使用状态转换矩阵可以比较方便地描述该任务的行为。这类任务仅做协调工作,不要让它再承担其他服务工作
⑥:尽量减少任务数
⑦:确定系统资源需求
- 通过计算系统载荷,来估算所需要的固件的处理能力
- 综合权衡一致性、成本、性能以及未来的可扩充性和可修改性,决定资源需求
- 综合考虑各种因素,以决定哪些子系统用硬件实现,哪些子系统用软件实现
(软件工程复习核心重点)第十章面向对象设计-第四节:设计人机交互子系统和设计任务管理子系统相关推荐
- (软件工程复习核心重点)第二章可行性研究-第四节:数据字典
文章目录 一:相关概念 (1)定义 (2)作用 (3)意义(了解) 二:内容 三:定义数据的方法 (1)数据元素组成数据的方式 (2)符号表示 四:数据字典示例 五:用途 一:相关概念 (1)定义 数 ...
- (软件工程复习核心重点)第八章面向对象方法学-第一节:面向对象方法学概述
专栏目录首页:学习笔记 注意:本章是面向对象的内容,而C++又是一个很经典的面向对象语言,所以本节介绍时会引入C++相关知识.如需深入了解C++,可移步 C++学习专栏 文章目录 一:要点 (1)基本 ...
- (软件工程复习核心重点)第七章软件维护-第一节:软件维护的概念和特点
文章目录 一:软件维护的概念 (1)定义 (2)分类 二:软件维护的特点 (1)结构化维护和非结构化维护差别巨大 (2)维护的代价高昂(了解) (3)维护存在很多问题(了解) 一:软件维护的概念 (1 ...
- (软件工程复习核心重点)第三章需求分析-第一节:需求分析相关概念
文章目录 一:需求分析相关概念 (1)定义 (2)必要性(了解) (3)准则 二:需求分析的任务 (1)确定对系统的综合要求 (2)分析系统的数据要求 A:意义(了解) B:工具 (3)导出系统的逻辑 ...
- (软件工程复习核心重点)第三章需求分析-第二节:实体联系图(ER图)
文章目录 一:数据模型 (1)定义 (2)构成 二:实体联系图(E-R图) (1)定义 (2)符号表示 (3)E-R模型的优点 (4)示例 一:数据模型 (1)定义 为了把用户的数据要求清楚.准确地描 ...
- (软件工程复习核心重点)第十章面向对象设计-第二节:启发规则和软件重用
文章目录 一:启发规则 (1)设计结果应该清晰易懂 (2)一般一特殊结构的深度适当 (3)设计简单的类 (4)使用简单的协议 (5)使用简单的服务 (6)把设计变动减至最小 二:软件重用 (1)概述 ...
- (软件工程复习核心重点)第十章面向对象设计-第五节:设计数据管理子系统和设计类中的服务
文章目录 一:设计数据管理子系统 (1)概念 (2)选择数据存储管理模式 A:文件管理系统 B:关系数据库管理系统 C:面向对象数据库管理系统 (3)设计数据管理子系统 A:设计数据格式 B:设计相应 ...
- (软件工程复习核心重点)第十章面向对象设计-第一节:面向对象设计的基本概念与准则
文章目录 一:面向对象设计概念 (1)定义 (2)设计与分析的关系 (3)分类 二:面向对象的设计准则 (1)模块化 (2)抽象 (3)信息隐藏 (4)低耦合 A:交互耦合 B:继承耦合 (5)高内聚 ...
- (软件工程复习核心重点)第四章总体设计-第二节:设计原理
文章目录 一:模块化 (1)模块 (2)模块化 (3)优点或作用 二:抽象(了解) 三:逐步求精 (1)定义 (2)MIller法则:注意力集中在(7 ±\pm± 2) 四:信息隐藏和局部化(了解) ...
最新文章
- Windows Live Writer发布测试
- QT信号与槽——观察者模式——回调函数
- 超低费用将推动BCH在Token系统中脱颖而出
- 从Top500、天河一号和超级计算机引起的话题
- 在公网(internet)上建立website时不能用http访问
- mysql安装10045_mysql数据库5.6.45安装后的配置(离线安装包版)
- 李超线段树 [Heoi2013]Segment
- amd sata controller下载_AMD发布全新锐龙芯片组驱动:告别卡死、报错
- lua的VS或者VC环境的搭建调试
- 单机 搭建kafka集群 本地_10分钟搭建单机Kafka集群
- 手把手带你走进卷积神经网络!
- Linux基本命令(三)-----Linux常用命令(按功能分类)
- prolog参考手册学习(第一章)
- 手把手教你做线性回归分析,实用且通俗易懂!
- 计算机之父童年的故事ppt,24计算机之父童年的故事
- 上海住房公积金的提取条件
- Gromacs 伞形采样
- Java调用aliyun OCR图文识别
- 360数科华丽财报下的增长困局
- 潜艇游戏-第13届蓝桥杯Scratch选拔赛真题精选
热门文章
- 前端小白到技术专家,可能么?
- php脚本哪里找,我在哪里可以找到PHP-FPM RC脚本?
- keyshot10 pro for mac最新版
- 西安后宰门小学_【棒!少年】 追逐热血,挥洒激情!后宰门小学决战2020 MLB First Pitch青少年棒球联赛西安赛区...
- 给 python 初学者的四条忠告_给 python 初学者的四条忠告-Go语言中文社区
- 整理的3500个常用汉字的调用字典
- JS实现的文章字符串中某个字符总个数统计在线小工具实例
- Linux 系统增加Swap分区扩容运行内存
- java 生成验证码
- C++笔记-解决VS2015Qt项目MSB3758.MSB4036