软件工程整理ppt

上传人:s9****2 文档编号:569566477 上传时间:2024-07-30 格式:PPT 页数:193 大小:1.31MB
返回 下载 相关 举报
软件工程整理ppt_第1页
第1页 / 共193页
软件工程整理ppt_第2页
第2页 / 共193页
软件工程整理ppt_第3页
第3页 / 共193页
软件工程整理ppt_第4页
第4页 / 共193页
软件工程整理ppt_第5页
第5页 / 共193页
点击查看更多>>
资源描述

《软件工程整理ppt》由会员分享,可在线阅读,更多相关《软件工程整理ppt(193页珍藏版)》请在金锄头文库上搜索。

1、软件工程软件工程软件工程软件工程第8章 面向对象建模膘膘术术拔拔踏踏岿岿谈谈酵酵牵牵撂撂瑰瑰尊尊保保懒懒湃湃嘿嘿圆圆筐筐服服种种菠菠断断航航区区初初播播砍砍哈哈喇喇陷陷眠眠栈栈坞坞软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)内容摘要内容摘要用况建模用况建模静态建模静态建模动态建模动态建模物理体系结构建模物理体系结构建模2币币椅椅悔悔柴柴看看莆莆慑慑廖廖狠狠镜镜搞搞峙峙沥沥缚缚城城呆呆屯屯骇骇操操人人紫紫校校柳柳摩摩羹羹炕炕栽栽瓶瓶仆仆惫惫挎挎锡锡软软件件工工程程整整理理ppt软软件件工工程

2、程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)内容摘要内容摘要用况建模用况建模静态建模静态建模动态建模动态建模物理体系结构建模物理体系结构建模3瘁瘁桶桶旅旅肋肋宾宾光光曾曾盅盅暖暖椽椽邦邦植植愈愈秘秘屏屏哺哺晤晤早早妨妨秋秋棋棋埂埂俭俭垒垒难难头头冗冗只只陶陶盒盒语语粹粹软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)用况建模用况建模 用用况况建建模模是是用用于于描描述述一一个个系系统统应应该该做做什什么么的的建建模模技技术术,用用况

3、况建建模模不不仅仅用用于于新新系系统统的的需需求求获获取取,还还可可用用于于已有系统的升级。用况模型用用况图来描述已有系统的升级。用况模型用用况图来描述 用用况况图图展展示示了了各各类类外外部部执执行行者者与与系系统统所所提提供供的的用用况况之之间间的的连连接接。一一个个用用况况是是系系统统所所提提供供的的一一个个功功能能(也也可以说是系统提供的某一特定用法)的描述可以说是系统提供的某一特定用法)的描述 执执行行者者是是指指那那些些可可能能使使用用这这些些用用况况的的人人或或外外部部系系统统,执行者与用况的连接表示该执行者使用了那个用况执行者与用况的连接表示该执行者使用了那个用况 用用况况图图

4、给给出出了了用用户户所所感感受受到到的的系系统统行行为为,但但不不描描述述系统如何实现该功能系统如何实现该功能 用况通常用普通正文描述,也可以用活动图来描述用况通常用普通正文描述,也可以用活动图来描述4引引炸炸暗暗讲讲萍萍偶偶曲曲遥遥篷篷播播软软嫂嫂逸逸臂臂畅畅皱皱扔扔独独樟樟杉杉吩吩丝丝脆脆碎碎朔朔注注桅桅长长攫攫该该蜂蜂赐赐软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版) 任任何何一一个个涉涉及及到到系系统统功功能能活活动动的的人人都都会会用到用况模型用到用况模型客客户户:用用况况模模型型

5、指指明明了了系系统统的的功功能能,描描述述了了系系统统能能如如何何使使用用。用用况况建建模模时时客客户户的的积积极极参参与是十分重要的与是十分重要的开开发发者者:用用况况模模型型帮帮助助他他们们理理解解系系统统要要做做什什么么,同同时时为为以以后后的的其其他他模模型型建建模模、结结构构设设计计、实现等提供依据实现等提供依据集集成成测测试试和和系系统统测测试试人人员员:根根据据用用况况来来测测试试系系统统,以以验验证证系系统统是是否否完完成成了了用用况况指指定定的的功功能能5巾巾圣圣嫌嫌巢巢龟龟咬咬到到殖殖止止诊诊殆殆终终芦芦专专倒倒刺刺链链捉捉拜拜之之峨峨淆淆发发豫豫英英砾砾虾虾酒酒勋勋轻轻掐

6、掐阐阐软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)用况建模步骤用况建模步骤创建用况模型的步骤包括:创建用况模型的步骤包括:1 1定义系统定义系统2 2确定执行者确定执行者3 3确定用况确定用况4 4描述用况描述用况5 5定义用况间的关系定义用况间的关系6 6确认模型确认模型6饲饲萨萨嫁嫁方方魂魂士士谍谍臼臼给给斧斧寻寻吮吮奄奄迈迈不不前前惋惋茧茧葵葵投投勋勋漱漱扦扦厚厚童童蜜蜜嚣嚣葱葱退退炽炽芳芳骸骸软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦

7、大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)用用况况模模型型由由用用况况图图组组成成,用用况况图图展展示示了了执执行行者者、用用况况以以及及它它们们之之间间的的关关系系。用用况况通通常常用用正文形式来描述正文形式来描述一一个个用用况况模模型型可可由由若若干干幅幅用用况况图图组组成成。一一幅幅用用况况图图包包含含的的模模型型元元素素有有系系统统、执执行行者者、用用况况,以以及及表表示示它它们们间间的的不不同同关关系系,如如关关联联、扩扩展、包含、泛化等展、包含、泛化等7沸沸蔷蔷俗俗狈狈俘俘绘绘尼尼庆庆节节鄂鄂悬悬侩侩屉屉铲铲窑窑庇庇逸逸些些六六钒钒捶捶领领逝逝抓抓一一局局盗盗复复

8、惦惦润润末末警警软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)用况图用况图电话订购系统用况图电话订购系统用况图客户客户售票员售票员送货员送货员主管主管r建立建立信用信用供应供应订单订单安排安排支付支付提供提供客户数据客户数据产生产生订单订单信用卡信用卡支付支付现金现金支付支付设置设置订单订单请求请求目录目录电话订购电话订购includeincludeincludeextend核对核对身份身份8真真域域酉酉厩厩窿窿现现谱谱悼悼孝孝藏藏宋宋佬佬霖霖洲洲郊郊散散液液姻姻默默杜杜怔怔诞诞栖栖试试驶驶

9、承承瓣瓣绿绿矫矫粱粱陪陪箔箔软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)一一. 定义系统定义系统 用况图中的矩形框代表系统,系统的用况用况图中的矩形框代表系统,系统的用况画在矩形框内,代表系统之外的执行者画画在矩形框内,代表系统之外的执行者画在矩形框外在矩形框外9介介嘶嘶潭潭朽朽厌厌叔叔焦焦侦侦涨涨爪爪府府专专衅衅飘飘挑挑业业誉誉详详张张猩猩虑虑世世存存川川累累粳粳獭獭猿猿馅馅驴驴枢枢蛀蛀软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科

10、学技术学院 软件工程(第二版)软件工程(第二版)二二. 确定执行者确定执行者执行者是指与系统交互的人或其他系统执行者是指与系统交互的人或其他系统执行者代表一种角色,而不是具体的某执行者代表一种角色,而不是具体的某个人个人 执行者可分成主执行者和副执行者:执行者可分成主执行者和副执行者:主执行者使用系统的主要功能主执行者使用系统的主要功能 例如,保险系统中主执行者处理保险的例如,保险系统中主执行者处理保险的注册和管理注册和管理 副执行者处理系统的辅助功能副执行者处理系统的辅助功能 例如,管理数据库、通信、备份以及其例如,管理数据库、通信、备份以及其他管理等系统维护他管理等系统维护10咽咽崖崖掳掳

11、以以钦钦琼琼眠眠枝枝幌幌台台佩佩聂聂操操翱翱孕孕想想菱菱绵绵澡澡裙裙戊戊女女阔阔太太汕汕悲悲瞩瞩阔阔怔怔或或队队嫂嫂软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)执行者还可分为主动执行者和被动执行执行者还可分为主动执行者和被动执行者:者:主动执行者开始一个用况主动执行者开始一个用况被动执行者从不开始用况,只是参与被动执行者从不开始用况,只是参与一个或多个用况一个或多个用况11享享侩侩督督兑兑犹犹藉藉访访名名吁吁诵诵论论延延号号旺旺络络吹吹端端举举枉枉樟樟盒盒幌幌柒柒哉哉驴驴赘赘噎噎券券纂纂年

12、年拼拼箔箔软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)我们可以通过回答下列问题来确定执行者:我们可以通过回答下列问题来确定执行者:谁使用系统的主要功能(主执行者)?谁使用系统的主要功能(主执行者)?谁谁需需要要从从系系统统中中得得到到对对他他们们日日常常工工作作的的支支持?持?谁谁需需要要维维护护、管管理理和和维维持持系系统统的的日日常常运运行行(副执行者)?(副执行者)?系统需要控制哪些硬件设备?系统需要控制哪些硬件设备?系统需要与哪些其他系统交互?系统需要与哪些其他系统交互?哪哪些些人

13、人或或哪哪些些系系统统对对系系统统产产生生的的结结果果(值值)感兴趣?感兴趣?12精精歧歧棒棒裹裹至至胡胡嚼嚼肿肿虏虏卯卯勿勿兢兢汛汛若若刊刊膝膝廉廉邓邓蛋蛋曝曝尝尝佳佳舆舆休休淫淫寄寄迢迢狙狙我我造造毫毫齐齐软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)三三. 确定用况确定用况1. 用况的特征用况的特征用况总是被执行者启动的(用况总是被执行者启动的(initiated),),执行者必须直接或间接地指示系统去执执行者必须直接或间接地指示系统去执行用况行用况用用况况向向执执行行者者提提供供值值

14、,这这些些值值必必须须是是可可识别的识别的用用况况是是完完整整的的,一一个个用用况况必必须须是是一一个个完完整的描述整的描述 用用况况是是一一个个类类型型,而而不不是是实实例例,用用况况的的实实例称为场景(例称为场景(scenario)13瞥瞥某某秆秆两两婶婶茶茶硼硼栋栋奎奎疤疤亚亚接接羡羡腾腾圭圭肩肩裂裂粥粥囤囤撩撩谩谩惋惋亿亿昨昨捐捐考考将将寨寨欲欲雷雷酗酗搀搀软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)2. 寻找用况寻找用况可以通过让每个执行者回答以下问题来寻找用况:可以通过让每个执

15、行者回答以下问题来寻找用况:执执行行者者需需要要系系统统提提供供哪哪些些功功能能?执执行行者者需需要要系统做什么?系统做什么?执执行行者者是是否否需需要要读读、创创建建、删删除除、修修改改或或储储存系统中的某类信息?存系统中的某类信息?执执行行者者是是否否要要被被系系统统中中的的事事件件提提醒醒,或或者者执执行行者者是是否否要要提提醒醒系系统统中中某某些些事事情情?从从功功能能观观点看,这些事件表示什么?点看,这些事件表示什么?执执行行者者的的日日常常工工作作是是否否因因为为系系统统的的新新功功能能(尤尤其其是是目目前前尚尚未未自自动动化化的的功功能能)而而被被简简化化或提高了效率?或提高了效

16、率?14平平饥饥游游半半呸呸逐逐氏氏吮吮呻呻刮刮兢兢量量旗旗谐谐佛佛妻妻阵阵赫赫畸畸濒濒乌乌袜袜氮氮门门环环闸闸亲亲囊囊隐隐哩哩遂遂氢氢软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)另另外外还还有有一一些些不不是是目目前前的的执执行行者者回回答答的的问问题:题:系统需要哪些输入系统需要哪些输入/输出?谁从系统获输出?谁从系统获取信息?谁为系统提供信息?取信息?谁为系统提供信息?与当前系统(可能是人工系统而不是自与当前系统(可能是人工系统而不是自动化系统)的实现有关的主要问题是什动化系统)的实

17、现有关的主要问题是什么?么? 对同一个项目,不同的开发者选取的用况数对同一个项目,不同的开发者选取的用况数是不一样的。例如一个是不一样的。例如一个10个人年规模的项目,有个人年规模的项目,有人选取了人选取了20个用况,而在一个类似的项目中,有个用况,而在一个类似的项目中,有人选用了人选用了100个用况个用况 似乎似乎20个太少,而个太少,而100个太多,希望在项目个太多,希望在项目规模和用况数之间保持均衡规模和用况数之间保持均衡15尘尘躁躁腑腑俞俞温温替替荤荤吠吠既既扎扎杂杂猜猜炬炬私私您您跟跟唉唉秋秋蜂蜂懂懂竟竟悍悍议议宫宫悬悬喂喂虞虞现现涸涸牢牢伦伦俄俄软软件件工工程程整整理理ppt软软件

18、件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)四四. 用况的描述用况的描述 用况通常用正文(用况通常用正文(text)来描述)来描述,也可用活动图也可用活动图来描述来描述 用况的正文描述应包括以下内容:用况的正文描述应包括以下内容:用用况况的的目目的的:用用况况的的最最终终目目的的是是什什么么?它它试试图图达达到什么?到什么?用用况况是是如如何何启启动动(initiate)的的:哪哪个个执执行行者者在在什什么情况下启动用况的执行?么情况下启动用况的执行?执执行行者者和和用用况况之之间间的的消消息息流流:用用况况与与执执行行者者

19、之之间间交交换换什什么么消消息息或或事事件件来来通通知知对对方方改改变变或或恢恢复复信信息息?描描述述系系统统与与执执行行者者之之间间的的主主消消息息流流是是什什么么?以以及系统中哪些实体被使用或修改?及系统中哪些实体被使用或修改?16甸甸头头妨妨回回洪洪禽禽喉喉淖淖恼恼糜糜耳耳裁裁骸骸戚戚秽秽岁岁乘乘敞敞炳炳仗仗瞬瞬碍碍箔箔凰凰憋憋尊尊耻耻沙沙搪搪职职屋屋蛔蛔软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)用用况况中中可可供供选选择择的的流流:用用况况中中的的活活动动可可根根据条件或异常(据

20、条件或异常(exception)有选择地执行)有选择地执行如如何何通通过过给给执执行行者者一一个个值值来来结结束束用用况况:描描述何时可认为用况已结束述何时可认为用况已结束17察察祁祁倘倘判判龋龋引引狰狰辑辑态态翘翘遂遂怂怂絮絮踞踞标标摔摔尤尤补补峭峭蛙蛙嘉嘉沪沪限限宏宏诧诧螺螺诧诧雍雍倡倡办办别别嘛嘛软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)执行者的简要描述执行者的简要描述 如如客户客户:向公司订购商品的人:向公司订购商品的人 客户代表客户代表:公司处理客户请求的雇员:公司处理客户请求

21、的雇员 库存系统库存系统:记录公司库存的软件:记录公司库存的软件用况的简要描述用况的简要描述 如如订订购购货货物物:客客户户创创建建一一个个新新的的请请求求商商品品的的订单,并为那些商品付费订单,并为那些商品付费 取消订单取消订单:客户取消一个已经存在的订单:客户取消一个已经存在的订单18巾巾骋骋婴婴品品葵葵洞洞能能石石首首沙沙渐渐抓抓抨抨锻锻馒馒撬撬笆笆忘忘棋棋浴浴淮淮憨憨肃肃翁翁榴榴短短富富幕幕靴靴砖砖萤萤纤纤软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版) 用况的详细描述用况的详细描述前

22、置条件和后置条件前置条件和后置条件前置条件和后置条件表示用况开始和结束的前置条件和后置条件表示用况开始和结束的条件条件事件流事件流(flow of events)事件流是一系列陈述句,它是从执行者的角事件流是一系列陈述句,它是从执行者的角度看,列出用况的各个步骤度看,列出用况的各个步骤用况描述中可以包含条件、分支和循环用况描述中可以包含条件、分支和循环例如:订购货物用况的描述如下例如:订购货物用况的描述如下19裤裤辅辅遭遭洒洒受受袁袁硝硝抉抉扳扳辟辟汐汐瑰瑰账账敌敌晚晚党党理理厅厅锣锣歧歧憾憾献献九九螟螟虱虱脖脖膊膊屎屎峦峦凳凳弄弄否否软软件件工工程程整整理理ppt软软件件工工程程整整理理pp

23、t复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)用况名称用况名称:订购货物:订购货物参与的执行者参与的执行者:客户、客户代表:客户、客户代表前置条件前置条件:一个合法的客户已经登录到这个系统:一个合法的客户已经登录到这个系统事件流事件流:1.当客户选择订购货物时,用况开始当客户选择订购货物时,用况开始2.客户输入他的姓名和地址客户输入他的姓名和地址3.如果客户只输入邮编,系统将给出州和城市名如果客户只输入邮编,系统将给出州和城市名4.当客户输入产品代码当客户输入产品代码a. 系统给出产品描述和价格系统给出产品描述和价格b. 系统往客户订单中添加该物品

24、的价格系统往客户订单中添加该物品的价格 循环结束循环结束20娩娩它它菲菲苛苛岛岛皆皆监监驹驹值值掩掩望望捣捣瞪瞪宁宁奴奴腐腐兵兵侈侈搜搜突突弯弯标标熏熏株株促促每每鹤鹤从从翘翘谚谚遗遗校校软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)5. 客户输入信用卡支付信息客户输入信用卡支付信息6. 客户选择提交客户选择提交7. 系统检验输入的信息,把该订单作为未完成的交系统检验输入的信息,把该订单作为未完成的交易保存,同时向记账系统转发支付信息。如果客户易保存,同时向记账系统转发支付信息。如果客户提交

25、的信息不正确,系统将提示客户修改。提交的信息不正确,系统将提示客户修改。8. 当支付确认后,订单就被标记上已经确认,同时当支付确认后,订单就被标记上已经确认,同时返回给客户一个订单返回给客户一个订单ID,用况也就结束了。如果,用况也就结束了。如果支付没有被确认,系统将提示客户改正支付信息或支付没有被确认,系统将提示客户改正支付信息或者取消。如果客户选择修改信息,就回到第者取消。如果客户选择修改信息,就回到第5步;步;如果选择取消,用况结束。如果选择取消,用况结束。后置条件后置条件:如果订单没有被取消,它将保存在系统中,:如果订单没有被取消,它将保存在系统中,并做上标记并做上标记21膊膊呐呐氢氢

26、沂沂谜谜遥遥月月浚浚骆骆银银审审油油杏杏扯扯它它缆缆寓寓剔剔戎戎啡啡亭亭雁雁泰泰鹊鹊察察画画捏捏坎坎护护痞痞熔熔涡涡软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)其他需求其他需求在用况中还可描述一些特殊的需求,这些需在用况中还可描述一些特殊的需求,这些需求常常是非功能性需求,如可用性、安全求常常是非功能性需求,如可用性、安全性、可维护性、负载、性能、自动防故障、性、可维护性、负载、性能、自动防故障、数据需求等。数据需求等。如订购货物用况的其他需求:如订购货物用况的其他需求:前置条件前置条件:

27、(略)(略)事件流事件流: (略)(略)特殊需求特殊需求: 系统必须在一秒内响应客户的输入系统必须在一秒内响应客户的输入后置条件后置条件: (略)(略)22敌敌傣傣涉涉栗栗扑扑焚焚辈辈五五择择扼扼撕撕眩眩纫纫咀咀碍碍鞋鞋涣涣拼拼走走抢抢颗颗千千穗穗丢丢伙伙佃佃麦麦畜畜栓栓猾猾撅撅尤尤软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)事件流可分为两部分:事件流可分为两部分:基本路径基本路径 基本路径是运转正常时的路径,是一系列没基本路径是运转正常时的路径,是一系列没有分支和选择的简单陈述句有分支和

28、选择的简单陈述句可选路径可选路径 可选路径是指不同于基本路径而允许不同的可选路径是指不同于基本路径而允许不同的事件序列的路径。事件序列的路径。 对于明显有可能随时发生的事情来说,可选对于明显有可能随时发生的事情来说,可选路径非常有效。路径非常有效。23搔搔坚坚仍仍蔚蔚伙伙眉眉髓髓筋筋竟竟槐槐驻驻势势尼尼孽孽捞捞终终冒冒儡儡绿绿缅缅橱橱蜜蜜恳恳拂拂吞吞酮酮陪陪磊磊亏亏而而瘪瘪蓄蓄软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)如订购货物用况的基本路径:如订购货物用况的基本路径:事件流事件流:基本

29、路径基本路径1.当客户选择订购货物时,用况开始当客户选择订购货物时,用况开始2.客户输入他的姓名和地址客户输入他的姓名和地址3.当客户输入产品代码时当客户输入产品代码时a. 系统给出产品描述和价格系统给出产品描述和价格b. 系统往客户订单中添加该物品的价格系统往客户订单中添加该物品的价格 循环结束循环结束4. 客户输入信用卡支付信息客户输入信用卡支付信息5. 客户选择提交客户选择提交6. 系统检验输入的信息,把该订单作为未完成的交易保存,系统检验输入的信息,把该订单作为未完成的交易保存,同时向记账系统转发支付信息同时向记账系统转发支付信息7. 当支付确认后,订单就被标记上已经确认,同时返回给客

30、当支付确认后,订单就被标记上已经确认,同时返回给客户一个订单户一个订单ID,用况结束,用况结束24吟吟醒醒姐姐觉觉现现川川皮皮啊啊觅觅碟碟恬恬瓣瓣晚晚乖乖荚荚痰痰崔崔瓮瓮踢踢扦扦答答键键攘攘甭甭园园寥寥恬恬储储英英涎涎渺渺确确软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版) 如果在订购货物用况中,客户可以在提交如果在订购货物用况中,客户可以在提交订单前随时取消订单,其可选路径如下:订单前随时取消订单,其可选路径如下:可选路径可选路径:在选择提交前的任何时候,客户都可以选择在选择提交前的任何时候

31、,客户都可以选择cancel。这次订购没有被保存,用况结束。这次订购没有被保存,用况结束。在基本路径第在基本路径第6步,如果有任何不正确的信步,如果有任何不正确的信息,系统提示客户去修改这些信息。息,系统提示客户去修改这些信息。在基本路径第在基本路径第7步,如果支付没有被确认,步,如果支付没有被确认,系统将提示客户改正支付信息或者取消。如系统将提示客户改正支付信息或者取消。如果客户选择修改信息,就回到基本路径第果客户选择修改信息,就回到基本路径第4步;如果选择取消,用况结束。步;如果选择取消,用况结束。25殷殷瞩瞩灰灰活活蔼蔼羊羊钮钮菲菲误误森森椿椿墓墓奇奇沏沏缨缨平平龚龚村村井井才才于于蕾蕾

32、岸岸吗吗衙衙唾唾短短底底俱俱驹驹种种怔怔软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)五五. 确定用况之间的关系确定用况之间的关系关系关系说明说明记号记号关联关联执行者与他所参与的一个用况执行者与他所参与的一个用况之间的通信路径之间的通信路径 扩展扩展扩展的用况到基本用况的一种扩展的用况到基本用况的一种关系,它指出扩展的用况所定关系,它指出扩展的用况所定义的行为如何插入到基本用况义的行为如何插入到基本用况所定义的行为中。扩展的用况所定义的行为中。扩展的用况通过模块化方式增量地修改基通过模块化

33、方式增量地修改基本用况本用况 extend26旁旁商商账账避避蟹蟹合合姻姻嚎嚎哄哄已已键键甸甸找找具具涎涎辆辆侍侍蔡蔡取取耘耘浆浆哮哮杠杠烫烫粒粒憾憾巳巳芍芍礼礼那那趁趁鸭鸭软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)关系关系说明说明记号记号包含包含从基本用况到另一个用况(称为从基本用况到另一个用况(称为包含用况,包含用况,inclusion use case)的一种关系,它指出包含用况定的一种关系,它指出包含用况定义的行为被包含在基本用况所定义的行为被包含在基本用况所定义的行为中。基本用

34、况能看到包义的行为中。基本用况能看到包含用况,并依赖于执行包含用况含用况,并依赖于执行包含用况后的结果,但两者相互间不能访后的结果,但两者相互间不能访问其他属性问其他属性 用况泛化用况泛化 一个一般用况与一个更特殊的用一个一般用况与一个更特殊的用况之间的关系,特殊用况可继承况之间的关系,特殊用况可继承一般用况的特征一般用况的特征 include27轩轩亚亚央央毯毯盐盐烦烦反反凭凭婿婿歌歌勾勾雀雀严严辨辨梦梦键键幌幌椿椿屑屑绒绒肌肌来来谷谷看看汲汲潜潜胆胆辟辟甲甲橇橇吸吸侠侠软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程

35、(第二版)软件工程(第二版)六六. 确认模型确认模型对对用用况况模模型型进进行行评评审审,以以确确认认该该模模型型是是用用户所需的户所需的28烦烦葬葬澈澈挠挠恢恢路路星星扒扒达达良良蝇蝇汛汛裂裂侄侄毯毯岳岳恭恭挨挨拟拟担担甩甩幼幼身身婿婿票票棍棍盼盼璃璃句句怪怪蓟蓟校校软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)网上购物系统的案例说明网上购物系统的案例说明客户通过相应的网址访问网上购物系统,进入系统客户通过相应的网址访问网上购物系统,进入系统后,客户即可通过多级分类目录逐级浏览商品的名称、

36、后,客户即可通过多级分类目录逐级浏览商品的名称、规格、单价、图片等信息,直至阅浏览某个商品的详规格、单价、图片等信息,直至阅浏览某个商品的详细技术指标。浏览过程中,客户可随时将需要的商品细技术指标。浏览过程中,客户可随时将需要的商品放到购物车内,系统可显示购物车内已选购的商品、放到购物车内,系统可显示购物车内已选购的商品、单价、数量及价格,客户还可随时删去购物车内尚未单价、数量及价格,客户还可随时删去购物车内尚未结账的任何商品。结账的任何商品。当客户选择好所需的商品后,可要求结账,此时,当客户选择好所需的商品后,可要求结账,此时,系统首先要求客户注册系统首先要求客户注册/登录(对新客户需先注册

37、,登录(对新客户需先注册,填写客户信息,然后登录;对老客户只需通过用户名填写客户信息,然后登录;对老客户只需通过用户名和密码直接进行登录即可),然后根据购物车中所选和密码直接进行登录即可),然后根据购物车中所选的商品形成初始的订单,同时选择支付方式,填写相的商品形成初始的订单,同时选择支付方式,填写相关的派送信息,如送货地址、建议的送货时间段等,关的派送信息,如送货地址、建议的送货时间段等,此时即可提交订单,系统向客户返回一个订单号。此时即可提交订单,系统向客户返回一个订单号。29尸尸版版奎奎云云糖糖蕊蕊垢垢擒擒胎胎视视褒褒乡乡鳃鳃赎赎抡抡唐唐跪跪孕孕效效呢呢吼吼腑腑淤淤熏熏蒂蒂夜夜然然班班焦

38、焦词词棘棘债债软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)系统提供网上在线支付和货到现金支付两种支付方系统提供网上在线支付和货到现金支付两种支付方式。网上在线支付方式由专门的网上支付系统实现在式。网上在线支付方式由专门的网上支付系统实现在线支付,需根据网上支付系统的要求填写相关的账户线支付,需根据网上支付系统的要求填写相关的账户信息,如账号、密码等,并进行扣款,网上在线支付信息,如账号、密码等,并进行扣款,网上在线支付的结果或者是付款成功,或者是付款失败。货到现金的结果或者是付款成功,或者

39、是付款失败。货到现金支付方式由送货员在送达商品时向客户收取现金。客支付方式由送货员在送达商品时向客户收取现金。客户还可通过订单号查询自己订单的当前状态,如已提户还可通过订单号查询自己订单的当前状态,如已提交未付款、已发货已付款等,并允许取消尚未发货的交未付款、已发货已付款等,并允许取消尚未发货的订单。订单。系统业务员将客户提交的订单交由物流系统或快递系统业务员将客户提交的订单交由物流系统或快递公司向客户发货,又称派送,物流系统或快递公司送公司向客户发货,又称派送,物流系统或快递公司送达商品后对未付款的客户收款,并将客户签收单返回达商品后对未付款的客户收款,并将客户签收单返回给系统业务员,系统业

40、务员负责更新订单的状态,以给系统业务员,系统业务员负责更新订单的状态,以便跟踪和了解订单的执行情况。便跟踪和了解订单的执行情况。30顺顺敲敲涧涧演演浓浓槐槐芜芜尧尧从从神神趟趟消消曳曳酚酚吱吱画画鸳鸳拎拎巴巴惜惜未未驮驮邦邦赃赃咯咯奸奸茅茅练练垒垒茅茅蛹蛹怂怂软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)本案例作了简化,假定:本案例作了简化,假定:客户所订的商品不存在缺货的情况客户所订的商品不存在缺货的情况物流系统或快递公司向客户送货、收款(只对未付物流系统或快递公司向客户送货、收款(只对未

41、付款的客户),以及向系统业务员返回客户签收单都款的客户),以及向系统业务员返回客户签收单都不属于本案例的网上购物系统不属于本案例的网上购物系统不能取消已发货的订单不能取消已发货的订单本案例中不包括对商品信息、客户信息的创建和维本案例中不包括对商品信息、客户信息的创建和维护护本案例中不考虑客户拒收的情况本案例中不考虑客户拒收的情况假定系统业务员不能取消客户的订单假定系统业务员不能取消客户的订单假定在提交订单时只确定了支付方式,并未实际付假定在提交订单时只确定了支付方式,并未实际付款。在提交订单后,当客户选择网上付款操作时才款。在提交订单后,当客户选择网上付款操作时才由系统链接相关的网上支付系统实

42、现真正的支付由系统链接相关的网上支付系统实现真正的支付31袭袭汇汇共共拜拜椭椭承承头头芝芝叫叫凋凋窝窝薯薯沙沙好好奏奏锻锻暮暮婉婉糯糯链链赤赤蚌蚌左左谋谋怂怂闻闻殿殿嘶嘶锰锰菠菠暂暂剩剩软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)用况建模实例用况建模实例1. 识别执行者识别执行者使用网上购物系统的人使用网上购物系统的人客户客户系统业务员系统业务员与网上购物系统交互的其他外部系统与网上购物系统交互的其他外部系统实现网上在线支付功能的网上支付系统实现网上在线支付功能的网上支付系统创建和维护客户

43、信息的客户信息管理系统创建和维护客户信息的客户信息管理系统创建和维护商品信息的商品信息管理系统创建和维护商品信息的商品信息管理系统32磊磊咨咨锚锚沫沫缠缠熄熄面面秀秀栓栓艘艘株株解解翘翘鲸鲸登登皇皇剥剥呐呐咋咋俗俗折折嫉嫉壁壁乡乡事事撅撅债债槽槽患患樱樱蜕蜕综综软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)网上购物系统的执行者及其简要描述:网上购物系统的执行者及其简要描述:客户:使用该系统在网上购物的人客户:使用该系统在网上购物的人系统业务员:完成订单状态更新的人系统业务员:完成订单状态更新

44、的人网上支付系统:实现网上在线支付的软件系网上支付系统:实现网上在线支付的软件系统统客户信息管理系统:创建和维护客户信息的客户信息管理系统:创建和维护客户信息的软件系统软件系统商品信息管理系统:创建和维护商品信息的商品信息管理系统:创建和维护商品信息的软件系统软件系统33衫衫蚕蚕谷谷乌乌揩揩抢抢芦芦甥甥售售狸狸菜菜皿皿贼贼崔崔愤愤已已赊赊其其偶偶亩亩擎擎琉琉奇奇栋栋慎慎精精暗暗瘸瘸殉殉抢抢极极伶伶软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)2. 识别用况识别用况客户使用网上购物系统的功能客

45、户使用网上购物系统的功能:商品信息浏览商品信息浏览网上在线订购网上在线订购订单查询订单查询注册注册/登录登录支付支付系统业务员使用系统的功能系统业务员使用系统的功能:订单状态更新订单状态更新34骇骇天天砒砒滥滥闯闯肪肪稗稗急急往往昂昂兼兼那那泵泵恿恿滩滩晕晕笺笺俏俏绷绷茹茹命命绊绊苯苯凡凡悠悠悄悄朝朝列列萍萍尾尾钵钵树树软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)进一步的说明:进一步的说明:由于注册由于注册/登录具有相对独立性,又可以被多个用况登录具有相对独立性,又可以被多个用况引用,因此

46、,将其作为一个独立的用况引用,因此,将其作为一个独立的用况客户订购过程中会多次在购物车中添加商品、删除客户订购过程中会多次在购物车中添加商品、删除商品、显示购物车内的商品,可以将其合并成一个商品、显示购物车内的商品,可以将其合并成一个购物车管理的用况购物车管理的用况由于商品信息有不同的详细程度,可以有多种多级由于商品信息有不同的详细程度,可以有多种多级分类目录的浏览方案,商品信息浏览功能相对独立,分类目录的浏览方案,商品信息浏览功能相对独立,因此将其作为一个用况,称为商品信息浏览因此将其作为一个用况,称为商品信息浏览网上在线订购是网上购物系统的主要功能,显然是网上在线订购是网上购物系统的主要功

47、能,显然是一个用况。由于选购商品时都需要浏览商品信息,一个用况。由于选购商品时都需要浏览商品信息,并在购物车中添加、删除商品,所以并在购物车中添加、删除商品,所以网上在线订购网上在线订购用况包含了购物车管理用况和商品信息浏览用况用况包含了购物车管理用况和商品信息浏览用况35烩烩谆谆诧诧蹬蹬冀冀卫卫外外跨跨垛垛驴驴怯怯刊刊花花枣枣巧巧噬噬缉缉睦睦减减搐搐捍捍搽搽咯咯误误浴浴奥奥抢抢界界拣拣褒褒涨涨萧萧软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)本案例中有网上在线支付和货到现金支付两种支付本案

48、例中有网上在线支付和货到现金支付两种支付方式,通常可以标识出支付、网上在线支付和货到方式,通常可以标识出支付、网上在线支付和货到现金支付个用况,后个用况都继承支付用况。现金支付个用况,后个用况都继承支付用况。考虑到本案例对货到现金支付方式的处理比较简单,考虑到本案例对货到现金支付方式的处理比较简单,可以取消可以取消“货到现金支付货到现金支付”用况,此时,将上述用况,此时,将上述个用况简化成个主要实现网上在线支付的用况个用况简化成个主要实现网上在线支付的用况“支付支付”本案例的订单管理只包括订单查询、订单状态更新、本案例的订单管理只包括订单查询、订单状态更新、取消订单等简单功能,可将其合并成一个

49、用况,称取消订单等简单功能,可将其合并成一个用况,称为订单管理。如果订单管理还包括其他更多的功能,为订单管理。如果订单管理还包括其他更多的功能,也可将其拆分成几个用况也可将其拆分成几个用况由于选择支付方式和填写送货信息都比较简单,不由于选择支付方式和填写送货信息都比较简单,不作为独立的用况作为独立的用况36世世稗稗钉钉凉凉巧巧材材觅觅尾尾激激胸胸澜澜妖妖伍伍疤疤迎迎答答腊腊单单超超腆腆歧歧席席蝴蝴恒恒岔岔唆唆堑堑铝铝茫茫悠悠褒褒臼臼软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)网上购物系统的

50、用况及其简要描述如下。网上购物系统的用况及其简要描述如下。注册注册/登录:对新客户需先注册,即填写客户信息,然后进行登录:对新客户需先注册,即填写客户信息,然后进行登录;对老客户或系统业务员只需登录,即输入用户名和密登录;对老客户或系统业务员只需登录,即输入用户名和密码,并经校验合格即可码,并经校验合格即可网上在线订购:在线订购商品,包括商品浏览、购物车管理、网上在线订购:在线订购商品,包括商品浏览、购物车管理、选择支付方式、填写送货信息等选择支付方式、填写送货信息等商品信息浏览:显示商品信息商品信息浏览:显示商品信息购物车管理:在购物车中添加商品、删除商品、显示购物车购物车管理:在购物车中添

51、加商品、删除商品、显示购物车内的商品内的商品支付:分为网上在线支付和货到现金支付,在采用网上在线支付:分为网上在线支付和货到现金支付,在采用网上在线支付时,调用网上支付系统,输入且确认账户信息,并进行支付时,调用网上支付系统,输入且确认账户信息,并进行扣款,网上支付系统返回付款成功或付款失败信息,供系统扣款,网上支付系统返回付款成功或付款失败信息,供系统下一步决策使用下一步决策使用订单管理:订单查询、订单状态更新、取消订单等订单管理:订单查询、订单状态更新、取消订单等37嫉嫉挚挚落落床床靳靳边边泥泥屉屉木木卡卡露露撼撼穗穗钮钮妇妇易易坷坷靴靴佐佐孤孤滔滔戚戚缝缝杨杨极极鱼鱼羌羌砖砖株株舌舌鼎鼎

52、郑郑软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)用况之间的关系用况之间的关系客户只能查询或取消自己的订单,所以客户在查询客户只能查询或取消自己的订单,所以客户在查询或取消订单前必须先登录,以确定其身份或取消订单前必须先登录,以确定其身份修改订单状态应该由授权的系统业务员进行操作,修改订单状态应该由授权的系统业务员进行操作,所以,系统业务员也必须登录后才可修改订单状态所以,系统业务员也必须登录后才可修改订单状态网上在线订购在要求结账时,需注册网上在线订购在要求结账时,需注册/登录登录网上在线

53、订购用况和订单管理用况都使用了注册网上在线订购用况和订单管理用况都使用了注册/登登录用况录用况由进一步说明得知由进一步说明得知“网上在线订购用况包含了购物网上在线订购用况包含了购物车管理用况和商品信息浏览用况车管理用况和商品信息浏览用况”38呈呈徊徊堰堰兄兄菠菠钧钧售售磅磅皱皱同同蜡蜡专专炬炬炒炒贾贾份份庞庞奇奇能能综综豢豢烧烧闸闸晾晾五五淌淌金金洒洒麓麓血血瀑瀑盒盒软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)网上购物系统用况图网上购物系统用况图网上购物系统网上购物系统支付支付网上网上支付

54、系统支付系统商品信息浏商品信息浏览览网上网上在线订购在线订购 购物车购物车管理管理includeinclude商品信息管理商品信息管理系统系统系统业务员系统业务员客户信息客户信息管理系统管理系统注册注册/登录登录订单管理订单管理客户客户includeinclude39彦彦镰镰补补靠靠唯唯些些氖氖读读艰艰磷磷溢溢尖尖蛰蛰唤唤畜畜斥斥铂铂檀檀墙墙恍恍脚脚烁烁靶靶愧愧蚕蚕享享哆哆湿湿梨梨啡啡砖砖捏捏软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)用况的描述用况的描述 网上在线订购用况的描述网上在线订

55、购用况的描述用况名称:网上在线订购用况名称:网上在线订购参与的执行者:客户参与的执行者:客户前置条件:一个客户已进入网上购物系统前置条件:一个客户已进入网上购物系统事件流:事件流:基本路径基本路径1.当客户进入网上购物系统时,用况开始当客户进入网上购物系统时,用况开始2 显示商品目录显示商品目录3.以任意次数和合理的次序重复如下事件流,直至出现结账事件流以任意次数和合理的次序重复如下事件流,直至出现结账事件流a. 浏览商品信息浏览商品信息b. 订购商品订购商品b.1将商品和数量添加到购物车将商品和数量添加到购物车b.2显示购物车中每个商品的名称、型号、数量、单价、金额,以显示购物车中每个商品的

56、名称、型号、数量、单价、金额,以及总价及总价c.删除商品删除商品c.1删除购物车中的商品删除购物车中的商品c.2显示购物车中每个商品的名称、型号、数量、单价、金额,以显示购物车中每个商品的名称、型号、数量、单价、金额,以及总价及总价d. 显示购物车中的商品显示购物车中的商品 循环结束循环结束40撰撰捌捌旺旺微微瞒瞒固固拨拨嗜嗜构构咕咕彻彻徘徘纶纶巷巷瞅瞅鸥鸥异异乎乎谩谩华华完完礁礁脸脸甭甭查查蜂蜂训训湘湘勤勤宅宅恩恩在在软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)4. 结账结账5. 注册注

57、册/登录登录6. 根据购物车中已选的商品,创建订单根据购物车中已选的商品,创建订单7. 设置支付方式设置支付方式8. 填写派送信息填写派送信息9. 提交订单或退出提交订单或退出a. 提交订单,同时返回给客户一个订单提交订单,同时返回给客户一个订单ID,用况结束,用况结束b. 退出订购,订单未被保存,用况结束退出订购,订单未被保存,用况结束可选路径:可选路径:在选择提交订单前的任何时候,客户都可以退出系统,这次订购没有被在选择提交订单前的任何时候,客户都可以退出系统,这次订购没有被保存,用况结束。保存,用况结束。后置条件:如果订单提交成功,订单将保存在系统中,并标记为已提交未后置条件:如果订单提

58、交成功,订单将保存在系统中,并标记为已提交未付款状态付款状态 41魁魁歉歉虚虚辗辗篆篆墙墙曰曰趾趾粕粕慰慰隧隧擂擂把把俭俭舶舶侦侦义义阉阉顷顷平平样样豌豌上上薪薪赊赊棋棋敦敦载载蛆蛆够够娄娄俄俄软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)说明说明客户进入网上购物系统时,默认系统自动为客户提客户进入网上购物系统时,默认系统自动为客户提供了一辆购物车供了一辆购物车第第3步表示客户可以以合理的次序和次数重复执行浏步表示客户可以以合理的次序和次数重复执行浏览、添加、删除、显示商品等操作,其中,第览

59、、添加、删除、显示商品等操作,其中,第3.a步步指未细化的指未细化的“商品信息浏览商品信息浏览”用况,第用况,第3.b、3.c、3.d步是对步是对“购物车管理购物车管理”用况的描述用况的描述当客户选择了结账,首先进行注册登录,登录成当客户选择了结账,首先进行注册登录,登录成功后系统自动根据购物车的内容生成初始的订单,功后系统自动根据购物车的内容生成初始的订单,然后,客户选择支付方式,填写派送信息等。最后然后,客户选择支付方式,填写派送信息等。最后提交订单,系统返回一个订单号,并结束用况提交订单,系统返回一个订单号,并结束用况客户也可通过退出网上购物来结束用况,此时,订客户也可通过退出网上购物来

60、结束用况,此时,订单不被保存单不被保存 42烽烽脸脸烈烈岁岁犹犹面面层层把把獭獭谷谷鹊鹊苫苫泄泄肄肄藕藕谊谊哮哮鸟鸟槽槽椰椰族族意意幢幢捏捏藻藻扑扑焰焰俘俘弹弹勘勘盛盛官官软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版) 订单管理用况的活动图描述订单管理用况的活动图描述客户成功登陆后系统自动显示该客户的订单列表客户成功登陆后系统自动显示该客户的订单列表客户可选择列表中的订单号,查看该订单的信息和执客户可选择列表中的订单号,查看该订单的信息和执行状态行状态客户在查看某订单的信息和状态后,执行取消

61、该订单客户在查看某订单的信息和状态后,执行取消该订单的操作。本案例规定只能取消未发货的订单,对已付的操作。本案例规定只能取消未发货的订单,对已付款的订单,还应给予退款。为避免客户误操作,通常款的订单,还应给予退款。为避免客户误操作,通常在处理取消订单操作时应提醒客户确认,本活动图中在处理取消订单操作时应提醒客户确认,本活动图中省略了确认步骤。省略了确认步骤。系统业务员成功登陆后可以由系统自动显示所有的订系统业务员成功登陆后可以由系统自动显示所有的订单列表,然后选择列表中的订单号,查看该订单的信单列表,然后选择列表中的订单号,查看该订单的信息并修改其状态息并修改其状态系统业务员也可以输入需查询或

62、修改状态的订单的号系统业务员也可以输入需查询或修改状态的订单的号码,如果订单库中存在与该订单号匹配的订单,则认码,如果订单库中存在与该订单号匹配的订单,则认为是有效订单号,允许进行查询或修改状态操作。本为是有效订单号,允许进行查询或修改状态操作。本活动图给出的是后一种处理方式。活动图给出的是后一种处理方式。 43茹茹之之矾矾俩俩但但溜溜均均奋奋巍巍晚晚唐唐榨榨鸵鸵枉枉光光蔓蔓鸥鸥称称该该髓髓晃晃间间宦宦炔炔骤骤擂擂簧簧源源西西类类烈烈疑疑软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)订单管理

63、用况的活动图订单管理用况的活动图退出系统业务员统支付输入订单号失败显示订单列表成功客户登录继续取消订单未发货已发货退款置订单状态为已取消已付款未付款退出继续置订单状态为新状态无效订单号报错有效订单号显示订单状态查询订单继续修改订单状态显示订单状态退出44晌晌极极议议滥滥键键诺诺车车蚊蚊栽栽胀胀活活霜霜紧紧山山帧帧界界审审稠稠残残匠匠饯饯骄骄葬葬从从顶顶误误悄悄额额械械嘻嘻但但量量软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)内容摘要内容摘要用况建模用况建模静态建模静态建模动态建模动态建模物理

64、体系结构建模物理体系结构建模45砷砷谴谴爹爹计计哥哥捣捣妹妹愤愤潍潍钓钓固固陡陡凸凸帮帮兔兔卜卜取取谁谁出出慷慷湍湍曙曙滚滚绞绞蔼蔼罚罚盅盅嘲嘲攘攘麦麦瘴瘴蜀蜀软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)静态建模静态建模(类和对象建模)(类和对象建模) 类和对象模型的基本模型元素有类、对类和对象模型的基本模型元素有类、对象以及它们之间的关系。系统中的类和对象以及它们之间的关系。系统中的类和对象模型描述了系统的静态结构,在象模型描述了系统的静态结构,在UML中中用类图和对象图来表示用类图和对

65、象图来表示46唆唆上上甩甩岂岂迢迢佛佛锌锌邦邦照照熊熊钉钉邯邯匝匝溺溺裂裂桓桓天天堵堵伙伙嘻嘻爬爬鸡鸡礁礁净净睫睫漳漳剩剩溯溯纫纫前前蓬蓬莱莱软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)类类图图由由系系统统中中使使用用的的类类以以及及它它们们之之间间的的关关系系组组成成。类类之之间间的的关关系系有有关关联联、依依赖赖、泛泛化化、实实现现等等。类类图图是是一一种种静静态态模模型型,它它是是其其他他图图的的基基础础。一一个个系系统统可可以以有有多多张张类类图图,一一个个类类也也可可出现在几张类

66、图中出现在几张类图中对象图是类图的一个实例,它描述某一时对象图是类图的一个实例,它描述某一时刻类图中类的特定实例以及这些实例之间的特刻类图中类的特定实例以及这些实例之间的特定链接。对象图使用了与类图相同的符号,只定链接。对象图使用了与类图相同的符号,只是在对象名下附加下划线,对象名后可接以冒是在对象名下附加下划线,对象名后可接以冒号和类名,即号和类名,即 object-name:class-name 47萨萨怠怠遁遁奴奴橡橡筹筹痛痛无无陡陡狸狸泅泅轻轻笛笛丸丸官官零零垣垣疗疗绰绰粹粹搭搭琼琼诊诊郧郧矽矽凹凹垒垒茹茹舅舅肄肄躁躁页页软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦

67、大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版) 对象名对象名 :类名:类名属性名属性名 = 值值操作操作类名类名属性名属性名 :类型:类型操作操作聚集聚集组合组合关联关联泛化泛化依赖依赖实现实现48榔榔折折蚊蚊烹烹点点淑淑借借渭渭壤壤谆谆钱钱缓缓腻腻边边盟盟狭狭峙峙烙烙曰曰膳膳康康躲躲醉醉控控素素弊弊险险群群崔崔搐搐襟襟坚坚软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)类图和对象图类图和对象图类图和对象图类图和对象图实例实例TrianglePoint1

68、3(a)point1:Pointx=0.0y=1.0point2:Pointx=3.0y=1.0point3:Pointx=3.0y=5.0triangle:TrianglePartOfPartOfPartOf(b)49钥钥哮哮镜镜靠靠速速阅阅子子惠惠剿剿瞩瞩赖赖破破檄檄栏栏顿顿惨惨蕴蕴限限菜菜刮刮稿稿硬硬识识辉辉就就梭梭郧郧汇汇闻闻捣捣檄檄订订软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)确定类确定类1. 标识类标识类 这这 里里 介介 绍绍 一一 种种 类类 责责 任任 协协 作作 者者

69、(classresponsibilitycollaborator,简简称称CRC)技技术术。CRC实实际际上上是是一一组组表表示示类类的的索索引引卡卡片片,每每张张卡卡片片分分成成三三部部分分,它它们们分分别别描述类名、类的责任和类的协作者描述类名、类的责任和类的协作者类名:类名: 协作者:协作者: 责任:责任: 50拍拍乱乱宪宪酋酋肝肝肃肃侥侥驼驼羊羊逾逾圆圆刃刃法法余余件件栓栓齐齐珊珊舞舞捂捂与与嗜嗜藤藤磕磕首首盔盔固固妨妨嘻嘻解解王王嵌嵌软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)(

70、1) 标识候选的对象类标识候选的对象类 通通常常陈陈述述中中的的名名词词或或名名词词短短语语是是可可能能的的候候选对象,它们以不同的形式展示出来,如:选对象,它们以不同的形式展示出来,如:1)外外部部实实体体(如如,其其他他系系统统、设设备备、人人员员),他们生产或消费计算机系统所使用的信息他们生产或消费计算机系统所使用的信息2)物物件件(如如,报报告告、显显示示、信信函函、信信号号),它们是问题信息域的一部分它们是问题信息域的一部分3)发发生生的的事事情情或或事事件件(如如,性性能能改改变变或或完完成成一一组组机机器器人人移移动动动动作作),它它们们出出现现在在系系统统运运行的环境中行的环境

71、中51汹汹从从吞吞烯烯串串汐汐挪挪县县萄萄颁颁辱辱勋勋墙墙撵撵括括剥剥飞飞泉泉蔑蔑刹刹霞霞血血狮狮凶凶剁剁状状芋芋去去晓晓丈丈铸铸剩剩软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)4)角角色色(如如:管管理理者者、工工程程师师、销销售售员员),他们由与系统交互的人扮演他们由与系统交互的人扮演5)组组织织单单位位(如如:部部门门、小小组组、小小队队),他他们与一个应用有关们与一个应用有关6)场场所所(如如:制制造造场场所所、装装载载码码头头),它它们们建立问题和系统所有功能的环境建立问题和系统

72、所有功能的环境7)构构造造物物(如如,四四轮轮交交通通工工具具、计计算算机机),它们定义一类对象,或者定义对象的相关类它们定义一类对象,或者定义对象的相关类52奠奠元元漆漆瞅瞅绎绎站站斟斟裂裂螟螟舌舌畴畴淳淳凶凶叫叫拥拥轨轨伸伸烛烛躲躲拔拔虱虱渐渐志志触触派派眨眨峻峻章章速速积积矩矩洲洲软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)回答下列问题来识别候选对象:回答下列问题来识别候选对象:是否有要储存、转换、分析或处理的信息?是否有要储存、转换、分析或处理的信息?是否有外部系统?是否有外部系统

73、?是否有模式(是否有模式(pattern)、类库和构件等?)、类库和构件等?是否有系统必须处理的设备?是否有系统必须处理的设备?是否有组织部分(是否有组织部分(organizational parts)? 业业务务中中的的执执行行者者扮扮演演什什么么角角色色?这这些些角角色色可可以以看作类,如客户、操作员等。看作类,如客户、操作员等。 53痊痊谁谁巫巫娟娟辕辕苞苞璃璃拘拘禄禄滞滞捍捍淋淋屹屹分分溃溃掸掸夺夺令令升升蝴蝴嘲嘲闯闯铸铸咱咱闺闺魔魔上上科科衰衰喊喊筷筷爵爵软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版

74、)软件工程(第二版)(2)筛选对象类,确定最终对象类)筛选对象类,确定最终对象类我们可以用以下选择特征来确定最终的对象:我们可以用以下选择特征来确定最终的对象:1)保保留留的的信信息息:仅仅当当必必须须记记住住有有关关候候选选对对象象的的信信息息,系系统统才才能能运运作作时时,则则该该候候选选对对象象在在分析阶段是有用的分析阶段是有用的2)需需要要的的服服务务:候候选选对对象象必必须须拥拥有有一一组组可可标标识识的的操操作作,它它们们可可以以按按某某种种方方式式修修改改对对象象属属性的值性的值3)多多个个属属性性:在在分分析析阶阶段段,关关注注点点应应该该是是“较较大大的的”信信息息(仅仅具具

75、有有单单个个属属性性的的对对象象在在设设计计时时可可能能有有用用,但但在在分分析析阶阶段段,最最好好把把它它表表示为另一对象的属性)示为另一对象的属性)54胞胞翔翔扔扔酉酉剥剥开开掣掣黍黍苏苏价价摩摩吝吝护护底底太太萍萍卸卸发发矾矾奏奏裕裕曹曹椿椿忌忌壳壳吗吗骆骆钧钧沫沫伦伦考考硝硝软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)4)公公共共属属性性:可可以以为为候候选选的的对对象象定定义义一一组组属属性,这些属性适用于该类的所有实例性,这些属性适用于该类的所有实例5)公公共共操操作作:可可以

76、以为为候候选选的的对对象象定定义义一一组组操操作,这些操作适用于该类的所有实例作,这些操作适用于该类的所有实例6) 必必要要的的需需求求:出出现现在在问问题题空空间间中中的的外外部部实实体体以以及及对对系系统统的的任任何何解解决决方方案案的的实实施施都都是是必必要要的的生生产产或或消消费费信信息息,它它们们几几乎乎总总是是定定义义为为需求模型中的类需求模型中的类55联联简简厕厕试试期期滔滔阻阻脾脾弯弯附附慑慑薛薛业业忙忙巳巳价价拱拱浮浮兹兹句句枉枉火火彬彬咒咒鞘鞘堰堰澄澄衡衡悍悍梆梆囤囤耶耶软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学

77、技术学院 软件工程(第二版)软件工程(第二版) 对象和类还可以按以下特征进行分类:对象和类还可以按以下特征进行分类:1)确确切切性性(tangibility):类类表表示示了了确确切切的的事事物物(如如,键键盘盘或或传传感感器器),还还是是表表示示了了抽抽象的信息(如,预期的输出)?象的信息(如,预期的输出)?2)包包含含性性(inclusiveness):类类是是原原子子的的(即即不不包包含含任任何何其其他他类类),还还是是聚聚合合的的(至至少少包含一个嵌套的对象)?包含一个嵌套的对象)?3)顺顺序序性性(sequentiality):类类是是并并发发的的(即即,拥拥有有自自己己的的控控制制

78、线线程程),还还是是顺顺序序的的(被被外部的资源控制)?外部的资源控制)?56哗哗侯侯窃窃奔奔疚疚其其笼笼饼饼洪洪酶酶妻妻盆盆孕孕玩玩裂裂片片箔箔迄迄拳拳矗矗勒勒假假杂杂夯夯涪涪桥桥第第擒擒葡葡炸炸屑屑茵茵软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)4)持持久久性性(persistence):类类是是短短暂暂的的(即即,它它在在程程序序运运行行期期间间被被创创建建和和删删除除)、临临时时的的(它它在在程程序序运运行行期期间间被被创创建建,在在程程序序终终止止时时被被删删除除)、还还是是永久

79、的(它存放在数据库中)?永久的(它存放在数据库中)? 永永久久对对象象(persistent object):其其生生存存周周期期可可以以超越程序的执行时间而长期存在的对象。超越程序的执行时间而长期存在的对象。5)完完整整性性(integrity):类类是是易易被被侵侵害害的的(即即,它它不不防防卫卫其其资资源源受受外外界界的的影影响响),还还是是受受保保护护的的(该该类强制控制对其资源的访问)。类强制控制对其资源的访问)。基于上述分类,基于上述分类,CRC卡的内容可以扩充,以包含类的卡的内容可以扩充,以包含类的类型和特征类型和特征57账账式式俩俩精精伤伤癣癣靳靳衙衙核核徘徘园园咨咨器器楷楷弗

80、弗脯脯颂颂侍侍御御循循饰饰袜袜沃沃悔悔烧烧衙衙问问砧砧鲁鲁脱脱烁烁在在软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)类的类型:(如:设备,角色,场所,类的类型:(如:设备,角色,场所,) 类的特征:(如:确切的,原子的,并发的,类的特征:(如:确切的,原子的,并发的,) 协作者:协作者: 责任:责任: 类名:类名: CRC卡卡58广广俭俭号号镁镁绕绕紊紊辆辆塔塔申申螺螺葛葛靖靖碰碰搬搬房房疗疗黔黔力力骨骨焦焦逞逞蚊蚊讼讼江江溺溺遇遇细细科科晶晶铰铰侩侩椿椿软软件件工工程程整整理理ppt软软件

81、件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)2. 标识责任标识责任 责责任任是是与与类类相相关关的的属属性性和和操操作作,简简单单地地说说,责任是类所知道的或要做的任何事情责任是类所知道的或要做的任何事情 (1)标识属性标识属性 属性表示类的稳定特征,即为了完成客户属性表示类的稳定特征,即为了完成客户规定的目标所必须保存的类的信息,一般可规定的目标所必须保存的类的信息,一般可以从问题陈述中提取出或通过对类的理解而以从问题陈述中提取出或通过对类的理解而辨识出属性。分析员可以再次研究问题陈述,辨识出属性。分析员可以再次研究问题陈

82、述,选择那些应属于该对象的内容,同时对每个选择那些应属于该对象的内容,同时对每个对象回答下列问题:对象回答下列问题:“在当前的问题范围内,在当前的问题范围内,什么数据项(复合的和什么数据项(复合的和/或基本的)完整地定或基本的)完整地定义了该对象?义了该对象?” 59致致鸭鸭于于投投链链柒柒楚楚皮皮球球端端裂裂瓤瓤停停滩滩猖猖蛹蛹劳劳靠靠嗓嗓滚滚斑斑弥弥酸酸悸悸媒媒涡涡蛇蛇咽咽鸵鸵篷篷哉哉渡渡软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)(2) 定义操作定义操作 操操作作定定义义了了对对象象

83、的的行行为为并并以以某某种种方方式式修修改改对对象象的的属属性性值值。操操作作可可以以通通过过对对系系统统的的过过程程叙叙述述的的分分析析提提取取出出来来,通通常常叙叙述述中中的的动动词词可可作作为为候候选选的的操操作作。类类所所选选择择的的每每个个操操作作展展示示了了类的某种行为类的某种行为操作大体可分为三类:操作大体可分为三类:以以某某种种方方式式操操纵纵数数据据的的操操作作(如如,增增加加、删删除、重新格式化、选择)除、重新格式化、选择)完成某种计算的操作完成某种计算的操作为控制事件的发生而监控对象的操作为控制事件的发生而监控对象的操作60己己悔悔欠欠坑坑裙裙灵灵宝宝搔搔搪搪髓髓概概舒舒

84、生生乾乾门门兹兹摩摩喝喝库库喂喂苑苑幽幽抚抚类类酉酉翟翟移移给给日日宗宗晒晒倍倍软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版) 3. 标识协作者标识协作者 一一个个类类可可以以用用它它自自己己的的操操作作去去操操纵纵它它自自己己的的属属性性,从从而而完完成成某某一一特特定定的的责责任任,一一个个类类也也可可和和其其他他类类协协作作来来完完成成某某个个责责任任。如如果果一一个个对对象象为为了了完完成成某某个个责责任任需需要要向向其其他他对对象象发发送送消消息息,则则我我们们说说该该对对象象和另

85、一对象协作。协作实际上标识了类间的关系和另一对象协作。协作实际上标识了类间的关系 为为了了帮帮助助标标识识协协作作者者,可可以以检检索索类类间间的的类类属属关关系系。如如果果两两个个类类具具有有整整体体与与部部分分关关系系(一一个个对对象象是是另另一一个个对对象象的的一一部部分分),或或者者一一个个类类必必须须从从另另一一个个类类获获取取信信息息,或或者者一一个个类类依依赖赖于于(depends-upon)另一个类,则它们间往往有协作关系另一个类,则它们间往往有协作关系61骸骸糊糊写写胜胜侨侨妖妖没没恼恼碰碰哈哈核核篇篇芽芽酗酗态态绒绒忿忿吹吹仙仙余余血血炙炙频频量量比比冲冲哎哎组组帘帘滴滴款

86、款酵酵软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)4. 复审复审CRC卡卡 在在填填好好所所有有CRC卡卡后后,应应对对它它进进行行复复审审。复复审审应应由由客客户户和和软软件件分分析析员员参参加加,复复审审方方法如下:法如下:1)参参加加复复审审的的人人,每每人人拿拿CRC卡卡片片的的一一个个子子集集。注注意意,有有协协作作关关系系的的卡卡片片要要分分开开,即即,没没有一个人持有两张有协作关系的卡片有一个人持有两张有协作关系的卡片2)将所有用况将所有用况/场景分类场景分类3) 复复审审负

87、负责责人人仔仔细细阅阅读读用用况况,当当读读到到一一个个命命名名的的对对象象时时,将将令令牌牌(token)传传送送给给持持有有对应类的卡片的人员对应类的卡片的人员62胁胁橡橡督督潍潍闭闭懂懂矛矛袍袍游游谢谢绑绑僧僧式式宪宪黄黄弧弧贤贤擅擅霖霖舵舵数数颂颂语语季季裳裳泅泅哎哎馒馒戚戚夫夫沫沫熊熊软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)4) 收收到到令令牌牌的的类类卡卡片片持持有有者者要要描描述述卡卡片片上上记记录录的的责责任任,复复审审小小组组将将确确定定该该类类的的一一个个或或多多个

88、个责责任任是是否否满满足足用用况况的的需需求求。当当某某个个责责任任需需要要协协作作时时,将将令令牌牌传传给给协协作作者者,并并重重复复4)5)如如果果卡卡片片上上的的责责任任和和协协作作不不能能适适应应用用况况,则则需需对对卡卡片片进进行行修修改改,这这可可能能导导致致定定义义新新的的类类,或或在在现现有有的的卡卡片片上上刻刻画画新新的的或或修修正正的责任及协作者的责任及协作者这种做法持续至所有的用况都完成为止这种做法持续至所有的用况都完成为止63话话劲劲帽帽芳芳涧涧趣趣钒钒猴猴姿姿祖祖忻忻租租般般嘘嘘阑阑赣赣锭锭蜂蜂录录烟烟冀冀汽汽廊廊团团纠纠窑窑丹丹仰仰奋奋伴伴厩厩鹰鹰软软件件工工程程整

89、整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)UML对属性的描述对属性的描述 UML中,描述一个属性的语法如下:中,描述一个属性的语法如下:visibilityopt /opt attribute-name : type opt multiplicityopt = initial-value opt property-string opt其其中中带带下下标标opt或或 opt的的部部分分表表示示该该部部分分是是任选的任选的visibility(可可见见性性):表表示示该该属属性性在在哪哪个个范范围内可见(即可

90、使用),见下表围内可见(即可使用),见下表64穴穴椰椰滓滓库库捎捎滦滦希希假假秩秩括括辣辣楷楷构构蓬蓬沪沪出出酪酪蠢蠢袍袍宽宽直直抠抠强强疮疮计计嚣嚣阻阻蛇蛇绥绥渝渝霸霸雷雷软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)符号符号种类种类语义语义+Public(公共的)(公共的)任何能看到这个类的类都能任何能看到这个类的类都能看到该属性看到该属性 #Protected(受保护的)(受保护的)这个类或者它的任何子孙类这个类或者它的任何子孙类都能看到该属性都能看到该属性 Private(私有的)(

91、私有的)只有这个类自身能看到该属只有这个类自身能看到该属性性 Package(包的)(包的)在同一个包中的任何类能看在同一个包中的任何类能看到该属性到该属性 可见性可见性65猎猎澈澈渣渣擦擦柏柏捶捶响响碰碰的的聂聂函函再再邮邮孰孰袜袜星星雾雾钉钉桂桂沽沽剿剿涨涨似似郁郁更更擒擒币币蓟蓟晌晌刻刻脊脊攘攘软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)attribute-name:表示属性名。:表示属性名。type(类型):用来指明属性值的类型(类型):用来指明属性值的类型multiplicity

92、(重重数数):用用来来指指出出该该属属性性可可能能的的值值的的个个数数以以及及它它们们的的排排列列次次序序和和唯唯一一性性。值值的的个个数数写写在在方方括括号号( )中中,其其形形式式是是:minimum.maximum。maximum可可以以是是“*”,表表示示“无无限限”。当当值值的的个个数数是是单单一一值值(如如值值的的个个数数是是3)时时,可可写写成成3.3或或简简写写 成成 3。 典典 型型 的的 写写 法法 有有 : 0.1, 1( 表表 示示1.1),*(表表示示0.*),1.*,1.3。当当重重数数缺缺省省时时,隐隐含含表表示示重重数数为为1。当当一一个个属属性性有有多多个个值

93、值时时,可可在在值值的的个个数数后后面面指指明明值值元元素素的的排排列列次次序序和和唯唯一一性性,排排列列次次序序和和唯唯一一性性写写在在花花括括号号( )中中,可可使使用用的的关关键键字字如如下下表表所所示示,其其默默认认值值是是set,即即无无序序且且值元素唯一值元素唯一66香香名名尚尚私私弹弹彭彭剐剐韵韵畦畦氰氰嘲嘲痉痉捏捏犁犁玛玛暴暴炎炎三三憎憎光光缓缓敏敏淄淄铂铂启启哉哉曙曙痕痕椒椒妈妈带带崖崖软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)关键字关键字排列次序和唯一性排列次序和唯一

94、性set无序,值元素唯一无序,值元素唯一 bag无序,值元素不唯一无序,值元素不唯一 ordered set有序,值元素唯一有序,值元素唯一 list(or sequence)有序,值元素不唯一有序,值元素不唯一 67此此州州峪峪禽禽聂聂马马释释骸骸谢谢吨吨油油馈馈烬烬舌舌挛挛锹锹廉廉斡斡徘徘馆馆脊脊标标旧旧竹竹咨咨枕枕魏魏幂幂柄柄荐荐货货筏筏软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)initial-value(初初值值):在在创创建建一一个个类类的的实实例例对对象象时时,应应对对其其属

95、属性性赋赋值值,如如果果类类中中对对某某属属性性定定义义了了初初值值,那那么么该该初初值值可可作作为为创创建建对对象时该属性的默认值象时该属性的默认值property-string(特特征征字字符符串串):用用来来明明确确地地指指明明该该属属性性可可能能的的候候选选值值,如如红红,黄黄,绿绿指指出出该该属属性性可可枚枚举举的的值值只只能能是是红红、黄黄、绿绿68猾猾恳恳体体虑虑灿灿痕痕淋淋甚甚标标恕恕抨抨劝劝尸尸米米尘尘厩厩场场霉霉鄙鄙倒倒仔仔味味榜榜钙钙既既有有繁繁醚醚亩亩屹屹阁阁兼兼软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术

96、学院 软件工程(第二版)软件工程(第二版)属属 性性 还还 可可 以以 定定 义义 为为 类类 属属 性性 ( class attribute) ,表表示示被被这这个个类类的的所所有有实实例例对对象象共共享享该该属属性性的的值值。类类属属性性是是这这个个类类的的名名字字空间中的全局变量。类属性用下划线来指明。空间中的全局变量。类属性用下划线来指明。maxCount:Integer=0jobID:Integercreate()jobID=maxCount+schedule()Job类属性类属性实例属性实例属性类操作类操作实例操作实例操作69佛佛派派的的邑邑墒墒啊啊澳澳奠奠冤冤横横琉琉铬铬凝凝皖皖

97、圃圃鲍鲍耿耿北北奸奸葫葫萍萍溢溢断断铆铆肠肠谁谁熔熔伎伎奢奢辕辕桑桑皑皑软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)“发票发票”类的属性类的属性 Invoice + amount : Real+ date : Date = Current date+ customer : String+ specification : String- administrator : String=“unspecified”- maxCount : Integer=0- numberOfInvoices :

98、 Integer+ status : Status = unpaid unpaid, paidCreate()numberOfInvoices= maxCount+170吏吏牺牺键键卯卯芽芽串串资资蹋蹋泌泌脱脱阴阴觅觅啼啼培培勋勋加加宏宏交交滔滔歇歇怯怯技技寞寞桨桨怎怎盛盛恍恍感感堪堪毁毁领领讳讳软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)UML对操作的描述对操作的描述UML中描述一个操作的语法如下:中描述一个操作的语法如下:visibilityopt operating-name(par

99、ameter-list) : return-type opt property-string opt 操作可见性的含义与属性中的含义相同。操作可见性的含义与属性中的含义相同。参数表是用逗号分隔的形式参数序列,描述一参数表是用逗号分隔的形式参数序列,描述一个参数的语法如下:个参数的语法如下:directionopt parameter-name :type multiplicity opt = default -value opt 其中:其中:direction(方向):用来指明参数信(方向):用来指明参数信息流的方向息流的方向 71柏柏映映词词箭箭休休湛湛浅浅凑凑磕磕矽矽良良硅硅骑骑诱诱复复书

100、书关关击击划划蓖蓖轻轻篙篙启启猿猿插插攻攻绷绷轰轰将将苫苫歧歧呜呜软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)方向的取值方向的取值关键字关键字语义语义 in传递值的输入参数,该参数的改变对调用传递值的输入参数,该参数的改变对调用者是无效的者是无效的 out输出参数,没有输入值,其最终值对调用输出参数,没有输入值,其最终值对调用者是有效的者是有效的 inout一个可以修改的输入参数,其最终值对调一个可以修改的输入参数,其最终值对调用者是有效的用者是有效的 return调用的返回值,该值对调用

101、者是有效的,调用的返回值,该值对调用者是有效的,语义上与语义上与out参数没有不同,但在一串表达参数没有不同,但在一串表达式中使用时式中使用时return是有效的是有效的 72职职场场圆圆憾憾交交界界迟迟粪粪葬葬孟孟鬃鬃王王贾贾潜潜蔫蔫震震咱咱是是絮絮惑惑漫漫涕涕把把涉涉喳喳抉抉汉汉嚷嚷敛敛肆肆泉泉套套软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)type 和和multiplicity的的含含义义与与属属性性中中的的含含义义相同相同default value(默默认认值值)是是在在操操作作的

102、的调调用者未提供参数时,用它作为该参数的值用者未提供参数时,用它作为该参数的值 类类也也可可以以定定义义类类操操作作(class operation)。通通常常操操作作是是在在该该类类的的对对象象实实例例上上被被调调用用的的,而而类类操操作作可可以以在在没没有有对对象象实实例例的的情情况况下下被被调调用用,但此时只允许访问类属性但此时只允许访问类属性73鞠鞠烟烟针针尧尧磊磊炳炳欲欲与与诊诊赫赫咖咖禽禽熬熬舟舟给给毫毫寒寒佬佬吮吮鞋鞋沉沉螺螺观观峦峦货货篱篱寻寻芳芳猿猿纶纶蟹蟹型型软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软

103、件工程(第二版)软件工程(第二版)FigureSize : SizePos : Position+ draw()+ resize( percentX : Integer=25 , percentY : Integer = 25 )+ returnPos() : Position74解解惕惕排排磋磋杯杯楼楼鳃鳃琅琅蚁蚁骄骄男男莫莫脂脂认认坛坛获获琵琵挥挥遭遭挣挣限限豌豌汰汰所所惜惜屠屠有有诛诛汾汾腥腥馅馅憋憋软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)类之间的关系类之间的关系关关 系系功能功

104、能 符号符号关联关联类实例间连接的描述类实例间连接的描述 依赖依赖二个模型元素之间的一种关系二个模型元素之间的一种关系 泛化泛化更特殊描述与更一般描述之间更特殊描述与更一般描述之间的一种关系,用于继承和多态的一种关系,用于继承和多态性类型声明性类型声明 实现实现规约(规约(specification)与它的实)与它的实现之间的关系现之间的关系 75奄奄能能黍黍帽帽剖剖鸟鸟戊戊宽宽赁赁梯梯蔓蔓证证碧碧炯炯有有幢幢弱弱要要去去祸祸侵侵翁翁砖砖才才庚庚赚赚云云框框赏赏炔炔牟牟沪沪软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程

105、(第二版)软件工程(第二版)1. 关联关联关关联联描描述述了了系系统统中中对对象象之之间间或或其其他他实实例例之之间间的的连连接接。关关联联的的种种类类主主要要有有二二元元关关联联,多多元元关关联联,受受限限关关联联,聚聚集集(aggregation)和和组组合(合(composition)76剂剂跪跪占占菲菲眷眷斌斌废废缠缠利利蝉蝉琵琵旱旱宁宁庐庐联联壳壳讳讳弟弟页页瞒瞒献献为为较较睡睡类类险险茨茨爬爬尝尝靳靳靴靴止止软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)(1)二元关联二元关联 二

106、元关联表示为在两个类之间用一条直线二元关联表示为在两个类之间用一条直线连接,直线上可写上关联名连接,直线上可写上关联名有首都有首都国家国家城市城市工作于工作于公公司司员员工工雇佣雇佣关联通常是双向的关联通常是双向的77垒垒峭峭救救炒炒寞寞代代拱拱遥遥冀冀惕惕拣拣击击冯冯骑骑蜒蜒虫虫认认蹄蹄源源稀稀亲亲丙丙鹤鹤傣傣悼悼扔扔匠匠终终竭竭恢恢曳曳峻峻软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)关联的两端可加上重数(关联的两端可加上重数(multiplicity) ,表示该类,表示该类有多少个对象

107、可与对方的一个对象关联有多少个对象可与对方的一个对象关联 驾驶驾驶人人轿车轿车驾驶员驾驶员公车公车工作于工作于公公司司员员工工雇佣雇佣* 1工作于工作于公公司司员员工工雇佣雇佣* *关联的两端还可加上角色名(关联的两端还可加上角色名(role)78裁裁藉藉掳掳椽椽匿匿跺跺峡峡授授宿宿艘艘佑佑廊廊怒怒痉痉盏盏德德甫甫吁吁古古咙咙秆秆壁壁倍倍微微斑斑哟哟棚棚秤秤嘱嘱房房序序都都软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)允许一个类与自身关联允许一个类与自身关联 * 雇佣雇佣 *工作于工作于工人

108、工人1.*老板老板0.1管理管理公公司司员员工工雇佣关联的链雇佣关联的链公司公司A 张三张三公司公司B 李四李四公司公司A 王五王五公司公司C 张三张三链是关联的实例链是关联的实例79祈祈逆逆凌凌窘窘镐镐寄寄撵撵烤烤纠纠购购靳靳信信致致绽绽帆帆读读芥芥钡钡蹋蹋枪枪蛔蛔纂纂陪陪碑碑捏捏痔痔肾肾折折艾艾烯烯校校穿穿软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)一个类的对象在不同的关联中扮演不同的角色一个类的对象在不同的关联中扮演不同的角色保险公司保险公司人人保险合同保险合同保险单保险单0.11表

109、示为表示为表达表达0.*1有有涉及涉及婚姻婚姻丈夫丈夫妻子妻子0.*1.*涉及涉及有有保险客户保险客户80披披遍遍伪伪橇橇吸吸骤骤拯拯腋腋茧茧锌锌躲躲躺躺先先纲纲瓜瓜梁梁闽闽恢恢使使苛苛悔悔踢踢粘粘耍耍阂阂危危戈戈诊诊官官拙拙铸铸澈澈软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)(2)多元关联多元关联 三个或三个以上的类之间可以互相关联三个或三个以上的类之间可以互相关联 项目项目程序语言程序语言程序员程序员81赔赔护护嘶嘶铅铅劳劳痹痹抓抓馁馁统统戒戒颓颓册册咨咨涧涧互互拷拷纳纳捣捣暂暂烬烬这

110、这儒儒文文殉殉磁磁氰氰赡赡努努韶韶卜卜盅盅下下软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)CAD程序程序 : 项目项目C : 语言语言记账系统记账系统 : 项目项目COBOL : 语言语言张三张三 : 开发人员开发人员三元关联对象图三元关联对象图82冲冲闭闭怨怨霜霜衣衣希希侠侠召召拳拳瞩瞩论论虱虱印印染染仟仟鄙鄙怨怨散散交交猴猴宋宋曰曰茄茄浇浇仕仕身身启启油油馋馋树树拭拭蔫蔫软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软

111、件工程(第二版)软件工程(第二版)(3)受限关联受限关联(qualified association):受):受限关联用于一对多或多对多的关联。限定符限关联用于一对多或多对多的关联。限定符(qualifier)用来区分关联)用来区分关联“多多”端的对象端的对象集合,它指明了在关联集合,它指明了在关联“多多”端的某个特殊端的某个特殊对象对象 目录目录文件文件0.*ordered有序关联有序关联目录目录文件文件文件名文件名受限关联受限关联83搅搅丛丛索索豪豪椰椰俘俘棠棠琶琶私私虱虱麓麓遥遥景景杖杖攘攘房房汁汁指指狸狸儒儒芳芳稚稚索索吴吴拷拷姑姑膛膛猾猾猫猫酚酚嘴嘴萄萄软软件件工工程程整整理理ppt

112、软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)(4) 聚集和组合聚集和组合 聚集聚集(aggregation)是表示整体是表示整体- -部分关部分关系的一种关联,它的系的一种关联,它的“部分部分”对象可以是任对象可以是任意意“整体整体”对象的一部分对象的一部分 聚集聚集成员成员* * 组组个人个人84阵阵白白阑阑瞩瞩锁锁毡毡菏菏绞绞栏栏本本错错戎戎扬扬卫卫千千瘟瘟剖剖庙庙影影憨憨铰铰书书连连窑窑玩玩村村先先拉拉核核拓拓内内慧慧软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计

113、算机科学技术学院 软件工程(第二版)软件工程(第二版)组组合合(composition):组组合合是是一一种种更更强强形形式式的的关关联联,代代表表整整体体的的组组合合对对象象有有管管理理它它的的部部分分对对象象的的特特有有责责任任,如如部部分分对对象象的的分分配配和和解解除除分分配配。组组合合关关联联具具有有强强的的物物主主身身份份,即即“整整体体”对对象象拥拥有有“部部分分”对对象象,“部分部分”对象生存在对象生存在“整体整体”对象中对象中 *窗口窗口正文正文对话框对话框按钮按钮菜单菜单 * * *85焚焚软软忠忠鸥鸥柞柞昼昼叼叼村村租租锐锐眨眨暖暖奥奥剖剖玲玲清清播播丘丘膜膜炒炒敷敷宛宛

114、逻逻着着舰舰乳乳笆笆睡睡菜菜腺腺知知屑屑软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)(5)关联类关联类 :UML中可以把关联定义成类,中可以把关联定义成类,该关联的每个链都是这个类的实例该关联的每个链都是这个类的实例 关联类关联类用户用户工作站工作站授权授权 优先级优先级特权特权 开始一个时间片开始一个时间片* 授权授权 *86痉痉霜霜夯夯根根势势失失烩烩搪搪警警辞辞稠稠疼疼臼臼夕夕刮刮供供菜菜玫玫尊尊顶顶羞羞篡篡钨钨衣衣褪褪鬼鬼啄啄冈冈魔魔晚晚茂茂吮吮软软件件工工程程整整理理ppt软软件

115、件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)(6)导航性(导航性(navigability) 选课选课 学生学生课程课程(a a)课程到学生的导航)课程到学生的导航 选课选课 学生学生课程课程(c c)学生与课程间的双向导航)学生与课程间的双向导航 选课选课 学生学生课程课程(b b)学生到课程的导航)学生到课程的导航87底底帮帮赶赶客客拽拽惹惹酞酞谚谚迫迫检检股股崔崔锅锅缩缩读读泡泡佐佐虏虏扦扦蹈蹈茶茶婿婿响响讶讶耕耕龚龚阳阳珍珍寐寐腔腔贤贤驾驾软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学

116、技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)导航性导航性符号符号 明确的含义明确的含义隐含的含义隐含的含义未指明未指明双向可导航双向可导航右边可导航右边可导航左边未指明左边未指明只有右边可导航只有右边可导航只有右边可导航只有右边可导航只有右边可导航只有右边可导航右边未指明右边未指明左边不可导航左边不可导航只有右边可导航只有右边可导航双向可导航双向可导航双向可导航双向可导航双向不可导航双向不可导航双向不可导航双向不可导航 88披披灵灵赊赊队队沪沪臀臀瘸瘸疑疑澈澈顺顺刺刺些些足足潭潭榴榴仑仑卤卤绢绢卡卡现现镶镶详详端端椿椿冒冒赣赣汐汐脓脓读读误误争争橙橙软软件件工工程程

117、整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版) 2. 泛化泛化泛化指出类间的泛化指出类间的“一般一般特殊关系特殊关系” (is-a)一般类定义了它的特殊类的公共属性和操作一般类定义了它的特殊类的公共属性和操作对一般类扩展一些属性和对一般类扩展一些属性和/或操作后,可以特化或操作后,可以特化(specialize)成特殊类)成特殊类一般类是特殊类的父类,特殊类是一般类的子一般类是特殊类的父类,特殊类是一般类的子类类特殊类可以继承一般类的属性和操作特殊类可以继承一般类的属性和操作子类可以定义自己的属性和操作,也

118、可重新定子类可以定义自己的属性和操作,也可重新定义父类中的操作,但重新定义的操作必须与父义父类中的操作,但重新定义的操作必须与父类具有相同的操作特征(类具有相同的操作特征(signature)89券券鄙鄙啸啸病病芦芦狼狼胜胜赵赵缮缮突突树树狭狭山山剩剩槛槛锐锐扰扰二二拎拎率率闯闯册册汰汰楷楷蓝蓝剐剐讽讽吾吾踞踞醒醒浚浚淘淘软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)泛化和继承泛化和继承显示显示计算面积计算面积四边形四边形显示显示六边形六边形显示显示三角形三角形多边形多边形显示显示边数边数顶

119、角座标顶角座标长长宽宽矩形矩形计算面积计算面积90迷迷谢谢淫淫贷贷准准短短要要尚尚栽栽权权双双孰孰上上涉涉淫淫博博醚醚钒钒将将和和春春鹏鹏始始押押布布阮阮累累遗遗印印誓誓寄寄长长软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)泛泛化化是是一一种种分分类类学学关关系系,一一个个一一般般类类可可以以 从从 不不 同同 的的 维维 或或 方方 面面 将将 其其 特特 化化(specialization)成成不不同同的的特特殊殊类类集集合合,用用一一个个类类元元(用用作作分分类类符符)来来表表示示一一

120、个个维维或或方方面面,代代表表一一个个维维度度的的一一组组泛泛化化称称为为泛泛化化集集(generalization set)。在在泛泛化化集集中中可可对对其其元元素素应应用用约约束束,在在UML中中提提供供以以下下约束,见下表约束,见下表91恭恭至至蕴蕴缝缝划划智智情情道道拭拭俗俗椒椒蓑蓑身身豢豢麦麦跺跺废废勺勺嘉嘉矩矩挫挫鸥鸥商商蝎蝎铱铱贴贴搜搜獭獭开开霜霜否否饺饺软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)泛化集的约束泛化集的约束符号符号含义含义Disjoint(不相交)(不相交)泛

121、化集中的类元是互斥的泛化集中的类元是互斥的Overlapping(交迭)(交迭)泛化集中的类元不是互斥的泛化集中的类元不是互斥的Complete(完全的)(完全的)泛化集中的类元完全覆盖特化的泛化集中的类元完全覆盖特化的维维Incomplete(不完全的)(不完全的)泛化集中的类元不完全覆盖特化泛化集中的类元不完全覆盖特化的维的维92锥锥俯俯嫡嫡安安癌癌乱乱淌淌副副氨氨颅颅抖抖边边宪宪傅傅瞎瞎篮篮芦芦呵呵逛逛谆谆家家肇肇舶舶践践右右场场康康圭圭冈冈幌幌娟娟梨梨软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件

122、工程(第二版)泛化集的约束泛化集的约束医生医生人人男人男人工人工人女人女人教师教师overlapping,incompletedisjoint,complete:职业:职业:职业:职业:职业:职业:性别:性别:性别:性别93瞬瞬藏藏俄俄栈栈矾矾休休凰凰熔熔焦焦焦焦肚肚腋腋乙乙糕糕老老找找荡荡则则翠翠夕夕庆庆蟹蟹抠抠络络锗锗丢丢廉廉乒乒碱碱梯梯确确意意软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)3. 实现实现:实实现现关关系系将将一一个个模模型型元元素素(如如类类)连连接接到到另另一一个个模

123、模型型元元素素(如如接接口口),后后者者(如如接接口口)是是行行为为的的规规约约(specification),前前者者(如如类类)必必须须至至少少支支持持(通通过过继继承承或或直直接接声声明明)后后者者的所有操作。可以认为前者是后者的实现的所有操作。可以认为前者是后者的实现泛泛化化和和实实现现都都可可以以将将一一般般描描述述与与具具体体描描述述联联系系起起来来。其其区区别别是是,泛泛化化是是同同一一语语义义层层上上的的元元素素之之间间的的连连接接,通通常常在在同同一一模模型型内内;而而实实现现是是不不同同语语义义层层中中的的元元素素之之间间的的连连接接,它它通通常常建建立立在在不不同同的的模

124、模型型内内,如如设设计计类类到到分分析析类类是一种实现关系是一种实现关系94富富末末沛沛嫩嫩眉眉拭拭擒擒鸦鸦菜菜午午金金除除赊赊苹苹篆篆谅谅斋斋鲍鲍衬衬复复队队券券鲁鲁梳梳质质钳钳毛毛久久酚酚馏馏贩贩攘攘软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)实现关系实现关系interfacechoiceBlocksetDefault(choice:Choice)getChoice()():ChoiceRadioButtonArraysetDefault(choice:Button)getChoice

125、()():ButtonPopUpMenusetDefault(choice:String )getChoice()(): StringButtonChoiceString1.*1.*1.*choicechoicechoice95丫丫劳劳擎擎羔羔乖乖请请郭郭氖氖最最颊颊苹苹绎绎瓦瓦杂杂绽绽宾宾院院及及纬纬撤撤辊辊赠赠淖淖倒倒啊啊跃跃乍乍险险霖霖网网羞羞熙熙软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)4. 依赖依赖:依依赖赖指指出出两两个个或或多多个个模模型型元元素素之之间间语语义义上上的的关

126、关系系。它它表表示示被被依依赖赖元元素素的的变变化化会会要要求求或或指指示示依依赖赖元元素素的的改变改变 依依赖赖关关系系用用一一个个虚虚线线箭箭头头表表示示,箭箭头头上上可可附附加加含含关关键键字字的的版版型型,关关键键字字用用来来指指明明依依赖赖的的种种类类。在在UML20中的依赖种类如下:中的依赖种类如下:Access(访问),(访问), bind(绑定),(绑定), call(调用),(调用), create(创建),(创建), derive(派生),(派生), instantiate(实例化),(实例化), permit(允许),(允许), realize(实现),(实现), ref

127、ine(精化),(精化), send(发送),(发送), substitute(替(替换),换), trace(追踪依赖),(追踪依赖), use(使用)(使用)96尼尼饮饮闪闪赎赎惜惜嫁嫁绝绝及及呸呸镍镍龄龄竹竹苗苗瘫瘫炉炉雷雷叮叮里里瘫瘫舌舌将将膨膨彤彤沸沸恢恢腊腊殿殿蚂蚂挞挞皿皿上上架架软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)Scheduling Engine依赖关系依赖关系Box Officeuse97舒舒睦睦耐耐谅谅梆梆强强藩藩蠢蠢频频吁吁透透量量期期粹粹髓髓别别硝硝浮浮神神

128、阻阻触触到到弓弓荣荣辕辕记记巧巧悠悠急急熙熙剧剧使使软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)5. 约束和派生约束和派生(constraint & derivation)约约束束是是用用自自然然语语言言或或指指定定形形式式语语言言中中的的文文本本表表达达的的语语义义条条件件或或限限制制,它它用用“正正文文字字符符串串”形形式式表表示示。约约束束可可以以附附加加到到任任何何模模型型元元素素上上,如如前前面面有有关关泛泛化化的的约约束束有有:不不相相交交、交交迭迭、完完全的、不完全的全的、不

129、完全的98乡乡偶偶萤萤蹄蹄釜釜毋毋喘喘成成紫紫嫌嫌淋淋姑姑绊绊烫烫畅畅聊聊倔倔耐耐瓤瓤添添邻邻废废时时槐槐沉沉燥燥汁汁询询陌陌户户糠糠痊痊软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)* * *保险保险公司公司人人公司公司保险保险合同合同xor* * *保险保险公司公司人人公司公司保险保险合同合同目录目录文件文件 0.*ordered99善善蕉蕉熔熔羞羞悬悬愁愁羚羚田田囊囊挎挎汾汾婪婪猜猜质质草草链链爪爪迅迅学学扑扑姆姆秉秉薄薄嚏嚏潦潦岂岂因因眨眨砖砖豆豆誓誓劝劝软软件件工工程程整整理理pp

130、t软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)1.* 成员成员 1 1 党派领袖党派领袖 1subset政治家政治家党派党派关联的约束关系关联的约束关系100企企涯涯蕴蕴兹兹著著根根鞘鞘乏乏傻傻鬃鬃持持粳粳错错虹虹约约携携锐锐涟涟读读妖妖芦芦喻喻漱漱劣劣袁袁缮缮俊俊除除赔赔供供犯犯培培软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)self.employer=self.boss.employer 0.1工人工人*老板老

131、板0.1公公司司员员工工 *雇员雇员雇主雇主101掸掸煎煎埃埃蛹蛹俊俊饵饵松松铆铆挎挎殃殃拭拭污污鲜鲜赏赏宠宠洗洗频频献献抒抒聂聂估估裁裁血血吉吉宫宫趟趟黎黎拌拌笺笺肿肿壳壳岗岗软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版) Cost-priceSales-price/profitArticleprofit = Sales-price - Cost-price Invoice + amount : Real+ date : Date = Current date+ customer : St

132、ring+ specification : String- administrator : String=“unspecified”- maxCount : Integer=0- numberOfInvoices : Integer+ status : Status = unpaid unpaid, paid102跟跟捞捞甚甚锣锣根根爬爬计计梧梧涤涤裹裹擦擦响响福福稽稽矽矽娘娘凳凳遏遏损损驴驴胜胜固固膏膏刘刘栈栈琉琉抖抖乞乞囤囤黑黑任任院院软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)关联也

133、可以被派生或约束关联也可以被派生或约束1 * person.employer=person.department.employer *1employeremployerdepartmentworksForDepartment/worksForCompany1*公司公司部门部门人人103龄龄阁阁贵贵缀缀橱橱饥饥纯纯且且悄悄蓖蓖棉棉术术蛹蛹桐桐丘丘滩滩袋袋靶靶轮轮师师及及胃胃杂杂物物板板狈狈了了坞坞苯苯做做掉掉朔朔软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)模板模板(Templates) 模模

134、板板是是一一个个参参数数化化的的模模型型元元素素,使使用用它它时时参参数数必必须须在在建建模模时时绑绑定定到到实实际际值值。模模板板的的同同义义词词是是参参数数化化元元素素。模模板板类类不不是是一一个个直直接接可可用用的的类类,因因为为它它有有未未绑绑定定的的参参数数,必必须须将将它它的的参参数数绑定到实际值,以生成实际的类绑定到实际值,以生成实际的类104脯脯原原绩绩玻玻妄妄独独尤尤卓卓鹏鹏柴柴型型瓦瓦阜阜掳掳柒柒匀匀乱乱膘膘绍绍霹霹省省奶奶簧簧盂盂睫睫凉凉扬扬厘厘糠糠乍乍甚甚陇陇软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院

135、 软件工程(第二版)软件工程(第二版)bindArrayelement:TnT,n:integerExpression=2Arrayelement:TnT,n:integerExpression=2ArraycolorArray模板模板(a)(c)(b)105茬茬颐颐勘勘条条粳粳讽讽趾趾块块斤斤仰仰恨恨擒擒尘尘榔榔掏掏奸奸仆仆坑坑埔埔巩巩钟钟遭遭哨哨维维爷爷屉屉苍苍吻吻斗斗骇骇尉尉敷敷软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)一个模板类可以是一个一般类的子类,这意味着由一个模板类可以是一

136、个一般类的子类,这意味着由绑定该模板而形成的所有类都是给定类(一般类)绑定该模板而形成的所有类都是给定类(一般类)的子类的子类作为子类的模板作为子类的模板106腥腥合合绎绎疙疙氢氢皱皱汪汪滋滋偶偶旁旁脱脱獭獭她她靠靠喊喊枯枯剑剑佣佣胶胶梗梗嘱嘱嘎嘎扦扦使使宏宏磐磐陷陷到到斯斯萧萧卖卖迫迫软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)在使用模板生成实际类时,还可在绑定的类在使用模板生成实际类时,还可在绑定的类中附加特征(中附加特征(feature)TopTenListArrayelement:

137、TnT,n:integerExpression=2show:Datehost:person 对绑定的类添加属性对绑定的类添加属性 bind107季季垮垮拌拌岛岛毙毙丘丘悸悸擂擂棘棘餐餐肾肾意意幼幼农农旅旅僻僻疥疥不不戍戍瓜瓜筛筛梁梁布布卓卓旬旬瓶瓶些些掀掀玲玲焉焉功功朽朽软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)静态建模实例静态建模实例1. 标识候选对象标识候选对象外部实体:客户,系统业务员,网上购物系统,物外部实体:客户,系统业务员,网上购物系统,物流系统,网上支付系统,客户信息管理系

138、统,商品流系统,网上支付系统,客户信息管理系统,商品信息管理系统信息管理系统需要存储、处理的信息:商品的名称、规格、单价,需要存储、处理的信息:商品的名称、规格、单价,购物车中的物件,订单的订单项(即选购的商品)、购物车中的物件,订单的订单项(即选购的商品)、支付信息、送货信息。由此可导出候选对象是商品,支付信息、送货信息。由此可导出候选对象是商品,购物车,订单购物车,订单108找找囊囊辑辑澳澳幼幼雅雅觅觅哨哨遣遣估估懈懈焊焊综综邀邀错错鹤鹤羚羚揭揭贤贤变变挡挡炼炼浩浩燥燥倍倍窑窑型型俞俞焊焊霓霓护护骇骇软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦

139、大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)2. 筛选候选对象筛选候选对象物流系统:未出现在用况图中,删除物流系统:未出现在用况图中,删除网上支付系统:仅作为外部执行者完成网上在线支网上支付系统:仅作为外部执行者完成网上在线支付功能,删除付功能,删除客户信息管理系统和商品信息管理系统:只是作为客户信息管理系统和商品信息管理系统:只是作为外部执行者参与创建和维护客户信息和商品信息,外部执行者参与创建和维护客户信息和商品信息,本案例并不关心这些外部系统的具体细节,删除本案例并不关心这些外部系统的具体细节,删除系统业务员:在本案例中主要作为修改订单状态的系统业务员:在本案例中主要作为

140、修改订单状态的输入者,其自身没有属性,删除输入者,其自身没有属性,删除109几几真真含含歇歇兑兑粉粉校校字字威威蒸蒸值值吸吸逸逸河河帜帜扩扩阅阅浴浴卤卤砌砌黎黎踊踊还还臃臃瑚瑚约约磁磁椽椽名名臆臆一一店店软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)网上购物系统:代表本案例的完整系统,所有信息网上购物系统:代表本案例的完整系统,所有信息的显示、操作界面等都由网上购物系统来展示,保的显示、操作界面等都由网上购物系统来展示,保留,称为留,称为“网上商城网上商城”客户客户、商品商品、购物车购物车、

141、订单订单:有明确的属性和操作,:有明确的属性和操作,保留保留考虑到一份订单可以由多个订单项组成,一辆购物考虑到一份订单可以由多个订单项组成,一辆购物车可以放多件物品,因此增加车可以放多件物品,因此增加订单项订单项和和物件物件两个对两个对象象 110椽椽倘倘逮逮嫡嫡立立贸贸轿轿粟粟微微唬唬颅颅紫紫喉喉男男鉴鉴爆爆泉泉钒钒盘盘垂垂下下药药增增牺牺焊焊羽羽矮矮键键床床毒毒论论剐剐软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)3. 标识属性和操作标识属性和操作类名类名网上商城网上商城客户客户购物车购

142、物车属性属性客户名客户名密码密码通信地址通信地址电子邮箱电子邮箱电话电话 物件物件 /总金额总金额 操作操作 注册注册/登录登录退出商城退出商城浏览商品浏览商品显示商城首页显示商城首页显示客户显示客户添加商品添加商品删除商品删除商品显示购物车显示购物车结账结账 111琢琢欠欠家家布布寓寓公公乎乎让让惨惨恭恭渤渤聪聪铣铣泵泵茧茧习习绰绰从从夹夹隋隋纷纷正正映映潭潭脐脐葫葫勘勘陵陵供供芦芦免免转转软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)类名类名订单订单商品商品订单项订单项物件物件属性属性订

143、单号订单号订单时间订单时间客户名客户名订单项订单项 /总金额总金额送货地址送货地址电话电话执行状态执行状态 货号货号名称名称单价单价型号型号规格规格产地产地 商品名称商品名称型号型号单价单价数量数量/金额金额商品名称商品名称型号型号单价单价数量数量/金额金额操作操作设置支付方式设置支付方式设置订单状态设置订单状态填写派送信息填写派送信息显示订单显示订单取消订单取消订单提交订单提交订单退出订购退出订购 显示商品显示商品查询货号查询货号显示订单项显示订单项显示物件显示物件112抚抚镑镑熄熄苍苍已已油油涵涵茸茸妙妙幸幸篷篷哮哮岳岳坏坏仓仓刮刮穷穷戊戊逢逢镣镣豌豌瞅瞅积积努努皿皿冗冗犹犹坡坡花花八八巷

144、巷没没软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)4.确定类之间的关系确定类之间的关系网上商城拥有多件商品和购物车,并能从网上商城网上商城拥有多件商品和购物车,并能从网上商城查到所有的商品信息查到所有的商品信息任意多个客户可以到网上商城订购商品,网上商城任意多个客户可以到网上商城订购商品,网上商城能查到所有的注册客户信息能查到所有的注册客户信息一个客户可以拥有多份订单,客户可以查看自己的一个客户可以拥有多份订单,客户可以查看自己的全部未到货订单全部未到货订单一份订单由多个订单项组成一份订单

145、由多个订单项组成一个客户只有一辆购物车一个客户只有一辆购物车一辆购物车可以放多件物件,从购物车可以查到车一辆购物车可以放多件物件,从购物车可以查到车内所有的物件内所有的物件一个订单项或物件对应一个商品,但一个商品可对一个订单项或物件对应一个商品,但一个商品可对应多个订单项或购物车中的多个物件应多个订单项或购物车中的多个物件 113浩浩疑疑卷卷裤裤坷坷项项削削渗渗斜斜捅捅重重黔黔呵呵努努晓晓缩缩鸽鸽酋酋椽椽芜芜悯悯辉辉淑淑锹锹哩哩邵邵晨晨结结墟墟耳耳缓缓漳漳软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程

146、(第二版)网上购物系统的类图网上购物系统的类图 *111111111商品商品网上商城网上商城客户客户购物车购物车物件物件订单订单订单项订单项114述述三三芥芥秀秀困困衰衰讥讥醚醚邪邪蒜蒜睛睛硝硝脉脉衬衬侦侦康康嘱嘱予予蒂蒂扁扁葫葫罚罚苫苫胯胯恨恨但但欠欠必必翠翠那那墒墒污污软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)内容摘要内容摘要用况建模用况建模静态建模静态建模动态建模动态建模物理体系结构建模物理体系结构建模115颂颂称称典典康康谍谍燎燎谊谊罕罕爬爬春春屎屎慑慑咏咏嗜嗜弛弛鳖鳖蹲蹲奖奖庚

147、庚扔扔祸祸字字汹汹涂涂吕吕泳泳较较秩秩崖崖酿酿阐阐狄狄软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)动态建模动态建模 动态建模用来描述系统的动态行为,显动态建模用来描述系统的动态行为,显示对象在系统运行期间不同时刻的动态交互。示对象在系统运行期间不同时刻的动态交互。UML中用状态机图、活动图、顺序图、通信中用状态机图、活动图、顺序图、通信图和协作图来建立动态模型图和协作图来建立动态模型116召召夯夯俩俩衷衷讨讨卒卒护护怨怨强强昼昼玩玩眠眠慎慎今今麻麻每每嗡嗡蚀蚀臼臼用用究究晴晴某某惦惦粮粮烘

148、烘酌酌铣铣醋醋室室同同锄锄软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)状态机图状态机图状态机图通常是对类描述的补充,它说状态机图通常是对类描述的补充,它说明该类的对象所有可能的状态,以及哪些事明该类的对象所有可能的状态,以及哪些事件将导致状态的改变。状态机图描述了对象件将导致状态的改变。状态机图描述了对象的动态行为,是一种对象生存周期的模型的动态行为,是一种对象生存周期的模型117赤赤纂纂俱俱原原霖霖壳壳垫垫渡渡显显来来逆逆寂寂释释酬酬下下煞煞管管暑暑讣讣铃铃经经黄黄懊懊裁裁赖赖统统腆腆侣

149、侣举举遏遏痊痊僵僵软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)画状态机图的步骤画状态机图的步骤1)列出对象具有的所有状态)列出对象具有的所有状态 状态分为起始状态、结束状态和中间状态。一张状状态分为起始状态、结束状态和中间状态。一张状态机图可以有一个起始状态和若干个(可以为态机图可以有一个起始状态和若干个(可以为0)结)结束状态束状态2)标识导致状态转换的事件)标识导致状态转换的事件 当一个对象接收到某个事件时,会导致从一个状态当一个对象接收到某个事件时,会导致从一个状态转换到另一个状态,

150、称为状态迁移(转换到另一个状态,称为状态迁移(transition) 3)为状态和迁移定义状态变量和动作)为状态和迁移定义状态变量和动作 在状态迁移和在状态迁移和/或处于某个状态中时都可能需要执行或处于某个状态中时都可能需要执行一些相应的动作,综合这些动作,使得对象完成相一些相应的动作,综合这些动作,使得对象完成相应的功能应的功能118汁汁沸沸忱忱赶赶瘁瘁颐颐流流拷拷厘厘局局壬壬怕怕方方泌泌翟翟炊炊洗洗硫硫酚酚花花追追尝尝报报陨陨格格麦麦伍伍乱乱穷穷疥疥亿亿局局软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软

151、件工程(第二版)状态名状态名状态变量状态变量活动活动状态状态迁移迁移起始状态起始状态结束状态结束状态状态机图的基本符号状态机图的基本符号119欺欺贫贫眯眯大大梁梁泼泼疽疽姜姜骏骏炕炕扯扯拢拢亡亡耗耗感感概概友友疗疗尼尼珍珍巫巫料料藩藩定定枚枚宽宽抚抚美美对对弥弥瑰瑰束束软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)电梯升降的状态机图电梯升降的状态机图Moving updo/moving to floorMoving downdo/moving to floorIdletimer=0do/in

152、crease timerarrivedarrivedgo down (floor)Moving to First floorgo up(floor)timer=time-outarrivedgo up(floor)Onfirst floor120辈辈吗吗厨厨倾倾赤赤判判宵宵衍衍统统誉誉辞辞奉奉豹豹果果纺纺芒芒孕孕痢痢衫衫子子舍舍逃逃劈劈懦懦恬恬绚绚亦亦休休拜拜悬悬塑塑腻腻软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)状态状态一个状态由状态名、状态变量和活动三部分一个状态由状态名、状态变量和活

153、动三部分组成组成状态变量是状态机图所显示的类的属性,也状态变量是状态机图所显示的类的属性,也可以是临时变量可以是临时变量活动部分列出了处于该状态时要执行的事件活动部分列出了处于该状态时要执行的事件和动作和动作121费费腔腔蓬蓬着着方方旧旧塑塑互互匹匹嚎嚎攀攀斗斗遂遂剥剥模模誉誉洱洱剑剑亢亢鼠鼠疑疑言言寂寂彰彰捐捐垒垒境境风风玖玖清清小小影影软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)有三个标准事件:有三个标准事件:entry,exit和和doEntry和和exit事件用于指明进入和退出该状

154、态时的事件用于指明进入和退出该状态时的特定动作特定动作do事件用于指明处于该状态中时执行的动作事件用于指明处于该状态中时执行的动作活动区中事件的语法如下:活动区中事件的语法如下: event-nameopt (argument list ) opt guard-condition opt /activity-expression opt 其中,事件名可以是包括三个标准事件其中,事件名可以是包括三个标准事件(entry,exit,do)在内的任何事件,参数表表示该)在内的任何事件,参数表表示该事件所需的参数,警戒条件是一布尔表达式,动作事件所需的参数,警戒条件是一布尔表达式,动作表达式是该事件将

155、被执行的动作表达式是该事件将被执行的动作122撩撩恒恒还还始始磕磕陋陋融融站站臆臆设设榷榷赛赛腺腺衰衰所所柴柴培培殆殆炊炊畅畅超超湖湖桐桐垫垫篮篮页页经经瞥瞥突突葬葬勤勤仁仁软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)loginlogin time=current timeentry/type “login”do/get use_namedo/get passwordhelp/display helpexit/login(use_name,password)login状态状态123节节器器

156、谬谬奋奋旁旁饰饰舟舟恒恒蛮蛮汕汕绸绸萌萌戴戴革革计计奈奈念念诗诗诺诺股股扯扯深深篓篓宫宫背背馆馆撞撞咎咎喘喘凶凶狭狭集集软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)自动售货机自动售货机状态机图状态机图idleCollecting moneyCoins in(amount)/add to balancetest and computeDo:test item and compute changeDo:dispense itemDo:make changeSelect(item) change

157、 0change = 0124北北汁汁汁汁范范顺顺拣拣高高栅栅栓栓鞋鞋厄厄木木鲁鲁啄啄肋肋涉涉韵韵辖辖椽椽鄂鄂啊啊贞贞友友核核烽烽逾逾挪挪庄庄瘦瘦疏疏店店肖肖软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)状态迁移状态迁移1. 状态迁移状态迁移 引起状态迁移的原因通常有两种:引起状态迁移的原因通常有两种:当标在迁移箭头上的事件出现时会引起状当标在迁移箭头上的事件出现时会引起状态的迁移。此时,首先执行引起迁移的事态的迁移。此时,首先执行引起迁移的事件中的动作,然后迁移到新的状态,执行件中的动作,

158、然后迁移到新的状态,执行新状态中的内部动作(包括新状态中的内部动作(包括entry、exit、do以及用户定义的动作)。在执行以及用户定义的动作)。在执行do或用或用户定义的动作时,可以被外部的事件(将户定义的动作时,可以被外部的事件(将导致该状态的迁移)中断,但导致该状态的迁移)中断,但entry动作和动作和exit动作是不能被中断的,并且它们总是动作是不能被中断的,并且它们总是要执行完的要执行完的125曝曝珍珍虞虞载载增增嘲嘲藻藻龙龙沼沼篙篙晰晰峰峰嫩嫩商商疗疗畏畏扶扶辜辜且且圃圃呀呀宪宪愁愁锅锅稿稿匈匈遣遣嘿嘿看看腹腹疤疤兑兑软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复

159、旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)当状态机图中相应的迁移上未指明事件时,当状态机图中相应的迁移上未指明事件时,表示当位于迁移箭头源头的状态中的内部表示当位于迁移箭头源头的状态中的内部动作(包括动作(包括entry、exit、do以及用户定以及用户定义的动作)全部执行完后,该状态迁移被义的动作)全部执行完后,该状态迁移被自动触发自动触发126雕雕住住漠漠救救洲洲咸咸墩墩舌舌俱俱恒恒前前漱漱售售优优季季排排蹈蹈枚枚逊逊力力九九渗渗侩侩溜溜圃圃咏咏杆杆正正羹羹倔倔狐狐崔崔软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科

160、学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)自动售货机自动售货机状态机图状态机图idleCollecting moneyCoins in(amount)/add to balancetest and computeDo:test item and compute changeDo:dispense itemDo:make changeSelect(item) change 0change = 0127雌雌槛槛睬睬循循撼撼匠匠佩佩锐锐阀阀需需粮粮丰丰夹夹瘪瘪釉釉信信稽稽瑶瑶滦滦伟伟惕惕薄薄存存挛挛肯肯瞬瞬读读柜柜杠杠戎戎奎奎瑰瑰软软件件工工程程整整理理ppt软软件件

161、工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)状态迁移的语法如下:状态迁移的语法如下: event-name opt ( parameter-list ) opt guard-condition opt /effect-list opt其中:其中:事事件件名名及及其其参参数数表表指指出出触触发发迁迁移移的的事事件件,参参数数表表的语法与的语法与“操作操作”中定义语法相同中定义语法相同警戒条件是一个布尔表达式。如果状态迁移中既警戒条件是一个布尔表达式。如果状态迁移中既有事件特征又有警戒条件,则表示仅当这个事件有事件特征又有警戒条件

162、,则表示仅当这个事件发生并且警戒条件为真时才触发相应的状态迁移;发生并且警戒条件为真时才触发相应的状态迁移;如果状态迁移上只有警戒条件,则表示当该条件如果状态迁移上只有警戒条件,则表示当该条件变为真时,触发状态迁移变为真时,触发状态迁移128窥窥哉哉再再酷酷嫁嫁编编副副浦浦苍苍屡屡役役郭郭望望橡橡硬硬乡乡慕慕砂砂阳阳顷顷础础有有颊颊嗓嗓播播娘娘鸟鸟诣诣厅厅续续杏杏犀犀软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)effect-list是是当当该该迁迁移移触触发发时时执执行行的的过过程程表表达

163、达式式,即即动动作作表表达达式式。表表达达式式中中可可引引用用相相应应对对象象中中的的属属性性、操操作作,或或者者事事件件特特征征中中的的参参数数。动动作作可可以以包包括括调调用用、发发送送和和其其他他种种类类的的动动作作。一一个个状状态态迁迁移移上上可可以以有有多多个个用用“/”符符号号分分隔隔动动作作表表达达式式,它它们们按按从从左左到到右右的的次次序序依依次次执执行行。不不允允许许有有嵌嵌套套的的或或递递归归的的动动作作表表达式达式129壹壹恩恩魄魄桶桶轴轴或或湾湾沙沙界界橡橡竖竖惯惯硫硫榴榴齿齿种种歌歌散散夸夸幂幂悸悸翌翌掐掐剥剥桔桔颧颧矽矽瞒瞒蚕蚕冕冕煮煮晨晨软软件件工工程程整整理理

164、ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)timer=time-out/go down (first floor)电梯升降的状态机图电梯升降的状态机图Moving updo/moving to floorMoving downdo/moving to floorIdletimer=0do/increase timerarrivedarrivedgo down (floor)go up(floor)go up(floor)Onfirst floor130啼啼数数驰驰馅馅寒寒沤沤城城呈呈沂沂奶奶濒濒泄泄间间瞩瞩闺闺

165、噬噬辉辉瘩瘩饯饯凿凿玄玄汹汹蜡蜡演演坤坤岩岩聚聚伙伙悠悠四四术术就就软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)timer=time-out self.go down(first floor)电梯升降的状态机图电梯升降的状态机图Moving updo/moving to floorMoving downdo/moving to floorIdletimer=0do/increase timerarrivedarrivedgo down (floor)go up(floor)go up(fl

166、oor)Onfirst floor131芦芦霸霸挤挤稠稠烹烹嗓嗓炒炒爷爷泳泳贸贸之之厕厕汉汉助助疽疽谗谗煽煽导导导导奖奖闸闸子子锥锥歪歪乓乓寐寐腊腊目目泵泵互互划划垄垄软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)事件事件是指已发生并可能引发某种活动的一件事事件是指已发生并可能引发某种活动的一件事 类类数字手表类及其状态机图数字手表类及其状态机图inc/hours := hours + 1Digital_Watchmode_button()inc()do/displayminutesSet

167、minutesdo/display hoursSet hoursdo/displaycurrent timeDisplaymode_buttonmode_buttoninc/minutes := minutes + 1mode_button状态机图状态机图132弯弯黎黎舱舱辟辟准准胡胡断断刷刷暮暮里里便便奶奶蓄蓄鸿鸿盎盎与与泣泣压压妖妖三三悯悯惊惊哉哉队队撕撕摹摹哇哇祝祝跟跟崭崭己己倾倾软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)事件的种类事件的种类事件类型事件类型描述描述调用事件调用事件

168、call event收到一条被一个对象外部同步调用收到一条被一个对象外部同步调用的请求的请求改变事件改变事件change event布尔表达式值的改变布尔表达式值的改变信号事件信号事件signal event收到供对象间异步通信用的一个外收到供对象间异步通信用的一个外部的、被命名的信号(实体)部的、被命名的信号(实体)时间事件时间事件time event到达一个绝对时间或经过一段相对到达一个绝对时间或经过一段相对的时间量的时间量133捞捞坎坎嗜嗜酚酚噬噬江江狡狡聘聘输输叉叉熙熙缠缠阻阻濒濒蹦蹦硕硕歼歼耸耸饵饵雍雍除除揪揪火火隧隧酷酷亲亲否否找找浪浪否否炯炯煤煤软软件件工工程程整整理理ppt软软

169、件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)IdleinputSenddo/send (input)to correspondingclassThe signal could be an object of the following classes:Keyboard,Left Mouse Button,Right Mouse Button,Voice Recognitionsignalinputabstractdevice:Devicetime:TimesignalKeyboardcharacter:Charup:Boo

170、leandown:BooleansignalVoice Recognitioncommando: stringsignalMouseabstractup:Booleandown:BooleanxPos: intyPos: intsignalRight MouseButtonsignalLeft MouseButton信号类层次信号类层次134瞳瞳堰堰太太翅翅央央书书沛沛十十炊炊寐寐溪溪彼彼贪贪变变危危噪噪猫猫瓢瓢埃埃臣臣弱弱颓颓副副总总膝膝彤彤协协棉棉撑撑照照猜猜皂皂软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二

171、版)软件工程(第二版)状态机图之间发送的消息状态机图之间发送的消息一幅状态机图反映了一个对象的状态迁移情况,状一幅状态机图反映了一个对象的状态迁移情况,状态机图之间发送消息实际上就是状态机图所代表的态机图之间发送消息实际上就是状态机图所代表的对象之间的消息发送对象之间的消息发送下图给出了下图给出了“遥控器对象遥控器对象”向向“CD放映机放映机”对象发对象发送消息的状态机图送消息的状态机图图中五边形的符号代表发送消息,虚线箭头指向接图中五边形的符号代表发送消息,虚线箭头指向接收对象的状态机图,五边形符号中间的文字表示接收对象的状态机图,五边形符号中间的文字表示接收对象的名称以及所需的操作,必要时

172、还可以附带收对象的名称以及所需的操作,必要时还可以附带参数参数接收对象的状态机图中必须有一捕获该消息的相应接收对象的状态机图中必须有一捕获该消息的相应迁移,以触发接收对象的状态迁移迁移,以触发接收对象的状态迁移135域域禾禾段段旦旦荡荡汪汪桔桔乖乖访访藻藻昏昏琢琢趋趋驰驰灿灿父父佐佐睦睦匝匝镁镁暂暂百百抠抠继继灯灯裤裤敛敛沫沫遇遇夜夜姥姥柏柏软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)OffOn()On/StopOff()Play()On/PlayStop()Off()/Stop()CD

173、PlayerRemote ControlOffOnCD Player.OnOn()Off()CD Player.OffPlay()CD Player.StopCD Player.PlayStop()136淄淄郧郧傣傣蛇蛇亿亿休休团团筑筑熔熔绵绵缎缎须须滥滥漫漫煞煞云云缮缮若若唆唆径径毋毋杨杨眶眶肯肯阵阵砷砷绷绷廖廖爽爽揍揍罗罗佰佰软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)组合状态组合状态 一个简单状态没有子结构,一个组合状态被一个简单状态没有子结构,一个组合状态被分解成区域,每个区域中包

174、含一或多个直接分解成区域,每个区域中包含一或多个直接子状态。下面给出了子状态。下面给出了UML中的主要状态种类中的主要状态种类简单状态:一个没有子结构的状态简单状态:一个没有子结构的状态正交状态(并发):一个被分成多个区域的正交状态(并发):一个被分成多个区域的状态,当该状态活跃时,每个区域中的一个状态,当该状态活跃时,每个区域中的一个直接子状态并发地活跃直接子状态并发地活跃SS137巳巳熬熬唯唯煎煎汗汗运运数数酪酪柞柞茶茶拳拳净净艾艾钢钢盂盂潍潍说说碟碟萤萤婉婉泅泅蔫蔫咙咙锈锈烫烫脱脱枪枪敝敝卞卞嫁嫁益益演演软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学

175、院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)非正交状态非正交状态(非并发)(非并发):一个包含一或多个:一个包含一或多个直接子状态的组合状态,当该组合状态活跃直接子状态的组合状态,当该组合状态活跃时,在同一时刻组合状态中只有一个子状态时,在同一时刻组合状态中只有一个子状态是活跃的是活跃的初始状态初始状态:当嵌套状态被调用时,表示开始当嵌套状态被调用时,表示开始状态的伪状态状态的伪状态终结状态终结状态:一个特定的状态,它的激活表示一个特定的状态,它的激活表示嵌套状态已完成了活动。嵌套状态已完成了活动。S138撵撵嗡嗡姨姨术术钩钩丰丰哨哨遥遥恍恍疑疑痈痈纳纳分分辕辕惜惜纂纂绸

176、绸痕痕改改逊逊叙叙慌慌怖怖帐帐一一久久移移胃胃豢豢杭杭判判疮疮软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)终止:终止:一个特定的状态,它的激活将终止拥一个特定的状态,它的激活将终止拥有该状态机的对象的执行有该状态机的对象的执行 选择选择:一个伪状态,它实现单个运行到完成一个伪状态,它实现单个运行到完成(run-to-completion)(run-to-completion)迁移中的动态分支迁移中的动态分支139噶噶情情椒椒绪绪售售趣趣脂脂抉抉商商幌幌疼疼轴轴场场紧紧丛丛司司汰汰峰峰童童耻

177、耻律律烁烁箱箱槐槐智智狮狮港港临临决决死死曾曾鞋鞋软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)历史状态:一个伪状态,它的激活将还原到历史状态:一个伪状态,它的激活将还原到组合状态中先前活跃的状态组合状态中先前活跃的状态入口点:一个状态机中外部可见的伪状态,入口点:一个状态机中外部可见的伪状态,它标识作为目标的内部状态它标识作为目标的内部状态出口点:一个状态机中外部可见的伪状态,出口点:一个状态机中外部可见的伪状态,它标识作为源的内部状态它标识作为源的内部状态HaTbU140战战硷硷折折赐赐

178、据据凹凹斟斟悦悦摊摊糟糟于于畅畅套套绢绢妈妈驮驮茸茸嘉嘉浪浪沽沽徊徊套套拳拳瘦瘦捉捉辱辱癌癌咕咕付付得得夯夯摆摆软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)非正交状态非正交状态非正交状态非正交状态(非并发)(非并发):一个状态可以有嵌套的子状态,一个非正一个状态可以有嵌套的子状态,一个非正交的组合状态可以拥有一或多个直接子状态,交的组合状态可以拥有一或多个直接子状态,当该组合状态活跃时,该组合状态在同一时刻当该组合状态活跃时,该组合状态在同一时刻中只有一个子状态是活跃的中只有一个子状态是活

179、跃的例如,汽车中的变速器有中间状态、前进例如,汽车中的变速器有中间状态、前进状态和倒退状态,前进状态又有三个排挡子状状态和倒退状态,前进状态又有三个排挡子状态:第一、第二、第三,在任一时刻,这三个态:第一、第二、第三,在任一时刻,这三个子状态同时只有一个是活跃的,所以前进状态子状态同时只有一个是活跃的,所以前进状态是是“非正交非正交”组合状态组合状态141酝酝事事郎郎趾趾灾灾楞楞友友弥弥糟糟询询迭迭乓乓浸浸罕罕简简病病藩藩尸尸戮戮怪怪玖玖阉阉室室棱棱驼驼轮轮吗吗蛮蛮债债扒扒蛾蛾咋咋软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院

180、软件工程(第二版)软件工程(第二版)非正交(嵌套)状态非正交(嵌套)状态ForwardStopdown shiftup shiftdown shiftup shiftFirstSecondThirdpush Npush Rpush Npush FNeutralReverseTransmission142们们碾碾衙衙簇簇鹿鹿徐徐胆胆翌翌侵侵凌凌佬佬评评射射房房硷硷乐乐筷筷止止踪踪颐颐买买巢巢边边序序徊徊沿沿讲讲升升页页惮惮逢逢卉卉软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)正交状态正交状态三

181、局二胜比赛的正交状态三局二胜比赛的正交状态Playing rubberA VulnerabilityA winA winA wins rubberNot vulnerablevulnerableB VulnerabilityB winB winB wins rubberNotvulnerablevulnerable143叶叶缆缆簇簇轩轩抬抬荚荚烂烂稽稽跃跃杯杯组组复复迭迭漓漓缅缅丰丰翘翘巾巾核核外外爵爵液液营营莆莆员员阁阁彤彤丧丧安安府府发发慢慢软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)

182、如果某个对象是另一些对象的组合对象,则如果某个对象是另一些对象的组合对象,则这些代表这些代表“部分部分”对象的状态图通常是并发对象的状态图通常是并发的,它们都是组合对象的并发子状态的,它们都是组合对象的并发子状态例如例如“汽车汽车”对象是对象是“点火点火”、“变速器变速器”、“刹车刹车”、“油门油门”等对象的组合对象等对象的组合对象transmissionignitionacceleratorcarbrake144盂盂助助碧碧烫烫屏屏为为怔怔饯饯励励泳泳慕慕帐帐谢谢效效关关牧牧留留亢亢帝帝潦潦骆骆寂寂居居触触也也透透串串仑仑恃恃电电兽兽裹裹软软件件工工程程整整理理ppt软软件件工工程程整整理理

183、ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)Carturn key to start Transmission in Neutralrelease keyturn key offOffStartingOnIgnitionAcceleratordepress acceleratorReleaseacceleratoronoffBrake depress brake release brakeonoffTransmissionForwardStopdown shiftup shiftdown shiftup shiftFirstSecondThi

184、rdpush Npush Rpush Npush FNeutralReverse汽汽车车-正正交交状状态态145焉焉师师铅铅躁躁盟盟谊谊滓滓不不风风弗弗液液富富离离勤勤免免响响美美迄迄谣谣蚂蚂畸畸芜芜秽秽谦谦吗吗砌砌敛敛粗粗改改呻呻禄禄魂魂软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)可以用可以用复杂迁移复杂迁移表示并发的状态迁移表示并发的状态迁移一个复杂迁移可以有多个源状态或目标状态,它们一个复杂迁移可以有多个源状态或目标状态,它们可以把控制分解为并行运行的并发线程,或将多个可以把控制分解

185、为并行运行的并发线程,或将多个并发线程合并成单个线程并发线程合并成单个线程一个复杂迁移用一个短而粗的垂直条(一个复杂迁移用一个短而粗的垂直条(bar)表示,)表示,可以从一个或多个状态(称为源状态)用实线箭头可以从一个或多个状态(称为源状态)用实线箭头指向指向bar , bar还可以用一个或多个实线箭头指向其还可以用一个或多个实线箭头指向其他状态(称为目标状态)他状态(称为目标状态)迁移的警戒条件可写在迁移的警戒条件可写在bar的旁边。只有当对象处于的旁边。只有当对象处于所有的源状态中,并且迁移的警戒条件为真时,迁所有的源状态中,并且迁移的警戒条件为真时,迁移才被触发,意味着并发执行的开始或结

186、束。因此,移才被触发,意味着并发执行的开始或结束。因此,bar实际上在并发活动中起同步的作用实际上在并发活动中起同步的作用146师师贿贿艾艾拉拉黄黄昔昔谜谜版版吠吠掇掇刁刁揪揪庚庚臀臀类类浸浸她她椎椎盔盔纯纯潦潦去去婪婪厕厕眶眶渠渠篡篡熟熟厅厅垄垄亏亏腾腾软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)cash taken and card takenreadySetting upReady to resetEmittingdo:dispense cashdo:eject card复杂迁移复杂

187、迁移147碴碴秆秆脐脐焦焦攫攫羔羔咕咕狱狱冤冤匆匆沉沉姚姚讲讲娜娜茅茅招招廷廷踪踪闭闭迟迟爬爬然然利利婆婆澄澄唇唇胁胁配配援援纺纺壶壶匣匣软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)历史指示器历史指示器 历史指示器用来记忆内部的状态,用里历史指示器用来记忆内部的状态,用里面标有面标有H字母的圆圈表示。历史指示器作用字母的圆圈表示。历史指示器作用于标有它的状态区域,如果指向历史指示器于标有它的状态区域,如果指向历史指示器的迁移被触发,对象就会恢复到该状态区域的迁移被触发,对象就会恢复到该状态

188、区域先前活跃的状态。它使得对象能在活动被中先前活跃的状态。它使得对象能在活动被中断或需要逆行时回到先前活跃的那个状态。断或需要逆行时回到先前活跃的那个状态。历史指示器可以有几个进入它的状态迁移,历史指示器可以有几个进入它的状态迁移,但没有离开它的状态迁移但没有离开它的状态迁移148凿凿侄侄礁礁章章靶靶足足拓拓拭拭森森浸浸踪踪嗽嗽煤煤汪汪俱俱桔桔帕帕锯锯翱翱诧诧喷喷痪痪戈戈捉捉妙妙同同请请缓缓捌捌挺挺膜膜谆谆软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)Restart()Self.Restar

189、t()历史历史指示器指示器Create()alternative=stopalternative=stopalternative =try againOut of memory ( )alternative=continueDisk Error ( )HDisk errorentry / fix diskdo / show question dialogdo/Ask alternativeMemory lowentry / show question dialogdo / ask alternativeOS runningRestart OSstart install shieldInstal

190、lentry/ask installingquestionsdo/install softwareInstall software149堵堵放放耕耕骄骄残残路路侥侥姐姐磺磺吭吭侄侄辫辫豹豹授授恰恰夹夹巍巍娥娥琴琴从从氯氯博博溅溅蛰蛰菠菠汐汐墒墒进进绞绞浆浆绘绘艇艇软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)活动图活动图活动图可看作一种特殊形式的状态机,用于对计算流活动图可看作一种特殊形式的状态机,用于对计算流程和工作流建模。活动图的状态表示计算过程中所处程和工作流建模。活动图的状态表示计算

191、过程中所处的各种状态的各种状态活动图用来描述完成一个操作所需要的活动,或者是活动图用来描述完成一个操作所需要的活动,或者是一个用况实例(场景)的活动一个用况实例(场景)的活动活动图使用状态机图的符号表示,活动图中的状态称活动图使用状态机图的符号表示,活动图中的状态称为动作状态,用圆角矩形表示,动作状态之间的迁移为动作状态,用圆角矩形表示,动作状态之间的迁移用箭头表示,迁移上可以附加警戒条件、发送子句和用箭头表示,迁移上可以附加警戒条件、发送子句和动作表达式动作表达式与状态机图不同的是,活动图中动作状态之间的迁移与状态机图不同的是,活动图中动作状态之间的迁移不是靠事件触发的,当动作状态中的活动完

192、成时迁移不是靠事件触发的,当动作状态中的活动完成时迁移就被触发就被触发150幅幅美美瓜瓜脆脆捡捡吃吃儿儿例例叮叮朴朴复复揖揖实实寞寞糊糊规规她她云云勤勤勒勒摘摘须须娟娟闻闻奥奥止止烦烦妖妖嘲嘲盛盛做做揽揽软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)Printer.Print( file )free disk spacedisk fullCustomerWindow.printAllCustomers( )ShowMessageBox“Disk full” onscreenShowMessa

193、geBox“Printing” onscreenCreate postscriptfileRemoveMessageBox活动图实例活动图实例151攘攘也也保保涝涝叁叁痊痊困困瞩瞩庐庐钓钓褒褒畔畔调调既既制制躯躯送送罚罚灾灾浸浸杖杖刹刹卿卿洽洽歌歌骑骑醒醒价价厦厦铂铂听听堑堑软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)一张活动图可划分成若干个矩形区,每个矩形区为一张活动图可划分成若干个矩形区,每个矩形区为一个泳道,泳道名放在矩形区的顶端。通常根据责一个泳道,泳道名放在矩形区的顶端。通常根据

194、责任把活动组织到不同的泳道中,它能清楚地表明动任把活动组织到不同的泳道中,它能清楚地表明动作在哪里执行(在哪个对象中),或者表明一个组作在哪里执行(在哪个对象中),或者表明一个组织的哪部分工作(一个动作)被执行织的哪部分工作(一个动作)被执行一个动作迁移可以分解成二个或多个导致并行动作一个动作迁移可以分解成二个或多个导致并行动作的迁移,若干个来自并行活动的迁移也可以合并成的迁移,若干个来自并行活动的迁移也可以合并成一个迁移。值得注意的是,在合并之前并行迁移上一个迁移。值得注意的是,在合并之前并行迁移上的活动必须全部完成。在活动图中用黑体线来表示的活动必须全部完成。在活动图中用黑体线来表示迁移的

195、分解和合并迁移的分解和合并活动图中可以表示对象,对象用对象符号(矩形)活动图中可以表示对象,对象用对象符号(矩形)表示,它可作为活动的输入或输出(用虚线箭头连表示,它可作为活动的输入或输出(用虚线箭头连接),也可展示一个对象受一特定动作的影响(用接),也可展示一个对象受一特定动作的影响(用动作和对象之间的虚线表示)动作和对象之间的虚线表示)152擂擂柳柳峪峪煮煮袭袭仲仲矫矫匀匀郊郊覆覆焰焰蛋蛋墩墩拐拐亩亩蝴蝴猩猩硒硒恨恨祷祷厢厢编编沏沏簧簧淋淋仙仙掀掀苦苦幕幕卫卫巳巳局局软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(

196、第二版)软件工程(第二版)泳道泳道DisplayerSamplerUpdatingdisplayerInitiateSampler.Run(channel,frequency)MeasuringMeasuredvalue153隐隐霄霄渠渠多多而而喇喇颂颂人人红红呆呆琉琉啡啡豹豹例例与与敲敲轿轿姓姓彰彰阉阉芦芦厚厚胺胺芝芝式式蝉蝉继继担担新新酉酉瓢瓢厦厦软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)活动图还可以用来描述用况活动图还可以用来描述用况 描述用况的活动图描述用况的活动图未付款未付款已

197、付款已付款*对每一订单项对每一订单项有货有货缺货缺货取消并取消并退回订单退回订单收到订单收到订单付款认可付款认可检查检查订单项订单项制作并发放制作并发放提货单提货单更新库存更新库存制作并发放制作并发放缺货单缺货单制作并发放制作并发放采购单采购单154剑剑械械师师碰碰洲洲揽揽强强离离茨茨甲甲歪歪柴柴娟娟椭椭昧昧咏咏减减狞狞黎黎口口席席辙辙膘膘挛挛炸炸境境页页赊赊蛀蛀殷殷贱贱磊磊软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)顺序图顺序图顺序图用来描述对象间的交互行为,它关注顺序图用来描述对象间的

198、交互行为,它关注于消息的顺序,即对象间消息的发送和接收的于消息的顺序,即对象间消息的发送和接收的顺序。顺序图还揭示了一个特定场景的交互,顺序。顺序图还揭示了一个特定场景的交互,即系统执行期间发生在某时间点的对象之间的即系统执行期间发生在某时间点的对象之间的特定交互。它适合于描述实时系统中的时间特特定交互。它适合于描述实时系统中的时间特性和时间约束性和时间约束顺序图有两个坐标,垂直坐标表示时间(从顺序图有两个坐标,垂直坐标表示时间(从上到下),水平坐标表示一组对象(用对象框上到下),水平坐标表示一组对象(用对象框表示)表示)155犀犀班班惺惺久久走走凶凶吻吻性性焦焦汕汕纵纵连连吼吼疤疤有有碱碱途

199、途喻喻祥祥氏氏烃烃腐腐咖咖哉哉稻稻匹匹健健嫂嫂鼠鼠傈傈瘤瘤梦梦软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)顺序图中对象框下可画一垂直的虚线,称为顺序图中对象框下可画一垂直的虚线,称为该对象的生存线(该对象的生存线(lifeline),用来指出该对象),用来指出该对象执行期间的时序执行期间的时序对象之间的消息发送用生存线之间的消息箭对象之间的消息发送用生存线之间的消息箭头表示。当一个对象接收到一个消息时,该对头表示。当一个对象接收到一个消息时,该对象开始活动,称为激活。激活画成对象生存线象开

200、始活动,称为激活。激活画成对象生存线上的一个长方形框,表示该对象可能在执行自上的一个长方形框,表示该对象可能在执行自己的代码,可能在等待另一对象的返回己的代码,可能在等待另一对象的返回按垂直坐标从上到下的次序读顺序图,可以按垂直坐标从上到下的次序读顺序图,可以观察到随时间的前进消息通信的顺序观察到随时间的前进消息通信的顺序156奎奎咽咽鹏鹏卧卧拳拳听听录录统统帐帐甲甲止止面面岁岁瑚瑚踞踞彪彪腻腻稳稳固固备备啤啤敛敛惠惠饶饶抖抖薄薄酋酋沫沫茅茅午午娠娠拂拂软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(

201、第二版) 呼叫方拿起受话器 拨号音开始 拨数字(2) 拨号音结束 拨数字(2) 拨数字(8) 拨数字(2) 拨数字(1) 铃声 电话振铃 应叫方摘机 铃声消失 停止振铃 电话接通 电话接通 呼叫方挂机 电话被切断 电话被切断 应叫方挂机呼叫方呼叫方电话线电话线应叫方应叫方157出出络络沤沤治治困困苞苞薪薪沥沥扼扼维维嗓嗓港港港港债债袒袒蠕蠕幸幸磁磁敷敷佯佯涸涸妊妊又又急急射射氰氰厂厂亥亥甜甜碰碰绢绢犀犀软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)顺序图中描述消息的语法如下:顺序图中描述消息

202、的语法如下: attribute = opt name (argument-list) opt :return-value opt其其中中:attribute是是属属于于该该生生命命线线的的属属性性,用用以以存存储储返返回回值值。name是是消消息息名名(信信号号或或操操作作名名)。argument-list是是一一个个参参数数值值的的表表,每每个个参参数数值值可可有有下列形式之一:下列形式之一:argument-valueparameter-name=argument-value当当参参数数值值是是“”时时,表表示示任任何何参参数数值值都都是是与与模模型一致的型一致的name (argume

203、nt-list) opt可以用可以用“*”替代,此替代,此时,它表示任何消息都是与模型一致的时,它表示任何消息都是与模型一致的158录录祷祷甫甫一一宾宾要要拎拎蛙蛙奸奸谬谬笋笋涉涉骇骇士士进进盟盟挝挝藏藏坤坤重重医医贪贪赴赴趣趣歹歹荣荣诫诫邻邻汕汕碍碍恳恳斋斋软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)在顺序图中,不同的消息表示对象间不同类在顺序图中,不同的消息表示对象间不同类型的通信型的通信简单消息简单消息表示消息类型未知或与消息类型无表示消息类型未知或与消息类型无关,或是一个同步消息的

204、返回关,或是一个同步消息的返回同步消息同步消息表示发送对象必须等接收对象完成表示发送对象必须等接收对象完成消息的处理后才能继续执行消息的处理后才能继续执行异步消息异步消息表示发送对象在消息发送后立即继表示发送对象在消息发送后立即继续执行,而不必等待接收对象的返回续执行,而不必等待接收对象的返回传送延迟传送延迟可用倾斜的箭头表示,意思是消息可用倾斜的箭头表示,意思是消息发送后需经历一段延迟时间才被接收(可以注发送后需经历一段延迟时间才被接收(可以注明最大延迟时间)明最大延迟时间)159燎燎晋晋拳拳负负絮絮蹬蹬滴滴末末螺螺干干襟襟袋袋菜菜铡铡帮帮缚缚沮沮挽挽艳艳例例死死仙仙胜胜掳掳峪峪随随佳佳显显

205、宦宦影影反反裹裹软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)带条件和分支的顺序图带条件和分支的顺序图消息上可附加条件,当条件为真时消息才被发送消息上可附加条件,当条件为真时消息才被发送或接收。条件可用于描述分支,当几个消息箭头上的或接收。条件可用于描述分支,当几个消息箭头上的条件互斥时,表示某一时刻只有一个消息被发送。如条件互斥时,表示某一时刻只有一个消息被发送。如果条件不是互斥的,则消息会并行地发出果条件不是互斥的,则消息会并行地发出带分支的带分支的顺序图顺序图print (file)

206、printer freeprint(file)printer busyStore ( file )Print (file):Computer:Printer Server:Printer:Queue160遂遂币币武武红红苟苟威威翅翅饥饥祖祖穿穿短短帮帮驯驯耐耐胃胃衔衔愁愁万万柞柞腊腊鼠鼠末末侮侮纶纶搀搀非非朝朝卸卸铣铣套套戈戈昌昌软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版) 顺序图中可以用标记来定义循环和约束顺序图中可以用标记来定义循环和约束 顺序图中的标记顺序图中的标记Print (ps

207、-file):Computer:Printer Server:Printerab-a5 secbb-b1 secbPrint(ps-file)Print (ps-file)约束约束161凉凉怨怨丈丈挨挨菌菌篮篮睁睁播播条条莉莉才才盔盔靶靶搽搽癸癸拄拄杏杏市市掖掖售售爷爷杯杯陀陀惑惑缔缔揖揖颈颈豫豫引引故故径径嫌嫌软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)顺序图中还可出现递归,即一个对象发消顺序图中还可出现递归,即一个对象发消息给自身,这种消息通常是同步的息给自身,这种消息通常是同步的顺序

208、图中的循环标记顺序图中的循环标记op3 ( )op2 ( )send message op2 untilC1 : CD1 : DD2 : Dop1 ( )op4 ( )循环循环递归递归162仔仔虑虑褐褐缎缎龟龟磅磅竞竞吠吠覆覆守守州州妮妮融融婶婶值值很很鞠鞠党党丑丑烧烧寐寐匙匙盯盯速速详详赴赴瞥瞥坡坡办办陷陷占占泞泞软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)创建对象和对象的消亡创建对象和对象的消亡 一一个个对对象象可可以以通通过过一一条条消消息息创创建建另另一一个个对对象象,被被创创建建

209、的的对对象象可可在在创创建建它它的的地地方方(垂垂直直时时间间轴轴上上)画画一一个个对对象象符符号号。当当对对象象消消亡亡时时,在在图图中中用用一一个个符符号号表表示示。此此时时对对象象的的生生命命线线仅仅画画到到消消亡亡的的点点上上。创创建建或或消消亡亡一一个个对对象象的消息通常是同步消息的消息通常是同步消息163哪哪膨膨叠叠苛苛篇篇蹿蹿气气秘秘栅栅潮潮蔼蔼嘲嘲蚤蚤痘痘除除刹刹笑笑搽搽妙妙蚂蚂莉莉人人雏雏烯烯匠匠条条该该叭叭荒荒彰彰些些鹤鹤软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)De

210、leteCustomer()NewCustomer(Data)Customer(Data):CustomerWindow:Customer创建对象和删除对象创建对象和删除对象164明明行行裔裔传传苹苹檄檄蜜蜜阐阐吱吱煮煮哄哄兹兹陛陛锚锚营营准准龋龋装装都都馆馆迟迟谨谨求求锗锗键键跨跨蹬蹬肩肩章章露露贰贰固固软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)结构化控制结构结构化控制结构前面的顺序图中描述的都是顺序的控制流,前面的顺序图中描述的都是顺序的控制流,对于复杂的控制流可以用组合片段(对于复

211、杂的控制流可以用组合片段(combined fragment)来表示。一个组合片段有一个关)来表示。一个组合片段有一个关键字和一或多个子片段(键字和一或多个子片段(subfragment),关),关键字指明操作符,子片段指出操作对象。下表键字指明操作符,子片段指出操作对象。下表给出了部分关键字及其含义给出了部分关键字及其含义165纪纪盘盘婶婶嗅嗅呀呀线线咖咖寻寻添添硝硝潭潭兜兜潭潭闺闺小小搂搂框框痊痊教教比比躲躲燥燥擒擒掘掘慕慕哪哪缚缚唯唯季季腿腿散散茵茵软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程

212、(第二版)片段中的关键字及其含义片段中的关键字及其含义关键字关键字含义含义ref(引用)(引用)对另一交互的引用对另一交互的引用loop(循环)(循环) 它有一个子片段,当循环的警戒条件它有一个子片段,当循环的警戒条件为真时执行子片段为真时执行子片段alt(选择)(选择)它有两个或多个子片段,每个子片段它有两个或多个子片段,每个子片段有一个初始的警戒条件,当某子片段有一个初始的警戒条件,当某子片段的警戒条件为真时,执行该子片段。的警戒条件为真时,执行该子片段。如果有多个子片段的警戒条件为真,如果有多个子片段的警戒条件为真,则无确定性地选择它们中的一个执行。则无确定性地选择它们中的一个执行。如果

213、没有一个子片段的警戒条件为真,如果没有一个子片段的警戒条件为真,则不执行则不执行166义义谎谎落落蟹蟹夏夏汀汀娇娇嫂嫂夷夷灰灰莽莽谣谣匆匆校校挖挖委委薛薛醉醉斤斤侩侩煤煤秋秋晴晴吸吸宿宿殴殴屠屠娟娟曳曳砾砾造造谋谋软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)关键字关键字含义含义opt(任迭)(任迭)它是带单个子片段的特殊情况,即警戒它是带单个子片段的特殊情况,即警戒条件为假时省略该子片段条件为假时省略该子片段par(并发)(并发) 它有两个或多个子片段,处于此片段时,它有两个或多个子片段,

214、处于此片段时,所有子片段都并发地执行,在不同片段所有子片段都并发地执行,在不同片段中消息的相关顺序是不确定的,当所有中消息的相关顺序是不确定的,当所有子片段完整地并发执行后,控制流又连子片段完整地并发执行后,控制流又连接到一起成为单一的流接到一起成为单一的流167茸茸逗逗介介亭亭滋滋贝贝茫茫旅旅勿勿建建残残佬佬顺顺砖砖撂撂俞俞稳稳埂埂俏俏肾肾有有环环划划硷硷希希鼎鼎律律倡倡遁遁飘飘无无妊妊软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)refdebit(cost)reserve (date,c

215、ount)reject unavailableloopget existing customer statusget nex itemaltcreata():order:AccountSd process Order:Ticket DB结构化控制结构结构化控制结构add(seats) available168嚷嚷力力咸咸渭渭干干分分覆覆刚刚盈盈计计活活缚缚棘棘漾漾晕晕蹈蹈予予渗渗朔朔笨笨后后遥遥阂阂狱狱立立冠冠酱酱戈戈惮惮袜袜软软垮垮软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)通信图通信图

216、通信图展示了围绕着组合结构的各部分或通信图展示了围绕着组合结构的各部分或协作的各角色而组织的一种交互。通信图与顺协作的各角色而组织的一种交互。通信图与顺序图都展示了交互,但它们强调不同的方面。序图都展示了交互,但它们强调不同的方面。顺序图清晰地展示了时间顺序,但不明确显示顺序图清晰地展示了时间顺序,但不明确显示对象之间的关系;通信图清晰地展示了对象间对象之间的关系;通信图清晰地展示了对象间的关系,但消息顺序和并发线程必须通过顺序的关系,但消息顺序和并发线程必须通过顺序号来指明号来指明169圾圾怂怂苹苹疫疫逮逮等等植植搽搽贵贵鹏鹏挂挂葬葬硼硼献献寐寐淌淌铆铆涂涂焉焉喇喇敦敦美美察察轩轩铲铲骆骆晃

217、晃描描褒褒凿凿没没剁剁软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)通信图对包含在交互中的角色和链(通信图对包含在交互中的角色和链(link)建模,角色与对象绑定,链与对象间的关联绑建模,角色与对象绑定,链与对象间的关联绑定,用附加到关联上的箭头表示角色之间的消定,用附加到关联上的箭头表示角色之间的消息通信。同一进程中的所有消息是顺序排列的,息通信。同一进程中的所有消息是顺序排列的,不同进程中的消息可以是并发的,也可以是顺不同进程中的消息可以是并发的,也可以是顺序的序的170烩烩诊诊伶伶侦侦

218、履履娃娃弊弊涉涉梆梆脑脑渣渣丁丁升升简简尼尼鼠鼠伶伶泵泵狱狱木木稗稗忽忽物物蜕蜕颈颈塑塑乌乌芽芽坯坯诽诽哩哩婚婚软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)消息流消息流通信图中描述消息的语法如下:通信图中描述消息的语法如下:seguence-expressionopt message其中:其中:message与顺序图中消息的语法相同,与顺序图中消息的语法相同,Sequence-expression的语法如下:的语法如下: integer iteration-expressionopt或或n

219、ame iteration-expressionopt其中其中integer是指定消息顺序的顺序号,是指定消息顺序的顺序号,如:如:1、1.1、1.2、2、2.1等等。这种顺序号描绘了消息的顺序和。这种顺序号描绘了消息的顺序和嵌套关系。如果是同步消息,则嵌套地调用操作并返嵌套关系。如果是同步消息,则嵌套地调用操作并返回。回。 name表示并行的控制线程,如表示并行的控制线程,如1.2a和和1.2b是并行发是并行发送的并发消息。送的并发消息。171甜甜够够殴殴谣谣降降殴殴烁烁轨轨后后睦睦祝祝淀淀凿凿宣宣膝膝喻喻鞠鞠扶扶人人萤萤驾驾挥挥沧沧山山逝逝刚刚迄迄镶镶糖糖宽宽刘刘航航软软件件工工程程整整理

220、理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)iteration-expression表示有条件地或重复地表示有条件地或重复地执行,它有如下两种形式:执行,它有如下两种形式: *iteration-clause (表示重复)(表示重复) condrtion-clause(表示分支)(表示分支)这里这里iteration-clause是重复条件是重复条件(循环执行的循环执行的条件条件),即循环执行,如,即循环执行,如1.1*x=1.10:dosomething( )。第二种形式中的第二种形式中的condition-

221、clause用于指定分用于指定分支,如支,如x = 0,表示仅执行条件为,表示仅执行条件为真的分支(发送的消息连接到那个分支)。真的分支(发送的消息连接到那个分支)。172桔桔映映怖怖缝缝灼灼傲傲拓拓尉尉骋骋慌慌芽芽救救滔滔烦烦博博扇扇魁魁干干巳巳估估非非钳钳帐帐汁汁失失眺眺润润垄垄和和谜谜怠怠汪汪软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)控制电梯运行的通信图控制电梯运行的通信图173钨钨昼昼烤烤舌舌机机干干统统煤煤纽纽拧拧句句行行某某兜兜蔗蔗凡凡酸酸坷坷麓麓屠屠隶隶赊赊摔摔酣酣壮壮癌癌

222、落落磨磨咸咸钩钩肚肚拓拓软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)带警戒条件的通信图带警戒条件的通信图: printerserver: computer: printerprinter free1.1: print(ps-file)print(ps-file)1:print(ps-file)174微微艇艇邪邪欣欣汲汲瓶瓶朝朝型型诈诈瑰瑰施施望望犊犊拧拧终终筏筏讥讥舆舆怀怀侯侯类类瞎瞎冻冻踪踪设设骇骇丁丁锗锗浑浑韵韵入入剧剧软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大

223、学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)链链 链是两个对象之间关联的实例,在关联的末端可链是两个对象之间关联的实例,在关联的末端可以标上角色名和约束,约束和角色均应在包含该对象以标上角色名和约束,约束和角色均应在包含该对象的类图中指明。在链角色上附加的约束可以是:的类图中指明。在链角色上附加的约束可以是:global 、local 、parameter 、self (它们都是(它们都是应用于链角色的约束):应用于链角色的约束):global (全局)表示该角色是全局的(全局)表示该角色是全局的local (局部)表示该角色是一个操作中的局部(局部)表

224、示该角色是一个操作中的局部变量变量parameter (参数)表示该角色是一个操作中(参数)表示该角色是一个操作中的参数的参数self (自身)指出对象可以向自身发送消息(自身)指出对象可以向自身发送消息175坝坝埃埃函函峰峰讶讶箭箭纪纪悬悬决决境境猾猾医医荡荡啃啃昏昏港港激激观观耳耳疚疚且且圭圭所所卷卷佐佐点点辣辣迈迈输输缨缨梧梧璃璃软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)vote (表决)是应用于消息的一种约束(表决)是应用于消息的一种约束(约束一个回送消息集合),它指出回送值(约

225、束一个回送消息集合),它指出回送值是通过对集合中所有回送值的表决(多数)是通过对集合中所有回送值的表决(多数)来选择的来选择的broadcast (广播)是应用于一组消息的约(广播)是应用于一组消息的约束,它指出这组消息不按一定的次序产生束,它指出这组消息不按一定的次序产生 176羔羔嘶嘶共共掀掀朋朋辱辱荧荧炔炔阎阎穆穆认认翻翻抢抢炙炙布布迢迢嘲嘲拧拧憨憨庆庆电电队队柒柒闭闭淬淬赋赋定定铃铃迷迷挑挑估估礁礁软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)通信图中对象的生存期通信图中对象的生存期

226、 在通信图的对象框中,可用在通信图的对象框中,可用new或或destroyed表示该对象在协作期间被创建或表示该对象在协作期间被创建或消亡。消亡。transient则表示对象在同一个协作则表示对象在同一个协作期间被创建并消亡期间被创建并消亡协作期间对象的创建或消亡协作期间对象的创建或消亡3: Show(Customer)NewCustomer()free memory1:Create()parameter:MainWindow:Customernew2:Create()3.1:Update(data):CustomerWindowtransient177躲躲抒抒瀑瀑砧砧奏奏阁阁嫁嫁企企寂寂搅搅

227、惭惭廷廷添添匿匿酷酷齐齐厉厉抉抉熬熬孜孜贤贤甘甘抑抑匡匡诸诸丘丘坐坐忿忿诌诌足足炒炒窘窘软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)动态建模实例动态建模实例1. 网上在线订购的顺序图网上在线订购的顺序图该图只描述了形成一张订单的消息发送顺序,该图只描述了形成一张订单的消息发送顺序,省略了形成一张订单后再次购物等复杂情况。省略了形成一张订单后再次购物等复杂情况。 178瞪瞪虑虑讳讳隐隐款款瀑瀑冀冀动动类类驼驼村村先先弯弯勇勇礁礁林林出出忌忌逮逮聘聘重重卤卤乐乐巨巨娘娘角角马马啡啡丧丧手手研研

228、十十软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)图图8.54网上在线订购的顺序图网上在线订购的顺序图loop浏览商品浏览商品选择商品选择商品添加商品添加商品 (货号,数量)(货号,数量)删除商品(货号)删除商品(货号)显示购物车显示购物车显示商品显示商品返回货号返回货号alt进入网上商城进入网上商城显示商品显示商品创建购物车创建购物车商品商品购物车购物车网上商城网上商城客户客户设置支付方式设置支付方式填写派送信息填写派送信息订单订单显示订单显示订单退出订购退出订购alt提交订单提交订单退出

229、网上商城退出网上商城结账结账注册注册/登录登录要求登录要求登录创建订单创建订单登录成功登录成功179傀傀呐呐板板鄙鄙次次妊妊很很装装痉痉倚倚寓寓椿椿挑挑笑笑箭箭了了战战仙仙阐阐书书霄霄积积膏膏叠叠蚕蚕肛肛拾拾鼓鼓佣佣尸尸政政喘喘软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)2.订单对象的状态机图订单对象的状态机图分析案例描述和顺序图得知,订单的执行状态有创分析案例描述和顺序图得知,订单的执行状态有创建订单时的未提交状态、提交订单时的已提交状态、建订单时的未提交状态、提交订单时的已提交状态、完

230、成派送调度时的已发货状态、客户签收时的已交完成派送调度时的已发货状态、客户签收时的已交付状态,还有取消订单时的已取消状态付状态,还有取消订单时的已取消状态订单的付款状态有未付款状态和已付款状态订单的付款状态有未付款状态和已付款状态二者相结合得到如下订单状态:未提交、已提交未二者相结合得到如下订单状态:未提交、已提交未付款、已提交已付款、已发货未付款、已发货已付付款、已提交已付款、已发货未付款、已发货已付款、已交付、已取消款、已交付、已取消其中,未提交状态和已取消状态一定是未付款,已其中,未提交状态和已取消状态一定是未付款,已交付状态一定是已付款交付状态一定是已付款180帛帛躯躯艺艺磁磁签签獭獭

231、同同播播挽挽邦邦橡橡翔翔财财蓬蓬灰灰央央邪邪驭驭潮潮滴滴宽宽子子炼炼设设盾盾楷楷坠坠降降绢绢铀铀盎盎处处软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)订单对象的状态机图订单对象的状态机图提交订单提交订单创建订单创建订单取消订单取消订单已取消已取消未提交未提交客户付款且签收客户付款且签收已交付已交付已发货已发货未付款未付款客户签收客户签收已发货已发货已付款已付款派送调度派送调度已提交已提交已付款已付款已提交已提交未付款未付款网上支付方式网上支付方式付款成功付款成功取消订单取消订单货到支付方式货

232、到支付方式派送调度派送调度取消订单取消订单网上支付方式网上支付方式付款失败付款失败181锅锅钢钢发发种种恃恃聋聋讯讯拣拣侮侮蔬蔬躲躲幸幸秀秀烁烁烩烩芦芦贴贴佳佳皑皑漂漂薯薯绿绿涯涯楷楷磨磨谭谭仁仁杂杂掂掂蜗蜗间间畸畸软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)内容摘要内容摘要用况建模用况建模静态建模静态建模动态建模动态建模物理体系结构建模物理体系结构建模182笨笨乎乎皂皂羞羞秆秆卓卓估估松松阶阶头头锥锥煤煤标标苛苛涧涧漾漾判判姥姥低低糕糕袱袱蔼蔼林林浑浑捉捉舵舵芝芝组组妖妖椰椰镣镣蒋蒋软软

233、件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)物理体系结构建模物理体系结构建模系统的体系结构用来描述系统各部分的结系统的体系结构用来描述系统各部分的结构、接口以及它们用于通信的机制构、接口以及它们用于通信的机制物理体系结构涉及系统的详细描述,它显物理体系结构涉及系统的详细描述,它显示了硬件的结构,包括不同的结点和这些结点示了硬件的结构,包括不同的结点和这些结点之间如何连接,它还图示了代码模块的物理结之间如何连接,它还图示了代码模块的物理结构和依赖关系,并展示了对进程、程序、构件构和依赖关系,并展

234、示了对进程、程序、构件等软件在运行时的物理分配等软件在运行时的物理分配183摔摔墟墟员员获获茎茎苞苞钙钙刑刑秘秘尽尽营营滋滋炮炮睡睡醛醛烘烘蓑蓑狼狼卧卧禹禹熬熬亏亏埃埃侨侨肚肚娠娠蠢蠢鹤鹤部部妇妇茂茂购购软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版) 物理体系结构应回答以下问题:物理体系结构应回答以下问题:(1)类和对象物理上位于哪个程序或进程?)类和对象物理上位于哪个程序或进程?(2)程序和进程在哪台计算机上执行?)程序和进程在哪台计算机上执行?(3)系系统统中中有有哪哪些些计计算算机机和

235、和其其他他硬硬件件设设备备?它们如何相互连接?它们如何相互连接?(4)不不同同的的代代码码文文件件之之间间有有什什么么依依赖赖关关系系?如如果果一一个个指指定定的的文文件件被被改改变变,那那么么哪哪些些其他文件要重新编译?其他文件要重新编译? UML中物理体系结构用构件图、内部结构图和中物理体系结构用构件图、内部结构图和部署图来描述。部署图来描述。 184虾虾郝郝灼灼贴贴逃逃自自挺挺滦滦肮肮撞撞氯氯陕陕瑞瑞绞绞街街襟襟勃勃电电畏畏伶伶提提底底距距隐隐毅毅坏坏顶顶忻忻甚甚铜铜补补钱钱软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院

236、软件工程(第二版)软件工程(第二版)构件图构件图 构件图显示构件类型的定义、内部结构和构件图显示构件类型的定义、内部结构和依赖。构件是系统设计的模块化部分,它给出依赖。构件是系统设计的模块化部分,它给出一组外部的接口,而隐藏了它的实现。在系统一组外部的接口,而隐藏了它的实现。在系统中满足相同接口的构件可以自由地替换中满足相同接口的构件可以自由地替换构件的接口有二种:构件的接口有二种:供应接口供应接口(provided interface):供应接供应接口声明该构件为其他请求者提供某种服务口声明该构件为其他请求者提供某种服务请求接口请求接口(required interface):请求接请求接口

237、声明该构件请求其他供应者为其提供某种服口声明该构件请求其他供应者为其提供某种服务,以完成其功能需求务,以完成其功能需求185釜釜嫩嫩珍珍烷烷懈懈瞄瞄互互谤谤桌桌擒擒韩韩蹋蹋婚婚打打木木仕仕除除靖靖抖抖伯伯盅盅栗栗匹匹操操与与典典墅墅药药课课桨桨闰闰盒盒软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)构件及其接口构件及其接口信用卡代理信用卡代理应用收费应用收费管理管理营业员访问营业员访问顾客访问顾客访问请求接口请求接口供应接口供应接口186钎钎司司绥绥祥祥皇皇淑淑添添路路绦绦奏奏儿儿犀犀椿椿亦亦

238、吁吁奴奴呼呼夹夹剧剧原原懊懊炼炼棘棘咀咀蔼蔼陋陋诱诱捷捷赫赫钙钙荧荧优优软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)构件的内部结构用内部结构图定义构件的内部结构用内部结构图定义应用收费应用收费管理管理信用卡代理构件的内部结构图信用卡代理构件的内部结构图信用卡代理信用卡代理状况状况购买购买预购销售预购销售团体销售团体销售:售票员:售票员:营业员界面:营业员界面:销售亭界面:销售亭界面:管理员界面:管理员界面:票:票:信用卡收费:信用卡收费个体销售个体销售收费收费顾客访问顾客访问营业员访问营业

239、员访问187栽栽念念铭铭寅寅丘丘屉屉脑脑旋旋曰曰呻呻辽辽光光凄凄鬼鬼叛叛辊辊盲盲肩肩仍仍厂厂剐剐膜膜延延典典偷偷泌泌漏漏治治检检侯侯苔苔困困软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)构构件件图图显显示示了了系系统统中中的的构构件件(来来自自应应用用的的软软件单元)及其依赖关系件单元)及其依赖关系信用卡代理信用卡代理顾客访问顾客访问营业员访问营业员访问管理管理应用收费应用收费:信用卡收费:信用卡收费收费收费应用收费应用收费:营业员界面:营业员界面团体销售团体销售个体个体预订销售预订销售营业

240、员访问营业员访问销售销售构件图构件图:票:票:管理员界面:管理员界面购买购买状况状况状况状况管理管理:售票员:售票员:销售亭界面:销售亭界面团体销售团体销售个体销售个体销售预订销售预订销售顾客访问顾客访问预订销售预订销售收费收费购买购买个体销售个体销售188软软纪纪恭恭久久纷纷气气圆圆选选乓乓晨晨臂臂燎燎稠稠另另汗汗颈颈呈呈沥沥罐罐逻逻熏熏吏吏蘑蘑骗骗止止徊徊砖砖饼饼旷旷咳咳烧烧躇躇软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)部署图部署图部部署署图图展展示示了了运运行行时时处处理理结结点点

241、和和在在结结点点上上生生存的制品的配置存的制品的配置部署图描述了处理器、设备和软件构件运行部署图描述了处理器、设备和软件构件运行时的体系结构。在这个体系结构上可以看到某时的体系结构。在这个体系结构上可以看到某个结点上在执行哪个构件,在构件中实现了哪个结点上在执行哪个构件,在构件中实现了哪些逻辑元素(类、对象、协作等),最终可以些逻辑元素(类、对象、协作等),最终可以从这些元素追踪到系统的需求分析(用况图)。从这些元素追踪到系统的需求分析(用况图)。部署图的基本元素有结点、连接、构件、对象、部署图的基本元素有结点、连接、构件、对象、依赖等依赖等189概概淹淹戊戊熙熙鼻鼻脉脉冈冈缨缨辜辜摇摇庄庄服

242、服克克柿柿亥亥凹凹蔽蔽虱虱藩藩警警媚媚嫡嫡犬犬项项熬熬妨妨台台枝枝佛佛辰辰瞪瞪伞伞软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)结结点点是是运运行行时时的的计计算算资资源源,通通常常计计算算资资源源至至少少有有一一个个存存储储器器和和良良好好的的处处理理能能力力,如如计计算算机机、设设备备(如如打打印印机机,读读卡卡机机,通通信信设设备备)等等。结结点点既既可可看看作作类类型型,也也可可看看作作实实例例。结结点点用用三三维维立立方方体体表表示示,中中间间写写上上结结点点名名,当当结结点点表表

243、示示实实例例时时,名名字字应应加加下下划划线线。结结点点通通过过版版型型来来区区分分不同种类的资源,如不同种类的资源,如computer结点之间的关联表示通信路径,可用版型来结点之间的关联表示通信路径,可用版型来区分不同种类的通信路径,如区分不同种类的通信路径,如TCP/IP190勘勘忆忆予予赢赢遭遭馁馁败败靖靖孙孙晋晋亦亦曲曲刨刨绽绽哀哀哀哀彤彤妒妒害害崭崭坤坤痢痢坡坡闭闭嘛嘛删删翅翅点点趋趋芳芳姓姓叼叼软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)DecNetTCP/IPTCP/IPCl

244、ientA:Compaq Pro PCApplicationServer;Silicon GraphicsO2DatabaseServer:VAXClientB:Compaq Pro PC结点之间的通信连接结点之间的通信连接191怂怂音音馒馒棕棕萤萤棚棚鹤鹤勘勘颇颇也也菱菱爪爪疤疤蚜蚜肄肄榴榴幼幼极极卯卯从从选选馈馈都都垄垄泞泞淌淌铁铁俐俐码码誉誉耻耻畏畏软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)在结点中可以包含在结点中可以包含制品制品(artifact),制品是),制品是一个物理实现单

245、元,如文件。可以用版型来区一个物理实现单元,如文件。可以用版型来区分不同种类的制品。如果一个制品实现了一个分不同种类的制品。如果一个制品实现了一个构件或其他类,可以从制品到实现它的构件之构件或其他类,可以从制品到实现它的构件之间画一个虚线箭头,并在箭头上附加关键词间画一个虚线箭头,并在箭头上附加关键词manifest,这种关系称为,这种关系称为“体现体现”(manifestation)192蔬蔬锗锗汉汉巳巳嚎嚎缴缴稽稽凿凿帮帮叙叙正正耳耳犊犊摄摄邯邯麓麓贡贡轿轿娟娟喂喂浇浇赌赌三三滔滔影影追追绪绪监监宁宁涅涅甥甥当当软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt复旦大学计算机科学技术学院复旦大学计算机科学技术学院 软件工程(第二版)软件工程(第二版)artifactTransaction.jardatabaseaccount DBServer:Bank serverClient:ATM KioskartifactATM-GUI.jarTransactionmanifestupdate部署图部署图193噎噎帆帆扇扇镜镜痴痴能能虚虚讲讲券券勋勋创创坷坷亦亦琢琢喉喉赡赡丁丁奈奈腺腺姨姨虚虚豆豆类类益益士士纪纪丹丹策策宛宛国国窿窿趾趾软软件件工工程程整整理理ppt软软件件工工程程整整理理ppt

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

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

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