SlideShare una empresa de Scribd logo
Ingeniería de Software I
© MSc. Carlos Mera Gómez
2013
Modelos / 1
Modelos de Proceso de Software
Ingeniería de Software I
FIEC03046
Sesión 03
Ingeniería de Software I
© MSc. Carlos Mera Gómez
2013
Modelos / 2
Agenda
• Terminología
• Ciclo de vida para desarrollo de software
• Actividades de un proceso de software
• Modelos de proceso de software
• Modelo en cascada
Ingeniería de Software I
© MSc. Carlos Mera Gómez
2013
Modelos / 3
Terminología
Ingeniería de Software I
© MSc. Carlos Mera Gómez
2013
Modelos / 4
Terminología
• Un proceso de software es un conjunto
relacionado de actividades que están
involucrados en el desarrollo y evolución de
un producto de software.
• El modelo de un proceso de software es una
representación simplificada del proceso desde
una perspectiva en particular.
Ingeniería de Software I
© MSc. Carlos Mera Gómez
2013
Modelos / 5
Terminología
• Un producto Commercial-off-the-shelf [COTS]
es un sistema de software que puede ser
adaptado para las necesidades de diferentes
clientes sin la necesidad de modificar el
código fuente del sistema. Por ejemplo: Un
ERP.
Ingeniería de Software I
© MSc. Carlos Mera Gómez
2013
Modelos / 6
Ciclo de vida para desarrollo de software
Ingeniería de Software I
© MSc. Carlos Mera Gómez
2013
Modelos / 7
Ciclo de vida para desarrollo de software
• Existen varios procesos de software. Sin
embargo, todos ellos incluyen cuatro actividades
fundamentales para la ingeniería de software:
– Especificación de software: se deben definir las
funcionalidades del software y sus restricciones de
operación.
– Diseño e implementación de software: se debe
producir un software que cumpla sus especificaciones.
– Validación de software: se debe validar el software a
fin de asegurar que este hace lo deseado por el
cliente.
– Evolución de software: el software debe evolucionar
para cumplir con los cambios producto de las
cambiantes necesidades del cliente.
Ingeniería de Software I
© MSc. Carlos Mera Gómez
2013
Modelos / 8
Ciclo de vida para desarrollo de software
• Los procesos dividen estas actividades en subactividades.
• Las descripciones de estas actividades también pueden
incluir:
– Productos: los cuales son los resultados de una actividad. Por
ejemplo: en una actividad de diseño de arquitectura el resultado
podría ser el modelo de la arquitectura del software.
– Roles: reflejan las responsabilidades de los involucrados en el
proceso. Por ejemplo: director de proyectos, programador,
gestor de la configuración, etc.
– Pre y post condiciones: hechos que son verdaderos antes y
después de procesar la actividad. Por ejemplo: para el inicio del
diseño de la arquitectura se tiene como pre-condición que los
requerimientos hayan sido aprobados por el cliente y una post-
condición sería que se haya revisado los modelos UML que
describen la arquitectura.
Ingeniería de Software I
© MSc. Carlos Mera Gómez
2013
Modelos / 9
Ciclo de vida para desarrollo de software
• No existen procesos de software ideales,
dependen del buen juicio y criterio de las
personas.
• Los procesos deben evolucionar para tomar
ventaja de las capacidades de los integrantes
de la organización.
• Los procesos de software se saben categorizar
en:
– Plan-driven processes
– Agile processes
Ingeniería de Software I
© MSc. Carlos Mera Gómez
2013
Modelos / 10
Ciclo de vida para desarrollo de software
• Plan-driven processes: procesos en los cuales
sus actividades son planeadas con antelación
y sus avances son medidos con respecto al
plan.
• Agile processes: la planeación es incremental
y es más fácil cambiar el proceso pra reflejar
cambios en los requerimientos del cliente.
Ingeniería de Software I
© MSc. Carlos Mera Gómez
2013
Modelos / 11
Actividad de especificación de software
Ingeniería de Software I
© MSc. Carlos Mera Gómez
2013
Modelos / 12
Especificación del software
• También conocido como Ingeniería de
requerimientos.
• Es el proceso de entender y definir qué
servicios son requeridos desde el sistema e
identificar sus restricciones de operación y
desarrollo.
• Es un actividad crítica en vista que errores en
esta inevitablemente generarán problemas en
el diseño e implementación.
Ingeniería de Software I
© MSc. Carlos Mera Gómez
2013
Modelos / 13
Especificación del software
• Las principales cuatro actividades en el
proceso de ingeniería de requerimientos son:
1. Estudio de factibilidad
2. Análisis y elicitación de requerimientos
3. Especificación de requerimientos
4. Validación de requerimientos
Ingeniería de Software I
© MSc. Carlos Mera Gómez
2013
Modelos / 14
Especificación del software
Ingeniería de Software I
© MSc. Carlos Mera Gómez
2013
Modelos / 15
Especificación del software
• Estudio de factibilidad
– Estimar si las necesidades del usuario pueden ser
satisfechas con la tecnología disponible,
– Estimar si el sistema es costo-efectivo desde un
punto de vista económico
– Estimar si se puede llevar a cabo el desarrollo
dentro del presupuesto establecido
– Producir un informe relativamente barato y rápido
si se debe o no continuar con un análisis
detallado.
Ingeniería de Software I
© MSc. Carlos Mera Gómez
2013
Modelos / 16
Actividad de especificación del software
• Análisis y elicitación de requerimientos
– Es el proceso de derivar los requerimientos del
sistema a través de la observación del proceso
existente
– Entrevistas con los potenciales usuarios
– Contruir prototipos
– Entre otras técnicas…
Ingeniería de Software I
© MSc. Carlos Mera Gómez
2013
Modelos / 17
Especificación del software
• Especificación de requerimientos
– Traducir los requerimientos recopilados durante la
actividad de análisis en un documento que define
un conjunto de requerimientos
– Dos tipos de requerimientos se incluyen en el
documento:
• Requerimientos de usuario: oraciones en lenguaje
natural de los servicios que el sistema debe proveer y
sus restricciones de operación.
• Requerimientos de sistema: descripciones detalladas
de la funciones, servicios y restricciones operativas del
sistema.
Ingeniería de Software I
© MSc. Carlos Mera Gómez
2013
Modelos / 18
Especificación del software
• Especificación de requerimientos
Ingeniería de Software I
© MSc. Carlos Mera Gómez
2013
Modelos / 19
Especificación del software
• Validación de requerimientos
– Comprobar que los requerimientos seas reales,
consistentes y completos.
– Durante el proceso se descubren errores en el
documento, los cuales son modificados para
corregir estos problemas.
Ingeniería de Software I
© MSc. Carlos Mera Gómez
2013
Modelos / 20
Actividad de diseño e implementación de software
Ingeniería de Software I
© MSc. Carlos Mera Gómez
2013
Modelos / 21
Diseño e implementación de software
• Convertir las especificación del sistema en un sistema
ejecutable.
• Implica diseño e implementación.
• En un proceso de diseño se llevan a cabo las siguientes
actividades:
– Diseño de arquitectura: identificar la estructura general del
sistema, sus principales componentes o módulos y la relación
distribución de los mismos.
– Diseño de interface: definir las interfaces entre los
componentes del sistema. Así, los componentes pueden ser
usados sin conocer su implementación.
– Diseño de componentes: diseñar la operación de cada
componente. Alternativamente, podría contemplar los cambios
a los componentes reutilizados.
– Diseño de base de datos: diseñar las estructuras de base de
datos y su representación en la base de datos.
Ingeniería de Software I
© MSc. Carlos Mera Gómez
2013
Modelos / 22
Diseño e implementación de software
Ingeniería de Software I
© MSc. Carlos Mera Gómez
2013
Modelos / 23
Actividad de validación de software
Ingeniería de Software I
© MSc. Carlos Mera Gómez
2013
Modelos / 24
Validación de software
• Validación de software o más generalmente
verificación y validación tiene por objeto mostrar
que un sistema cumple con su especificación y a
la vez cumple con las expectativas del cliente.
• Las pruebas de software son la principal técnica
de validación.
• La fase formal de testing y sus costos de
validación se llevan a cabo luego de la fase de
implementación.
• Las pruebas llevadas a cabo por los
desarrolladores son parte de la implementación.
Lo veremos en detalle en el próximo curso…
Ingeniería de Software I
© MSc. Carlos Mera Gómez
2013
Modelos / 25
Validación de software
Ingeniería de Software I
© MSc. Carlos Mera Gómez
2013
Modelos / 26
Actividad de evolución de software
Ingeniería de Software I
© MSc. Carlos Mera Gómez
2013
Modelos / 27
Evolución de software
• También conocida como actividad de
mantenimiento de software.
• Cambios en el software pueden ser hechos
durante o después de la fase de
implementación. Sin embargo, históricamente
se ha dividido el proceso de desarrollo del
proceso de evolución o mantenimiento.
Ingeniería de Software I
© MSc. Carlos Mera Gómez
2013
Modelos / 28
Modelos de proceso de software
Ingeniería de Software I
© MSc. Carlos Mera Gómez
2013
Modelos / 29
Modelos de proceso de software
• Los modelos de procesos de software son
frameworks que pueden ser extendidos y
adaptados para crear procesos de ingeniería
de software más específicos.
Ingeniería de Software I
© MSc. Carlos Mera Gómez
2013
Modelos / 30
Modelos de proceso de software
• Cubriremos los siguientes modelos:
– Modelo en cascada: fases separadas para especificación de
requerimientos, diseño de software, implementación, pruebas, etc.
– Modelo de desarrollo incremental: intercala las actividades de
especificación, desarrollo y validación. El sistema se desarrolla en una
serie de versiones en donde cada una de ellas agrega funcionalidad.
– Modelo de desarrollo iterativo: no se inicia con una especificación de
requerimientos completa. Se especifica parte del software y se inicia
un ciclo de desarrollo. Al final de este, se repite el proceso con un
nuevo ciclo identificando nuevos requerimientos.
– Modelo de espiral de Boehm: es un tipo de proceso de software
iterativo, generalmente implementado en proyectos de alto riesgo.
Cada lazo en el espiral representa un fase de desarrollo.
– Modelo orientado al reuso: basado en la existencia de un número
significativo de componentes reusables. El desarrollo se centra en la
integración de los mismos en vez de empezar desde cero.
Ingeniería de Software I
© MSc. Carlos Mera Gómez
2013
Modelos / 31
Modelo en cascada
Ingeniería de Software I
© MSc. Carlos Mera Gómez
2013
Modelos / 32
Modelo en cascada
• Es un modelo de proceso de software que incluye
las etapas de desarrollo: especificación, diseño,
implementación, pruebas y mantenimiento.
• La etapa previa debe finalizar antes de iniciar la
siguiente.
• Es un ejemplo de plan-driven process ya que
primero se debe planificar y programar todas las
actividades del proceso antes de empezar a
trabajar en ellas.
• Se producen y aprueban documentos al final de
cada etapa.
Ingeniería de Software I
© MSc. Carlos Mera Gómez
2013
Modelos / 33
Modelo en cascada
Ingeniería de Software I
© MSc. Carlos Mera Gómez
2013
Modelos / 34
Modelo en cascada
– Fuente: http://istqbexamcertification.com
Ingeniería de Software I
© MSc. Carlos Mera Gómez
2013
Modelos / 35
Actividades del modelo en cascada
1. Definición y análisis de requerimientos: Los servicios,
restricciones y objetivos del sistema son establecidos con los
usuarios del sistema.
2. Diseño de software y del sistema: Se define la arquitectura del
sistema. Se diseñan los componentes de software.
3. Implementación y pruebas unitarias: El diseño es transformado
en un conjunto de programas. Las pruebas unitarias consisten en
verificar que el sistema cumpla su especificación.
4. Pruebas de integración y de sistema: Los programas individuales
son integrados y probadas como un sistema completo. Luego de
las pruebas el software es entregado al cliente.
5. Operación y mantenimiento: El sistema es instalado y puesto en
producción. El mantenimiento implica la corrección de errores
que no fueron descubiertos en las etapas preliminares, además las
mejoras al sistema a partir de los nuevos requerimientos.
Ingeniería de Software I
© MSc. Carlos Mera Gómez
2013
Modelos / 36
Ventajas del modelo en cascada
• Simple y fácil de entender y usar.
• Fácil de manejar dado que cada fase tiene
entregables específicos.
• Cada fase es procesada una por una.
• Funciona en proyectos pequeños o en
aquellos en que los requerimientos están
claros.
Ingeniería de Software I
© MSc. Carlos Mera Gómez
2013
Modelos / 37
Desventajas del modelo en cascada
• Es muy difícil regresar a una fase previa.
• El software no es entregado sino hasta el final
del ciclo de vida.
• No es apropiado para proyectos complejos o
aquellos en los que los requerimientos tienen
alta probabilidad de cambio.
Ingeniería de Software I
© MSc. Carlos Mera Gómez
2013
Modelos / 38
Modelo en cascada
• Conveniente cuando…
– Los requerimientos están bien entendidos, claros
y fijos.
– La definición del producto es estable.
– Se entiende la tecnología.
– No hay requerimientos ambiguos.
– Proyectos pequeños.
Ingeniería de Software I
© MSc. Carlos Mera Gómez
2013
Modelos / 39
Puntos para recordar
• Significado de modelo de proceso de software
• Actividades de un proceso de software
• Ventajas y desventajas del modelo en cascada
• Los modelos no son mutuamente excluyentes.
Se pueden combinar las mejores
características de cada uno en proyectos
grandes.
Ingeniería de Software I
© MSc. Carlos Mera Gómez
2013
Modelos / 40
Próxima Sesión
• Modelo incremental
• Modelo iterativo
• Modelo espiral de Boehm
• Modelo orientado a reuso
• Otros modelos…
• Cómo escoger el mejor ciclo de vida para un
proyecto

Más contenido relacionado

La actualidad más candente

Modelos Prescriptivos de Proceso
Modelos Prescriptivos de ProcesoModelos Prescriptivos de Proceso
Modelos Prescriptivos de Proceso
Emprendimiento Shalah
 
Metodología rup final
Metodología rup finalMetodología rup final
Metodología rup final
MariaC7
 
Modelos y capas de la ingenieria de software
Modelos y capas  de la ingenieria de softwareModelos y capas  de la ingenieria de software
Modelos y capas de la ingenieria de software
jhonatanalex
 
Fases de RUP - PDF
Fases de RUP - PDFFases de RUP - PDF
Fases de RUP - PDF
radoslawkb
 
Sesion1 Introducción Ingeniería Software
Sesion1 Introducción Ingeniería SoftwareSesion1 Introducción Ingeniería Software
Sesion1 Introducción Ingeniería Software
Oscar López
 
Metodologia rup
Metodologia rupMetodologia rup
Metodologia rup
yurikodelcarmen
 
Procesos De Ingenieria Del Software
Procesos De Ingenieria Del SoftwareProcesos De Ingenieria Del Software
Procesos De Ingenieria Del Software
Raquel Solano
 
Rup
RupRup
METODOLOGÍAS RUP
METODOLOGÍAS RUPMETODOLOGÍAS RUP
METODOLOGÍAS RUP
BiingeSof
 
Modelo en cascada
Modelo en cascadaModelo en cascada
Modelo en cascada
home
 
Proceso del software
Proceso del softwareProceso del software
Proceso del software
Tensor
 
Sesión 1: Introduccion. ¿Qué es ingeniería de software?
Sesión 1: Introduccion. ¿Qué es ingeniería de software?Sesión 1: Introduccion. ¿Qué es ingeniería de software?
Sesión 1: Introduccion. ¿Qué es ingeniería de software?
Coesi Consultoria
 
4.1 Proceso Unificado De Rational
4.1 Proceso Unificado De Rational4.1 Proceso Unificado De Rational
4.1 Proceso Unificado De Rational
Julio Pari
 
LA INGENIERÍA DE SOFTWARE Y RUP
LA INGENIERÍA DE SOFTWARE Y RUPLA INGENIERÍA DE SOFTWARE Y RUP
LA INGENIERÍA DE SOFTWARE Y RUP
Kudos S.A.S
 
Modelo cliente servidor
Modelo cliente servidorModelo cliente servidor
Modelo cliente servidor
Benjamín Joaquín Martínez
 
Sesión 3: Modelos prescriptivos de proceso
Sesión 3: Modelos prescriptivos de procesoSesión 3: Modelos prescriptivos de proceso
Sesión 3: Modelos prescriptivos de proceso
Coesi Consultoria
 
Analisis requerimientos jose_fernandez
Analisis requerimientos jose_fernandezAnalisis requerimientos jose_fernandez
Analisis requerimientos jose_fernandez
Jose Fernandez
 
Rup
RupRup
Etapas del Proceso de la Ingeniería del Software
Etapas del Proceso de la Ingeniería del SoftwareEtapas del Proceso de la Ingeniería del Software
Etapas del Proceso de la Ingeniería del Software
T.I.C
 
Modelos del software
Modelos del softwareModelos del software
Modelos del software
angelicasolishernnde
 

La actualidad más candente (20)

Modelos Prescriptivos de Proceso
Modelos Prescriptivos de ProcesoModelos Prescriptivos de Proceso
Modelos Prescriptivos de Proceso
 
Metodología rup final
Metodología rup finalMetodología rup final
Metodología rup final
 
Modelos y capas de la ingenieria de software
Modelos y capas  de la ingenieria de softwareModelos y capas  de la ingenieria de software
Modelos y capas de la ingenieria de software
 
Fases de RUP - PDF
Fases de RUP - PDFFases de RUP - PDF
Fases de RUP - PDF
 
Sesion1 Introducción Ingeniería Software
Sesion1 Introducción Ingeniería SoftwareSesion1 Introducción Ingeniería Software
Sesion1 Introducción Ingeniería Software
 
Metodologia rup
Metodologia rupMetodologia rup
Metodologia rup
 
Procesos De Ingenieria Del Software
Procesos De Ingenieria Del SoftwareProcesos De Ingenieria Del Software
Procesos De Ingenieria Del Software
 
Rup
RupRup
Rup
 
METODOLOGÍAS RUP
METODOLOGÍAS RUPMETODOLOGÍAS RUP
METODOLOGÍAS RUP
 
Modelo en cascada
Modelo en cascadaModelo en cascada
Modelo en cascada
 
Proceso del software
Proceso del softwareProceso del software
Proceso del software
 
Sesión 1: Introduccion. ¿Qué es ingeniería de software?
Sesión 1: Introduccion. ¿Qué es ingeniería de software?Sesión 1: Introduccion. ¿Qué es ingeniería de software?
Sesión 1: Introduccion. ¿Qué es ingeniería de software?
 
4.1 Proceso Unificado De Rational
4.1 Proceso Unificado De Rational4.1 Proceso Unificado De Rational
4.1 Proceso Unificado De Rational
 
LA INGENIERÍA DE SOFTWARE Y RUP
LA INGENIERÍA DE SOFTWARE Y RUPLA INGENIERÍA DE SOFTWARE Y RUP
LA INGENIERÍA DE SOFTWARE Y RUP
 
Modelo cliente servidor
Modelo cliente servidorModelo cliente servidor
Modelo cliente servidor
 
Sesión 3: Modelos prescriptivos de proceso
Sesión 3: Modelos prescriptivos de procesoSesión 3: Modelos prescriptivos de proceso
Sesión 3: Modelos prescriptivos de proceso
 
Analisis requerimientos jose_fernandez
Analisis requerimientos jose_fernandezAnalisis requerimientos jose_fernandez
Analisis requerimientos jose_fernandez
 
Rup
RupRup
Rup
 
Etapas del Proceso de la Ingeniería del Software
Etapas del Proceso de la Ingeniería del SoftwareEtapas del Proceso de la Ingeniería del Software
Etapas del Proceso de la Ingeniería del Software
 
Modelos del software
Modelos del softwareModelos del software
Modelos del software
 

Destacado

Diseño estructurado
Diseño estructuradoDiseño estructurado
Diseño estructurado
Isaacnia Majano
 
Modelo del proceso_software yan martinez
Modelo del proceso_software yan martinezModelo del proceso_software yan martinez
Modelo del proceso_software yan martinez
nay-censey
 
Sistema de gestión de competencias
Sistema de gestión de competenciasSistema de gestión de competencias
Sistema de gestión de competencias
Alejandra Ceballos
 
Clase no. 1 unidad no. iii introduccion al analisis y diseño estructurado d...
Clase no. 1 unidad no. iii  introduccion al analisis y diseño estructurado  d...Clase no. 1 unidad no. iii  introduccion al analisis y diseño estructurado  d...
Clase no. 1 unidad no. iii introduccion al analisis y diseño estructurado d...
negroues
 
Clase3 Caso Practico
Clase3 Caso PracticoClase3 Caso Practico
Clase3 Caso Practico
jmch19
 
Modelo espiral win win
Modelo espiral win winModelo espiral win win
Modelo espiral win win
khinkhe
 
Especificación de Arquitectura de Software
Especificación de Arquitectura de SoftwareEspecificación de Arquitectura de Software
Especificación de Arquitectura de Software
Software Guru
 
Unidad 3 Modelo De Negocio
Unidad 3 Modelo De NegocioUnidad 3 Modelo De Negocio
Unidad 3 Modelo De Negocio
Sergio Sanchez
 
Iar (1)
Iar (1)Iar (1)
Iar (1)titoff
 
Bootcamp Irapuato Welcome
Bootcamp Irapuato WelcomeBootcamp Irapuato Welcome
Bootcamp Irapuato Welcome
Ismael G Marín C
 
Proyecto periodico
Proyecto periodicoProyecto periodico
Formation disp ot v4 meublés et 7j glissants
Formation disp ot v4 meublés et 7j glissantsFormation disp ot v4 meublés et 7j glissants
Formation disp ot v4 meublés et 7j glissants
servicelogiciel
 
Diabetes mellitus tipo 2 en el paciente anciano institucionalizado
Diabetes mellitus tipo 2 en el paciente anciano institucionalizadoDiabetes mellitus tipo 2 en el paciente anciano institucionalizado
Diabetes mellitus tipo 2 en el paciente anciano institucionalizado
Juan Rodrigo Tuesta-Nole
 
Revuepresse06.06
Revuepresse06.06Revuepresse06.06
Revuepresse06.06ramondiaz
 
Desplazamiento Forzado en Colombia. Marcia Dalto
Desplazamiento Forzado en Colombia. Marcia DaltoDesplazamiento Forzado en Colombia. Marcia Dalto
Desplazamiento Forzado en Colombia. Marcia Dalto
Gonzalo Ramirez
 
montage du chapiteau
montage du chapiteaumontage du chapiteau
montage du chapiteau
guest9113a3
 
Droit de l'économie numérique
Droit de l'économie numériqueDroit de l'économie numérique
Droit de l'économie numérique
Luc-Marie AUGAGNEUR
 
My Sql High Availability With A Punch Drbd 83 And Drbd For Dolphin Express
My Sql High Availability With A Punch Drbd 83 And Drbd For Dolphin ExpressMy Sql High Availability With A Punch Drbd 83 And Drbd For Dolphin Express
My Sql High Availability With A Punch Drbd 83 And Drbd For Dolphin ExpressMySQLConference
 
Presentacion docentes upc
Presentacion docentes upcPresentacion docentes upc
Presentacion docentes upc
Isidorogg
 

Destacado (20)

Diseño estructurado
Diseño estructuradoDiseño estructurado
Diseño estructurado
 
Modelo del proceso_software yan martinez
Modelo del proceso_software yan martinezModelo del proceso_software yan martinez
Modelo del proceso_software yan martinez
 
Sistema de gestión de competencias
Sistema de gestión de competenciasSistema de gestión de competencias
Sistema de gestión de competencias
 
Clase no. 1 unidad no. iii introduccion al analisis y diseño estructurado d...
Clase no. 1 unidad no. iii  introduccion al analisis y diseño estructurado  d...Clase no. 1 unidad no. iii  introduccion al analisis y diseño estructurado  d...
Clase no. 1 unidad no. iii introduccion al analisis y diseño estructurado d...
 
Clase3 Caso Practico
Clase3 Caso PracticoClase3 Caso Practico
Clase3 Caso Practico
 
Modelo espiral win win
Modelo espiral win winModelo espiral win win
Modelo espiral win win
 
Especificación de Arquitectura de Software
Especificación de Arquitectura de SoftwareEspecificación de Arquitectura de Software
Especificación de Arquitectura de Software
 
Unidad 3 Modelo De Negocio
Unidad 3 Modelo De NegocioUnidad 3 Modelo De Negocio
Unidad 3 Modelo De Negocio
 
Iar (1)
Iar (1)Iar (1)
Iar (1)
 
Bootcamp Irapuato Welcome
Bootcamp Irapuato WelcomeBootcamp Irapuato Welcome
Bootcamp Irapuato Welcome
 
Proyecto periodico
Proyecto periodicoProyecto periodico
Proyecto periodico
 
Formation disp ot v4 meublés et 7j glissants
Formation disp ot v4 meublés et 7j glissantsFormation disp ot v4 meublés et 7j glissants
Formation disp ot v4 meublés et 7j glissants
 
Diabetes mellitus tipo 2 en el paciente anciano institucionalizado
Diabetes mellitus tipo 2 en el paciente anciano institucionalizadoDiabetes mellitus tipo 2 en el paciente anciano institucionalizado
Diabetes mellitus tipo 2 en el paciente anciano institucionalizado
 
Présentation du BEP CSS
Présentation du BEP CSSPrésentation du BEP CSS
Présentation du BEP CSS
 
Revuepresse06.06
Revuepresse06.06Revuepresse06.06
Revuepresse06.06
 
Desplazamiento Forzado en Colombia. Marcia Dalto
Desplazamiento Forzado en Colombia. Marcia DaltoDesplazamiento Forzado en Colombia. Marcia Dalto
Desplazamiento Forzado en Colombia. Marcia Dalto
 
montage du chapiteau
montage du chapiteaumontage du chapiteau
montage du chapiteau
 
Droit de l'économie numérique
Droit de l'économie numériqueDroit de l'économie numérique
Droit de l'économie numérique
 
My Sql High Availability With A Punch Drbd 83 And Drbd For Dolphin Express
My Sql High Availability With A Punch Drbd 83 And Drbd For Dolphin ExpressMy Sql High Availability With A Punch Drbd 83 And Drbd For Dolphin Express
My Sql High Availability With A Punch Drbd 83 And Drbd For Dolphin Express
 
Presentacion docentes upc
Presentacion docentes upcPresentacion docentes upc
Presentacion docentes upc
 

Similar a 03 cicloprocesodesoftware isi

Software sao
Software saoSoftware sao
Software sao
shadowkbus
 
Software
SoftwareSoftware
Software
shadowkbus
 
Procesos de Software EGEL-UNITEC
Procesos de Software EGEL-UNITECProcesos de Software EGEL-UNITEC
Procesos de Software EGEL-UNITEC
mrojas_unitec
 
Modelos de proceso de software
Modelos de proceso de softwareModelos de proceso de software
Modelos de proceso de software
Juan Vidal Zegarra De La Sota
 
Proceso software
Proceso softwareProceso software
Ingeniería de Software
Ingeniería de SoftwareIngeniería de Software
Ingeniería de Software
AndresBravo839059
 
04 modelosdeprocesodesoftware isi
04 modelosdeprocesodesoftware isi04 modelosdeprocesodesoftware isi
04 modelosdeprocesodesoftware isi
Christian Bueno
 
02 proceso ciclodevida
02 proceso ciclodevida02 proceso ciclodevida
02 proceso ciclodevida
claudiappaez
 
Apuntes
ApuntesApuntes
Ingenieria de Software
Ingenieria de SoftwareIngenieria de Software
Ingenieria de Software
Pablo Niama
 
Modelos
ModelosModelos
Modelos
Jose Lema
 
SQM Lifecycle models
SQM Lifecycle modelsSQM Lifecycle models
SQM Lifecycle models
Julio Gonzalez Rios
 
1 ingeniería de software
1 ingeniería de software1 ingeniería de software
1 ingeniería de software
UVM
 
Clase3 Is 0702 V1
Clase3 Is 0702 V1Clase3 Is 0702 V1
Clase3 Is 0702 V1
marlonyesith
 
05 masmodelosdeprocesodesoftware isi
05 masmodelosdeprocesodesoftware isi05 masmodelosdeprocesodesoftware isi
05 masmodelosdeprocesodesoftware isi
Christian Bueno
 
Mod 6.2 introducción al análisis
Mod 6.2 introducción al análisisMod 6.2 introducción al análisis
Mod 6.2 introducción al análisis
Pedro Montecinos Gaete
 
Presentaciòn modelos para el desarrollo del software
Presentaciòn modelos para el desarrollo del softwarePresentaciòn modelos para el desarrollo del software
Presentaciòn modelos para el desarrollo del software
paoaboytes
 
Sesión 3: Modelos prescriptivos de proceso de software
Sesión 3: Modelos prescriptivos de proceso de softwareSesión 3: Modelos prescriptivos de proceso de software
Sesión 3: Modelos prescriptivos de proceso de software
Luis Fernández
 
Ingenieria de softwrae vol1 v4 2
Ingenieria de softwrae vol1 v4 2Ingenieria de softwrae vol1 v4 2
Ingenieria de softwrae vol1 v4 2
Ingrid Figueroa Mendoza
 
Ingenieria de softwrae vol1 v4 2
Ingenieria de softwrae vol1 v4 2Ingenieria de softwrae vol1 v4 2
Ingenieria de softwrae vol1 v4 2
Ingrid Figueroa Mendoza
 

Similar a 03 cicloprocesodesoftware isi (20)

Software sao
Software saoSoftware sao
Software sao
 
Software
SoftwareSoftware
Software
 
Procesos de Software EGEL-UNITEC
Procesos de Software EGEL-UNITECProcesos de Software EGEL-UNITEC
Procesos de Software EGEL-UNITEC
 
Modelos de proceso de software
Modelos de proceso de softwareModelos de proceso de software
Modelos de proceso de software
 
Proceso software
Proceso softwareProceso software
Proceso software
 
Ingeniería de Software
Ingeniería de SoftwareIngeniería de Software
Ingeniería de Software
 
04 modelosdeprocesodesoftware isi
04 modelosdeprocesodesoftware isi04 modelosdeprocesodesoftware isi
04 modelosdeprocesodesoftware isi
 
02 proceso ciclodevida
02 proceso ciclodevida02 proceso ciclodevida
02 proceso ciclodevida
 
Apuntes
ApuntesApuntes
Apuntes
 
Ingenieria de Software
Ingenieria de SoftwareIngenieria de Software
Ingenieria de Software
 
Modelos
ModelosModelos
Modelos
 
SQM Lifecycle models
SQM Lifecycle modelsSQM Lifecycle models
SQM Lifecycle models
 
1 ingeniería de software
1 ingeniería de software1 ingeniería de software
1 ingeniería de software
 
Clase3 Is 0702 V1
Clase3 Is 0702 V1Clase3 Is 0702 V1
Clase3 Is 0702 V1
 
05 masmodelosdeprocesodesoftware isi
05 masmodelosdeprocesodesoftware isi05 masmodelosdeprocesodesoftware isi
05 masmodelosdeprocesodesoftware isi
 
Mod 6.2 introducción al análisis
Mod 6.2 introducción al análisisMod 6.2 introducción al análisis
Mod 6.2 introducción al análisis
 
Presentaciòn modelos para el desarrollo del software
Presentaciòn modelos para el desarrollo del softwarePresentaciòn modelos para el desarrollo del software
Presentaciòn modelos para el desarrollo del software
 
Sesión 3: Modelos prescriptivos de proceso de software
Sesión 3: Modelos prescriptivos de proceso de softwareSesión 3: Modelos prescriptivos de proceso de software
Sesión 3: Modelos prescriptivos de proceso de software
 
Ingenieria de softwrae vol1 v4 2
Ingenieria de softwrae vol1 v4 2Ingenieria de softwrae vol1 v4 2
Ingenieria de softwrae vol1 v4 2
 
Ingenieria de softwrae vol1 v4 2
Ingenieria de softwrae vol1 v4 2Ingenieria de softwrae vol1 v4 2
Ingenieria de softwrae vol1 v4 2
 

03 cicloprocesodesoftware isi

  • 1. Ingeniería de Software I © MSc. Carlos Mera Gómez 2013 Modelos / 1 Modelos de Proceso de Software Ingeniería de Software I FIEC03046 Sesión 03
  • 2. Ingeniería de Software I © MSc. Carlos Mera Gómez 2013 Modelos / 2 Agenda • Terminología • Ciclo de vida para desarrollo de software • Actividades de un proceso de software • Modelos de proceso de software • Modelo en cascada
  • 3. Ingeniería de Software I © MSc. Carlos Mera Gómez 2013 Modelos / 3 Terminología
  • 4. Ingeniería de Software I © MSc. Carlos Mera Gómez 2013 Modelos / 4 Terminología • Un proceso de software es un conjunto relacionado de actividades que están involucrados en el desarrollo y evolución de un producto de software. • El modelo de un proceso de software es una representación simplificada del proceso desde una perspectiva en particular.
  • 5. Ingeniería de Software I © MSc. Carlos Mera Gómez 2013 Modelos / 5 Terminología • Un producto Commercial-off-the-shelf [COTS] es un sistema de software que puede ser adaptado para las necesidades de diferentes clientes sin la necesidad de modificar el código fuente del sistema. Por ejemplo: Un ERP.
  • 6. Ingeniería de Software I © MSc. Carlos Mera Gómez 2013 Modelos / 6 Ciclo de vida para desarrollo de software
  • 7. Ingeniería de Software I © MSc. Carlos Mera Gómez 2013 Modelos / 7 Ciclo de vida para desarrollo de software • Existen varios procesos de software. Sin embargo, todos ellos incluyen cuatro actividades fundamentales para la ingeniería de software: – Especificación de software: se deben definir las funcionalidades del software y sus restricciones de operación. – Diseño e implementación de software: se debe producir un software que cumpla sus especificaciones. – Validación de software: se debe validar el software a fin de asegurar que este hace lo deseado por el cliente. – Evolución de software: el software debe evolucionar para cumplir con los cambios producto de las cambiantes necesidades del cliente.
  • 8. Ingeniería de Software I © MSc. Carlos Mera Gómez 2013 Modelos / 8 Ciclo de vida para desarrollo de software • Los procesos dividen estas actividades en subactividades. • Las descripciones de estas actividades también pueden incluir: – Productos: los cuales son los resultados de una actividad. Por ejemplo: en una actividad de diseño de arquitectura el resultado podría ser el modelo de la arquitectura del software. – Roles: reflejan las responsabilidades de los involucrados en el proceso. Por ejemplo: director de proyectos, programador, gestor de la configuración, etc. – Pre y post condiciones: hechos que son verdaderos antes y después de procesar la actividad. Por ejemplo: para el inicio del diseño de la arquitectura se tiene como pre-condición que los requerimientos hayan sido aprobados por el cliente y una post- condición sería que se haya revisado los modelos UML que describen la arquitectura.
  • 9. Ingeniería de Software I © MSc. Carlos Mera Gómez 2013 Modelos / 9 Ciclo de vida para desarrollo de software • No existen procesos de software ideales, dependen del buen juicio y criterio de las personas. • Los procesos deben evolucionar para tomar ventaja de las capacidades de los integrantes de la organización. • Los procesos de software se saben categorizar en: – Plan-driven processes – Agile processes
  • 10. Ingeniería de Software I © MSc. Carlos Mera Gómez 2013 Modelos / 10 Ciclo de vida para desarrollo de software • Plan-driven processes: procesos en los cuales sus actividades son planeadas con antelación y sus avances son medidos con respecto al plan. • Agile processes: la planeación es incremental y es más fácil cambiar el proceso pra reflejar cambios en los requerimientos del cliente.
  • 11. Ingeniería de Software I © MSc. Carlos Mera Gómez 2013 Modelos / 11 Actividad de especificación de software
  • 12. Ingeniería de Software I © MSc. Carlos Mera Gómez 2013 Modelos / 12 Especificación del software • También conocido como Ingeniería de requerimientos. • Es el proceso de entender y definir qué servicios son requeridos desde el sistema e identificar sus restricciones de operación y desarrollo. • Es un actividad crítica en vista que errores en esta inevitablemente generarán problemas en el diseño e implementación.
  • 13. Ingeniería de Software I © MSc. Carlos Mera Gómez 2013 Modelos / 13 Especificación del software • Las principales cuatro actividades en el proceso de ingeniería de requerimientos son: 1. Estudio de factibilidad 2. Análisis y elicitación de requerimientos 3. Especificación de requerimientos 4. Validación de requerimientos
  • 14. Ingeniería de Software I © MSc. Carlos Mera Gómez 2013 Modelos / 14 Especificación del software
  • 15. Ingeniería de Software I © MSc. Carlos Mera Gómez 2013 Modelos / 15 Especificación del software • Estudio de factibilidad – Estimar si las necesidades del usuario pueden ser satisfechas con la tecnología disponible, – Estimar si el sistema es costo-efectivo desde un punto de vista económico – Estimar si se puede llevar a cabo el desarrollo dentro del presupuesto establecido – Producir un informe relativamente barato y rápido si se debe o no continuar con un análisis detallado.
  • 16. Ingeniería de Software I © MSc. Carlos Mera Gómez 2013 Modelos / 16 Actividad de especificación del software • Análisis y elicitación de requerimientos – Es el proceso de derivar los requerimientos del sistema a través de la observación del proceso existente – Entrevistas con los potenciales usuarios – Contruir prototipos – Entre otras técnicas…
  • 17. Ingeniería de Software I © MSc. Carlos Mera Gómez 2013 Modelos / 17 Especificación del software • Especificación de requerimientos – Traducir los requerimientos recopilados durante la actividad de análisis en un documento que define un conjunto de requerimientos – Dos tipos de requerimientos se incluyen en el documento: • Requerimientos de usuario: oraciones en lenguaje natural de los servicios que el sistema debe proveer y sus restricciones de operación. • Requerimientos de sistema: descripciones detalladas de la funciones, servicios y restricciones operativas del sistema.
  • 18. Ingeniería de Software I © MSc. Carlos Mera Gómez 2013 Modelos / 18 Especificación del software • Especificación de requerimientos
  • 19. Ingeniería de Software I © MSc. Carlos Mera Gómez 2013 Modelos / 19 Especificación del software • Validación de requerimientos – Comprobar que los requerimientos seas reales, consistentes y completos. – Durante el proceso se descubren errores en el documento, los cuales son modificados para corregir estos problemas.
  • 20. Ingeniería de Software I © MSc. Carlos Mera Gómez 2013 Modelos / 20 Actividad de diseño e implementación de software
  • 21. Ingeniería de Software I © MSc. Carlos Mera Gómez 2013 Modelos / 21 Diseño e implementación de software • Convertir las especificación del sistema en un sistema ejecutable. • Implica diseño e implementación. • En un proceso de diseño se llevan a cabo las siguientes actividades: – Diseño de arquitectura: identificar la estructura general del sistema, sus principales componentes o módulos y la relación distribución de los mismos. – Diseño de interface: definir las interfaces entre los componentes del sistema. Así, los componentes pueden ser usados sin conocer su implementación. – Diseño de componentes: diseñar la operación de cada componente. Alternativamente, podría contemplar los cambios a los componentes reutilizados. – Diseño de base de datos: diseñar las estructuras de base de datos y su representación en la base de datos.
  • 22. Ingeniería de Software I © MSc. Carlos Mera Gómez 2013 Modelos / 22 Diseño e implementación de software
  • 23. Ingeniería de Software I © MSc. Carlos Mera Gómez 2013 Modelos / 23 Actividad de validación de software
  • 24. Ingeniería de Software I © MSc. Carlos Mera Gómez 2013 Modelos / 24 Validación de software • Validación de software o más generalmente verificación y validación tiene por objeto mostrar que un sistema cumple con su especificación y a la vez cumple con las expectativas del cliente. • Las pruebas de software son la principal técnica de validación. • La fase formal de testing y sus costos de validación se llevan a cabo luego de la fase de implementación. • Las pruebas llevadas a cabo por los desarrolladores son parte de la implementación. Lo veremos en detalle en el próximo curso…
  • 25. Ingeniería de Software I © MSc. Carlos Mera Gómez 2013 Modelos / 25 Validación de software
  • 26. Ingeniería de Software I © MSc. Carlos Mera Gómez 2013 Modelos / 26 Actividad de evolución de software
  • 27. Ingeniería de Software I © MSc. Carlos Mera Gómez 2013 Modelos / 27 Evolución de software • También conocida como actividad de mantenimiento de software. • Cambios en el software pueden ser hechos durante o después de la fase de implementación. Sin embargo, históricamente se ha dividido el proceso de desarrollo del proceso de evolución o mantenimiento.
  • 28. Ingeniería de Software I © MSc. Carlos Mera Gómez 2013 Modelos / 28 Modelos de proceso de software
  • 29. Ingeniería de Software I © MSc. Carlos Mera Gómez 2013 Modelos / 29 Modelos de proceso de software • Los modelos de procesos de software son frameworks que pueden ser extendidos y adaptados para crear procesos de ingeniería de software más específicos.
  • 30. Ingeniería de Software I © MSc. Carlos Mera Gómez 2013 Modelos / 30 Modelos de proceso de software • Cubriremos los siguientes modelos: – Modelo en cascada: fases separadas para especificación de requerimientos, diseño de software, implementación, pruebas, etc. – Modelo de desarrollo incremental: intercala las actividades de especificación, desarrollo y validación. El sistema se desarrolla en una serie de versiones en donde cada una de ellas agrega funcionalidad. – Modelo de desarrollo iterativo: no se inicia con una especificación de requerimientos completa. Se especifica parte del software y se inicia un ciclo de desarrollo. Al final de este, se repite el proceso con un nuevo ciclo identificando nuevos requerimientos. – Modelo de espiral de Boehm: es un tipo de proceso de software iterativo, generalmente implementado en proyectos de alto riesgo. Cada lazo en el espiral representa un fase de desarrollo. – Modelo orientado al reuso: basado en la existencia de un número significativo de componentes reusables. El desarrollo se centra en la integración de los mismos en vez de empezar desde cero.
  • 31. Ingeniería de Software I © MSc. Carlos Mera Gómez 2013 Modelos / 31 Modelo en cascada
  • 32. Ingeniería de Software I © MSc. Carlos Mera Gómez 2013 Modelos / 32 Modelo en cascada • Es un modelo de proceso de software que incluye las etapas de desarrollo: especificación, diseño, implementación, pruebas y mantenimiento. • La etapa previa debe finalizar antes de iniciar la siguiente. • Es un ejemplo de plan-driven process ya que primero se debe planificar y programar todas las actividades del proceso antes de empezar a trabajar en ellas. • Se producen y aprueban documentos al final de cada etapa.
  • 33. Ingeniería de Software I © MSc. Carlos Mera Gómez 2013 Modelos / 33 Modelo en cascada
  • 34. Ingeniería de Software I © MSc. Carlos Mera Gómez 2013 Modelos / 34 Modelo en cascada – Fuente: http://istqbexamcertification.com
  • 35. Ingeniería de Software I © MSc. Carlos Mera Gómez 2013 Modelos / 35 Actividades del modelo en cascada 1. Definición y análisis de requerimientos: Los servicios, restricciones y objetivos del sistema son establecidos con los usuarios del sistema. 2. Diseño de software y del sistema: Se define la arquitectura del sistema. Se diseñan los componentes de software. 3. Implementación y pruebas unitarias: El diseño es transformado en un conjunto de programas. Las pruebas unitarias consisten en verificar que el sistema cumpla su especificación. 4. Pruebas de integración y de sistema: Los programas individuales son integrados y probadas como un sistema completo. Luego de las pruebas el software es entregado al cliente. 5. Operación y mantenimiento: El sistema es instalado y puesto en producción. El mantenimiento implica la corrección de errores que no fueron descubiertos en las etapas preliminares, además las mejoras al sistema a partir de los nuevos requerimientos.
  • 36. Ingeniería de Software I © MSc. Carlos Mera Gómez 2013 Modelos / 36 Ventajas del modelo en cascada • Simple y fácil de entender y usar. • Fácil de manejar dado que cada fase tiene entregables específicos. • Cada fase es procesada una por una. • Funciona en proyectos pequeños o en aquellos en que los requerimientos están claros.
  • 37. Ingeniería de Software I © MSc. Carlos Mera Gómez 2013 Modelos / 37 Desventajas del modelo en cascada • Es muy difícil regresar a una fase previa. • El software no es entregado sino hasta el final del ciclo de vida. • No es apropiado para proyectos complejos o aquellos en los que los requerimientos tienen alta probabilidad de cambio.
  • 38. Ingeniería de Software I © MSc. Carlos Mera Gómez 2013 Modelos / 38 Modelo en cascada • Conveniente cuando… – Los requerimientos están bien entendidos, claros y fijos. – La definición del producto es estable. – Se entiende la tecnología. – No hay requerimientos ambiguos. – Proyectos pequeños.
  • 39. Ingeniería de Software I © MSc. Carlos Mera Gómez 2013 Modelos / 39 Puntos para recordar • Significado de modelo de proceso de software • Actividades de un proceso de software • Ventajas y desventajas del modelo en cascada • Los modelos no son mutuamente excluyentes. Se pueden combinar las mejores características de cada uno en proyectos grandes.
  • 40. Ingeniería de Software I © MSc. Carlos Mera Gómez 2013 Modelos / 40 Próxima Sesión • Modelo incremental • Modelo iterativo • Modelo espiral de Boehm • Modelo orientado a reuso • Otros modelos… • Cómo escoger el mejor ciclo de vida para un proyecto