introducción a uml parte1
Post on 13-Jun-2015
6.765 Views
Preview:
TRANSCRIPT
INTRODUCCIÓN A UML
Ing. Andrés M García O
Proceso de desarrollo de software
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.
Pasos a nivel macro para desarrollar software.
Ing. Andrés M García O
Planeación y
elaboración
Construcción Aplicación
Proceso de desarrollo de softwarePasos de desarrollo Iterativo
Ing. Andrés M García O
Análisis
Diseño
Programación
Pruebas
Iteración 1
Análisis
Diseño
Programación
Pruebas
Iteración 2
Análisis
Diseño
Programación
Pruebas
Iteración n
Que son Métodos y Metodología en el desarrollo de software?
Un Método es un proceso estructurado para generar un conjunto de modelos que describen los aspectos de un sistema de software en desarrollo
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.
Ing. Andrés M García O
Metodologías aplicadas en el desarrollo de software Diseño estructurado descendente
◦ Yourdon y Constantine◦ Wirth◦ Dahl, Dijkstra y Hoare
Diseño dirigido por estructura de datos◦ Jackson◦ Warnier y Orr
Diseño orientado a objetos son las que siguen el modelo de objetos◦ Booch ◦ OMT (Rumbaugh et al.)◦ Objectory (Jacobson et al.)
Ing. Andrés M García O
Schlaer-MellorCoad/YourdonFusion (Coleman et al.)
Que es UML?Significa (Unified Modeling Languaje) Lenguaje Unificado deconstrucción de modelos respaldado por el OMG (Object Managment Group).
El UML se dice que es unificado porque integra los métodos de Booch, Rumbaught (OMT) y Jacobson empleados para diseño de software.
Es un lenguaje que permite modelar, construir y documentar artefactos que forman un sistema software orientado a objetos.
Es un estándar en la industria de las TI para implementar ciclos de desarrollo.
Ing. Andrés M García O
Que es artefacto? Un artefacto es una información que es utilizada o producida
mediante un proceso de desarrollo de software. Pueden ser artefactos un modelo, una descripción o un software. 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.
UML utiliza los diagramas o artefactos gráficos para obtener estos distintos puntos de vista de un sistema:◦ Diagramas de Implementación. ◦ Diagramas de Interacción o comportamiento. ◦ Diagramas de Casos de uso. ◦ Diagramas de Clases.
Ing. Andrés M García O
Puntos de vista aplicados en UML
Ing. Andrés M García O
Punto de vista de Implementación
- Componentes
Punto de Vista Estructural
-Clases-Objetos
Punto de vistacomportamiento
- Secuencias- Colaboración- Diagrama de estados
Punto de vitas de usuario
Casos de usoPunto de vista de ambiente
- DespliegueY visualización
Diagramas del UML
Ing. Andrés M García O
Captura de requerimientosLos requerimientos describen las necesidades o deseos de unProducto se debe definir lo siguiente:
◦ Clientes (Usuarios del sistema)◦ Funciones del sistema ◦ Metas (Objetivos que se quieren lograr con el software)◦ 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)
◦ Los demás aspectos fundamentales que definan los objetivos y las metas que se quieren logar con el software.
Ing. Andrés M García O
Ejemplo de captura de requerimientos para un videojuego online
◦ Clientes: 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.
◦ Metas: Las metas de este proyecto de este video juego son las siguientes:
◦ Lograr un videojuego online que brinde diversión y que impacte al publico objetivo.◦ Tener una plataforma que soporte una comunidad de casual gamers de este
producto.◦ Obtener una alta fluencia de publico llegar a los 5 mil usuarios durante el primer
año de funcionamiento.
Ing. Andrés M García O
Ejemplo de captura de requerimientos para un videojuego online
◦ 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: Debe manejar inscripciones de usuarios. Almacena datos de usuarios. Establece comunicación online. Debe permitir personalizar un avatar. Debe manejar interacción del teclado. Debe manejar interacción del mouse. Debe manejar colisiones con comportamiento físico. Debe incrementar niveles de dificultad. Publicar records que inciten a otros a superarlos.
Ing. Andrés M García O
Ejemplo de captura de requerimientos para un videojuego online
◦ Categorías de Funciones del sistema:
Ing. Andrés M García O
Categoría de la función
Significado
Evidente Debe realizarse y el usuario debería saber que la realizó
Oculta Debe realizarse aunque no es visible para el usuario.
Ejemplo de captura de requerimientos para un videojuego online
Ing. Andrés M García O
Función Categoría Ref
Debe manejar inscripciones de usuarios. Evidente R1.1
Almacena datos de usuarios. Oculta R1.2
Establece comunicación online. Oculta R1.3
Debe permitir personalizar un avatar. Evidente R1.4
Debe configurar el juego. Evidente R1.8
Publicar records que inciten a otros a superarlos. Evidente R1.9
Ref 1 Funciones básicas
Ejemplo de captura de requerimientos para un videojuego online
Ing. Andrés M García O
Función Categoría Ref
Iniciar partida Evidente R2.1
Debe manejar colisiones con comportamiento físico. Oculta R2.2
Debe manejar interacción del teclado. Evidente R2.3
Debe manejar interacción del mouse. Evidente R2.4
Mostrar puntaje. Evidente R2.5
Hacer anotación Evidente R2.6
Debe incrementar niveles de dificultad. Evidente R2.7
Ref 2 Funciones de ejecución del juego
Ejemplo de captura de requerimientos para un videojuego online
◦ Atributos del sistema: Debe ser intuitivo, fácil de entender y manejar. Debe correr en cualquier navegador y sistema operativo. La IU debe ser impactante con objetos 2D o 3D. Debe ser multijugador máximo 4 players mìnimo 2. Debe tener un tiempo de respuesta.
Ing. Andrés M García O
Ejemplo de captura de requerimientos para un videojuego online
Ing. Andrés M García O
Atributos Descripción y detallesDebe ser intuitivo, fácil de entender y manejar.
El flujo de funcionamiento es facil e intuitivo.
Debe correr en cualquier navegador y sistema operativo.
SO:Windows, Linux, MacNavegador:Explorer, Chrome, Motzilla
La IU debe ser impactante con objetos 3D. Ventanas y objetos de UI se presentan en metáfora con efectos visuales en 3D
Debe ser multijugador Mínimo 1 player, Máximo 4 players
Debe tener un tiempo de respuesta. Cuando un usuario se registre o actualice sus datos debe demorar maximo 10 segundos en mostrar la acción ejecutada
Casos de Uso
◦ 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.
◦ Ejemplo de un caso de uso Inscribir usuario :
◦ Caso de uso: Inscribir usuario◦ Actores: Jugador◦ Tipo de caso: Primario (Es fundamental que pase)◦ Descripción: Un cliente llega al portal y selecciona la opción
de inscribirse para poder jugar.
Ing. Andrés M García O
Casos de Uso
◦ Ejemplo de un caso de uso: Curso normal de los eventos
Ing. Andrés M García O
Acción del actor Respuesta del sistema
1. Este caso inicia cuando el cliente llega al portal y decide inscribirse y selecciona la opción de inscripción.
2. Muestra el formulario de inscripción de datos
3. El usuario ingresa sus datos y da opción de continuar.
4. Guarda los datos de usuario y los almacena en la BD, y envía un e-mail de confirmación para cativa cuenta.
5. El usuario recibe el e-mail de confirmación y acepta la inscripción
6. Recibe la orden de confirmación de inscripción y actualiza al usuario como un miembro admitido en la BD.
Casos de Uso◦ Ejemplo de un caso de uso (Expandido) jugar partida 1
player:
◦ Caso de uso: Jugar partida 1 player◦ Actores: Jugador◦ Tipo de caso: Primario (Es fundamental que pase)◦ Propósito: Jugar en modalidad 1 player VS CPU◦ 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.
◦ Tipo: Primario (Es muy común que ocurra)◦ Referencias : Funciones R2.1, R2.2, R2.3, R2.4, R2.5, R2.6, R2.7
Ing. Andrés M García O
Casos de Uso
◦ Que es un actor?◦ 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.
◦ En UML se representa de la siguiente manera:
Ing. Andrés M García O
Jugador
Diagrama de casos de Uso
Ing. Andrés M García O
Jugador
Inscribir datos
Jugar 1 player VS CPU
Jugar 2 player
Actualizar Perfil y avatar
Revisar Score
Definir Modelo Conceptual
Ing. Andrés M García O
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.
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.
Las asociaciones se representan con una línea que tiene un nombre y une dos conceptos como muestra la siguiente figura:
Objeto A Objeto BAsociación 11 1..*
Definir Modelo Conceptual
Ing. Andrés M García O
Las asociaciones pueden se pueden categorizar de la siguiente forma:Las más empleadas están resaltadas.
A es parte física de BA es una parte lógica de BA está físicamente contenido en BA está lógicamente contenido en BA es una descripción de BA es un elemento de línea en una transacción o reporte de BA se conoce/introduce/registra/presenta/captura en BA es miembro de BA es una subunidad organizacional de BA usa o dirige a BA se comunica con BA se relaciona en una transacción con BA esta contiguo a BA es una propiedad de B
Definir Modelo Conceptual
Ing. Andrés M García O
Las asociaciones pueden presentar en sus extremos información llamada papeles que puede ser de:
• Nombre : Describe el papel que juega el objeto en la asociación• Expresión de multiplicidad: Describe cuantas instancias A pueden
asociarse a una instancia B en un momento determinado.• Navegabilidad: Describe el flujo de trabajo de la asociación
Vuelo CiudadVuela-a* 1
destino
Multiplicidad
Nombre
Navegabilidad
Definir Modelo Conceptual
Ing. Andrés M García O
• Expresión de multiplicidad: Ejemplos de multiplicidad
Objeto B*
Objeto B1..*
Objeto B5..10
Objeto B4
Objeto B2,4,6
Cero o más
Uno o más
Cinco a diez
Exactamente cuatro
Exactamente dos, cuatro o seis
Vuelo Ciudad
Vuela-a* 0..3
Vuela-a* 1Ejemplo de asociación
múltiple
Definir Modelo Conceptual
Ing. Andrés M García O
Ejemplo Videojuego online
Jugador Disco
Lanza1 1
Oponente
1
1
Lanza
Tablero de juego
1
1
Golpea1 1
1
1
Golpea
Display Score
1
1 Anota un punto
Inicializa juego
1
1Inicializa juego
1
1
Colisiona
Perfil
Edita perfil
1
1
Definir Modelo de Clases
Ing. Andrés M García O
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.
Lanza1 1
1
1
Golpea1 11
Inicializa juego
1
1Inicializa juego
1 Simula condiciones físicas
Jugador
Lanzar()Golpear()
Nombre
Disco
colicionar()
PosXPosY
Tablero
Iniciar ()
Motor fisica
Simular ()
PosDisco()
Diagramas de secuencia
Ing. Andrés M García O
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.
Diagramas de secuenciaMuestran la secuencia de mensajes entre objetos durante un escenario concreto (paso de mensajes).
- En la parte superior aparecen los objetos que intervienen.- La dimensión temporal se indica verticalmente(el tiempo transcurre hacia abajo).- Las líneas verticales indican el período de vida de cada objeto.- El paso de mensajes se indica con flechas horizontales u oblicuas(cando existe demora entre el envío y la atención del mensaje).- La realización de una acción se indica con rectángulos sobre laslíneas de actividad del objeto que realiza la acción.
Diagramas de secuencia
Ing. Andrés M García O
Ejemplo de un diagrama de secuencia.
Diagramas de secuencia
Ing. Andrés M García O
Ejemplo de un diagrama de secuencia.
Diagramas de secuencia
Ing. Andrés M García O
Ejemplo de un diagrama de secuencia maquina de gaseosas.
Ref. Libro Aprenda UML en 24 Horas de Joseph Schmuller
Diagramas de secuencia
Ing. Andrés M García O
Ejemplo de un diagrama de secuenciaCaso de uso jugar 1 player
Jugador: Disco:Motor física :Openente:Tablero
Iniciar partida
Entregar Disco
Lanzar disco(Fuerza)Calcular posición del disco (X,Y)
Actualizar Pos disco(X,Y)
Evaluar anotación
top related