SlideShare una empresa de Scribd logo
PROCESO
UNIFICADO
INGENIERÍA DE SOFTWARE I
2º DE GRADO EN INGENIERÍA INFORMÁTICA
CURSO 2017/2018
Francisco José García Peñalvo / fgarcia@usal.es
Alicia García Holgado / aliciagh@usal.es
Departamento de Informática y Automática
Universidad de Salamanca
1. INTRODUCCIÓN
Ingeniería de Software I - Proceso Unificado
2
ORÍGENES
Ingeniería de Software I - Proceso Unificado
3
Enfoque
de Rational
Otras fuentes
Proceso Unificado de Rational 5.0
1998
Proceso Objectory de Rational 4.1
1996-1997
Proceso Objectory 1.0-3.8
1987-1995
Enfoque de Ericsson
UML
Enfoque
de Rational
Otras fuentes
Proceso Unificado de Rational 5.0
1998
Proceso Objectory de Rational 4.1
1996-1997
Proceso Objectory 1.0-3.8
1987-1995
Enfoque de Ericsson
UML
Jacobson et al.
Jacobson, Booch y Rumbaugh
EVOLUCIÓN
• En Febrero de 2003 IBM compró Rational y en 2006 creó una
versión de RUP para procesos ágiles
• Plataforma IBM Rational Method Composer V7.5.2
• Herramienta de creación y publicación de métodos
basada en Eclipse
• Incluye una biblioteca de procesos
• Ofrece una guía de mejores prácticas para el desarrollo
de software (RUP y procesos ágiles)
• Open Unified Process fue donado en 2007 a la Fundación
Eclipse
• Eclipse Process Framework Project 1.5.1.8
• http://www.eclipse.org/epf/
Ingeniería de Software I - Proceso Unificado
4
JUSTIFICACIÓN
• Diferentes proyectos tienen diferentes necesidades de proceso
• Diversos factores marcan las necesidades para un proceso más formal
o más ágil
• Tamaño del equipo
• Localización geográfica
• Complejidad de la arquitectura
• Novedad de la tecnología
• Cumplimiento de estándares
• Etc.
• No obstante, hay buenas prácticas en el desarrollo del software que
benefician a cualquier proyecto
• La idea de Proceso Unificado es aportar un conjunto mínimo de
prácticas que ayudan a los equipos de desarrollo a ser más eficientes
con independencia del tipo de proyecto
Ingeniería de Software I - Proceso Unificado
5
DEFINICIÓN
El Proceso Unificado es más que un simple proceso (Jacobson et
al., 1999), es un marco de trabajo genérico que puede
especializarse para una gran variedad de sistemas software, para
diferentes áreas de aplicación, diferentes tipos de organizaciones,
diferentes niveles de aptitud y diferentes tamaños de proyectos
Ingeniería de Software I - Proceso Unificado
6
CARACTERÍSTICAS
• Características generales
• Está basado en componentes
• Utiliza UML (Booch et al., 1999; OMG, 2003)
• Características principales (Jacobson et al., 1999)
• Es un proceso conducido por casos de uso
• Está centrado en la arquitectura
• Es iterativo e incremental
Ingeniería de Software I - Proceso Unificado
7
MARCO DE TRABAJO
GENÉRICO
• No existe un proceso universal
• Puede extenderse y especializarse para una gran variedad de
sistemas de software
• Flexibilidad
• Está basado en componentes
• Permite gran variedad de estrategias de ciclo de vida
• Se pueden definir diferentes conjuntos de productos
• Se pueden definir actividades y encargados de las mismas
Ingeniería de Software I - Proceso Unificado
8
FUNDAMENTOS
• Selecciona qué artefactos producir
• Define actividades y stakeholders
• Modela conceptos
Ingeniería de Software I - Proceso Unificado
9
Describe un
caso de uso
Paquete de casos de uso
Caso de uso
Responsable de
Analista
Artefacto
Actividad
2. CICLO DE VIDA DEL
PROCESO UNIFICADO
Ingeniería de Software I - Proceso Unificado
10
https://unsplash.com/search/spiral?photo=zcYRw547Dps
CICLO DE VIDA
• El Proceso Unificado se repite a lo largo de una serie de ciclos de
desarrollo que constituyen la vida de un sistema
• Cada ciclo de desarrollo concluye con una versión entregable del
producto
• Cada ciclo consta de cuatro fases
• Inicio
• Se define el alcance del proyecto y se desarrollan los casos de negocio
• Elaboración
• Se planifica el proyecto, se especifican en detalle la mayoría de los casos
de uso y se diseña la arquitectura del sistema
• Construcción
• Se construye el producto
• Transición
• El producto se convierte en versión beta
• Se corrigen problemas y se incorporan mejoras sugeridas en la revisión
Ingeniería de Software I - Proceso Unificado
11
tiempo
Inicio Elaboración Construcción Transición
CICLO DE VIDA
• Etapa de Ingeniería
• Equipos pequeños, actividades poco predecibles (análisis,
viabilidad, planificación)
• Comprende las fases
• Inicio
• Elaboración
• Etapa de Producción
• Equipos grandes, actividades predecibles, menos riesgos
(programación, pruebas)
• Comprende las fases
• Construcción
• Transición
12
Ingeniería de Software I - Proceso Unificado
CICLO DE VIDA
• Dentro de cada fase se puede, a su vez, descomponer el
trabajo en iteraciones con sus incrementos resultantes
• Cada fase termina con un hito, cada uno de los cuales se
caracteriza por la disponibilidad de un conjunto de
componentes de software
13
Ingeniería de Software I - Proceso Unificado
HITOS
• Los hitos son puntos de control en los cuales los participantes
en el proyecto revisan el progreso del proyecto
• Se pretende
• Controlar el progreso del proyecto
• Sincronizar las expectativas y la realidad
• Tomar decisiones para continuar con la siguiente fase
• Identificar los riesgos
• Se evalúa la situación global del proyecto
• Se necesitan
• Resultados tangibles para comparar con las expectativas
• Varios niveles
• Hitos principales al final de cada fase
• Hitos secundarios final de cada iteración
14
Ingeniería de Software I - Proceso Unificado
CICLO DE VIDA
• Una iteración es una secuencia de actividades con un
plan establecido y unos criterios de evaluación, cuyo
resultado es una versión ejecutable no orientada a la
entrega (hito secundario)
• Dentro de cada fase se puede, a su vez, descomponer el
trabajo en iteraciones con sus incrementos resultantes
• Cada fase termina con un hito, cada uno de los cuales
se caracteriza por la disponibilidad de un conjunto de
componentes de software
• Las iteraciones discurren a lo largo de las disciplinas
Ingeniería de Software I - Proceso Unificado
15
CICLO DE VIDA
• Las disciplinas o flujos de trabajo organizan las actividades
fundamentales de gestión y desarrollo del proyecto
• Disciplinas de desarrollo
• Requisitos, análisis, diseño, implementación, pruebas...
• Disciplinas de gestión o soporte
• Gestión de proyecto, gestión de configuraciones, entorno,
evaluación...
• Al contrario de lo que ocurre con las fases, las distintas
actividades del equipo de desarrollo se pueden solapar en el
tiempo
Ingeniería de Software I - Proceso Unificado
16
CICLO DE VIDA
Ingeniería de Software I - Proceso Unificado
17
Cada ciclo concluye con una versión del producto para los clientes
tiempo
tiempo
Vista
Vista Línea base
de arquitectura
Línea base
de arquitectura
Capacidad
inicial
Capacidad
inicial
Versión del
producto
Versión del
producto
Inicio Elaboración Construcción Transición
Versión
Versión Versión
Versión Versión
Versión Versión
Versión Versión
Versión Versión
Versión Versión
Versión
Arqu.
Iteración
... Des.
Iteración
Des.
Iteración
... Trans.
Iteración
...
Prelim
Iteración
...
Inicio Elaboración Construcción Transición
Arqu.
Iteración
... Des.
Iteración
Des.
Iteración
... Trans.
Iteración
...
Prelim
Iteración
...
Inicio Elaboración Construcción Transición
CICLO DE VIDA
18
Ingeniería de Software I - Proceso Unificado
https://es.wikipedia.org/wiki/OpenUP#/media/File:Ciclo_de_Vida_OpenUP.png
3. EL PRODUCTO
Ingeniería de Software I - Proceso Unificado
19
https://visualhunt.com/f/photo/4294686346/fa10e0e9c7/
PRODUCTO
• El producto que se obtiene es un sistema de software
• El sistema lo componen todos los “artefactos” necesarios para
representarlo de forma comprensible
• Artefacto
• Término general para cualquier tipo de información creada,
producida, cambiada o utilizada por los stakeholders en el
desarrollo del sistema. Puede ser
• De ingeniería
• De gestión
• El artefacto más importante del Proceso Unificado es el
modelo
• Un sistema posee una colección de modelos y las relaciones
entre ellos
20
Ingeniería de Software I - Proceso Unificado
PRODUCTO
Los modelos recogen diferentes perspectivas del sistema (perspectivas
de todos los stakeholders)
21
Un modelo es una abstracción semánticamente
cerrada del sistema
Sistema
Arquitecto
Usuarios
Analistas
Jefe de
proyecto
Ingenieros
de pruebas
Diseñadores
Ingeniería de Software I - Proceso Unificado
PRODUCTO
Modelos
• Modelo de casos de uso
• Diagramas de casos de uso, secuencia, colaboración y actividad
• Modelos de análisis y diseño
• Diagramas de clases, objetos, secuencia, colaboración y actividad
• Modelo de despliegue
• Diagramas despliegue, secuencia y colaboración
• Modelo de implementación
• Diagramas de componentes, secuencia y colaboración
• Modelo de pruebas
• Todos los diagramas
22
Ingeniería de Software I - Proceso Unificado
PRODUCTO
Existen dependencias entre el modelo de casos de uso y los
demás modelos
23
Modelo de
casos de uso
Modelo de
diseño
Modelo de
despliegue
Modelo de
pruebas
Modelo de
implementación
Modelo de
Análisis
Ingeniería de Software I - Proceso Unificado
4. EL PROCESO
Ingeniería de Software I - Proceso Unificado
24
Photo credit: kel0 via Visual hunt / CC BY-NC-SA
https://www.flickr.com/photos/kel0/7123959465
PROCESO
• El proceso hace referencia a un contexto que sirve como
plantilla que pueda reutilizarse para crear instancias de ella
(proyectos)
• Las actividades relacionadas conforman disciplinas o flujos
de trabajo
• Su identificación parte de la identificación de los stakeholders y de
los artefactos para cada tipo de stakeholder
• Describen como fluye el proceso a través de los stakeholders
Ingeniería de Software I - Proceso Unificado
25
CARACTERÍSTICAS
PRINCIPALES DEL PROCESO
Conducido por casos de uso
• Los casos de usos guían el desarrollo del sistema
• Como los casos de uso contienen las descripciones de las funciones, afectan a todas las
fases y vistas
Centrado en la arquitectura
• La arquitectura se representa mediante vistas del modelo
• Se puede tomar como arquitectura de referencia el denominado modelo de arquitectura
de 4+1 vistas propuesto por Philippe Kruchten (1995)
Iterativo e Incremental
• En cada iteración se identifican y especifican los casos de uso relevantes, se crea un
diseño basado en la arquitectura seleccionada, se implementa el diseño mediante
componentes y se verifica que los componentes satisfacen los casos de uso
• Si una iteración cumple con sus objetivos se pasa a la siguiente
• En cada iteración se va desarrollando el sistema de forma incremental
26
Ingeniería de Software I - Proceso Unificado
PROCESO DIRIGIDO POR
CASOS DE USO
Dirigen las actividades de desarrollo
• Creación y validación de la arquitectura del sistema
• Definición de casos de prueba y procedimientos
• Planificación de iteraciones
• Creación de documentación de usuario
• Despliegue del sistema
Sincronizan el contenido de los diferentes modelos
27
Requisitos Implemen-
tación
Prueba
Los casos de uso enlazan las disciplinas
Análisis Diseño
Ingeniería de Software I - Proceso Unificado
PROCESO DIRIGIDO POR
CASOS DE USO
• Inicialmente los casos de uso se utilizan para la captura de
requisitos funcionales
• Durante el análisis y el diseño se transforma el modelo de casos de
uso mediante un modelo de análisis en una estructura de
clasificadores y realizaciones de casos de uso
• En cada iteración, los casos de uso sirven de guía a través del
conjunto completo de disciplinas
28
Modelo de casos
de uso
Modelo de análisis Modelo de diseño
<<trace>> <<trace>>
Ingeniería de Software I - Proceso Unificado
PROCESO CENTRADO EN LA
ARQUITECTURA
• Se puede tomar como arquitectura de referencia el denominado
modelo de arquitectura de 4+1 vistas, propuesto por Philippe
Kruchten (1995)
• Cada vista es una parte de un modelo
29
Vista lógica Vista de implementación
Vista de procesos
Componentes
Componentes
Clases, interfaces,
colaboraciones
Clases, interfaces,
colaboraciones
Clases activas
Clases activas
Vista de despliegue
Nodos
Nodos
Vista de Casos
de uso
Vista de Casos
de uso
Casos de uso
Casos de uso
Ingeniería de Software I - Proceso Unificado
PROCESO CENTRADO EN LA
ARQUITECTURA
Centrado en la arquitectura: diferentes vistas del sistema
30
Relación entre los flujos de trabajo y los modelos que forman la arquitectura
Requisitos
Diseño
Implementación
Prueba
Análisis
Modelo de
casos de uso
Modelo de
análisis
Modelo de
diseño
Modelo de
despliegue
Modelo de
implementación
Modelo de
puebas
Requisitos
Diseño
Implementación
Prueba
Análisis
Modelo de
casos de uso
Modelo de
análisis
Modelo de
diseño
Modelo de
despliegue
Modelo de
implementación
Modelo de
puebas
Ingeniería de Software I - Proceso Unificado
PROCESO CENTRADO EN LA
ARQUITECTURA
Centrado en la arquitectura: diferentes vistas del sistema
• Los modelos son los vehículos para visualizar, especificar,
construir y documentar la arquitectura
• El Proceso Unificado prescribe los sucesivos refinamientos
de una arquitectura ejecutable
31
tiempo
Arquitectura
Inicio Elaboración Construcción Transición
Ingeniería de Software I - Proceso Unificado
PROCESO CENTRADO EN LA
ARQUITECTURA
Diseño de la arquitectura
• Seleccionar escenarios: aspectos críticos y riesgos
• Identificar las clases principales y sus responsabilidades
• Distribuir el comportamiento en clases
• Estructurar en subsistemas, capas y definir interfaces
• Definir distribución y concurrencia
• Implementar prototipos de arquitectura
• Derivar casos de prueba a partir de los casos de uso
• Evaluar la arquitectura
Iterar
La arquitectura se desarrolla mediante iteraciones (en capas)
• Comienza con una línea base de arquitectura (primera versión
de los modelos)
• La línea base evoluciona hasta convertirse en un sistema
estable
32
Ingeniería de Software I - Proceso Unificado
PROCESO CENTRADO EN LA
ARQUITECTURA
Diseño de la arquitectura
33
Capa específica de la aplicación
Capa general de la aplicación
Capa intermedia
Capa de software del sistema
Patrón de capas de la arquitectura del sistema
Ingeniería de Software I - Proceso Unificado
PROCESO CENTRADO EN LA
ARQUITECTURA
Diseño de la arquitectura
34
Capa específica de la aplicación
Capa general de la aplicación
Capa intermedia
Capa de software del sistema
Gestión de
facturas de
comprador
Gestión de
planificación de
pagos
Gestión de
cuentas
Java.applet Java.awt Java.rmi
Máquina virtual
Java
Navegador de
Internet
TCP/IP
Ingeniería de Software I - Proceso Unificado
PROCESO ITERATIVO E
INCREMENTAL
La característica fundamental del Proceso Unificado es ser un proceso
iterativo
• Se basa en la ampliación y el refinamiento del sistema
• Una serie de desarrollos cortos (mini proyectos de 2 a 6 semanas, cada
iteración reproduce el ciclo de vida a menor escala)
• No solo se mejora sino que el sistema también crece: proceso iterativo e
incremental
35
Tiempo
Funcionalidad
del sistema
Análisis Diseño Implementación Prueba
Incremento1
Análisis Diseño Implementación Prueba
Incremento2
Ingeniería de Software I - Proceso Unificado
PROCESO ITERATIVO E
INCREMENTAL
• El resultado de cada iteración es un sistema ejecutable (aunque
sea incompleto y no esté listo para su instalación)
• Un sistema instalable requiere varias iteraciones
• Evolución de prototipos ejecutables
• Los objetivos de una iteración se establecen en función de la
evaluación de las iteraciones precedentes
• Concepto de time-boxing
• Cada iteración debe tener una duración fija (normalmente se
mide en semanas)
• En lugar de retrasar el final de una iteración se recomienda eliminar
algunos de los requisitos (se dejan para la siguiente iteración)
• La realimentación del usuario es fundamental en este proceso
• El progreso es visible
36
Ingeniería de Software I - Proceso Unificado
PROCESO ITERATIVO E
INCREMENTAL
Fases
• Es preciso diferenciar temporalmente las fases del ciclo de vida
• La división temporal necesita puntos de control
Puntos de control o hitos
• Separan las etapas, las fases, las iteraciones
Disciplinas o Flujos de trabajo
• Organizan las actividades fundamentales de gestión y desarrollo
• Se pueden solapar en el tiempo
• El resultado de las actividades de los flujos de trabajo son los artefactos
Artefactos
• Cualquier tipo de información producida por los desarrolladores de un
sistema (diagramas UML, código, ejecutables, casos de prueba...)
• Se construyen de forma incremental
37
Ingeniería de Software I - Proceso Unificado
PROCESO ITERATIVO E
INCREMENTAL
• El Proceso Unificado propone una serie de ciclos de desarrollo
• Hay que separar claramente la etapa de Ingeniería de la etapa de
Producción
• Cada una de las dos grandes etapas se dividen en fases
• Las fases se dividen en iteraciones
38
iteración fase
Ciclo de desarrollo
Etapa de Ingeniería Etapa de Producción
Ingeniería de Software I - Proceso Unificado
PROCESO ITERATIVO E
INCREMENTAL
39
Etapa de Ingeniería Etapa de Producción
Visión Arquitectura Versiones Beta Productos
Inicio Elaboración Construcción Transición
Iteratividad
Ingeniería de Software I - Proceso Unificado
PROCESO ITERATIVO E
INCREMENTAL
Inicio Elaboración Construcción Transición
Etapa de Ingeniería Etapa de producción
Requisitos
Diseño
Implementación
Instalación
Gestión
Requisitos
Diseño
Implementación
Instalación
Gestión
Requisitos
Diseño
Implementación
Instalación
Gestión
Requisitos
Diseño
Implementación
Instalación
Gestión
Visión Arquitectura Versiones Beta Productos
Visión Arquitectura Versiones Beta Productos
40
Incremental
Ingeniería de Software I - Proceso Unificado
ORGANIZACIÓN DEL TRABAJO
Ingeniería de Software I - Proceso Unificado
41
https://upload.wikimedia.org/wikipedia/commons/b/bc/Es_three_layers.jpg
PATRONES DE CAPACIDAD
• El método de Proceso Unificado se crea de forma separada a su
aplicación en procesos
• Los métodos ofrecen explicaciones paso a paso para describir cómo
se consiguen los objetivos específicos de desarrollo
independientemente de su ubicación en un ciclo de desarrollo
concreto
• Los procesos toman estos métodos y los relacionan en secuencias
semi-ordenadas que se personalizan para los proyectos concretos
• Los elementos de los métodos se organizan en piezas reutilizables
que se denominan patrones de capacidad (capability patterns) que
ofrecen una aproximación consistente de desarrollo a las
necesidades comunes de los proyectos software
Ingeniería de Software I - Proceso Unificado
42
PATRONES DE CAPACIDAD
Ingeniería de Software I - Proceso Unificado
43
PATRONES DE CAPACIDAD
Ingeniería de Software I - Proceso Unificado
44
Develop Solution Increment
PROCESO DE ENTREGA
• Cuando se culmina una iteración por los patrones de
capacidad (lo cual puede hacer tantas veces como se
planifique) se cierra un ciclo de desarrollo y se da lugar a un
proceso de entrega
Ingeniería de Software I - Proceso Unificado
45
BIBLIOGRAFÍA
• F. J. García-Peñalvo y A. García-Holgado, "Introducción al Proceso
Unificado," Recursos docentes de la asignatura Ingeniería de
Software I. Grado en Ingeniería Informática. Curso 2017-2018, F. J.
García-Peñalvo y A. García-Holgado, Eds., Salamanca, España:
Grupo GRIAL, Universidad de Salamanca, 2018. [Online].
Disponible en: https://goo.gl/ikvtYC. doi: 10.5281/zenodo.1181693
Ingeniería de Software I - Proceso Unificado
46
PROCESO
UNIFICADO
INGENIERÍA DE SOFTWARE I
2º DE GRADO EN INGENIERÍA INFORMÁTICA
CURSO 2017/2018
Francisco José García Peñalvo / fgarcia@usal.es
Alicia García Holgado / aliciagh@usal.es
Departamento de Informática y Automática
Universidad de Salamanca

Más contenido relacionado

PPTX
PROCESO UNIFICADO
PPTX
IDAT-Proyecto_Desarrollo_Software-2.pptx
PPTX
Clase 2- RUP.pptx
PDF
Proceso unificado de desarrollo
PDF
Unidad 4 Modelos de Procesos del Software
PPTX
El Proceso Unificado
PPTX
Visión general del proceso unificado
PDF
01 el proceso_unificado
PROCESO UNIFICADO
IDAT-Proyecto_Desarrollo_Software-2.pptx
Clase 2- RUP.pptx
Proceso unificado de desarrollo
Unidad 4 Modelos de Procesos del Software
El Proceso Unificado
Visión general del proceso unificado
01 el proceso_unificado

Similar a 7.PUBLIC.WORKHOME,.................,.pdf (20)

PPTX
Proceso unificado de desarrollo de software
PPTX
Introducción al proceso unificado de desarrollo de software en Curso de Anali...
PDF
UML APLICADO AL DISEÑO EN LA PLANIFICACION Y DESARROLLLO DE SOFTWARE .pdf
PDF
Unidad 4
PPTX
El proceso unificado
PPT
5 Clase El Proceso Unificado Rational
PPTX
SEMANA 5 DISEÑO DE SISTEMAS.pptx
PPT
Introduccion Proceso Unificado de desarrollo.ppt
PPT
2. el proceso unificado
PPT
Curso Uml 3.2 Proceso Unificado
PPT
Proceso Unificado de Modelado y Metodologias Agiles Nuevo (5).ppt
PPT
1. el proceso unificado
PPTX
Presentacion de metodologia empleada en el proceso del desarrollo del software
PPT
2._El_proceso_unificado.ppt
PPTX
Proceso unificado de desarrollo de software
PPTX
3. modelos prescriptivos de proceso
PPTX
Sesión 3: Modelos prescriptivos de proceso
PPTX
Sesión 3: Modelos prescriptivos de proceso de software
PPTX
Proceso Unificado
Proceso unificado de desarrollo de software
Introducción al proceso unificado de desarrollo de software en Curso de Anali...
UML APLICADO AL DISEÑO EN LA PLANIFICACION Y DESARROLLLO DE SOFTWARE .pdf
Unidad 4
El proceso unificado
5 Clase El Proceso Unificado Rational
SEMANA 5 DISEÑO DE SISTEMAS.pptx
Introduccion Proceso Unificado de desarrollo.ppt
2. el proceso unificado
Curso Uml 3.2 Proceso Unificado
Proceso Unificado de Modelado y Metodologias Agiles Nuevo (5).ppt
1. el proceso unificado
Presentacion de metodologia empleada en el proceso del desarrollo del software
2._El_proceso_unificado.ppt
Proceso unificado de desarrollo de software
3. modelos prescriptivos de proceso
Sesión 3: Modelos prescriptivos de proceso
Sesión 3: Modelos prescriptivos de proceso de software
Proceso Unificado
Publicidad

Último (20)

PDF
informe tipos de Informatica perfiles profesionales _pdf
PDF
MATERIAL DIDÁCTICO 2023 SELECCIÓN 1_REFORZAMIENTO 1° BIMESTRE.pdf
PPTX
MATEMATICAS GEOMETRICA USO TRANSPORTADOR
PDF
Telos 127 Generacion Al fa Beta - fundaciontelefonica
PDF
2.0 Introduccion a processing, y como obtenerlo
PDF
Como Potenciar las Emociones Positivas y Afrontar las Negativas Ccesa007.pdf
PPTX
BIZANCIO. EVOLUCIÓN HISTORICA, RAGOS POLÍTICOS, ECONOMICOS Y SOCIALES
PPTX
Clase 3 del silabo-gestion y control financiero
PDF
Teologia-Sistematica-Por-Lewis-Sperry-Chafer_060044.pdf
DOC
Manual de Convivencia 2025 actualizado a las normas vigentes
PDF
Los hombres son de Marte - Las mujeres de Venus Ccesa007.pdf
PDF
Manual del Gobierno Escolar -MINEDUC.pdf
PDF
Iniciación Al Aprendizaje Basado En Proyectos ABP Ccesa007.pdf
PDF
Ernst Cassirer - Antropologia Filosofica.pdf
PDF
Texto Digital Los Miserables - Victor Hugo Ccesa007.pdf
PDF
MODULO I ENFERMERIA BASICA.pdf HIstoria en enfermeria
DOC
4°_GRADO_-_SESIONES_DEL_11_AL_15_DE_AGOSTO.doc
PDF
Modelo Educativo SUB 2023versión final.pdf
DOCX
PLANES DE área ciencias naturales y aplicadas
PDF
Jodorowsky, Alejandro - Manual de Psicomagia.pdf
informe tipos de Informatica perfiles profesionales _pdf
MATERIAL DIDÁCTICO 2023 SELECCIÓN 1_REFORZAMIENTO 1° BIMESTRE.pdf
MATEMATICAS GEOMETRICA USO TRANSPORTADOR
Telos 127 Generacion Al fa Beta - fundaciontelefonica
2.0 Introduccion a processing, y como obtenerlo
Como Potenciar las Emociones Positivas y Afrontar las Negativas Ccesa007.pdf
BIZANCIO. EVOLUCIÓN HISTORICA, RAGOS POLÍTICOS, ECONOMICOS Y SOCIALES
Clase 3 del silabo-gestion y control financiero
Teologia-Sistematica-Por-Lewis-Sperry-Chafer_060044.pdf
Manual de Convivencia 2025 actualizado a las normas vigentes
Los hombres son de Marte - Las mujeres de Venus Ccesa007.pdf
Manual del Gobierno Escolar -MINEDUC.pdf
Iniciación Al Aprendizaje Basado En Proyectos ABP Ccesa007.pdf
Ernst Cassirer - Antropologia Filosofica.pdf
Texto Digital Los Miserables - Victor Hugo Ccesa007.pdf
MODULO I ENFERMERIA BASICA.pdf HIstoria en enfermeria
4°_GRADO_-_SESIONES_DEL_11_AL_15_DE_AGOSTO.doc
Modelo Educativo SUB 2023versión final.pdf
PLANES DE área ciencias naturales y aplicadas
Jodorowsky, Alejandro - Manual de Psicomagia.pdf
Publicidad

7.PUBLIC.WORKHOME,.................,.pdf

  • 1. PROCESO UNIFICADO INGENIERÍA DE SOFTWARE I 2º DE GRADO EN INGENIERÍA INFORMÁTICA CURSO 2017/2018 Francisco José García Peñalvo / fgarcia@usal.es Alicia García Holgado / aliciagh@usal.es Departamento de Informática y Automática Universidad de Salamanca
  • 2. 1. INTRODUCCIÓN Ingeniería de Software I - Proceso Unificado 2
  • 3. ORÍGENES Ingeniería de Software I - Proceso Unificado 3 Enfoque de Rational Otras fuentes Proceso Unificado de Rational 5.0 1998 Proceso Objectory de Rational 4.1 1996-1997 Proceso Objectory 1.0-3.8 1987-1995 Enfoque de Ericsson UML Enfoque de Rational Otras fuentes Proceso Unificado de Rational 5.0 1998 Proceso Objectory de Rational 4.1 1996-1997 Proceso Objectory 1.0-3.8 1987-1995 Enfoque de Ericsson UML Jacobson et al. Jacobson, Booch y Rumbaugh
  • 4. EVOLUCIÓN • En Febrero de 2003 IBM compró Rational y en 2006 creó una versión de RUP para procesos ágiles • Plataforma IBM Rational Method Composer V7.5.2 • Herramienta de creación y publicación de métodos basada en Eclipse • Incluye una biblioteca de procesos • Ofrece una guía de mejores prácticas para el desarrollo de software (RUP y procesos ágiles) • Open Unified Process fue donado en 2007 a la Fundación Eclipse • Eclipse Process Framework Project 1.5.1.8 • http://www.eclipse.org/epf/ Ingeniería de Software I - Proceso Unificado 4
  • 5. JUSTIFICACIÓN • Diferentes proyectos tienen diferentes necesidades de proceso • Diversos factores marcan las necesidades para un proceso más formal o más ágil • Tamaño del equipo • Localización geográfica • Complejidad de la arquitectura • Novedad de la tecnología • Cumplimiento de estándares • Etc. • No obstante, hay buenas prácticas en el desarrollo del software que benefician a cualquier proyecto • La idea de Proceso Unificado es aportar un conjunto mínimo de prácticas que ayudan a los equipos de desarrollo a ser más eficientes con independencia del tipo de proyecto Ingeniería de Software I - Proceso Unificado 5
  • 6. DEFINICIÓN El Proceso Unificado es más que un simple proceso (Jacobson et al., 1999), es un marco de trabajo genérico que puede especializarse para una gran variedad de sistemas software, para diferentes áreas de aplicación, diferentes tipos de organizaciones, diferentes niveles de aptitud y diferentes tamaños de proyectos Ingeniería de Software I - Proceso Unificado 6
  • 7. CARACTERÍSTICAS • Características generales • Está basado en componentes • Utiliza UML (Booch et al., 1999; OMG, 2003) • Características principales (Jacobson et al., 1999) • Es un proceso conducido por casos de uso • Está centrado en la arquitectura • Es iterativo e incremental Ingeniería de Software I - Proceso Unificado 7
  • 8. MARCO DE TRABAJO GENÉRICO • No existe un proceso universal • Puede extenderse y especializarse para una gran variedad de sistemas de software • Flexibilidad • Está basado en componentes • Permite gran variedad de estrategias de ciclo de vida • Se pueden definir diferentes conjuntos de productos • Se pueden definir actividades y encargados de las mismas Ingeniería de Software I - Proceso Unificado 8
  • 9. FUNDAMENTOS • Selecciona qué artefactos producir • Define actividades y stakeholders • Modela conceptos Ingeniería de Software I - Proceso Unificado 9 Describe un caso de uso Paquete de casos de uso Caso de uso Responsable de Analista Artefacto Actividad
  • 10. 2. CICLO DE VIDA DEL PROCESO UNIFICADO Ingeniería de Software I - Proceso Unificado 10 https://unsplash.com/search/spiral?photo=zcYRw547Dps
  • 11. CICLO DE VIDA • El Proceso Unificado se repite a lo largo de una serie de ciclos de desarrollo que constituyen la vida de un sistema • Cada ciclo de desarrollo concluye con una versión entregable del producto • Cada ciclo consta de cuatro fases • Inicio • Se define el alcance del proyecto y se desarrollan los casos de negocio • Elaboración • Se planifica el proyecto, se especifican en detalle la mayoría de los casos de uso y se diseña la arquitectura del sistema • Construcción • Se construye el producto • Transición • El producto se convierte en versión beta • Se corrigen problemas y se incorporan mejoras sugeridas en la revisión Ingeniería de Software I - Proceso Unificado 11 tiempo Inicio Elaboración Construcción Transición
  • 12. CICLO DE VIDA • Etapa de Ingeniería • Equipos pequeños, actividades poco predecibles (análisis, viabilidad, planificación) • Comprende las fases • Inicio • Elaboración • Etapa de Producción • Equipos grandes, actividades predecibles, menos riesgos (programación, pruebas) • Comprende las fases • Construcción • Transición 12 Ingeniería de Software I - Proceso Unificado
  • 13. CICLO DE VIDA • Dentro de cada fase se puede, a su vez, descomponer el trabajo en iteraciones con sus incrementos resultantes • Cada fase termina con un hito, cada uno de los cuales se caracteriza por la disponibilidad de un conjunto de componentes de software 13 Ingeniería de Software I - Proceso Unificado
  • 14. HITOS • Los hitos son puntos de control en los cuales los participantes en el proyecto revisan el progreso del proyecto • Se pretende • Controlar el progreso del proyecto • Sincronizar las expectativas y la realidad • Tomar decisiones para continuar con la siguiente fase • Identificar los riesgos • Se evalúa la situación global del proyecto • Se necesitan • Resultados tangibles para comparar con las expectativas • Varios niveles • Hitos principales al final de cada fase • Hitos secundarios final de cada iteración 14 Ingeniería de Software I - Proceso Unificado
  • 15. CICLO DE VIDA • Una iteración es una secuencia de actividades con un plan establecido y unos criterios de evaluación, cuyo resultado es una versión ejecutable no orientada a la entrega (hito secundario) • Dentro de cada fase se puede, a su vez, descomponer el trabajo en iteraciones con sus incrementos resultantes • Cada fase termina con un hito, cada uno de los cuales se caracteriza por la disponibilidad de un conjunto de componentes de software • Las iteraciones discurren a lo largo de las disciplinas Ingeniería de Software I - Proceso Unificado 15
  • 16. CICLO DE VIDA • Las disciplinas o flujos de trabajo organizan las actividades fundamentales de gestión y desarrollo del proyecto • Disciplinas de desarrollo • Requisitos, análisis, diseño, implementación, pruebas... • Disciplinas de gestión o soporte • Gestión de proyecto, gestión de configuraciones, entorno, evaluación... • Al contrario de lo que ocurre con las fases, las distintas actividades del equipo de desarrollo se pueden solapar en el tiempo Ingeniería de Software I - Proceso Unificado 16
  • 17. CICLO DE VIDA Ingeniería de Software I - Proceso Unificado 17 Cada ciclo concluye con una versión del producto para los clientes tiempo tiempo Vista Vista Línea base de arquitectura Línea base de arquitectura Capacidad inicial Capacidad inicial Versión del producto Versión del producto Inicio Elaboración Construcción Transición Versión Versión Versión Versión Versión Versión Versión Versión Versión Versión Versión Versión Versión Versión Arqu. Iteración ... Des. Iteración Des. Iteración ... Trans. Iteración ... Prelim Iteración ... Inicio Elaboración Construcción Transición Arqu. Iteración ... Des. Iteración Des. Iteración ... Trans. Iteración ... Prelim Iteración ... Inicio Elaboración Construcción Transición
  • 18. CICLO DE VIDA 18 Ingeniería de Software I - Proceso Unificado https://es.wikipedia.org/wiki/OpenUP#/media/File:Ciclo_de_Vida_OpenUP.png
  • 19. 3. EL PRODUCTO Ingeniería de Software I - Proceso Unificado 19 https://visualhunt.com/f/photo/4294686346/fa10e0e9c7/
  • 20. PRODUCTO • El producto que se obtiene es un sistema de software • El sistema lo componen todos los “artefactos” necesarios para representarlo de forma comprensible • Artefacto • Término general para cualquier tipo de información creada, producida, cambiada o utilizada por los stakeholders en el desarrollo del sistema. Puede ser • De ingeniería • De gestión • El artefacto más importante del Proceso Unificado es el modelo • Un sistema posee una colección de modelos y las relaciones entre ellos 20 Ingeniería de Software I - Proceso Unificado
  • 21. PRODUCTO Los modelos recogen diferentes perspectivas del sistema (perspectivas de todos los stakeholders) 21 Un modelo es una abstracción semánticamente cerrada del sistema Sistema Arquitecto Usuarios Analistas Jefe de proyecto Ingenieros de pruebas Diseñadores Ingeniería de Software I - Proceso Unificado
  • 22. PRODUCTO Modelos • Modelo de casos de uso • Diagramas de casos de uso, secuencia, colaboración y actividad • Modelos de análisis y diseño • Diagramas de clases, objetos, secuencia, colaboración y actividad • Modelo de despliegue • Diagramas despliegue, secuencia y colaboración • Modelo de implementación • Diagramas de componentes, secuencia y colaboración • Modelo de pruebas • Todos los diagramas 22 Ingeniería de Software I - Proceso Unificado
  • 23. PRODUCTO Existen dependencias entre el modelo de casos de uso y los demás modelos 23 Modelo de casos de uso Modelo de diseño Modelo de despliegue Modelo de pruebas Modelo de implementación Modelo de Análisis Ingeniería de Software I - Proceso Unificado
  • 24. 4. EL PROCESO Ingeniería de Software I - Proceso Unificado 24 Photo credit: kel0 via Visual hunt / CC BY-NC-SA https://www.flickr.com/photos/kel0/7123959465
  • 25. PROCESO • El proceso hace referencia a un contexto que sirve como plantilla que pueda reutilizarse para crear instancias de ella (proyectos) • Las actividades relacionadas conforman disciplinas o flujos de trabajo • Su identificación parte de la identificación de los stakeholders y de los artefactos para cada tipo de stakeholder • Describen como fluye el proceso a través de los stakeholders Ingeniería de Software I - Proceso Unificado 25
  • 26. CARACTERÍSTICAS PRINCIPALES DEL PROCESO Conducido por casos de uso • Los casos de usos guían el desarrollo del sistema • Como los casos de uso contienen las descripciones de las funciones, afectan a todas las fases y vistas Centrado en la arquitectura • La arquitectura se representa mediante vistas del modelo • Se puede tomar como arquitectura de referencia el denominado modelo de arquitectura de 4+1 vistas propuesto por Philippe Kruchten (1995) Iterativo e Incremental • En cada iteración se identifican y especifican los casos de uso relevantes, se crea un diseño basado en la arquitectura seleccionada, se implementa el diseño mediante componentes y se verifica que los componentes satisfacen los casos de uso • Si una iteración cumple con sus objetivos se pasa a la siguiente • En cada iteración se va desarrollando el sistema de forma incremental 26 Ingeniería de Software I - Proceso Unificado
  • 27. PROCESO DIRIGIDO POR CASOS DE USO Dirigen las actividades de desarrollo • Creación y validación de la arquitectura del sistema • Definición de casos de prueba y procedimientos • Planificación de iteraciones • Creación de documentación de usuario • Despliegue del sistema Sincronizan el contenido de los diferentes modelos 27 Requisitos Implemen- tación Prueba Los casos de uso enlazan las disciplinas Análisis Diseño Ingeniería de Software I - Proceso Unificado
  • 28. PROCESO DIRIGIDO POR CASOS DE USO • Inicialmente los casos de uso se utilizan para la captura de requisitos funcionales • Durante el análisis y el diseño se transforma el modelo de casos de uso mediante un modelo de análisis en una estructura de clasificadores y realizaciones de casos de uso • En cada iteración, los casos de uso sirven de guía a través del conjunto completo de disciplinas 28 Modelo de casos de uso Modelo de análisis Modelo de diseño <<trace>> <<trace>> Ingeniería de Software I - Proceso Unificado
  • 29. PROCESO CENTRADO EN LA ARQUITECTURA • Se puede tomar como arquitectura de referencia el denominado modelo de arquitectura de 4+1 vistas, propuesto por Philippe Kruchten (1995) • Cada vista es una parte de un modelo 29 Vista lógica Vista de implementación Vista de procesos Componentes Componentes Clases, interfaces, colaboraciones Clases, interfaces, colaboraciones Clases activas Clases activas Vista de despliegue Nodos Nodos Vista de Casos de uso Vista de Casos de uso Casos de uso Casos de uso Ingeniería de Software I - Proceso Unificado
  • 30. PROCESO CENTRADO EN LA ARQUITECTURA Centrado en la arquitectura: diferentes vistas del sistema 30 Relación entre los flujos de trabajo y los modelos que forman la arquitectura Requisitos Diseño Implementación Prueba Análisis Modelo de casos de uso Modelo de análisis Modelo de diseño Modelo de despliegue Modelo de implementación Modelo de puebas Requisitos Diseño Implementación Prueba Análisis Modelo de casos de uso Modelo de análisis Modelo de diseño Modelo de despliegue Modelo de implementación Modelo de puebas Ingeniería de Software I - Proceso Unificado
  • 31. PROCESO CENTRADO EN LA ARQUITECTURA Centrado en la arquitectura: diferentes vistas del sistema • Los modelos son los vehículos para visualizar, especificar, construir y documentar la arquitectura • El Proceso Unificado prescribe los sucesivos refinamientos de una arquitectura ejecutable 31 tiempo Arquitectura Inicio Elaboración Construcción Transición Ingeniería de Software I - Proceso Unificado
  • 32. PROCESO CENTRADO EN LA ARQUITECTURA Diseño de la arquitectura • Seleccionar escenarios: aspectos críticos y riesgos • Identificar las clases principales y sus responsabilidades • Distribuir el comportamiento en clases • Estructurar en subsistemas, capas y definir interfaces • Definir distribución y concurrencia • Implementar prototipos de arquitectura • Derivar casos de prueba a partir de los casos de uso • Evaluar la arquitectura Iterar La arquitectura se desarrolla mediante iteraciones (en capas) • Comienza con una línea base de arquitectura (primera versión de los modelos) • La línea base evoluciona hasta convertirse en un sistema estable 32 Ingeniería de Software I - Proceso Unificado
  • 33. PROCESO CENTRADO EN LA ARQUITECTURA Diseño de la arquitectura 33 Capa específica de la aplicación Capa general de la aplicación Capa intermedia Capa de software del sistema Patrón de capas de la arquitectura del sistema Ingeniería de Software I - Proceso Unificado
  • 34. PROCESO CENTRADO EN LA ARQUITECTURA Diseño de la arquitectura 34 Capa específica de la aplicación Capa general de la aplicación Capa intermedia Capa de software del sistema Gestión de facturas de comprador Gestión de planificación de pagos Gestión de cuentas Java.applet Java.awt Java.rmi Máquina virtual Java Navegador de Internet TCP/IP Ingeniería de Software I - Proceso Unificado
  • 35. PROCESO ITERATIVO E INCREMENTAL La característica fundamental del Proceso Unificado es ser un proceso iterativo • Se basa en la ampliación y el refinamiento del sistema • Una serie de desarrollos cortos (mini proyectos de 2 a 6 semanas, cada iteración reproduce el ciclo de vida a menor escala) • No solo se mejora sino que el sistema también crece: proceso iterativo e incremental 35 Tiempo Funcionalidad del sistema Análisis Diseño Implementación Prueba Incremento1 Análisis Diseño Implementación Prueba Incremento2 Ingeniería de Software I - Proceso Unificado
  • 36. PROCESO ITERATIVO E INCREMENTAL • El resultado de cada iteración es un sistema ejecutable (aunque sea incompleto y no esté listo para su instalación) • Un sistema instalable requiere varias iteraciones • Evolución de prototipos ejecutables • Los objetivos de una iteración se establecen en función de la evaluación de las iteraciones precedentes • Concepto de time-boxing • Cada iteración debe tener una duración fija (normalmente se mide en semanas) • En lugar de retrasar el final de una iteración se recomienda eliminar algunos de los requisitos (se dejan para la siguiente iteración) • La realimentación del usuario es fundamental en este proceso • El progreso es visible 36 Ingeniería de Software I - Proceso Unificado
  • 37. PROCESO ITERATIVO E INCREMENTAL Fases • Es preciso diferenciar temporalmente las fases del ciclo de vida • La división temporal necesita puntos de control Puntos de control o hitos • Separan las etapas, las fases, las iteraciones Disciplinas o Flujos de trabajo • Organizan las actividades fundamentales de gestión y desarrollo • Se pueden solapar en el tiempo • El resultado de las actividades de los flujos de trabajo son los artefactos Artefactos • Cualquier tipo de información producida por los desarrolladores de un sistema (diagramas UML, código, ejecutables, casos de prueba...) • Se construyen de forma incremental 37 Ingeniería de Software I - Proceso Unificado
  • 38. PROCESO ITERATIVO E INCREMENTAL • El Proceso Unificado propone una serie de ciclos de desarrollo • Hay que separar claramente la etapa de Ingeniería de la etapa de Producción • Cada una de las dos grandes etapas se dividen en fases • Las fases se dividen en iteraciones 38 iteración fase Ciclo de desarrollo Etapa de Ingeniería Etapa de Producción Ingeniería de Software I - Proceso Unificado
  • 39. PROCESO ITERATIVO E INCREMENTAL 39 Etapa de Ingeniería Etapa de Producción Visión Arquitectura Versiones Beta Productos Inicio Elaboración Construcción Transición Iteratividad Ingeniería de Software I - Proceso Unificado
  • 40. PROCESO ITERATIVO E INCREMENTAL Inicio Elaboración Construcción Transición Etapa de Ingeniería Etapa de producción Requisitos Diseño Implementación Instalación Gestión Requisitos Diseño Implementación Instalación Gestión Requisitos Diseño Implementación Instalación Gestión Requisitos Diseño Implementación Instalación Gestión Visión Arquitectura Versiones Beta Productos Visión Arquitectura Versiones Beta Productos 40 Incremental Ingeniería de Software I - Proceso Unificado
  • 41. ORGANIZACIÓN DEL TRABAJO Ingeniería de Software I - Proceso Unificado 41 https://upload.wikimedia.org/wikipedia/commons/b/bc/Es_three_layers.jpg
  • 42. PATRONES DE CAPACIDAD • El método de Proceso Unificado se crea de forma separada a su aplicación en procesos • Los métodos ofrecen explicaciones paso a paso para describir cómo se consiguen los objetivos específicos de desarrollo independientemente de su ubicación en un ciclo de desarrollo concreto • Los procesos toman estos métodos y los relacionan en secuencias semi-ordenadas que se personalizan para los proyectos concretos • Los elementos de los métodos se organizan en piezas reutilizables que se denominan patrones de capacidad (capability patterns) que ofrecen una aproximación consistente de desarrollo a las necesidades comunes de los proyectos software Ingeniería de Software I - Proceso Unificado 42
  • 43. PATRONES DE CAPACIDAD Ingeniería de Software I - Proceso Unificado 43
  • 44. PATRONES DE CAPACIDAD Ingeniería de Software I - Proceso Unificado 44 Develop Solution Increment
  • 45. PROCESO DE ENTREGA • Cuando se culmina una iteración por los patrones de capacidad (lo cual puede hacer tantas veces como se planifique) se cierra un ciclo de desarrollo y se da lugar a un proceso de entrega Ingeniería de Software I - Proceso Unificado 45
  • 46. BIBLIOGRAFÍA • F. J. García-Peñalvo y A. García-Holgado, "Introducción al Proceso Unificado," Recursos docentes de la asignatura Ingeniería de Software I. Grado en Ingeniería Informática. Curso 2017-2018, F. J. García-Peñalvo y A. García-Holgado, Eds., Salamanca, España: Grupo GRIAL, Universidad de Salamanca, 2018. [Online]. Disponible en: https://goo.gl/ikvtYC. doi: 10.5281/zenodo.1181693 Ingeniería de Software I - Proceso Unificado 46
  • 47. PROCESO UNIFICADO INGENIERÍA DE SOFTWARE I 2º DE GRADO EN INGENIERÍA INFORMÁTICA CURSO 2017/2018 Francisco José García Peñalvo / fgarcia@usal.es Alicia García Holgado / aliciagh@usal.es Departamento de Informática y Automática Universidad de Salamanca