欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    一种辅助性的制图工具+交互图+一种软件工程设计人员必学习的内容.ppt

    • 资源ID:88452327       资源大小:1.05MB        全文页数:74页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    一种辅助性的制图工具+交互图+一种软件工程设计人员必学习的内容.ppt

    UMLUML面向对象建模基础面向对象建模基础面向对象建模基础面向对象建模基础交互图交互图知识图谱知识图谱AgendaAgenda交互与交互图交互与交互图如何阅读交互图如何阅读交互图如何绘制交互图如何绘制交互图交互图应用说明交互图应用说明定时图定时图本章小结本章小结AgendaAgenda交互与交互图交互与交互图如何阅读交互图如何阅读交互图如何绘制交互图如何绘制交互图交互图应用说明交互图应用说明定时图定时图本章小结本章小结交互的概念交互的概念一次交互就是指在特定语境中,为了实现某一个目标,一次交互就是指在特定语境中,为了实现某一个目标,而在一组对象之间进行交换的一组消息所表示的行为而在一组对象之间进行交换的一组消息所表示的行为 UMLUML中的中的4 4种交互图种交互图顺序图:顺序图是一种强调消息时间顺序的交互图,为顺序图:顺序图是一种强调消息时间顺序的交互图,为读者提供了控制流随着时间推移的清晰的可视化轨迹读者提供了控制流随着时间推移的清晰的可视化轨迹 通信图:通信图:UML 2.0中的通信图实际上就是中的通信图实际上就是UML 1中的协中的协作图,它强调的是参加交互的对象的组织,为读者提供作图,它强调的是参加交互的对象的组织,为读者提供了在协作对象结构组织的语境中观察控制流的一个清晰了在协作对象结构组织的语境中观察控制流的一个清晰的可视化轨迹的可视化轨迹 定时图:采用了一种带数字刻度的时间轴来精确地描述定时图:采用了一种带数字刻度的时间轴来精确地描述消息的顺序消息的顺序交互概述图:是交互图和活动图的混合物交互概述图:是交互图和活动图的混合物 1.顺序图顺序图1.1 概述 顺序图(序列图)主要用于按照交互发生的一系列顺序,显示对象之间的这些交互。很象类图,开发者一般认为序列图只对他们有意义。然而,一个组织的业务人员会发现,序列图显示不同的业务对象如何交互,对于交流当前业务如何进行很有用。除记录组织的当前事件外,一个业务级的序列图能被当作一个需求文件使用,为实现一个未来系统传递需求。在项目的需求阶段,分析师能通过提供一个更加正式层次的表达,把用例带入下一层次。那种情况下,用例常常被细化为一个或者更多的序列图。1.顺序图顺序图序列图的主要用途之一,是把用例表达的需求,转化为进一步、更加正式层次的精细表达。用例常常被细化为一个或者更多的序列图。顺序图的主要元素顺序图的主要元素对象与角色:最顶上一排矩形框。在交互图中,参与交对象与角色:最顶上一排矩形框。在交互图中,参与交互的对象既可以是具体的事物,又可以是原型化的事物。互的对象既可以是具体的事物,又可以是原型化的事物。作为具体的事物,一个对象代作为具体的事物,一个对象代表现实世界中的某个东西。例如,表现实世界中的某个东西。例如,aOrder作为类作为类Order的一个实例,可以代表一个的一个实例,可以代表一个特定的订单;而如果作为一个原型化的事特定的订单;而如果作为一个原型化的事件,则件,则aOrder可以代表类可以代表类Order的任何一的任何一个实例。个实例。生命线与控制焦点:每个对象都有自己的生命线与控制焦点:每个对象都有自己的生命线,对象生命线是一条垂直的虚线,生命线,对象生命线是一条垂直的虚线,用来表示一个对象在一段时间内存在。用来表示一个对象在一段时间内存在。消息:用来描述对象之间所进行的通信的,该信息带有消息:用来描述对象之间所进行的通信的,该信息带有对将要发生的活动的期望。当传送一个消息时,它所引对将要发生的活动的期望。当传送一个消息时,它所引起的动用是一个通过对计算过程的抽象而得到的可执行起的动用是一个通过对计算过程的抽象而得到的可执行语句。语句。消息分为五种:调用、返回、发送、创建和销毁消息分为五种:调用、返回、发送、创建和销毁调用:表示调用某个对象一个操作调用:表示调用某个对象一个操作 顺序图的主要元素顺序图的主要元素顺序图的主要元素顺序图的主要元素顺序编号:整个消息的传递过程就形成了一个完整的序列,因此通顺序编号:整个消息的传递过程就形成了一个完整的序列,因此通过在每个消息的前面加上一个用冒号隔开的顺序号来表示其顺序。过在每个消息的前面加上一个用冒号隔开的顺序号来表示其顺序。除了顺序编号之外,还可以采用嵌套方案:除了顺序编号之外,还可以采用嵌套方案:1.顺序图顺序图框架符号框架符号在 UML 2中,框架元件用于作为许多其他的图元件的一个基础,作为图的图形化边界。1.顺序图顺序图除了提供一个图形化边框之外,用于图中的框架元件也有描述交互的重要的功能。在序列图上一个序列接收和发送消息(交互),能通过连接消息和框架元件边界,建立模型(如图 2 所见到)。1.顺序图顺序图注意在图 2 中,对于序列图,图的标签由文字“sd”开始。当使用一个框架元件封闭一个图时,图的标签需要按照以下的格式:UML 规范给图类型提供特定的文本值。(举例来说,sd代表序列图,activity代表活动图,use case代表用例图)。1.顺序图顺序图基础基础序列图的主要目的是定义事件序列,产生一些希望的输出。重点不是消息本身,而是消息产生的顺序;不过,大多数序列图会表示一个系统的对象之间传递的什么消息,以及它们发生的顺序。图按照水平和垂直的维度传递信息:垂直维度从上而下表示消息/调用发生的时间序列,而且水平维度从左到右表示消息发送到的对象实例。1.顺序图顺序图生命线生命线当画一个序列图的时候,放置生命线符号元件,横跨图的顶部。生命线表示序列中,建模的角色或对象实例。生命线画作一个方格,一条虚线从上而下,通过底部边界的中心(图 3)。生命线名字放置在方格里。图图 3:用于一个实体名为用于一个实体名为freshman的生命线的的生命线的Student类的一个例子类的一个例子UML 的生命线命名标准按照如下格式:1.顺序图顺序图生命线生命线图 3 中我们生命线例子是一个命名的对象,但是不是所有的生命线都代表命名的对象。相反的,一个生命线能用来表现一个匿名的或未命名的实体。当在一个序列图上,为一个未命名的实例建模时,生命线的名字采用和一个命名实例相同的模式;但是生命线名字的位置留下空白,而不是提供一个例图名字。再次参考图 3,如果生命线正在表现Student类的一个匿名例图,生命线会是:“Student”。同时,因为序列图在项目设计阶段中使用,有一个未指定的对象是完全合法:举例来说,“freshman”。图图 3:用于一个实体名为用于一个实体名为freshman的生命线的的生命线的Student类的一个例子类的一个例子1.顺序图顺序图消息消息为了可读性,序列图的第一个消息总是从顶端开始,并且一般位于图的左边。然后继发的消息加入图中,稍微比前面的消息低些。为了显示一个对象(例如,生命线)传递一个消息给另外一个对象,你画一条线指向接收对象,包括一个实心箭头(如果是一个同步调用操作)或一个棍形箭头(如果是一个异步讯号)。消息/方法名字放置在带箭头的线上面。正在被传递给接收对象的消息,表示接收对象的类实现的一个操作/方法。1.顺序图顺序图消息消息图图 4:一个在对象之间传递消息的实例一个在对象之间传递消息的实例返回消息是可选择的;一个返回消息画作一个带开放箭头的虚线,向后指向来源的生命线,在这条虚线上面,你放置操作的返回值。1.顺序图顺序图消息消息当序列图建模时,有时候,一个对象将会需要传递一个消息给它本身。一个对象何时称它本身?一个纯化论者会争辩一个对象应该永不传递一个消息给它本身。然而,为传递一个消息给它本身的对象建模,在一些情境中可能是有用的。举例来说,图 5 是图 4 的一个改良版本。图 5 版本显示调用它的 determineAvailableReports 方法的系统对象。通过表示系统传递消息“determineAvailableReports”给它本身,模型把注意力集中到过程的事实上,而不是系统对象。1.顺序图顺序图消息消息当序列图建模时,有时候,一个对象将会需要传递一个消息给它本身。一个对象何时称它本身?一个纯化论者会争辩一个对象应该永不传递一个消息给它本身。然而,为传递一个消息给它本身的对象建模,在一些情境中可能是有用的。举例来说,图 5 是图 4 的一个改良版本。图 5 版本显示调用它的 determineAvailableReports 方法的系统对象。通过表示系统传递消息“determineAvailableReports”给它本身,模型把注意力集中到过程的事实上,而不是系统对象。为了要画一个调用本身的对象,如你平时所作的,画一条消息,但是不是连接它到另外的一个对象,而是你把消息连接回对象本身。1.顺序图顺序图消息消息图图 5:系统对象调用它的系统对象调用它的 determineAvailableReports 方法方法1.顺序图顺序图消息消息图 5 中的消息实例显示同步消息;然而,在序列图中,你也能为异步消息建模。一个异步消息和一个同步的画法类似,但是消息画的线带一个棍形矛头,如图 6 所示。图 6:表示传递到实体2的异步消息的序列图片段1.顺序图顺序图约束约束当为对象的交互建模时,有时候,必须满足一个条件,消息才会传递给对象。约束在 UML 图各处中,用于控制流。在这里,我将会讨论UML 1.x 及UML 2.0两者的约束。在 UML 1.x 中,一个约束只可能被分配到一个单一消息。UML 1.x中,为了在一个序列图上画一个约束,你把约束元件放在约束的消息线上,消息名字之前。图 7 显示序列图的一个片段,消息addStudent 方法上有一个约束。1.顺序图顺序图约束约束在图 7 中,约束是文本“pastDueBalance=0”。通过这个消息上的约束,如果应收帐系统返回一个零点的逾期平衡,addStudent 消息才将会被传递。图 7:UML 1.x 序列图的一个片段,其中addStudent 消息有一个约束1.顺序图顺序图约束约束-组合碎片组合碎片(变体方案,选择项,和循环变体方案,选择项,和循环)然而,在大多数的序列图中,UML 1.x“in-line”约束不足以处理一个建模序列的必需逻辑。这个功能缺失是 UML 1.x 的一个问题。UML 2 已经通过去掉“in-line”约束,增加一个叫做组合碎片的符号元件,解决了这一个问题。一个组合碎片用来把一套消息组合在一起,在一个序列图中显示条件分支。UML 2 规范指明了组合碎片的 11 种交互类型。1.顺序图顺序图约束约束-变体变体 变体用来指明在两个或更多的消息序列之间的、互斥的选择。变体支持经典的“if then else”逻辑的建模(举例来说,如果如果 我买三个,然后然后 我得到 我购买的20%折扣;否则否则 我得到我购买的 10%折扣)。1.顺序图顺序图约束约束-变体变体 一个变体的组合碎一个变体的组合碎片元件使用框架来画。片元件使用框架来画。单词单词“alt”放置在框架放置在框架的的namebox里。然后较里。然后较大的长方形分为大的长方形分为 UML 2 所称的操作元。所称的操作元。操作元操作元被虚线分开。每个操作被虚线分开。每个操作元有一个约束进行测试,元有一个约束进行测试,而这个约束被放置在生而这个约束被放置在生命线顶端的操作元的左命线顶端的操作元的左上部。上部。如果操作元的约如果操作元的约束等于束等于“true”,然后,然后那个操作元是要执行的那个操作元是要执行的操作元。操作元。图 8:包含变体组合碎片的一个序列图片段1.顺序图顺序图约束约束-变体变体 图 8作为一个变体的组合碎片如何阅读的例子,显示序列从顶部开始,即bank对象获取支票金额和帐户结余。此时,序列图中的变体组合碎片接管。因为约束“balance=amount”,如果余额超过或等于金额,然后顺序进行bank对象传递 addDebitTransaction 和 storePhotoOfCheck 消息给account对象。然而,如果余额不是超过或等于金额,然后顺序的过程就是bank传递addInsuffientFundFee 和 noteReturnedCheck 消息给account对象,returnCheck 消息给它自身。因为“else”约束,当余额不大于或者等于金额时,第二个序列被调用。在变体的组合碎片中,不需要“else”约束;而如果一个操作元,在它上面没有一个明确的约束,那么将假定“else”约束。1.顺序图顺序图约束约束-选择项选择项 选择项组合碎片用来为序列建模,这些序列给予一个特定条件,将会发生的;或者,序列不发生。一个选择项用来为简单的“if then”表达式建模。(例如,如果架上的圈饼少于五个,那么另外做两打圈饼)。选择项组合碎片符号与变体组合碎片类似,除了它只有一个操作元并且永不能有“else”约束以外(它就是如此,没有理由)。要画选择项组合,你画一个框架。文字“opt”是被放置在框架的 namebox 里的文本,在框架的内容区,选择项的约束被放置在生命线顶端上的左上角。然后选择项的消息序列被放在框架的内容区的其余位置内。1.顺序图顺序图约束约束-选择项选择项 图 9:包括选择项组合碎片的一个序列图片段1.顺序图顺序图约束约束-选择项选择项 阅读选择项组合碎片很容易。图 9 是图 7 的序列图片段的再加工,但是这次它使用一个选择项组合碎片,因为如果Student的逾期平衡等于0,需要传递更多的消息。按照图 9 的序列图,如果Student的逾期平衡等于零,然后传递addStudent,getCostOfClass和chargeForClass消息。如果Student的逾期平衡不等于零,那么在选择项组合碎片中,序列不传递任何一个消息。1.顺序图顺序图约束约束-循环循环 在 UML 2 中,为一个重复的序列建模已经改良,附加了循环组合碎片。循环组合碎片表面非常类似选择项组合碎片。你画一个框架,在框架的 namebox 中放置文本“loop”。在框架的内容区中,一个生命线的顶部,循环约束 6 被放置在左上角。然后循环的消息序列被放在框架内容区的其余部分中。在 一个循环中,除了标准的布尔测试外,一个约束能测试二个特定的条件式。特定的约束条件式是写作“minint=the number”(例如,“minint=1”)的最小循环次数,和写作“maxint=the number”(例如,“maxint=5”)的最大循环次数。通过最小循环检验,循环必须运行至少指定次数,而循环执行次数不能达到约束指定的最大循环次数。1.顺序图顺序图约束约束-循环循环 图 10:包括循环项组合碎片的一个序列图片段1.顺序图顺序图引用另外一个引用另外一个顺序顺序图图 当做序列图的时候,开发者爱在他们的序列图中,重用存在的序列图。在 UML 2 中开始,引进“交互进行”元件。由此能组合(重用)较简单的序列,生成比较复杂的序列。一个交互进行元件使用一个框架绘制。文字“ref”放置在框架的 namebox 中,引用的序列图名字放置在框架的内容区里,连同序列图的任何参数一起。引用序列图的名字符号如下模式:1.顺序图顺序图引用另外一个引用另外一个顺序顺序图图两个例子:1.Retrieve Borrower Credit Report(ssn):borrowerCreditReport 或者2.Process Credit Card(name,number,expirationDate,amount:100)在例子 1 中,语法调用叫做Retrieve Borrower Credit Report的序列图,传递给它参数 ssn。序列Retreive Borrower Credit Report返回变量 borrowerCreditReport。在实例 2 中,语法调用叫做Process Credit Card的序列图,传递给它参数name,number,expiration date,和 amount。然而,在例子 2 中,amount参数将会是值100。因为例子2没有返回值标签,序列不返回值(假设,建模的序列不需要返回值)。1.顺序图顺序图引用另外一个引用另外一个顺序顺序图图图 11:一个引用两个不同序列图的序列图1.顺序图顺序图引用另外一个引用另外一个顺序顺序图图 图 11 显示一个序列图,它引用了序列图“Balance Lookup”和“Debit Account”。序列从左上角开始,客户传递一个消息给teller对象。teller对象传递一个消息给 theirBank 对象。那时,调用Balance Lookup序列图,而 accountNumber作为一个参数传递。Balance Lookup序列图返回balance变量。然后检验选择项组合碎片的约束条件,确认余额大于金额变量。在余额比金额更大的情况下,调用Debit Account序列图,给它传递参数accountNumber 和amount。在那个序列完成后,withdrawCash 消息为客户返回cash。1.顺序图顺序图引用另外一个引用另外一个顺序顺序图图在图 11 中,序列引用“Balance Lookup”序列图。“Balance Lookup”序列图在图 12 中显示。因为例子序列有参数和一个返回值,它的标签 位于图的 namebox 中 按照一个特定模式:两个例子:1.SD Balance Lookup(Integer:accountNumber):Real 2.SD Available Reports(Financial Analyst:analyst):Reports 1.顺序图顺序图引用另外一个引用另外一个顺序顺序图图在图 11 中,序列引用“Balance Lookup”序列图。“Balance Lookup”序列图在图 12 中显示。:图 12:一个使用 accountNumber 参数并返回一个Real对象的序列图1.顺序图顺序图引用另外一个引用另外一个顺序顺序图图例子 2:图 13:一个在它的交互中使用参数、返回一个Reports对象的序列图1.顺序图顺序图门门门是另一种容易在序列图之间传递消息的方法,一个门只是一个消息,图形表示为一端连接序列图的框架边缘,另一端连接到生命线。1.顺序图顺序图门门图 14:图 11 的重构,这次使用门 1.顺序图顺序图门门图 14:图 11 的重构,这次使用门 1.顺序图顺序图门门图 15:图 12 的重构,这次使用门 1.顺序图顺序图跳转跳转 跳转组合碎片几乎在每个方面都和选择项组合碎片一致,除了两个例外。首先,跳转的框架namebox的文本“break”代替了“option”。其次,当一个跳转组合碎片的消息运行时,封闭的交互作用的其他消息将不会执行,因为序列打破了封闭的交互。这样,跳转组合碎片非常象 C+或 Java 的编程语言中的break关键字。1.顺序图顺序图跳转跳转 图 16:来自图 8 的序列图片段的重构,片段使用跳转代替变体1.顺序图顺序图跳转跳转 跳转最常用来做模型异常处理。图 16 是图 8 的重构,但是这次图16使用跳转组合碎片,因为它把balance amount的情况作为一个异常对待,而不是一个变体流。要阅读图 16,你从序列的左上角开始,向下读。当序列到达返回值“balance”的时候,它检查看看是否余额比金额更少。如果余额不少于金额,被传递的下一个消息是 addDebitTransaction 消息,而且序列正常继续。然而,在余额比金额更少的情况下,然后序列进入跳转组合碎片,它的消息被传递。一旦跳转组合的消息的已经被传递,序列不发送任何其它消息就退出(举例来说,addDebitTransaction)。1.顺序图顺序图跳转跳转 注意有关跳转的一件重要的事是,它们只引起一个封闭交互的序列退出,不必完成图中描述的序列。在这种情况下,跳转组合是变体或者循环的一部分,然后只是变体或循环被退出。1.顺序图顺序图并行并行 今天的现代计算机系统在复杂性和有时执行并发任务方面不断进步。当完成一个复杂任务需要的处理时间比希望的长的时候,一些系统采用并行处理进程的各部分。当创造一个序列图,显示并行处理活动的时候,需要使用并行组合碎片元件。并行组合碎片使用一个框架来画,你把文本“par”放在框架的 namebox 中。然后你把框架的内容段用虚线分为水平操作元。框架的每个操作元表示一个在并行运行的线程。1.顺序图顺序图并行并行图 17:oven 是并行做两个任务的对象实例1.顺序图顺序图并行并行图 17 可能没有举例说明做并行活动的对象的最好的计算机系统实例,不过提供了一个容易理解的并行活动序列的例子。序列如这样进行:hungryPerson 传递 cookFood 消息给oven 对象。当oven 对象接收那个消息时,它同时发送两个消息(nukeFood 和 rotateFood)给它本身。这些消息都处理后,hungryPerson 对象从oven 对象返回 yummyFood。1.顺序图顺序图总结总结 序列图是一个用来记录系统需求,和整理系统设计的好图。序列图是如此好用的理由是,因为它按照交互发生的时间顺序,显示了系统中对象间的交互逻辑。2 2 通信图通信图通信图主要元素通信图主要元素链:连接器,是用来表示对象之间的语义连接,一般而链:连接器,是用来表示对象之间的语义连接,一般而言,链是关联的一个实例(包括言,链是关联的一个实例(包括association、self、global、local等)。不过在等)。不过在UML 2中中已经开始弱化它们的使用,因此除非必要,无需过多地已经开始弱化它们的使用,因此除非必要,无需过多地考虑它们考虑它们消息编号:消息的编号有两种,一种是无层次编号,它消息编号:消息的编号有两种,一种是无层次编号,它简单直观;另一种是嵌套的编号,它更易于表示消息的简单直观;另一种是嵌套的编号,它更易于表示消息的包含关系包含关系迭代标记:用迭代标记:用*号表示,表示循环,通常还有迭代表达号表示,表示循环,通常还有迭代表达式,用来说明循环规则式,用来说明循环规则通信图主要元素通信图主要元素监护条件:通常是用来表示分支的,也就是表示监护条件:通常是用来表示分支的,也就是表示“如果如果条件为条件为true,才发送消息,才发送消息”在通信图中使用监护条件一定要有所限制,通常应只列在通信图中使用监护条件一定要有所限制,通常应只列出主要的监护条件,否则会影响其阅读。如果需要,尽出主要的监护条件,否则会影响其阅读。如果需要,尽可能还是通过顺序图来表示可能还是通过顺序图来表示 AgendaAgenda交互与交互图交互与交互图如何阅读交互图如何阅读交互图如何绘制交互图如何绘制交互图交互图应用说明交互图应用说明定时图定时图本章小结本章小结准备工作准备工作首先根据自己的喜好和实际的表现需要来选择顺序图或首先根据自己的喜好和实际的表现需要来选择顺序图或通信图。不过由于它们在语义上是等价的,因此可以绘通信图。不过由于它们在语义上是等价的,因此可以绘制出一种,再通过建模工具来自动转换成另一种图制出一种,再通过建模工具来自动转换成另一种图 分析模型中的交互图彻重于分析类的职责分配和交互流分析模型中的交互图彻重于分析类的职责分配和交互流程,而设计模型中的交互图则彻重于设计类的引入和实程,而设计模型中的交互图则彻重于设计类的引入和实际方法的调用与流程控制际方法的调用与流程控制 先确定参与交互的对象、对象之间的关系(通信图),先确定参与交互的对象、对象之间的关系(通信图),然后确定对象间的消息交互流程(用同步调用、异步消然后确定对象间的消息交互流程(用同步调用、异步消息、返回消息表示),并利用交互片断(顺序图)或迭息、返回消息表示),并利用交互片断(顺序图)或迭代标记及监护条件来表示循环和分支结构代标记及监护条件来表示循环和分支结构鲁棒分析鲁棒分析Robustness分析不是分析不是UML模型的一部分,它是一个强大模型的一部分,它是一个强大的草图工具,是介于分析和设计之间的一种有效工具的草图工具,是介于分析和设计之间的一种有效工具在在Robustness分析中,将应用边界类、控制类和实体类分析中,将应用边界类、控制类和实体类从一个用例中抽取三类对象的方法:从一个用例中抽取三类对象的方法:鲁棒分析鲁棒分析从事件流开始从事件流开始鲁棒分析鲁棒分析寻找边界对象寻找边界对象图书管理员向系统发出图书管理员向系统发出“新增书籍信息新增书籍信息”请求请求主窗主窗口、口、“新增书籍信息新增书籍信息”按钮按钮系统要求图书管理员选择要新增的书籍是计算机类还是系统要求图书管理员选择要新增的书籍是计算机类还是非计算机类非计算机类书籍类别列表框。书籍类别列表框。图书管理员做出选择图书管理员做出选择后,显示相应界面,后,显示相应界面,让图书管理员输入信让图书管理员输入信息,并自动根据书号息,并自动根据书号规则生成书号规则生成书号“新书信息录入新书信息录入”窗口窗口及辅助的及辅助的“提交提交”按钮按钮鲁棒分析鲁棒分析寻找控制对象和实体对象寻找控制对象和实体对象根据事件流中的步骤根据事件流中的步骤5,以及扩展路径的描述,就可以,以及扩展路径的描述,就可以在原图上增加相应的控制对象,得到更进一步的在原图上增加相应的控制对象,得到更进一步的Robustness分析图分析图 鲁棒分析鲁棒分析寻找控制对象和实体对象寻找控制对象和实体对象新添两个逻辑:一是基本事件流中的步骤新添两个逻辑:一是基本事件流中的步骤2、3要求根据要求根据用户选择的类别,自动获得书号;二是当书名重复性检用户选择的类别,自动获得书号;二是当书名重复性检查没有通过(有重名),则应返回要求其重输查没有通过(有重名),则应返回要求其重输 构建交互模型构建交互模型转换成通信图转换成通信图AgendaAgenda交互与交互图交互与交互图如何阅读交互图如何阅读交互图如何绘制交互图如何绘制交互图交互图应用说明交互图应用说明定时图定时图本章小结本章小结交互模型的类型与演变交互模型的类型与演变分析阶段的交互模型分析阶段的交互模型工作方法:针对用例图中的每个用例,并结合领域模型工作方法:针对用例图中的每个用例,并结合领域模型中的类,寻找分析类,并通过中的类,寻找分析类,并通过Robustness分析来理清业分析来理清业务逻辑流程,再用交互模型将其确定下来务逻辑流程,再用交互模型将其确定下来 注意:主要关注于区分出边界对象、实体对象和控制对注意:主要关注于区分出边界对象、实体对象和控制对象,暂时不要考虑其具体的实现类象,暂时不要考虑其具体的实现类 说明:对于较复杂的用例,可以按上述的流程逐渐地进说明:对于较复杂的用例,可以按上述的流程逐渐地进行分析、设计、实施;但对于比较简单的用例而言,也行分析、设计、实施;但对于比较简单的用例而言,也是可以直接从用例描述中导出设计阶段交互模型是可以直接从用例描述中导出设计阶段交互模型 分析阶段的交互模型之后分析阶段的交互模型之后引入基础类:包括基础框架、程序库等引入基础类:包括基础框架、程序库等质量评审:质量评审:-低耦合:耦合性是指两个类之间的连接强度低耦合:耦合性是指两个类之间的连接强度-高内聚:内聚性是指一个类的属性与方法高度集成高内聚:内聚性是指一个类的属性与方法高度集成-效率:解决方案的执行效率是否满足系统的需求效率:解决方案的执行效率是否满足系统的需求-完整性:是指在任何环境下都可以重复使用完整性:是指在任何环境下都可以重复使用-简单性:类越简单,出错的可能性越小,系统的灵活简单性:类越简单,出错的可能性越小,系统的灵活 性和可维护性也越好性和可维护性也越好 优化类设计:设计模式与重构优化类设计:设计模式与重构设计阶段的交互模型设计阶段的交互模型&交互建模要点交互建模要点在分析模型的基础上引入基础类、优化类设计之后,必在分析模型的基础上引入基础类、优化类设计之后,必然会获得新的类模型(设计模型),因此就可能需要基然会获得新的类模型(设计模型),因此就可能需要基于新引入的于新引入的“设计类设计类”来更新交互模型,以获得与实际来更新交互模型,以获得与实际代码相吻合的模型代码相吻合的模型给出一个能表达其目的的名称;通过修改元素的布局,给出一个能表达其目的的名称;通过修改元素的布局,尽量避免交叉线的存在;可以通过注解和颜色作为可视尽量避免交叉线的存在;可以通过注解和颜色作为可视化提示,以突出图形中的重要特性;尽量少用分支,对化提示,以突出图形中的重要特性;尽量少用分支,对于分支很多的场景,可以考虑用活动图来补充于分支很多的场景,可以考虑用活动图来补充 AgendaAgenda交互与交互图交互与交互图如何阅读交互图如何阅读交互图如何绘制交互图如何绘制交互图交互图应用说明交互图应用说明定时图定时图本章小结本章小结定时图与顺序图的区别定时图与顺序图的区别坐标轴交换了位置,改为从左到右来表示时间的推移坐标轴交换了位置,改为从左到右来表示时间的推移用生命线的用生命线的“凹下凸起凹下凸起”来表示状态的变化,每个水平来表示状态的变化,每个水平位置代表一种不同的状态,状态的顺序可以有意义、也位置代表一种不同的状态,状态的顺序可以有意义、也可以没有意义可以没有意义生命线可以跟在一根生命线可以跟在一根线后面,在这根线上线后面,在这根线上显示些不同的状态值显示些不同的状态值可显示一个度量时间可显示一个度量时间值的标尺,用刻度表值的标尺,用刻度表示时间间隔示时间间隔AgendaAgenda交互与交互图交互与交互图如何阅读交互图如何阅读交互图如何绘制交互图如何绘制交互图交互图应用说明交互图应用说明定时图定时图本章小结本章小结本章小结本章小结首先介绍了交互的概念,并延伸出首先介绍了交互的概念,并延伸出UML中的中的4种交互图种交互图以为以为“从订单生成送货单从订单生成送货单”场景绘制的顺序图为例,介场景绘制的顺序图为例,介绍了对象与角色、生命线与控制焦点、消息、顺序编号、绍了对象与角色、生命线与控制焦点、消息、顺序编号、循环与分支、交互片断操作符等基本概念循环与分支、交互片断操作符等基本概念 以等价的通信图为例,介绍了通信图的基本概念以等价的通信图为例,介绍了通信图的基本概念演示了如何采用演示了如何采用Robustness分析法,从一个用例的事件分析法,从一个用例的事件流描述中导出相应的交互模型流描述中导出相应的交互模型 讨论了交互模型的实际应用讨论了交互模型的实际应用介绍了定时图的基本特点介绍了定时图的基本特点

    注意事项

    本文(一种辅助性的制图工具+交互图+一种软件工程设计人员必学习的内容.ppt)为本站会员(hyn****60)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开