欢迎来到天天文库
浏览记录
ID:32005403
大小:1017.00 KB
页数:83页
时间:2019-01-30
《华南理工大学uml—8.交互图》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、1软件需求分析与建模-交互图姓名:苏锦钿(SuJD@scut.edu.cn)单位:计算机科学与工程学院时间:2021年7月12日华南理工大学软件需求分析与建模2I引言动态模型用来描述系统的动态行为,分为状态模型和交互模型。在UML中,用序列图和协作图为交互模型建模,用状态图和活动图为状态模型建模。华南理工大学软件需求分析与建模3I引言交互图描述对象之间的动态合作关系以及合作过程中的行为次序。交互图常常用来描述一个用例的行为,显示该用例中所涉及的对象以及这些对象之间的消息传递情况。交互图有序列图和协作图两种形式。序列图主要用来描述对象之间信息交换时的时间顺序.而协作图则用来描述系统对象之间如何
2、协作共同完成系统功能的要求。华南理工大学软件需求分析与建模41.用交互描述软件的动态行为图1.“浏览位图”的用例图华南理工大学软件需求分析与建模5描述系统的边界:首先得出用例图每一个用例都对应系统的一个动作序列序列最初用文本(形式的或非形式的)的方式描述例如上图.但这样的描述精确性较差不标准华南理工大学软件需求分析与建模6描述系统的边界:首先得出用例图交互图分为两种:序列图协作图序列图强调的是为实现此行为系统在时序方面的特性协作图强调系统在结构方面的特性华南理工大学软件需求分析与建模7UML里,直观的,标准的和面向对象的方式是:交互和交互图活动图(Activitydiagram)状态机图(S
3、tatemachinediagram)描述软件系统的动态行为华南理工大学软件需求分析与建模8交互图软件系统中的任务是通过对象间的合作来完成的对象之间的合作是通过对象间消息的传递实现的对象之间的合作在UML里面被称为交互。交互是可对软件系统为实现某一任务而必须实施的动态行为进行建模交互的所包含的UML建模元素包括:对象或角色(role)、消息它们必须通过某种载体表现出来:在UML中,此载体就是交互图。华南理工大学软件需求分析与建模9交互图交互图的定义交互图描述一个交互,其中包括了一系列的对象及其关系以及通过这些关系在对象之间传送的消息。交互图可分为两类:序列图、协同图它们在语义上是等价的这意味
4、着序列图和协同图内部包含的信息是相同的因此两图可以互相推导,可通过工具互相自动转换交互图可以为软件系统的下列构成的对象的动态行为进行建模:类、接口、部件、节点华南理工大学软件需求分析与建模101.序列图序列图的定义序列图是交互图的一种,它强调的是消息发送的时间的先后顺序在考察一个系统的对象的交互时通过从序列图开始然后将序列图转换为协同图以分析系统在结构方面应该具备的特点华南理工大学软件需求分析与建模11序列图组成部分(1)对象:序列图中所包含的每个对象用一个对象框(短式)表示,对象名需带下划线。(2)生存线:对象框下画的一条垂直虚线,称为该对象的生存线,表示对象的生存时间。(3)激活期:对象
5、生存线上的一个细长方形框,表示该对象的激活时间段,即活动期间。(4)消息:对象之间消息的发送和接收用两个对象生存线(激活期)之间的消息箭头线。华南理工大学软件需求分析与建模12华南理工大学软件需求分析与建模131.序列图序列图的构成参加交互的各对象在序列图的顶端沿水平方向排列对象之间传送的消息用箭头表示,水平放置,沿垂直方向排列用垂直方向上越靠近序列图顶端的消息越先发送从而给出了消息被执行的先后顺序的明确而直观的表示华南理工大学软件需求分析与建模14每个对象的底部中心都绘有一个垂直虚线当一个对象向另一个对象发送消息时消息始于发送对象底部的虚线终止于接受对象底部的虚线这条虚线被称为对象的生命线
6、(Objectlifeline)华南理工大学软件需求分析与建模15对象生命线代表一个对象在一个时间段内的存在如果在序列图上某一对象收到了创建消息或销毁消息,则此对象的生存其始于它收到创建消息的时刻,终止于收到销毁消息的时刻。华南理工大学软件需求分析与建模16序列图图7.序列图、对象生存线、控制焦点华南理工大学软件需求分析与建模17图2.序列图是否有问题?华南理工大学软件需求分析与建模181、消息在前面的用例中,用户和系统的交互,可以分为三个连续执行的动作1、用户在位图区域内按下鼠标左键;2、保持左键按下拖动鼠标;3、释放鼠标左键;这三个动作构成了系统作用者和系统的联系每一动作都相当于向系统发
7、出了一个命令系统必须在内部执行相应的操作以正确响应这命令这在UML里被称为消息(Message)华南理工大学软件需求分析与建模192、对象在UML里,对象使用与其对应的类一样的图符为了使对象的图符和类的图符相区别图符中对象的名字下面加有下划线对象的名字后面标上此对象的实现类的名字对象名和类名之间用冒号分开。对象名可以缺失,只标记类而不标记对象名的对象称为匿名对象标记名字的对象称为记名对象(namedobjec
此文档下载收益归作者所有