Introducción A UML Parte1

7,587 views
7,332 views

Published on

Published in: Education, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
7,587
On SlideShare
0
From Embeds
0
Number of Embeds
1,511
Actions
Shares
0
Downloads
191
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Introducción A UML Parte1

  1. 1. INTRODUCCIÓN A UML<br />Ing. Andrés M García O<br />
  2. 2. Proceso de desarrollo de software<br />Es el procedimiento mediante el cual se organizan todas las actividades relacionadas con la creación, presentación y mantenimiento de los sistemas de software.<br />Pasos a nivel macro para desarrollar software.<br />Planeación y elaboración<br />Construcción<br />Aplicación<br />Ing. Andrés M García O<br />
  3. 3. Proceso de desarrollo de software<br />Pasos de desarrollo Iterativo<br />Análisis<br />Análisis<br />Análisis<br />Diseño<br />Diseño<br />Diseño<br />Programación<br />Programación<br />Programación<br />Pruebas<br />Pruebas<br />Pruebas<br />Iteración n<br />Iteración 2<br />Iteración 1<br />Ing. Andrés M García O<br />
  4. 4. Que son Métodos y Metodología en el desarrollo de software?<br /><ul><li>Un Método es un proceso estructurado para generar un conjunto de modelos que describen los aspectos de un sistema de software en desarrollo</li></ul>Una metodología es una colección de métodos aplicados a lo largo del ciclo de vida del desarrollo de software y unificados por alguna filosófica.<br />Ing. Andrés M García O<br />
  5. 5. Metodologías aplicadas en el desarrollo de software<br />Diseño estructurado descendente<br />Yourdon y Constantine<br />Wirth<br />Dahl, Dijkstra y Hoare<br /> Diseño dirigido por estructura de datos<br />Jackson<br />Warnier y Orr<br />Diseño orientado a objetos son las que siguen el modelo de objetos<br />Booch<br />OMT (Rumbaugh et al.)<br />Objectory (Jacobson et al.)<br />Schlaer-Mellor<br />Coad/Yourdon<br />Fusion (Coleman et al.)<br />Ing. Andrés M García O<br />
  6. 6. Que es UML?<br />Significa (UnifiedModelingLanguaje) Lenguaje Unificado de<br />construcción de modelos respaldado por el OMG (Object<br />ManagmentGroup).<br />El UML se dice que es unificado porque integra los métodos de Booch, Rumbaught (OMT) y Jacobson empleados para diseño de software. <br />Es un lenguaje que permite modelar, construir y documentar artefactos que forman un sistema software orientado a objetos.<br />Es un estándar en la industria de las TI para implementar ciclos de desarrollo.<br />Ing. Andrés M García O<br />
  7. 7. Que es artefacto?<br />Un artefacto es una información que es utilizada o producida mediante un proceso de desarrollo de software.<br />Pueden ser artefactos un modelo, una descripción o un software.<br />Los artefactos de UML se especifican en forma de diagramas, éstos, junto con la documentación sobre el sistema constituyen los artefactos principales que el modelador puede observar.<br />UML utiliza los diagramas o artefactos gráficos para obtener estos distintos puntos de vista de un sistema:<br />Diagramas de Implementación. <br />Diagramas de Interacción o comportamiento. <br />Diagramas de Casos de uso. <br />Diagramas de Clases. <br />Ing. Andrés M García O<br />
  8. 8. Puntos de vista aplicados en UML<br />Punto de vista de Implementación<br />- Componentes<br />Punto de Vista Estructural<br />-Clases<br />-Objetos<br />Punto de vitas de usuario<br />Casos de uso<br />Punto de vista<br />comportamiento<br /><ul><li> Secuencias
  9. 9. Colaboración
  10. 10. Diagrama de estados</li></ul>Punto de vista<br /> de ambiente<br /><ul><li>Despliegue</li></ul>Y visualización<br />Ing. Andrés M García O<br />
  11. 11. Diagramas del UML<br />Ing. Andrés M García O<br />
  12. 12. Captura de requerimientos<br />Los requerimientos describen las necesidades o deseos de un<br />Producto se debe definir lo siguiente:<br />Clientes (Usuarios del sistema)<br />Funciones del sistema <br />Metas (Objetivos que se quieren lograr con el software)<br />Atributos del sistema (Características o dimensiones del sistema ejemplo: Facilidad de uso, tiempo de respuesta, plataformas en las que corre, tipo de interfaz gráfica)<br />Los demás aspectos fundamentales que definan los objetivos y las metas que se quieren logar con el software.<br />Ing. Andrés M García O<br />
  13. 13. Ejemplo de captura de requerimientos para un videojuego online<br />Clientes:<br />Publico segmentado entre 15 y 35 años, que tienen acceso a internet, disponen de un computador moderno, disponen de tiempo de esparcimiento y les gustan los videojuegos casuales.<br />Metas:<br />Las metas de este proyecto de este video juego son las siguientes:<br />Lograr un videojuego online que brinde diversión y que impacte al publico objetivo.<br />Tener una plataforma que soporte una comunidad de casual gamers de este producto.<br />Obtener una alta fluencia de publico llegar a los 5 mil usuarios durante el primer año de funcionamiento.<br />Ing. Andrés M García O<br />
  14. 14. Ejemplo de captura de requerimientos para un videojuego online<br />Funciones del sistema: Después de una lluvia de ideas y de haberse hecho un estudio de mercado se determino crear un juego de dinamo 3d online que permita las siguientes funciones:<br />Debe manejar inscripciones de usuarios.<br />Almacena datos de usuarios.<br />Establece comunicación online.<br />Debe permitir personalizar un avatar.<br />Debe manejar interacción del teclado.<br />Debe manejar interacción del mouse.<br />Debe manejar colisiones con comportamiento físico.<br />Debe incrementar niveles de dificultad.<br />Publicar records que inciten a otros a superarlos.<br />Ing. Andrés M García O<br />
  15. 15. Ejemplo de captura de requerimientos para un videojuego online<br />Categorías de Funciones del sistema:<br />Ing. Andrés M García O<br />
  16. 16. Ejemplo de captura de requerimientos para un videojuego online<br />Ref 1 Funciones básicas<br />Ing. Andrés M García O<br />
  17. 17. Ejemplo de captura de requerimientos para un videojuego online<br />Ref 2 Funciones de ejecución del juego<br />Ing. Andrés M García O<br />
  18. 18. Ejemplo de captura de requerimientos para un videojuego online<br />Atributos del sistema:<br />Debe ser intuitivo, fácil de entender y manejar.<br />Debe correr en cualquier navegador y sistema operativo.<br />La IU debe ser impactante con objetos 2D o 3D.<br />Debe ser multijugador máximo 4 players mìnimo 2.<br />Debe tener un tiempo de respuesta.<br />Ing. Andrés M García O<br />
  19. 19. Ejemplo de captura de requerimientos para un videojuego online<br />Ing. Andrés M García O<br />
  20. 20. Casos de Uso<br />El caso de uso es un documento que describe la secuencia de los eventos del actor o los actores, describiendo en la situación que cuando y como ocurre.<br />Ejemplo de un caso de uso Inscribir usuario :<br />Caso de uso: Inscribir usuario<br />Actores: Jugador<br />Tipo de caso: Primario (Es fundamental que pase)<br />Descripción: Un cliente llega al portal y selecciona la opción de inscribirse para poder jugar.<br />Ing. Andrés M García O<br />
  21. 21. Casos de Uso<br />Ejemplo de un caso de uso: Curso normal de los eventos<br />Ing. Andrés M García O<br />
  22. 22. Ejemplo de un caso de uso (Expandido) jugar partida 1 player:<br />Caso de uso: Jugar partida 1 player<br />Actores: Jugador<br />Tipo de caso: Primario (Es fundamental que pase)<br />Propósito: Jugar en modalidad 1 player VS CPU<br />Resumen: Un usuario llega al portal y decide jugar una nueva partida de 1 player, comienza el juego lanzando el primer disco y se enfrenta a la CPU, finalmente después de que cualquiera de las 2 partes ya sea el jugador o la CPU anote 5 veces termina el juego.<br />Tipo: Primario (Es muy común que ocurra)<br />Referencias : Funciones R2.1, R2.2, R2.3, R2.4, R2.5, R2.6, R2.7<br />Casos de Uso<br />Ing. Andrés M García O<br />
  23. 23. Casos de Uso<br />Que es un actor?<br />Un actor es toda entidad externa al sistema que de alguna forma interactúa o participa en la historia de los casos de uso. Por lo generar genera eventos que estimulan al sistema y también recibe daos o estímulos que el sistema genera en respuesta. Los actores se representan por el papel que desempeñan en un caso de uso, en este ejemplo sería papel de Jugador.<br />En UML se representa de la siguiente manera:<br />Jugador<br />Ing. Andrés M García O<br />
  24. 24. Diagrama de casos de Uso<br />Inscribir datos<br />Jugar 1 player VS CPU<br />Jugar 2 player<br />Actualizar Perfil y avatar<br />Jugador<br />Revisar Score<br />Ing. Andrés M García O<br />
  25. 25. Definir Modelo Conceptual<br />El modelo conceptual es una representación gráfica que permite comprender el sistema que se esta desarrollando mostrando los conceptos, objetos, atributos y asociaciones más importantes.<br />La asociación es una relación entre dos objetos que indica una conexión que tiene un sentido dentro del contexto del problema del software desarrollado.<br />Las asociaciones se representan con una línea que tiene un nombre y une dos conceptos como muestra la siguiente figura:<br />Asociación 1<br />1<br />1..*<br />Objeto A<br />Objeto B<br />Ing. Andrés M García O<br />
  26. 26. Definir Modelo Conceptual<br />Las asociaciones pueden se pueden categorizar de la siguiente forma:<br />Las más empleadas están resaltadas.<br />A es parte física de B<br />A es una parte lógica de B<br />A está físicamente contenido en B<br />A está lógicamente contenido en B<br />A es una descripción de B<br />A es un elemento de línea en una transacción o reporte de B<br />A se conoce/introduce/registra/presenta/captura en B<br />A es miembro de B<br />A es una subunidad organizacional de B<br />A usa o dirige a B<br />A se comunica con B<br />A se relaciona en una transacción con B<br />A esta contiguo a B<br />A es una propiedad de B<br />Ing. Andrés M García O<br />
  27. 27. Definir Modelo Conceptual<br />Las asociaciones pueden presentar en sus extremos información llamada papeles que puede ser de:<br /><ul><li>Nombre : Describe el papel que juega el objeto en la asociación
  28. 28. Expresión de multiplicidad: Describe cuantas instancias A pueden asociarse a una instancia B en un momento determinado.
  29. 29. Navegabilidad: Describe el flujo de trabajo de la asociación</li></ul>Multiplicidad<br />Navegabilidad<br />destino<br />Vuela-a<br />*<br />1<br />Vuelo<br />Ciudad<br />Nombre<br />Ing. Andrés M García O<br />
  30. 30. Definir Modelo Conceptual<br /><ul><li>Expresión de multiplicidad: Ejemplos de multiplicidad</li></ul>Cero o más<br />1..*<br />*<br />5..10<br />4<br />2,4,6<br />Objeto B<br />Objeto B<br />Objeto B<br />Objeto B<br />Objeto B<br />Uno o más<br />Cinco a diez<br />Exactamente cuatro<br />Exactamente dos, cuatro o seis<br />Vuela-a<br />0..3<br />*<br />Ejemplo de asociación<br /> múltiple<br />Vuelo<br />Ciudad<br />Vuela-a<br />1<br />*<br />Ing. Andrés M García O<br />
  31. 31. Definir Modelo Conceptual<br />Ejemplo Videojuego online<br />1<br />Oponente<br />Golpea<br />1<br />Lanza<br />1<br />Perfil<br />1<br />Edita perfil<br />1<br />1<br />Lanza<br />1<br />1<br />Jugador<br />Disco<br />Golpea<br />1<br />1<br />1<br />1<br />1<br />Tablero de juego<br />Colisiona<br />Inicializa juego<br />1<br />1<br />1<br />Inicializa juego<br />1<br />Display Score<br />1<br />Anota un punto<br />Ing. Andrés M García O<br />
  32. 32. Definir Modelo de Clases<br />El diagrama de clases consiste en hacer una aproximación inicial de las clases incluyendo los métodos y los atributos principales de la solución que se esta desarrollando.<br />Jugador<br />Lanzar()<br />Golpear()<br />Disco<br />colicionar()<br />Tablero<br />Iniciar ()<br />Motor fisica<br />Simular ()<br />Nombre<br />Lanza<br />1<br />PosX<br />PosY<br />PosDisco()<br />1<br />Golpea<br />1<br />1<br />1<br />1<br />1<br />Simula condiciones físicas<br />Inicializa juego<br />1<br />1<br />1<br />Inicializa juego<br />Ing. Andrés M García O<br />
  33. 33. Diagramas de secuencia<br />Los Diagramas de secuencia muestran el orden temporal de todos los mensajes que se transmiten de un objeto a otro cuando se cumplen las funciones del sistema.<br />Diagramas de secuencia<br />Muestran la secuencia de mensajes entre objetos durante un escenario concreto (paso de mensajes).<br />- En la parte superior aparecen los objetos que intervienen.<br />- La dimensión temporal se indica verticalmente<br />(el tiempo transcurre hacia abajo).<br />- Las líneas verticales indican el período de vida de cada objeto.<br />- El paso de mensajes se indica con flechas horizontales u oblicuas<br />(cando existe demora entre el envío y la atención del mensaje).<br />- La realización de una acción se indica con rectángulos sobre las<br />líneas de actividad del objeto que realiza la acción.<br />Ing. Andrés M García O<br />
  34. 34. Diagramas de secuencia<br />Ejemplo de un diagrama de secuencia.<br />Ing. Andrés M García O<br />
  35. 35. Diagramas de secuencia<br />Ejemplo de un diagrama de secuencia.<br />Ing. Andrés M García O<br />
  36. 36. Diagramas de secuencia<br />Ejemplo de un diagrama de secuencia maquina de gaseosas.<br />Ref. Libro Aprenda UML en 24 Horas de Joseph Schmuller<br />Ing. Andrés M García O<br />
  37. 37. Diagramas de secuencia<br />Ejemplo de un diagrama de secuencia<br />Caso de uso jugar 1 player<br />: Disco<br />:Openente<br />:Tablero<br />:Motor física<br />Iniciar partida<br />Entregar Disco<br />Calcular posición <br />del disco (X,Y)<br />Lanzar disco(Fuerza)<br />Actualizar Pos disco(X,Y)<br />Evaluar anotación<br />Jugador<br />Ing. Andrés M García O<br />

×