Metodologías de Desarrollo de Software y Seguridad con el Modelo STRIDE

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 4,47 KB

Metodologías de Desarrollo de Software

1. Waterfall (Royce, 1970)

El modelo Waterfall (o en cascada) es un proceso secuencial y lineal que sigue estrictamente el orden: Requisitos → Diseño → Implementación → Pruebas → Despliegue → Mantenimiento. En este enfoque, cada fase debe completarse en su totalidad antes de pasar a la siguiente. Es ideal para proyectos de alto riesgo, entornos altamente regulados y con requisitos estables (como en dispositivos médicos o aviónica). Este modelo exige una documentación exhaustiva.

2. Agile

Agile es un enfoque iterativo e incremental. Prioriza la flexibilidad, la colaboración constante con el cliente y la entrega continua de software funcional. Es el marco ideal cuando los requisitos tienden a evolucionar durante el transcurso del proyecto.

3. Scrum

Scrum se define como un subconjunto de Agile. Se basa en el trabajo mediante Sprints (ciclos de 1 a 4 semanas). Sus componentes fundamentales incluyen:

  • Artefactos clave: Product Backlog (lista priorizada de requisitos), Sprint Backlog y User Stories (descripciones en lenguaje no técnico de las necesidades del usuario).
  • Definition of Done (DoD): Define formalmente cuándo una historia de usuario se considera completa.
  • Roles: Product Owner (define y prioriza), Scrum Master (facilita y protege al equipo), Arquitectos, Diseñadores, Desarrolladores/Ingenieros y Testers/QA.

4. Extreme Programming (XP)

Esta metodología pone el foco en la calidad del código, la integración continua y la programación en parejas (pair programming).

5. Lean

El enfoque Lean busca eliminar el desperdicio en los procesos y maximizar el valor entregado al cliente final.

6. Kanban

Se centra en la gestión visual del flujo de trabajo, permitiendo una entrega continua sin necesidad de sprints con tiempos fijos.

7. DevOps

Representa un ciclo de vida continuo: CODE → BUILD → TEST → RELEASE → DEPLOY → OPERATE → MONITOR. Su objetivo es integrar el desarrollo y las operaciones mediante una fuerte automatización.

8. Modelo Espiral

Combina la planificación estructurada del modelo Waterfall con la iteración de prototipos. Es especialmente útil en proyectos con alta incertidumbre técnica.

9. V-Model

Es una extensión del modelo Waterfall que asocia de forma directa cada fase del desarrollo con su correspondiente fase de pruebas, asegurando la validación en cada etapa.


Modelado de Amenazas: STRIDE (Microsoft)

El modelo STRIDE, desarrollado por Microsoft, clasifica las amenazas de seguridad en seis categorías principales, proporcionando mitigaciones específicas para cada una:

  • Spoofing (Suplantación): Ocurre cuando alguien se hace pasar por otro usuario o sistema. Mitigación: Implementación de mecanismos de autenticación fuerte.
  • Tampering (Manipulación): Se refiere a la modificación no autorizada de datos, ya sea en tránsito o en reposo. Mitigación: Uso de firmas digitales y controles de integridad.
  • Repudiation (Repudio): La capacidad de un usuario de negar haber realizado una acción específica. Mitigación: Implementación de logs (registros) y sistemas de no repudio.
  • Information Disclosure (Revelación de información): Acceso a datos confidenciales por parte de individuos sin autorización. Mitigación: Cifrado de datos y controles de acceso estrictos.
  • Denial of Service (Denegación de servicio): Acciones destinadas a degradar o interrumpir la disponibilidad del servicio. Mitigación: Aplicación de rate limiting y redundancia de sistemas.
  • Elevation of Privilege (Elevación de privilegios): Cuando un usuario obtiene permisos superiores a los que tiene asignados. Mitigación: Aplicación del principio de mínimo privilegio y técnicas de sandboxing.

Entradas relacionadas: