资源描述
Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,CASE,J M U,集美大学工商管理学院信息管理与信息系统系,第6章,电子商务系统分析与设计,动态模型交互图,交互的概念,一次交互就是指在特定语境中,为了实现某一个目标,而在一组对象之间进行交换的一组消息所表示的行为。,一个消息就是一个对象激活另一个对象中的操作调用。,“方法调用过程在UML中怎样表示?”,交互图,交互图(Interaction Diagram)是由一组对象和它们之间的关系构成,其中包括在对象间的传递的信息,它包括顺序图和协作图。,顺序图,着重描述对象按照时间顺序的消息交换。顺序图描述了类相互协作的完成预期行为的动态过程。,协作图,着重描述系统成分如何协同工作。,例子:,通过一个简单交易系统来说明UML交互图,要达到某个特定的目标,必然要执行一系列的方法调用。UML序列图的典型用途就是,显示出方法调用过程。,在UML序列图中,调用一个操作就叫做发送一个消息(Message)。,交易事务中计算累计金额的时序图,时序图有两个维度:垂直维度以发生的时间顺序显示消息/调用的序列;水平维度显示消息被发送到的对象实例,对象,生命线,激活期,消息,活动条可以嵌套,表示在前一方法的执行过程中,又有同一对象的另一个方法被调用.,交易事务中计算累计金额的相关的代码片断,/*属于Sale类:从lineItem的单项金额计算交易总金额,return交易总额*/,public double calcTotal(),total=0.0;Iterator i=lineItems.iterator();while(i.hasNext()total+=,(LineItem)i.next().calcTotal();,return total;,/*属于LineItem类:计算当前项目的交易金额,return 交易金额*/,public double calcTotal(),total=,product.calcTotal(this);,return total;,/*属于Product类:计算指定数量的产品价值多少;return 金额*/,public double calcTotal(,LineItem li,),return amount*,li.getQuantity();,下图显示了Sale类complete()方法的序列图,complete()方法调用了Sale类的两个方法:calcTotal()和calcPayments()。环形的回调符号表示一个对象正在调用它自身的方法。,协作图:强调发送和接收消息的对象的组织结构的交互作用图.有路径,协作图有顺序号。在协作图中,交互动作的次序由消息的编号决定。,交易事务中计算累计金额的协作图,在实践中,许多必需的交互序列可以隐含在类图之中,特别是类图用类原型和Stereotype(构造型)来表示特定的行为和交互模式之时。UML交互图把原本隐含的交互过程明确地表达出来,同时也明确地说明了原本在类图中不明确的交互过程。,UML交互图是对倾向于描述静态特征的类图的补充,使得对象的动态交互过程明确化。,本例结束!,对交互图有一定的认识了吧?!,时序图,的,的主要,元,元素,对象与,角,角色:,最,最顶上,一,一排矩,形,形框。,在,在交互,图,图中,,参,参与交,互,互的对,象,象既可,以,以是具,体,体的事,物,物,又,可,可以是,原,原型化,的,的事物,。,。作为,具,具体的,事,事物,,一,一个对,象,象代,表,表现实,世,世界中,的,的某个,东,东西。,例,例如,aProduct,作,作为类Product的一,个,个实例,,,,可以,代,代表一,个,个特,定,定的产,品,品;而,如,如果作,为,为一个,原,原型化,的,的事,件,件,则,aProduct,可以代,表,表类,Product,的任何,一,一个,实,实例。,生命线,与,与控制,焦,焦点:,每,每个对,象,象都有,自,自己的,生,生命,线,线,对,象,象生命,线,线是一,条,条垂直,的,的虚线,,,,用,来,来表示,一,一个对,象,象在一,段,段时间,内,内存在,。,。,消息:,用,用来描,述,述对象,之,之间所,进,进行的,通,通信的,,,,该信,息,息带有,对,对将要,发,发生的,活,活动的,期,期望。,当,当传送,一,一个消,息,息时,,它,它所引,起,起的动,用,用是一,个,个通过,对,对计算,过,过程的,抽,抽象而,得,得到的,可,可执行,语,语句。,时序图,的,的主要,元,元素,同步消,息,息,同步消,息,息的发,送,送者把,控,控制传,递,递给消,息,息的接,收,收者,,然,然后暂,停,停活动,,,,等待,消,消息接,收,收者放,弃,弃或退,回,回控制,。,。,同步消,息,息的接,收,收者执,行,行所请,求,求的操,作,作,如,果,果需要,的,的话,,可,可以把,控,控制传,递,递给另,一,一个对,象,象角色,,,,请求,做,做某个,操,操作,,并,并且当,该,该操作,完,完成后,把,把控制,返,返回给,原,原来的,同,同步消,息,息的发,送,送者。,同步消,息,息的接,收,收者也,可,可以直,接,接返回,或,或发送,信,信息给,原,原来的,消,消息的,发,发送者,。,。,同步消,息,息的接,收,收者必,须,须是一,个,个被动,对,对象(Passive Object),,,,即它,是,是一个,需,需要通,过,过消息,的,的驱动,才,才能执,行,行动作,的,的对象,。,。,异步消息,异步消息,的,的发送者,通,通过消息,把,把信号传,递,递给消息,的,的接收者,,,,然后继,续,续自己的,活,活动,不,等,等待接收,者,者返回信,息,息或控制,。,。,异步消息,的,的接收者,执,执行所请,求,求的操作,,,,操作完,成,成后可以,发,发回信息,给,给异步消,息,息的发送,者,者。异步,消,消息的发,送,送者和接,收,收者是并,发,发工作的,。,。在交互,图,图中大量,的,的是异步,消,消息。,一个异步,消,消息可以,做,做以下3,件,件事情之,一,一。,创建一个,新,新线程。,此,此时的异,步,步消息连,接,接到一个,激,激活期的,顶,顶部。,创建一个,新,新对象。,与一个已,经,经在运行,的,的线程通,信,信。,异步消息,的,的接收者,必,必须是一,个,个主动对,象,象(Activeobject),,,,即它是,一,一个不需,要,要消息驱,动,动就能执,行,行其动作,的,的对象。,对象的创,建,建与销毁,一个对象,可,可以在交,互,互中创建,。,。如果一,个,个对象是,在,在交互中,创,创建的,,则,则该对象,的,的生命线,就,就从接收,到,到一个标,有,有构造型,Create,的创,建,建消息之,时,时开始。,一个对象,可,可以在交,互,互中销毁,。,。如果一,个,个对象是,在,在交互中,销,销毁的,,则,则该对象,的,的生命线,就,就从接收,到,到一个标,有,有构造型,destroy的,销,销毁消息,之,之时终止,。,。对象销,毁,毁的标志,是,是在其生,命,命线的端,都,都标上一,个,个“,”,”。,对,数,数,据,据,库,库,的,的JDBC,接,接,口,口,的,的,访,访,问,问,说,明,明,“,:,:,客,客,户,户,机,机,”,”,要,要,等,等,待,待,消,消,息,息,“,“,Create,”,”,完,完,成,成,执,执,行,行,,,,,创,创,建,建,了,了,“,“,:,:,事,事,务,务,”,”,对,对,象,象,后,后,,,,,才,才,继,继,续,续,发,发,出,出,同,同,步,步,消,消,息,息,“,“setAction,(,(a,,,,d,o,),),”,”,,,,,请,求,求,“,“,:,:,事,事,务,务,”,”,对,对,象,象,进,进,行,行,设,设,置,置,数,数,据,据,操,操,作,作,。,。,“,:,:,事,事,务,务,”,”,转,转,为,为休,眠,眠,状,状,态,态,,最,最,后,后,被,被,“,“,销,销,毁,毁,”,”,时,序,序,图,图,示,示,例,例1,协,作,作,图,图,协,作,作,图,图,主,主,要,要,元,元,素,素,链,:,:,协,协,作,作,图,图,中,中,链,链,的,的,符,符,号,号,即,即,一,一,条,条,连,连,接,接,两,两,个,个,类,类,角,角,色,色,的,的,实,实,线,线,。,。,消,息,息,编,编,号,号,:,:,消,消,息,息,的,的,编,编,号,号,有,有,两,两,种,种,,,,,一,一,种,种,是,是,无,无,层,层,次,次,编,编,号,号,,,,,它,它,简,简,单,单,直,直,观,观,;,;,另,另,一,一,种,种,是,是,嵌,嵌,套,套,的,的,编,编,号,号,,,,,它,它,更,更,易,易,于,于,表,表,示,示,消,消,息,息,的,的,包,包,含,含,关,关,系,系,。,。,迭,代,代,标,标,记,记,:,:,用,用*,号,号,表,表,示,示,,,,,表,表,示,示,循,循,环,环,,,,,通,通,常,常,还,还,有,有,迭,迭,代,代,表,表,达,达,式,式,,,,,用,用,来,来,说,说,明,明,循,循,环,环,规,规,则,则,。,。,协,作,作,图,图,主,主,要,要,元,元,素,素,监,护,护,条,条,件,件,:,:,通,通,常,常,是,是,用,用,来,来,表,表,示,示,分,分,支,支,的,的,,,,,也,也,就,就,是,是,表,表,示,示,“,“,如,如,果,果,条,条,件,件,为,为true,,,,,才,才,发,发,送,送,消,消,息,息,”,”,。,。,在,通,通,信,信,图,图,中,中,使,使,用,用,监,监,护,护,条,条,件,件,一,一,定,定,要,要,有,有,所,所,限,限,制,制,,,,,通,通,常,常,应,应,只,只,列,列,出,出,主,主,要,要,的,的,监,监,护,护,条,条,件,件,,,,,否,否,则,则,会,会,影,影,响,响,其,其,阅,阅,读,读,。,。,如,如,果,果,需,需,要,要,,,,,尽,尽,可,可,能,能,还,还,是,是,通,通,过,过,顺,顺,序,序,图,图,来,来,表,表,示,示,。,。,时序图建模,技,技术,设置交互的,语,语境。,通过识别对,象,象在交互中,扮,扮演的角色,,,,设置交互,的,的场景。,为每个对象,设,设置生命线,。,。,从引发某个,消,消息的信息,开,开始,在生,命,命线之间画,出,出从顶到底,依,依次展开的,消,消息,显示,每,每个消息的,特,特性(如参,数,数)。,如果需要可,视,视化消息的,嵌,嵌套或实际,计,计算发生时,的,的时间点,,可,可以用激活,修,修饰每个对,象,象的生命期,。,。,如果需要说,明,明时间或空,间,间的约束,,可,可以用时间,标,标记修饰每,个,个消息,并,附,附上合适的,时,时间和空间,约,约束。,如果需要更,形,形式化的说,明,明某控制流,,,,可以为每,个,个消息附上,前,前置和后置,条,条件。,课堂习题,图书馆管理,系,系统的时序,图,图,系统管理员,添,添加书籍的,时,时序图,图书管理员,处,处理借书的,时,时序图(不,包,包括预留书,籍,籍的情况),系统管理员,删,删除书目的,时,时序图,借阅者预留,书,书籍的时序,图,图,用例图,所有的用例,必,必须始于角,色,色,而且有,些,些用例也结,束,束于角色。,角色是位于,你,你所工作的,系,系统外部的,人,人或其他系,统,统。,系统管理员,添,添加书籍的,时,时序图,图书管理员,处,处理借书的,时,时序图(,不,不包括预留,
展开阅读全文