Portada » Informática » Fundamentos y Metodologías de la Ingeniería de Software Moderno
Ingeniería de Software (SW): Disciplina de la ingeniería que comprende todos los aspectos de la producción del software, desde las etapas iniciales hasta el mantenimiento.
Proceso en la Ingeniería de Software: Conjunto de actividades requeridas para desarrollar un sistema de software, con una serie de pasos que involucran diversas tareas técnicas y administrativas.
Método: Formas organizadas para producir un software. Incluye sugerencias para el proceso que debe seguir y la notación a utilizar.
Metodología: Elabora estrategias de desarrollo de software que promueven prácticas adaptativas en vez de predictivas, centradas en las personas o equipos de trabajo.
Herramienta: Enfoque automático o semiautomático para el proceso y los métodos.
Paradigma: Agrupación de métodos, herramientas y procedimientos para poder descubrir un modelo de desarrollo.
Ciclo de Vida: Contempla las fases necesarias para validar el desarrollo del software y así garantizar que cumple con los requisitos de la aplicación, asegurando que se usaron los métodos apropiados.
Son estrategias integrales de gestión que impulsan a las organizaciones a gestionar sus proyectos con rapidez y flexibilidad. Son las más utilizadas por su alta agilidad; los equipos de trabajo que las utilizan son mucho más productivos y eficientes.
Potencia las relaciones personales a través del trabajo en equipo, fomenta la comunicación y elimina tiempos muertos. Ayuda a la relación entre empleados y clientes. Responde a ambientes muy cambiantes que necesitan una retroalimentación permanente. Sus procesos son: Planeación, Diseño, Codificación y Prueba.
Lleva adelante procesos de trabajo que deben ser lo más cortos posibles, denominados «Sprints». Al final de cada sprint, el equipo entrega una versión mejorada del proyecto para ser analizada. Sus fases son: Iniciación, Planificación y Estimación, Implementación, Revisión y Retrospectiva, y Lanzamiento.
Significa «Tarjeta Visual». Consiste en la elaboración de un cuadro o diagrama en el que se reflejan tres columnas de tareas: pendientes, en proceso o terminadas. Sus procesos incluyen: Diseñar el tablero, registrar el Backlog, priorizar y seleccionar, hacer fluir los servicios y mejorar el sistema.
Configurado para equipos de desarrollo muy capacitados para que elaboren cualquier tarea en poco tiempo. Es la traducción de los principios de la producción Lean al área del desarrollo de software, originado en el Sistema de Producción de Toyota. Ofrece un marco teórico sólido basado en la experiencia.
Se ocupa del lanzamiento de los productos y logra acortar los procesos. Es utilizada principalmente por pequeñas empresas.
Caracterizadas por definir total y rígidamente los requisitos al inicio de los proyectos. Los ciclos de desarrollo son poco flexibles, no permiten realizar cambios fácilmente y no se adaptan bien a la evolución del proyecto.
Proceso de desarrollo secuencial que concibe el trabajo en un conjunto de etapas que deben ejecutarse una tras otra, de arriba hacia abajo. Sus etapas son: Requisitos, Diseño, Implementación, Verificación y Mantenimiento.
Representado como una espiral donde cada giro es una fase. No hay fases fijas y los riesgos son explícitamente identificados y resueltos. Sus actividades son: Planificación, Determinar objetivos, Análisis de riesgo, Desarrollar y probar.
Permite desarrollar software de alta calidad en un corto periodo de tiempo. Los costes son más altos y requiere mayor intervención de los usuarios. Sus fases incluyen: Modelado de Gestión, Modelado de Datos, Modelado de Procesos, Generación de Aplicaciones, y Pruebas y Volumen.
Se basa en la construcción de un prototipo rápido para que los usuarios aporten feedback. Es un modelo iterativo basado en el método de prueba y error.
El producto se construye de manera progresiva. En cada etapa se agrega una nueva funcionalidad, permitiendo ver resultados más rápido que en el modelo en cascada. Es muy flexible.
Utiliza clases y objetos como bloques de construcción básicos. Incluye 6 diagramas: clase, objeto, estado de transición, interacción, módulo y proceso. Sus fases son: Análisis, Diseño e Implementación.
Basado en el paradigma «Divide y Vencerás». Divide el problema en subproblemas menores hasta que sean fáciles de manejar. Ofrece mayor legibilidad y productividad.
Recopilación de buenas prácticas que se mejoran continuamente. Organiza el desarrollo en cuatro fases: Creación, Elaboración, Construcción y Transición.
Extiende el modelo espiral enfatizando la identificación de condiciones de ganancia para todas las partes. Es eficiente para proyectos de diversos tamaños.
Conjunto de programas que brindan asistencia a los analistas e ingenieros durante todo el Ciclo de Vida del desarrollo de software.
