精华内容
下载资源
问答
  • 建立对象模型方法

    千次阅读 2010-04-07 19:45:00
    建立对象模型即包括自底向上的抽象过程,也包括自顶向下的分解过程 1.自底向上的抽象 建立对象模型的第一步是从问题领域的陈述入手。分析需求的过程与对象模型的形成过程一致,开发人员与用户的交谈时从用户熟悉的...

       在面向对象的分析和设计阶段,致力于建立模拟问题领域的对象模型。建立对象模型即包括自底向上的抽象过程,也包括自顶向下的分解过程

       1.自底向上的抽象 

       建立对象模型的第一步是从问题领域的陈述入手。分析需求的过程与对象模型的形成过程一致,开发人员与用户的交谈时从用户熟悉的问题领域的事物(具体实例)开始的,这就使用户与开发人员之间有了共同语言,使得开发人员能彻底搞清用户需求,然后再建立正确的对象模型。开发人员需要以下自底向上的抽象思维。

         把问题领域的事物抽象为具体特定属性与行为的对象。

         把相同属性和行为的对象抽象为类。

         若干个类之间存在一些共性(具有相同属性和行为),把这些共性抽象到父类中。

        在自底向上的抽象过程中,为使子类更合理地继承父类的属性和行为,可能需要自顶向下的修改,从而使整个类体系更加合理。由于这个类体系的构造是从具体到抽象,再从抽象到具体,符合人类思维的规律,因此能更快、更方便的完成任务。这与自顶向下的结构化开发方法形成鲜明的对照。在结构化开发方法中,构造系统模型是最困难的一步,因为自顶向下的”顶“(即系统功能)是一个空中楼阁,缺乏坚实稳定的基础,而且功能分解有相当大的随意性,因此需要开发人员有丰富的软件开发经验。而在面向对象建模中,这一工作可由一般开发人员较快完成。

        2,自顶向下的分解

        在建立对象的模型中,也包括自顶向下的分解。例如对于计算机系统,首先识别出主机对象,显示器对象,键盘对象和打印机对象等。接着对这些对象再进一步分解,例如主机对象由处理器对象,内存对象,硬盘对象和主板对象等组成。系统的进一步分解因有具体的对象为依据,所以分解分解过程比较明确,而且也相对容易。因此面向对象建模也具有自顶向下开发方法的优点,即有效的控制系统的复杂性,又能同时避免结构化开发方法中功能分解的困难和不确定性。

          

    展开全文
  • 建立对象模型即使用UML画类图

    万次阅读 多人点赞 2017-06-04 12:37:01
    UML类图画法及其之间的几种关系 最近复习软件工程的考试,大...看见建立对象模型的题目首先想到就是使用UML画类图,有一定的步骤 文章目录如下: 类图画法 类之间的几种关系:泛化(Generalization)、实现(Reali

    UML类图画法及其之间的几种关系

    最近复习软件工程的考试,大题需要画一下类图,发现类图的画法及其之间的几种关系已经淡忘了很多,

    上百度进行搜索,发现了一篇学习笔记,整理总结的不错哦

    自我总结:

    看见建立对象模型的题目首先想到就是使用UML画类图,有一定的步骤

    1抽象出类

    2找属性

    3确定关系

    啊啊啊,忘啦

    文章目录如下:

    类图画法

    类之间的几种关系:泛化(Generalization)、实现(Realization)、关联(Association)(又分一般关联、聚合(Aggregation)、组合(Composition))、依赖(Dependency)

    一、类图画法


    1、 类图的概念

    A、显示出类、接口以及它们之间的静态结构和关系

    B、用于描述系统的结构化设计

    2、 类图的元素

    类、接口、协作、关系,我们只简单介绍一下这四种元素。

    同其他的图一样,类图也可以包含注解和限制

    类图中也可以包含包和子系统,这两者用来将元素分组

    有时候你也可以将类的实例放到类图中。

    3、 类

    A、 类是对一组具有相同属性、操作、关系和语义的对象的抽象,它是面向对象系统组织结构的核心,包括名称部分(Name)、属性部分(Attribute)和操作部分(Operation),见下图。

    这里写图片描述

    B、 类属性的语法为:

    [可见性] 属性名 [:类型] [=初始值] [{属性字符串}]

    可见性:公有(Public)“+”、私有(Private)“-”、受保护(Protected)“#”

    类操作的语法为:

    [可见性] 操作名 [(参数表)] [:返回类型] [{属性字符串}]

    可见性:公有(Public)“+”、私有(Private)“-”、受保护(Protected)“#”、包内公有(Package)“~”

    参数表:

    定义方式:“名称:类型”;若存在多个参数,将各个参数用逗号隔开;参数可以具有默认值;

    属性字符串:

    在操作的定义中加入一些除了预定义元素之外的信息。

    4、 接口

    在没有给出对象的实现和状态的情况下对对象行为的描述。

    一个类可以实现一个或多个接口。

    使用两层矩形框表示,与类图的区别主要是顶端有<>显示: 
    这里写图片描述 
    也可以用一个空心圆表示: 
    这里写图片描述

    5、 协作

    协作是指一些类、接口和其他的元素一起工作提供一些合作的行为,这些行为不是简单地将元素加能得到的。例如:当你为一个分布式的系统中的事务处理过程建模型时,你不可能只通过一个类来明白事务是怎样进行的,事实上这个过程的执行涉及到一系列的类的协同工作。使用类图来可视化这些类和他们的关系。

    6、 关系

    这篇文章的重点,详见第二部分。

    二、类之间的几种关系


    1、 泛化(Generalization)

    A、 是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为,描述了一种“is a kind of” 的关系。例如:老虎是动物的一种,即有老虎的特性也有动物的共性。

    B、 用带空心箭头的实线表示,箭头指向父类,如下图:

    这里写图片描述

    2、 实现(Realization)

    A、 是一种类与接口的关系,表示类是接口所有特征和行为的实现。

    B、 用带空心箭头的虚线表示,箭头指向接口,如下图:

    这里写图片描述

    3、 关联(Association)

    A、 一般关联

    a、 关联关系是类与类之间的联结,它使一个类知道另一个类的属性和方法,指明了事物的对象之间的联系,如:老师与学生、丈夫与妻子。关联可以是双向的,也可以是单向的,还有自身关联。

    b、 用带普通箭头的实心线表示。双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头,如下图:

    这里写图片描述

    B、 聚合(Aggregation)

    a、 它是整体与部分(整体 has a 部分)的关系,且部分可以离开整体而单独存在,如车和轮胎是整体和部分的关系,轮胎离开车仍然可以存在。飞机场离开飞机也可以存在。聚合关系是关联关系的一种,是强的关联关系,关联和聚合在语法上无法区分,必须考察具体的逻辑关系。

    b、 用带空心菱形的实线表示,菱形指向整体,如下图:

    这里写图片描述

    C、 组合(Composition)

    a、 它是整体与部分的关系,但部分不能离开整体而单独存在。如公司和部门是整体和部分的关系,没有公司就不存在部门。组合关系是关联关系的一种,是比聚合关系还要强的关系,它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期。

    b、 用带实心菱形的实线表示,菱形指向整体,如下图:

    这里写图片描述

    聚集:就像机场和飞机的关系,机场可以没有飞机,飞机也不一定在机场;

     

    组成:就像汽车和轮胎,汽车必须有轮胎,轮胎离开汽车也没有意义。

    聚集:就像机场和飞机的关系,机场可以没有飞机,飞机也不一定在机场;

     

    组成:就像汽车和轮胎,汽车必须有轮胎,轮胎离开汽车也没有意义。

    聚集:就像机场和飞机的关系,机场可以没有飞机,飞机也不一定在机场;

     

    组成:就像汽车和轮胎,汽车必须有轮胎,轮胎离开汽车也没有意义。


    4、 依赖(Dependency)

    A、 元素A的变化会影响元素B,那么B和A的关系是依赖关系,B依赖A。要避免双向依赖,一般来说,不应该存在双向依赖。关联、实现、泛化都是依赖关系。

    B、 用带箭头的虚线表示,箭头指向被依赖元素。

    这里写图片描述

    5、 总结


    各种关系的强弱顺序如下:

    泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖

    下面这张UML图,比较形象地展现了各种类图关系:

    这里写图片描述

    展开全文
  • 实验八 建立对象模型阅读有关“自行车租赁管理系统”的说明,建立该系统的对象模型。要求:使用Microsoft Office Visio或其它工具绘制类图。【说明】系统管理员利用系统进行自行车清单维护和客户清单维护。自行车...

    实验八 建立对象模型

    阅读有关“自行车租赁管理系统”的说明,建立该系统的对象模型。要求:使用Microsoft Office Visio或其它工具绘制类图。

    【说明】

    系统管理员利用系统进行自行车清单维护和客户清单维护。自行车清单含有所有自行车的详细信息,包括编号、类型、大小、品牌、型号、日租金、押金,专业型自行车还含有其它额外信息。客户清单含有所有顾客的详细信息,包括编号、姓名、地址、联系电话以及以往自行车租借信息。

    接待员利用系统进行自行车信息查询、顾客信息维护、自行车发放处理和自行车返还处理。系统对每个租借事务,记录其开始日期、预估租期、顾客和租用的自行车,并且在返还自行车时,能便捷地列出相关租借事务的详细信息。系统允许一个顾客租借多辆自行车,每辆自行车的租期可以不同。对于一次同时租借多辆自行车,且租期相同的,只打印一张收据。当顾客返还自行车时,系统自动计算实际租用天数和租借费、以及去除押金后所须支付的额外金额,系统记录应付款总额和实际支付金额。系统跟踪每辆自行车的状态,如:在库、出借、修理。

     

    一:分析

    1.类与对象:

    系统管理员,自行车清单,客户清单,顾客清单,接待员,自行车,专业型自行车,租借事务,收据,发放,归还

     

    2.确定关系:

    关联:

    系统管理员 维护 自行车清单

    系统管理员 维护 客户清单

     

    接待员 查询 自行车清单

    接待员 维护 顾客清单

    接待员,自行车  关联类:租借事务

     

    租借事务 产生 收据

     

    聚集:

    自行车清单,自行车(限定词:编号)

     

    泛化:

    自行车,专业型自行车

    系统管理员,接待员

    租借事务,发放、返还

     

    3.确定属性:

    自行车:编号、类型、大小、品牌、型号、日租金、押金、状态

    专业型自行车:其他额外信息

    客户清单:编号、姓名、地址、联系电话以及以往自行车租借信息

    顾客清单:详细信息,包括编号、姓名、地址、联系电话

    租借事务:开始日期,预估租期,顾客,自行车编号

    归还:实际租借天数,应付款,实际支付款

    发放:押金

    收据:自行车编号,租期

     

    展开全文
  • Thinking in UML 学习笔记(一)——建立对象模型

    千次阅读 多人点赞 2014-04-29 15:01:33
    一、面向对象的本质面向对象的本质是抽象,当系统达到了超越其处理能力的程度,我们可以抽象出我们能够处理的范围来提成抽象级别,这样就可以构建更大、更复杂的系统。现实世界和对象世界之间存在着一道沟壑,这道...

    一、面向对象的本质

    面向对象的本质是抽象,当系统达到了超越其处理能力的程度,我们可以抽象出我们能够处理的范围来提成抽象级别,这样就可以构建更大、更复杂的系统。

    现实世界和对象世界之间存在着一道沟壑,这道沟壑的名字叫抽象,抽象是面向对象的精髓所在,同时也是面向对象的困难所在。要跨越这道沟壑,我们需要解决以下问题:

    1、一种把现实世界映射到对象世界的方法。

    2、一种从对象世界描述现实世界的方法。

    3、一种验证对象世界行为是否正确反映了现实世界的方法。

    UML正是解决这一问题的分析设计方法。

    二、面向对象遇到的问题

    1、对象的分析与设计问题。

    2、对象结构的含义模糊不清。

    当面向对象遇到这些问题的时候,UML统一建模语言出现了。学习UML只是学会了一门语言,而要写出一篇精彩的文章,却需要依靠写作人对生活的感悟和升华,这两者缺一不可。因此比学会UML建模本身更重要的是要理解UML背后所影藏的最佳实践。

    三、UML统一建模语言要解决的问题

    1、UML既然是一门语言,作为语言要解决的首要问题就是沟通问题

    2、统一,则是要解决混乱的方言问题,如普通话一样被大家广泛认可。

    3、可视化,容易被人理解和记忆(超越文字的表达方式)。

    四、从现实到模型的抽象过程

    建模实际上是一种对现实事物的理解。现实世界中如果我们站在很高的角度去抽象,就会发现无论这个时间多么复杂,其本质无非是由人、事、物和规则组成。

    1、UML采用称之为参与者(actor)的元模型作为信息来源提供者,代表现实中的“”。

    2、UML采用称之为用例(use case)的一种元模型来表示驱动者的业务目标,也就是参与者想要做什么并且获得什么。代表现实中的“”。

    3、一件事怎么做,依据什么规则,则通过称之为业务场景(business scenario)和用例场景(use case scenario)的UML视图来描绘的。代表现实中的规则

    4、业务中的对象模型则就对应现实中的“”。

    五、从业务模型到概念模型

    分析模型:UML通过称之为概念化的分析过程来建立适合计算机理解和实现的模型。

    分析模型介于原始需求和计算机实现之间,是一种过渡模型。

    分析模型的元模型:

    1、边界类(boundary):_____事

    2、控制类(control)———规则

    3、实体类(entity):————物

    下图是业务模型到概念模型的转换过程示意图:


    六、从概念模型到设计模型

    设计模型则是对概念模型的具体实现,这种实现方式不止一种。在设计模型中,概念模型中的边界类可以被转换为操作界面或者系统接口;控制类可以被转化为计算机程序或控制程序,例如工作流、算法等;实体类可以转化为数据表、XML文档或者其他持久化类。实际上对于不同的软件架构和框架以及不同的编程语言,所实现的概念模型有所不同。


    面向对象分析设计完整过程如下:



    七、RUP介绍

    RUP(Rational Unified Process)统一过程。统一过程归纳和整理了很多在实践中总结出来的软件工程的最佳实践,是一个采用了面向对象思想,使用UML作为软件分析语言,并结合了项目管理、质量保证等许多软件工程知识综合而成的一个非常完整和庞大的软件方法。


    统一过程定义了软件开发过程中最重要的四个阶段和九个核心工作流,每个阶段对不同工作流的侧重点不同。

    软件项目真正的灵魂是软件过程,软件过程的需要才是这些工具和语言诞生的原因。

    展开全文
  • 快速建立面向对象应用模型,快速建立面向对象应用模型,快速建立面向对象应用模型,电子文档PPT下载
  • 介绍javascript的对象模型知识,如何建立对象。如何执行对象~~
  • Kubernetes对象模型

    万次阅读 2018-10-13 20:44:20
    Kubernetes对象 在之前的文章已经讲到了很多Kubernets对象,包括pod,service,deployment等等。Kubernets对象是一种持久化,表示集群状态的实体。它是一种声明式的意图的记录,一般使用yaml...在Kubernetes对象模型...
  • 对象模型,动态模型,功能模型

    千次阅读 2017-06-10 11:44:45
    第七周作业——用面向对象方法分析研究书中习题2第3题中描述的机票预订系统,试建立它的对象模型、动态模型和功能模型。   来源:博客园  2016-04-18 对象模型如下: 动态模型如下: 功能模型...
  • 软件工程导论 复 习 对象模型表示静态的结构化的系统的数据性质 通常使用UML提供的类图建立对象模型 类图的绘制类的表示和类与类之间的关系 创建对象模型的步骤 确定类与对象 确定类间的关系 划分主题 确定属性和...
  • 两大类数据模型客观对象的抽象过程---两步抽象3.数据模型的组成要素(1)数据结构(2)数据操作(3)数据的完整性约束条件4.概念模型(1)用途与基本要求(2) 信息世界中的基本概念(3)两个实体型之间的联系① 一对一联系(1:1...
  • JAVA对象模型

    千次阅读 2018-06-09 22:16:30
    现在我们来好好的看看Java对象模型: 几乎所有的Java对象保存在堆内存中(有例外,自行了解),在内存中Java对象包含三部分:对象头、实例数据和对齐填充。其中对象头是一个很关键的部分,因为对象头中包含锁状态...
  • SWMM对象模型

    千次阅读 2018-09-26 14:46:08
    最后,包含曲线,时间序列,时间模式和控制规则的一组数据对象用于表征SWMM模型中各种物理对象的流入和操作行为。表1-2提供了SWMM中使用的各种对象的摘要。在本手册的整个过程中将更详细地描述它们的属性和功能。 ...
  • 建立动态模型 开发交互式系统,动态模型非常重要 步骤: 编写典型交互行为脚本(依据用例描述) 从脚本中提取事件及相关对象,用顺序图表达 确定对象状态及状态间转换关系,用状态图描绘 结合ATM系统的实例,介绍...
  • C ++ 对象模型

    千次阅读 2015-02-10 11:32:52
    C++ 是面向对象的程序设计,除了和 C 一样支持 程序模型,同时也支持 抽象数据类型模型 和 面向对象模型,由于这些引起了 C++ 的复杂性,下面对 C++ 对象进行简要的分析。
  • 面向对象分析与设计——对象模型

    千次阅读 2014-10-22 09:18:58
    对象模型  对象模型包括:抽象、封装、模块化、层次结构、类型、并发和持久   2.1 对象模型的演进   OO建立在以前技术的最佳思想之上。两大趋势:小规模→大规模;高级程序设计语言;   2.1.1 程序...
  • 比如本文我们要讨论的JVM内存结构、Java内存模型和Java对象模型,这就是三个截然不同的概念,但是很多人容易弄混。 可以这样说,很多高级开发甚至都搞不不清楚JVM内存结构、Java内存模型和Java对象模型这三者的概念...
  • 建立领域模型

    千次阅读 2016-05-25 17:15:25
    简介领域模型是对领域内的概念类或现实世界中对象的可视化表示。又称概念模型、领域对象模型、分析对象模型。它专注于分析问题领域本身,发掘重要的业务领域概念,并建立业务领域概念之间的关系。
  • 因为想在笔记中夹杂这篇文章中部分内容,所以进行了还是比较多的引用,核心的地方还是自己写的 可以一直接调转到深入理解Java的OOP ...名称:Object-Oriented Analysis:面向对象分析方法 OOA是指...
  • ADO对象模型总结

    千次阅读 热门讨论 2016-05-08 19:26:44
    ADO 简介 ActiveX data Object (取代 dao 和rdo) 通过 OLE DB 实现不同类型数据源的访问  有三种类型  数据提供者:将特殊数据转化成...ADO对象模型 七个 三个独立对象 四个依赖独立对象才能使用 Connection 连接对象
  • 在产品建模中,为解决应用面向对象技术...并以企业产品资源和产品对象模型为例,定义了企业产品资源面向对象模型。结合产品对象,定义了产品对象动态模型和对象视图,并通过这个实例验证了对象定义拓展的必要性和意义。
  • 业务模型;UML类图
  • 对象模型如下: 动态模型如下: 功能模型如下: 转载于:https://www.cnblogs.com/hokin/p/5404480.html
  • JVM成神之路-Java对象模型

    千次阅读 2018-07-23 15:01:17
    在jvm的内存结构中,对象保存在堆中,而我们在对对象进行操作时,其实操作的是对象的引用。 Java对象包含三个部分 一个Java对象可以分为三部分存储在内存中,分别是:对象头(Header)、实例数据(Instance Data)和...
  • PHP5的对象模型[2]--对象模型

    千次阅读 2004-08-07 23:48:00
    PHP5 的对象模型PHP5有一个单重继承的,限制访问的,可以重载的对象模型. 本章稍后会详细讨论的”继承”,包含类间的父-子关系. 另外,PHP支持对属性和方法的限制性访问. 你可以声明成员为private,不允许外部类访问. ...
  • C++对象模型笔记

    万次阅读 2004-10-13 22:18:00
    C++对象模型之一 关于对象笔记前言 >Stanley B.Lippman著;中文版《深度探索C++对象模型》侯捷翻译。看到大家都认为是本好书,所以从Chinapub中购买会来。看了一遍后觉得昏昏沉沉,主要是很琐碎,其中此书有点过时...
  • ADO.NET对象模型

    千次阅读 2005-04-21 02:17:00
    ADO.NET是专门为帮助开发人员开发高效的多层数据库应用程序设计的。...“断开连接”的对象模型可以说是建立在“连接的”对象模型的基础上进行的,因为它必须先进行一次“连接的”操作,才能得到所需的结果。 举个例 :
  • 在这里我不想列举学术上的定义,只谈一下我自己的理解:模型是为了模拟、演示、深入分析被研究对象而建造的任何形式的作品。根据这一理解,我们想一下:小时候折的纸飞机是不是模型呢?是的。售楼处摆放的楼盘模型...
  • ADO.NET对象模型

    千次阅读 2004-08-02 23:43:00
    ADO.NET是专门为帮助开发人员开发高效的多层数据库应用程序设计的。...“断开连接”的对象模型可以说是建立在“连接的”对象模型的基础上进行的,因为它必须先进行一次“连接的”操作,才能得到所需的结果。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 409,807
精华内容 163,922
关键字:

怎么建立对象模型