Fundamentos de ingeniería de software

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
Fundamentos de ingeniería de software por Mind Map: Fundamentos de ingeniería de software

1. 3. Metodologías de desarrollo de Software

1.1. Concepto

1.1.1. Sistema de prácticas, técnicas, procedimientos y reglas

1.1.2. Estructurar las forma que entregamos proyectos

1.2. 1. Clásicas

1.2.1. Definir y establecer totalmente, rígidamente los requisitos

1.2.2. Waterfall o cascada

1.2.2.1. Planificación ampliamente adelantada y luego se ejecuta

1.2.2.2. Estricta secuencia en un solo ciclo largo

1.2.2.3. Muy Rígida, es difícil regresar a etapas

1.2.2.4. Nada que mostrar al cliente mientras avanzas

1.3. 2. Agiles

1.3.1. 4 Principios Iterativos:

1.3.1.1. Individuos e interacciones > procesos y herramientas

1.3.1.2. Software de Trabajo > Documentación completa

1.3.1.3. Colaboración del cliente > Negociación de contratos

1.3.1.4. Responder a los cambios > seguir un plan

1.3.2. Implementaciones

1.3.2.1. Scrum

1.3.2.1.1. "Scrums "o reuniones diarias durante cada iteración

1.3.2.1.2. Retrospectiva para continua mejora y optimización

1.3.2.2. Extreme Programming (XP)

1.3.2.2.1. Similar a scrum

1.3.2.2.2. Mejorar la calidad del software

1.3.2.2.3. Garantizar la respuesta a evolución de requerimentos

1.3.2.3. Kanban

1.3.2.3.1. Mejorar rendimiento enfocándose en lo realmente importante

1.3.2.4. Scrumban

1.3.2.4.1. Combinación de Kanban y Scrum

1.3.3. Planificación, ejecución y evaluación mientras avanzan

1.4. 3. Otras metodologías

1.4.1. PMBOK

1.4.1.1. Procesos y técnicas para administración de proyectos

1.4.1.1.1. Iniciar

1.4.1.1.2. Planear

1.4.1.1.3. Ejecutar

1.4.1.1.4. Controlar

1.4.1.1.5. Cerrar

1.4.1.2. Project management Body of Knowledge

1.4.2. Prince 2

1.4.2.1. Gestión de proyectos en cascada "Pila Completa"

1.4.2.2. División de proyectos en múltiples etapas

1.4.2.2.1. Definir estructuras para el equipo

2. 4. Importancia de las Herramientas CASE en la Ingeniería de Software

2.1. Software para planificación, programación, reprogramación de proyectos

2.1.1. Beneficios

2.1.1.1. Implementa recursos lo más eficiente y efectivamente

2.1.1.2. Visión general de capacidad de organización

2.1.1.3. Pronostica ingresos proporcionando informes sobre próximos proyectos

2.1.2. ejemplos

2.1.2.1. Monday.com

2.1.2.1.1. Planeación de lineas de tiempo

2.1.2.1.2. Asignar proyectos

2.1.2.1.3. Informe de capacidad de trabajo del equipo

2.1.2.1.4. ajustar líneas de tiempo y asignaciones

2.1.2.2. Resource Manager

2.1.2.2.1. Planeación de proyectos

2.1.2.2.2. capacidad de equipo

2.1.2.2.3. Pronosticación de presupuesto

2.1.2.2.4. utilización de equipo

2.1.2.2.5. necesidades de contratación

2.1.2.2.6. Tiempo real, trabajo con animaciones

2.1.2.3. Kantata

2.1.2.3.1. Todo en uno planeación, horarios, y finanzas

2.1.2.3.2. Sistema de dashboards

2.1.2.4. Float

2.1.2.4.1. Para agencias digitales y equipos de producción

2.1.2.4.2. Disponibilidad y capacidad del equipo

2.1.2.4.3. Horarios, utilización de recursos, entre otros

2.1.2.5. Runn

2.1.2.5.1. Manejo y seguimiento de recursos tiempo real

2.1.2.5.2. Demanda, planeación y capcidad de proyextos

2.1.2.6. Resource Guru

2.1.2.6.1. Mejor opción bajo costo para principiantes

2.1.2.6.2. Fácil uso resolución de conflicto de recursos

2.1.2.7. SilverBucket

2.1.2.7.1. Mejor para trabajos basados en proyecto

2.1.2.7.2. Vistas de recursos, conflictos, carga de trabajos

2.1.2.7.3. niveles de capacidades

2.1.2.8. Saviom

2.1.2.8.1. Mejor administración de recursos y asignaciones de trabajo

2.1.2.8.2. Reducir costes de recursos

2.1.2.9. Forecast app

2.1.2.9.1. Mejor herrramienta CASE asistida por IA

2.1.2.9.2. pronosticación y planeación para impulsar proyectos

2.1.2.10. Celoxis

2.1.2.10.1. Mejores funciones de reporte y análisis

2.1.2.10.2. administrar proyectos, recursos, riesgos, trabajos, tiempos, colaboraciones...

3. .1 Conceptos Básicos

3.1. Disciplina de Ingenieria

3.1.1. Se ocupa de

3.1.1.1. Diseño, Construccion y Doicumentacion de Programas

3.1.1.1.1. para

3.1.1.1.2. Desarrollado

3.1.2. Es una coleccion de

3.1.2.1. Tecnicas

3.1.2.2. Metodologias

3.1.2.2.1. Agiles

3.1.2.2.2. En cascada

3.1.2.2.3. Método de las 6 D

3.1.2.3. Herramientas

3.1.2.3.1. Herramienta case

3.1.3. Mitos

3.1.3.1. Existe un mejor lenguaje de programación

3.1.3.2. Mas personas en el equipo ,más rapido

3.1.3.3. Desarrolladores solo deben escribir código

3.1.3.4. Mientras antes haya solución mejor

3.1.3.5. Seguir planificación exactamente es lo mejor

3.1.3.6. Avance es Predecible y lineal

3.1.3.7. Existe una solución para todo

4. 2. Fases de la Ingeniería de Software

4.1. Qué son?

4.1.1. Pasos para garantizar que el programa:

4.1.1.1. Cumpla los requisitos

4.1.1.2. Use los métodos apropiados

4.1.1.3. Sean eficientes, fiables y seguros

4.1.1.4. Responda las necesidades de los usuarios finales

4.1.2. modo sistemático de

4.1.2.1. Realizar, gestionar y administrar un proyecto

4.2. Cuáles son?

4.2.1. Planificación

4.2.1.1. Hacer tareas decisivas del proyecto

4.2.1.1.1. como

4.2.2. Análisis

4.2.2.1. Qué tiene que hacer el software?

4.2.2.1.1. Qué necesita?

4.2.2.1.2. Comprensión adecuada de los requerimentos del sistema

4.2.3. Diseño

4.2.3.1. Opciones de inplementación para el software

4.2.3.2. Definir la estructura general del mismo

4.2.4. Implementación

4.2.4.1. Elegir las herramientas adecuadas

4.2.4.2. Elegir el entorno de desarrollo

4.2.4.3. Elegir el lenguaje de programación apropiado

4.2.4.4. Adquisición de los recursos necesarios

4.2.4.5. Desarrollar casos de prueba

4.2.4.6. Intentar que el código no sea indescifrable

4.2.5. Pruebas

4.2.5.1. Detectar fallos cometidos en etapas anteriores

4.2.5.1.1. Corregir fallos

4.2.6. Instalación o despliegue

4.2.6.1. Poner el software en funcionamiento

4.2.6.1.1. Planificar el entorno considerando las dependencias

4.2.7. Uso y mantenimiiento

4.2.7.1. Eliminar los defectos detectados

4.2.7.1.1. Mantenimiento correctivo

4.2.7.2. Adaptarlo a nuevas necesidades

4.2.7.2.1. Mantenimiento adaptativo

4.2.7.3. Añadirle nuevas funcionalidades

4.2.7.3.1. Mantenimiento perfectivo

4.3. Modelos de ciclos de vida de Software

4.3.1. Modelo de cascada

4.3.1.1. Etapas de manera lineal

4.3.1.2. Una detrás de otra

4.3.2. Modelo repetitivo

4.3.2.1. Proeso de desarrollo en repeticiones

4.3.2.2. Repitiendo cada paso despues de cada ciclo

4.3.3. Modelo en espiral

4.3.3.1. combinación de los modelos anteriores

4.3.3.1.1. Se fijan objetivos y limitaciones cada repeticion

4.3.3.1.2. Se crean modelos de prototipo de software

4.3.3.1.3. Se usa un modelo estandar

4.3.3.1.4. Se prepara el plan de siguiente repeticion

4.3.4. Facilitar una metodologia cliente y compañía