- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程第十一章面向对象设计
11.6 设计人机交互子系统 在面向对象分析过程中,已经对用户界面需求做了初步分析,在面向对象设计过程中,则应该对系统的人机交互子系统进行详细设计,以确定人机交互的细节,其中包括指定窗口和报表的形式、设计命令层次等项内容。 1. 分类用户 人机交互界面是给用户使用的,为设计好人机交互子系统,设计者应该认真研究使用它的用户。 了解用户的需要与爱好,以便设计出符合用户需要的界面,设计者首先应该把将来可能与系统交互的用户分类。通常从下列几个不同角度进行分类: 按技能水平分类(新手、初级、中级、高级)。 按职务分类(总经理、经理、职员)。 按所属集团分类(职员、顾客)。 2. 描述用户 应该仔细了解将来使用系统的每类用户的情况,把获得的下列各项信息记录下来: 用户类型。 使用系统欲达到的目的。 特征(年龄、性别、受教育程度、限制因素等)。 关键的成功因素(需求、爱好、习惯等)。 技能水平。 完成本职工作的脚本。 3. 设计命令层次 设计命令层次的工作通常包含以下几项内容。 (1) 研究现有的人机交互含义和准则 现在,Windows已经成了微机上图形用户界面事实上的工业标准。所有Windows应用程序的基本外观及给用户的感受都是相同的。Windows程序通常还遵守广大用户习以为常的许多约定。 设计图形用户界面时,应该保持与普通Windows应用程序界面相一致,并遵守广大用户习惯的约定,这样才会被用户接受和喜爱。 (2) 确定初始的命令层次 所谓命令层次,实质上是用过程抽象机制组织起来的、可供选用的服务的表示形式。设计命令层次时,通常先从对服务的过程抽象着手,然后再进一步修改它们,以适合具体应用环境的需要。 (3) 精化命令层次 为进一步修改完善初始的命令层次,应该考虑下列一些因素: 次序:仔细选择每个服务的名字,并在命令层的每一部分内把服务排好次序。排序时或者把最常用的服务放在最前面,或者按照用户习惯的工作步骤排序。 整体-部分关系:寻找在这些服务中存在的整体-部分模式,这样做有助于在命令层中分组组织服务。 宽度和深度:由于人的短期记忆能力有限,命令层次的宽度和深度都不应该过大。 操作步骤:应该用尽量少的单击、拖动和击键组合来表达命令,而且应该为高级用户提供简捷的操作方法。 4. 设计人机交互类 人机交互类与所使用的操作系统及编程语言密切相关。例如,在Windows环境下运行的Visual C++语言提供了MFC类库,设计人机交互类时,往往仅需从MFC类库中选出一些适用的类,然后从这些类派生出符合自己需要的类就可以了。 11.7 设计任务管理子系统 从概念上说,不同对象可以并发地工作,但是,在实际系统中,许多对象之间往往存在相互依赖关系。此外,在实际使用的硬件中,可能仅由一个处理器支持多个对象。因此,设计工作的一项重要内容就是,确定哪些是必须同时动作的对象,哪些是相互排斥的对象。然后进一步设计任务管理子系统。 1. 分析并发性 通过面向对象分析建立起来的动态模型,是分析并发性的主要依据。 如果两个对象彼此间不存在交互,或者它们同时接受事件,则这两个对象在本质上是并发的。 通过检查各个对象的状态图及它们之间交换的事件,能够把若干个非并发的对象归并到一条控制线中。 2. 设计任务管理子系统 常见的任务有事件驱动型任务、时钟驱动型任务、优先任务、关键任务和协调任务等。设计任务管理子系统,包括确定各类任务并把任务分配给适当的硬件或软件去执行。 (1) 确定事件驱动型任务 某些任务是由事件驱动的,这类任务可能主要完成通信工作。例如,与设备、屏幕窗口、其他任务、子系统、另一个处理器或其他系统通信。事件通常是表明某些数据到达的信号。 在系统运行时,这类任务的工作过程如下:任务处于睡眠状态(不消耗处理器时间),等待来自数据线或其他数据源的中断;一旦接收到中断就唤醒了该任务,接收数据并把数据放入内存缓冲区或其他目的地,通知需要知道这件事的对象,然后该任务又回到睡眠状态。 (2) 确定时钟驱动型任务 某些任务每隔一定时间间隔就被触发以执行某些处理,例如,某些设备需要周期性地获得数据;某些人机接口、子系统、任务、处理器或其他系统也可能需要周期性地通信。在这些场合往往需要使用时钟驱动型任务。 时钟驱动型任务的工作过程如下:任务设置了唤醒时间后进入睡眠状态;任务睡眠(不消耗处理器时间),等待来自系统的中断;一旦接收到这种中断,任务就被唤醒并做它的工作,通知有关的对象,然后该任务又回到睡眠状态。 (3) 确定优先任务 优先任务可以满足高优先级或低优先级的处理需求: 高优先级:某些服务具有很高的优先级,为了在严格限定的时间内完成这种服务,可能需要把这类服务分离成独立的任务。 低优先级:与高优先级相反,有些服务是低优先级的,属于低优先级处理(通常指那些背景处
文档评论(0)