Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
4/04/2020 1 Análisis y Diseño de Sistemas Proceso de Desarrollo de Software Proceso de Desarrollo de Software (SDP) Objetivo: • Identificar las actividades propias del SDP. Contenido: • Ingeniería de software • El Proceso de Desarrollo de Software • Proceso Tradicional: El Proceso de Desarrollo Unificado (RUP) • Proceso Ágil: SCRUM • Enfoques del proceso de desarrollo • Herramientas CASE Análisis y Diseño de Sistemas 2 4/04/2020 2 Ingeniería de software “Es una disciplina de la Ingeniería que comprende todos los aspectos de la producción de Software, desde las tapas iniciales de la especificación del sistema, hasta el mantenimiento de éste cuando se utiliza” (Sommerville) Análisis y Diseño de Sistemas 3 SOFTWARE DE CALIDAD PROCESO EFICIENTE OBJETIVO El proceso de desarrollo software - SDP • El SDP define el qué, quién, cuándo y cómo del desarrollo de software. • Cuatro actividades fundamentales que son comunes para todos los procesos de desarrollo de software : • Especificación del software • Desarrollo del software • Validación del software • Evolución del software Análisis Desarrollo Pruebas Mantenimiento 4/04/2020 3 Tipos de procesos de desarrollo de software • Tipos • Genéricos: fases, actividades, etc. • Específicos: actividades, decisiones, etc. Análisis y Diseño de Sistemas 5 Metodología de desarrollo de software • Marco que define la forma de trabajo durante todo o parte del proceso de desarrollo de software. • Conjunto de estrategias, procedimientos, técnicas, etc. que permiten el logro de un objetivo eficientemente. Tipos de Metodologías: Tradicionales Ágiles http://nicholasgimenes.blogspot.com/2012/10/empreendedorismo-agil.html 4/04/2020 4 Metodologías tradicionales • Excesiva documentación. • Basadas en el cumplimiento de un plan definido al inicio. • Intensivo control mediante políticas y normas. • Altos costos para implementar los cambios en la medida que se avanza en el desarrollo. Opuestas al cambio. • El cliente (externo) interacciona con el equipo mediante reuniones. • Muchos roles y artefactos definidos. • Se basa en la arquitectura definida por modelos. • Existe un contrato prefijado. • En entornos muy volátiles no conviene. Proceso de Desarrollo Unificado - RUP • También llamado “Proceso de Desarrollo de Rational (RUP: Rational Unified Proccess)”. • El RUP es el producto final de 3 décadas (desde 1967 a 1998) de desarrollo y uso práctico. • Creado por Rational Software de IBM, después de un proceso evolutivo de unificación de otros métodos. • Es el proceso estándar más utilizado para el desarrollo de software orientado a objetos. • Consta de un conjunto de mejores prácticas organizadas en ciclos, fases e iteraciones. 4/04/2020 5 Estructura de las actividades del RUP • RUP divide el proceso en ciclos (Iterativo e incremental). Cada ciclo tiene un producto final (versión). Cada ciclo se divide en fases. Las fases contienen un conjunto de iteraciones. Y en cada iteración se desarrollan los flujos de trabajo del proceso. CiclosFasesIteracionesFlujos de Trabajo Unidades de trabajo Ciclo de Vida del RUP 4/04/2020 6 Fases del RUP • Inicio o concepción: objetivos definidos, modelo del negocio y alcance del proyecto. Inicio de casos de uso, identificar riesgos. • Elaboración: arquitectura definida, plan de proyecto, completar casos de uso y eliminar riesgos • Construcción: elaboración de un producto operativo con su manual. • Implementación: producto en el cliente y entrenamiento de usuarios. Surgen nuevos requisitos. Estructura estática del proceso • Roles: comportamiento y responsabilidades de un individuo o equipo. • Actividades: unidad de trabajo desempeñada por un rol. Crear o actualizar un artefacto. • Artefactos: es un entregable (subproducto) producido y/o usado durante el RUP. • Flujos de trabajo: conjunto de actividades que producen un resultado observable. 4/04/2020 7 Roles • Analistas: del negocio y del software. • Desarrolladores: arquitecto, lógica, interface, base de datos, implementador, integrador. • Gestores: de proyecto, de control de cambios, de configuración, de pruebas, de despliegue, de procesos, de calidad. • Apoyo: documentación, herramientas, cursos, graficador, redes. • Especialistas de pruebas: analista, diseñador y ejecutor de pruebas. • Otros: Stakeholders, coordinador de revisiones, etc. Flujos de trabajo del RUP Flujos de trabajo del proceso • Modelado del negocio: modelado del dominio • Requisitos: invención de los requisitos • Análisis y diseño: análisis de requisitos y diseño de software • Implementación: desarrollo de componentes • Pruebas: evaluar la calidad, casos de pruebas • Despliegue: implantación del software Flujos de trabajo de Soporte • Gestión de cambios y configuraciones: mantener la integridad de los artefactos. • Gestión del proyecto: organización, planeación, dirección y control. • Entorno: brindar el soporte tecnológico al proceso: herramientas. 4/04/2020 8 Metodologías Ágiles • Basada en técnicas heurísticas de producción de código. • Preparada para el cambio. Ideal para entornos muy cambiantes. • Proceso poco controlado y pocos principios. • El cliente es parte del equipo. • Pocos roles y pocos activos definidos. • Poco énfasis en la arquitectura. • No existe contrato prefijado o al menos son bastante flexibles. SCRUM • Desarrollada por Ken Schwaber, Jeff Sutherland y Mike Beedle. • Definición específica de roles. • Basada en iteraciones llamadas Sprints . De cada sprints se obtiene un resultado ejecutable para el cliente. • Varios tipos de reuniones de planeamiento y revisión en torno al Sprint. 4/04/2020 9 Ámbito del Scrum • Buenas prácticas para trabajo colaborativo. • Realiza entregas parciales. • Orientado a proyectos con las siguientes características: • Requieren resultados rápidos. • Requisitos cambiantes o poco definidos. • Se requiere fundamentalmente innovación, competitividad, flexibilidad y productividad. • Se requiere personal experimentado para el desarrollo. 17 SCRUM • Roles: • Scrum Master. • Product Owner. • Team. • Componentes: • Pila del producto. • Pila de Sprint. • Incremento. ▪ Reuniones: - Daily Scrum o Stand-up meeting. - Scrum de Scrum. - Sprint Planning Meeting - Sprint Review Meeting - Sprint Retrospective ▪ Sprint ▪Documentos: - Product Backlog - Sprint Backlog - Burn down chart 4/04/2020 10 Proceso Scrum Reunión Previa Product Owner Product Backlog Sprint Execution (1 a 4 semanas) Scrum Master Daily Meeting (15 minutos) • ¿Qué hiciste? • ¿Qué dificultades? • ¿Qué harás? Sprint Planing Develoment Team Refinement Tasking Sprint Backlog Product Increment Sprint Review • Verificar el avance • Ver que falta • ¿Qué se va hacer? Sprint Retrospective Scrum Master • ¿Qué se hizo bien? • ¿Qué no se debe hacer? • ¿Que se puede mejorar? Enfoques de software • Enfoques organizados orientados al desarrollo de software de alta calidad. • Existen dos enfoque predominantes: • Estructurado: software de tiempo real • Orientado a objetos: software interactivo Análisis y Diseño de Sistemas 20 Estructurado 4/04/2020 11 Herramientas CASE • Ingeniería de Software Asistida por Computadora (Computer Aided Software Engineering). • Variedad de aplicaciones informáticas usadas para ayudar en las actividades del proceso de desarrollo de software Análisis y Diseño de Sistemas 21
Compartir