38
UML Lenguaje Unificado de Construcción de Modelos • Programación Orientada a Objetos • Análisis y Diseño Orientado a Objetos • Notación: Usando UML Semana de Sistemas e Informática 2004 Semana de Sistemas e Informática 2004 Ing. Jorge Maranto Iglecias Ing. Jorge Maranto Iglecias

UML Lenguaje Unificado de Construcción de Modelos

  • Upload
    luka

  • View
    42

  • Download
    0

Embed Size (px)

DESCRIPTION

UML Lenguaje Unificado de Construcción de Modelos. Programación Orientada a Objetos Análisis y Diseño Orientado a Objetos Notación: Usando UML. Semana de Sistemas e Informática 2004 Ing. Jorge Maranto Iglecias. Programación Orientada a Objetos. Origenes Qué es la POO Ventajas de la POO - PowerPoint PPT Presentation

Citation preview

Page 1: UML Lenguaje Unificado de Construcción de Modelos

UML Lenguaje Unificado de Construcción de Modelos

• Programación Orientada a Objetos

• Análisis y Diseño Orientado a Objetos

• Notación: Usando UML

Semana de Sistemas e Informática 2004Semana de Sistemas e Informática 2004

Ing. Jorge Maranto IgleciasIng. Jorge Maranto Iglecias

Page 2: UML Lenguaje Unificado de Construcción de Modelos

Programación Orientada a Objetos

• Origenes

• Qué es la POO

• Ventajas de la POO

• Necesidad de documentación estándar para la POO

Page 3: UML Lenguaje Unificado de Construcción de Modelos

UML: Lenguaje Unificado de Construcción de Modelos

• Notación para el análisis y diseño

• Booch, OMT, OOSE

• Origen de UML

– Rational y el grupo OMG

– Grady Booch, James Rumbaugh e Ivar Jacobson

Page 4: UML Lenguaje Unificado de Construcción de Modelos

UML es un lenguaje para desarrollar la especificación, visualización,

construcción y documentación de los artefactos de sistemas de software, así como el modelado de negocios y otros

sistemas no de software.

Page 5: UML Lenguaje Unificado de Construcción de Modelos

UML: Lenguaje Unificado de Construcción de Modelos

• Enfoque de UML

• Artefactos de UML

• Cuatro niveles de diseño

– Meta-MetaModelo

– MetaModelo

– Modelo

– Objetos de usuario

Page 6: UML Lenguaje Unificado de Construcción de Modelos

UML: Lenguaje Unificado de Construcción de Modelos

• Paquetes de UML

• Diagramas de vistas de un modelo– Casos (Use case)

– Diagrama de clases

– Diagramas de comportamiento (diagramas de estado, de actividad, de secuencia y de colaboraciones)

Page 7: UML Lenguaje Unificado de Construcción de Modelos

Los paquetes se definen en los siguientes términos:

– Sintaxis abstracta

– Reglas formales

– Semántica

Page 8: UML Lenguaje Unificado de Construcción de Modelos
Page 9: UML Lenguaje Unificado de Construcción de Modelos
Page 10: UML Lenguaje Unificado de Construcción de Modelos
Page 11: UML Lenguaje Unificado de Construcción de Modelos
Page 12: UML Lenguaje Unificado de Construcción de Modelos
Page 13: UML Lenguaje Unificado de Construcción de Modelos
Page 14: UML Lenguaje Unificado de Construcción de Modelos
Page 15: UML Lenguaje Unificado de Construcción de Modelos
Page 16: UML Lenguaje Unificado de Construcción de Modelos
Page 17: UML Lenguaje Unificado de Construcción de Modelos
Page 18: UML Lenguaje Unificado de Construcción de Modelos
Page 19: UML Lenguaje Unificado de Construcción de Modelos
Page 20: UML Lenguaje Unificado de Construcción de Modelos
Page 21: UML Lenguaje Unificado de Construcción de Modelos
Page 22: UML Lenguaje Unificado de Construcción de Modelos
Page 23: UML Lenguaje Unificado de Construcción de Modelos
Page 24: UML Lenguaje Unificado de Construcción de Modelos
Page 25: UML Lenguaje Unificado de Construcción de Modelos
Page 26: UML Lenguaje Unificado de Construcción de Modelos
Page 27: UML Lenguaje Unificado de Construcción de Modelos
Page 28: UML Lenguaje Unificado de Construcción de Modelos
Page 29: UML Lenguaje Unificado de Construcción de Modelos
Page 30: UML Lenguaje Unificado de Construcción de Modelos
Page 31: UML Lenguaje Unificado de Construcción de Modelos
Page 32: UML Lenguaje Unificado de Construcción de Modelos
Page 33: UML Lenguaje Unificado de Construcción de Modelos
Page 34: UML Lenguaje Unificado de Construcción de Modelos

// elevador.h// Definición de la clase Elevador.#ifndef ELEVADOR_H#define ELEVADOR_H

#include "botonElevador.h"#include "puerta.h"#include "campana.h"

class Piso; // declaración forwardclass Persona; // declaración forward

class Elevador {

public: Elevador( Piso &, Piso & ); // constructor ~Elevador(); // destructor

void llamaElevador( int ); // solicitud de servicio al piso void preparaParaPartir( bool ); // prepara para partir void tiempoProceso( int ); // indica el tiempo actual al elevador void pasajeroEntra( Persona * const ); // aborda un pasajero void pasajeroSale(); // sale un pasaero

Page 35: UML Lenguaje Unificado de Construcción de Modelos

private:

// funciones de utilidad void procesaPosibleLlegada(); void procesaPosiblePartida(); void llegaAlPiso( Piso & ); void mover();

// constantes estáticas que representan el tiempo requerido para viajar // entre los pisos y las direcciones del elevador static const int TIEMPO_VIAJE_ELEVADOR; static const int ARRIBA; static const int ABAJO;

// datos miembros int tiempoActualRelojDelEdificio; // tiempo actual bool enMovimiento; // estado del elevador int direccion; // dirección actual int pisoActual; // ubicación actual int tiempoLlegada; // tiempo de llegada al piso bool piso1NecesitaServicio; // bandera de servicio del piso1 bool piso2NecesitaServicio; // bandera de servicio del piso1

Piso &refPiso1; // referencia al piso 1 Piso &refPiso2; // referencia al piso 2

Persona *ptrPasajero;

Puerta puerta; // objeto puerta Campana campana; // objeto campana

}; // fin de la clase Elevador

#endif // ELEVADOR_H

Page 36: UML Lenguaje Unificado de Construcción de Modelos

// elevador.cpp// Definición de las funciones miembro para la clase Elevador.#include <iostream>

using std::cout;using std::endl;

#include "elevador.h" // definición de la clase Elevador#include "persona.h" // definición de la clase Persona#include "piso.h" // definición de la clase Piso

// constantes que representan el tiempo que se requiere para viajar// entre pisos y direcciones del elevadorconst int Elevador::TIEMPO_VIAJE_ELEVADOR = 5; const int Elevador::ARRIBA = 0;const int Elevador::ABAJO = 1;

// constructorElevador::Elevador( Piso &primerPiso, Piso &segundoPiso ) : botonElevador( *this ), tiempoActualRelojDelEdificio( 0 ), enMovimiento( false ), direccion( ARRIBA ), pisoActual( Piso::PISO1 ), tiempoLlegada( 0 ), piso1NecesitaServicio( false ), piso2NecesitaServicio( false ), refPiso1( primerPiso ), refPiso2( segundoPiso ), ptrPasajero( 0 )

Page 37: UML Lenguaje Unificado de Construcción de Modelos

{ cout << "elevador construido" << endl;  } // fin del constructor Elevador // destructorElevador::~Elevador(){ delete ptrPasajero; cout << "elevador destruido" << endl; } // fin del destructor ~Elevador  // da tiempo al elevadorvoid Elevador::tiempoProceso( int tiempo ){ tiempoActualRelojDelEdificio = tiempo; if ( enMovimiento ) // elevador en movimiento procesaPosibleLlegada();  else // elevador detenido procesaPosiblePartida();  if ( !enMovimiento ) cout << "el elevador descansa en el piso " << pisoActual << endl; } // fin de la función tiempoProceso

Page 38: UML Lenguaje Unificado de Construcción de Modelos

Recursos UML en internet

• www.omg.org/uml

• www.rational.com/uml

• www.therationaledge.com

• www.platinum.com/corp/uml/uml.htm

• www.methods-tools.com/cgi-bin/DiscussionUML.cgi

• www.celignet.com/uml

• www.embarcadero.com/downloads

• www.jguru.com/faq