Escuela Politécnica Superior de Ingeniería
Departamento de Ingeniería Informática
Ingeniería del software I
3. El proceso unificado de desarrollo
Ingeniería del software – El proceso unificado de desarrollo 2
Contenido
 Características
 Guiado por Casos de uso
 Centrado en la arquitectura
 Iterativo
 Incremental
 El proceso unificado de desarrollo
Ingeniería del software – El proceso unificado de desarrollo 3
Características
 El Unified Software Development Process fue
desarrollado por Ivar Jacobson, James
Rumbaugh y Grady Booch
 Se compone de un conjunto de actividades que
permiten transformar los requisitos del usuario
en un producto software
 El producto software cumple los requisitos de usuario
 El producto software tiene calidad
 Se cumplen los plazos de entrega estimados y las
limitaciones de coste del proyecto
Ingeniería del software – El proceso unificado de desarrollo 4
Características
El proceso unificado de desarrollo incorpora 6
“Best Practices”
 Desarrollar el software de forma incremental
 Gestionar los requisitos del sistema
 Diseñar arquitecturas basadas en componentes
 Modelar el software de forma gráfica
 Verificar la calidad del software
 Controlar los cambios
Ingeniería del software – El proceso unificado de desarrollo 5
Características
El proceso unificado de desarrollo incorpora 6
“Best Practices”
 Desarrollar el software de forma incremental
 La complejidad de los sistemas software actuales hace
prácticamente imposible definir la totalidad de los
requisitos del sistema desde el inicio del proyecto
 El proceso unificado de desarrollo aporta un enfoque
iterativo que permite construir el software añadiendo y
refinando la funcionalidad de forma sucesiva
 Este enfoque reduce el riesgo de fracaso del proyecto
Ingeniería del software – El proceso unificado de desarrollo 6
Características
El proceso unificado de desarrollo incorpora 6
“Best Practices”
 Gestionar los requisitos del sistema
 El proceso describe cómo organizar y documentar los
requisitos funcionales del producto y sus restricciones
 El uso de escenarios y casos de uso es eficaz para
capturar los requisitos funcionales y asegurar que el
diseño, la implementación y las pruebas del sistema se
ajustan a los requisitos del usuario
 Este enfoque dirige el proceso de desarrollo y facilita la
trazabilidad
Ingeniería del software – El proceso unificado de desarrollo 7
Características
El proceso unificado de desarrollo incorpora 6
“Best Practices”
 Diseñar arquitecturas basadas en componentes
 El proceso se enfoca en el diseño de una arquitectura
robusta desde el principio del proyecto, antes de
comprometer recursos en el desarrollo de la totalidad
del proyecto
 Describe cómo diseñar una arquitectura flexible, con
capacidad de adaptarse a cambios en la especificación
 Facilita la reutilización de componentes
Ingeniería del software – El proceso unificado de desarrollo 8
Características
El proceso unificado de desarrollo incorpora 6
“Best Practices”
 Modelar el software de forma gráfica
 El proceso permite modelar el software de forma
gráfica y capturar el comportamiento y la arquitectura
de los componentes utilizando bloques gráficos
(graphical building blocks)
 El uso de estas abstracciones ayuda a comunicar todas
las características del software y a ver cómo se
relacionan los componentes del sistema
Ingeniería del software – El proceso unificado de desarrollo 9
Características
El proceso unificado de desarrollo incorpora 6
“Best Practices”
 Verificar la calidad del software
 La calidad del software debe verificarse aplicando
factores de calidad como el rendimiento o la fiabilidad
del producto
 Este proceso ayuda a planificar, diseñar, implementar
y realizar la verificación de la calidad del software
 El control de calidad forma parte de todas las
actividades del proceso
Ingeniería del software – El proceso unificado de desarrollo 10
Características
El proceso unificado de desarrollo incorpora 6
“Best Practices”
 Controlar los cambios
 El proceso describe cómo controlar y monitorizar los
cambios durante el desarrollo iterativo del software
 Permite controlar los cambios de todos los productos
asociados al software (modelos, código fuente,
documentos, etc.)
 Facilita la trazabilidad de los cambios
Ingeniería del software – El proceso unificado de desarrollo 11
El proceso unificado de desarrollo
 El proceso unificado de desarrollo se repite
sobre una serie de ciclos. Al final de cada ciclo
se tiene una versión entregable del producto
 Cada ciclo consta de cuatro fases y cada fase se
puede subdividir en iteraciones
 Concepción
 Elaboración
 Construcción
 Transición
Ingeniería del software – El proceso unificado de desarrollo 12
El proceso unificado de desarrollo
Ingeniería del software – El proceso unificado de desarrollo 13
El proceso unificado de desarrollo
 Cada ciclo del proceso unificado se divide en
cuatro fases: concepción, elaboración,
construcción y transición
 Al final de cada fase se dispone de un conjunto
de “artefactos” o productos entregables
(modelos, documentos)
 Esto permite analizar el trabajo realizado y
tomar decisiones antes de pasar a la fase
siguiente
Ingeniería del software – El proceso unificado de desarrollo 14
El proceso unificado de desarrollo
1. Concepción (Inception)
 Se parte de una idea y se desarrolla la “visión”
del producto final
 Durante esta fase se identifican las funciones
del sistema
 Se diseña un esqueleto de la arquitectura del
sistema
 Se estima el coste del proyecto y se planifican
las tareas
Ingeniería del software – El proceso unificado de desarrollo 15
El proceso unificado de desarrollo
2. Elaboración (Elaboration)
 Se diseña la arquitectura del sistema desde
todos los puntos de vista
 Se definen todos los casos de uso y se
desarrollan los casos de uso críticos (línea de
base de la arquitectura)
 Al final de esta fase, el gestor puede planificar
las tareas y los recursos necesarios para
realizar el proyecto
Ingeniería del software – El proceso unificado de desarrollo 16
El proceso unificado de desarrollo
3. Construcción (Construction)
 El producto se “construye” añadiento
“músculo” al “esqueleto”
 La línea de base crece hasta convertirse en el
software completo
 La arquitectura del sistema es estable, a pesar
de que puede haber modificaciones menores
 Al final de la fase el producto está terminado y
todos los casos de uso han sido implementados
Ingeniería del software – El proceso unificado de desarrollo 17
El proceso unificado de desarrollo
4. Transición (Transition)
 Durante este período el producto software está
en versión “beta”
 Se realizan otras tareas como:
 Formación de usuarios
 Soporte técnico en línea
 Corrección de defectos del producto

Introduccion Proceso Unificado de desarrollo.ppt

  • 1.
    Escuela Politécnica Superiorde Ingeniería Departamento de Ingeniería Informática Ingeniería del software I 3. El proceso unificado de desarrollo
  • 2.
    Ingeniería del software– El proceso unificado de desarrollo 2 Contenido  Características  Guiado por Casos de uso  Centrado en la arquitectura  Iterativo  Incremental  El proceso unificado de desarrollo
  • 3.
    Ingeniería del software– El proceso unificado de desarrollo 3 Características  El Unified Software Development Process fue desarrollado por Ivar Jacobson, James Rumbaugh y Grady Booch  Se compone de un conjunto de actividades que permiten transformar los requisitos del usuario en un producto software  El producto software cumple los requisitos de usuario  El producto software tiene calidad  Se cumplen los plazos de entrega estimados y las limitaciones de coste del proyecto
  • 4.
    Ingeniería del software– El proceso unificado de desarrollo 4 Características El proceso unificado de desarrollo incorpora 6 “Best Practices”  Desarrollar el software de forma incremental  Gestionar los requisitos del sistema  Diseñar arquitecturas basadas en componentes  Modelar el software de forma gráfica  Verificar la calidad del software  Controlar los cambios
  • 5.
    Ingeniería del software– El proceso unificado de desarrollo 5 Características El proceso unificado de desarrollo incorpora 6 “Best Practices”  Desarrollar el software de forma incremental  La complejidad de los sistemas software actuales hace prácticamente imposible definir la totalidad de los requisitos del sistema desde el inicio del proyecto  El proceso unificado de desarrollo aporta un enfoque iterativo que permite construir el software añadiendo y refinando la funcionalidad de forma sucesiva  Este enfoque reduce el riesgo de fracaso del proyecto
  • 6.
    Ingeniería del software– El proceso unificado de desarrollo 6 Características El proceso unificado de desarrollo incorpora 6 “Best Practices”  Gestionar los requisitos del sistema  El proceso describe cómo organizar y documentar los requisitos funcionales del producto y sus restricciones  El uso de escenarios y casos de uso es eficaz para capturar los requisitos funcionales y asegurar que el diseño, la implementación y las pruebas del sistema se ajustan a los requisitos del usuario  Este enfoque dirige el proceso de desarrollo y facilita la trazabilidad
  • 7.
    Ingeniería del software– El proceso unificado de desarrollo 7 Características El proceso unificado de desarrollo incorpora 6 “Best Practices”  Diseñar arquitecturas basadas en componentes  El proceso se enfoca en el diseño de una arquitectura robusta desde el principio del proyecto, antes de comprometer recursos en el desarrollo de la totalidad del proyecto  Describe cómo diseñar una arquitectura flexible, con capacidad de adaptarse a cambios en la especificación  Facilita la reutilización de componentes
  • 8.
    Ingeniería del software– El proceso unificado de desarrollo 8 Características El proceso unificado de desarrollo incorpora 6 “Best Practices”  Modelar el software de forma gráfica  El proceso permite modelar el software de forma gráfica y capturar el comportamiento y la arquitectura de los componentes utilizando bloques gráficos (graphical building blocks)  El uso de estas abstracciones ayuda a comunicar todas las características del software y a ver cómo se relacionan los componentes del sistema
  • 9.
    Ingeniería del software– El proceso unificado de desarrollo 9 Características El proceso unificado de desarrollo incorpora 6 “Best Practices”  Verificar la calidad del software  La calidad del software debe verificarse aplicando factores de calidad como el rendimiento o la fiabilidad del producto  Este proceso ayuda a planificar, diseñar, implementar y realizar la verificación de la calidad del software  El control de calidad forma parte de todas las actividades del proceso
  • 10.
    Ingeniería del software– El proceso unificado de desarrollo 10 Características El proceso unificado de desarrollo incorpora 6 “Best Practices”  Controlar los cambios  El proceso describe cómo controlar y monitorizar los cambios durante el desarrollo iterativo del software  Permite controlar los cambios de todos los productos asociados al software (modelos, código fuente, documentos, etc.)  Facilita la trazabilidad de los cambios
  • 11.
    Ingeniería del software– El proceso unificado de desarrollo 11 El proceso unificado de desarrollo  El proceso unificado de desarrollo se repite sobre una serie de ciclos. Al final de cada ciclo se tiene una versión entregable del producto  Cada ciclo consta de cuatro fases y cada fase se puede subdividir en iteraciones  Concepción  Elaboración  Construcción  Transición
  • 12.
    Ingeniería del software– El proceso unificado de desarrollo 12 El proceso unificado de desarrollo
  • 13.
    Ingeniería del software– El proceso unificado de desarrollo 13 El proceso unificado de desarrollo  Cada ciclo del proceso unificado se divide en cuatro fases: concepción, elaboración, construcción y transición  Al final de cada fase se dispone de un conjunto de “artefactos” o productos entregables (modelos, documentos)  Esto permite analizar el trabajo realizado y tomar decisiones antes de pasar a la fase siguiente
  • 14.
    Ingeniería del software– El proceso unificado de desarrollo 14 El proceso unificado de desarrollo 1. Concepción (Inception)  Se parte de una idea y se desarrolla la “visión” del producto final  Durante esta fase se identifican las funciones del sistema  Se diseña un esqueleto de la arquitectura del sistema  Se estima el coste del proyecto y se planifican las tareas
  • 15.
    Ingeniería del software– El proceso unificado de desarrollo 15 El proceso unificado de desarrollo 2. Elaboración (Elaboration)  Se diseña la arquitectura del sistema desde todos los puntos de vista  Se definen todos los casos de uso y se desarrollan los casos de uso críticos (línea de base de la arquitectura)  Al final de esta fase, el gestor puede planificar las tareas y los recursos necesarios para realizar el proyecto
  • 16.
    Ingeniería del software– El proceso unificado de desarrollo 16 El proceso unificado de desarrollo 3. Construcción (Construction)  El producto se “construye” añadiento “músculo” al “esqueleto”  La línea de base crece hasta convertirse en el software completo  La arquitectura del sistema es estable, a pesar de que puede haber modificaciones menores  Al final de la fase el producto está terminado y todos los casos de uso han sido implementados
  • 17.
    Ingeniería del software– El proceso unificado de desarrollo 17 El proceso unificado de desarrollo 4. Transición (Transition)  Durante este período el producto software está en versión “beta”  Se realizan otras tareas como:  Formación de usuarios  Soporte técnico en línea  Corrección de defectos del producto