uml lenguaje unificado de construcción de modelos
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 PresentationTRANSCRIPT
![Page 1: UML Lenguaje Unificado de Construcción de Modelos](https://reader035.vdocuments.co/reader035/viewer/2022070410/56814666550346895db38837/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022070410/56814666550346895db38837/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022070410/56814666550346895db38837/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022070410/56814666550346895db38837/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022070410/56814666550346895db38837/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022070410/56814666550346895db38837/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022070410/56814666550346895db38837/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022070410/56814666550346895db38837/html5/thumbnails/8.jpg)
![Page 9: UML Lenguaje Unificado de Construcción de Modelos](https://reader035.vdocuments.co/reader035/viewer/2022070410/56814666550346895db38837/html5/thumbnails/9.jpg)
![Page 10: UML Lenguaje Unificado de Construcción de Modelos](https://reader035.vdocuments.co/reader035/viewer/2022070410/56814666550346895db38837/html5/thumbnails/10.jpg)
![Page 11: UML Lenguaje Unificado de Construcción de Modelos](https://reader035.vdocuments.co/reader035/viewer/2022070410/56814666550346895db38837/html5/thumbnails/11.jpg)
![Page 12: UML Lenguaje Unificado de Construcción de Modelos](https://reader035.vdocuments.co/reader035/viewer/2022070410/56814666550346895db38837/html5/thumbnails/12.jpg)
![Page 13: UML Lenguaje Unificado de Construcción de Modelos](https://reader035.vdocuments.co/reader035/viewer/2022070410/56814666550346895db38837/html5/thumbnails/13.jpg)
![Page 14: UML Lenguaje Unificado de Construcción de Modelos](https://reader035.vdocuments.co/reader035/viewer/2022070410/56814666550346895db38837/html5/thumbnails/14.jpg)
![Page 15: UML Lenguaje Unificado de Construcción de Modelos](https://reader035.vdocuments.co/reader035/viewer/2022070410/56814666550346895db38837/html5/thumbnails/15.jpg)
![Page 16: UML Lenguaje Unificado de Construcción de Modelos](https://reader035.vdocuments.co/reader035/viewer/2022070410/56814666550346895db38837/html5/thumbnails/16.jpg)
![Page 17: UML Lenguaje Unificado de Construcción de Modelos](https://reader035.vdocuments.co/reader035/viewer/2022070410/56814666550346895db38837/html5/thumbnails/17.jpg)
![Page 18: UML Lenguaje Unificado de Construcción de Modelos](https://reader035.vdocuments.co/reader035/viewer/2022070410/56814666550346895db38837/html5/thumbnails/18.jpg)
![Page 19: UML Lenguaje Unificado de Construcción de Modelos](https://reader035.vdocuments.co/reader035/viewer/2022070410/56814666550346895db38837/html5/thumbnails/19.jpg)
![Page 20: UML Lenguaje Unificado de Construcción de Modelos](https://reader035.vdocuments.co/reader035/viewer/2022070410/56814666550346895db38837/html5/thumbnails/20.jpg)
![Page 21: UML Lenguaje Unificado de Construcción de Modelos](https://reader035.vdocuments.co/reader035/viewer/2022070410/56814666550346895db38837/html5/thumbnails/21.jpg)
![Page 22: UML Lenguaje Unificado de Construcción de Modelos](https://reader035.vdocuments.co/reader035/viewer/2022070410/56814666550346895db38837/html5/thumbnails/22.jpg)
![Page 23: UML Lenguaje Unificado de Construcción de Modelos](https://reader035.vdocuments.co/reader035/viewer/2022070410/56814666550346895db38837/html5/thumbnails/23.jpg)
![Page 24: UML Lenguaje Unificado de Construcción de Modelos](https://reader035.vdocuments.co/reader035/viewer/2022070410/56814666550346895db38837/html5/thumbnails/24.jpg)
![Page 25: UML Lenguaje Unificado de Construcción de Modelos](https://reader035.vdocuments.co/reader035/viewer/2022070410/56814666550346895db38837/html5/thumbnails/25.jpg)
![Page 26: UML Lenguaje Unificado de Construcción de Modelos](https://reader035.vdocuments.co/reader035/viewer/2022070410/56814666550346895db38837/html5/thumbnails/26.jpg)
![Page 27: UML Lenguaje Unificado de Construcción de Modelos](https://reader035.vdocuments.co/reader035/viewer/2022070410/56814666550346895db38837/html5/thumbnails/27.jpg)
![Page 28: UML Lenguaje Unificado de Construcción de Modelos](https://reader035.vdocuments.co/reader035/viewer/2022070410/56814666550346895db38837/html5/thumbnails/28.jpg)
![Page 29: UML Lenguaje Unificado de Construcción de Modelos](https://reader035.vdocuments.co/reader035/viewer/2022070410/56814666550346895db38837/html5/thumbnails/29.jpg)
![Page 30: UML Lenguaje Unificado de Construcción de Modelos](https://reader035.vdocuments.co/reader035/viewer/2022070410/56814666550346895db38837/html5/thumbnails/30.jpg)
![Page 31: UML Lenguaje Unificado de Construcción de Modelos](https://reader035.vdocuments.co/reader035/viewer/2022070410/56814666550346895db38837/html5/thumbnails/31.jpg)
![Page 32: UML Lenguaje Unificado de Construcción de Modelos](https://reader035.vdocuments.co/reader035/viewer/2022070410/56814666550346895db38837/html5/thumbnails/32.jpg)
![Page 33: UML Lenguaje Unificado de Construcción de Modelos](https://reader035.vdocuments.co/reader035/viewer/2022070410/56814666550346895db38837/html5/thumbnails/33.jpg)
![Page 34: UML Lenguaje Unificado de Construcción de Modelos](https://reader035.vdocuments.co/reader035/viewer/2022070410/56814666550346895db38837/html5/thumbnails/34.jpg)
// 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](https://reader035.vdocuments.co/reader035/viewer/2022070410/56814666550346895db38837/html5/thumbnails/35.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022070410/56814666550346895db38837/html5/thumbnails/36.jpg)
// 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](https://reader035.vdocuments.co/reader035/viewer/2022070410/56814666550346895db38837/html5/thumbnails/37.jpg)
{ 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](https://reader035.vdocuments.co/reader035/viewer/2022070410/56814666550346895db38837/html5/thumbnails/38.jpg)
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