版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第10章章 面向对象分析面向对象分析10.1 面向对象分析的基本过程面向对象分析的基本过程10.2 需求陈述需求陈述10.3 建立对象模型建立对象模型10.4 建立动态模型建立动态模型10.5 建立功能模型建立功能模型10.6 定义服务定义服务 10.1 面向对象分析的基本过程面向对象分析的基本过程10.1.1 概述概述面向对象分析过程:面向对象分析过程:n分析陈述用户需求的文件。分析陈述用户需求的文件。n发现和改正原始陈述中的二义性和不一致性,发现和改正原始陈述中的二义性和不一致性,补充遗漏的内容。补充遗漏的内容。n深入理解用户需求,抽象出目标系统的本质深入理解用户需求,抽象出目标系统的本
2、质属性,并用模型准确地表示出来。属性,并用模型准确地表示出来。10.1.2 3个子模型与个子模型与5个层次个层次3个子模型:个子模型:n对象模型对象模型抽象出客观世界实体及实体间抽象出客观世界实体及实体间相互关系;相互关系;n动态模型动态模型涉及交互作用和时序问题;涉及交互作用和时序问题;n功能模型功能模型解决运算量很大的问题。解决运算量很大的问题。5个层次:个层次:5个层次对应的个层次对应的5项主要活动:项主要活动:n找出类与对象找出类与对象n识别结构识别结构n识别主题识别主题n定义属性定义属性n定义服务定义服务CategoryClass-&-ObjectStructure1+1+Attri
3、buteMethod面向对象分析大体顺序:面向对象分析大体顺序:n寻找类与对象寻找类与对象n识别结构识别结构n识别主题识别主题n定义属性定义属性n建立动态模型建立动态模型n建立功能模型建立功能模型n定义服务定义服务10.2 需求陈述需求陈述10.2.1 书写要点书写要点n需求陈述的内容包括:问题范围,功能需求,需求陈述的内容包括:问题范围,功能需求,性能需求,应用环境及假设条件等。性能需求,应用环境及假设条件等。n书写需求陈述时,要尽力做到语法正确,而书写需求陈述时,要尽力做到语法正确,而且应该慎重选用名词、动词、形容词和同义且应该慎重选用名词、动词、形容词和同义词。词。n需求陈述仅仅是理解用
4、户需求的出发点,它需求陈述仅仅是理解用户需求的出发点,它并不是一成不变的文档。并不是一成不变的文档。n系统分析员必须与用户及领域专家密切配合系统分析员必须与用户及领域专家密切配合协同工作,共同提炼和整理用户需求。协同工作,共同提炼和整理用户需求。 10.2.2 例子例子需求陈述,见需求陈述,见P23410.3 建立对象模型建立对象模型典型的工作步骤:典型的工作步骤:n首先确定对象类和关联,对于大型复杂问题首先确定对象类和关联,对于大型复杂问题还要进一步划分出若干个主题;还要进一步划分出若干个主题;n然后给类和关联增添属性,以进一步描述;然后给类和关联增添属性,以进一步描述;n利用适当的继承关系
5、进一步合并和组织类;利用适当的继承关系进一步合并和组织类;n对类中操作的最后确定,则需等到建立了动对类中操作的最后确定,则需等到建立了动态模型和功能模型之后。态模型和功能模型之后。1. 找出候选的类与对象找出候选的类与对象n对象是对问题域中有意义的事物的抽象,它对象是对问题域中有意义的事物的抽象,它们既可能是物理实体,也可能是抽象概念。们既可能是物理实体,也可能是抽象概念。n大多数客观事物可分为下述大多数客观事物可分为下述5类:类:q可感知的物理实体可感知的物理实体q人或组织的角色人或组织的角色q应该记忆的事件应该记忆的事件q两个或多个对象的相互作用两个或多个对象的相互作用q需要说明的概念需要
6、说明的概念10.3.1 确定类与对象确定类与对象非正式分析:非正式分析:n用自然语言书写的需求陈述为依据,用自然语言书写的需求陈述为依据,q把名词作为类与对象的候选者;把名词作为类与对象的候选者;q把形容词作为确定属性的线索;把形容词作为确定属性的线索;q把动词作为服务把动词作为服务(操作操作)的候选者。的候选者。n用这种简单方法确定的候选者是非常不准确用这种简单方法确定的候选者是非常不准确的,其中往往包含大量不正确的或不必要的的,其中往往包含大量不正确的或不必要的事物,还必须经过更进一步的严格筛选。事物,还必须经过更进一步的严格筛选。 ATM系统类与对象的初步的候选者:系统类与对象的初步的候
7、选者:银行银行自动取款机自动取款机系统系统中央计算机中央计算机分行计算机分行计算机柜员终端柜员终端网络网络总行总行分行分行软件软件成本成本市市街道街道营业厅营业厅储蓄所储蓄所柜员柜员储户储户现金现金支票支票账户账户事务事务现金兑换卡现金兑换卡余额余额磁卡磁卡分行代码分行代码卡号卡号用户用户副本副本信息信息密码密码类型类型取款额取款额账单账单访问访问通信链路通信链路(隐含隐含)事务日志事务日志(隐含隐含)2. 筛选出正确的类与对象筛选出正确的类与对象筛选标准:筛选标准:n冗余冗余 两个类表达了同样的信息两个类表达了同样的信息 n无关无关 删掉与当前要解决的问题无关的删掉与当前要解决的问题无关的n
8、笼统笼统 笼统的、泛指的名词笼统的、泛指的名词 n属性属性 实际上描述的是其他对象的属性实际上描述的是其他对象的属性 n操作操作 既可作为名词,又可作为动词的词既可作为名词,又可作为动词的词 n实现实现 去掉仅和实现有关的候选的类与对象去掉仅和实现有关的候选的类与对象 第第2步:去粗取精步:去粗取精例:从例:从ATM需求分析中提出的名词集合需求分析中提出的名词集合银行、银行、ATM、系统、中央计算机、分行计算机、系统、中央计算机、分行计算机、柜员终端、网络、总行、分行、软件、成本、市、柜员终端、网络、总行、分行、软件、成本、市、街道、营业厅、储蓄所、柜员、储户、现金、支票、街道、营业厅、储蓄所
9、、柜员、储户、现金、支票、账户、事务、现金兑换卡、余额、磁卡、分行代码、账户、事务、现金兑换卡、余额、磁卡、分行代码、卡号、用户、副本、信息、密码、类型、取款额、卡号、用户、副本、信息、密码、类型、取款额、账单、访问账单、访问筛选时依下列标准删除:筛选时依下列标准删除:、通信链路、事务日志、通信链路、事务日志 冗余冗余 无关无关 笼统笼统 属性属性 操作操作 实现实现1. 初步确定关联初步确定关联n在需求陈述中使用的描述性在需求陈述中使用的描述性动词或动词词组动词或动词词组,通常表示关联关系。通常表示关联关系。n通过分析需求陈述,还能发现一些在陈述中通过分析需求陈述,还能发现一些在陈述中隐含的
10、关联隐含的关联。n最后,分析员还应该与用户及领域专家讨论最后,分析员还应该与用户及领域专家讨论问题域实体间的相互依赖、相互作用关系,问题域实体间的相互依赖、相互作用关系,根据领域知识再进一步补充一些关联。根据领域知识再进一步补充一些关联。10.3.2 确定关联确定关联2、确定关联、确定关联 结构层结构层第第1 1步:收集步:收集 需求陈述中涉及需求陈述中涉及objetsobjets的动词短语:的动词短语: 分行计算机维护账户分行计算机维护账户 柜员终端与分行计算机通信柜员终端与分行计算机通信 柜员输入针对账户的事务柜员输入针对账户的事务 ATMATM与中央计算机交换关于事务的信与中央计算机交换
11、关于事务的信息息 中央计算机确定事务与分行的对应关中央计算机确定事务与分行的对应关系系 ATMATM读现金兑换卡读现金兑换卡 ATMATM与用户交互与用户交互 ATMATM吐出现金吐出现金 ATMATM打印账单打印账单 系统处理并发的访问系统处理并发的访问 ATMATM、中央计算机、分行中央计算机、分行计算机及柜员终端组成网计算机及柜员终端组成网络络 总行拥有多台总行拥有多台ATMATM ATM ATM设在主要街道上设在主要街道上 分行提供分行计算机和柜分行提供分行计算机和柜员终端员终端 柜员终端设在分行营业厅柜员终端设在分行营业厅及储蓄所内及储蓄所内 分行分摊软件开发成本分行分摊软件开发成本
12、 储户拥有账户储户拥有账户 分行计算机处理针对账户分行计算机处理针对账户的事务的事务 需求陈述中隐含的关联需求陈述中隐含的关联 总行由各个分行组成总行由各个分行组成 系统维护事务日志系统维护事务日志 分行保管账户分行保管账户 系统提供必要的安全性系统提供必要的安全性 总行拥有中央计算机总行拥有中央计算机 储户拥有现金兑换卡储户拥有现金兑换卡 根据问题域知识得出的关联根据问题域知识得出的关联 现金兑换卡访问账户现金兑换卡访问账户 分行雇用柜员分行雇用柜员2. 筛选筛选n已删去的类之间的关联。已删去的类之间的关联。n与问题无关的或应在实现阶段考虑的关联。与问题无关的或应在实现阶段考虑的关联。n瞬时
13、事件瞬时事件 关联应该描述问题域的静态结构,关联应该描述问题域的静态结构,而不应该是一个瞬时事件。而不应该是一个瞬时事件。 n三元关联三元关联 三个或三个以上对象之间的关联,三个或三个以上对象之间的关联,大多可以分解为二元关联或用词组描述成限大多可以分解为二元关联或用词组描述成限定的关联。定的关联。n派生关联派生关联 应该去掉那些可以用其他关联定应该去掉那些可以用其他关联定义的冗余关联。义的冗余关联。 第第2步:筛选删除步:筛选删除 与已删去的与已删去的object object 有关的关联有关的关联 与问题无关的或应在实现阶段考虑的关联与问题无关的或应在实现阶段考虑的关联 ATM、中央计算机
14、、分行计中央计算机、分行计算机及柜员终端组成网络算机及柜员终端组成网络 总行拥有多台总行拥有多台ATM ATM设在主要街道上设在主要街道上 分行提供分行计算机和柜员分行提供分行计算机和柜员终端终端 柜员终端设在分行营业厅及柜员终端设在分行营业厅及储蓄所内储蓄所内 分行分摊软件开发成本分行分摊软件开发成本 储户拥有账户储户拥有账户 总行由各个分行组成总行由各个分行组成 分行计算机处理针对账户的事务分行计算机处理针对账户的事务 分行计算机维护账户分行计算机维护账户 柜员终端与分行计算机通信柜员终端与分行计算机通信 柜员输入针对账户的事务柜员输入针对账户的事务 ATM与中央计算机交换关于事务的信息与
15、中央计算机交换关于事务的信息 中央计算机确定事务与分行的对应关系中央计算机确定事务与分行的对应关系 ATM读现金兑换卡读现金兑换卡 ATM与用户交互与用户交互 ATM吐出现金吐出现金 ATM打印账单打印账单 系统处理并发的访问系统处理并发的访问 现金兑换卡访问账户现金兑换卡访问账户 系统维护事务日志系统维护事务日志 分行保管账户分行保管账户 系统提供必要的安全性系统提供必要的安全性 总行拥有中央计算机总行拥有中央计算机 储户拥有现金兑换卡储户拥有现金兑换卡 分行雇用柜员分行雇用柜员瞬时事件:注意关联描述静态结构瞬时事件:注意关联描述静态结构 ATMATM、中央计算机、分行计中央计算机、分行计算
16、机及柜员终端组成网络算机及柜员终端组成网络 总行拥有多台总行拥有多台ATMATM ATM ATM设在主要街道上设在主要街道上 分行提供分行计算机和柜员分行提供分行计算机和柜员终端终端 柜员终端设在分行营业厅及柜员终端设在分行营业厅及储蓄所内储蓄所内 分行分摊软件开发成本分行分摊软件开发成本 储户拥有账户储户拥有账户 总行由各个分行组成总行由各个分行组成 分行计算机处理针对账户的事务分行计算机处理针对账户的事务 分行计算机维护账户分行计算机维护账户 柜员终端与分行计算机通信柜员终端与分行计算机通信 柜员输入针对账户的事务柜员输入针对账户的事务 ATMATM与中央计算机交换关于事务的信息与中央计算
17、机交换关于事务的信息 中央计算机确定事务与分行的对应关系中央计算机确定事务与分行的对应关系 ATMATM读现金兑换卡读现金兑换卡 ATMATM与用户交互与用户交互 ATMATM吐出现金吐出现金 ATMATM打印账单打印账单 系统处理并发的访问系统处理并发的访问 现金兑换卡访问账户现金兑换卡访问账户 系统维护事务日志系统维护事务日志 分行保管账户分行保管账户 系统提供必要的安全性系统提供必要的安全性 总行拥有中央计算机总行拥有中央计算机 储户拥有现金兑换卡储户拥有现金兑换卡 分行雇用柜员分行雇用柜员三元关联:分解为二元关联或限定关联三元关联:分解为二元关联或限定关联 柜员输入针对账户的事务柜员输
18、入针对账户的事务 = 柜员输入事务柜员输入事务 + 事务修改账户事务修改账户 分行计算机处理针对账户的事务分行计算机处理针对账户的事务 = 分行计算机处理事务分行计算机处理事务 + 事务修改账户事务修改账户 ATM与中央计算机交换关于事务的信息与中央计算机交换关于事务的信息 = ATM与中央计算机通信与中央计算机通信 + 在在ATM上输入事务上输入事务注:注:识别链属性识别链属性 某实体仅用于描述另两个实某实体仅用于描述另两个实体的关系,且该实体本身不包含属性。例如体的关系,且该实体本身不包含属性。例如“公司公司付给员工工资付给员工工资”可分解为可分解为“公司雇用员工公司雇用员工”,附链,附链
19、属性属性“工资工资”。派生关联:即可用其它关联定义的冗余关联派生关联:即可用其它关联定义的冗余关联 总行拥有多台总行拥有多台ATM 分行提供分行计算机和分行提供分行计算机和柜员终端柜员终端 储户拥有账户储户拥有账户 总行由各个分行组成总行由各个分行组成 分行保管账户分行保管账户 总行拥有中央计算机总行拥有中央计算机 现金兑换卡访问账户现金兑换卡访问账户 储户拥有现金兑换卡储户拥有现金兑换卡 分行雇用柜员分行雇用柜员 分行计算机处理事务分行计算机处理事务 分行计算机维护账户分行计算机维护账户 柜员终端与分行计算机柜员终端与分行计算机通信通信 柜员输入事务柜员输入事务 事务修改账户事务修改账户 A
20、TM与中央计算机通信与中央计算机通信 在在ATM上输入事务上输入事务 中央计算机确定事务与中央计算机确定事务与分行的对应关系分行的对应关系3. 进一步完善进一步完善n正名正名 好的名字是帮助读者理解的关键因素之好的名字是帮助读者理解的关键因素之一。因此,应该仔细选择含义更明确的名字一。因此,应该仔细选择含义更明确的名字作为关联名。作为关联名。n分解分解 为了能够适用于不同的关联,必要时应为了能够适用于不同的关联,必要时应该分解以前确定的类与对象。该分解以前确定的类与对象。n补充补充 发现了遗漏的关联就应该及时补上。发现了遗漏的关联就应该及时补上。n标明重数标明重数 应该初步判定各个关联的类型,
21、并应该初步判定各个关联的类型,并粗略地确定关联的重数。粗略地确定关联的重数。 n分行提供分行计算机和柜员终端。分行提供分行计算机和柜员终端。n储户拥有账户。储户拥有账户。n分行计算机处理分行计算机处理事务事务。事务修改账户。事务修改账户。n柜员终端与分行计算机通信。柜员终端与分行计算机通信。n柜员输入事务柜员输入事务。事务修改账户。事务修改账户。nATM与中央计算机通信。在与中央计算机通信。在ATM上输入事务上输入事务。n中央计算机与分行通信。中央计算机与分行通信。n总行由各个分行组成。总行由各个分行组成。n分行保管账户。分行保管账户。n总行拥有中央计算机。总行拥有中央计算机。n储户拥有现金兑
22、换卡。储户拥有现金兑换卡。n现金兑换卡访问账户。现金兑换卡访问账户。n分行雇用柜员。分行雇用柜员。n开发大型、复杂系统的过程中,为了降低复杂程度,开发大型、复杂系统的过程中,为了降低复杂程度,人们习惯于把系统进一步划分成几个不同的主题。人们习惯于把系统进一步划分成几个不同的主题。q在开发很小的系统时,可能根本无须引入主题层;在开发很小的系统时,可能根本无须引入主题层;q对于含有较多对象的系统,则往往先识别出类与对象和关联,对于含有较多对象的系统,则往往先识别出类与对象和关联,然后划分主题;然后划分主题;q对于规模极大的系统,则首先由高级分析员粗略地识别对象对于规模极大的系统,则首先由高级分析员
23、粗略地识别对象和关联,然后初步划分主题,对系统结构有更深入的了解之和关联,然后初步划分主题,对系统结构有更深入的了解之后,再进一步修改和精炼主题。后,再进一步修改和精炼主题。n应该按问题领域而不是用功能分解方法来确定主题。应该按问题领域而不是用功能分解方法来确定主题。此外,应该按照使不同主题内的对象相互间依赖和交此外,应该按照使不同主题内的对象相互间依赖和交互最少的原则来确定主题。互最少的原则来确定主题。 10.3.3 划分主题划分主题总行总行分行分行ATM1. 分析分析n通常,在需求陈述中用通常,在需求陈述中用名词词组名词词组表示属性,表示属性,用用形容词形容词表示可枚举的具体属性。表示可枚
24、举的具体属性。n分析员还必须藉助于领域知识和常识才能分分析员还必须藉助于领域知识和常识才能分析得出需要的属性。析得出需要的属性。n应该仅考虑与具体应用直接相关的属性,不应该仅考虑与具体应用直接相关的属性,不要考虑那些超出所要解决的问题范围的属性。要考虑那些超出所要解决的问题范围的属性。 10.3.4 确定属性确定属性2. 选择选择n误把对象当作属性误把对象当作属性n误把关联类的属性当作一般对象的属性误把关联类的属性当作一般对象的属性n把限定误当成属性把限定误当成属性n误把内部状态当成了属性误把内部状态当成了属性n过于细化过于细化n存在不一致的属性存在不一致的属性n确定了类中应该定义的属性之后,
25、就可以利用确定了类中应该定义的属性之后,就可以利用继承机制共享公共性质,并对系统中众多的类继承机制共享公共性质,并对系统中众多的类加以组织。加以组织。n两种方式建立继承关系:两种方式建立继承关系:q自底向上:抽象出现有类的共同性质泛化出父类,自底向上:抽象出现有类的共同性质泛化出父类,这个过程实质上模拟了人类归纳思维过程。这个过程实质上模拟了人类归纳思维过程。q自顶向下:把现有类细化成更具体的子类,这模拟自顶向下:把现有类细化成更具体的子类,这模拟了人类的演绎思维过程。了人类的演绎思维过程。 10.3.5 识别继承关系识别继承关系n仅仅经过一次建模过程很难得到完全正确的仅仅经过一次建模过程很难
26、得到完全正确的对象模型。对象模型。n软件开发过程就是一个多次反复修改、逐步软件开发过程就是一个多次反复修改、逐步完善的过程。完善的过程。n面向对象的概念和符号在整个开发过程中都面向对象的概念和符号在整个开发过程中都是一致的,更易实现反复修改、逐步完善。是一致的,更易实现反复修改、逐步完善。nATM系统可能做的修改:系统可能做的修改:q分解分解“现金兑换卡现金兑换卡”类类q“事务事务”由由“更新更新”组成组成q把把“分行分行”与与“分行计算机分行计算机”合并合并10.3.6 反复修改反复修改n第一步,是编写典型交互行为的脚本。第一步,是编写典型交互行为的脚本。n第二步,从脚本中提取出事件,确定触
27、发每第二步,从脚本中提取出事件,确定触发每个事件的动作对象以及接受事件的目标对象。个事件的动作对象以及接受事件的目标对象。n第三步,排列事件发生的次序,确定每个对第三步,排列事件发生的次序,确定每个对象可能有的状态及状态间的转换关系,并用象可能有的状态及状态间的转换关系,并用状态图描绘它们。状态图描绘它们。n最后,比较各个对象的状态图,检查它们之最后,比较各个对象的状态图,检查它们之间的一致性,确保事件之间的匹配。间的一致性,确保事件之间的匹配。 10.4 建立动态模型建立动态模型n脚本是指系统在某一执行期间内出现的一系列脚本是指系统在某一执行期间内出现的一系列事件。脚本描述用户与目标系统之间
28、的一个或事件。脚本描述用户与目标系统之间的一个或多个典型的交互过程。多个典型的交互过程。n编写脚本的目的,是保证不遗漏重要的交互步编写脚本的目的,是保证不遗漏重要的交互步骤,它有助于确保整个交互过程的正确性的和骤,它有助于确保整个交互过程的正确性的和清晰性。清晰性。n编写脚本的过程,实质上就是分析用户对系统编写脚本的过程,实质上就是分析用户对系统交互行为的要求的过程。交互行为的要求的过程。n编写脚本时,首先编写正常情况的脚本,然后编写脚本时,首先编写正常情况的脚本,然后考虑特殊情况,最后考虑出错情况。考虑特殊情况,最后考虑出错情况。10.4.1 编写脚本编写脚本例:例:ATM系统的正常、异常情
29、况脚本系统的正常、异常情况脚本ATM系统的正常情况脚本系统的正常情况脚本 ATM请储户插卡;储户插入一张现金兑换卡。请储户插卡;储户插入一张现金兑换卡。 ATM接受该卡并读它上面的分行代码和卡号。接受该卡并读它上面的分行代码和卡号。 ATM要求储户输入密码;储户输入自己的密码要求储户输入密码;储户输入自己的密码“1234”等数字。等数字。 ATM请求总行验证卡号和密码;总行要求请求总行验证卡号和密码;总行要求“39”号分行核对储户密码,号分行核对储户密码, 然后通知然后通知ATM说这张卡有效。说这张卡有效。 ATM要求储户选择事务类型要求储户选择事务类型(取款、转帐、查询等取款、转帐、查询等)
30、;储户选择;储户选择“取款取款”。 ATM要求储户输入取款额;储户输入要求储户输入取款额;储户输入“880”。 ATM确认取款额在预先规定的限额内,然后要求总行处理这个事务;总行确认取款额在预先规定的限额内,然后要求总行处理这个事务;总行 把请求转给分行,该分行成功地处理完这项事务并返回该帐户的新余额。把请求转给分行,该分行成功地处理完这项事务并返回该帐户的新余额。 ATM吐出现金并请储户拿走这些现金;储户拿走现金。吐出现金并请储户拿走这些现金;储户拿走现金。 ATM问储户是否继续这项事务;储户回答问储户是否继续这项事务;储户回答“不不”。 ATM打印帐单,退出现金兑换卡,请储户拿走它们;储户
31、取走帐单和卡。打印帐单,退出现金兑换卡,请储户拿走它们;储户取走帐单和卡。 ATM请储户插卡请储户插卡ATM系统的异常情况脚本系统的异常情况脚本 ATM请储户插卡;储户插入一张现金兑换卡。请储户插卡;储户插入一张现金兑换卡。 ATM接受该卡并读它上面的分行代码和卡号。接受该卡并读它上面的分行代码和卡号。 ATM要求储户输入密码;储户误输入要求储户输入密码;储户误输入 “8888”。 ATM请求总行验证卡号和密码;总行要求请求总行验证卡号和密码;总行要求“39”号分行核对储户密码,号分行核对储户密码, 然后通知然后通知ATM拒绝这张卡。拒绝这张卡。 ATM显示显示“密码错密码错”,并请储户重新输
32、入密码;储户输入,并请储户重新输入密码;储户输入“1234”; ATM请总行验证后知此次输入的密码正确。请总行验证后知此次输入的密码正确。 ATM要求储户选择事务类型要求储户选择事务类型(取款、转帐、查询等取款、转帐、查询等);储户选择;储户选择“取款取款”。 ATM要求储户输入取款额;储户改变主意不想取款了,敲要求储户输入取款额;储户改变主意不想取款了,敲“取消取消”键。键。 ATM退出现金兑换卡,请储户拿走它;储户取走他的卡。退出现金兑换卡,请储户拿走它;储户取走他的卡。 ATM请储户插卡请储户插卡n大多数交互行为都可以分为应用逻辑和用户大多数交互行为都可以分为应用逻辑和用户界面两部分。应
33、用逻辑是内在的、本质的内界面两部分。应用逻辑是内在的、本质的内容,用户界面是外在的表现形式。容,用户界面是外在的表现形式。n用户界面的美观程度、方便程度、易学程度用户界面的美观程度、方便程度、易学程度以及效率等等,是用户使用系统时最先感受以及效率等等,是用户使用系统时最先感受到的,用户界面的好坏往往对用户是否喜欢、到的,用户界面的好坏往往对用户是否喜欢、是否接受一个系统起很重要的作用。是否接受一个系统起很重要的作用。n软件开发人员往往快速地建立起用户界面的软件开发人员往往快速地建立起用户界面的原型,供用户试用与评价。原型,供用户试用与评价。 10.4.2 设想用户界面设想用户界面10.4.3
34、画事件跟踪图画事件跟踪图n用自然语言书写的脚本往往不够简明,而且用自然语言书写的脚本往往不够简明,而且有时在阅读时会有二义性。有时在阅读时会有二义性。n为了有助于建立动态模型,通常在画状态图为了有助于建立动态模型,通常在画状态图之前先画出事件跟踪图。之前先画出事件跟踪图。n为此首先需要进一步明确事件及事件与对象为此首先需要进一步明确事件及事件与对象的关系。的关系。 1. 确定事件确定事件n应该仔细分析每个脚本,以便从中提取出所应该仔细分析每个脚本,以便从中提取出所有外部事件。事件包括系统与用户交互的所有外部事件。事件包括系统与用户交互的所有信号、输入、输出、中断、动作等等。有信号、输入、输出、
35、中断、动作等等。n传递信息的对象的动作也是事件。大多数对传递信息的对象的动作也是事件。大多数对象到对象的交互行为都对应着事件。象到对象的交互行为都对应着事件。n把对控制流产生相同效果的那些事件组合在把对控制流产生相同效果的那些事件组合在一起作为一类事件,并给它们取一个惟一的一起作为一类事件,并给它们取一个惟一的名字。名字。n把对控制流有不同影响的那些事件区分开来,把对控制流有不同影响的那些事件区分开来,不要误把它们组合在一起。不要误把它们组合在一起。n区分出每类事件的发送对象和接受对象。区分出每类事件的发送对象和接受对象。2. 画出事件跟踪图画出事件跟踪图n用事件跟踪图把事件序列以及事件与对象
36、的用事件跟踪图把事件序列以及事件与对象的关系,形象、清晰地表示出来。关系,形象、清晰地表示出来。n一条竖线代表一个对象,每个事件用一条水一条竖线代表一个对象,每个事件用一条水平的箭头线表示,箭头方向从事件的发送对平的箭头线表示,箭头方向从事件的发送对象指向接受对象。象指向接受对象。n时间从上向下递增。时间从上向下递增。n箭头线之间的间距并没有具体含义。箭头线之间的间距并没有具体含义。 10.4.4 画状态图画状态图n状态图描绘事件与对象状态的关系。状态图描绘事件与对象状态的关系。n通常,用一张状态图描绘一类对象的行为。通常,用一张状态图描绘一类对象的行为。n考虑完正常事件之后再考虑边界情况和特
37、殊考虑完正常事件之后再考虑边界情况和特殊情况。情况。n出错处理是不能省略的。出错处理是不能省略的。总行类的状态图总行类的状态图分行类的状态图分行类的状态图10.4.5 审查动态模型审查动态模型n在完成了每个具有重要交互行为的类的状态在完成了每个具有重要交互行为的类的状态图之后,应该检查系统级的完整性和一致性。图之后,应该检查系统级的完整性和一致性。n一般说来,每个事件都应该既有发送对象又一般说来,每个事件都应该既有发送对象又有接受对象,当然,有时发送者和接受者是有接受对象,当然,有时发送者和接受者是同一个对象。同一个对象。n应该审查每个事件,跟踪它对系统中各个对应该审查每个事件,跟踪它对系统中
38、各个对象所产生的效果,以保证它们与每个脚本都象所产生的效果,以保证它们与每个脚本都匹配。匹配。 10.5 建立功能模型建立功能模型n功能模型表明了系统中数据之间的依赖关系,功能模型表明了系统中数据之间的依赖关系,以及有关的数据处理功能,它由一组数据流以及有关的数据处理功能,它由一组数据流图组成。其中的处理功能可以用图组成。其中的处理功能可以用IPO图图(或或表表)、伪码等多种方式进一步描述。、伪码等多种方式进一步描述。n通常在建立了对象模型和动态模型之后再建通常在建立了对象模型和动态模型之后再建立功能模型。立功能模型。 10.5.1 画出基本系统模型图画出基本系统模型图n基本系统模型由若干个数据源点基本系统模型由若干个数据源点/终点,及一终点,及一个处理框组成,这个处理框代表了系统加工、个处理框组成,这个处理框代
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 急性腮腺炎的护理法学与权益保护
- 宫腔镜手术术后切口护理
- 信息安全解决方案设计与实施
- 2024-2025学年度法律职业资格考试考前冲刺练习【夺冠系列】附答案详解
- 2024-2025学年度电工考前冲刺练习试题往年题考附答案详解
- 2024-2025学年度江苏农林职业技术学院单招《语文》复习提分资料学生专用附答案详解
- 2024-2025学年度文化教育职业技能鉴定每日一练试卷附完整答案详解(必刷)
- 2024-2025学年度护士资格证复习提分资料附答案详解AB卷
- 2024-2025学年度反射疗法师大赛理论模拟试题及答案详解(名师系列)
- 个人培训知识技能守秘承诺书(7篇)
- 《供应链管理》课件 第6章 供应链库存管理
- 《爱鸟惜花守家园·考察身边的生物资源》课件 2023-2024学年辽海版《综合实践活动》七年级下册
- 人教版七年级英语上册教学课件Unit 5 Fun Clubs
- GB/T 6553-2024严酷环境条件下使用的电气绝缘材料评定耐电痕化和蚀损的试验方法
- 中职旅游专业《中国旅游地理》说课稿
- DL∕ T 748.3-2001 火力发电厂锅炉机组检修导则 第3部分阀门与汽水管道系统检修
- 烧腊餐饮商业计划书
- 创新研究群体项目申请书撰写提纲-UBCECE
- 国家公园入口社区建设标准指南专项研究-国家公园研究院+自然资源保护协会-2024
- 品管圈之降低呼吸机管路积水发生率护理课件
- 应用回归分析(R语言版)(第2版) 课件 第1章回归分析概论
评论
0/150
提交评论