Metodologías de Desarrollo de Sistemas

Metodologías de Desarrollo de Sistemas

Introducción

c1r

Una metodología para el desarrollo de sistemas se refiere a un framework (marco de trabajo) que es usado para estructurar, planear y controlar el proceso de desarrollo en sistemas de información.A lo largo del tiempo, se han desarrollado muchos métodos, cada uno con sus fortalezas y debilidadesUn framework para metodología de desarrollo de sistemas consiste en:Una filosofía de desarrollo de programas de computación con el enfoque del proceso de desarrollo de sistemasHerramientas, modelos y métodos para asistir al proceso de desarrollo de sistemasEstos frameworks se asocian habitualmente con organizaciones que desarrollan, apoyan el uso y promueven la metodología.

Estructurada

r

Es un enfoque secuencial y detallado que divide el desarrollo en fases específicas (análisis, diseño, implementación, pruebas y mantenimiento). Es ideal para proyectos con requisitos bien definidos y estables, ya que sigue un flujo lineal.

Enfoque: Secuencial y detallado.

Principales Fases:
Análisis de Requisitos
Diseño (División en módulos y submódulos)
Codificación
Pruebas y Mantenimiento

Ventaja: Claro y detallado, ideal para proyectos predecibles.

Desventaja: Falta de flexibilidad ante cambios.

Herramientas: Diagramas de flujo, diagramas de estructura.

Orientada a Objetos

r

Este enfoque se basa en la construcción de software a partir de clases y objetos, aprovechando conceptos como herencia, encapsulación y polimorfismo. Favorece la reutilización y modularidad del código, siendo útil para proyectos complejos que requieren un diseño flexible.

Enfoque: Basado en clases y objetos.

Principales Elementos:
Clases y Objetos
Herencia, Encapsulamiento, Polimorfismo
Análisis y Diseño orientado a objetos (UML)

Ventaja: Reusabilidad y modularidad.

Desventaja: Puede ser compleja en proyectos simples.

Ágiles

r

Son enfoques flexibles e iterativos que enfatizan la colaboración continua, la adaptación al cambio y entregas rápidas de valor. Ejemplos como Scrum y Kanban dividen el trabajo en sprints o tareas cortas, favoreciendo el ajuste constante del producto de acuerdo con los cambios en los requisitos.

Enfoque: Incremental, flexible y colaborativo.

Elementos Clave:
Iteraciones y Sprints
Feedback continuo y retrospectivas
Equipos auto-gestionados

Ventaja: Rápida adaptación al cambio.

Desventaja: Puede ser difícil para proyectos con alto control de calidad.

Ejemplos: Scrum, Kanban, XP

Sistemas de Tiempo Real

r

Diseñada para aplicaciones que dependen de respuestas rápidas en tiempo real, como sistemas de control y monitoreo (ej., en medicina o aviación). Este enfoque se centra en garantizar tiempos de respuesta y confiabilidad bajo condiciones críticas.

Enfoque: Enfocada en sistemas con restricciones temporales.

Características Principales:
Respuesta rápida y controlada (tiempo de ejecución crucial)
Procesamiento concurrente
Seguridad y confiabilidad

Ventaja: Ideal para aplicaciones críticas (ej. medicina, aviación).

Desventaja: Complejo de diseñar y mantener.

Mixta de las Administraciones

c1r

Combina prácticas de desarrollo de sistemas con gestión de proyectos, integrando aspectos de planificación, control de recursos y riesgos. Es adecuada para proyectos que requieren tanto desarrollo técnico como una gestión administrativa rigurosa.

Enfoque: Combina aspectos de administración y desarrollo.

Elementos Clave:
Gestión de Recursos
Planificación de tiempos y costos
Control de riesgos

Ventaja: Equilibra el desarrollo técnico y la gestión administrativa.

Desventaja: Requiere colaboración constante entre áreas.