Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Presentación - MPDS - 6478 - Avance 1
Presentación - MPDS - 6478 - Avance 1
Desarrollo de Software
NRC: 9386 – Ingeniería de Software
22/11/2022 1
22/11/2022 2
Contenido
Unidad 1: Introducción al Proceso de Desarrollo de Software
1. Introducción al proceso de desarrollo de software
2. Modelos de proceso prescriptivo
3. Modelos de proceso especializado
4. Estándares para evaluación y mejora de procesos
5. Metodologías de desarrollo de software (tradicionales-ágiles)
6. Herramientas de modelado
1. CMMI
2. Evaluación de CMMI con SCAMPI
1. ISO/IEC12207
2. ISO/IEC 15504 (SPICE)
3. ISO/IEC 29910
22/11/2022 3
Unidad 1: Proceso de desarrollo de software
22/11/2022 4
Unidad 1: Proceso de desarrollo de software
Evolución del desarrollo de sistemas
22/11/2022 5
Unidad 1: Proceso de desarrollo de software
Tendencias de tecnologías a partir del 2000
Inteligencia artificial
Procesamiento de lenguaje natural, big data, automatización, etc.
Aplicaciones web/móviles
IoT
Computación en la nube: IAAS, SAAS, PAAS
Metodologías: DevOps
Aplicaciones móviles
Realidad Virtual – Aumentada
Lenguajes de programación: aspectos/funcional Go
.
.
.
.
22/11/2022 6
Unidad 1: Proceso de desarrollo de software
22/11/2022 7
Unidad 1: Proceso de desarrollo de software
Terminología: evaluación de conceptos
¿Qué es un sistema?
¿Qué es software?
¿Qué es Stakeholder?
¿Qué es un Estándar?
¿Qué es la Abstracción?
¿Qué es la Modelado?
Referencia:
ISO/IEC/IEEE 24765:2017 (Systems and software engineering - Vocabulary)
22/11/2022 8
Evaluación de conceptos
22/11/2022 9
Evaluación de conceptos
22/11/2022 11
Los proyecto de desarrollo de software
Exitosos: Son aquellos en los que no hay duda de que fueron un éxito
Discutidos: Son aquellos en los que hay dudas sobre si tuvieron éxito o
fueron un fracaso
Fallidos: Son aquellos en los que no hay duda de que fueron un fracaso
En el informe del año 2015 se han estudiado unos 50.000 proyectos de todo el mundo desde
mantenimientos pequeños hasta gigantescos proyectos de reingeniería.
Informe del Caos 2015 (Chaos Report 2015)
22/11/2022 12
Proceso de desarrollo de software
Introducción
necesidad
resultado
problema
solución
idea
(software)
oportunidad
TRANSFORMACIÓN DIGITAL
A B
Proceso de desarrollo de software: proceso por el cual las
necesidades del usuario se traducen en un producto de software.
22/11/2022 13
Proceso de desarrollo de software
Introducción
necesidad resultado
problema solución
idea (software)
oportunidad
A TRANSFORMACIÓN DIGITAL B
Proceso de desarrollo de software
qué hacer?
cómo hacer?
quién lo realiza?
qué recursos utilizar?
qué procesos?
qué herramientas?
qué estándares?
22/11/2022
…. 14
Proceso de desarrollo de software
22/11/2022 15
Proceso de desarrollo de software
necesidad
problema resultado
idea solución
oportunidad (software)
A B
Proceso de desarrollo de software
22/11/2022 16
Proceso de desarrollo de software
El desarrollo de software básicamente consiste en la capacidad de
representar de forma adecuada el dominio del problema, para posteriormente
trasformar esta representación en la implementación del código en una
determinada tecnología (dominio de la solución).
22/11/2022 17
Proceso de desarrollo de software
Evolución de los artefactos software
Una de las enfoques de desarrollar software es el modelado (utilización de
modelos para representar los diferentes vistas del software).
En este enfoque, los modelos se utilizan para razonar sobre el dominio de
problema y diseñar un resultado en el dominio de la solución.
necesidad
resultado
problema
solución
idea
(software)
oportunidad
transformación
A B
Proceso de desarrollo de software
22/11/2022 19
Proceso de desarrollo de software
Introducción
22/11/2022 20
Proceso de desarrollo de software
22/11/2022 21
Proceso de desarrollo de software
22/11/2022 22
Proceso de desarrollo de software
22/11/2022 23
Proceso de desarrollo de software
https://digital.ai/periodic-table-of-devops-tools
22/11/2022 25
Unidad 1: Proceso de desarrollo de software
22/11/2022 26
Fases del Ciclo de Vida del Desarrollo de Software
22/11/2022 27
Fases del Ciclo de Vida del Desarrollo de Software
22/11/2022 28
Fases del Ciclo de Vida del Desarrollo de Software
22/11/2022 29
Etapas del proceso de solución de problemas
22/11/2022 31
Especificación de un Problema
En el problema se deben identificar tres aspectos:
22/11/2022 32
Especificación de un Problema
22/11/2022 33
Especificación de un Problema
22/11/2022 34
Etapas del proceso de solución de problemas
2. Diseño de la solución:
(Dominio de Solución – comienza)
22/11/2022 36
Etapas del proceso de solución de problemas
2. Diseño de la solución
22/11/2022 37
Etapas del proceso de solución de problemas
3. Construcción de la solución:
Tiene como objetivo implementar el programa a partir del diseño y probar su
correcto funcionamiento.
22/11/2022 38
3. Construcción de la solución:
22/11/2022 39
Etapas del proceso de solución de problemas
3. Construcción de la solución
22/11/2022 40
Etapas del proceso de solución de problemas
3. Construcción de la solución
22/11/2022 41
Fases del Ciclo de Vida del Desarrollo de Software
4. Pruebas
Busca defectos (faltas y fallos) en los productos (Req. Dsñ. Cdg) del desarrollo.
Preventivas Correctivas
(Evaluación de sw)
Herramientas de Testing
22/11/2022 43
Fases del Ciclo de Vida del Desarrollo de Software
22/11/2022 44
Fases del Ciclo de Vida del Desarrollo de Software
5. Mantenimiento:
Es la modificación de un producto de software después de la entrega, para
corregir errores, mejorar el rendimiento, u otros atributos.
22/11/2022 45
Proceso de desarrollo de software
Ingeniería
del software
22/11/2022 46
Unidad 1: Proceso de desarrollo de software
22/11/2022 47
Unidad 1: Proceso de desarrollo de software
Capas de la Ingeniería de Software
22/11/2022 48
Unidad 1: Proceso de desarrollo de software
Modelo general de Proceso de
Desarrollo de Software
Proceso:
22/11/2022 49
Unidad 1: Proceso de desarrollo de software
Modelo general de Proceso de
Desarrollo de Software
Proceso:
22/11/2022 50
Unidad 1: Proceso de desarrollo de software
Proceso del software
Una actividad busca lograr un objetivo
amplio (por ejemplo, comunicación con
los participantes para levantar los
requerimientos) y se desarrolla sin
importar el dominio de la aplicación,
tamaño del proyecto, complejidad del
esfuerzo o grado de rigor con el que se
usará la ingeniería de software.
22/11/2022 51
Unidad 1: Proceso de desarrollo de software
Proceso del software
22/11/2022 52
Unidad 1: Proceso de desarrollo de software
Proceso del software
22/11/2022 53
Unidad 1: Proceso de desarrollo de software
Flujo del Proceso
El Flujo de Proceso describe la manera en que están organizadas las
actividades estructurales y las acciones, así cómo las tareas que ocurren
con respecto de la secuencia y el tiempo.
22/11/2022 54
Unidad 1: Proceso de desarrollo de software
Flujo del Proceso
22/11/2022 55
Unidad 1: Proceso de desarrollo de software
Flujo del Proceso
22/11/2022 56
Unidad 1: Proceso de desarrollo de software
Flujo del Proceso
22/11/2022 57
Unidad 1: Proceso de desarrollo de software
Flujo del Proceso
22/11/2022 58
Unidad 1: Proceso de desarrollo de software
Referencia:
Pressman Roger, “Ingeniería de Software, Un enfoque práctico”, Séptima edición.
22/11/2022 59
Unidad 1: Proceso de desarrollo de software
1.2.3 Modelos de proceso prescriptivo
Los modelos de proceso prescriptivo fueron propuestos originalmente para
poner orden en el caos del desarrollo de software.
Cada modelo del proceso también prescribe un flujo del proceso (también
llamado flujo de trabajo), es decir, la manera en la que los elementos del
proceso se relacionan entre sí.
Todos los modelos del proceso del software pueden incluir las actividades
estructurales generales, pero cada una pone distinto énfasis en ellas y define
en forma diferente el flujo de proceso que invoca cada actividad estructural,
acciones y tareas de ingeniería de software.
22/11/2022 60
Modelos del ciclo de vida de Desarrollo de Software
22/11/2022 61
Modelos del ciclo de vida de Desarrollo de Software
22/11/2022 62
Modelos del ciclo de vida de Desarrollo de Software
Modelo en cascada (Waterfall model)
Ventajas
Fácil de entender.
Se definen todos los requisitos antes del diseño.
Se utiliza para proyectos con plazos simples y estrictos.
Desventajas
Idealizado.
Los problemas permanecen ocultos hasta las prueba del
código.
Entrega tardía.
No es fácil integrar la gestión de riesgos.
Difícil de hacer cambios.
22/11/2022 63
Modelos del ciclo de vida de Desarrollo de Software
Modelo V
22/11/2022 64
Modelos del ciclo de vida de Desarrollo de Software
Modelo V
Es una extensión del modelo en cascada.
En el modelo en cascada, nos movemos de forma lineal.
En el modelo V se “dobla” en la etapa de codificación.
A cada fase del proceso de desarrollo se le asocia su prueba
correspondiente.
El modelo V se centra más en las pruebas (no solo del código).
Es un modelo secuencial como el de cascada.
Los requisitos deben ser muy claros porque es muy costoso volver a los
requisitos y realizar cambios.
22/11/2022 65
Modelos del ciclo de vida de Desarrollo de Software
Modelo V
Ventajas
Desventajas
22/11/2022 66
Modelos del ciclo de vida de Desarrollo de Software
22/11/2022 67
Modelos del ciclo de vida de Desarrollo de Software
22/11/2022 68
Modelos del ciclo de vida de Desarrollo de Software
22/11/2022 70
Modelos del ciclo de vida de Desarrollo de Software
Los primeros incrementos son versiones limitadas del producto final, pero
proporcionan capacidad que sirve al usuario y también le dan una plataforma
de evaluación.
22/11/2022 71
Modelos del ciclo de vida de Desarrollo de Software
22/11/2022 72
Modelos del ciclo de vida de Desarrollo de Software
22/11/2022 73
Modelos del ciclo de vida de Desarrollo de Software
Visibilidad temprana.
Mejores resultados.
Reducción de costos.
El cliente realmente puede constatar el
sistema para realizar la retroalimentación
(feedback) que se considere.
Diseño temprano.
Desventajas
22/11/2022 75
Modelos del ciclo de vida de Desarrollo de Software
Desventajas
No permite la estimación
adecuada de costo y tiempo.
El análisis del costo del
riesgo es alto en grandes
proyectos.
22/11/2022 77