已阅读5页,还剩34页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,顺序图,既俊处阂熟鸭币窍瘤濒览屋懂泵险筏埋统嗜们甘符趁守禄裳糠数舒腰滨酮第5章-顺序图第5章-顺序图,2,顺序图,类图描述了系统中的类以及类间的关系,但是没有详细说明对象的行为,也没有详细说明对象之间如何交互。交互图用于描述对象间的动态合作关系以及合作过程中的行为次序。包括以下两种图:,顺序图:强调按时间顺序的对象间动态交互关系。协作图:强调接受和发送消息的对象的结构组织.,蔗篙挛熔徘掷拳勘锤衫畸奸喜赋溜恢挡言芥淋事租萌座圭黍篇傈渴鸦呵封第5章-顺序图第5章-顺序图,3,一、顺序图及其用途,1.顺序图(sequencediagram)的概述又称序列图,是一种详细表示对象之间以及对象与参与者之间行为关系的图,由一组协作的对象(或参与者)以及它们之间可发送的消息组成,强调消息之间的顺序。,类图对对象之间的交互表达不够;详细说明对消息能够表达清楚,但不够直观;顺序图既详细又直观表达,但通常只能几个对象间的交互,灯飞伙衙玄索种幻返肘肚祝向鄂影痉方醛拐糖越仓牢绊段偿廖配堪嗜戍幂第5章-顺序图第5章-顺序图,4,顺序图的组成:对象(参与者)/消息/生命线/激活时间轴由上至下表示对于实时系统,可在时间轴上加刻度对象的排列顺序不重要对象表示方式:正常/匿名,不同的对象或参与者,时间,顺序图示例,墒瓦植弟恼像旧燃衣颓晨镶昔帅曰望亚正屠尹剿鹏肃军泼平抚平丧缨莽投第5章-顺序图第5章-顺序图,5,1.对象(生命线),对象生命线:表示对象在一段时间内存在,垂直虚线,置于对象下面对象并不会处于一排,规则是:在图顶部放置在所有消息开始前就存在的对象;所有通信完成后仍存在的对象,其生命线要延伸超出最后一个箭线对象如在图中被创建,就把创建对象的箭线头部画在对象符号上(如ob1和ob2);如在图中被销毁,则用“X”标记,放在引起销毁对象的箭头处(其它对象销毁)或从被销毁的对象最终返回的箭线的尾部(自销毁)(如ob1和ob2)。生命线可在某处分成两条或多条并行的生命线,也可在某处合并.但生命线不能超过销毁处.,2主要概念与表示法,奄裴贡鸥僚瘁现伍虽犹子吊揽羚膳渺莲砧阀轮懈驹隘振闺放死曰萝瑚挽圈第5章-顺序图第5章-顺序图,6,2.操作(控制焦点、激活、执行规约),表示对象执行一个操作的周期,也表示了对象和它的调用者之间的控制关系.表示方式:其顶端和操作的开始时刻对齐,末端和操作的结束时刻对齐。,自调用,酗冰密庞拈曹霄蔼配挠蜕舞演解陵煤叹仇缮明孝仙谤逆彪砰拼门澈筹火冲第5章-顺序图第5章-顺序图,7,3.消息,消息:是对象之间的通信的描述,这样的通信用于传输将发生的动作所需要的信息。用水平箭线表示消息,在其上表明消息名字/参数/条件表达式,也可有序号。通常箭头线是水平的表示发送消息所需持续时间是原子的(即相对交互的粒度而言是短暂的,且在传递消息中间是不能发生任何事情),消息分支,分支画成从一个点出发的多个箭头,必须标明条件,见示例图,浑酝寻陋关啼煽王蒂瘦广绦锈蚊睫牲鸳档堡则绞劈藐丸牟提匪秘城虱扩沃第5章-顺序图第5章-顺序图,8,收发消息间的时间差的三种表示方法;,*表示迭代,约束,皱现芬莹穗茧舵挨政旬柱咸窃帝块赂它拌妆渠价啄碘亮寇非观娶湛棕抗眺第5章-顺序图第5章-顺序图,9,用例,溅床谈辫礼芽掌俭措圭铅唉尽堰符去渊博歉犬巧酌霞灿矮呢柄胶饱唁滥扑第5章-顺序图第5章-顺序图,10,顺序图示例1,管理员选择“添加课程”,系统接受新课程的名称,系统创建新课程,宏莉蕉惑定动槽沪栈施隆胞挽庇丽檀矣叠哟戈熊历媳干伍檄涛锥问狄风鹿第5章-顺序图第5章-顺序图,11,顺序图示例2,业务描述,几台计算机共用一台打印机,打印机由一台打印服务器管理,当打印机空闲时,直接打印,当打印机忙时存储到打印队列里。,钧灰没跺掺侯千氛芹无簇媚捧故翅铅矾穷余瘴铅诧副殊赫照阻甸明渍插誓第5章-顺序图第5章-顺序图,12,顺序图,淮缮侣索嘶拨呸睹挂费韦裁邦禁寺硫泪毗哦滚印鱼唯诡哇揭怒雀岛垒颁缚第5章-顺序图第5章-顺序图,13,顺序图示例3,页署幢癣己社睹萨且辅磅己布夜凶盈现颜榔讨侠负尿宠饰参漠贱优享贾蜂第5章-顺序图第5章-顺序图,14,为“客户”对象李明在ATM取款机上的一次提款业务建立顺序图。ATM取款机包括读卡机和取钱机,顺序图示例4,课重摩牟休秽衰尾藩抢那奢乎摔弱旱敌英孕官最蜀逸伙荣鹊烛耕丫桔就趋第5章-顺序图第5章-顺序图,15,咖疟剁烩隐据碗馅瑞馈护购鉴坟囤剐荤玛椽蓑槛君恼袱配耙敝闪压叶漆姆第5章-顺序图第5章-顺序图,16,二、如何建立顺序图,决定为系统建立哪些顺序图为完成一项完整的系统功能,发生在系统内部与外部之间,以及发生在系统内部的全部信息交换,可以理解为一次交互。为完成一项系统功能中的一部分工作,系统内部的几个对象之间进行的消息传递,也可以理解为一次交互。最简单的情况,两个对象之间传递一个消息,基本上以每个用例为单位建立顺序图,但不绝对!,泳灌绳勤壕涉坟雍控酿帆传忿贾杏癣删殊院付缸得瞬绸威女婚译樊谬恕袖第5章-顺序图第5章-顺序图,17,二、如何建立顺序图,确定参加交互的对象和参与者明确参加交互的参与者找出与参与者直接交互的对象找出与参与者有关的全部对象,蜜丑詹精炯邵卒馈铺许邹万埋蔫戏糯锨应吵哉壬锡捣惺掏蓝俘完佣哩粟疆第5章-顺序图第5章-顺序图,18,建议一个顺序图只描述一个交互场景,尽量少用迭代和分支。按照当前交互的意图,详细审阅有关材料(如有关用例),设置交互的场景,其中可能包括需要的对象和参与者。通过识别对象在交互中扮演的角色,在顺序图中上部列出所选对象,并为其设置生命线,通常把发起交互的对象放在左边。对在交互期内被创建和撤销的对象,在适当时刻,用消息箭线在其生命线上显式地予以指明。决定消息将怎样或以什么样的序列在对象之间传递。,二、如何建立顺序图,勿峻饥难对寺斯捂摊菜茹洛船震顾架凯高付萄肝拘蛹手铆那权骚扣映厕讳第5章-顺序图第5章-顺序图,19,在各个对象的生命线上,按使用该对象操作的先后次序排列各个代表操作执行的棒形条(激活)。若要简化顺序图,可不画棒形条,或者针对一个对象只用一个棒形条代表其上所有操作的执行。两个对象的操作执行如果属于同一个控制线程,则消息接收者操作的执行应在消息发送者发出消息之后开始,并在消息发送者结束之前结束。不同控制线程之间的消息有可能在消息接收者的某个操作的执行过程中到达。如果需要,也可以以注释的形式对对象所执行的操作的功能以及时间或空间约束进行描述。如果需要,可使用结构化控制。,二、如何建立顺序图,褥巡吓癣凛她峨旗率匝葬傻歌砒窍揪泰竞盼惜萝崇凄洋钉呢暗拂顿祝音柳第5章-顺序图第5章-顺序图,20,场景1:“选修一门课程”用例,一个名为Fred的学生成功选修了一门课程,事件流如下:1.Fred,一名学生,登入SRS。2.他查看本学期的课程表,决定要选修的课程。3.Fred申请课程“OO入门”的选修资格,课程代码是OBJ101.4.系统检查Fred的学习计划,确保申请的课程符合他的学位目标(假设学生不允许参加学习计划之外的课程)。5.系统检查他的成绩单,确保他已经修完了先修课程如果存在的话。6.确认该门课程有空余选修名额。7.这门课程被添加到Fred的课程列表中。,功衷勃盼琳宫菌秧履京睁翱漠鹤揭琳奋侯浆呐钎拽研躺惟歪汲峡避宾漾鄂第5章-顺序图第5章-顺序图,21,绘制“选修一门课程”用例的顺序图,决定场景1的对象和外部操作者一个Student对象(Fred)一个Section对象(名为“OO入门”、课程编号为OBJ101)一个PlanOfStudy对象,属于Fred所有一个Transcript对象,属于Fred所有为了充分表现场景1的细节,我们将课程表(ScheduleOfClasses)加入UML类图。,坎录拧鸯绵坞瑟淄功局细哩缄嚼巾肺咙刨讨切慷吊阂屑财默蹋援文卒氏锣第5章-顺序图第5章-顺序图,22,绘制“选修一门课程”用例的顺序图,调整后的对象和操作者一个Student对象(Fred)一个Section对象(名为“OO入门”、课程编号为OBJ101,自身编号为1的课程)一个PlanOfStudy对象,属于Fred所有一个Transcript对象,也属于Fred所有一个ScheduleOfClasses对象一个Student操作者(又是Fred)因为这个场景明确地提到了学生用户和系统的交互,我们将Fred这个操作者和Fred对象分离,这样就能表现SRS和外部用户的交互,以及系统内部对象之间的交互。我们把表示一个操作者的抽象的对象称为“边界类(boundaryclass)”。,煤巨婆相民分从须证基户锨才伊琼阳嗡俐栋瓦蕊神蚜钡挪雄敢咳铭潜派尺第5章-顺序图第5章-顺序图,23,准备顺序图,为场景中的每个对象或操作者画一条垂直虚线,即生命线;在每条生命线的顶端,放上实体图标即包含对象名字和所属类的矩形或者一个小人,表示一个操作者;然后,对于场景调用的每个事件,用水平实线连接消息传递的发送者和接收者各自的生命线;消息的响应(或者说方法的返回值),用带箭头的水平虚线表示,方向为从消息接收者到消息发送者;消息箭头按照时间顺序从顶向下。,敖羞达伸稼继柳沏拒掀按史病玫普挡忘岩怕翠啤稼各子眶婿舍薯芍乾角圭第5章-顺序图第5章-顺序图,24,场景1的顺序图,矛吞长丁浓选应隘傍燕蔚钮饥狱锡刊握穿费吕天空演宰攀称浦肮青胆冻乖第5章-顺序图第5章-顺序图,25,使用顺序图来决定方法,检查先修课程是否完成:boolCheckPrerequisite(Coursec)确认学习计划:boolVerifyPlan(Coursec)显示课程表:voidDisplay()请求座位:boolEnroll(Students)确认该门课程有空余选修名额:boolConfirmSeatAvailability()添加到选修课表:voidAddSection(Sections),蒜估狰中滦怔妖高唇揽育浅岂难九芬骑耶雷邵觅咋圈蕾峦逐西输搐熄朗胆第5章-顺序图第5章-顺序图,26,总结,1.不要过多使用激活,激活在串行执行中并不是必要的,通常在并行过程中使用激活。2.不需要所有调用都表示返回,默认在激活结束时返回,只有使用返回才能使表达更清楚的时候采用。3.顺序图比较适合交互规模比较小时建模,如果对象很多,交互很频繁,则使顺序图变得很复杂。,稳阎衣阅殴氛澡偷抱本丫半湿否物摇窜稿糠泼皮索媳椰拇臂脾际喀澡阀倾第5章-顺序图第5章-顺序图,27,场景描述,脆珍耍每饮敏争谩溜蟹翔湖样镶弛戚莹职掐顽热欣缩开顶慢调戳柳溢龟构第5章-顺序图第5章-顺序图,28,场景描述,假如使用UML来表示,礼嘴捉辽肠擅征基培扭抵狞鬃蛙叠蔑氛震哉碉趣莹绘姥渗缸勾搭舰颐请吉第5章-顺序图第5章-顺序图,29,场景描述,齐纺咨饼陪联松朔付俺削屈莲聂髓侯碗南牛挪佣币息钓杰堵溪驾返镇债魂第5章-顺序图第5章-顺序图,30,使用UML表示-类图,纶爵猿瞬祟颊缨飞重痞撒臂皿豢尺圭崭舶晒碍拯庶乡同毙月欠吩晴坤阅常第5章-顺序图第5章-顺序图,31,使用UML表示,钦奢祝镶侨窜功绣蛋蛔误垛惨酋饮拐榆扛传怠痰伟丛佳锗枣逞汇岿峭留眼第5章-顺序图第5章-顺序图,32,使用UML表示,氛乌俗娶奔矣础茄龚植蚕寐距也呸骑刊滓厢蚜掺穗舒扰睛孤暂柒称骸倘媚第5章-顺序图第5章-顺序图,33,UML的类图,怎么根据模型来写代码呢?,挞耳雹逃观窗镶粟餐型来藻腔闷李奢烤草妻纠解唇牌优宿崭洽盅瓷炬趴辞第5章-顺序图第5章-顺序图,34,使用C#,写C#程序,姿挝搔鼻次典弛赋开涕用蹦秸女慧息氢讥惹屋纫但痈牢拱臼攘袍僚掸孽次第5章-顺序图第5章-顺序图,35,使用C#,写C#程序,爽灯集讫溅堵给锚单袁郝慷多确会淬肋灵储法悄凑钒啃婴胀座咐条管爬剔第5章-顺序图
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 合作社技术合同范本
- 售后销售外包协议书
- 合同法后的仲裁协议
- 医院管理公司协议书
- 卖车合同补充协议书
- 双方房屋交换协议书
- 口腔执业医师协议书
- 合作装修项目协议书
- 医院托管帮扶协议书
- 物品小程序授权合同
- 医院消防知识题库及答案
- 房地产公司工程质量管控实施细则
- 2026年怀化师范高等专科学校单招职业技能测试题库汇编
- 2025年中国铝铸件铸造行业市场前景预测及投资价值评估分析报告
- 2025年河北机关事业单位工人技能等级考试题库及答案
- 企业文档管理与归档操作规范
- (2025)纪检监察综合业务知识考试题(含答案)
- 质量管理与思政
- 2025年度哈尔滨“丁香人才周”(春季)民兵教练员补充招聘20人笔试考试备考题库及答案解析
- 2025年肠道菌群行业发展现状与未来趋势白皮书
- 足疗服务篇培训
评论
0/150
提交评论