面向对象分析第六章第七章

上传人:s9****2 文档编号:568509044 上传时间:2024-07-25 格式:PPT 页数:91 大小:724KB
返回 下载 相关 举报
面向对象分析第六章第七章_第1页
第1页 / 共91页
面向对象分析第六章第七章_第2页
第2页 / 共91页
面向对象分析第六章第七章_第3页
第3页 / 共91页
面向对象分析第六章第七章_第4页
第4页 / 共91页
面向对象分析第六章第七章_第5页
第5页 / 共91页
点击查看更多>>
资源描述

《面向对象分析第六章第七章》由会员分享,可在线阅读,更多相关《面向对象分析第六章第七章(91页珍藏版)》请在金锄头文库上搜索。

1、1.1.面向对象的基本概念面向对象的基本概念与模型与模型(6 6章)章)章)章)2.2.面向对象分析面向对象分析(7 7章)章)章)章)3.3.面向对象设计面向对象设计(8 8章)章)章)章)4.4.面向对象软件的实现与测试面向对象软件的实现与测试(9 9章)章)章)章)第三篇 主要内容栅询踌循交驻钢定救外劲翰坟戮艾绽兵裳劫且此督竟欢樟党湘圾限窒疽吹面向对象分析第六章第七章面向对象分析第六章第七章7/25/20241本章要解决的问题:本章要解决的问题:第六章面向对象的概念与模型睫赘蛰烷写契饮绪欢苦足沤输歪瑟敦靳帚海患让咀赌岔靴番渡缸粹却鹰典面向对象分析第六章第七章面向对象分析第六章第七章7/2

2、5/20242面向对象方法概述面向对象方法概述秉器转珊炸曹窥祷树易豫瘤唐侵扩恐罐懦挟唁丽阀矩腐评泣吩玄呸肛抹绎面向对象分析第六章第七章面向对象分析第六章第七章7/25/20243一、软件开发模式(一、软件开发模式(ParadigmParadigm) 1 1、什么是开发模式、什么是开发模式 开发模式又称为范型、范例、风范或模式开发模式又称为范型、范例、风范或模式(Pattern)(Pattern)。开发模式定义了:。开发模式定义了:特定问题和应用的开发过程中将遵循的特定问题和应用的开发过程中将遵循的步骤步骤步骤步骤;确定将用于表示问题和解的那些成分的确定将用于表示问题和解的那些成分的类型类型类型

3、类型;利用这些成分表示与问题解决有关的利用这些成分表示与问题解决有关的抽象抽象抽象抽象;直接得到问题的直接得到问题的结构结构结构结构。诵夸励卵钞贰涯努肥哀湃苦艺拾辗缚甭框肺洼谣鹰眷弹川咖察脊翠荫航岂面向对象分析第六章第七章面向对象分析第六章第七章7/25/202442 2、开发模式的影响、开发模式的影响 开发模式的选择影响到整个软件开发生开发模式的选择影响到整个软件开发生存期。开发模式支配了:存期。开发模式支配了:-设计方法-编码语言-测试和检验技术 振窒纵浙嗣废爬鸡姥豺循焊铂屯婶恐拢囱艳渡滇裤软剃漓伶恒半茹硫仗踌面向对象分析第六章第七章面向对象分析第六章第七章7/25/202453 3、几种

4、流行的开发模式、几种流行的开发模式 目前流行的开发模式有多种,它们提供了可进行系统分解的多种方法。- - 面向过程的开发模式;面向过程的开发模式;- 面向对象的开发模式;面向对象的开发模式;- 面向存取的开发模式;面向存取的开发模式;- 面向进程的开发模式;面向进程的开发模式;- 逻辑性的开发模式;逻辑性的开发模式;- 函数型的开发模式;函数型的开发模式;- 说明性的开发模式。说明性的开发模式。棕耙鸽歌聚坍斡煞利差淋艰翱援附尼茸厅喜期轻寇最抱渤曼抗韭脊聂缨纽面向对象分析第六章第七章面向对象分析第六章第七章7/25/20246开发模式所具有的的共性:开发模式所具有的的共性:每个开发模式都有它的支

5、持者和用户;每个开发模式都特别适合于某种类型的问题或子问题;每一个开发模式都用不同的方式考虑问题;每一个开发模式都使用不同的方法来分解问题;每一个开发模式都导致不同种类的块、过程、产生规则。搐疟朽露克圭贯檄火尝岩涣该室枢脱道涅津古偷曲百篡门趣仔肛纬质镑沏面向对象分析第六章第七章面向对象分析第六章第七章7/25/202474 4、混合开发模式、混合开发模式在大型系统的开发中,只用一种开发模式很难说哪种开发模式对整个问题的解决最好。系统开发时,通常把大型问题分解成一组子问题。对于每个子问题可以采用适当的软件开发模式。这种设计需要有某种实现语言或一组协同语言的支持。许多流行的功能不断增强的语言可支持

6、不只一种设计开发模式。体撒讹腥氢痕绽节亥焙册馁调翻造宽鼠辜壮螺遣良鹤嗜伊符蛹桑涪胃舌碾面向对象分析第六章第七章面向对象分析第六章第七章7/25/20248 一个智能数据分析系统的设计,可把它看做是 4 个子系统。系统有:一个数据库界面。使用了面向存取的开发模式进行设计;智能数据分析。使用逻辑性的开发模式完成;一组分析算法。分析算法是过程性的,所以使用过程性的开发模式设计;用户界面。使用面向对象开发模式。例:例:妓枝搐搔瞧唆沟秸洪赫热漳钩滁链蚌瘦组蓉硷态就氰淆说罪利肤呢仰洲扰面向对象分析第六章第七章面向对象分析第六章第七章7/25/20249几个常用的术语面向对象(面向对象(OOOO)面向对象方

7、法(面向对象方法(OOMOOM)面向对象分析(面向对象分析(OOAOOA)面向对象设计(面向对象设计(OODOOD)面向对象程序设计(面向对象程序设计(OOPOOP)面向对象测试(面向对象测试(OOTOOT)面向对象需求分析(面向对象需求分析(OORAOORA)面向对象领域分析(面向对象领域分析(OODAOODA)面向对象数据库系统(面向对象数据库系统(OODBMSOODBMS)面向对象计算机辅助软件工程(面向对象计算机辅助软件工程(OOCASEOOCASE)狸纲挂蔗律严餐挝廓坏宫勉漏迹纹缨凝岔疟童患俐瘁绚辛民厩痘谎弹各驭面向对象分析第六章第七章面向对象分析第六章第七章7/25/202410第

8、七章第七章 面向对象分析砰爪葵斩经争滔情构盖裕酞央模必章久亮涕神拦亩麓庆章扎绦狄掺官瘤疯面向对象分析第六章第七章面向对象分析第六章第七章7/25/202411结构化分析模型的组成结构结构化分析模型的组成结构数据流图数据流图 ( (DFD) )E-R图图状态状态变变迁图迁图( (STD图图) )加加工工说说明明控制说明控制说明数数据据对对象象说说 明明数据字典数据字典(DD)纷评卜餐攘拜耐邵镐瘁她沈各豁扭老叉濒筛歪簧矫男百黑垮行泊这喘指兆面向对象分析第六章第七章面向对象分析第六章第七章面向对象分面向对象分析模型的组成结构析模型的组成结构动态动态模型模型对象对象 模型模型功能功能模型模型使用实例使

9、用实例(Use Case)(Use Case)静态态结结 构构交互次序互次序据据变变 换换数数招脐伶贮智抗苫句脏迄枢酥暑助第踏溺俐斩兑汕纹错妻脚辜烃怨选蹿希蚜面向对象分析第六章第七章面向对象分析第六章第七章传统方法数据与过程是分离的传统方法数据与过程是分离的过程过程1 1输入输入输入输入输出输出输出输出过程过程2 2过程过程3 3数据实体数据实体属于该对象属于该对象的数据的数据对象对象处理数据的方法处理数据的方法消息消息消息消息消息消息消息消息对象把数据和处理数据的方法封状成一个单元对象把数据和处理数据的方法封状成一个单元对象把数据和处理数据的方法封状成一个单元对象把数据和处理数据的方法封状成

10、一个单元寺熙颐厢膜几曰埋航孺渴窖寻而凑挖迫嚏侧消扔线肃皆鸥就扩指狈测格弃面向对象分析第六章第七章面向对象分析第六章第七章7/25/202414面向对象分析是软件开发过程中的问题定义阶段。这一阶段的两个重要步骤:领域域分析:建立概括的系统实现模型应用分析:根据特定应用的需求对论域分析的模型进行细化最后成果:得到对问题领域的清晰而精确的定义。会讼沏胸霓叼蔬询雄狂负竿滤添泉舞诸傀醉诛凌昼脂锹丽幼落危么鲍座灼面向对象分析第六章第七章面向对象分析第六章第七章7/25/2024157.1 分析过程需要完成: 找到特定对象 基于对象的公共特性组合这些对象 标识出对问题的抽象 标识出抽象之间的关系幽语活尔稍朗

11、妓睦衣棱覆桓陈碾旭宜嫌易硅沧西征季蹋算痕腔搞驰硒济惦面向对象分析第六章第七章面向对象分析第六章第七章7/25/202416 对象模型化技术(三视点技术)对象模型化技术(三视点技术) (Object Model Tech. OMT)对象模型化技术用于把分析时收集的信息构造在三类模型中,即对象模型、功能模型和动态模型。这个模型化的过程是一个迭代过程。塌书蛆唱活占好骤晌传榷倚疆蜜爱耗袭噶束羚券介仅落漱活氦吠钞了镣钞面向对象分析第六章第七章面向对象分析第六章第七章7/25/202417分析模型分析模型对象模型对象模型: 描述静态结构描述静态结构, 定义做定义做 事情的实体事情的实体功能模型功能模型:

12、描述处理描述处理(数据变换数据变换), 指明系统应指明系统应“做什么做什么”动态模型动态模型: 描述交互过程描述交互过程, 规定什么规定什么 时候做时候做 浦墨第淬裁盟营度碎闸沂存昼貉命画渤搁苛痞又熙沛驱注梧脓猾灵镀截辅面向对象分析第六章第七章面向对象分析第六章第七章7/25/202418OMT模型系统分析和设计过程概观图模型系统分析和设计过程概观图产生需求产生需求结构及对象结构及对象设计设计建立模型建立模型问题描述问题描述对象模型、动态模型、功能模型对象模型、动态模型、功能模型详细的对象模型详细的对象模型详细的动态模型详细的动态模型详细的功能模型详细的功能模型分分析析阶阶段段设设计计阶阶段段

13、裁库悠崩隔椿识傅痘磐港叁营桔繁探踞驯觉匙浊螺闸链迄恭辩沂闻详睬担面向对象分析第六章第七章面向对象分析第六章第七章7/25/202419基于三个模型的分析步骤:基于三个模型的分析步骤: 需求陈述需求陈述 对象建模对象建模 动态建模动态建模 功能建模功能建模 添加操作反复建模添加操作反复建模俄正溃液符瞄蝶濒尸备蛰黑心利淳淖凰颅程性雏萤邯浑仅殆觉骋凭盯酋厄面向对象分析第六章第七章面向对象分析第六章第七章7/25/202420OOA的基本过程 从理解系统的使用方式开始,确定使用场景(脚本),构造问题域模型。 OOAOOA概念模型由五个层次组成:主题层主题层类与对象层类与对象层结构层结构层属性层属性层服

14、务层服务层这五个层次是分析过程中的层次,每个层次的工作都为系统的规格说明增加了一个组成部分。瘤免闽铣枷洱伟戒耻瘸分钙均情魂植息陕荣簧戴神桐闻炙整稽梭栓秸剑砸面向对象分析第六章第七章面向对象分析第六章第七章7/25/202421OOA的层次结构的层次结构琵风毗澄讲彻章驶恫叙引灶借视哄畅蔼肩寓引舅醛尤湛昆刊甫苏裁黎荚岗面向对象分析第六章第七章面向对象分析第六章第七章7/25/2024227.2 7.2 需求陈述(软件需求说明书需求陈述(软件需求说明书 ( (SRS) )) (Software Requirement Specification) 需求分析阶段要完成的文档。需求分析阶段要完成的文档。

15、 SRS SRS的作用:的作用:开发者与用户间事实上的技术合同书开发者与用户间事实上的技术合同书开发者下一步设计和编码的基础开发者下一步设计和编码的基础测试验收目标系统的依据测试验收目标系统的依据除诡摈刊筋闷绢睁新刀靳饮羚视仟薯耿昨番晃识衅坪父列蛀例寒春考吼贫面向对象分析第六章第七章面向对象分析第六章第七章SRS大大纲纲1 1引言引言1.11.1编写目的编写目的1.21.2背景背景1.31.3定义定义1.4 1.4 参考资料参考资料2 2任务概述任务概述2.12.1目标目标2.22.2用户的特点用户的特点2.32.3假定盒约束假定盒约束3 3需求规定需求规定3.13.1对功能的规定对功能的规定

16、3.23.2对性能的规定对性能的规定3.33.3输入输出要求输入输出要求3.43.4数据管理能力要求数据管理能力要求3.53.5故障处理要求故障处理要求3.63.6其他专门要求其他专门要求(GB9385-88GB9385-88)4 4运行环境规定运行环境规定4.14.1设备设备4.24.2支持软件支持软件4.34.3接口接口4.44.4控制控制哆读癣外齿偏赐刊湃畅碘糠宛絮厅诡寿滚绸廊瞎娱廉败臃惋瓮程壶驱割知面向对象分析第六章第七章面向对象分析第六章第七章7-3 7-3 对象模型对象模型对象模型是三个模型中最关键的一个模型,它的作用是描述系统的静态结构,包括构成系统的类和对象,它们的属性和操作,

17、及它们之间的关系。梨烈瓜册总剪雄匈寻蔽蛊膊年砂菏跟浑踞讼琅乏穴冻瘦逮钉邢摇使八音琳面向对象分析第六章第七章面向对象分析第六章第七章7/25/202425(1 1)对象模型的表示:)对象模型的表示:侣洽涵钥诬话讫熬叠补槐惦月笆铭偶苫身擒魁愁喊封玲光简寻夯胳出刺秧面向对象分析第六章第七章面向对象分析第六章第七章7/25/202426实例连接:实例连接:又称为链,用于表达对象之间的又称为链,用于表达对象之间的静态联系静态联系( (通过对象属性表示一个对象对另通过对象属性表示一个对象对另一个对象之间的依赖关系。一个对象之间的依赖关系。(2 2)实例连接与关联关系的表示)实例连接与关联关系的表示 类类1

18、 连接名称连接名称m n类类2表示法:表示法:阶阶础偶敬滔权短育榷钥戈蛇绿傲请磐臆咨渤动迹组鸿阻慷蛤办害肥脓唬洒之面向对象分析第六章第七章面向对象分析第六章第七章7/25/202427类类 1 连接名称连接名称m n类类 1连接连接属性属性链属性的表示:链属性的表示: 允许实例连接带有一组属性,这些属性允许实例连接带有一组属性,这些属性通过关联来描述通过关联来描述 赣檬郧茶装许楞么置沁娄诀慧施医捆耀潘贱茧蟹楔姑憋迁哺郊拾墩督吸逾面向对象分析第六章第七章面向对象分析第六章第七章7/25/202428 关联关系关联关系 ( (链属性链属性) )为之工作为之工作工资工资职务职务雇主雇主雇员雇员 个人

19、个人名字名字身份证号身份证号公司公司名字名字地址地址题目题目答辩时间答辩时间成绩成绩 教师教师学生学生 指导论文指导论文0,m 1午旨叮印察叶杭述穷秒拱椭撩婚稀憋将枷梨手甫芬潦则痈跳锚沦迸译瞳甫面向对象分析第六章第七章面向对象分析第六章第七章7/25/202429(3 3)相关的图形符号:)相关的图形符号:多个多个0个个一个一个链属性链属性危赢妆灭恩潜殖叠虑佑滑痉摄拢域雪循吻崎逾悟沃幕深厚娇贯屋受没掏旨面向对象分析第六章第七章面向对象分析第六章第七章7/25/202430说明:聚合:代表整体与部分的关系,这是一种特殊形式的关联。限定:用以对关联的含义做某种约束。角色:用来说明关联的一端。由于多

20、数关联具有两个端点,因而涉及到两个角色。连接属性:允许使用附加的属性说明对象之间的连接诚斤铃玲挪先倦兔草危判野粳网毁缀酝芒蛛恳擂膝月霍原辅锁巫砂陆孜励面向对象分析第六章第七章面向对象分析第六章第七章7/25/202431(4 4)定义)定义结构结构和层次和层次 类模型的类模型的结构结构及由类和子类构成的类层及由类和子类构成的类层次,次,表示问题域中的复杂关系,是客观表示问题域中的复杂关系,是客观世界实体间关系的抽象。世界实体间关系的抽象。 类及对象间的关系可概括为:类及对象间的关系可概括为:归纳关系归纳关系:( (一般一般/ /特殊结构特殊结构、分类结构分类结构) ) 针对事物类之间的组织关系

21、针对事物类之间的组织关系组合关系组合关系:( (整体整体/ /部分结构部分结构、组装结构组装结构) ) 表示事物的整体与部分之间的组合关系表示事物的整体与部分之间的组合关系肺捏笺阑狗润添孩佯隘况躯条侩建碰跪讶亚浅网阉剪翌运炉酶呕釉肚节职面向对象分析第六章第七章面向对象分析第六章第七章7/25/202432 一般一般/ /特殊结构表示法特殊结构表示法:子类的公共属性和操作归属于一般类子类的公共属性和操作归属于一般类并被每一个子类共享,每一个子类都并被每一个子类共享,每一个子类都继承继承了一般类的特征。了一般类的特征。 一般类一般类( (父类、基类、超类父类、基类、超类) )特殊类特殊类( (子类

22、子类) )一般类一般类特殊类特殊类特殊类特殊类.继承继承表示一般与表示一般与特殊结构特殊结构题神诛飞侯捞抄深闭芋饶窿街募贡椰综哇骸咬氦愚学歌月鹃抬评很钠剪珐面向对象分析第六章第七章面向对象分析第六章第七章7/25/202433 存户存户一般一般/ /特殊结构举例特殊结构举例(归纳关系(归纳关系):): 一般类一般类( (父类、基类、超类父类、基类、超类) )特殊类特殊类( (子类子类) )继承继承一个特殊类中的所有对象可继承一般类中一个特殊类中的所有对象可继承一般类中的属性、服务、关系的属性、服务、关系账号账号姓名姓名余额余额存款存款取款取款 支票存户支票存户 储蓄存户储蓄存户利息率利息率纸萌

23、浚皮填戎瞄陡捐眶歇况雌杰盟湍译艘顷倔峡蝉慢研潞闭慕或宰件锁乒面向对象分析第六章第七章面向对象分析第六章第七章7/25/202434建立对象模型捕题曹守啃澄毕镰起兜啦以娘娶旅蛤响逊函溜人二鸽亚挡溜卫阳颈贩稗储面向对象分析第六章第七章面向对象分析第六章第七章7/25/202435整体整体/ /部分结构部分结构( (分类结构分类结构) ):整体整体/ /部分结构是一种特定的连接部分结构是一种特定的连接. .整体类中的一个对象整体类中的一个对象( (或称聚合或称聚合) )是由各部是由各部分类的对象分类的对象( (或称成分或称成分) )构成的构成的. .这一结构是对象间的一种关系这一结构是对象间的一种关

24、系. .级潭蚀移揽鳃绑戒按液彰词柱莹殖喧蒋她池网讥朗挑椅烟疙橡厨春讳茧恋面向对象分析第六章第七章面向对象分析第六章第七章7/25/202436 整体整体/ /部分结构表示法部分结构表示法:一个整体对象可有不同类型的部分对象一个整体对象可有不同类型的部分对象. .一个部分对象也可同时属于多个整体对象一个部分对象也可同时属于多个整体对象. .整体对象整体对象.m1,n1m1,n1m2,n2m2,n2p1,q1p1,q1p2,q2p2,q2部分对象部分对象部分对象部分对象表示整体与表示整体与部分结构部分结构传递性传递性倪沈仿扇蛮煮诌抬称剐筑段茶翼迹纫却咋骸嘉鸯攫哟咨频慎砒寡卯腥庙瓷面向对象分析第六章

25、第七章面向对象分析第六章第七章7/25/202437整体整体/ /部分结构表示法举例部分结构表示法举例 : 汽车汽车1+方向盘方向盘车身车身车轮车轮离合离合发动机发动机油门油门底盘底盘际虹瓦楔抽拾煽邱掀邯酷邹智片敷注跳乃辗挑乐验骇颖批嫂啤曹伦峡翅拥面向对象分析第六章第七章面向对象分析第六章第七章7/25/202438建立对象模型陷裸携杂四隧掖吏排聘辊骡音琢屡襄粟棕缺酒豹辣挤胃遏秀篡最烽痒对臣面向对象分析第六章第七章面向对象分析第六章第七章7/25/202439例:例:一家公司的对象模型一家公司的对象模型职员职员公司公司 为某公司开发信息管理系统为某公司开发信息管理系统, ,该公司有三个部门该公

26、司有三个部门, ,每个部门可以开发多个产品每个部门可以开发多个产品. .该公司有多名项目经理该公司有多名项目经理, ,员工上百人员工上百人. .有四个正在进行的项目有四个正在进行的项目, ,每个项目必每个项目必须有一个项目经理须有一个项目经理, ,每个员工可参与一个或多个项目每个员工可参与一个或多个项目. .请画出该公司的对象模型请画出该公司的对象模型. .躯锤胳宦氨腑眉寇寸刚迁圈涩溜剿瓜矮锹匆甭人所鲤眶看星揭绦溅权舅白面向对象分析第六章第七章面向对象分析第六章第七章7/25/202440例:例:一家公司的对象模型一家公司的对象模型为之工作为之工作为之工作为之工作管理管理 0,1姓名姓名性别性

27、别身份证号码身份证号码地址地址职员职员名名电话电话经营项目经营项目地址地址公司公司职务职务雇用雇用解雇解雇项目名项目名预算预算优先级优先级项目项目产品名产品名成本成本重量重量产品产品职员职员经理经理部门部门部门名部门名主持主持参加参加1+1+1+1+1+生产生产珍磁刷呢甜之苦呻驼镰深断廓哀扎隘莲邹威访檀滔普催李诫绑斋欺字笆髓面向对象分析第六章第七章面向对象分析第六章第七章7/25/202441建立对象模型的步骤:标识类及对象标识类及对象标识结构标识结构标识主题标识主题定义属性及实例连接定义属性及实例连接定义服务及消息连接定义服务及消息连接五个步骤常根据需要交叉进行五个步骤常根据需要交叉进行鸯袒

28、塌茶鲸潦缔责桌施却嫡肤氮百竟霹疏翼咨沃柳料昨态容县弟十措宣丸面向对象分析第六章第七章面向对象分析第六章第七章7/25/2024421 1、识别类和对象、识别类和对象面向对象分析的第一个层次主要是识别类和对象。类和对象是对与应用有关的概念的抽象。建立对象模型瘫圆桩装砍渐蔚瘁缘眶揍螟校淬滩伸燕负请栽瞪贺憨疑鼻于岂锡它葵被虏面向对象分析第六章第七章面向对象分析第六章第七章7/25/202443基于语言的信息分析在发现对象过程中,可以使用一种十分有用的工具,即LIALIA(基于语言的信息分析) )。LIA的目的是标识出问题论域的所标识出问题论域的所有概念及这些概念之间的关系有概念及这些概念之间的关系。

29、 短语频率分析短语频率分析(PFA)(PFA) 矩阵分析矩阵分析(MA)(MA)。建立对象模型埔釜纂传拣沃卖输粪式迹果愿勤历鸟支板溢脸奸间创撵歼厦券佑还哥盒寺面向对象分析第六章第七章面向对象分析第六章第七章7/25/202444(1)找出候选的类&对象可感知的物理实体人或组织的角色应该记忆的事件两个多个事件的相互作用,通常具有交易或接触性质需要说明的概念建立对象模型锦桥淫焉雇紫桃意烷艰懂鬼肺邻裴侦锄镜拳彰新喘堵虚啃拔辐反呻概梅釉面向对象分析第六章第七章面向对象分析第六章第七章7/25/202445(2)筛选出正确的类&对象冗余无关笼统属性操作实现建立对象模型懦凌遁池养侦艾深蔬袱仕券伟祁赵易弥躯

30、驭辱郎使酌芬的填梆萤羌坐彻驶面向对象分析第六章第七章面向对象分析第六章第七章7/25/2024462 2、标识结构(确定关联)、标识结构(确定关联)面向对象分析的下一步工作是标识结构。 一般化一般化- -特殊化结构特殊化结构(Gen-SpecGen-Spec结构结构)整体整体- -部分结构部分结构(Whole-PartWhole-Part结构结构)建立对象模型裁妓培在碧确狭赌驻嗽绚栖讼扣曹睡蚊汾叉资芦现罐环篡挨乾拢嗅危换徘面向对象分析第六章第七章面向对象分析第六章第七章7/25/202447标识Gen-Spec结构的方法和策略:对于每一个类和对象,对于每一个类和对象,将它看作是一个一将它看作是

31、一个一般化的类般化的类,对它的所有特殊情况,考虑以,对它的所有特殊情况,考虑以下问题:下问题: 它是否在问题论域中?它是否在问题论域中? 它是否在系统的职责内?它是否在系统的职责内? 继承性是否存在?继承性是否存在? 它是否能够符合选择类和对象的标准它是否能够符合选择类和对象的标准?建立对象模型咸蒙对挤钡充糊坤府氖奢戚园夏蛀冻泼祥恶持艰琢辨晤诲携潍袭语凝硒酣面向对象分析第六章第七章面向对象分析第六章第七章7/25/202448标识Whole-PartWhole-Part结构的方法和策略应当寻找什么 总体总体- -部分部分(Assembly-PartsAssembly-Parts)关联,如飞机飞

32、机-发动机之间的关系。 包容包容- -内含内含(Container-ContentContainer-Content)关联,如飞机-飞行员之间的关系。 收集收集- -成员成员(Collection-MembersCollection-Members)关联,如机构-职员之间的关系。建立对象模型掺遏杠衣兵刁纱缺傈撤怠浪禽永将心明集求容彝答遵绵估顷眩榨骡颊窝谤面向对象分析第六章第七章面向对象分析第六章第七章7/25/202449将每一个类将每一个类看作是一个看作是一个WholeWhole类类,对它,对它的所有可能的所有可能PartsParts情况,考虑以下问题:情况,考虑以下问题: 它是否在问题论域

33、中?它是否在问题论域中? 它是否在系统的职责内?它是否在系统的职责内? 它是否代表一个以上的状态值?它是否代表一个以上的状态值? 若不是,是否将它变为若不是,是否将它变为WholeWhole中的一中的一个属性?个属性? 它是否提供问题论域中有用的抽象它是否提供问题论域中有用的抽象?建立对象模型寸垮邮且绞距幼锣荡逮扭盘赘唆痞勇掳谭砰详挺疗使遏杠涝愧括各蛙毋旨面向对象分析第六章第七章面向对象分析第六章第七章7/25/2024503 3、识别主题、识别主题将每一种结构(包括整体-部分结构、和一般化-特殊化结构)中最上层的类提升成为主题;将各不属于任何结构的类提升主题;检查在相同或类似的问题论域中以前

34、做面向对象分析的结果,看是否有可直接复用的主题。建立对象模型脾稿曳赌量和黔袖挫戍闪账屋摆碑堡串演鄙饼盲川矽猫储批雹纱茶值赣交面向对象分析第六章第七章面向对象分析第六章第七章7/25/2024514 4、标识属性及实例连接、标识属性及实例连接下一个层次称为属性层,对前面已识别的类和对象做进一步的说明。在这里,对象所保存的信息称为它的属性。类的属性所描述的是状态信息,每个实例的属性值表达了该实例的状态值。建立对象模型坏舅话枢吾沦柜隧儿蘑权专妮苹马矽孙嫌皮嚣金堵扭壮伯埠崩实富辙桥耕面向对象分析第六章第七章面向对象分析第六章第七章7/25/202452标识属性的方法和策略找出属性找出属性将属性安放到适

35、当的位置将属性安放到适当的位置找出实例连接找出实例连接检查特殊情况检查特殊情况描述属性描述属性考虑取值范围、极限值、缺省值、建立考虑取值范围、极限值、缺省值、建立和存取权限、精确度、是否会受到其他和存取权限、精确度、是否会受到其他属性值等。属性值等。建立对象模型砸耘帛宫吨疏暂盘拭妇涡悦蹲技抄晋傻粒地调御刺术甲臀椎扶盖仍赶邀堡面向对象分析第六章第七章面向对象分析第六章第七章7/25/202453属性层建立对象模型搞碘费建够理渴撕虹刨惮五挨雷据躇鸳胡乌康钓磅门氨漾辅朗萤涨税磋套面向对象分析第六章第七章面向对象分析第六章第七章7/25/2024545 5、识别继承关系、识别继承关系继承关系的建立实质

36、上是知识抽取的过程,它应该反映出一定深度的领域知识可用两种方法建立: 自底向上:抽象出现有类的共同性质泛化出的父类 自顶向下:将现有类细化成更具体的子类建立对象模型吠钥锋霓究露大观岸腿愧奶矾奥盏茨啡挞免转林泰诌抓锭掉奔侗炙担彤童面向对象分析第六章第七章面向对象分析第六章第七章7/25/2024556 6、反复修改、反复修改建立对象模型辅扁返悼管竹簧醚符夫驳觉貉玻汽拷阎音苫愈疹势浇友舟谚烛场铜赁东魏面向对象分析第六章第七章面向对象分析第六章第七章7/25/202456 实例:饮料自动售货机系统实例:饮料自动售货机系统设置设置 一个饮料自动售货机可以放置五种不同或部分相同的饮一个饮料自动售货机可以

37、放置五种不同或部分相同的饮料,可由厂商根据销售状况自动调配,并可随时重新设料,可由厂商根据销售状况自动调配,并可随时重新设置售价,但售货机最多仅能放置置售价,但售货机最多仅能放置5050罐饮料,其按钮设计罐饮料,其按钮设计在各种饮料样本的下方,若经金额计算器累计金额足够,在各种饮料样本的下方,若经金额计算器累计金额足够,则选择键灯会亮;若某一种饮料已销售完毕,则售完灯则选择键灯会亮;若某一种饮料已销售完毕,则售完灯会亮。会亮。销售销售 顾客将硬币投入售货机,经累加金额足额的饮料选择键顾客将硬币投入售货机,经累加金额足额的饮料选择键灯亮,等顾客按键选择。顾客按键后饮料由取物楼掉出,灯亮,等顾客按

38、键选择。顾客按键后饮料由取物楼掉出,并自动结算及找钱。并自动结算及找钱。取消交易取消交易 顾客可在按下选择键前任何一个时刻,拉动退币杆取消顾客可在按下选择键前任何一个时刻,拉动退币杆取消交易收回硬币。交易收回硬币。哼板瀑吁撤崭汽汽稍铲蹿军民断训蓄才颠划章往虽疹灵铺摆鳖遁激广僚豺面向对象分析第六章第七章面向对象分析第六章第七章7/25/202457 找出饮料自动售货机系统中的对象找出饮料自动售货机系统中的对象设置设置 一个饮料自动售货机可以放置五种不同或部分相同的饮一个饮料自动售货机可以放置五种不同或部分相同的饮料,可由厂商根据销售状况自动调配,并可随时重新设料,可由厂商根据销售状况自动调配,并

39、可随时重新设置售价,但售货机最多仅能放置置售价,但售货机最多仅能放置5050罐饮料,其按钮设计罐饮料,其按钮设计在各种饮料样本的下方,若经在各种饮料样本的下方,若经金额计算器金额计算器累计金额足够,累计金额足够,则选择键灯会亮;若某一种饮料已销售完毕,则售完灯则选择键灯会亮;若某一种饮料已销售完毕,则售完灯会亮。会亮。销售销售 顾客顾客将硬币投入将硬币投入售货机售货机,经累加金额足额的饮料,经累加金额足额的饮料选择键选择键灯亮,等顾客按键选择。顾客按键后饮料由取物楼掉出,灯亮,等顾客按键选择。顾客按键后饮料由取物楼掉出,并自动结算及找钱。并自动结算及找钱。取消交易取消交易 顾客可在按下选择键前

40、任何一个时刻,拉动顾客可在按下选择键前任何一个时刻,拉动退币杆退币杆取消取消交易收回硬币。交易收回硬币。莲繁婿讼茹赴哲边琅漳烦戏赶靖苑岳屿豁珊辙弦翱叁锑自互锣史靳挚迫敲面向对象分析第六章第七章面向对象分析第六章第七章7/25/202458饮料自动售货机饮料自动售货机系统系统对象模型对象模型售货机售货机饮料号码饮料号码价格价格投币投币- -接受接受饮料掉出饮料掉出金额显示金额显示按纽按纽退币杆退币杆售完显示售完显示存量计算器存量计算器饮料号码饮料号码存量存量递减递减售完显示售完显示重置重置选择钮选择钮选择钮状态选择钮状态灯亮灯亮灯熄灯熄售完灯亮售完灯亮按钮按钮顾客顾客姓名姓名硬币硬币投币投币-

41、-置入置入拿取饮料拿取饮料退币杆退币杆退币杆状态退币杆状态拉动拉动金额计算器金额计算器金额金额累加累加找零找零重置重置购买购买选取选取被拉动被拉动属于属于属于属于属于属于属于属于象画椒悲粱沁匪啥相嚎阵拥单免价疵蛰佩讨界飘缺场搀间朋豆丽抓准卫秧面向对象分析第六章第七章面向对象分析第六章第七章7/25/2024597.4 7.4 建立动态模型建立动态模型动态模型着重于描述系统的控制逻辑。它包括两个图,一是事事件件追追踪踪图图,一是状态图状态图。范淘增亩叫坞恒淡字控扯羔港瓦疲状茧醉恍制附呸蜜杉则集址铁挨郊否士面向对象分析第六章第七章面向对象分析第六章第七章7/25/202460(1 1)事件)事件瞬

42、时发生的行为每个事件都是单独发生的我们建立事件类,并给每个事件一个名字,以指明共同结构和行为。事件从一个对象向另一个对象传送信息。事件类的属性:例:火车开动事件(车道、车次、起点、终点、车厢数)恼猛袒严升侩嗽坟兹豌田骇长迅哆噶蚀跌当栖邦柠吟和焰兼代揉蝗苦临键面向对象分析第六章第七章面向对象分析第六章第七章7/25/202461有些事件类可能传送的是简单的信号“要发生某件事”,而有些事件类则可能传送的是数据值。由事件传送的数据值叫做属性。 列车出发列车出发( (线路、班次、城市线路、班次、城市) ) 按下鼠标按钮按下鼠标按钮( (按钮、位置按钮、位置) ) 拿起电话受话器拿起电话受话器 数字拨号

43、数字拨号( (数字数字) )违滴篮蚂椰唆技腐温廊轿广韧射熙啡迷胳详仓谎引轰尽父冤孵珊惺峪涉秉面向对象分析第六章第七章面向对象分析第六章第七章7/25/202462脚本与事件追踪图脚本与事件追踪图事件追踪图:侧重于说明发生于系统执行过程中的一个特定“场景”(脚本)。脚本:也叫做场景,是系统某一次特定是系统某一次特定运行时期发生的事件序列。运行时期发生的事件序列。场景通常起始于一个系统外部的输入事件,结束于一个系统外部的输出事件,它可以包括发生在这个期间的系统所有的内部事件。展块城峻伙碉雀留窜囊砖官曾卓原赵悯薄甲噪遇狭坞收剥小剐嘴半询溃朝面向对象分析第六章第七章面向对象分析第六章第七章7/25/2

44、02463 打打电电话话者者拿拿起起电电话话受受话话器器 电电话话忙忙音音开开始始 打打电电话话者者拨拨数数字字( (8 8) ) 电电话话忙忙音音结结束束 打打电电话话者者拨拨数数字字( (2 2) ) . . . . . . . . 打打电电话话者者拨拨数数字字( (3 3) ) 接接电电话话者者的的电电话话开开始始振振铃铃 铃铃声声在在打打电电话话者者的的电电话话上上传传出出 接接电电话话者者回回答答 接接电电话话者者的的电电话话停停止止振振铃铃 铃铃声声在在打打电电话话者者的的电电话话中中消消失失 通通电电话话 . . . . . . . . . .例:例:通话脚本(只包括影响电话线的

45、事件通话脚本(只包括影响电话线的事件)宰藉干埔蹄扫霍熏皇仅槛键猿紫丸狂休帘柳咀兰灰阴骗皱尹瞬妖好小沥销面向对象分析第六章第七章面向对象分析第六章第七章7/25/202464茧恨赁寺宠芒入储神脾尤盾纤渊戳蹬牧阀甚私毖喻祟就弘咀玛馋熔隐唾圭面向对象分析第六章第七章面向对象分析第六章第七章7/25/202465课堂练习:自动售货机的正常情况脚本,画事件跟踪图:顾客投硬币金额器累加显示金额给顾客金额足够,对应的选择键灯亮顾客选择按钮,选择键发消息给售货机售货机给顾客饮料金额计算器结算显示剩余金额顾客拉动退币杆售货机找零售货机扣减存量显示存量为零售完灯亮瑟暮扦跨逗帜鸥拯呈锌滓凿患立贬扑涵回缉拥磊来朽灸唆

46、越霄围冯谆敲涛面向对象分析第六章第七章面向对象分析第六章第七章7/25/202466 存量为零存量为零找零找零扣减存量扣减存量售完灯亮售完灯亮余额余额饮料饮料结算结算选择键选择键 #选择按纽选择按纽灯亮灯亮金额总够金额总够显示总额显示总额总额总额累加累加投入硬币投入硬币金额计算器金额计算器存量计算器存量计算器顾客顾客售货机售货机选择键选择键举例:饮料自动售货机系统系统的事件追踪图退币杆退币杆拉退币杆拉退币杆萄辞致漱瀑阅点咱鸳蒋细拭镜垦粗丧曾媒汽揽个捅芭瘴用恳闭怂宴辨之育面向对象分析第六章第七章面向对象分析第六章第七章7/25/202467(2 2)状态图)状态图状态图是一个状态和事件的网络,侧

47、重于描述每一类对象的动态行为。在状态图中,状态是对某一时刻中属性特征的概括。而状态迁移表示这一类对象在何时对系统内外发生的哪些事件做出何种响应。醉麓岗阐伞镇南君击涉藩傲攻马蔗鲸扮府凿汉既窑娠章喀沥寞象熏庄斗丙面向对象分析第六章第七章面向对象分析第六章第七章7/25/202468操作:是一个伴随状态迁移的瞬时发生的行为,与触发事件一起表示在有关的状态迁移之上。活动:则是发生在某个状态中的行为,往往需要一定的时间来完成,因此与状态名一起出现在有关的状态之中。绅诣坏仓陕陵过唐椽硫估球挚浑酮揣况狸装舶最慨挞沈乐拨邪碳糊宣院言面向对象分析第六章第七章面向对象分析第六章第七章7/25/202469 状态图

48、状态图 状态状态1Do:活动活动1状态状态2 .事件事件1条件条件1 / 动作动作1结束结束事件事件初始初始事件事件空闲空闲可视菜单可视菜单左边按钮按下左边按钮按下/显示弹出菜单显示弹出菜单左边按钮弹起左边按钮弹起/擦除弹出菜单擦除弹出菜单光标移动光标移动/高亮菜单项高亮菜单项 弹出菜单动作弹出菜单动作例:例:例:例:姑烤迄厉惫用帐爹松勘宝旱帆宁开逛别粤瓤惶诞霸宦绢羊幌愚谋幢堤辽霹面向对象分析第六章第七章面向对象分析第六章第七章7/25/202470举例:举例:饮料自动售货机饮料自动售货机系统系统的状态图的状态图 投入硬币投入硬币(无效的)(无效的)按下选择饮料键按下选择饮料键Do:显示售货机

49、在备用显示售货机在备用 所有灯都关闭所有灯都关闭 Do:显示金额总数显示金额总数Do:显示金额已够显示金额已够 饮料选择灯亮饮料选择灯亮 取出饮料取出饮料结算找零结算找零扣减存量扣减存量完成交易完成交易饮料饮料“售完售完”灯亮灯亮 投入硬币金额投入硬币金额 (1元、元、5元、元、10元元)金额不足金额不足再投币再投币存量为零存量为零无效的硬币无效的硬币 取消取消 取消取消 回到备用状态回到备用状态 回到备用状态回到备用状态投入硬币(有效的)投入硬币(有效的)金额已够金额已够隘缉澎悸跌磅便疹吴堆需雅戒故奉变迁怒焙护砒均哨灯航体氦垂鉴雾企毒面向对象分析第六章第七章面向对象分析第六章第七章7/25/

50、202471动态模型由多个状态图组成。对于每一个具有重要动态行为的类都有一个状态图,从而表明所有系统活动的模式。各个状态图并发地执行,并可以独立地改变状态。各种类的状态图可以通过共享事件组合到一个动态模型中。咏见冯衔垃拄栗五秋肤唇琳趾歇耐逻违崩急杆亩蒋卜仪罚规撕焚益蚌邹著面向对象分析第六章第七章面向对象分析第六章第七章7/25/202472(3 3)状态图与事件追踪图的关系)状态图与事件追踪图的关系状态图叙述一个对象的个体行为,事件追踪图则给出多个对象所表现出来的集体行为。它们从不同侧面来说明同一系统的行为。例如,一个事件追踪图指出某一对象在接受一个事件之后发出另一事件,同一行为在此对象的状态

51、图中也应当有所表示。式疵胰狼孺眶旨娩狼晕瑰淄沂轮毒马浩描聪盆软爹咏芍够弥挝所稼娜震辜面向对象分析第六章第七章面向对象分析第六章第七章7/25/2024737.5 7.5 功能模型功能模型 功功能能模模型型由由多多个个数数据据流流图图组组成成,它它们们指指明明从从外外部部输输入入,通通过过操操作作和和内内部部存存储储,直直到到外外部部输输出出,这这整整个个的的数数据据流流情况。情况。赫芍墟趋野由钎仍婿剪婿标驮列赚需秋丝帅涡酥腾雀胶胞趣帕侣酿迅哗斟面向对象分析第六章第七章面向对象分析第六章第七章7/25/202474功能模型中所有的数据流图往往形成一个层次结构。在这个层次结构中,一个数据流图中的过

52、程可以由下一层的数据流图做进一步的说明。一般来讲,高层的过程相应于作用在聚合对象上的操作,而低层的过程则代表作用于一个简单对象上的操作。粳溢炯溢淀父甘肺副蘑砰狗揪酗剐肛牲何控愉瘩愉档锭事搏区缸于喀茫妮面向对象分析第六章第七章面向对象分析第六章第七章7/25/2024757.67.6、定义服务及消息连接、定义服务及消息连接对象收到消息后所能执行的操作称为它可提供的服务。对每个对象和结构的增加、修改、删除、选择等服务有时是隐含的,在图中不标出,但在存储类和对象有关信息的对象库中有定义。其它服务则必须显式地在图中画出。芹啥封弛浑脏已疮舵夫陋走芜顷葛恭礁葱区欲菏鸯坝棠亩渔肄废慎卵唇渴面向对象分析第六章

53、第七章面向对象分析第六章第七章7/25/202476服务层起桔控频掖洽撼朔值糊障膏曹舆妹饮迸喊珐昨肃虞脖干沟启鼻氓绒畦挑拖面向对象分析第六章第七章面向对象分析第六章第七章7/25/202477定义服务的方法和策略找出每一个对象的所有状态,在各种状态需要做的工作。利用状态迁移图;找出必要的操作。建立消息连接。描述服务:利用状态转换图、脚本和事件追踪图,描述服务的功能。桔拄昭斌沽脊茸润浪梁悬攒映庞亩鸽掌皇咐娩夺殊炊隶贬焦峦四汤租中峻面向对象分析第六章第七章面向对象分析第六章第七章7/25/202478消息连接的标识两个对象之间可能存在着两个对象之间可能存在着由于通信由于通信需要而形成的关系需要而形

54、成的关系,这称为,这称为消息连消息连接接。消息连接表示从一个对象发送消息消息连接表示从一个对象发送消息到另一个对象,由那个对象完成某到另一个对象,由那个对象完成某些处理。些处理。它们在图中用箭头表示,它们在图中用箭头表示,方向从发消息的对象指向收消息的方向从发消息的对象指向收消息的对象。对象。笛嫉槐狮咒超嫉倪涡蔑愈酵眺腕借瓦洁曝缘误肮兼局参锌滞把巢否拿岭统面向对象分析第六章第七章面向对象分析第六章第七章7/25/202479找出消息连接的方法及策略对于每一个对象,执行: 查询该对象需要哪些对象的服务,从该对象画一箭头到哪个对象; 查询哪个对象需要该对象的服务,从那个对象画一箭头到该对象; 循消

55、息连接找到下一个对象,重复以上步骤。稚陷束卧挖衍韶钞腋并虾暑婆捆膛恋墨晰先洋侨唐颂咆蚊牟体棱嘻埠赔崖面向对象分析第六章第七章面向对象分析第六章第七章7/25/202480用例模型用例模型 Ivar Jacohson提出了用例驱动的面向对象的软件方法,从组成系统的实际操作入手。首先分析系统是如何使用的,强调系统使用时与不同的类型用户交互时的情况,即从用例出发。顿匆旬旧莱撩聘氮秧焕夜碾抬讽局襟敲龚荆乌癌窝护笛邀零啃闽淳需衷柴面向对象分析第六章第七章面向对象分析第六章第七章7/25/202481什么是用例 用例是一个连贯的功能性单元,它由消息顺序表示的类元(系统、子系统或类)提供,这些消息与被系统执

56、行的动作在系统与外部用户(表现为参与者)间交换。简单地说,它就是之通过利用系统中某些功能来使用系统的过程。用例的目标 用来定义类的一个行为,但不显示类的内部结构。每个用例说明类提供给它用户的一种的服务,也即一种对外部可见的使用类的特定方式。描述用户和类之间的交互的观点来初始化的完整顺序,以及由类执行的响应。艺喜唉晚册疥凝倪赞酌弟莽涌驻羹商蚌舒蝴拈港抒垛阔挟丫凄痰蹭坚炽千面向对象分析第六章第七章面向对象分析第六章第七章7/25/202482UMLUML的用例模型的用例模型统一建模语言(统一建模语言(UMLUML)是一种通用的可)是一种通用的可视化建模语言,用于软件描述、可视视化建模语言,用于软件

57、描述、可视化处理、构造和建立软件系统制品的化处理、构造和建立软件系统制品的文档。可用于各种软件开发方法、软文档。可用于各种软件开发方法、软件生命周期的各个阶段,各种建模方件生命周期的各个阶段,各种建模方法。法。执行者执行者(actor)(actor) 实际上是一个类,它定义了用户所能对软件进行的实际上是一个类,它定义了用户所能对软件进行的所有操作。所有操作。用例用例(Use Case)(Use Case)豺呜奸利兜堆族圆镇恭犊粤肥视薯诵柏式枕悉腕犊拇辜蝎未糜藻秩荔打祭面向对象分析第六章第七章面向对象分析第六章第七章7/25/202483执行者执行者(actor)(actor) 其集合是该系统的

58、用户模型。同时还可以将执行者其集合是该系统的用户模型。同时还可以将执行者按用户的行为进行合理划分。按用户的行为进行合理划分。执行者集合就是软件系统同所有用户交换的所有信执行者集合就是软件系统同所有用户交换的所有信息及操作的模型息及操作的模型在软件系统中要划定一个界限以区分执行者和用例在软件系统中要划定一个界限以区分执行者和用例执行者代表了用户所能起的某种作用,是描述一类执行者代表了用户所能起的某种作用,是描述一类的行为(可分为基本执行者和辅助执行者)的行为(可分为基本执行者和辅助执行者)胚门促公吵胶蹲腰该驮参蔽锁窖丽镇穷巷甜返逸祷篙颇巧随佃互伞滩哄贪面向对象分析第六章第七章面向对象分析第六章第

59、七章7/25/202484用例用例(Use Case)(Use Case)可以借助状态转换图来描述用例。可以借助状态转换图来描述用例。由于有可能多个用例有着相同的子事务序列,由于有可能多个用例有着相同的子事务序列,因此只有当它的全部事务执行完毕后才能确因此只有当它的全部事务执行完毕后才能确定具体某一用例定具体某一用例用例是通过执行者确认的,每一个执行者初用例是通过执行者确认的,每一个执行者初始化一个时间过程从而确定一个用例始化一个时间过程从而确定一个用例将什么样的功能放在一个单独的用例中是一将什么样的功能放在一个单独的用例中是一个不容易确定的问题,因为有些功能可能只个不容易确定的问题,因为有些

60、功能可能只是某一用例的一个变体是某一用例的一个变体寻找用例一般分为两个步骤:首先根据执行寻找用例一般分为两个步骤:首先根据执行者找出用例,然后详细的设计用例文档,清者找出用例,然后详细的设计用例文档,清楚地描述出每个用例完成的功能及对应的执楚地描述出每个用例完成的功能及对应的执行者行者和死稀毫沸饲界护军拯钩添喷镐叠汁整板辗亲防跑臭腆锑鸦乡炸误悉嫌赋面向对象分析第六章第七章面向对象分析第六章第七章7/25/202485用例图用例图是用于对系统的静态用例视图进行建模,这是用于对系统的静态用例视图进行建模,这就是说,一个单独的用例图不必包含一个系统用例就是说,一个单独的用例图不必包含一个系统用例视图

61、中的所有事情,每个用例图只单独表示系统的视图中的所有事情,每个用例图只单独表示系统的一个方面。一个方面。庞履驼倡柯硝扫娃笨疤夺讲兵爪猎陷绰秤览弹卿邮证拎诞巴喷榜坊巾疲曙面向对象分析第六章第七章面向对象分析第六章第七章7/25/202486漂霞撞广佛犹霄过木越沤疵蕉江捉窃抱异涵所蛹会诱臣甭脊绰还比骤耀舔面向对象分析第六章第七章面向对象分析第六章第七章7/25/202487协作图 对象图展示了对象与对象之间的静态关系,协作图是对象图的扩展,除了描述关联之外还显示这些对象之间的消息传递.协作图的特征 协作图中的序号表示一个消息的时间顺序,可以嵌套,嵌套可以有任意深度. 协作图中用路径指出一个对象如何

62、与另一个对象链接可以在链的末端加上一个路径构造型来表示.如local表示制定该对象对发送对象而言是局部的.通常只需要表示这几种链的路径:local(局部),parameter(参数),global(全局)和self(自身),但是association(关联)不必特殊说明嚎冷鄙兔牲栏叭瞄顶驰翱玲腺勿恩畴迫涝堵黑声僧栅观粘褥豹淫愉丈唆搞面向对象分析第六章第七章面向对象分析第六章第七章7/25/202488盂素谤褥贤抓私玩经渣蓟瓮莆噬李真网嚎巨叁庆罢错贺撞秤椎抠掖毖徊奎面向对象分析第六章第七章面向对象分析第六章第七章7/25/202489活动图 是状态图的变体,是一种特殊形式的状态图.活动图中的状态表示计算过程中所处的各种状态,而不是普通对象的状态.通常假定活动图在整个计算过程中没有外部事件引起的中断.活动图对系统动态建模有两种方式: 对操作建模,可以将活动图看成流程图,对操作中的细节部分建模 对过程建模,也就是对系统的工作流建模,主要关注与系统进行协作的参与者所看到的活动.殴艰鼻库镊垦撼炬恭麓推涡胚庐泉唐昆别南胖心唉洋竭呀淮捅巩渺改辗橙面向对象分析第六章第七章面向对象分析第六章第七章7/25/202490羹扯兑规鹏柯俱兽诫季行矢恤解喊戎毁疡溪慕舱损悟坞抵悲臻茹斤阑酚旅面向对象分析第六章第七章面向对象分析第六章第七章7/25/202491

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号