Metodologías y Fases Esenciales del Desarrollo de Software
Clasificado en Informática
Escrito el en
español con un tamaño de 3,4 KB
El Proceso de Desarrollo de Software: Fases y Conceptos Clave
Fases Fundamentales del Desarrollo de Software
El desarrollo de software sigue un proceso estructurado que generalmente se divide en tres etapas principales:
Análisis: En primer lugar, hay que estudiar el problema en cuestión. Esta etapa comprende tareas como la recogida de requisitos, la identificación de conceptos clave y la definición de tareas.
Diseño: Después de haber comprendido el problema, se procede a diseñar una solución. La especificación concisa de los pasos necesarios para resolver el problema es lo que se conoce como algoritmo.
Implementación: Tras el diseño de la solución, se implementa la misma, traduciendo los pasos obtenidos en el algoritmo a un lenguaje de programación concreto, obteniéndose finalmente un programa que puede ser ejecutado en una computadora.
Glosario de Conceptos Esenciales
- Programa
- Conjunto finito de instrucciones de computadora más o menos elementales que resuelven un determinado problema mediante el procesamiento de información y/o la interacción con el usuario.
- Código Fuente
- Se refiere a la especificación del algoritmo en un lenguaje de programación concreto.
- Proyecto Software
- Conjunto de recursos tales como códigos fuente, manuales y documentación técnica necesarios para la construcción de uno o varios programas.
- Ciclo de Vida
- Es el tiempo que transcurre desde que se concibe inicialmente el sistema hasta el momento en que dicho software se retira de la comercialización o de su uso.
- Ingeniería del Software
- Disciplina que estudia las etapas de Análisis, Diseño y los distintos modelos de desarrollo, siendo estos objeto de estudio.
Métodos de Programación y Desarrollo Ágil
Los métodos de programación definen cómo se gestionan y ejecutan las tareas dentro del ciclo de vida del software:
Agile: Se caracteriza por dividir el desarrollo del proyecto en proyectos más pequeños. Suele emplearse en el desarrollo de nuevas versiones por actualización de productos existentes.
Scrum: En este caso, las tareas de un proyecto se suelen dividir en ciclos más cortos llamados sprints. Se suele proponer a los participantes en función de sus experiencias y sus habilidades, otorgándoles más peso en aquellas áreas de las que son especialistas.
Extreme Programming (XP): Es un método evolutivo. Se centra en el desarrollo prioritario de las tareas críticas. Se suele emplear cuando no está clara la estabilidad del entorno de desarrollo o cuando los requisitos son muy inciertos.
Pair Programming: Se da cuando el número de desarrolladores es dos. Cada uno se centra en las tareas que domina. El éxito depende de las características de ambos programadores.
Kanban: Metodología que se basa en el control de tareas por fases y por fechas de vencimiento. Si el proyecto no es muy complejo puede ser una buena elección.