La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

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.

Presentaciones similares


Presentación del tema: "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."— Transcripción de la presentación:

1 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

2 Programación Orientada a Objetos Origenes Qué es la POO Ventajas de la POO Necesidad de documentación estándar para la POO

3 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

4 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.

5 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

6 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)

7 Los paquetes se definen en los siguientes términos: –Sintaxis abstracta –Reglas formales –Semántica

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34 // Fig. 7.41: 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 forward class 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 // 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 forward class 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

35 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

36 // elevador.cpp // Definición de las funciones miembro para la clase Elevador. #include 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 elevador const int Elevador::TIEMPO_VIAJE_ELEVADOR = 5; const int Elevador::ARRIBA = 0; const int Elevador::ABAJO = 1; // constructor Elevador::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 )

37 { cout << "elevador construido" << endl; } // fin del constructor Elevador // destructor Elevador::~Elevador() { delete ptrPasajero; cout << "elevador destruido" << endl; } // fin del destructor ~Elevador // da tiempo al elevador void 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

38 Recursos UML en internet


Descargar ppt "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."

Presentaciones similares


Anuncios Google