zoukankan      html  css  js  c++  java
  • UML综述

    UML(Unified Modeling Language,统一建模语言),是一种面向对象的建模语言。主要作用在帮助用户对软件系统进行面向对象的描述和建模,它可以描述整个软件开发过程从需求分析直到最终的实现和测试。

     

    标准UML建模语言的内容可以由5类图定义:

    1.         用例图:从用户角度描述系统功能,并指出各功能的操作者。

    2.         静态图:包括类图、对象图和包图。其中类图描述系统中类的静态结构,不仅定义系统中的类,而且表示类之间的联系及类的内部结构。类图描述的是一种静态关系,在系统的整个生命周期中都是有效的。对象图是类图的实例,使用与类图几乎完全相同的标识。他们的不同点在于对象图显示类的多个对象实例,而不是实际的类,一个对象图是类图的一个实例。由于对象存在生命周期,因此对象图只能在系统某一段时间内存在。包由包或类组成,表示包与包之间的关系。包图用于描述系统的分层结构。

    3.         行为图:描述系统的动态模型和组成对象间的交互关系,包括状态图和活动图。其中状态图描述类的对象所有可能的状态以及事件发生时状态的转移条件。通常,状态图是对类图的补充。

    4.         交互图:描述对象间的交互关系,包括时序图和合作图。其中时序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互;合作图描述对象间的协作关系,合作图和时序图相似,显示对象之间的动态合作关系,两者可以转化。如果强调对象之间消息施行时间和顺序,则使用时序图;如果强调对象之间上下级关系,则选择合作图。

    5.         实现图:包括组件图和配置图。其中组件图描述代码部件的物理结构以及各组件之间的依赖关系。一个组件可能是一个资源代码组建、一个二进制组建或一个可执行组件。组件图有助于分析和理解部件之间的相互影响程度。配置图定义系统中软硬件的物理体系结构。它可以显示实际的计算机和设备以及他们之间的连接关系,也可以显示连接的类型及部件之间的依赖性。

     

        标准UML建模语言为OOAOOD提供了可能,借助于UML,相信广大的OO程序员可以快速准确地分析和设计系统,设计出具灵活性和扩展性与一体的软件。

     

     

    面向对象-多态性

     面向对象的软件开发语言具有三个重要的特点分别为封装性、继承性、多态性。封装性即意味着对象封装其内部的数据,使其对外不可见,以保证数据的安全性。继承性是代码复用的一个很好的解决方案,但是继承关系是编译器在编译阶段就为所有的对象决定的,因而在软件工程过程中,继承性太过死板,存在很大的局限性。而多态性,它是将多种不同的特殊行为进行抽象的一种能力,通过结合继承性,多态性很好地解决了OO遇到的很多麻烦...
     阅读(1077) 评论(0)
     

     

     

    UML综述

    UML(Unified Modeling Language,统一建模语言),是一种面向对象的建模语言。主要作用在帮助用户对软件系统进行面向对象的描述和建模,它可以描述整个软件开发过程从需求分析直到最终的实现和测试。 标准UML建模语言的内容可以由5类图定义:1.         用例图:从用户角度描述系统功能,并指出各功能的操作者。2.         静态图:包括类图、对象图和包...
     阅读(312) 评论(0)
     

     

     

    内存分区

    五大内存分区     在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。     栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。     堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结...
     阅读(285) 评论(0)
     

     

     

    初识Lucene

       Lucene是由Doug Cutting在1997年末开发的一款开源搜索引擎,并于2001年末赠与Apache开源组织,成为Apache的一个子项目。目前Lucene在开源社区中得到了大量开源支持者的赞同并一跃成为使用率最高的全文搜索引擎。截至目前为止,Lucene已经发展到了2.1版本。       Lucene不是一个完整的全文搜索应用,而是一款用Java写的全文搜索引擎工具包,...
     阅读(382) 评论(0)


  • 相关阅读:
    Vue2.1.7源码学习
    JavaScript 复制对象【Object.assign方法无法实现深复制】
    数组去重你知道几种?
    基于webpack2.x的vue2.x的多页面站点
    欲练JS,必先攻CSS——前端修行之路
    闭包的7种形式
    遇见未知的CSS
    redux 个人整理
    log4j.properties打印日志信息(1)
    Java Web开发之Servlet、JSP基础
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/2425402.html
Copyright © 2011-2022 走看看