欢迎来到人人文库网! | 帮助中心 人人文档renrendoc.com美如初恋!
人人文库网
全部分类
  • 图纸下载>
  • 教育资料>
  • 专业文献>
  • 应用文书>
  • 行业资料>
  • 生活休闲>
  • 办公材料>
  • 毕业设计>
  • ImageVerifierCode 换一换
    首页 人人文库网 > 资源分类 > PPT文档下载  

    《对高级结构建模》PPT课件.ppt

    • 资源ID:19840095       资源大小:1.01MB        全文页数:99页
    • 资源格式: PPT        下载积分:15积分
    扫码快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 支付宝登录   QQ登录   微博登录  
    二维码
    微信扫一扫登录

    手机扫码下载

    请使用微信 或支付宝 扫码支付

    • 扫码支付后即可登录下载文档,同时代表您同意《人人文库网用户协议》

    • 扫码过程中请勿刷新、关闭本页面,否则会导致文档资源下载失败

    • 支付成功后,可再次使用当前微信或支付宝扫码免费下载本资源,无需再次付费

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

    《对高级结构建模》PPT课件.ppt

    对高级结构建模,Advanced Classes,可见性,Instance and Static Scope,Abstract, Leaf, and Polymorphic Elements,Multiplicity,Attributes,详述各个属性的可见性、范围和多重性 详述各属性的类型、初始值和可变性,origin Name only +origin Visibility and name origin:Point Name and type name:String01 Name, type, and multiplicity origin:Point = (0,0) Name, type, and initial value id:Integerreadonly Name and property,Operations,详述各操作的可见性和范围 详述各操作的参数、返回类型、并发语义和其他特性 总体上,操作的名称加上它的参数(如果有的话,也包括返回类型)被称为操作的特征标记,操作和方法的区别 操作详述了可以由类的任何一个对象请求以影响行为的服务 方法是操作的实现 类的每一个非抽象操作必须有一个方法,这个方法的主体是可执行的算法(一般用某种编程语言或结构化文本描述) 在继承层次中,对于同一个操作可能有很多方法,并在运行时多态地选择层次结构中的哪一个方法被调用,display Name only +display Visibility and name set(n : Name, s : String) Name and parameters getID() : Integer Name and return type restart() guarded Name and property,在操作的特征标记中,可以不提供参数,也可以提供多个参数 direction name : type = default-value in 输入参数,不能对它进行修改 out 输出参数,为了向调用者传送信息可 以对它进行修改 inout 输入参数,为了向调用者传送信息可 以对它进行修改,已定义的可用于操作的特性 query 操作的执行不会改变系统的状态 (完全没有副作用的纯函数) sequential 调用者必须在对象外部进行协调, 以保证在对象中一次仅有一个流。 在出现多控制流的情况下,不能保 证对象的语义和完整性,guarded 通过将所有对象监护操作的所有调 用顺序化,来保证在出现多控制流 的情况下对象的语义和完整性。其 效果是一次只能调用对象的一个操 作,这又回到了顺序的语义 static 操作没有关于目标对象的隐式参数 ,它的行为如同传统的全局过程,concurrent 通过把操作原子化,来保证在出现 多控制流的情况下对象的语义和完 整性。 来自并发控制流的多个调用可以同 时作用于一个对象的任何一个并发 操作,而所有操作都能以正确的语 义并发进行。 并发操作必须设计成:在对同一个 对象同时进行顺序的或监护的操作 的情况下,它们仍能正确地执行,Template Classes,模板是一个被参数化的元素 在诸如C+和Ada这样的语言中,可以写模板类,每一个模板类都定义一个类的家族(也可以写模板函数,每一个模板函数都定义一个函数的家族) 模板可以包括类、对象和值的插槽,这些插槽起到模板参数的作用 不能直接使用模板,必须首先对它进行实例化 实例化是要把这些形式模板参数绑定成实际参数 对一个模板类来说,绑定后的结果就是一个具体类,能够像普通类一样使用,JAVA中泛型,public abstract class Shape public abstract void draw(); public class Rect extends Shape implements Serializable T m_left, m_top, m_width, m_height; public Rect(T left, T top, T width, T height ) . . ,public class Circle extends Shape implements Serializable T m_x, m_y, m_r; public Circle(T x, T y, T r) . . public class Stroke extends Shape implements Serializable W m_width; ArrayList m_ia; public Stroke(W width, ArrayList ia) . . ,ArrayList sList = new ArrayList(); sList.add(new Stroke(); sList.add(new Rect(); sList.add(new Circle();,ArrayList的实现(JDK1.5),public class ArrayList extends AbstractList implements List, RandomAccess, Cloneable, java.io.Serializable private transient E elementData; private int size; public ArrayList(int initialCapacity) super(); / check if (initialCapacity 0). this.elementData = (E)new ObjectinitialCapacity; public ArrayList() this(10); . ,ArrayList的实现(JDK1.4),public class ArrayList extends AbstractList implements List, RandomAccess, Cloneable, java.io.Serializable private transient Object elementData; private int size; public ArrayList(int initialCapacity) super(); / check if (initialCapacity 0) . this.elementData = new ObjectinitialCapacity; public ArrayList() this(10); . ,结构建模Advanced Relationships,高级依赖、泛化、关联、实现和精化关系 对关系网建模 创建关系网,为了捕获系统中的一些细节(为了避免设计中的实际缺陷,考虑这样的细节是重要的),就需要这些关系的一些高级特性,术语和概念,关系是事物之间的联系 在面向对象的建模中,4种最重要的关系是依赖、泛化、关联和实现 在图形上,把关系画成线段,用不同种类的线段区别不同的关系,依赖,依赖是一种使用关系,它描述了一个事物的规约的变化可能会影响到使用它的另一个事物,但反之不然 对于大多数所遇到的使用关系而言,简单的、未加修饰的依赖关系就足够了 为了详述其含义的细微差别,UML定义了一些可以用于依赖关系的衍型 这些衍型被组织成几组,首先,有一些可应用到类图中的类和对象之间的 依赖关系上的衍型 bind 表明源用给定的实际参数实例化目标模板 derive 表明可以从目标计算出源 permit 表明源对目标给予特定的可见性 instance Of 表明源对象是目标类目的一个实例。一般用文本形式source:Target来表示 instantiate 表明源创建目标的实例,powertype 表明目标是源的幂类型。幂类型是一个类目,其对象都是一个给定父类的子类 对分类其他类的类建模时,要使用幂类型,refine 表明源比目标处于更精细的抽象程 度上 use 表明源元素的语义依赖于目标元素 的公共部分的语义,以下两个衍型可以应用到包之间的依赖关系 import 表明目标包中的公共内容加入到源包的公共命名空间中,好像它们在源中已经声明过似的 access 表明目标包中的公共内容加入到源包的私有命名空间中。可以在源中使用这些内容的不带限定的名字,但不可以再输出它们,以下两种衍型用于用况间的依赖关系 extend 表明目标用况扩展了源用况的行为 include 表明源用况在源所指定的位置上显式地合并了另一个用况的行为,在对象之间的交互语境中会遇到一种衍型: send 表明源类发送目标事件 当对向目标对象(它可能有相关联的状态机)发送 给定事件的操作(例如,在与状态转移相关的动作 中就有这样的操作)建模时,要使用发送(send)。 发送依赖在效果上是把若干独立的状态机结合在 一起,在把系统的元素组织成子系统和模型的语境中, 要遇到的一个衍型是跟踪 trace 表明目标是源的早期开发阶段的祖先 当对不同模型中的元素之间的关系建模时,要使 用跟踪(trace),泛化,大多数情况下,单继承就足够用了 一个类要合并多个类的特征,那么用多继承对这些关系建模更为合适,UML定义了可以应用到泛化关系上的4个约束: complete 表明已经在模型中给出了泛化关系中的所有子类,不允许再有更多的子类 incomplete 表明没有给出泛化中的所有子类,允许再增加子类,disjoint 表明父类的对象最多以给定的子类中的一个子类作为类型 overlapping 表明父类的对象可能以给定的子类中的一个以上子类作为类型 以上两个约束只应用于多继承语境中 用互斥来表示一组类是相互不兼容的,一个子类不可继承该组中一个以上的父类 用重叠来说明一个类能从这组类中一个以上的父类进行多继承,关联,有4种可应用到关联上的基本修饰:关联名、关联每一端的角色、关联每一端的多重性以及聚合 对于高级用法,还有一些可用于对微妙的细节建模的特性,如导航、限定和不同风格的聚合,导航,给定两个类之间的一个简单的、未加修饰的关联,从一个类的对象能够导航到另一个类的对象 除非另有指定,否则关联的导航是双向的 然而,有些情况要限制导航是单向,描述关联的走向未必意味着从关联的一端永远不能得到另一端的对象 导航只是陈述了一个类对另一个类的知识 描述一个关联是可导航的,是说给定关联一端的对象就能够容易并直接地得到另一端的对象,通常这是因为源对象存储了对目标对象的一些引用信息,可见性,给定两个类之间的关联,除非另有显式的导航声明所规定的限制,否则一个类的对象能够看见并导航到另一个类的对象 然而,在有些情况下要限制关联外部的对象通过关联访问相关对象的可见性,在UML中,像处理类的特征那样,通过对角色名添加可见性符号,可以在3个级别上描述关联端点的可见性 除非有别的注解,否则角色的可见性是公共的 私有的可见性表明,位于关联该端的对象对关联外部的任何对象来说都是不可访问的 保护的可见性表明,位于关联该端的对象对关联外部除了另一端的子孙之外的任何对象来说都是不可访问的 包的可见性表明,在同一包中声明的类能够看见给定的元素,因此对关联端点不适用,限定,在关联的语境中,最常见的一种建模的惯用法是查找 给定关联一端的对象,如何识别另一端的对象或对象集? 例如,考虑对一个制造厂的工作台的建模问题,在工作台上对返回的工件进行修理,在UML中,用限定符来对这样的用法建模,该限定符是一个关联的属性,它的值通过一个关联划分了与一个对象相关的对象的子集合(通常是单个对象) 把限定符画成与关联的一端相连的小矩形,并把属性放于小矩形中 源对象连同限定符的属性值确定了目标对象(若目标端的多重性最多为1)或对象集合(若目标端的多重性为多),组合,组合是聚合的一种形式,它具有强的拥有关系,而且整体与部分的生命周期是一致的 带有非确定多重性的部分可以在组合物自身之后创建,但一旦创建,它们就同生共死。 这样的部分也可以在组合物死亡之前显式地撤销,这意味着在组合式聚合中,一个对象在一个时间内只能是一个组合的一部分 此外,在组合式聚合中,整体负责对它的各个部分的处置,这意味着整体必须管理它的部分的创建与撤销,关联类,在两个类之间的关联中,关联本身可以有特性 在UML中,把这种情况建模为关联类,关联类是一种既具有关联特性又具有类特性的建模元素 可以把关联类看成是具有类特性的关联,或者看成具有关联特性的类,约束,UML定义了5种可以用于关联关系的约束 首先,可以描述在关联一端的对象(多重性要大 于1)是有序还是无序 ordered 表示关联一端的对象集是显式有序的,其次,可以描述在关联一端的对象是唯一的, 即它们形成了集合,或者是不唯一的,即它们 形成了袋(bag) set 对象唯一,不可以重复 bag 对象不唯一,可以重复 ordered set 对象唯一且有序 list or sequence 对象有序但可以重复,最后,还有一种约束限制了关联实例的可变性 readonly 一旦从关联的另一端的对象添加了一个链,就不可以修改或删除。在没有这种约束的情况下,默认可变性为无约束,实现,实现是类目之间的语义关系,在该关系中一个类目描述了另一个类目保证实现的合约 在图形上,把实现画成一条带有空心三角箭头的虚线并指向描述合约的那个类目,实现与依赖、泛化和关联很不相同,所以被处理成一种独立的关系 实现是依赖和泛化在语义上的一些交叉,其表示法是依赖和泛化表示法的结合 在接口的语境中和在协作的语境中都要用到实现关系,对关系网建模,当对复杂系统的词汇建模时,可能要遇到数十个(如果不是成百上千的话)类、接口、构件、结点和用况 建立一个包围其中每个抽象的清晰边界是困难的 建立这些抽象之间的无数种关系更为困难,这要求在整体上对系统形成一个平衡的职责分布,并且各抽象是高内聚的,关系可得到表达,又是松耦合的,当对这些关系网建模时,要遵循如下策略: 开始不要孤立地看问题。利用用况和脚本来驱使去发现一组抽象之间的关系 一般要从呈现的结构关系开始建模。这些关系反应了系统的静态视图,而且是相当明确的 接下来,识别使用一般/特殊关系的机会;使用多继承要有节制,只有在完成上述步骤后,才开始寻找依赖,它们一般表示语义连接的更精确的形式 对各种关系,从其基本形式开始,只有在对表达意图绝对必要时,才应用高级特性 要记住,不应该也不必要在一张图或视图内对一组抽象之间的所有关系建模,而是通过考虑系统的不同视图来建立系统的关系,结构建模Object Diagrams,对象图对包含在类图中的事物的实例建模 对象图显示了在某一时间点上一组对象以及它们之间的关系 对象图用于对系统的静态设计视图或静态交互视图建模 包括对某一时刻的系统快照建模,表示出对象集、对象的状态以及对象之间的关系,Contents,对象图是表示在某一时间点上一组对象以及它们之间的关系的图 对象图一般包括: Objects Links 像所有的其他图一样,对象图可包含注解和约束,一般用法,在对系统的静态设计视图或静态交互视图建模时,通常使用对象图来为对象结构建模 为对象结构建模涉及到在给定时刻抓取系统中的对象的快照 对象图表示了由交互图所表示的动态场景中的一个静态画面 可以使用对象图来可视化、详述、构造和文档化系统中存在的实例以及它们之间的相互关系 可以把动态行为和执行表示为一系列的画面,Modeling Object Structures,如果冻结一个运行的系统,或者只想象被建模的系统的某一瞬间,就会发现这样的一组对象:每个对象都处于一个特定的状态,并与其他对象有特定的关系 可以用对象图来可视化、详述、构造和文档化这些快照的结构 在使用对象图时,只能有意义地显示一组感兴趣的具体对象或原型对象。这就是所谓的为对象结构建模,即对象图显示了在某一时刻相互联系的一组对象,Modeling Object Structures,结构建模Components,Components, interfaces, and realization Internal structure, ports, parts, and connectors 把子构件连接在一起 对API建模,构件是系统中逻辑的并且可替换的部分,它遵循并提供对一组接口的实现 好的构件用定义良好的接口来定义灵活的抽象,这样就可能容易地用新的兼容构件代替旧的构件 接口是连接逻辑模型和设计模型的桥梁。例如,可以为逻辑模型中的一个类定义一个接口,而这同一个接口将延续到一些实现它的设计构件 通过把构件上的端口连接在一起,接口允许用小的构件来建造对大构件的实现,可以把应用程序做成一个单一的大单元,但是当需求改变时,它太僵化并很难修改 也无法利用一些现有的功能 对于软件系统的解决方法类似于电气系统: 把程序做成可灵活连接起来的、定义良好的构件,当需求发生变化时,这些构件可以单独地替换,接口(Interface)是一组操作的集合,它指明了由类或构件所请求或者所提供的服务 构件(Component)是系统中可替换的部分,它遵循并提供了一组接口的实现 端口(port)是被封装的构件的特定窗口,遵循指定接口的构件通过它来收发消息 内部结构(Internal structure)是靠以特定方式连接起来的一组部件来表示的构件实现 部件(part)是对角色的描述,该角色组成构件的局部实现。在构件的实例中,有相应的部件实例. 连接件(connector)是在构件语境中的两个部件或者端口之间的通信关系,Components and Interfaces,接口是一组操作的集合,用于指明类或构件的一个服务 构件和接口之间的关系是非常重要,几乎所有流行的构件模型(COM+、CORBA和Enterprise JavaBeans)都以接口作为把构件绑定在一起的粘合剂 基于构件来构造系统,通过描述接口(表示系统中的主要接缝)来分解系统 然后提供实现这些接口的构件和通过访问接口获得服务的其他构件 这样的机制允许部署一个系统,它的服务在某种程度上独立的位置,而且可以替换的,Components and Interfaces,构件所实现的接口称为供接口(provided interface),意思是构件向其他构件提供的作为一个服务的接口 一个构件可以声明许多供接口 构件所使用的接口称为需接口(required interface),意思是一个构件向其他构件请求服务时所遵从的接口 一个构件可以遵从许多需接口 一个构件可以既有供接口也有需接口,Components and Interfaces,构件可以有属性和操作,但在图中这些经常被省略 构件可以表示内部结构 可以用两种方式来表示构件和接口之间的关系 第一种方式(最通用的)是用简略的图符形式表示接口 第二种方式是用展开形式来表示,这种方式可以显示出接口的操作,Components and Interfaces,Replaceability,所有基于构件的操作系统工具的基本目的都是允许用二进制可替换的制品来集成系统 这就意味着可以用构件来设计系统,然后用制品来实现这些构件 可以用添加新构件和替换老构件的方式来更新系统,而无须重新构造系统,接口是实现上述方法的关键 在可执行的系统中,可以使用任何实现构件的制品,该构件提供或遵从指定的接口 可以用以下方法扩展系统:使构件通过其他接口提供新的服务,而这些接口又能被其他构件发现和使用 构件遵循或提供一组接口的实现,并使逻辑设计和基于其上的物理实现的可替换性成为可能,构件是可替换的 一个构件可以用遵循相同接口的其他构件来替换 在设计时期,你选择一个不同的构件 一般情况下,在运行时系统中插入或替换制品的机制对于构件使用者来说是透明的,它通过对象模型(例如COM+和Enterprise Java Beans)或通过自动实现这种机制的工具而成为现实,上述对象模型很少需要或根本不需要人为干预转换,构件是系统的一部分 构件很少单独存在,相反,一个给定的构件通常与其他构件协作,并且存在于打算使用它的体系结构或技术语境中 构件在逻辑上和物理上是内聚的,代表一个较大系统的有意义的结构和(或)行为块 构件可以在多个系统中复用 因此,构件表示了设计和组成系统的基础构造块 这个定义是递归的,某个抽象层次上的系统可能是其他更高抽象层次上系统的一个构件 最后,构件遵从一组接口并提供对这组接口的实现,Organizing Components,以用组织类的方式来组织构件,用包将构件分组 也可以通过描述构件之间的依赖、泛化、关联(包括聚合)和实现关系来组织构件 构件可以由其他构件来构造,Ports,接口对构件的总体行为声明是十分的有用的,但它们没有个体的标识 构件的实现只需要保证它的全部供接口的全部操作都被实现 使用端口就是为了进一步控制这种实现,端口(port)是一个被封装的构件的对外窗口 在封装的构件中,所有出入构件的交互都要通过端口 构件对外可见的行为恰好是它端口的总和 端口是有标识的,别的构件可以通过一个特定端口与一个构件通信,该通信完全是通过由端口支持的接口来描述的,即使这个构件也支持其他的接口 在实现时,构件的内部部件通过特定的外部端口来与外界交互,因此,构件的每个部件都独立于其他部件的需求 端口允许把构件的接口划分成离散的并且可以独立使用的包 端口提供的封装性和独立性更大程度上保证了构件的封装性和可替换性,端口被表示成跨立于构件边界上的方块它表示穿过构件的封闭边界的洞 供接口和需接口都附着到端口符号上 供接口表示一个可以通过那个端口来请求的服务 需接口表示一个该端口需要从其他构件获得的服务 每个端口都有一个名字,因此可以通过构件和端口名来唯一标识它 构件内部的部件用端口名来识别要通过哪个端口接收和发送消息 构件名和端口名合在一起唯一地标识了一个被其他构件使用的特定构件的特定端口,端口是构件的一部分 端口的实例随着它们所属构件的实例被创建和撤销 端口也具有多重性,以指明在构件实例中特定端口实例的可能数目 构件实例中的每一个端口都有一组端口实例 虽然一组端口实例都满足同样的接口并接受同样的请求,但它们可能有不同的状态和数据值,Internal Structure,构件可以被作为一段单独的代码来实现,但是在一个大型系统中,理想的做法是用一些小的构件作为构造块来组建一些大构件 构件的内部结构是一些小的部件,这些部件和它们之间的连接一起组合成构件的实现 在许多情况下,内部部件可以是较小的构件的实例,它们静态地连接在一起,通过端口提供必要的行为而不需要建模者额外地描述逻辑,部件(part)是构件的实现单元 部件有名字和类型 在构件实例中,每个部件有一个或多个实例对应于部件指明的类型,部件在其所在构件内有多重性 如果一个部件的多重性数目大于1,就可能在一个给定的构件实例中有多于1个的部件实例 如果多重性数目不是一个单一的整数,那么部件实例的个数可能在不同的构件实例中有所不同 一个构件实例是和最小个数的部件一起创建的,以后再加入额外的部件,注意,部件和类是不同的 每一个部件潜在地由其名字来区别 同一类型的部件可能有多个,但是可以通过它们名字来区别,并且假定它们在构件中的功能也不同。 例如 在上图中Air Ticket Sales(航空售票)构件为常客和普通顾客提供了不同的sales(售票)部件,它们工作相同,但常客部件是只为特殊顾客服务的,很少有需要排队的情况,而且还可能提供附加的额外补贴。因为这些构件的类型相同,所以必须用名字来区别它们。 另外的两个类型为SeatAssignment和InventoryManagement的构件不需要名字,因为在航空售票构件中这两个类型都只有一个构件,如果部件是有端口的构件,可以通过端口把它们连接起来 规则很简单:如果一个端口提供了一个给定的接口而另一个端口需要这个接口,那么这两个端口便是可连接的端口的连接意味着请求端口将调用提供端口来获得服务 端口和接口的优点就是不需要了解其他的东西,如果接口是可兼容的,那么就可以连接端口 工具能自动生成从一个构件到另一个构件的调用代码 如果有了新的构件,这些端口也可以改接到提供相同接口的其他构件上,两个端口之间的连线被称作连接件(connector) 在整个构件的实例中,它表示一个链或一个暂时链 链是普通关联的实例,暂时链表示两个构件之间的使用关系 暂时链可能由作为操作目标的过程参数或局部变量来提供,而不是普通关联 端口和接口的优点是在设计时两个构件不需要互相了解,只要它们的接口是相互兼容的就可以了,连接件有两种表示方式 第一种:如果两个构件明确地捆绑在一起,无论是直接地还是通过端口,则只在它们之间或它们的端口之间画一条线即可 第二种:如果两个构件相连是由于它们有能兼容的接口,则可以使用“托球一托座”表示法来表明构件之间没有固定的关系,尽管是在构件内部连接的,可以用满足接口的其他构件来代替,也可以将内部端口连接到整体构件的外部端口上,这称为委派连接件,因为外部端口的消息被委派给内部端口。这可以用一个从外部端口指向内部端口的箭头来表示。 对此可采取两种看法, 第一种看法是把内部端口和外部端口同样对待,它已经被移到边界上并且可以通过它进行观察 第二种看法是,任何传到外部端口的消息被立即传送到内部端口,反之亦然 采用哪一种看法无关紧要,在两种情况下它们行为都是相同的,对结构类建模,结构类可用于对数据结构建模,这些数据结构中的部件仅在该类中有语义联系 普通属性和关联可以定义一个类的组成部件,但是在普通类图中,这些部件不能彼此相连 用部件和连接件来表示类的内部结构则避免了这个问题,对结构类建模,要遵循以下策略: 识别类的内部部件及其类型 对每个部件给出一个名字来指明其在结构类中的用途,而不是给出它的一般类型 在彼此间通信或有上下文关系的部件间画出连接件 可以用其他结构类作为部件的类型,但是要记住,不能连接到另一个结构类内部的部件,要连接到它的外部端口上,Modeling an API,对于一个正在将构件组装成系统的开发者,会经常想看到把这些部件粘合到一起的应用程序编程接口(API) API代表系统中的程序接缝,可以用接口和构件对它建模 API本质上是由一个或多个构件实现的接口 作为开发者,实际上只需要考虑接口本身,只要有构件实现这个接口,则哪一个构件实现了接口操作是无关紧要的,对API建模,要遵循以下原则: 识别系统中的接缝,将每个接缝建模为一个接口,并收集形成边界的属性和操作 只显露那些对于在给定语境中进行可视化来说是比较重要的接口特性,隐藏那些不重要的特性,必要时可以将这些特性保存在接口的规约中作为参考 仅当API对于展示特定实现的配置重要时,才对其实现建模,

    注意事项

    本文(《对高级结构建模》PPT课件.ppt)为本站会员(jun****875)主动上传,人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知人人文库网(点击联系客服),我们立即给予删除!

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




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    网站客服QQ:2881952447     

    copyright@ 2020-2024  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

    备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

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