SlideShare uma empresa Scribd logo
1 de 50
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1
Procesos de Software
Un conjunto coherente de
actividades para producir software
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 2
Objetivos
Introducir modelos de procesos de software
Describir tres modelos de procesos genéricos
y cuándo pueden utilizarse
Describir modelos de procesos de ingeniería
de requerimientos, de desarrollo de software,
pruebas y la evolución
Explicar el modelo de Proceso Unificado de
Rational
Introducir la tecnología CASE para apoyar las
actividades de proceso del software
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 3
Tópicos expuestos
Modelos de procesos de software
Iteración de procesos
Actividades del proceso
El Proceso Unificado de Rational
Ingeniería de Software Asistida por
Computadora
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 4
El proceso del software
Un conjunto estructurado de actividades necesarias
para desarrollar un Sistema de software
• Específicación: Funcionalidad y restricciones
• Diseño: Satisface la especificación
• Validación: Asegurar que hace lo que se pidió
• Evolución: Adaptarse a necesidades cambiantes
Un modelo de proceso del software es una
representación abstracta de un proceso. Presenta una
descripción de un proceso desde una perspectiva
particular.
• No existe un proceso ideal, sino que se adapta a
particularidades
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 5
Modelos genéricos de proceso de
software
El modelo de cascada
• Separadas y distintas fases de la especificación y el
desarrollo.
Desarrollo evolutivo
• Especificación, desarrollo y validación están
intercalados.
Ingeniería de Software Basada en Componentes
• El sistema está montado a partir de los componentes
existentes.
Hay muchas variantes de estos modelos, por ejemplo,
el desarrollo formal donde se toma un proceso similar
al de cascada, pero la especificación es una
especificación formal que se perfecciona a través de
varias etapas hacia un diseño implementable.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 6
Modelo de cascada
testing 45%
coding 20%
design 15%
requirements
engineering 10%
specification 10%
corrective 21%
adaptive 25%
preventive 4%
perfective 50%
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 7
Modelo de cascada - fases
Análisis de requerimientos y definición
Diseño del sistema y del software
Implementación y pruebas de unidad
Integración y pruebas del sistema
Operación y mantenimiento
El principal inconveniente del modelo de cascada es la
dificultad de acomodar el cambio después de que el
proceso está en marcha. Una fase tiene que ser
completada antes de pasar a la siguiente fase.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 8
Modelo de cascada - problemas
Rígida división del proyecto en fases distintas que
hace difícil responder a la evolución de las
necesidades del cliente.
Por lo tanto, este modelo sólo es apropiado cuando
los requisitos son bien entendidos y los cambios serán
bastante limitados durante el proceso de diseño.
Pocos sistemas de negocio tienen requerimientos
estables.
Refleja la praxis ingenieril, por eso se utiliza para
grandes proyectos de ingeniería de sistemas donde el
desarrollo de un sistema se efectúa en varios sitios.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 9
Desarrollo evolutivo
Desarrollo exploratorio
• El objetivo es trabajar con los clientes y
evolucionar a un sistema final a partir de un
esbozo inicial de especificación. Debería empezar
con buen entendimiento de los requerimientos y
añadir nuevas funciones en la forma propuesta
por el cliente.
Prototipado desechable
• El objetivo es comprender los requisitos del
sistema. Se puede empezar con especificaciones
poco entendidas.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 10
Desarrollo evolutivo
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 11
Desarrollo evolutivo
Problemas
• Poca visibilidad en el proceso;
• Los sistemas son a menudo mal estructurado;
• Habilidades especiales (por ejemplo, lenguajes
para prototipado rápido) pueden ser requeridas.
Aplicabilidad
• Para sistemas interactivos pequeños o medianos;
• Para partes de grandes sistemas (por ejemplo, la
interfaz de usuario);
• Para sistemas de corta vida.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 12
Ingeniería de Software Basada en
Componentes
Sobre la base de la reutilización sistemática
donde se integran los sistemas de los
componentes existentes o COTS (Comercial-
off-the-shelf) de sistemas.
Las fases del proceso
• Análisis de componentes;
• Modificación de requerimientos;
• Diseño del sistema con reutilización;
• Desarrollo e integración.
Este enfoque está siendo cada vez más
utilizado a medida que los componentes
estándar van surgiendo.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 13
Desarrollo orientado a la
reutilización
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 14
Iteración de Procesos
Los requerimientos del sistema SIEMPRE
evolucionan en el transcurso de un proyecto,
así que el proceso de iteración donde las
fases son revisadas, siempre son parte del
proceso de grandes sistemas.
Iteración se puede aplicar a cualquiera de los
modelos de procesos genéricos.
Dos enfoques (relacionados)
• Entrega incremental;
• Desarrollo en Espiral.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 15
Entrega Incremental
En lugar de entregar el sistema en una sola entrega,
el desarrollo y la prestación se divide en incrementos,
y con cada incremento se entrega parte de la
funcionalidad requerida.
Son priorizados los requerimientos de los usuarios y
los requerimientos de más alta prioridad son incluidos
en los primeros incrementos.
Una vez que el desarrollo de un incremento se ha
iniciado, los requisitos están congelados, a pesar de
que los requerimientos de los incrementos posteriores
pueden seguir evolucionando.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 16
Entrega Incremental
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 17
Ventajas del Desarrollo incremental
Entregas con valor para el cliente pueden ser
hechas con cada incremento, de manera que
la funcionalidad del sistema está disponible
tempranamente.
Los primeros incrementos actúan como un
prototipo para ayudar a obtener
requerimientos para incrementos posteriores.
Menor riesgo de fracaso del proyecto general.
La más alta prioridad del sistema de servicios
tiende a recibir más pruebas.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 18
Programación extrema
Un enfoque del desarrollo basado en el
desarrollo y la entrega de los muy pequeños
incrementos de funcionalidad.
Código se basa en constante mejora, la
participación de los usuarios en el equipo de
desarrollo y programación en parejas.
Cubiertos en el capítulo 17
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 19
Desarrollo en Espiral
El proceso se representa como una espiral y
no como una secuencia de actividades con
marcha atrás.
Cada bucle en la espiral representa una fase
en el proceso.
Fases no fijas, tales como las fases de diseño
o especificación - bucles de la espiral se
eligen en función de lo que se necesita.
Riesgos se evalúan de forma explícita y se
resuelven a través todo el proceso.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 20
Modelo de proceso en espiral
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 21
Sectores del modelo en espiral
La fijación de objetivos
• Los objetivos específicos de cada fase son
identificados.
Evaluación de riesgos y su reducción
• Se evalúan los riesgos y las actividades puestas en
marcha para reducir los principales riesgos.
Desarrollo y validación
• Un modelo de desarrollo para el sistema elegido es el
que puede ser cualquiera de los modelos genéricos.
Planificación
• El proyecto es revisado y la próxima fase de la espiral
es planeada.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 22
Actividades del proceso
Especificación de software
Diseño e implementación de software
Validación de software
Evolución del software
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 23
Especificación de software
El proceso de establecer qué servicios son
requeridos y las limitaciones en el
funcionamiento del sistema y el desarrollo.
Proceso de ingeniería de requerimientos
• Estudio de viabilidad;
• Obtención y análisis de requerimientos;
• Especificación de los requerimientos;
• Validación de requerimientos.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 24
Proceso de ingeniería de requerimientos
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 25
Diseño e implementación de software
El proceso de convertir la especificación del
sistema en un sistema ejecutable.
Diseño de software
• Diseñar una estructura de software que dé
constancia de la especificación;
Implementación
• Traducir esta estructura en un programa
ejecutable;
Las actividades de diseño e implementación
están estrechamente relacionadas y pueden
ser interpoladas.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 26
Actividades del proceso de Diseño
Diseño arquitectónico
Especificación abstracta
Diseño de la interfaz
Diseño de componentes
Diseño de estructura de datos
Diseño de algoritmos
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 27
El proceso de diseño de software
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 28
Métodos estructurados
Enfoques sistemáticos para el desarrollo de
un diseño de software.
El diseño es por lo general documentado
como un conjunto de modelos gráficos.
Posibles modelos
• Modelo de objetos;
• Modelo de secuencia;
• Modelo de transición de estados;
• Modelo estructural;
• Modelo de flujo de datos.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 29
Programación y depuración
Traducción de un diseño en un programa y la
eliminación de errores de ese programa.
La programación es una actividad personal -
no hay ningún proceso de programación
genérico.
Los programadores deben acarrear alguna
prueba del programa para descubrir defectos
en el programa y eliminar esas fallas en el
proceso de depuración.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 30
El proceso de depuración
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 31
Validación de software
Verificación y validación (V & V) es para poner
de manifiesto que un sistema cumple con su
especificación y cumple los requerimientos del
cliente.
Implica el control y revisión de los procesos y
pruebas del sistema.
La prueba del sistema implica la ejecución del
sistema con casos de prueba que se derivan
de la especificación de los datos reales para
ser procesados por el sistema.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 32
El proceso de pruebas
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 33
Etapas del proceso de pruebas
Prueba de componentes o unidades
• Cada uno de los componentes son probados por
separado;
• Componentes pueden ser funciones u objetos o
agrupaciones coherentes de estas entidades.
Pruebas del sistema
• Prueba del sistema en su conjunto. Prueba de
propiedades emergentes es particularmente
importante.
Pruebas de aceptación
• Pruebas con los datos de los clientes para
comprobar que el sistema cumple con los
requerimientos del cliente.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 34
Fases de prueba
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 35
Evolución del software
El software es inherentemente flexible y puede
cambiar.
Como los requerimientos cambian a través del
cambio de las circustancias empresariales, el
software que soporta la empresa también
debe evolucionar y cambiar.
Aunque ha habido una demarcación entre el
desarrollo y evolución (mantenimiento) es
cada vez más irrelevante como cada vez
menos y menos sistemas son completamente
nuevos.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 36
Evolución del sistema
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 37
El Proceso Unificado de Rational
Un moderno modelo de proceso derivado de
la labor sobre el UML y procesos asociados.
Normalmente se describe a partir de 3 de
perspectivas
• Una perspectiva dinámica, que muestra las fases
del modelo en el tiempo;
• Una perspectiva estática que muestra las
actividades de proceso;
• Una perspectiva práctica que sugiere buenas
prácticas a utilizar durante el proceso.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 38
Fases del RUP
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 39
RUP - Fases
Inicio
• Establecer el modelo comercial para el sistema.
Elaboración
• Desarrollar una comprensión del dominio del
problema y la arquitectura del sistema.
Construcción
• Diseño de sistemas, programación y pruebas.
Transición
• Desplegar el sistema en su entorno operativo.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 40
Buenas prácticas en RUP
Desarrollar software iterativamente
Gestión de requerimientos
Uso de arquitecturas basadas en
componentes
Modelos de software visuales
Verificar la calidad del software
Control de cambios al software
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 41
Los flujos de trabajo
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 42
Ingeniería de Software Asistida por
Computadora
Ingeniería de Software Asistida por Computadora
(CASE) es un software para apoyar el desarrollo de
software y procesos de evolución.
Automatización de la actividad
• Editores gráficos para el modelo de desarrollo del
sistema;
• Diccionario de datos para la gestión de las entidades
de diseño;
• Constructor GUI para la construcción de la interfaz de
usuario gráfica;
• Depuradores para ayudar a encontrar defectos en el
programa;
• Traductores automatizados para generar nuevas
versiones de un programa.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 43
Tecnología CASE
La tecnología CASE ha dado lugar a mejoras
significativas en el proceso del software. Sin
embargo, estas no van acorde a la magnitud
de las mejoras previstas alguna vez
• Ingeniería de software requiere pensamiento
creativo – esto no se automatiza fácilmente;
• Ingeniería de software es una actividad de grupo
y, para grandes proyectos, se dedica mucho
tiempo a las interacciones del equipo. La
tecnología CASE realmente no ayuda a ello.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 44
Clasificación CASE
La clasificación nos ayuda a entender los diferentes
tipos de herramientas CASE y su apoyo a actividades
del proceso.
Perspectiva funcional
• Herramientas se clasifican de acuerdo a su función
específica.
Perspectiva de proceso
• Herramientas se clasifican de acuerdo con las
actividades de proceso que son compatibles.
Perspectiva de integración
• Herramientas se clasifican de acuerdo a su
organización en unidades integradas.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 45
Clasificación funcional de las
herramientas CASE
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 46
Clasificación basada en actividades de
las herramientas CASE
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 47
Integración de herramientas CASE
Herramientas
• Tareas individuales de apoyo al proceso como
control de coherencia de diseño, edición de texto,
etc
Bancos de trabajo
• Apoyar una fase del proceso como la
especificación o diseño, por lo general incluyen
una serie de herramientas integradas.
Entornos
• Apoyo a la totalidad o una parte sustancial de
todo un proceso del software. Normalmente
incluyen varios bancos de trabajo integrados.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 48
Herramientas, bancos de trabajo y
entornos
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 49
Puntos clave
Procesos de software son las actividades implicadas
en la producción y la evolución de un sistema de
software.
Modelos de procesos software son representaciones
abstractas de estos procesos.
Actividades generales son la especificación, diseño e
implementación, la validación y la evolución.
Los modelos genéricos del proceso describen la
organización de los procesos de software. Los
ejemplos incluyen el modelo de cascada, desarrollo
evolutivo e ingeniería de software basada en
componentes.
Los modelos de iteración de procesos describen el
proceso del software como un ciclo de actividades.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 50
Puntos clave
Ingeniería de requerimientos es el proceso de
desarrollo de una especificación de software.
Diseño implementación comprenden la transformación
de la especificación de requerimientos en un software
ejecutable.
La validación implica que el sistema cumple con las
especificaciones y requerimientos del usuario.
Evolución se refiere a la modificación del sistema
después de que está en uso.
El Proceso Unificado de Rational es un modelo de
proceso genérico que separa las actividades de las
fases que presenta.
La tecnología CASE proporciona ayuda automatizada
a los procesos de software.

Mais conteúdo relacionado

Mais procurados

Unidad 1 Ingenieria de software
Unidad 1 Ingenieria de softwareUnidad 1 Ingenieria de software
Unidad 1 Ingenieria de softwareJahiro Bojorquez
 
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 softwarejhonatanalex
 
Investigación de modelos
Investigación de modelos Investigación de modelos
Investigación de modelos bren1995
 
14. fundamentos de desarrollo de software
14. fundamentos de desarrollo de software14. fundamentos de desarrollo de software
14. fundamentos de desarrollo de softwareJhon Barrera
 
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 SoftwareT.I.C
 
Tecnicas ingenieria de software
Tecnicas ingenieria de softwareTecnicas ingenieria de software
Tecnicas ingenieria de softwareedsacun
 
Desarrollo agil, Producto Proceso, Scrum
Desarrollo agil, Producto Proceso, ScrumDesarrollo agil, Producto Proceso, Scrum
Desarrollo agil, Producto Proceso, Scrumrgomezm
 
Introducción a la Ingenieria de Software
Introducción a la Ingenieria de SoftwareIntroducción a la Ingenieria de Software
Introducción a la Ingenieria de SoftwareSorey García
 
Analisis derequerimientos
Analisis derequerimientosAnalisis derequerimientos
Analisis derequerimientosljds
 
SELECCIÓN DE TECNICAS DE INGENIERIA DE SOFTWARE.
SELECCIÓN DE TECNICAS DE INGENIERIA DE SOFTWARE. SELECCIÓN DE TECNICAS DE INGENIERIA DE SOFTWARE.
SELECCIÓN DE TECNICAS DE INGENIERIA DE SOFTWARE. Cristhian Martinez
 
El código de ética y práctica profesional de ingeniería del software
El código de ética y práctica profesional de ingeniería del softwareEl código de ética y práctica profesional de ingeniería del software
El código de ética y práctica profesional de ingeniería del softwareOmar Jaramillo
 

Mais procurados (20)

Mantenimiento y evolucion del software
Mantenimiento y evolucion del softwareMantenimiento y evolucion del software
Mantenimiento y evolucion del software
 
Unidad 1 Ingenieria de software
Unidad 1 Ingenieria de softwareUnidad 1 Ingenieria de software
Unidad 1 Ingenieria de software
 
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
 
Investigación de modelos
Investigación de modelos Investigación de modelos
Investigación de modelos
 
Requisitos de software
Requisitos de softwareRequisitos de software
Requisitos de software
 
conceptos de ingenieria de software
conceptos de ingenieria de softwareconceptos de ingenieria de software
conceptos de ingenieria de software
 
14. fundamentos de desarrollo de software
14. fundamentos de desarrollo de software14. fundamentos de desarrollo de software
14. fundamentos de desarrollo de software
 
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
 
ingenieria del software
ingenieria del softwareingenieria del software
ingenieria del software
 
Tecnicas ingenieria de software
Tecnicas ingenieria de softwareTecnicas ingenieria de software
Tecnicas ingenieria de software
 
Paradigmas
ParadigmasParadigmas
Paradigmas
 
Desarrollo agil, Producto Proceso, Scrum
Desarrollo agil, Producto Proceso, ScrumDesarrollo agil, Producto Proceso, Scrum
Desarrollo agil, Producto Proceso, Scrum
 
El proceso
El procesoEl proceso
El proceso
 
Introducción a la Ingenieria de Software
Introducción a la Ingenieria de SoftwareIntroducción a la Ingenieria de Software
Introducción a la Ingenieria de Software
 
Software
SoftwareSoftware
Software
 
Analisis derequerimientos
Analisis derequerimientosAnalisis derequerimientos
Analisis derequerimientos
 
SELECCIÓN DE TECNICAS DE INGENIERIA DE SOFTWARE.
SELECCIÓN DE TECNICAS DE INGENIERIA DE SOFTWARE. SELECCIÓN DE TECNICAS DE INGENIERIA DE SOFTWARE.
SELECCIÓN DE TECNICAS DE INGENIERIA DE SOFTWARE.
 
El código de ética y práctica profesional de ingeniería del software
El código de ética y práctica profesional de ingeniería del softwareEl código de ética y práctica profesional de ingeniería del software
El código de ética y práctica profesional de ingeniería del software
 
Jfcastillo
JfcastilloJfcastillo
Jfcastillo
 
Modelos Prescriptivos de Proceso
Modelos Prescriptivos de ProcesoModelos Prescriptivos de Proceso
Modelos Prescriptivos de Proceso
 

Destaque

Sesion5 requerimientos de software
Sesion5 requerimientos de softwareSesion5 requerimientos de software
Sesion5 requerimientos de softwareOscar López
 
Proceedit 20110225 AnáLisis Tco Y Rentabilidad Proyecto ImplantacióN Bpm
Proceedit 20110225 AnáLisis Tco Y Rentabilidad   Proyecto ImplantacióN BpmProceedit 20110225 AnáLisis Tco Y Rentabilidad   Proyecto ImplantacióN Bpm
Proceedit 20110225 AnáLisis Tco Y Rentabilidad Proyecto ImplantacióN BpmJosep Mª Cos i Riera
 
Desarrollo Evolutivo
Desarrollo EvolutivoDesarrollo Evolutivo
Desarrollo EvolutivoFABIO
 
Clase1-Electivo BPM de Ingenieria-Metodología de Modelos de Negocio
Clase1-Electivo BPM de Ingenieria-Metodología de Modelos de NegocioClase1-Electivo BPM de Ingenieria-Metodología de Modelos de Negocio
Clase1-Electivo BPM de Ingenieria-Metodología de Modelos de NegocioRodrigo Gajardo Valdés
 
BPM Gestion de Procesos de Negocio Introduccion
BPM Gestion de Procesos de Negocio IntroduccionBPM Gestion de Procesos de Negocio Introduccion
BPM Gestion de Procesos de Negocio IntroduccionJulio Cejas
 
Caja de Herramientas para un Equipo Scrum de Alto Rendimiento
Caja de Herramientas para un Equipo Scrum de Alto RendimientoCaja de Herramientas para un Equipo Scrum de Alto Rendimiento
Caja de Herramientas para un Equipo Scrum de Alto RendimientoRaúl Herranz
 
Business Process Management (BPM)
Business Process Management (BPM)Business Process Management (BPM)
Business Process Management (BPM)Kiberley Santos
 
Buenas Practicas De Manufactura
Buenas Practicas De ManufacturaBuenas Practicas De Manufactura
Buenas Practicas De Manufacturarh-vimifos
 
Desarrollo de un Sistema Web - Cierre
Desarrollo de un Sistema Web - CierreDesarrollo de un Sistema Web - Cierre
Desarrollo de un Sistema Web - CierreDharma Consulting
 

Destaque (13)

Sesion5 requerimientos de software
Sesion5 requerimientos de softwareSesion5 requerimientos de software
Sesion5 requerimientos de software
 
Proceedit 20110225 AnáLisis Tco Y Rentabilidad Proyecto ImplantacióN Bpm
Proceedit 20110225 AnáLisis Tco Y Rentabilidad   Proyecto ImplantacióN BpmProceedit 20110225 AnáLisis Tco Y Rentabilidad   Proyecto ImplantacióN Bpm
Proceedit 20110225 AnáLisis Tco Y Rentabilidad Proyecto ImplantacióN Bpm
 
cierre de proyecto
cierre de proyectocierre de proyecto
cierre de proyecto
 
Desarrollo Evolutivo
Desarrollo EvolutivoDesarrollo Evolutivo
Desarrollo Evolutivo
 
Modelos evolutivos
Modelos evolutivosModelos evolutivos
Modelos evolutivos
 
Clase1-Electivo BPM de Ingenieria-Metodología de Modelos de Negocio
Clase1-Electivo BPM de Ingenieria-Metodología de Modelos de NegocioClase1-Electivo BPM de Ingenieria-Metodología de Modelos de Negocio
Clase1-Electivo BPM de Ingenieria-Metodología de Modelos de Negocio
 
Herramientas BPM
Herramientas BPMHerramientas BPM
Herramientas BPM
 
BPM Gestion de Procesos de Negocio Introduccion
BPM Gestion de Procesos de Negocio IntroduccionBPM Gestion de Procesos de Negocio Introduccion
BPM Gestion de Procesos de Negocio Introduccion
 
Caja de Herramientas para un Equipo Scrum de Alto Rendimiento
Caja de Herramientas para un Equipo Scrum de Alto RendimientoCaja de Herramientas para un Equipo Scrum de Alto Rendimiento
Caja de Herramientas para un Equipo Scrum de Alto Rendimiento
 
Business Process Management (BPM)
Business Process Management (BPM)Business Process Management (BPM)
Business Process Management (BPM)
 
BPM METODOLOGIA
BPM METODOLOGIABPM METODOLOGIA
BPM METODOLOGIA
 
Buenas Practicas De Manufactura
Buenas Practicas De ManufacturaBuenas Practicas De Manufactura
Buenas Practicas De Manufactura
 
Desarrollo de un Sistema Web - Cierre
Desarrollo de un Sistema Web - CierreDesarrollo de un Sistema Web - Cierre
Desarrollo de un Sistema Web - Cierre
 

Semelhante a Sesion2 Procesos del Software

Curso de Ingeniería de Software - Capitulo4
Curso de Ingeniería de Software - Capitulo4Curso de Ingeniería de Software - Capitulo4
Curso de Ingeniería de Software - Capitulo4Eddie Malca
 
Procesos de software Unidad 2 - Software Enginnering - Ian sommerville
Procesos de software  Unidad 2 - Software Enginnering - Ian sommervilleProcesos de software  Unidad 2 - Software Enginnering - Ian sommerville
Procesos de software Unidad 2 - Software Enginnering - Ian sommervilleMatias Gonzalo Acosta
 
Diseño de software modelo lineal (presentacion)
Diseño de software   modelo lineal (presentacion)Diseño de software   modelo lineal (presentacion)
Diseño de software modelo lineal (presentacion)Marco Antonio Perez Montero
 
Modelo Cascada y Espiral
Modelo Cascada y EspiralModelo Cascada y Espiral
Modelo Cascada y Espiraljuanksi28
 
Modelo de desarrollo de software
Modelo de desarrollo de softwareModelo de desarrollo de software
Modelo de desarrollo de softwareYaskelly Yedra
 
PROCESOS DE DESARROLLO DE SOFTWARE_G.pptx
PROCESOS DE DESARROLLO DE SOFTWARE_G.pptxPROCESOS DE DESARROLLO DE SOFTWARE_G.pptx
PROCESOS DE DESARROLLO DE SOFTWARE_G.pptxAlexChavezAlaniz
 
02 proceso ciclodevida
02 proceso ciclodevida02 proceso ciclodevida
02 proceso ciclodevidaclaudiappaez
 
16416960 modelo-cascada-espiralincremental
16416960 modelo-cascada-espiralincremental16416960 modelo-cascada-espiralincremental
16416960 modelo-cascada-espiralincrementalzaggy88
 
Lineal Secuencial
Lineal SecuencialLineal Secuencial
Lineal Secuencialtoryneutral
 
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 procesoCoesi Consultoria
 
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 softwareLuis Fernández
 
Modelos de procesos de software
Modelos de procesos de softwareModelos de procesos de software
Modelos de procesos de softwareWilder W Mamani
 
Modelo de desarrollo del software
Modelo de desarrollo del softwareModelo de desarrollo del software
Modelo de desarrollo del softwareRazielLira
 

Semelhante a Sesion2 Procesos del Software (20)

Curso de Ingeniería de Software - Capitulo4
Curso de Ingeniería de Software - Capitulo4Curso de Ingeniería de Software - Capitulo4
Curso de Ingeniería de Software - Capitulo4
 
Procesos de software Unidad 2 - Software Enginnering - Ian sommerville
Procesos de software  Unidad 2 - Software Enginnering - Ian sommervilleProcesos de software  Unidad 2 - Software Enginnering - Ian sommerville
Procesos de software Unidad 2 - Software Enginnering - Ian sommerville
 
Diseño de software modelo lineal (presentacion)
Diseño de software   modelo lineal (presentacion)Diseño de software   modelo lineal (presentacion)
Diseño de software modelo lineal (presentacion)
 
Modelo Cascada y Espiral
Modelo Cascada y EspiralModelo Cascada y Espiral
Modelo Cascada y Espiral
 
Modelo de desarrollo de software
Modelo de desarrollo de softwareModelo de desarrollo de software
Modelo de desarrollo de software
 
PROCESOS DE DESARROLLO DE SOFTWARE_G.pptx
PROCESOS DE DESARROLLO DE SOFTWARE_G.pptxPROCESOS DE DESARROLLO DE SOFTWARE_G.pptx
PROCESOS DE DESARROLLO DE SOFTWARE_G.pptx
 
02 proceso ciclodevida
02 proceso ciclodevida02 proceso ciclodevida
02 proceso ciclodevida
 
Modelos evolutivos. incremental y espiral
Modelos evolutivos. incremental y espiralModelos evolutivos. incremental y espiral
Modelos evolutivos. incremental y espiral
 
Modelo Cascada!!
Modelo Cascada!!Modelo Cascada!!
Modelo Cascada!!
 
16416960 modelo-cascada-espiralincremental
16416960 modelo-cascada-espiralincremental16416960 modelo-cascada-espiralincremental
16416960 modelo-cascada-espiralincremental
 
Presentacion grupo9
Presentacion grupo9Presentacion grupo9
Presentacion grupo9
 
Modelos
ModelosModelos
Modelos
 
Lineal Secuencial
Lineal SecuencialLineal Secuencial
Lineal Secuencial
 
Metodología RUP
Metodología RUPMetodología RUP
Metodología RUP
 
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
 
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
 
Modelos de procesos de software
Modelos de procesos de softwareModelos de procesos de software
Modelos de procesos de software
 
Apuntes
ApuntesApuntes
Apuntes
 
3. modelos prescriptivos de proceso
3. modelos prescriptivos de proceso3. modelos prescriptivos de proceso
3. modelos prescriptivos de proceso
 
Modelo de desarrollo del software
Modelo de desarrollo del softwareModelo de desarrollo del software
Modelo de desarrollo del software
 

Último

Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfAlfredoRamirez953210
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Angélica Soledad Vega Ramírez
 
4º SOY LECTOR PART2- MD EDUCATIVO.p df PARTE
4º SOY LECTOR PART2- MD  EDUCATIVO.p df PARTE4º SOY LECTOR PART2- MD  EDUCATIVO.p df PARTE
4º SOY LECTOR PART2- MD EDUCATIVO.p df PARTESaraNolasco4
 
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docxEJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docxFabianValenciaJabo
 
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdfFichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdfssuser50d1252
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024gharce
 
GUIA DE TEXTOS EDUCATIVOS SANTILLANA PARA SECUNDARIA
GUIA DE TEXTOS EDUCATIVOS SANTILLANA PARA SECUNDARIAGUIA DE TEXTOS EDUCATIVOS SANTILLANA PARA SECUNDARIA
GUIA DE TEXTOS EDUCATIVOS SANTILLANA PARA SECUNDARIAELIASPELAEZSARMIENTO1
 
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsxJuanpm27
 
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docxEDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docxLuisAndersonPachasto
 
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADOCUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADOEveliaHernandez8
 
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxSecuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxNataliaGonzalez619348
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfcoloncopias5
 
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfFichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfssuser50d1252
 
Presentacion minimalista aesthetic simple beige_20240415_224856_0000.pdf
Presentacion minimalista aesthetic simple beige_20240415_224856_0000.pdfPresentacion minimalista aesthetic simple beige_20240415_224856_0000.pdf
Presentacion minimalista aesthetic simple beige_20240415_224856_0000.pdfSarayLuciaSnchezFigu
 
Presentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxPresentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxRosabel UA
 

Último (20)

Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
 
VISITA À PROTEÇÃO CIVIL _
VISITA À PROTEÇÃO CIVIL                  _VISITA À PROTEÇÃO CIVIL                  _
VISITA À PROTEÇÃO CIVIL _
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...
 
4º SOY LECTOR PART2- MD EDUCATIVO.p df PARTE
4º SOY LECTOR PART2- MD  EDUCATIVO.p df PARTE4º SOY LECTOR PART2- MD  EDUCATIVO.p df PARTE
4º SOY LECTOR PART2- MD EDUCATIVO.p df PARTE
 
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docxEJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
 
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdfFichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
 
GUIA DE TEXTOS EDUCATIVOS SANTILLANA PARA SECUNDARIA
GUIA DE TEXTOS EDUCATIVOS SANTILLANA PARA SECUNDARIAGUIA DE TEXTOS EDUCATIVOS SANTILLANA PARA SECUNDARIA
GUIA DE TEXTOS EDUCATIVOS SANTILLANA PARA SECUNDARIA
 
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
 
Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docxEDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
 
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADOCUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
 
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxSecuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
 
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfFichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
 
La luz brilla en la oscuridad. Necesitamos luz
La luz brilla en la oscuridad. Necesitamos luzLa luz brilla en la oscuridad. Necesitamos luz
La luz brilla en la oscuridad. Necesitamos luz
 
PPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptxPPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptx
 
TL/CNL – 2.ª FASE .
TL/CNL – 2.ª FASE                       .TL/CNL – 2.ª FASE                       .
TL/CNL – 2.ª FASE .
 
Presentacion minimalista aesthetic simple beige_20240415_224856_0000.pdf
Presentacion minimalista aesthetic simple beige_20240415_224856_0000.pdfPresentacion minimalista aesthetic simple beige_20240415_224856_0000.pdf
Presentacion minimalista aesthetic simple beige_20240415_224856_0000.pdf
 
Presentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxPresentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptx
 

Sesion2 Procesos del Software

  • 1. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1 Procesos de Software Un conjunto coherente de actividades para producir software
  • 2. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 2 Objetivos Introducir modelos de procesos de software Describir tres modelos de procesos genéricos y cuándo pueden utilizarse Describir modelos de procesos de ingeniería de requerimientos, de desarrollo de software, pruebas y la evolución Explicar el modelo de Proceso Unificado de Rational Introducir la tecnología CASE para apoyar las actividades de proceso del software
  • 3. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 3 Tópicos expuestos Modelos de procesos de software Iteración de procesos Actividades del proceso El Proceso Unificado de Rational Ingeniería de Software Asistida por Computadora
  • 4. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 4 El proceso del software Un conjunto estructurado de actividades necesarias para desarrollar un Sistema de software • Específicación: Funcionalidad y restricciones • Diseño: Satisface la especificación • Validación: Asegurar que hace lo que se pidió • Evolución: Adaptarse a necesidades cambiantes Un modelo de proceso del software es una representación abstracta de un proceso. Presenta una descripción de un proceso desde una perspectiva particular. • No existe un proceso ideal, sino que se adapta a particularidades
  • 5. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 5 Modelos genéricos de proceso de software El modelo de cascada • Separadas y distintas fases de la especificación y el desarrollo. Desarrollo evolutivo • Especificación, desarrollo y validación están intercalados. Ingeniería de Software Basada en Componentes • El sistema está montado a partir de los componentes existentes. Hay muchas variantes de estos modelos, por ejemplo, el desarrollo formal donde se toma un proceso similar al de cascada, pero la especificación es una especificación formal que se perfecciona a través de varias etapas hacia un diseño implementable.
  • 6. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 6 Modelo de cascada testing 45% coding 20% design 15% requirements engineering 10% specification 10% corrective 21% adaptive 25% preventive 4% perfective 50%
  • 7. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 7 Modelo de cascada - fases Análisis de requerimientos y definición Diseño del sistema y del software Implementación y pruebas de unidad Integración y pruebas del sistema Operación y mantenimiento El principal inconveniente del modelo de cascada es la dificultad de acomodar el cambio después de que el proceso está en marcha. Una fase tiene que ser completada antes de pasar a la siguiente fase.
  • 8. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 8 Modelo de cascada - problemas Rígida división del proyecto en fases distintas que hace difícil responder a la evolución de las necesidades del cliente. Por lo tanto, este modelo sólo es apropiado cuando los requisitos son bien entendidos y los cambios serán bastante limitados durante el proceso de diseño. Pocos sistemas de negocio tienen requerimientos estables. Refleja la praxis ingenieril, por eso se utiliza para grandes proyectos de ingeniería de sistemas donde el desarrollo de un sistema se efectúa en varios sitios.
  • 9. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 9 Desarrollo evolutivo Desarrollo exploratorio • El objetivo es trabajar con los clientes y evolucionar a un sistema final a partir de un esbozo inicial de especificación. Debería empezar con buen entendimiento de los requerimientos y añadir nuevas funciones en la forma propuesta por el cliente. Prototipado desechable • El objetivo es comprender los requisitos del sistema. Se puede empezar con especificaciones poco entendidas.
  • 10. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 10 Desarrollo evolutivo
  • 11. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 11 Desarrollo evolutivo Problemas • Poca visibilidad en el proceso; • Los sistemas son a menudo mal estructurado; • Habilidades especiales (por ejemplo, lenguajes para prototipado rápido) pueden ser requeridas. Aplicabilidad • Para sistemas interactivos pequeños o medianos; • Para partes de grandes sistemas (por ejemplo, la interfaz de usuario); • Para sistemas de corta vida.
  • 12. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 12 Ingeniería de Software Basada en Componentes Sobre la base de la reutilización sistemática donde se integran los sistemas de los componentes existentes o COTS (Comercial- off-the-shelf) de sistemas. Las fases del proceso • Análisis de componentes; • Modificación de requerimientos; • Diseño del sistema con reutilización; • Desarrollo e integración. Este enfoque está siendo cada vez más utilizado a medida que los componentes estándar van surgiendo.
  • 13. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 13 Desarrollo orientado a la reutilización
  • 14. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 14 Iteración de Procesos Los requerimientos del sistema SIEMPRE evolucionan en el transcurso de un proyecto, así que el proceso de iteración donde las fases son revisadas, siempre son parte del proceso de grandes sistemas. Iteración se puede aplicar a cualquiera de los modelos de procesos genéricos. Dos enfoques (relacionados) • Entrega incremental; • Desarrollo en Espiral.
  • 15. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 15 Entrega Incremental En lugar de entregar el sistema en una sola entrega, el desarrollo y la prestación se divide en incrementos, y con cada incremento se entrega parte de la funcionalidad requerida. Son priorizados los requerimientos de los usuarios y los requerimientos de más alta prioridad son incluidos en los primeros incrementos. Una vez que el desarrollo de un incremento se ha iniciado, los requisitos están congelados, a pesar de que los requerimientos de los incrementos posteriores pueden seguir evolucionando.
  • 16. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 16 Entrega Incremental
  • 17. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 17 Ventajas del Desarrollo incremental Entregas con valor para el cliente pueden ser hechas con cada incremento, de manera que la funcionalidad del sistema está disponible tempranamente. Los primeros incrementos actúan como un prototipo para ayudar a obtener requerimientos para incrementos posteriores. Menor riesgo de fracaso del proyecto general. La más alta prioridad del sistema de servicios tiende a recibir más pruebas.
  • 18. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 18 Programación extrema Un enfoque del desarrollo basado en el desarrollo y la entrega de los muy pequeños incrementos de funcionalidad. Código se basa en constante mejora, la participación de los usuarios en el equipo de desarrollo y programación en parejas. Cubiertos en el capítulo 17
  • 19. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 19 Desarrollo en Espiral El proceso se representa como una espiral y no como una secuencia de actividades con marcha atrás. Cada bucle en la espiral representa una fase en el proceso. Fases no fijas, tales como las fases de diseño o especificación - bucles de la espiral se eligen en función de lo que se necesita. Riesgos se evalúan de forma explícita y se resuelven a través todo el proceso.
  • 20. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 20 Modelo de proceso en espiral
  • 21. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 21 Sectores del modelo en espiral La fijación de objetivos • Los objetivos específicos de cada fase son identificados. Evaluación de riesgos y su reducción • Se evalúan los riesgos y las actividades puestas en marcha para reducir los principales riesgos. Desarrollo y validación • Un modelo de desarrollo para el sistema elegido es el que puede ser cualquiera de los modelos genéricos. Planificación • El proyecto es revisado y la próxima fase de la espiral es planeada.
  • 22. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 22 Actividades del proceso Especificación de software Diseño e implementación de software Validación de software Evolución del software
  • 23. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 23 Especificación de software El proceso de establecer qué servicios son requeridos y las limitaciones en el funcionamiento del sistema y el desarrollo. Proceso de ingeniería de requerimientos • Estudio de viabilidad; • Obtención y análisis de requerimientos; • Especificación de los requerimientos; • Validación de requerimientos.
  • 24. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 24 Proceso de ingeniería de requerimientos
  • 25. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 25 Diseño e implementación de software El proceso de convertir la especificación del sistema en un sistema ejecutable. Diseño de software • Diseñar una estructura de software que dé constancia de la especificación; Implementación • Traducir esta estructura en un programa ejecutable; Las actividades de diseño e implementación están estrechamente relacionadas y pueden ser interpoladas.
  • 26. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 26 Actividades del proceso de Diseño Diseño arquitectónico Especificación abstracta Diseño de la interfaz Diseño de componentes Diseño de estructura de datos Diseño de algoritmos
  • 27. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 27 El proceso de diseño de software
  • 28. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 28 Métodos estructurados Enfoques sistemáticos para el desarrollo de un diseño de software. El diseño es por lo general documentado como un conjunto de modelos gráficos. Posibles modelos • Modelo de objetos; • Modelo de secuencia; • Modelo de transición de estados; • Modelo estructural; • Modelo de flujo de datos.
  • 29. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 29 Programación y depuración Traducción de un diseño en un programa y la eliminación de errores de ese programa. La programación es una actividad personal - no hay ningún proceso de programación genérico. Los programadores deben acarrear alguna prueba del programa para descubrir defectos en el programa y eliminar esas fallas en el proceso de depuración.
  • 30. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 30 El proceso de depuración
  • 31. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 31 Validación de software Verificación y validación (V & V) es para poner de manifiesto que un sistema cumple con su especificación y cumple los requerimientos del cliente. Implica el control y revisión de los procesos y pruebas del sistema. La prueba del sistema implica la ejecución del sistema con casos de prueba que se derivan de la especificación de los datos reales para ser procesados por el sistema.
  • 32. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 32 El proceso de pruebas
  • 33. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 33 Etapas del proceso de pruebas Prueba de componentes o unidades • Cada uno de los componentes son probados por separado; • Componentes pueden ser funciones u objetos o agrupaciones coherentes de estas entidades. Pruebas del sistema • Prueba del sistema en su conjunto. Prueba de propiedades emergentes es particularmente importante. Pruebas de aceptación • Pruebas con los datos de los clientes para comprobar que el sistema cumple con los requerimientos del cliente.
  • 34. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 34 Fases de prueba
  • 35. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 35 Evolución del software El software es inherentemente flexible y puede cambiar. Como los requerimientos cambian a través del cambio de las circustancias empresariales, el software que soporta la empresa también debe evolucionar y cambiar. Aunque ha habido una demarcación entre el desarrollo y evolución (mantenimiento) es cada vez más irrelevante como cada vez menos y menos sistemas son completamente nuevos.
  • 36. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 36 Evolución del sistema
  • 37. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 37 El Proceso Unificado de Rational Un moderno modelo de proceso derivado de la labor sobre el UML y procesos asociados. Normalmente se describe a partir de 3 de perspectivas • Una perspectiva dinámica, que muestra las fases del modelo en el tiempo; • Una perspectiva estática que muestra las actividades de proceso; • Una perspectiva práctica que sugiere buenas prácticas a utilizar durante el proceso.
  • 38. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 38 Fases del RUP
  • 39. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 39 RUP - Fases Inicio • Establecer el modelo comercial para el sistema. Elaboración • Desarrollar una comprensión del dominio del problema y la arquitectura del sistema. Construcción • Diseño de sistemas, programación y pruebas. Transición • Desplegar el sistema en su entorno operativo.
  • 40. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 40 Buenas prácticas en RUP Desarrollar software iterativamente Gestión de requerimientos Uso de arquitecturas basadas en componentes Modelos de software visuales Verificar la calidad del software Control de cambios al software
  • 41. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 41 Los flujos de trabajo
  • 42. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 42 Ingeniería de Software Asistida por Computadora Ingeniería de Software Asistida por Computadora (CASE) es un software para apoyar el desarrollo de software y procesos de evolución. Automatización de la actividad • Editores gráficos para el modelo de desarrollo del sistema; • Diccionario de datos para la gestión de las entidades de diseño; • Constructor GUI para la construcción de la interfaz de usuario gráfica; • Depuradores para ayudar a encontrar defectos en el programa; • Traductores automatizados para generar nuevas versiones de un programa.
  • 43. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 43 Tecnología CASE La tecnología CASE ha dado lugar a mejoras significativas en el proceso del software. Sin embargo, estas no van acorde a la magnitud de las mejoras previstas alguna vez • Ingeniería de software requiere pensamiento creativo – esto no se automatiza fácilmente; • Ingeniería de software es una actividad de grupo y, para grandes proyectos, se dedica mucho tiempo a las interacciones del equipo. La tecnología CASE realmente no ayuda a ello.
  • 44. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 44 Clasificación CASE La clasificación nos ayuda a entender los diferentes tipos de herramientas CASE y su apoyo a actividades del proceso. Perspectiva funcional • Herramientas se clasifican de acuerdo a su función específica. Perspectiva de proceso • Herramientas se clasifican de acuerdo con las actividades de proceso que son compatibles. Perspectiva de integración • Herramientas se clasifican de acuerdo a su organización en unidades integradas.
  • 45. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 45 Clasificación funcional de las herramientas CASE
  • 46. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 46 Clasificación basada en actividades de las herramientas CASE
  • 47. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 47 Integración de herramientas CASE Herramientas • Tareas individuales de apoyo al proceso como control de coherencia de diseño, edición de texto, etc Bancos de trabajo • Apoyar una fase del proceso como la especificación o diseño, por lo general incluyen una serie de herramientas integradas. Entornos • Apoyo a la totalidad o una parte sustancial de todo un proceso del software. Normalmente incluyen varios bancos de trabajo integrados.
  • 48. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 48 Herramientas, bancos de trabajo y entornos
  • 49. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 49 Puntos clave Procesos de software son las actividades implicadas en la producción y la evolución de un sistema de software. Modelos de procesos software son representaciones abstractas de estos procesos. Actividades generales son la especificación, diseño e implementación, la validación y la evolución. Los modelos genéricos del proceso describen la organización de los procesos de software. Los ejemplos incluyen el modelo de cascada, desarrollo evolutivo e ingeniería de software basada en componentes. Los modelos de iteración de procesos describen el proceso del software como un ciclo de actividades.
  • 50. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 50 Puntos clave Ingeniería de requerimientos es el proceso de desarrollo de una especificación de software. Diseño implementación comprenden la transformación de la especificación de requerimientos en un software ejecutable. La validación implica que el sistema cumple con las especificaciones y requerimientos del usuario. Evolución se refiere a la modificación del sistema después de que está en uso. El Proceso Unificado de Rational es un modelo de proceso genérico que separa las actividades de las fases que presenta. La tecnología CASE proporciona ayuda automatizada a los procesos de software.