收藏 分销(赏)

软件工程电子教案省公共课一等奖全国赛课获奖课件.pptx

上传人:快乐****生活 文档编号:3114069 上传时间:2024-06-18 格式:PPTX 页数:105 大小:1.93MB
下载 相关 举报
软件工程电子教案省公共课一等奖全国赛课获奖课件.pptx_第1页
第1页 / 共105页
软件工程电子教案省公共课一等奖全国赛课获奖课件.pptx_第2页
第2页 / 共105页
软件工程电子教案省公共课一等奖全国赛课获奖课件.pptx_第3页
第3页 / 共105页
软件工程电子教案省公共课一等奖全国赛课获奖课件.pptx_第4页
第4页 / 共105页
软件工程电子教案省公共课一等奖全国赛课获奖课件.pptx_第5页
第5页 / 共105页
点击查看更多>>
资源描述

1、第四章第四章 软件设计概述软件设计概述n软件设计任务软件设计任务n软件设计基本概念软件设计基本概念n模块化设计模块化设计n设计需要处理问题设计需要处理问题n设计文档及其复审设计文档及其复审第1页什么是设计?什么是设计?n把问题转化为处理方案创造性过把问题转化为处理方案创造性过程;处理方案描述也称为设计。程;处理方案描述也称为设计。第2页设计和需求有什么不一样设计和需求有什么不一样?n张君和李丽想张君和李丽想建建一栋新房子。他们需求一栋新房子。他们需求以下:以下:n三个小孩有玩耍空间,并独立拥有各自睡房三个小孩有玩耍空间,并独立拥有各自睡房n一间主人卧房一间主人卧房n一个厨房一个厨房n冬天可取暖

2、,夏天可制冷冬天可取暖,夏天可制冷n室内通水通电室内通水通电n等等等等第3页设计和需求有什么不一样设计和需求有什么不一样?n设计师方案设计师方案:n屋子楼上有四间睡房,楼下有一间客房,一屋子楼上有四间睡房,楼下有一间客房,一间厨房,一个玩具房和一个杂物室等等。间厨房,一个玩具房和一个杂物室等等。n还有其它方案吗?还有其它方案吗?第4页软件设计两个阶段软件设计两个阶段n设计者必须同时满足用户和系统开发人员要求设计者必须同时满足用户和系统开发人员要求n概要设计书概要设计书n详细设计书详细设计书n设计者迂回于各种活动中:设计者迂回于各种活动中:n了解需求了解需求n提出可能方案提出可能方案n测试方案可

3、能性测试方案可能性n向用户描述各种可能向用户描述各种可能n向编程人员提供设计文档向编程人员提供设计文档第5页软件设计内容软件设计内容n体系结构设计体系结构设计n定义软件部件间关系定义软件部件间关系n接口设计接口设计n软件内部、外部及与人之间通信软件内部、外部及与人之间通信n数据设计数据设计n信息模型信息模型 软件数据结构软件数据结构n过程设计过程设计n软件组件过程性描述软件组件过程性描述第6页软件设计任务软件设计任务n分析模型分析模型 设计模型设计模型 设计文档设计文档n回答回答How to do?n能够分为概要设计、详细设计能够分为概要设计、详细设计n软件设计包含软件设计包含n数据设计数据设

4、计n体系结构设计体系结构设计n接口设计接口设计n过程设计过程设计第7页分解和模块化分解和模块化n系统设计方法:系统设计方法:n功效分解:将功效作为组件功效分解:将功效作为组件n面向数据分解:基于外部数据结构面向数据分解:基于外部数据结构n面向事件分解:基于系统必须处理事件面向事件分解:基于系统必须处理事件n外部输入设计:基于系统用户输入外部输入设计:基于系统用户输入n面向对象设计:定义对象类及其相互联络面向对象设计:定义对象类及其相互联络第8页分解层次化分解层次化第9页模块和模块化模块和模块化n模块化:当系统每项功效恰好由一个输入输出模块化:当系统每项功效恰好由一个输入输出都明确定义组件完成时

5、候,我们称这个系统模都明确定义组件完成时候,我们称这个系统模块化。块化。n模块模块表示能够用计算机程序代码实现,相表示能够用计算机程序代码实现,相对独立单一数据处理功效,所以模块有时也叫对独立单一数据处理功效,所以模块有时也叫功效模块。功效模块。n深入明确模块是拥有明确定义输入、输出和特深入明确模块是拥有明确定义输入、输出和特征程序实体。征程序实体。第10页设计方法选择设计方法选择n应该允许不一样设计者使用他们喜欢技应该允许不一样设计者使用他们喜欢技巧,只要他们文档能让其它设计者明白巧,只要他们文档能让其它设计者明白就能够了。就能够了。n设计方法选择又是取决于设计者偏好,设计方法选择又是取决于

6、设计者偏好,而更多时候取决于系统要求结构或数据。而更多时候取决于系统要求结构或数据。第11页软件设计中包括问题软件设计中包括问题n抽象(抽象(abstract)与细化)与细化(refinement)n抽象:分层次考虑和处理问题抽象:分层次考虑和处理问题(数据和过程数据和过程)n细化:从高到低逐步分解过程细化:从高到低逐步分解过程n信息隐藏信息隐藏n对其它模块隐藏模块内部数据和过程对其它模块隐藏模块内部数据和过程第12页抽抽 象象n抽象是对详细对象(问题)进行概括,抽出抽象是对详细对象(问题)进行概括,抽出这一类对象公共性质并加以描述过程。这一类对象公共性质并加以描述过程。n先注意问题本质及描述

7、,其次是实现过程或细节。先注意问题本质及描述,其次是实现过程或细节。n数据抽象:描述某类对象属性或状态(对象相互数据抽象:描述某类对象属性或状态(对象相互区分物理量)。区分物理量)。n代码抽象:描述某类对象共有行为特征或含有功代码抽象:描述某类对象共有行为特征或含有功效。效。n抽象实现:经过类申明。抽象实现:经过类申明。第13页模块化设计好处模块化设计好处n信息隐藏信息隐藏n从不一样角度了解系统从不一样角度了解系统n将难以处理问题独立出来;抽象层次经将难以处理问题独立出来;抽象层次经过逐层分析来了解问题过逐层分析来了解问题n允许不一样模块采取不一样设计方法允许不一样模块采取不一样设计方法第14

8、页模块化设计模块化设计n把大型软件按照要求标准划分成一个个较把大型软件按照要求标准划分成一个个较小、相对独立但又相互关联模块小、相对独立但又相互关联模块n主要指导思想:主要指导思想:n分解分解n模块独立性模块独立性第15页分解(分解(Decomposition)n模块化是为了使一个复杂大型程序能被模块化是为了使一个复杂大型程序能被人智力所管理人智力所管理n设函数设函数c(x)定义问题定义问题x复杂程度,函数复杂程度,函数E(X)确定处理问题确定处理问题x需要工作量(时间)需要工作量(时间)。对于两个问题。对于两个问题P1 和和P2,假如,假如显然显然第16页模块化依据模块化依据n人类处理普通问

9、题时一个有趣规律:人类处理普通问题时一个有趣规律:C(P1+P2)C(P1)+C(P2)E(P1+P2)E(P1)+E(P2)n结论:各个击破结论:各个击破把复杂问题分解成把复杂问题分解成轻易处理小问题,原来问题也就轻易处轻易处理小问题,原来问题也就轻易处理了理了第17页问题提出问题提出n假如无限分割软件,最终为了开发软假如无限分割软件,最终为了开发软件而需要工作量也就小得能够忽略了。件而需要工作量也就小得能够忽略了。?第18页模块数与开发工作量关系模块数与开发工作量关系模块数模块数接口成本接口成本最小成本区最小成本区M软软件件开开发发工工作作量量总成本总成本模块成本模块成本第19页模块划分基

10、本标准模块划分基本标准n概括了把软件划分为模块时要恪守准则,概括了把软件划分为模块时要恪守准则,也是判断模块结构是不是合理标准。也是判断模块结构是不是合理标准。n不过到当前为止,没有统一标准判断一不过到当前为止,没有统一标准判断一个系统化分成几个模块是最优。个系统化分成几个模块是最优。第20页模块划分四项基本标准模块划分四项基本标准1.模块独立性强模块独立性强n块内联络强块内联络强 n块间联络弱块间联络弱2.高内聚高内聚n模块内部各成份之间模块内部各成份之间3.低耦合低耦合n一个模块与其它模块之间一个模块与其它模块之间4.公共(共享)公共(共享)模块模块n多个模块公用多个模块公用第21页模块独

11、立性模块独立性n为何模块独立性很重要?n有效模块化软件轻易开发出来n独立模块比较轻易测试和维护n人独立性强怎样?n人没有独立性,什么都依赖他人怎样?第22页内聚内聚、耦合定义、耦合定义n内内聚聚是是模模块块功功效效强强度度(一一个个模模块块内内部部各各个元素彼此结合紧密程度)度量。个元素彼此结合紧密程度)度量。n耦合是对软件内部块间联络度量。耦合是对软件内部块间联络度量。一一个个模模块块内内部部各各个个元元素素之之间间联联络络越越紧紧密密,则则它它内内聚聚性性就就越越高高,相相对对地地,它它与与其其它它模模块块之之间间耦耦合合就就会会减减低低,而而模模块块独独立性就越强。立性就越强。第23页内

12、聚与耦合内聚与耦合n内内聚聚和和耦耦合合是是相相互互关关联联。在在程程序序结结构构中中各各模模块块内内聚聚程程度度越越高高,模模块块间间耦耦合合程程度度就就越越低低。但但这这也也不不是是绝绝正正确确。软软件件概概要要设设计计目目标标是是力力争争增增加加模模块块内内聚聚,尽尽可可能能降降低低模模块块间间耦耦合合,但但增增加加内内聚聚比比降降低低耦耦合合更更主主要要,应应该该把把更更多多注注意意力力集集中中到到提提升模块内聚程度上来。升模块内聚程度上来。第24页内聚内聚等级划分等级划分 弱弱 强强低内聚低内聚 中内聚中内聚 高内聚高内聚 第25页低低 内内 聚聚.偶然性内聚偶然性内聚n模块内各部分

13、没有联络,或者即使有联络,模块内各部分没有联络,或者即使有联络,这种联络也很涣散。这种联络也很涣散。.逻辑性内聚逻辑性内聚n这种模块把几个相关功效组合在一起,每次这种模块把几个相关功效组合在一起,每次调用时,由传送给模块判定参数来确定该模调用时,由传送给模块判定参数来确定该模块应执行哪一个功效。这种模块是单入口多块应执行哪一个功效。这种模块是单入口多功效模块。类似有错误处理模块。它接收犯功效模块。类似有错误处理模块。它接收犯错信号,对不一样类型错误打印出不一样犯错信号,对不一样类型错误打印出不一样犯错信息。错信息。第26页低低 内内 聚聚.时间性内聚时间性内聚时间内聚又称为经典内聚。这种模块大

14、多时间内聚又称为经典内聚。这种模块大多为多功效模块,但模块各个功效执行与时为多功效模块,但模块各个功效执行与时间相关,通常要求全部功效必须在同一时间相关,通常要求全部功效必须在同一时间段内执行。比如初始化模块和终止模块。间段内执行。比如初始化模块和终止模块。第27页中中 内内 聚聚.过程性内聚过程性内聚n假如一个模块内处理是相关,而且必须以特假如一个模块内处理是相关,而且必须以特定次序执行,则称这个模块为过程内聚模块。定次序执行,则称这个模块为过程内聚模块。.通讯性内聚通讯性内聚n假如一个模块内各功效部分都使用了相同输假如一个模块内各功效部分都使用了相同输入数据,或产生了相同输出数据,则称之为

15、入数据,或产生了相同输出数据,则称之为通信内聚模块。通信内聚模块。第28页高高 内内 聚聚.次序性内聚次序性内聚n假假如如一一个个模模块块内内处处理理元元素素和和同同一一个个功功效效亲亲密密相相关关,而而且且这这些些处处理理必必须须次次序序执执行行(通通常常一一个个处处理元素输出数据作为下一个处理元素输入数据)理元素输出数据作为下一个处理元素输入数据).功效性内聚功效性内聚n一个模块中各个部分都是某一详细功效必不可一个模块中各个部分都是某一详细功效必不可少组成部分,或者说该模块中全部部分都是为少组成部分,或者说该模块中全部部分都是为了完成一项详细功效而协同工作,紧密联络,了完成一项详细功效而协

16、同工作,紧密联络,不可分割。则称该模块为功效内聚模块。不可分割。则称该模块为功效内聚模块。第29页七种内聚优劣评分七种内聚优劣评分n功效内聚 10分n次序内聚 9分n通信内聚 7分n过程内聚 5分n时间内聚 3分n逻辑内聚 1分n偶然内聚 0分高内聚高内聚低内聚低内聚第30页逻辑逻辑内聚内聚模块模块 判断判断调用模块调用模块读读一一个个记记录录写写一一个个记记录录被被调调用用模模块块第31页常见内聚类型常见内聚类型第32页常见内聚类型常见内聚类型第33页耦耦 合合n对一个软件结构内不一样模块之间互连对一个软件结构内不一样模块之间互连程度度量。耦合强弱取决于模块间接口程度度量。耦合强弱取决于模块

17、间接口复杂程度、复杂程度、调用模块方式以及哪些信息调用模块方式以及哪些信息经过接口。经过接口。n在软件设计中应该追求尽可能涣散耦合在软件设计中应该追求尽可能涣散耦合系统系统第34页耦合七种类型(低耦合七种类型(低高)高)1.非非直直接接耦耦合合:假假如如两两个个模模块块之之间间没没有有直直接接关关系系,它它们们之之间间联联络络完完全全是是经经过过主主要要模模块块控控制制和和调调用用来来实现,这就是非直接耦合。实现,这就是非直接耦合。2.数据耦合:数据耦合:假如一个模块访问另一个模块时,彼假如一个模块访问另一个模块时,彼此之间是经过数据参数(不是控制参数、公共数此之间是经过数据参数(不是控制参数

18、、公共数据结构或外部变量)来交换输入、输出信息,则据结构或外部变量)来交换输入、输出信息,则称这种耦合为数据耦合。称这种耦合为数据耦合。3.标识标识(特征)(特征)耦合耦合:假如一组模块经过参数表传假如一组模块经过参数表传递统计信息,就是标识耦合。实际上,这组模块递统计信息,就是标识耦合。实际上,这组模块共享了这个统计,它是某一类数据结构子结构,共享了这个统计,它是某一类数据结构子结构,而不是简单变量。这要求这些模块都必须清楚该而不是简单变量。这要求这些模块都必须清楚该纪录结构,并按结构要求对此统计进行操作。纪录结构,并按结构要求对此统计进行操作。第35页耦合七种类型(续)耦合七种类型(续)4

19、.控制耦合控制耦合:假如一个模块经过传递开关、标志、假如一个模块经过传递开关、标志、名字等控制信息,显著控制选择另一模块功效,就名字等控制信息,显著控制选择另一模块功效,就是控制耦合。是控制耦合。5.外部耦合外部耦合:一组模块都访问同一全局简单变量而一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是经过参数表传递不是同一全局数据结构,而且不是经过参数表传递该全局变量信息,则称之为外部耦合。该全局变量信息,则称之为外部耦合。6.公共耦合公共耦合:若一组模块都访问同一个公共数据环若一组模块都访问同一个公共数据环境,则它们之间耦合称为公共耦合。公共数据环境境,则它们之间耦合称为公共耦合。

20、公共数据环境能够是全局数据结构、共享通信区、内存公共覆盖能够是全局数据结构、共享通信区、内存公共覆盖区等。区等。7.内容耦合:假如一个模块能够直接调用另一模块中内容耦合:假如一个模块能够直接调用另一模块中数据,或者允许一个模块直接转移到另一个模块中数据,或者允许一个模块直接转移到另一个模块中去,则称它们间耦合为内容耦合。去,则称它们间耦合为内容耦合。第36页弱弱 耦耦 合合数据耦合数据耦合非直接非直接耦合耦合模块模块2模块模块1模块模块4模块模块3特征耦合(参数表特征耦合(参数表传递数据结构)传递数据结构)第37页公公 共共 耦耦 合合第38页公公 共共 耦耦 合合公共耦合会引发以下问题:公共

21、耦合会引发以下问题:1 1.全全部部公公共共耦耦合合模模块块都都于于某某一一个个公公共共数数据据环环境境内内部部各各项项物物理理安安排排相相关关,若若修修改改某某个个数数据据大大小,将会影响到全部模块。小,将会影响到全部模块。2 2.无无法法控控制制各各个个模模块块对对公公共共数数据据存存取取,严严重重影影响软件模块可靠性和适应性。响软件模块可靠性和适应性。3 3.公共数据名使用,显著降低了程序可读性。公共数据名使用,显著降低了程序可读性。第39页内内 容容 耦耦 合合n假如出现以下情况之一,两个模块间就假如出现以下情况之一,两个模块间就发生了内容耦合:发生了内容耦合:n一个模块访问另一个模块

22、内部数据一个模块访问另一个模块内部数据n一个模块不经过正常入口而转到另一个模一个模块不经过正常入口而转到另一个模块内部块内部n两个模块有一部分程序代码重合(只可能两个模块有一部分程序代码重合(只可能出现在汇编程序中)出现在汇编程序中)n一个模块有多个入口(这意味着一个模块一个模块有多个入口(这意味着一个模块有几个功效)有几个功效)第40页(a)(a)进入另一模块内部进入另一模块内部(b b)模块代码重合)模块代码重合(c c)多入口模块)多入口模块ABABEnty1enty2内内 容容 耦耦 合合第41页n内容耦合内容耦合 0分分n公共耦合公共耦合 1分分n外部耦合外部耦合 3分分n控制耦合控

23、制耦合 5分分n特征耦合特征耦合 7分分n数据耦合数据耦合 9分分n非直接耦合非直接耦合 10分分高耦合高耦合低耦合低耦合七种耦合优劣评分七种耦合优劣评分第42页关于耦合设计标准关于耦合设计标准n尽可能使用数据(特征)耦合尽可能使用数据(特征)耦合n少用控制耦合少用控制耦合n限制公共环境耦合范围限制公共环境耦合范围n完全不用内容耦合完全不用内容耦合第43页建立公共(共享)模块建立公共(共享)模块 建建立立公公共共模模块块目目标标是是降降低低冗冗余余,降降低低无无须须要要重重复复工工作作,划划出出某某项项功功效效成成为为一一个个能能被被几几个个模模块块共共同同利利用用模模块块。也也就就模模块块结

24、结构构图图形形态态是中层宽大,上下小。是中层宽大,上下小。例:球场,田径场例:球场,田径场第44页哪种设计方案更加好呢哪种设计方案更加好呢?第45页自顶向下和自底向上设计自顶向下和自底向上设计n自顶向下自顶向下n顶层开始顶层开始n逐步分解逐步分解n由底向上由底向上 n选择关键部分先设计选择关键部分先设计n扩展到整个系统扩展到整个系统第46页两种设计方法比较两种设计方法比较3.假如在可行性上出现问题,假如在可行性上出现问题,能够较早发觉能够较早发觉3.需要进行详细需要进行详细可行性论可行性论证证2.整体测试可能在模块接口整体测试可能在模块接口间发觉不一致等问题间发觉不一致等问题2.整体测试较易经

25、过整体测试较易经过1.可能造成较大重新设计可能造成较大重新设计1.易于修改和扩展易于修改和扩展由底向上设计由底向上设计自顶向下设计自顶向下设计第47页4.4.1 协同设计协同设计n谁最适当设计系统某首先?谁最适当设计系统某首先?n怎样使组内组员相互了解他人设计?怎样使组内组员相互了解他人设计?n怎样协调设计组件使整个系统统一怎样协调设计组件使整个系统统一第48页4.4.2 用户用户(人机人机)界面设界面设计计n让用户驾驭软件,不是软件驾驭用户让用户驾驭软件,不是软件驾驭用户 n降低用户记忆降低用户记忆 n保持界面一致性保持界面一致性第49页 人机界面设计人机界面设计 人机界面通常也称为人机界面

26、通常也称为用户界面用户界面。(Human ComputerInterface,简称简称HCI)界面设计界面设计主要包含三个方面:主要包含三个方面:n设计软件构件之间接口设计软件构件之间接口n设计模块和其它非人信息生产者和设计模块和其它非人信息生产者和消费者界面消费者界面n设计人(如用户)和计算机间界面设计人(如用户)和计算机间界面 第50页 界面设计标准界面设计标准n分析用户类型分析用户类型n应用程序和界面分离应用程序和界面分离n一致性一致性n尽可能降低用户工作尽可能降低用户工作n提供反馈提供反馈n犯错处理和帮助功效犯错处理和帮助功效n增加可视化图形表示增加可视化图形表示第51页界面设计界面设

27、计-黄金规则黄金规则在相关界面设计中在相关界面设计中三条三条黄金标准黄金标准:n置于用户控制之下置于用户控制之下n降低用户记忆负担降低用户记忆负担n保持界面一致保持界面一致 第52页黄金规则:黄金规则:置于用户控制之下置于用户控制之下 Mandel定义一组允许用户操作控制标准定义一组允许用户操作控制标准:n以不强迫用户进入无须要或不希望动作方式来定以不强迫用户进入无须要或不希望动作方式来定义交互方式义交互方式n提供灵活交互提供灵活交互n允许用户交互能够被中止和撤消允许用户交互能够被中止和撤消n当技能级别增加时能够使交互流水化并允许定制当技能级别增加时能够使交互流水化并允许定制交互交互n使用户隔

28、离内部技术细节使用户隔离内部技术细节n设计应允许用户和出现在屏幕上对象直接交互设计应允许用户和出现在屏幕上对象直接交互第53页黄金规则:黄金规则:降低用户记忆负担降低用户记忆负担 Mandel定义了一组设计标准,使界面能定义了一组设计标准,使界面能够降低用户记忆负担够降低用户记忆负担:n降低对短期记忆要求降低对短期记忆要求n建立有意义缺省建立有意义缺省n定义直觉性捷径定义直觉性捷径n界面视觉布局应该基于真实世界隐喻界面视觉布局应该基于真实世界隐喻n以不停进展方式揭示信息以不停进展方式揭示信息第54页第55页缺省值第56页黄金规则:黄金规则:保持界面一致保持界面一致 用户应以一致方式展示和获取信

29、息:用户应以一致方式展示和获取信息:n全部可视信息组织均按照均按照贯通全部屏幕显全部可视信息组织均按照均按照贯通全部屏幕显示所保持设计标准示所保持设计标准n输入机制被约束到有限集合,在整个应用中被一输入机制被约束到有限集合,在整个应用中被一致地使用致地使用n从任务到任务导航机制被一致地定义和实现从任务到任务导航机制被一致地定义和实现Mandel定义了一组帮助保持界面一致性设计标准:定义了一组帮助保持界面一致性设计标准:n允许用户将允许用户将当前任务当前任务放入有意义语境放入有意义语境n在应用系列内保持一致性在应用系列内保持一致性n如过去交互模型已建立起了用户期望,除非有迫如过去交互模型已建立起

30、了用户期望,除非有迫不得已理由,不要改变它不得已理由,不要改变它第57页界面设计界面设计-用户友好性设计用户友好性设计 用户友好性用户友好性普通属软件性能特征,普通属软件性能特征,它独立于全部详细功效,却影响着它独立于全部详细功效,却影响着全部功效重用性。全部功效重用性。用户友好性用户友好性应表达在与用户有接应表达在与用户有接口软件特征上。口软件特征上。用户友好性根本目标是为了用户友好性根本目标是为了软件可重用性、可维护性。软件可重用性、可维护性。第58页用户友好性标志用户友好性标志n可操作性可操作性n健壮性健壮性n易学习性易学习性n可扩展性可扩展性 第59页 系统闭合等级系统闭合等级:n极限

31、闭合等级极限闭合等级:15:15秒秒n复杂闭合等级:复杂闭合等级:4 41515秒秒n简单闭合等级:简单闭合等级:2 24 4 秒秒n最简单闭合等级最简单闭合等级:1:12 2 秒秒n瞬时响应瞬时响应:1:1秒秒界面设计界面设计-反馈响应时间反馈响应时间(系统延系统延迟迟)第60页用户界面设计用户界面设计-界面设计模型界面设计模型设计用户界面要考虑四种模型:设计用户界面要考虑四种模型:软件工程师创建软件工程师创建设计模型设计模型 人员工程师创建人员工程师创建用户模型用户模型 终端用户对未来终端用户对未来系统假想系统假想系统实现后得到系统实现后得到系统映象系统映象四种模型可四种模型可能相差甚远,

32、能相差甚远,界面设计人界面设计人员任务就是员任务就是消除这些差消除这些差距,导出一距,导出一致界面表示致界面表示第61页用户界面设计过程用户界面设计过程用户界面设计过程包含四种不一样框架用户界面设计过程包含四种不一样框架:n用户、任务和环境分析及建模用户、任务和环境分析及建模n界面设计界面设计n界面结构界面结构n界面确认界面确认第62页用户分析用户分析n偶然型偶然型n生疏型生疏型n熟练型熟练型n教授型教授型新手新手对系统有了解中级用户对系统有了解中级用户对系统有了解经惯用户对系统有了解经惯用户用户类型用户类型:第63页影响用户行为特征原因影响用户行为特征原因n人人-机匹配性机匹配性n人固有技能

33、人固有技能n人固有弱点人固有弱点n用户知识经验用户知识经验n用户对系统期望和态度用户对系统期望和态度第64页用户对计算机系统要求用户对计算机系统要求n让用户灵活地使用让用户灵活地使用n适应不一样类型用户适应不一样类型用户n系统行为及效果对用户透明系统行为及效果对用户透明n用户对系统期望和态度用户对系统期望和态度n提供联机帮助功效提供联机帮助功效n人机交互尽可能和人际通信相同人机交互尽可能和人际通信相同第65页用户技能方面使用需求用户技能方面使用需求n应让系统去适应用户应让系统去适应用户n使用易于了解、掌握准自然语言使用易于了解、掌握准自然语言n一致性系统设计一致性系统设计n用户对系统期望和态度

34、用户对系统期望和态度n能经过系统学习能经过系统学习n系统提供演示及范例系统提供演示及范例第66页用户习性方面使用需求用户习性方面使用需求n系统应让用户有耐心系统应让用户有耐心n系统应很好地对付人易犯错误系统应很好地对付人易犯错误n系统应对不一样用户提供不一样系统应对不一样用户提供不一样交互方式交互方式第67页用户经验、知识方面使用需求用户经验、知识方面使用需求n系统应能让未经专门训练用户使用系统应能让未经专门训练用户使用n系统能对不一样经验用户做出不一样系统能对不一样经验用户做出不一样反应反应n提供同一系统一致性,建立标准化人提供同一系统一致性,建立标准化人-机界面机界面n系统必须适应用户在应

35、用领域知识改系统必须适应用户在应用领域知识改变,提供动态自适应设计变,提供动态自适应设计第68页用户对系统期望方面要求用户对系统期望方面要求n用户界面应提供形象、生动、美观布用户界面应提供形象、生动、美观布局显示和操作环境局显示和操作环境n系统处理问题应尽可能简单,提供学系统处理问题应尽可能简单,提供学习机制习机制n系统应对不一样用户提供不一样交互系统应对不一样用户提供不一样交互方式方式第69页人人-机界面机界面8 8种种交互方式交互方式1 1 菜单界面菜单界面 按显示形象分类按显示形象分类:n正文菜单正文菜单n图标菜单图标菜单n正文图标混合菜单正文图标混合菜单按屏幕位置和操作格调分类按屏幕位

36、置和操作格调分类:n固定固定n浮动浮动n下拉式下拉式n嵌入式嵌入式第70页图标式菜单图标式菜单菜单条菜单条弹出式菜单弹出式菜单弹出式帮助文本弹出式帮助文本第71页下拉式菜单、瀑布式菜单下拉式菜单、瀑布式菜单瀑布式菜单瀑布式菜单第72页第73页第74页第75页2 2 对话对话 对话形式对话形式:(1)(1)必须回答式必须回答式(2)(2)无需回答式无需回答式(3)(3)警告式警告式 对话实现方式对话实现方式:(1)(1)标准对话标准对话(2)(2)定做式对话定做式对话人人-机界面机界面8 8种种交互方式交互方式第76页3.3.功效键功效键4.4.图符界面图符界面5.5.填表界面填表界面6.6.命

37、令语言界面命令语言界面7.7.查询语言界面查询语言界面8.8.自然语言界面自然语言界面人人-机界面机界面8 8种种交互方式交互方式第77页控制界面设计控制界面设计(1)(1)用控制对话选择操作命令用控制对话选择操作命令(2)(2)用菜单界面进行控制用菜单界面进行控制(3)(3)用功效键定义操作命令用功效键定义操作命令(4)(4)用图标表示对象或命令用图标表示对象或命令第78页 界面设计开发界面设计开发 界面设计过程步骤界面设计过程步骤:n建立任务目标和意图建立任务目标和意图n为每个目标和意图制订特定动作序列为每个目标和意图制订特定动作序列n按在界面上执行方式对动作序列进行规约按在界面上执行方式

38、对动作序列进行规约n指明系统状态,即执行动作时界面表现指明系统状态,即执行动作时界面表现 n定义控制机制,即用户可用改变系统状态设备和定义控制机制,即用户可用改变系统状态设备和动作动作n指明控制机制怎样影响系统状态指明控制机制怎样影响系统状态n指明用户怎样经过界面上信息解释系统状态指明用户怎样经过界面上信息解释系统状态第79页 一、一、定义界面对象和动作定义界面对象和动作 为创建描述图符图形设计和放置、为创建描述图符图形设计和放置、描述性屏幕文字定义、窗口规约和命描述性屏幕文字定义、窗口规约和命名、菜单项规约屏幕布局提供基础。名、菜单项规约屏幕布局提供基础。响应时间、命令和动作结构、错误响应时

39、间、命令和动作结构、错误处理和帮助设施等设计问题应该在精处理和帮助设施等设计问题应该在精化设计模型时考虑。化设计模型时考虑。第80页二、二、导航方式导航方式层次层次线性线性第81页混合式混合式网络式网络式二、二、导航方式导航方式第82页三、三、数据输入数据输入界面设计界面设计数据输入规则数据输入规则n明确输入明确输入n明确动作明确动作n明确取消明确取消n确认删除确认删除n提供反馈提供反馈n允许编辑允许编辑n提供复原(提供复原(UndoUndo)n自由格式自由格式n提醒输入范围提醒输入范围第83页四、四、数据显示界面设计数据显示界面设计数据显示规则数据显示规则n只显示必要数据只显示必要数据n在一

40、起使用数据显示在一起在一起使用数据显示在一起n显示出数据应与用户执行任务相关显示出数据应与用户执行任务相关n每一屏数据数量不应超出整个屏幕面积每一屏数据数量不应超出整个屏幕面积30%30%屏幕布局规则屏幕布局规则n尽可能少用代码和缩写尽可能少用代码和缩写n多个显示画面,应建立统一格式多个显示画面,应建立统一格式n提供明了标题、标栏及其它提醒信息提供明了标题、标栏及其它提醒信息n遵照用户习惯遵照用户习惯n采取颜色、字符大小、下划线、不一样字体等方式采取颜色、字符大小、下划线、不一样字体等方式强化主要数据强化主要数据第84页第85页第86页第87页第88页五、五、实现工具实现工具 用户界面工具箱用

41、户界面工具箱 用户界面开发系统用户界面开发系统(UIDS):采取预包装软件构件来结构用户界面采取预包装软件构件来结构用户界面 UIDS固有机制固有机制:n管理输入设备管理输入设备n确认用户输入确认用户输入n处理错误和显示犯错信息处理错误和显示犯错信息n提供反馈提供反馈(如自动输入响应如自动输入响应)n提供帮助和提醒提供帮助和提醒n处理窗口、域和窗口内滚动处理窗口、域和窗口内滚动n建立应用软件和界面间连接建立应用软件和界面间连接n将应用程序与界面管理将应用程序与界面管理功效分开功效分开n允许用户定制界面允许用户定制界面 第89页六、六、设计评定设计评定-界面设计评价周期界面设计评价周期初步设计初

42、步设计创建原型创建原型#n界面界面修改设计修改设计用户评定用户评定界面界面设计者研究设计者研究评定结果评定结果创建原型创建原型#1界面界面第90页HELP系统设计系统设计 HELP HELP系统设计不属于界系统设计不属于界面设面设 计范围,包括系统整体计范围,包括系统整体结构,是结构,是 结构级用户友好性结构级用户友好性设计。设计。第91页 帮助方式:帮助方式:n 操作指南文档操作指南文档 (植入系统、未植入系统植入系统、未植入系统)n 基于帮助文件要求性帮助基于帮助文件要求性帮助 (命令级帮助命令级帮助)n 说明性帮助说明性帮助n 嵌入系统要求性帮助嵌入系统要求性帮助n 嵌入培训功效智能帮助

43、系统嵌入培训功效智能帮助系统HELP系统设计系统设计第92页设计模板和复用设计模板和复用Design with reuse,design for reuse第93页并发系统设计并发系统设计怎样确保同时执行组件间对共享怎样确保同时执行组件间对共享数据一致性数据一致性?第94页并发处理(次序执行)并发处理(次序执行)1、组件组件1查询查询X是否为空。是否为空。2、组件组件1被通知被通知X不为空。不为空。3、组件组件2查询查询X是否为空。是否为空。4、组件组件2被通知被通知X不为空。不为空。5、组件组件1出栈,删除最终一个元素。出栈,删除最终一个元素。6、组件组件2想出栈,但想出栈,但X已为空,系统

44、已为空,系统进入非法状态。进入非法状态。第95页并发处理并发处理1、组件组件1问询栈问询栈X是否为空。是否为空。2、组件组件1被通知栈被通知栈X不为空。不为空。3、组件组件2问询栈问询栈X是否为空。是否为空。4、组件组件2被通知栈被通知栈X不为空。不为空。5、组件组件1出栈,删去最终一个元素,并锁住栈出栈,删去最终一个元素,并锁住栈X。6、组件组件2想出栈,但被通知想出栈,但被通知X已上锁。已上锁。7、另一个组件加了一个元素到栈另一个组件加了一个元素到栈X中。中。8、组组件件2被被通通知知X已已开开锁锁(因因为为外外部部进进程程或或者者因因为为组组件件2 再次尝试)再次尝试)9、组件组件2出栈

45、。出栈。第96页好设计具备特征好设计具备特征n模块独立性模块独立性n异常识别和处理异常识别和处理n检错和容错机制检错和容错机制第97页软件设计文档软件设计文档n软件设计说明书软件设计说明书n1)范围范围 n2)数据设计数据设计 n3)体系结构设计体系结构设计n4)接口设计接口设计 n5)模块过程设计模块过程设计 n6)其它其它 包含测试考虑,确保设计满足全部包含测试考虑,确保设计满足全部需求,设计约束和一些特殊注解等内容。需求,设计约束和一些特殊注解等内容。第98页设计复审(设计复审(design review)n及早发觉设计中缺点及早发觉设计中缺点n差错传输差错传输n复审内容复审内容n概要设

46、计复审概要设计复审 n系统总体结构,模块划分,内外接口系统总体结构,模块划分,内外接口 n详细设计复审详细设计复审 n各个模块详细设计各个模块详细设计 第99页差错传输模型差错传输模型第100页有有/无设计复审纠错费用比较无设计复审纠错费用比较202 80412367.0交付使用后交付使用后315 12308215.0综合综合-系统测试系统测试234 1432236216.5综合测试前综合测试前33221.5设计阶段设计阶段纠错代纠错代价价揭露错误时间揭露错误时间第101页1.在传统软件设计中,概要设计复审与在传统软件设计中,概要设计复审与过程设计复审应该分开进行,不允许过程设计复审应该分开进

47、行,不允许合并为一次复审。合并为一次复审。2.除软件开发人员外,概要设计复审必除软件开发人员外,概要设计复审必须有用户代表参加,必要时还可邀请须有用户代表参加,必要时还可邀请相关领域教授到会。过程设计复审普相关领域教授到会。过程设计复审普通不邀请用户和其它领域代表。通不邀请用户和其它领域代表。复审复审5条条指导标准指导标准第102页复审复审5条条指导标准指导标准3.参加复审设计人员应欢迎他人提出批评参加复审设计人员应欢迎他人提出批评和提议,不要为设计缺点和提议,不要为设计缺点“护短护短”。4.复审中提出问题应详细统计,但不要寻复审中提出问题应详细统计,但不要寻求当场处理。求当场处理。5.复审结束时,应作出此次复审能否经过复审结束时,应作出此次复审能否经过结论。结论。第103页设计复审(设计复审(design review)n复审方式复审方式nFormal reviewnDesign review meetingnInformal reviewnWalk-through第104页作作 业业 习习 题题 P85n1.n2.n3n5n7?第105页

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服