Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Diseño y Desarrollo
Apellidos: Sánchez Noceda
de Programas
17 diciembre 2019
Informáticos
Nombre: Julio Efraín
Seguros
TABLA DE CONTENIDO
1 ACOTAMIENTO........................................................................................................................... 2
2 INTRODUCCIÓN.......................................................................................................................... 2
3 MODELOS Y METODOLOGÍAS..................................................................................................... 3
3.1 AGILE/ÁGIL MODELO.........................................................................................................................3
3.2 LEAN/FINO/ESBELTO MODELO.............................................................................................................3
3.3 WATERFALL/CASCADA MODELO...........................................................................................................4
3.4 ITERATIVE/ITERATIVO MODELO.............................................................................................................4
3.5 SPIRAL/ESPIRAL MODELO....................................................................................................................5
4 METODOLOGÍAS SDLC................................................................................................................ 5
4.1 MICROSOFT SDL............................................................................................................................5
4.2 BSIMM..........................................................................................................................................6
4.3 CLASP............................................................................................................................................6
4.4 SAAM............................................................................................................................................6
5 TABLAS COMPARATIVAS............................................................................................................. 7
6 PROPUESTA DE USO S-SDLC........................................................................................................ 9
7 CONCLUSIONES........................................................................................................................ 10
8 Referencias.........................................................................................................................................11
TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Diseño y Desarrollo
Apellidos: Sánchez Noceda
de Programas
17 diciembre 2019
Informáticos
Nombre: Julio Efraín
Seguros
1 Acotamiento
El desarrollo del presente documento es para dar cumplimiento a la actividad de la
materia Diseño y Desarrollo de Programas Informáticos Seguros impartida por
Rhett H. Nieto Gutiérrez en la Universidad Internacional de La Rioja, S. A. (UNIR)
con la finalidad de conocer los diferentes modelos de Ciclo de Vida del Desarrollo de
Software Seguro (S-SDLC).
2 Introducción.
El ciclo de vida del desarrollo de software (SDLC) identifica errores en la creación de
software antes de que se descubran (a un costo mucho mayor) en etapas sucesivas. Pero
es mucho más que eso, por supuesto: SDLC también puede diseñar un plan para hacer
todo bien la primera vez.
Hay que considerar que mientras los nombres de las distintas fases pueden cambiar
dependiendo el Modelo SDLC usado, cada fase/etapa conceptual del arquietipo será
usada para desarrollar cualquier aplicación. El proceso SDLC implica varias etapas, que
incluye desde planificación/definir, análisis, diseño, construcción/desarrollar, pruebas,
implementación y mantenimiento.
Me gustaría incluir una definición de S-SDLC establecida por OWASP, The Open Web
Application Security Project.
TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Diseño y Desarrollo
Apellidos: Sánchez Noceda
de Programas
17 diciembre 2019
Informáticos
Nombre: Julio Efraín
Seguros
3 Modelos y Metodologías.
Metodología de desarrollo seguro Empresa Modelo
Microsoft Security Development Lifecycle. Microsoft Tradicional
Oracle Software Security Assurance Oracle Tradicional
Comprenhensive Lightweight Application Security OWASP Tradicional
Process
Team Software Process Secure Software Engineer Tradicional
Institute
Software Assurance Maturity Model OWASP Tradicional
Building Security In Maturity Model Cigital Ágil
Agile Development Using Microsoft Security Microsoft Ágil
Development Lifecycle.
A continuación, una breve descripción de las seis metodologías SDLC más comunes:
TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Diseño y Desarrollo
Apellidos: Sánchez Noceda
de Programas
17 diciembre 2019
Informáticos
Nombre: Julio Efraín
Seguros
El proceso Lean consiste en trabajar solo en lo que se debe trabajar en ese momento, por
lo que no hay espacio para la multitarea. Los equipos del proyecto también se centran en
encontrar oportunidades para reducir el desperdicio en todo momento a lo largo del
proceso SDLC, desde abandonar reuniones innecesarias hasta reducir la documentación.
El modelo Agile es en realidad un método Lean para el SDLC, pero con algunas
diferencias notables. Una es cómo cada uno prioriza la satisfacción del cliente: Agile lo
convierte en la principal prioridad desde el principio, creando un proceso flexible donde
los equipos de proyecto pueden responder rápidamente a los comentarios de las partes
interesadas en todo el SDLC. Lean, mientras tanto, enfatiza la eliminación de
desperdicios como una forma de crear más valor general para los clientes, lo que, a su
vez, ayuda a mejorar la satisfacción.
Algunos expertos sostienen que el modelo Waterfall nunca fue un modelo de proceso
para proyectos reales según StackExchange. En cualquier caso, el modelo Waterfall es
ampliamente considerado como la más antigua de las metodologías SDLC
estructuradas. También es un enfoque muy sencillo: terminar una fase y luego pasar a la
siguiente. No hay vuelta atrás. Cada etapa se basa en información de la etapa anterior y
tiene su propio plan de proyecto.
TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Diseño y Desarrollo
Apellidos: Sánchez Noceda
de Programas
17 diciembre 2019
Informáticos
Nombre: Julio Efraín
Seguros
Las ventajas del modelo iterativo sobre otras metodologías SDLC comunes es que
produce una versión funcional del proyecto al inicio del proceso y hace que sea menos
costoso implementar cambios. Una desventaja: los procesos repetitivos pueden
consumir recursos rápidamente.
RUP divide el proceso de desarrollo en cuatro fases: inicio, cuando se establece la idea
de un proyecto; elaboración, cuando el proyecto se define más a fondo y se evalúan los
recursos; construcción, cuando el proyecto se desarrolla y se completa; y transición,
cuando se lanza el producto. Cada fase del proyecto implica modelado, análisis y diseño
de negocios, implementación, pruebas e implementación.
Una de las metodologías SDLC más flexibles, el modelo Spiral se inspira en el modelo
iterativo y su repetición; el proyecto pasa por cuatro fases (planificación, análisis de
riesgos, ingeniería y evaluación) una y otra vez en una "espiral" hasta que se completa,
lo que permite múltiples rondas de refinamiento.
El modelo espiral generalmente se usa para proyectos grandes. Permite a los equipos de
desarrollo crear un producto altamente personalizado e incorporar comentarios de los
usuarios al principio del proyecto. Otro beneficio de este modelo SDLC es la gestión de
riesgos. Cada iteración comienza mirando hacia adelante a los riesgos potenciales y
descubriendo la mejor manera de evitarlos o mitigarlos.
4 Metodologías SDLC
4.1 MICROSOFT SDL.
El ciclo de vida de desarrollo de seguridad (SDL) es una metodología para el control de
seguridad orientado al desarrollo de software. Es una iniciativa por parte de Microsoft y
una directiva obligatoria desde el año 2004. Microsoft SDL se basa en tres conceptos
básicos que son la formación, mejora continua de procesos y responsabilidades. La
formación está basada en los roles técnicos dentro del grupo de desarrollo. La mejora
continua en los procesos se basa en que las organizaciones pueden responder
adecuadamente a los cambios que sufre la tecnología y las amenazas, ya que los riesgos
de seguridad son dinámicos por estos mismos cambios. Esta metodología está estructura
en cinco áreas, que es su ciclo de vida de desarrollo de software:
Formación, directivas y capacidades organizativas. Seguridad Básica. Donde
todos los elementos del equipo de desarrollo de software deben tener una
formación debidamente con la finalidad de mantener los conceptos básicos y
últimas tendencias de seguridad y privacidad. Los desarrolladores, evaluadores y
TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Diseño y Desarrollo
Apellidos: Sánchez Noceda
de Programas
17 diciembre 2019
Informáticos
Nombre: Julio Efraín
Seguros
4.2 BSIMM.
Building In Maturity Model (BSIMM) es un modelo desarrollado en 2009 derivador de
OpenSAMM (McGraw, Chess & Migues, 2009). Es un enfoque práctico basado en
evidencia empírica y observación de datos de nueve iniciativas de seguridad de software
de servicios financieros, proveedores de software independientes y firmas de tecnología
(Adobe, EMC, QUALCOMM, Google, Wells Fargo, Microsoft, DTCC y otras dos
compañías no reveladas). A diferencia de otras metodologías SSDL, no cuenta con
compilación de buenas prácticas a nivel teórico. Es una colección de prácticas utilizadas
en el mundo real.
4.3 CLASP
Es un conjunto de buenas prácticas para el desarrollo seguro de software desarrollado
por varias compañías de seguridad que forman parte del consorcio OWASP (Open Web
Application Security Project), que permite integrar en cualquier fase del SDLC
independiente de la metodología implementada.
4.4 SAAM
Marco abierto para ayudar a las organizaciones a diseñar e implementar una estrategia
para la creación de software seguro, es un modelo flexible que se adapta a la cada
organización, independientemente del fabricante, el cual fue creado por Pravir Chanda
OWASP CLASP Project Leader.
TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Diseño y Desarrollo
Apellidos: Sánchez Noceda
de Programas
17 diciembre 2019
Informáticos
Nombre: Julio Efraín
Seguros
5 Tablas comparativas.
TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Diseño y Desarrollo
Apellidos: Sánchez Noceda
de Programas
17 diciembre 2019
Informáticos
Nombre: Julio Efraín
Seguros
TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Diseño y Desarrollo
Apellidos: Sánchez Noceda
de Programas
17 diciembre 2019
Informáticos
Nombre: Julio Efraín
Seguros
DevOps es una filosofía para introducir el cambio cultural con el objetivo de ofrecer
funcionalidades más rápido con una mayor tasa de calidad. Es una forma de cerrar la
brecha entre los desarrolladores y el equipo de operaciones para implementaciones
frecuentes. Podría llamarse desarrollo "Casi en tiempo real" o ciclo de implementación
"Elastic" porque puede implementarse automáticamente tan pronto como los
desarrolladores confirmen un cambio. La intervención humana se minimiza siempre que
sea posible. La automatización a lo largo del ciclo de vida del desarrollo, la
retroalimentación continua y la mejora del proceso son la clave para adoptar DevOps.
TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Diseño y Desarrollo
Apellidos: Sánchez Noceda
de Programas
17 diciembre 2019
Informáticos
Nombre: Julio Efraín
Seguros
7 Conclusiones
No me dedico al desarrollo de software, pero en caso de tener que escoger una
metodología me inclino por el uso de herramientas automatizadas para lograr eficiencia,
es decir, DevOps ya que brinda efectividad para garantizar que esté haciendo las cosas
bien. Antes de subirse al tren de DevOps hay mucho pensamiento, planificación y
trabajo. Hay desafíos desde el primer momento: desde elegir la herramienta adecuada
hasta cambiar la administración, pero la recompensa a largo plazo puede permitirle
escalar a alturas.
Me pronuncio por Kubernets cien por ciento Open Source con apoyo de Rancher,
Jenkins, GitHub, Chef, Puppet, SaltStack, New Relic, Nagios, Ganglia, Munin, Splunk,
Rundeck, por nombrar algunos
TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Diseño y Desarrollo
Apellidos: Sánchez Noceda
de Programas
17 diciembre 2019
Informáticos
Nombre: Julio Efraín
Seguros
8 Referencias
SDLC Models Explained. Victor Osetskyi. Aug 29, 2017.
https://medium.com/existek/sdlc-models-explained-agile-waterfall-v-shaped-iterative-
spiral-e3f012f390c5
TEMA 1 – Actividades