2. 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. Planeación y elaboración Construcción Aplicación Ing. Andrés M García O
3. Proceso de desarrollo de software Pasos de desarrollo Iterativo Análisis Análisis Análisis Diseño Diseño Diseño Programación Programación Programación Pruebas Pruebas Pruebas Iteración n Iteración 2 Iteración 1 Ing. Andrés M García O
4.
5. 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.) Schlaer-Mellor Coad/Yourdon Fusion (Coleman et al.) Ing. Andrés M García O
6. Que es UML? Significa (UnifiedModelingLanguaje) Lenguaje Unificado de construcción de modelos respaldado por el OMG (Object ManagmentGroup). 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
7. 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
12. Captura de requerimientos Los requerimientos describen las necesidades o deseos de un Producto 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
13. 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
14. 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
15. Ejemplo de captura de requerimientos para un videojuego online Categorías de Funciones del sistema: Ing. Andrés M García O
16. Ejemplo de captura de requerimientos para un videojuego online Ref 1 Funciones básicas Ing. Andrés M García O
17. Ejemplo de captura de requerimientos para un videojuego online Ref 2 Funciones de ejecución del juego Ing. Andrés M García O
18. 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
19. Ejemplo de captura de requerimientos para un videojuego online Ing. Andrés M García O
20. 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
21. Casos de Uso Ejemplo de un caso de uso: Curso normal de los eventos Ing. Andrés M García O
22. 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 Casos de Uso Ing. Andrés M García O
23. 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: Jugador Ing. Andrés M García O
24. Diagrama de casos de Uso Inscribir datos Jugar 1 player VS CPU Jugar 2 player Actualizar Perfil y avatar Jugador Revisar Score Ing. Andrés M García O
25. Definir Modelo Conceptual 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: Asociación 1 1 1..* Objeto A Objeto B Ing. Andrés M García O
26. Definir Modelo Conceptual Las asociaciones pueden se pueden categorizar de la siguiente forma: Las más empleadas están resaltadas. A es parte física de B A es una parte lógica de B A está físicamente contenido en B A está lógicamente contenido en B A es una descripción de B A es un elemento de línea en una transacción o reporte de B A se conoce/introduce/registra/presenta/captura en B A es miembro de B A es una subunidad organizacional de B A usa o dirige a B A se comunica con B A se relaciona en una transacción con B A esta contiguo a B A es una propiedad de B Ing. Andrés M García O
27.
28. Expresión de multiplicidad: Describe cuantas instancias A pueden asociarse a una instancia B en un momento determinado.
29. Navegabilidad: Describe el flujo de trabajo de la asociaciónMultiplicidad Navegabilidad destino Vuela-a * 1 Vuelo Ciudad Nombre Ing. Andrés M García O
30.
31. Definir Modelo Conceptual Ejemplo Videojuego online 1 Oponente Golpea 1 Lanza 1 Perfil 1 Edita perfil 1 1 Lanza 1 1 Jugador Disco Golpea 1 1 1 1 1 Tablero de juego Colisiona Inicializa juego 1 1 1 Inicializa juego 1 Display Score 1 Anota un punto Ing. Andrés M García O
32. Definir Modelo de Clases 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. Jugador Lanzar() Golpear() Disco colicionar() Tablero Iniciar () Motor fisica Simular () Nombre Lanza 1 PosX PosY PosDisco() 1 Golpea 1 1 1 1 1 Simula condiciones físicas Inicializa juego 1 1 1 Inicializa juego Ing. Andrés M García O
33. Diagramas de secuencia 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 secuencia Muestran 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 las líneas de actividad del objeto que realiza la acción. Ing. Andrés M García O
36. Diagramas de secuencia Ejemplo de un diagrama de secuencia maquina de gaseosas. Ref. Libro Aprenda UML en 24 Horas de Joseph Schmuller Ing. Andrés M García O
37. Diagramas de secuencia Ejemplo de un diagrama de secuencia Caso de uso jugar 1 player : Disco :Openente :Tablero :Motor física Iniciar partida Entregar Disco Calcular posición del disco (X,Y) Lanzar disco(Fuerza) Actualizar Pos disco(X,Y) Evaluar anotación Jugador Ing. Andrés M García O