SlideShare una empresa de Scribd logo
1 de 97
Descargar para leer sin conexión
Seminario de Proceso Unificado
de Desarrollo – Introducción
General
Presentación
Rodrigo Cerón
Popayán, febrero de 2024
Universidad del Cauca
Departamento de Telemática
07/02/2024 Énfasis en Ingeniería Telemática
Contenido
 Antecedentes
 Objetivos
 Características
 Organización
 Por Componentes
 En el tiempo
 Componentes y Modelos
07/02/2024 Énfasis en Ingeniería Telemática
Antecedentes
 Desarrollado originalmente por Jacobson
Centrado alrededor de Casos de Uso
Orientado a Objetos: Objectory
+ Rational Approach: Kruchten, Booch, Royce
Proceso iterativo
Centrado en la arquitectura del software
+ Metodología OMT propuesta por Rumbaugh
+ SQA Process: Metodología de pruebas
+ Requirements College: Gestión de requisitos
07/02/2024 Énfasis en Ingeniería Telemática
Objetivos
 Proceso de ingeniería de software que
busca
 Asegurar la producción de software de alta
calidad
 Satisfaciendo las necesidades del cliente
 Con un plan y presupuesto predecibles
07/02/2024 Énfasis en Ingeniería Telemática
Modelo de Desarrollo en Espiral
0
Objetivos,
Alternativas,
Restricciones
1
Evaluación de
Alternativas,
Ident. y
Resol. de
Riesgos
2
3
Desarrollo del
Producto
Planeación
Siguiente
Fase
07/02/2024 Énfasis en Ingeniería Telemática
Características
 Iterativo. Refinamiento sucesivo
 Controlado. Gestión de requisitos y control de cambios
 Construcción de modelos
 Centrado en la arquitectura.
 Desarrollo de software basado en componentes
 Conducido por los Casos de Uso
 Soporta técnicas OO. Uso del UML
 Configurable
 Fomento al control de calidad
 Soportado por herramientas
07/02/2024 Énfasis en Ingeniería Telemática
Modelo del Ciclo de Vida
Tiempo
Requisitos
Diseño
Implem.
Pruebas
Cascada
Iterativo
Análisis
R
A
I
P
D
R
A
I
P
D
R
A
I
P
D
07/02/2024 Énfasis en Ingeniería Telemática
Proceso unificado de desarrollo
07/02/2024
Organización por Organización en el tiempo
COMPONENTES DE SOPORTE
COMPONENTES DEL PROCESO
Iteraciones
Inicial
DefiniciónElaborac. Construcción Transición
Elab.
#1
Elab.
#2
Const.
#1
Const.
#2
Const.
#N
Trans.
#1
Trans.
#2
FASES
Componentes
Captura de Requisitos
Análisis
Diseño
Implementación
Pruebas
Puesta en Servicio
Modelado de la Organización
Gestión de Configuración y Cambios
Gestión del Proyecto
Entorno
Hitos
Énfasis en Ingeniería Telemática
Organización por Componentes
 Agrupan las actividades de acuerdo a su
naturaleza
 Representan la estructura del Proceso.
 Expresados en términos de:
Flujos de trabajo y
actividades
Artefactos
Trabajadores
07/02/2024 Énfasis en Ingeniería Telemática
Énfasis en Ingeniería Telemática
COMPONENTES DEL PROCESO DefiniciónElaborac. Construcción Transición
FASES
Captura de Requisitos
Análisis
Diseño
Implementación
Pruebas
Puesta en Servicio
Modelado de la Organización
Organización por Componentes
 Flujos de trabajo del proceso
 Modelado de la Organización: ¿Cuál es el problema?
 Captura de Requisitos: ¿Qué hace el sistema?
 Análisis: ¿Cómo funciona?
 Diseño: ¿Cómo se construye?
 Implementación: Archivos
 Pruebas
 Puesta en Servicio
07/02/2024 Énfasis en Ingeniería Telemática
Organización por Componentes
Componentes de soporte
 Gestión de Configuración y Cambios
 Gestión del Proyecto
 Entorno (de desarrollo)
07/02/2024
COMPONENTES DE SOPORTE
DefiniciónElaborac. Construcción Transición
Gestión de Configuración y Cambios
Gestión del Proyecto
Entorno
Énfasis en Ingeniería Telemática
Organización en el tiempo
 Describe los aspectos del ciclo de vida,
tal como se irán presentando.
 Representa la dinámica del Proceso.
 Expresada en términos de
 Ciclos, Fases, Iteraciones, Hitos.
 Ciclo: Desarrollo de una nueva versión
del producto
07/02/2024 Énfasis en Ingeniería Telemática
Fase
Iteración
Hito
Organización en el tiempo
Fases:
 Definición  Objetivos y plan
 Elaboración  Arquitectura
 Construcción  Producto
 Transición  Satisfacción del usuario
R
A&D
I
P
R
A&D
I
P
R
A&D
I
P
07/02/2024 Énfasis en Ingeniería Telemática
Organización en el tiempo
Cada Fase termina en un Hito y puede
estar dividida en Iteraciones.
Hito: Punto de control. Permiten a la
gestión evaluar el progreso.
Iteración: Unidad de desarrollo del
producto. Recorre los componentes de
manera total o parcial.
Las Fases/Iteraciones determinan el
énfasis de los Componentes
07/02/2024 Énfasis en Ingeniería Telemática
Componentes del Proceso y
Modelos
Captura de
Requisitos
Diseño
Implemen-
tación
Pruebas
Componentes del Proceso
Modelo de
Casos de Uso
Modelo de
Diseño
Modelo de
Implementac.
Modelo de
Pruebas
Código Objeto
OK
OK
Falla
Implementado
por
Realizado por
Verificado por
Modelado
Organizac.
Modelo de la
Organización
Análisis
Modelo de
Análisis
Realizado por
Modelos
07/02/2024 Énfasis en Ingeniería Telemática
Modelo de la Organización
Lector Prestar Libro
Modelo de Casos
de Uso de la
Organización
:Catálogo
:TarjetaLector :Libro
:Lector
:Director
:Monitor
Modelo de
Objetos de la
Organización
07/02/2024 Énfasis en Ingeniería Telemática
Modelo de Casos de Uso
:Perfil :Cuenta :Crédito
:Cliente
:Analista
:Asistente
Modelo de Objetos
de la Organización
Gestionar Préstamo
Más descripción
Cliente Solicitar Préstamo
Analista
Estudiar Préstamo
Control Acceso
07/02/2024 Énfasis en Ingeniería Telemática
Modelo de Análisis
Usuarios
Analista
CtrlAcceso
IU_Acceso
IU_Menu
Control Acceso
Analista
Vista de Casos de Uso
Diagrama de Clases de Análisis
07/02/2024 Énfasis en Ingeniería Telemática
Vista Lógica
EnProceso
constructor()
Circulando
Prestado Reservado
Disponible
Prestado Reservado
prestar()
Disponible
retirar()
destructor()
exponer()
devolver()
borrarReserva()
reservar()
prestar()
GestionEjempl
eliminarIEjempl()
crearEjempl()
ejemplAEstante()
ejemplATaller()
GestionReserva
consultarEjempl()
reservarEjempl()
borrarReserva()
GestionPréstamo
prestarEjempl()
devolverEjempl()
Ejemplar
codigo: Integer
cantidad: Integer
estado: Integer
exponer()
reservar()
borrarReserva()
prestar()
devolver()
retirar()
reponer()
: Monitor
: IU_Inicio : Gestión
Monitor
: Tarjeta
Monitor
: IU_MenuPpal
1: Activa
3: DiálogoID_Clave
Ingresa ID
y Clave
5: validarAcceso( ID, Clave)
6: buscarCódigo( ID)
7: leerContraseña( )
8: Activa
9: MenuMonitor
4: BotonAceptarClick( )
2: Activa
Interfaces
Gestión
Base de
Datos
07/02/2024 Énfasis en Ingeniería Telemática
Modelo de Diseño
Extensión para Aplicaciones Web
PC_Bienv
«links»
PC_Reg
Frm_Reg PS_PrReg
«submits»
PC_Conf
«builds»
«query»
AccBD
07/02/2024 Énfasis en Ingeniería Telemática
Seminario de Proceso Unificado
de Desarrollo - fase de Definición
(Gestación)
Presentación
Rodrigo Cerón
Universidad del Cauca
Departamento de Telemática
Popayán, febrero de 2024
07/02/2024 Énfasis en Ingeniería Telemática
Contenido
 Descripción general de la fase
 Preparación de la fase
 Un ejemplo de fase típica
 Ejecución de los componentes de
proceso
 Evaluación y plan para la fase de
elaboración
 Documentación de la fase
07/02/2024 Énfasis en Ingeniería Telemática
Ubicación de la fase
Organización por Organización en el tiempo
COMPONENTES DE SOPORTE
COMPONENTES DEL PROCESO
Iteraciones
Inicial
DefiniciónElaborac. Construcción Transición
Elab.
#1
Elab.
#2
Const.
#1
Const.
#2
Const.
#N
Trans.
#1
Trans.
#2
FASES
Componentes
Captura de Requisitos
Análisis
Diseño
Implementación
Pruebas
Puesta en Servicio
Modelado de la Organización
Gestión de Configuración y Cambios
Gestión del Proyecto
Entorno
Hitos
07/02/2024 Énfasis en Ingeniería Telemática
Descripción general de la fase
 Poner en marcha el proyecto
 Recopilación de objetivos, definir la
arquitectura del sistema, desarrollo del
modelo de negocio.
 Delimitación del problema a resolver,
estudio de riesgos y análisis de la
organización.
 Definición de “arquitectura candidata”
07/02/2024 Énfasis en Ingeniería Telemática
Contenido
 Descripción general de la fase
 Preparación de la fase
 Un ejemplo de fase típica
 Ejecución de los componentes de
proceso
 Evaluación y plan para la fase de
elaboración
 Documentación de la fase
07/02/2024 Énfasis en Ingeniería Telemática
Preparación de la fase
 Conocer algo sobre la organización que
necesita el desarrollo
 Planificación de la fase de definición
(Recopilación de información,
organización, utilización y descubrir
carencias)
 Ampliación de la descripción del sistema
 Establecimiento de criterios de
evaluación
07/02/2024 Énfasis en Ingeniería Telemática
Criterios de evaluación
 Ámbito del sistema
 Ambigüedad en los requisitos de esta
fase
 Arquitectura candidata
 Riesgos críticos
07/02/2024 Énfasis en Ingeniería Telemática
Contenido
 Descripción general de la fase
 Preparación de la fase
 Un ejemplo de fase típica
 Ejecución de los componentes de
proceso
 Evaluación y plan para la fase de
elaboración
 Documentación de la fase
07/02/2024 Énfasis en Ingeniería Telemática
Componentes de Proceso – Fase
de Definición
Requisitos Análisis Diseño Implementación Prueba
Recursos
Componentes
de
proceso
Planificación de
la iteración
Evaluación de
la iteración
07/02/2024 Énfasis en Ingeniería Telemática
Fase de Definición en general
 Trabajo principal en requisitos
 Modelo de Análisis inicial
 Prototipo exploratorio cuando sea el
caso
 Descripción de la arquitectura candidata
 Ajuste del proyecto al entorno de
desarrollo
 Identificación de riesgos críticos
07/02/2024 Énfasis en Ingeniería Telemática
Contenido
 Descripción general de la fase
 Preparación de la fase
 Un ejemplo de fase típica
 Ejecución de los componentes de
proceso
 Evaluación y plan para la fase de
elaboración
 Documentación de la fase
07/02/2024 Énfasis en Ingeniería Telemática
El proceso unificado de desarrollo
Diseñador
GUI
Arquitecto
Ingeniero
de caso de uso
Ingeniero
de componentes
Especificador
de caso de uso
Analista de
sistema
Ingeniero de
pruebas de
sistema
Ingeniero de
pruebas de
integración
Integrador
de sistemas
Ingeniero de
pruebas
Diseñar la
arquitectura
Diseñar
una clase
Diseñar un
caso de uso
Diseñar un
subsistema
Diseño
Encontrar actores
y casos de uso
Ordenar los
casos de uso
Detallar caso
de uso
Estructurar el
modelo de casos
de uso
Construir
prototipo de la
GUI
Requisitos
Análisis de la
arquitectura
Analizar un
caso de uso
Analizar
una clase
Analizar
un paquete
Análisis
Implementación
de la arquitectura
Implementar
un subsistema
Implementar una
clase
Prueba
unidad
Implementación
Integrar
sistema
Implementar
pruebas
Probar
sistema
Probar
integración
Planificar
pruebas
Diseñar
pruebas
Evaluar
pruebas
Pruebas
07/02/2024 Énfasis en Ingeniería Telemática
Actividades Fase de Definición
Diseñador
GUI
Arquitecto
Ingeniero
de caso de uso
Ingeniero
de componentes
Especificador
de caso de uso
Analista de
sistema
Ingeniero de
pruebas de
sistema
Ingeniero de
pruebas de
integración
Integrador
de sistemas
Ingeniero de
pruebas
Diseñar
una clase
Diseñar un
caso de uso
Diseñar un
subsistema
Diseño
Estructurar el
modelo de casos
de uso
Construir
prototipo de la
GUI
Requisitos
Analizar
una clase
Analizar
un paquete
Análisis
Implementación
de la arquitectura
Implementar
un subsistema
Implementar una
clase
Prueba
unidad
Implementación
Integrar
sistema
Implementar
pruebas
Probar
sistema
Probar
integración
Planificar
pruebas
Diseñar
pruebas
Evaluar
pruebas
Pruebas
Definir la arquitectura
candidata
Definir el ámbito
del sistema
Encontrar actores
y casos de uso
Ordenar los
casos de uso
Análisis de la
arquitectura
Diseñar la
arquitectura
Analizar un
caso de uso
Detallar caso
de uso
07/02/2024 Énfasis en Ingeniería Telemática
Recopilación de Requisitos
Identificar y detallar los casos de uso
pertinentes
 Enumerar los requisitos a figurar
 Comprender el contexto del sistema
 Representar los requisitos funcionales
como casos de uso
 Recoger los requisitos no funcionales
07/02/2024 Énfasis en Ingeniería Telemática
Representación de requisitos como
casos de uso
Trabajo principal en:
 Encontrar actores y casos de uso
 Ordenar los casos de uso (dar prioridad)
 Detallar casos de uso
Poco trabajo en:
 Construir prototipo de GUI
 Estructurar el modelo de casos de uso
07/02/2024 Énfasis en Ingeniería Telemática
Captura de requisitos como casos
de uso
Analista de
sistemas
Actor
Glosario
Modelo de
Casos de uso
Especificador
de casos de uso
Casos de uso
Diseñador
de interfaz de usuario
Prototipo de interfaz
de usuario
Arquitecto
Descripción de
la arquitectura
07/02/2024 Énfasis en Ingeniería Telemática
Analista de
sistemas
Actor
Glosario
Modelo de
Casos de uso
Especificador
de casos de uso
Casos de uso
Diseñador
de interfaz de usuario
Prototipo de interfaz
de usuario
Arquitecto
Descripción de
la arquitectura
Análisis
Trabajo principal en:
 Análisis de la arquitectura
 Analizar un caso de uso
Poco trabajo en:
 Analizar una clase
 Analizar un paquete
07/02/2024 Énfasis en Ingeniería Telemática
Análisis
Arquitecto
Modelo de
análisis
Glosario
Especificador
de casos de uso
Realización de
caso de uso - Análisis
Ingeniero de
componentes
Clase de Análisis
Paquete del
análisis
07/02/2024 Énfasis en Ingeniería Telemática
Arquitecto
Modelo de
análisis
Glosario
Especificador
de casos de uso
Realización de
caso de uso - Análisis
Ingeniero de
componentes
Clase de Análisis
Paquete del
análisis
Diseño
Trabajo principal en:
 Diseño de la arquitectura
Poco trabajo en:
 Diseñar un caso de uso
Trabajo mínimo en:
 Diseñar una clase
 Diseñar un subsistema
07/02/2024 Énfasis en Ingeniería Telemática
Diseño
Arquitecto
Modelo
de diseño
Modelo
de despliegue
Descripción de
la arquitectura
Ingeniero de
casos de uso
Realización de
caso de uso – diseño
Ingeniero de
componentes
Clases
del Diseño
Subsistema
de diseño
Interfaz
07/02/2024 Énfasis en Ingeniería Telemática
Arquitecto
Modelo
de diseño
Modelo
de despliegue
Descripción de
la arquitectura
Ingeniero de
casos de uso
Realización de
caso de uso – diseño
Ingeniero de
componentes
Clases
del Diseño
Subsistema
de diseño
Interfaz
Implementación
Poco trabajo en:
 Implementación de la arquitectura
Trabajo mínimo en:
 Integrar sistema
 Implementar un subsistema
 Implementar una clase
 Realizar pruebas de unidad
07/02/2024 Énfasis en Ingeniería Telemática
Implementación
Arquitecto
Modelo de
implementación
Descripción de
la arquitectura
Modelo de
despliegue
Integrador
de sistema
Integración del
sistema
Ingeniero de
componentes
Componente
Implementación de
subsistema
Interfaz
07/02/2024 Énfasis en Ingeniería Telemática
Arquitecto
Modelo de
implementación
Descripción de
la arquitectura
Modelo de
despliegue
Integrador
de sistema
Integración del
sistema
Ingeniero de
componentes
Componente
Implementación de
subsistema
Interfaz
Contenido
 Descripción general de la fase
 Preparación de la fase
 Un ejemplo de fase típica
 Ejecución de los componentes de
proceso
 Evaluación y plan para la fase de
elaboración
 Documentación de la fase
07/02/2024 Énfasis en Ingeniería Telemática
Evaluación de la fase de definición
 Criterios establecidos al inicio de la fase
 Criterios no alcanzables:
 Ampliación de los casos de uso
 Desarrollo de prototipo de demostración
 No encontrar los riesgos críticos
 Plan de emergencia de los riesgos críticos
07/02/2024 Énfasis en Ingeniería Telemática
Planificación de la fase de
elaboración
Modelo de
organización
Casos de uso
identificados
Casos de uso
descritos
Casos de uso
analizados
Casos de uso
diseñados,
implementados
y probados
Fase de
Definición
50-70% 50% 10% 5%
Un pequeño
porcentaje para
el prototipo
Fase de
Elaboración Casi el 100% 80% o más 40-80% 20%-40% Menos del 10%
Fase de
Construcción 100% 100% 100% 100% si se
mantienen 100%
07/02/2024 Énfasis en Ingeniería Telemática
Contenido
 Descripción general de la fase
 Preparación de la fase
 Un ejemplo de fase típica
 Ejecución de los componentes de
proceso
 Evaluación y plan para la fase de
elaboración
 Documentación de la fase
07/02/2024 Énfasis en Ingeniería Telemática
Documentación de la fase
 Lista de características
 Modelo de negocio u organización
(primera versión)
 Modelos de casos de uso, modelo de
análisis y modelo de diseño (primera
versión)
 Descripción de la arquitectura candidata,
vistas de casos de uso, análisis, diseño
e implementación
07/02/2024 Énfasis en Ingeniería Telemática
Documentación de la fase
 Prototipo exploratorio (opcional)
 Lista de riesgos, clasificación de los
casos de uso (inicial)
 Plan de proyecto (inicial), plan general
de las fases (inicial)
 Características económicas
relacionadas con el proyecto.
07/02/2024 Énfasis en Ingeniería Telemática
Apuntes sobre el modelo de
análisis
Popayán, febrero de 2024
07/02/2024 Énfasis en Ingeniería Telemática
Vista de
Componentes
(Implementación)
Vista Lógica
Vista de Procesos
(Concurrencia)
Vista de Implantación
(Despliegue)
Vista de
Casos de Uso
Vocabulario
Funcionalidad
Ensamblado del sistema
Gestión de la configuración
Funcionamiento
Crecimiento
Rendimiento
Topología
Distribución
Entrega
Instalación
07/02/2024 Énfasis en Ingeniería Telemática
Vista Lógica
 Muestra el diseño de la funcionalidad del
sistema: Estructura y Comportamiento
 Para equipos de diseño y desarrollo
 Descripción de estructura:
 Diagramas de clases y de objetos
 Descripción de comportamiento:
 Diagramas de secuencia, colaboración,
estado y actividades
07/02/2024 Énfasis en Ingeniería Telemática
Vista Lógica
: Monitor
: IU_Inicio : Gestión
Monitor
: Tarjeta
Monitor
: IU_MenuPpal
1: Activa
3: DiálogoID_Clave
Ingresa ID
y Clave
5: validarAcceso( ID, Clave) 6: buscarCódigo( ID)
7: leerContraseña( )
8: Activa
9: MenuMonitor
4: BotonAceptarClick( )
2: Activa
GestionEjempl
eliminarIEjempl()
crearEjempl()
ejemplAEstante()
ejemplATaller()
GestionReserva
consultarEjempl()
reservarEjempl()
borrarReserva()
GestionPréstamo
prestarEjempl()
devolverEjempl()
Ejemplar
codigo: Integer
cantidad: Integer
estado: Integer
exponer()
reservar()
borrarReserva()
prestar()
devolver()
retirar()
reponer()
Interfaces
Gestión
Base de
Datos
EnProceso
constructor()
Circulando
Prestado Reservado
Disponible
Prestado Reservado
prestar()
Disponible
retirar()
destructor()
exponer()
devolver()
borrarReserva()
reservar()
prestar()
07/02/2024 Énfasis en Ingeniería Telemática
Fase de Definición
Modelo de Casos
de Uso
Para qué (y a quién)
sirve el sistema?
Modelo de la
Organización
Cuál es el problema?
07/02/2024 Énfasis en Ingeniería Telemática
Modelo de
Análisis
Cómo funciona el
sistema?
Modelo de Casos
de Uso
Para qué (y a quién)
sirve el sistema?
Análisis del Software
07/02/2024 Énfasis en Ingeniería Telemática
Modelo de casos de uso
Lector
SI_Admnistrativo Consultar
Multas
Control Acceso
Hacer Consulta
Director
Hacer Reserva
<<extend>>
Borrar Reserva
Prestar Item
<<include>>
Registrar Nuevo
Lector
Monitor
Lector hace reserva
Gestionar Monitores
Usuario
Lector
Lector
SI_Admnistrativo Consultar
Multas
SI_Admnistrativo Consultar
Multas
Control Acceso
Hacer Consulta
Director
Hacer Reserva
<<extend>>
Borrar Reserva
Prestar Item
<<include>>
Registrar Nuevo
Lector
Monitor
Lector hace reserva
Gestionar Monitores
Usuario
Control Acceso
Control Acceso
Hacer Consulta
Director
Director
Hacer Reserva
<<extend>>
Borrar Reserva
Prestar Item
Prestar Item
<<include>>
Registrar Nuevo
Lector
Monitor
Lector hace reserva
Gestionar Monitores
Usuario
Usuario
Más descripción
07/02/2024 Énfasis en Ingeniería Telemática
Caso de uso de alto nivel
 Caso de uso: Hacer Reserva
 Actores: Monitor (iniciador)
 Tipo: Primario
 Descripción:
 El Monitor solicita al sistema reservar un ítem
solicitado por un Lector.
 El sistema verifica la información del ítem y del
Lector.
 El sistema verifica e informa la disponibilidad del
ítem solicitado.
 El sistema modifica el estado del ítem,
asignándolo al Lector.
07/02/2024 Énfasis en Ingeniería Telemática
Caso de Uso Extendido
S-n
S-1
Flujo
Principal
[Precondición]
…
Subflujos
E-m
E-1
Flujos de
Excepción
Info.
General
07/02/2024 Énfasis en Ingeniería Telemática
Caso de Uso Extendido (1)
 Caso de uso: Hacer Reserva
 Actores: Monitor (iniciador)
 Propósito: Asignar a un Lector un libro para que
pueda retirarlo más tarde.
 Resumen: El Monitor ingresa la información del
Lector y del libro solicitado. El sistema verifica e
informa la disponibilidad del libro solicitado, y
modifica el estado del ítem, asignándolo al Lector.
 Tipo: Primario y abstracto
 Referencias cruzadas: Funciones: R1.1, R1.6.
Casos de Uso: Control de Acceso, Hacer
Consulta.
07/02/2024 Énfasis en Ingeniería Telemática
Caso de Uso Extendido (2)
Precondición
 El sistema debe contar con la siguiente
información:
- Información del Lector: Código, nombre, estado
(Activo, Suspendido, etc.).
- Información de los libros: Código, título, estado
(Disponible, Reservado, Prestado, etc.).
 El Monitor debe ejecutar el caso de uso
Control de Acceso.
 Puede iniciarse con el caso de uso Hacer
Consulta
07/02/2024 Énfasis en Ingeniería Telemática
Caso de Uso Extendido (3)
Flujo Principal
- Este caso de uso empieza cuando el Monitor elige en
el menú principal del sistema la opción Reserva.
- El sistema presenta al Monitor
el Formulario de Reserva de la
Figura 1, que solicita el código
del Lector y el código del libro
a reservar.
Figura 1. Formulario de reserva
07/02/2024 Énfasis en Ingeniería Telemática
Caso de Uso Extendido (4)
Flujo Principal (cont.)
- El Monitor captura total o parcialmente la información
de reserva, y selecciona una de las opciones del final
del formulario: Aceptar y Cancelar.
- Si elige la opción Aceptar, Subflujo S1: Verificar
Lector y Estado de un Libro.
- Si elige la opción Cancelar, Subflujo S2: Cancelar la
Reserva de un Libro.
07/02/2024 Énfasis en Ingeniería Telemática
Caso de Uso Extendido (5)
Subflujos
 S1: Verificar Lector y Estado de un Libro.
- El sistema verifica el código del Lector (E1, E2).
- El sistema verifica el código del libro solicitado (E3)
- El sistema consulta el estado del libro solicitado.
- Si el libro solicitado está disponible, el sistema modifica su
estado a Reservado, lo asigna al Lector indicado al comienzo, y
presenta al Monitor el cuadro de diálogo de la Figura X para
informarle del éxito de la operación. Cuando el Monitor pincha
Aceptar el sistema regresa al Menú Principal.
- Si el libro solicitado está reservado o prestado, el sistema
presenta al Monitor el cuadro de diálogo de la Figura Y (...)
07/02/2024 Énfasis en Ingeniería Telemática
Caso de Uso Extendido (6)
Subflujos (cont.)
 S2: Cancelar la Reserva de un Libro.
- El sistema despliega el mensaje de la Figura S
solicitando confirmar la cancelación.
- El Monitor presiona el botón Aceptar.
- El sistema regresa al Menú Principal.
07/02/2024 Énfasis en Ingeniería Telemática
Caso de Uso Extendido (7)
Flujos de excepción
 E1: Lector suspendido.
- El sistema despliega el mensaje de la Figura W
informando que el Lector está suspendido
- El Monitor presiona el botón Aceptar.
- El sistema regresa al Menú Principal.
 E2: Código del Lector no válido.
- El sistema despliega un mensaje de error de la
Figura Z informando que el código del Lector no
es válido
- ...
07/02/2024 Énfasis en Ingeniería Telemática
Construcción de la Vista Lógica
Vista de Casos de Uso
Control Acceso
Usuario
Vista Lógica
: Usuario
: IU_Inicio : Gestión
Monitor
: Tarjeta
Monitor
: IU_MenuPpal
1: Activa
3: DiálogoID_Clave
Ingresa ID
y Clave
5: validarAcceso(ID, Clave) 6: buscarCódigo(ID)
7: leerContraseña( )
8: Activa
9: MenuMonitor
4: BotonAceptarClick( )
2: Activa
TarjetaMonitor
Usuario
GestiónMonitor
IU_Inicio
IU_MenuPpal
07/02/2024 Énfasis en Ingeniería Telemática
Construcción de la Vista Lógica
Proceso iterativo
 Identificar clases
 Identificar interacciones entre objetos
 Especificar relaciones entre clases
 Incorporar comportamiento y estructura
 Analizar comportamiento de objetos
 Verificar el modelo
Guiado por escenarios  Casos de Uso
07/02/2024 Énfasis en Ingeniería Telemática
Construcción de la Vista Lógica
Identificar clases
 Identificar interacciones entre objetos
 Especificar relaciones entre clases
 Incorporar comportamiento y estructura
 Analizar comportamiento de objetos
 Verificar el modelo
07/02/2024 Énfasis en Ingeniería Telemática
Identificación de clases
 Categorías de clases:
 Entidad (Entity): Modelado de información
 Frontera (Boundary): Modela las
comunicaciones con el exterior
 Control (Control): Modela el comportamiento
 Excepción (Exception): Gestiona
excepciones
07/02/2024 Énfasis en Ingeniería Telemática
Ejemplo
Caso de uso: Control de Acceso
Actores:Usuario (iniciador)
Tipo: Primario
Descripción:
– El Usuario activa al sistema.
– El sistema solicita al Usuario su Identificación y Clave.
– El sistema verifica Identificación y Clave del Usuario.
– El sistema presenta al Usuario el menú principal.
07/02/2024 Énfasis en Ingeniería Telemática
Ejemplo: Control de acceso
Usuario
«Entity»
TarjetaMonitor
«Entity»
TarjetaMonitor
leerId()
leerContraseña()
actContraseña()
id : String
contraseña : String
 El sistema verifica Identificación y Clave del Usuario
07/02/2024 Énfasis en Ingeniería Telemática
Clases de Entidad
 Reflejan el mundo real o se crean para
tareas internas
 No dependen del entorno del sistema
 Pueden ser independientes de la
aplicación
 Se obtienen examinando la
responsabilidades del sistema en los
casos de uso
07/02/2024 Énfasis en Ingeniería Telemática
Ejemplo: Control de acceso
Usuario
«Entity»
TarjetaMonitor
«Boundary»
IU_Acceso
 El sistema solicita al Usuario su Identificación y Clave
07/02/2024 Énfasis en Ingeniería Telemática
Ejemplo: Control de acceso
Usuario
«Boundary»
IU_Acceso
«Boundary»
IU_Acceso
botAceptarClick()
activar()
botCancelarClick()
ocultar()
color : Color
posicion : XYCoord
TLabel TLabel
TEdit
TLabel
TEdit
TImage
TBitButton
TBitButton
+Mensaje +EtiqNombreUsr
+NombreUsr
+EtiqClave
+Llave
+BotonAceptar
+BotonCancelar
+Clave
07/02/2024 Énfasis en Ingeniería Telemática
Clases de Frontera
 Proveen la interfaz con el usuario o con
otros sistemas
 Dependen del entorno del sistema
 Se obtienen examinando las relaciones
actor-escenario en los casos de uso
 Se refinan durante el diseño para
considerar los protocolos de
comunicación
07/02/2024 Énfasis en Ingeniería Telemática
Ejemplo: Control de acceso
Usuario
«Control»
GestionMonitor
«Boundary»
IU_Acceso
«Entity»
TarjetaMonitor
 El sistema solicita al Usuario su Identificación y Clave.
 El sistema verifica Identificación y Clave del Usuario.
 El sistema presenta al Usuario el menú principal.
07/02/2024 Énfasis en Ingeniería Telemática
Ejemplo: Control de acceso
Monitor
«Boundary»
IU_MenuPpal
«Boundary»
IU_Acceso
«Entity»
TarjetaMonitor
«Control»
GestionMonitor
crearMonitor()
validarAcceso()
actualizarMonitor()
borrarMonitor()
«Control»
GestionMonitor
07/02/2024 Énfasis en Ingeniería Telemática
Clases de Control
 Coordinan los eventos necesarios para
implementar el comportamiento
especificado en el caso de uso
 Son dependientes de la aplicación
 Al comienzo, existe una clase de control
para cada par actor-caso de uso
07/02/2024 Énfasis en Ingeniería Telemática
Diagrama de Clases de Análisis
Usuario
TarjetaMonitor
GestionMonitor
IU_Acceso
IU_MenuPpal
07/02/2024 Énfasis en Ingeniería Telemática
Diagrama de Paquetes
Gestión
GestionMonitor
crearMonitor()
validarAcceso()
actualizarMonitor()
borrarMonitor()
GestionLector
crearLector()
actualizarLector()
borrarLector()
GestionEjempl
consultarEjempl()
reservarEjempl()
borrarReserva()
prestarEjempl()
devolverEjempl()
Interfaces Base de
Datos
Gestión
07/02/2024 Énfasis en Ingeniería Telemática
Construcción de la Vista
Lógica
Identificar clases
Identificar interacciones entre objetos
 Especificar relaciones entre clases
 Incorporar comportamiento y estructura
 Analizar comportamiento de objetos
 Verificar el modelo
07/02/2024 Énfasis en Ingeniería Telemática
Diagrama de Clases Inicial
 Interacciones entre objetos:
 Se identifican en el flujo de eventos descrito
en el Caso de Uso
«Boundary»
IU_MenuPpal
«Control»
GestionMonitor
«Boundary»
IU_Inicio
«Entity»
TarjetaMonitor
07/02/2024 Énfasis en Ingeniería Telemática
Caso de Uso Control de Acceso
Caso de uso: Control de Acceso
Actores: Usuario (iniciador)
Tipo: Primario
Flujo Principal:
 El Usuario activa al sistema.
 El sistema presenta al Usuario la ventana de diálogo de
la Figura 1 para solicitarle su Identificación y Clave.
 El Usuario ingresa su Identificación y Clave y
selecciona una de las opciones : Aceptar y Cancelar.
 Si elige la opción Aceptar, Subflujo S1: Verificar
Identificación y Clave del Usuario
 Si elige la opción Cancelar, Subflujo S2: ...
07/02/2024 Énfasis en Ingeniería Telemática
Diagrama de Secuencias Inicial
: Usuario
: IU_Acceso : Gestión
Monitor
: Tarjeta
Monitor
: IU_MenuPpal
Activa
Solicita ID+Clave
ID+Clave
Consulta ID+Clave
Activa
Muestra Menu Monitor
Activa
ID+Clave
07/02/2024 Énfasis en Ingeniería Telemática
Construcción de la Vista Lógica
Identificar clases
Identificar interacciones entre objetos
Especificar relaciones entre clases
 Incorporar comportamiento y estructura
 Analizar comportamiento de objetos
 Verificar el modelo
07/02/2024 Énfasis en Ingeniería Telemática
Relaciones entre clases
 Resultan de examinar los escenarios
(Diagrama de Secuencia).
 Los mensajes entre objetos indican
relaciones entre éstos.
«Control»
GestionMonitor
«Entity»
TarjetaMonitor
: Gestión
Monitor
: Tarjeta
Monitor
Consulta ID+Clave
07/02/2024 Énfasis en Ingeniería Telemática
Diagrama de Clases con
Relaciones
«Boundary»
IU_MenuPpal
«Control»
GestionMonitor
«Entity»
TarjetaMonitor
«Boundary»
IU_Acceso
TLabel
TImage
TBitButton
TEdit
1 1..*
Consulta ID_Clave
Activa
Obtiene ID_Clave
07/02/2024 Énfasis en Ingeniería Telemática
Construcción de la Vista Lógica
Identificar clases
Identificar interacciones entre objetos
Especificar relaciones entre clases
Incorporar comportamiento y estructura
 Analizar comportamiento de objetos
 Verificar el modelo
07/02/2024 Énfasis en Ingeniería Telemática
Comportamiento y Estructura
 Comportamiento: Operaciones
 Los mensajes en el Diagrama de
Secuencias  operación en clase receptora
 Casos especiales: actores y clases de
frontera
 Estructura: Atributos
 Se encuentran en el planteamiento del
problema, los requerimientos y los casos de
uso
07/02/2024 Énfasis en Ingeniería Telemática
Diagrama de Secuencias con
Operaciones
: Usuario
: IU_Acceso : Gestión
Monitor
: Tarjeta
Monitor
: IU_MenuPpal
1: Activa
3: DiálogoID_Clave
Ingresa ID
y Clave
5: validarAcceso(ID, Clave)
6: buscarCódigo(ID)
7: leerContraseña( )
8: Activa
9: MenuMonitor
4: botonAceptarClick( )
2: Activa
07/02/2024 Énfasis en Ingeniería Telemática
Diagrama de Colaboración
: Usuario
: IU_
Acceso
: Gestión
Monitor
: Tarjeta
Monitor
: IU_Menu
Ppal
1: Activa
3: DiálogoID_Clave
4: botonAceptarClick( )
5: validarAcceso(ID, Clave)
6: buscarCódigo(ID)
7: leerContraseña( )
8: Activa
9: MenuMonitor
2: Activa
07/02/2024 Énfasis en Ingeniería Telemática
Diagrama de Clases con Atributos y
Operaciones
«Boundary»
IU_MenuPpal
TLabel
TImage
TBitButton
TEdit
1 1..*
«Boundary»
IU_Acceso
botAceptarClick()
activar()
botCancelarClick()
ocultar()
color : Color
posicion : XYCoord
«Entity»
TarjetaMonitor
leerId()
leerContraseña()
actContraseña()
id : String
contraseña : String
«Control»
GestionMonitor
crearMonitor()
validarAcceso()
actualizarMonitor()
borrarMonitor()
Consulta ID_Clave
Activa
Obtiene ID_Clave
Operaciones  Mensajes
Atributos  Requisitos
07/02/2024 Énfasis en Ingeniería Telemática
Construcción de la Vista Lógica
Identificar clases
Identificar interacciones entre objetos
Especificar relaciones entre clases
Incorporar comportamiento y estructura
Analizar comportamiento de objetos
 Verificar el modelo
07/02/2024 Énfasis en Ingeniería Telemática
Diagrama de Estados
EnProceso
constructor()
Circulando
Prestado Reservado
Disponible
Prestado Reservado
prestar()
Disponible
retirar()
destructor()
exponer()
devolver()
borrarReserva()
reservar()
prestar()
GestionEjempl
eliminarIEjempl()
crearEjempl()
ejemplAEstante()
ejemplATaller()
GestionReserva
consultarEjempl()
reservarEjempl()
borrarReserva()
GestionPréstamo
prestarEjempl()
devolverEjempl()
Ejemplar
codigo: Integer
cantidad: Integer
estado: Integer
exponer()
reservar()
borrarReserva()
prestar()
devolver()
retirar()
reponer()
07/02/2024 Énfasis en Ingeniería Telemática
Construcción de la Vista Lógica
Identificar clases
Identificar interacciones entre objetos
Especificar relaciones entre clases
Incorporar comportamiento y estructura
Analizar comportamiento de objetos
Verificar el modelo
07/02/2024 Énfasis en Ingeniería Telemática
Verificación del Modelo
 Combinar clases
 Duplicadas o similares
 Dividir clases
 “Una clase debe hacer una sola cosa y hacerlo bien!”
 Eliminar clases
 Sin operaciones o atributos. No participa en Casos
de Uso
 Verificación de consistencia
 Estructura (estática) vs comportamiento (dinámica)
 Recorrido (walk-through) de escenarios
 Revisión de la documentación
07/02/2024 Énfasis en Ingeniería Telemática
Referencias
 Ivar Jacobson, Grady Booch and James Rumbaugh. “The Unified
Software Development Process”. Addison-Wesley. 1998.
 Philippe Kruchten. “The Rational Unified Process, An
Introduction”. Addison-Wesley. March 2000
 C. Larman. "Applying UML and Patterns. An Introduction to
Object-Oriented Analysis and Design". Prentice-Hall. 1998
 Rational. "Rational Unified Process: Best Practices for Software
Development Teams".
http://www.ibm.com/developerworks/rational/library/253.html.
 Rational Unified Process Home Page.
http://www.ibm.com/software/awdtools/rup/
07/02/2024 Énfasis en Ingeniería Telemática
Preguntas
07/02/2024 Énfasis en Ingeniería Telemática

Más contenido relacionado

Similar a 02 - RUP_Introduccion_Definicion.pdf

Dis estructura del_proyecto_del_curso (1)
Dis estructura del_proyecto_del_curso (1)Dis estructura del_proyecto_del_curso (1)
Dis estructura del_proyecto_del_curso (1)SH1N1GAM1
 
s03 EjecucionProyecto
s03 EjecucionProyectos03 EjecucionProyecto
s03 EjecucionProyectoMario Solarte
 
Calendarización de Proyectos de Software
Calendarización de Proyectos de SoftwareCalendarización de Proyectos de Software
Calendarización de Proyectos de SoftwareJavier Capa
 
Metodologia MeRinde
Metodologia MeRindeMetodologia MeRinde
Metodologia MeRindekyaalena
 
Clase proyecto sidet
Clase proyecto sidetClase proyecto sidet
Clase proyecto sidetNii Caytuiro
 
Ciclo De Vida De Los Sistemas
Ciclo De Vida De Los SistemasCiclo De Vida De Los Sistemas
Ciclo De Vida De Los SistemasUNM
 
Ciclo De Vida De Los Sistemas
Ciclo De Vida De Los SistemasCiclo De Vida De Los Sistemas
Ciclo De Vida De Los SistemasUNM
 
100000S03I_DisenoYArquitecturaDeSoftware.pdf
100000S03I_DisenoYArquitecturaDeSoftware.pdf100000S03I_DisenoYArquitecturaDeSoftware.pdf
100000S03I_DisenoYArquitecturaDeSoftware.pdfLuisFelipeUNI
 
Pb11 002 1 Metodologia
Pb11 002 1 MetodologiaPb11 002 1 Metodologia
Pb11 002 1 Metodologiaoswchavez
 
Proceso ( software )
Proceso ( software )Proceso ( software )
Proceso ( software )em3marquez
 
Administracion De Proyectos 30 04 07 Hand Outs 2
Administracion De Proyectos 30 04 07 Hand Outs 2Administracion De Proyectos 30 04 07 Hand Outs 2
Administracion De Proyectos 30 04 07 Hand Outs 2evelynamador
 
Planificación y gestión de proyectos TIC
Planificación y gestión de proyectos TICPlanificación y gestión de proyectos TIC
Planificación y gestión de proyectos TICEnrique Barreiro
 
Gestión de proyectos TIC
Gestión de proyectos TICGestión de proyectos TIC
Gestión de proyectos TICguestd4d0f7
 
UDA-Selección de tecnologías
UDA-Selección de tecnologíasUDA-Selección de tecnologías
UDA-Selección de tecnologíasAnder Martinez
 
1 ingeniería de software
1 ingeniería de software1 ingeniería de software
1 ingeniería de softwareUVM
 
proyecto de curso instrumentación industrial
proyecto de curso instrumentación industrial proyecto de curso instrumentación industrial
proyecto de curso instrumentación industrial Jorge Luis Jaramillo
 

Similar a 02 - RUP_Introduccion_Definicion.pdf (20)

Dis estructura del_proyecto_del_curso (1)
Dis estructura del_proyecto_del_curso (1)Dis estructura del_proyecto_del_curso (1)
Dis estructura del_proyecto_del_curso (1)
 
s03 EjecucionProyecto
s03 EjecucionProyectos03 EjecucionProyecto
s03 EjecucionProyecto
 
Calendarización de Proyectos de Software
Calendarización de Proyectos de SoftwareCalendarización de Proyectos de Software
Calendarización de Proyectos de Software
 
diapositivas
diapositivasdiapositivas
diapositivas
 
Metodologia MeRinde
Metodologia MeRindeMetodologia MeRinde
Metodologia MeRinde
 
Clase proyecto sidet
Clase proyecto sidetClase proyecto sidet
Clase proyecto sidet
 
Ciclo De Vida De Los Sistemas
Ciclo De Vida De Los SistemasCiclo De Vida De Los Sistemas
Ciclo De Vida De Los Sistemas
 
Ciclo De Vida De Los Sistemas
Ciclo De Vida De Los SistemasCiclo De Vida De Los Sistemas
Ciclo De Vida De Los Sistemas
 
100000S03I_DisenoYArquitecturaDeSoftware.pdf
100000S03I_DisenoYArquitecturaDeSoftware.pdf100000S03I_DisenoYArquitecturaDeSoftware.pdf
100000S03I_DisenoYArquitecturaDeSoftware.pdf
 
Pb11 002 1 Metodologia
Pb11 002 1 MetodologiaPb11 002 1 Metodologia
Pb11 002 1 Metodologia
 
Watch version 2007
Watch version 2007Watch version 2007
Watch version 2007
 
Proceso ( software )
Proceso ( software )Proceso ( software )
Proceso ( software )
 
Administracion De Proyectos 30 04 07 Hand Outs 2
Administracion De Proyectos 30 04 07 Hand Outs 2Administracion De Proyectos 30 04 07 Hand Outs 2
Administracion De Proyectos 30 04 07 Hand Outs 2
 
Tendencias de Modelado Software
Tendencias de Modelado SoftwareTendencias de Modelado Software
Tendencias de Modelado Software
 
Planificación y gestión de proyectos TIC
Planificación y gestión de proyectos TICPlanificación y gestión de proyectos TIC
Planificación y gestión de proyectos TIC
 
Gestión de proyectos TIC
Gestión de proyectos TICGestión de proyectos TIC
Gestión de proyectos TIC
 
UDA-Selección de tecnologías
UDA-Selección de tecnologíasUDA-Selección de tecnologías
UDA-Selección de tecnologías
 
Unidad iii eai
Unidad iii eaiUnidad iii eai
Unidad iii eai
 
1 ingeniería de software
1 ingeniería de software1 ingeniería de software
1 ingeniería de software
 
proyecto de curso instrumentación industrial
proyecto de curso instrumentación industrial proyecto de curso instrumentación industrial
proyecto de curso instrumentación industrial
 

02 - RUP_Introduccion_Definicion.pdf

  • 1. Seminario de Proceso Unificado de Desarrollo – Introducción General Presentación Rodrigo Cerón Popayán, febrero de 2024 Universidad del Cauca Departamento de Telemática 07/02/2024 Énfasis en Ingeniería Telemática
  • 2. Contenido  Antecedentes  Objetivos  Características  Organización  Por Componentes  En el tiempo  Componentes y Modelos 07/02/2024 Énfasis en Ingeniería Telemática
  • 3. Antecedentes  Desarrollado originalmente por Jacobson Centrado alrededor de Casos de Uso Orientado a Objetos: Objectory + Rational Approach: Kruchten, Booch, Royce Proceso iterativo Centrado en la arquitectura del software + Metodología OMT propuesta por Rumbaugh + SQA Process: Metodología de pruebas + Requirements College: Gestión de requisitos 07/02/2024 Énfasis en Ingeniería Telemática
  • 4. Objetivos  Proceso de ingeniería de software que busca  Asegurar la producción de software de alta calidad  Satisfaciendo las necesidades del cliente  Con un plan y presupuesto predecibles 07/02/2024 Énfasis en Ingeniería Telemática
  • 5. Modelo de Desarrollo en Espiral 0 Objetivos, Alternativas, Restricciones 1 Evaluación de Alternativas, Ident. y Resol. de Riesgos 2 3 Desarrollo del Producto Planeación Siguiente Fase 07/02/2024 Énfasis en Ingeniería Telemática
  • 6. Características  Iterativo. Refinamiento sucesivo  Controlado. Gestión de requisitos y control de cambios  Construcción de modelos  Centrado en la arquitectura.  Desarrollo de software basado en componentes  Conducido por los Casos de Uso  Soporta técnicas OO. Uso del UML  Configurable  Fomento al control de calidad  Soportado por herramientas 07/02/2024 Énfasis en Ingeniería Telemática
  • 7. Modelo del Ciclo de Vida Tiempo Requisitos Diseño Implem. Pruebas Cascada Iterativo Análisis R A I P D R A I P D R A I P D 07/02/2024 Énfasis en Ingeniería Telemática
  • 8. Proceso unificado de desarrollo 07/02/2024 Organización por Organización en el tiempo COMPONENTES DE SOPORTE COMPONENTES DEL PROCESO Iteraciones Inicial DefiniciónElaborac. Construcción Transición Elab. #1 Elab. #2 Const. #1 Const. #2 Const. #N Trans. #1 Trans. #2 FASES Componentes Captura de Requisitos Análisis Diseño Implementación Pruebas Puesta en Servicio Modelado de la Organización Gestión de Configuración y Cambios Gestión del Proyecto Entorno Hitos Énfasis en Ingeniería Telemática
  • 9. Organización por Componentes  Agrupan las actividades de acuerdo a su naturaleza  Representan la estructura del Proceso.  Expresados en términos de: Flujos de trabajo y actividades Artefactos Trabajadores 07/02/2024 Énfasis en Ingeniería Telemática
  • 10. Énfasis en Ingeniería Telemática COMPONENTES DEL PROCESO DefiniciónElaborac. Construcción Transición FASES Captura de Requisitos Análisis Diseño Implementación Pruebas Puesta en Servicio Modelado de la Organización Organización por Componentes  Flujos de trabajo del proceso  Modelado de la Organización: ¿Cuál es el problema?  Captura de Requisitos: ¿Qué hace el sistema?  Análisis: ¿Cómo funciona?  Diseño: ¿Cómo se construye?  Implementación: Archivos  Pruebas  Puesta en Servicio 07/02/2024 Énfasis en Ingeniería Telemática
  • 11. Organización por Componentes Componentes de soporte  Gestión de Configuración y Cambios  Gestión del Proyecto  Entorno (de desarrollo) 07/02/2024 COMPONENTES DE SOPORTE DefiniciónElaborac. Construcción Transición Gestión de Configuración y Cambios Gestión del Proyecto Entorno Énfasis en Ingeniería Telemática
  • 12. Organización en el tiempo  Describe los aspectos del ciclo de vida, tal como se irán presentando.  Representa la dinámica del Proceso.  Expresada en términos de  Ciclos, Fases, Iteraciones, Hitos.  Ciclo: Desarrollo de una nueva versión del producto 07/02/2024 Énfasis en Ingeniería Telemática
  • 13. Fase Iteración Hito Organización en el tiempo Fases:  Definición  Objetivos y plan  Elaboración  Arquitectura  Construcción  Producto  Transición  Satisfacción del usuario R A&D I P R A&D I P R A&D I P 07/02/2024 Énfasis en Ingeniería Telemática
  • 14. Organización en el tiempo Cada Fase termina en un Hito y puede estar dividida en Iteraciones. Hito: Punto de control. Permiten a la gestión evaluar el progreso. Iteración: Unidad de desarrollo del producto. Recorre los componentes de manera total o parcial. Las Fases/Iteraciones determinan el énfasis de los Componentes 07/02/2024 Énfasis en Ingeniería Telemática
  • 15. Componentes del Proceso y Modelos Captura de Requisitos Diseño Implemen- tación Pruebas Componentes del Proceso Modelo de Casos de Uso Modelo de Diseño Modelo de Implementac. Modelo de Pruebas Código Objeto OK OK Falla Implementado por Realizado por Verificado por Modelado Organizac. Modelo de la Organización Análisis Modelo de Análisis Realizado por Modelos 07/02/2024 Énfasis en Ingeniería Telemática
  • 16. Modelo de la Organización Lector Prestar Libro Modelo de Casos de Uso de la Organización :Catálogo :TarjetaLector :Libro :Lector :Director :Monitor Modelo de Objetos de la Organización 07/02/2024 Énfasis en Ingeniería Telemática
  • 17. Modelo de Casos de Uso :Perfil :Cuenta :Crédito :Cliente :Analista :Asistente Modelo de Objetos de la Organización Gestionar Préstamo Más descripción Cliente Solicitar Préstamo Analista Estudiar Préstamo Control Acceso 07/02/2024 Énfasis en Ingeniería Telemática
  • 18. Modelo de Análisis Usuarios Analista CtrlAcceso IU_Acceso IU_Menu Control Acceso Analista Vista de Casos de Uso Diagrama de Clases de Análisis 07/02/2024 Énfasis en Ingeniería Telemática
  • 19. Vista Lógica EnProceso constructor() Circulando Prestado Reservado Disponible Prestado Reservado prestar() Disponible retirar() destructor() exponer() devolver() borrarReserva() reservar() prestar() GestionEjempl eliminarIEjempl() crearEjempl() ejemplAEstante() ejemplATaller() GestionReserva consultarEjempl() reservarEjempl() borrarReserva() GestionPréstamo prestarEjempl() devolverEjempl() Ejemplar codigo: Integer cantidad: Integer estado: Integer exponer() reservar() borrarReserva() prestar() devolver() retirar() reponer() : Monitor : IU_Inicio : Gestión Monitor : Tarjeta Monitor : IU_MenuPpal 1: Activa 3: DiálogoID_Clave Ingresa ID y Clave 5: validarAcceso( ID, Clave) 6: buscarCódigo( ID) 7: leerContraseña( ) 8: Activa 9: MenuMonitor 4: BotonAceptarClick( ) 2: Activa Interfaces Gestión Base de Datos 07/02/2024 Énfasis en Ingeniería Telemática
  • 20. Modelo de Diseño Extensión para Aplicaciones Web PC_Bienv «links» PC_Reg Frm_Reg PS_PrReg «submits» PC_Conf «builds» «query» AccBD 07/02/2024 Énfasis en Ingeniería Telemática
  • 21. Seminario de Proceso Unificado de Desarrollo - fase de Definición (Gestación) Presentación Rodrigo Cerón Universidad del Cauca Departamento de Telemática Popayán, febrero de 2024 07/02/2024 Énfasis en Ingeniería Telemática
  • 22. Contenido  Descripción general de la fase  Preparación de la fase  Un ejemplo de fase típica  Ejecución de los componentes de proceso  Evaluación y plan para la fase de elaboración  Documentación de la fase 07/02/2024 Énfasis en Ingeniería Telemática
  • 23. Ubicación de la fase Organización por Organización en el tiempo COMPONENTES DE SOPORTE COMPONENTES DEL PROCESO Iteraciones Inicial DefiniciónElaborac. Construcción Transición Elab. #1 Elab. #2 Const. #1 Const. #2 Const. #N Trans. #1 Trans. #2 FASES Componentes Captura de Requisitos Análisis Diseño Implementación Pruebas Puesta en Servicio Modelado de la Organización Gestión de Configuración y Cambios Gestión del Proyecto Entorno Hitos 07/02/2024 Énfasis en Ingeniería Telemática
  • 24. Descripción general de la fase  Poner en marcha el proyecto  Recopilación de objetivos, definir la arquitectura del sistema, desarrollo del modelo de negocio.  Delimitación del problema a resolver, estudio de riesgos y análisis de la organización.  Definición de “arquitectura candidata” 07/02/2024 Énfasis en Ingeniería Telemática
  • 25. Contenido  Descripción general de la fase  Preparación de la fase  Un ejemplo de fase típica  Ejecución de los componentes de proceso  Evaluación y plan para la fase de elaboración  Documentación de la fase 07/02/2024 Énfasis en Ingeniería Telemática
  • 26. Preparación de la fase  Conocer algo sobre la organización que necesita el desarrollo  Planificación de la fase de definición (Recopilación de información, organización, utilización y descubrir carencias)  Ampliación de la descripción del sistema  Establecimiento de criterios de evaluación 07/02/2024 Énfasis en Ingeniería Telemática
  • 27. Criterios de evaluación  Ámbito del sistema  Ambigüedad en los requisitos de esta fase  Arquitectura candidata  Riesgos críticos 07/02/2024 Énfasis en Ingeniería Telemática
  • 28. Contenido  Descripción general de la fase  Preparación de la fase  Un ejemplo de fase típica  Ejecución de los componentes de proceso  Evaluación y plan para la fase de elaboración  Documentación de la fase 07/02/2024 Énfasis en Ingeniería Telemática
  • 29. Componentes de Proceso – Fase de Definición Requisitos Análisis Diseño Implementación Prueba Recursos Componentes de proceso Planificación de la iteración Evaluación de la iteración 07/02/2024 Énfasis en Ingeniería Telemática
  • 30. Fase de Definición en general  Trabajo principal en requisitos  Modelo de Análisis inicial  Prototipo exploratorio cuando sea el caso  Descripción de la arquitectura candidata  Ajuste del proyecto al entorno de desarrollo  Identificación de riesgos críticos 07/02/2024 Énfasis en Ingeniería Telemática
  • 31. Contenido  Descripción general de la fase  Preparación de la fase  Un ejemplo de fase típica  Ejecución de los componentes de proceso  Evaluación y plan para la fase de elaboración  Documentación de la fase 07/02/2024 Énfasis en Ingeniería Telemática
  • 32. El proceso unificado de desarrollo Diseñador GUI Arquitecto Ingeniero de caso de uso Ingeniero de componentes Especificador de caso de uso Analista de sistema Ingeniero de pruebas de sistema Ingeniero de pruebas de integración Integrador de sistemas Ingeniero de pruebas Diseñar la arquitectura Diseñar una clase Diseñar un caso de uso Diseñar un subsistema Diseño Encontrar actores y casos de uso Ordenar los casos de uso Detallar caso de uso Estructurar el modelo de casos de uso Construir prototipo de la GUI Requisitos Análisis de la arquitectura Analizar un caso de uso Analizar una clase Analizar un paquete Análisis Implementación de la arquitectura Implementar un subsistema Implementar una clase Prueba unidad Implementación Integrar sistema Implementar pruebas Probar sistema Probar integración Planificar pruebas Diseñar pruebas Evaluar pruebas Pruebas 07/02/2024 Énfasis en Ingeniería Telemática
  • 33. Actividades Fase de Definición Diseñador GUI Arquitecto Ingeniero de caso de uso Ingeniero de componentes Especificador de caso de uso Analista de sistema Ingeniero de pruebas de sistema Ingeniero de pruebas de integración Integrador de sistemas Ingeniero de pruebas Diseñar una clase Diseñar un caso de uso Diseñar un subsistema Diseño Estructurar el modelo de casos de uso Construir prototipo de la GUI Requisitos Analizar una clase Analizar un paquete Análisis Implementación de la arquitectura Implementar un subsistema Implementar una clase Prueba unidad Implementación Integrar sistema Implementar pruebas Probar sistema Probar integración Planificar pruebas Diseñar pruebas Evaluar pruebas Pruebas Definir la arquitectura candidata Definir el ámbito del sistema Encontrar actores y casos de uso Ordenar los casos de uso Análisis de la arquitectura Diseñar la arquitectura Analizar un caso de uso Detallar caso de uso 07/02/2024 Énfasis en Ingeniería Telemática
  • 34. Recopilación de Requisitos Identificar y detallar los casos de uso pertinentes  Enumerar los requisitos a figurar  Comprender el contexto del sistema  Representar los requisitos funcionales como casos de uso  Recoger los requisitos no funcionales 07/02/2024 Énfasis en Ingeniería Telemática
  • 35. Representación de requisitos como casos de uso Trabajo principal en:  Encontrar actores y casos de uso  Ordenar los casos de uso (dar prioridad)  Detallar casos de uso Poco trabajo en:  Construir prototipo de GUI  Estructurar el modelo de casos de uso 07/02/2024 Énfasis en Ingeniería Telemática
  • 36. Captura de requisitos como casos de uso Analista de sistemas Actor Glosario Modelo de Casos de uso Especificador de casos de uso Casos de uso Diseñador de interfaz de usuario Prototipo de interfaz de usuario Arquitecto Descripción de la arquitectura 07/02/2024 Énfasis en Ingeniería Telemática Analista de sistemas Actor Glosario Modelo de Casos de uso Especificador de casos de uso Casos de uso Diseñador de interfaz de usuario Prototipo de interfaz de usuario Arquitecto Descripción de la arquitectura
  • 37. Análisis Trabajo principal en:  Análisis de la arquitectura  Analizar un caso de uso Poco trabajo en:  Analizar una clase  Analizar un paquete 07/02/2024 Énfasis en Ingeniería Telemática
  • 38. Análisis Arquitecto Modelo de análisis Glosario Especificador de casos de uso Realización de caso de uso - Análisis Ingeniero de componentes Clase de Análisis Paquete del análisis 07/02/2024 Énfasis en Ingeniería Telemática Arquitecto Modelo de análisis Glosario Especificador de casos de uso Realización de caso de uso - Análisis Ingeniero de componentes Clase de Análisis Paquete del análisis
  • 39. Diseño Trabajo principal en:  Diseño de la arquitectura Poco trabajo en:  Diseñar un caso de uso Trabajo mínimo en:  Diseñar una clase  Diseñar un subsistema 07/02/2024 Énfasis en Ingeniería Telemática
  • 40. Diseño Arquitecto Modelo de diseño Modelo de despliegue Descripción de la arquitectura Ingeniero de casos de uso Realización de caso de uso – diseño Ingeniero de componentes Clases del Diseño Subsistema de diseño Interfaz 07/02/2024 Énfasis en Ingeniería Telemática Arquitecto Modelo de diseño Modelo de despliegue Descripción de la arquitectura Ingeniero de casos de uso Realización de caso de uso – diseño Ingeniero de componentes Clases del Diseño Subsistema de diseño Interfaz
  • 41. Implementación Poco trabajo en:  Implementación de la arquitectura Trabajo mínimo en:  Integrar sistema  Implementar un subsistema  Implementar una clase  Realizar pruebas de unidad 07/02/2024 Énfasis en Ingeniería Telemática
  • 42. Implementación Arquitecto Modelo de implementación Descripción de la arquitectura Modelo de despliegue Integrador de sistema Integración del sistema Ingeniero de componentes Componente Implementación de subsistema Interfaz 07/02/2024 Énfasis en Ingeniería Telemática Arquitecto Modelo de implementación Descripción de la arquitectura Modelo de despliegue Integrador de sistema Integración del sistema Ingeniero de componentes Componente Implementación de subsistema Interfaz
  • 43. Contenido  Descripción general de la fase  Preparación de la fase  Un ejemplo de fase típica  Ejecución de los componentes de proceso  Evaluación y plan para la fase de elaboración  Documentación de la fase 07/02/2024 Énfasis en Ingeniería Telemática
  • 44. Evaluación de la fase de definición  Criterios establecidos al inicio de la fase  Criterios no alcanzables:  Ampliación de los casos de uso  Desarrollo de prototipo de demostración  No encontrar los riesgos críticos  Plan de emergencia de los riesgos críticos 07/02/2024 Énfasis en Ingeniería Telemática
  • 45. Planificación de la fase de elaboración Modelo de organización Casos de uso identificados Casos de uso descritos Casos de uso analizados Casos de uso diseñados, implementados y probados Fase de Definición 50-70% 50% 10% 5% Un pequeño porcentaje para el prototipo Fase de Elaboración Casi el 100% 80% o más 40-80% 20%-40% Menos del 10% Fase de Construcción 100% 100% 100% 100% si se mantienen 100% 07/02/2024 Énfasis en Ingeniería Telemática
  • 46. Contenido  Descripción general de la fase  Preparación de la fase  Un ejemplo de fase típica  Ejecución de los componentes de proceso  Evaluación y plan para la fase de elaboración  Documentación de la fase 07/02/2024 Énfasis en Ingeniería Telemática
  • 47. Documentación de la fase  Lista de características  Modelo de negocio u organización (primera versión)  Modelos de casos de uso, modelo de análisis y modelo de diseño (primera versión)  Descripción de la arquitectura candidata, vistas de casos de uso, análisis, diseño e implementación 07/02/2024 Énfasis en Ingeniería Telemática
  • 48. Documentación de la fase  Prototipo exploratorio (opcional)  Lista de riesgos, clasificación de los casos de uso (inicial)  Plan de proyecto (inicial), plan general de las fases (inicial)  Características económicas relacionadas con el proyecto. 07/02/2024 Énfasis en Ingeniería Telemática
  • 49. Apuntes sobre el modelo de análisis Popayán, febrero de 2024 07/02/2024 Énfasis en Ingeniería Telemática
  • 50. Vista de Componentes (Implementación) Vista Lógica Vista de Procesos (Concurrencia) Vista de Implantación (Despliegue) Vista de Casos de Uso Vocabulario Funcionalidad Ensamblado del sistema Gestión de la configuración Funcionamiento Crecimiento Rendimiento Topología Distribución Entrega Instalación 07/02/2024 Énfasis en Ingeniería Telemática
  • 51. Vista Lógica  Muestra el diseño de la funcionalidad del sistema: Estructura y Comportamiento  Para equipos de diseño y desarrollo  Descripción de estructura:  Diagramas de clases y de objetos  Descripción de comportamiento:  Diagramas de secuencia, colaboración, estado y actividades 07/02/2024 Énfasis en Ingeniería Telemática
  • 52. Vista Lógica : Monitor : IU_Inicio : Gestión Monitor : Tarjeta Monitor : IU_MenuPpal 1: Activa 3: DiálogoID_Clave Ingresa ID y Clave 5: validarAcceso( ID, Clave) 6: buscarCódigo( ID) 7: leerContraseña( ) 8: Activa 9: MenuMonitor 4: BotonAceptarClick( ) 2: Activa GestionEjempl eliminarIEjempl() crearEjempl() ejemplAEstante() ejemplATaller() GestionReserva consultarEjempl() reservarEjempl() borrarReserva() GestionPréstamo prestarEjempl() devolverEjempl() Ejemplar codigo: Integer cantidad: Integer estado: Integer exponer() reservar() borrarReserva() prestar() devolver() retirar() reponer() Interfaces Gestión Base de Datos EnProceso constructor() Circulando Prestado Reservado Disponible Prestado Reservado prestar() Disponible retirar() destructor() exponer() devolver() borrarReserva() reservar() prestar() 07/02/2024 Énfasis en Ingeniería Telemática
  • 53. Fase de Definición Modelo de Casos de Uso Para qué (y a quién) sirve el sistema? Modelo de la Organización Cuál es el problema? 07/02/2024 Énfasis en Ingeniería Telemática
  • 54. Modelo de Análisis Cómo funciona el sistema? Modelo de Casos de Uso Para qué (y a quién) sirve el sistema? Análisis del Software 07/02/2024 Énfasis en Ingeniería Telemática
  • 55. Modelo de casos de uso Lector SI_Admnistrativo Consultar Multas Control Acceso Hacer Consulta Director Hacer Reserva <<extend>> Borrar Reserva Prestar Item <<include>> Registrar Nuevo Lector Monitor Lector hace reserva Gestionar Monitores Usuario Lector Lector SI_Admnistrativo Consultar Multas SI_Admnistrativo Consultar Multas Control Acceso Hacer Consulta Director Hacer Reserva <<extend>> Borrar Reserva Prestar Item <<include>> Registrar Nuevo Lector Monitor Lector hace reserva Gestionar Monitores Usuario Control Acceso Control Acceso Hacer Consulta Director Director Hacer Reserva <<extend>> Borrar Reserva Prestar Item Prestar Item <<include>> Registrar Nuevo Lector Monitor Lector hace reserva Gestionar Monitores Usuario Usuario Más descripción 07/02/2024 Énfasis en Ingeniería Telemática
  • 56. Caso de uso de alto nivel  Caso de uso: Hacer Reserva  Actores: Monitor (iniciador)  Tipo: Primario  Descripción:  El Monitor solicita al sistema reservar un ítem solicitado por un Lector.  El sistema verifica la información del ítem y del Lector.  El sistema verifica e informa la disponibilidad del ítem solicitado.  El sistema modifica el estado del ítem, asignándolo al Lector. 07/02/2024 Énfasis en Ingeniería Telemática
  • 57. Caso de Uso Extendido S-n S-1 Flujo Principal [Precondición] … Subflujos E-m E-1 Flujos de Excepción Info. General 07/02/2024 Énfasis en Ingeniería Telemática
  • 58. Caso de Uso Extendido (1)  Caso de uso: Hacer Reserva  Actores: Monitor (iniciador)  Propósito: Asignar a un Lector un libro para que pueda retirarlo más tarde.  Resumen: El Monitor ingresa la información del Lector y del libro solicitado. El sistema verifica e informa la disponibilidad del libro solicitado, y modifica el estado del ítem, asignándolo al Lector.  Tipo: Primario y abstracto  Referencias cruzadas: Funciones: R1.1, R1.6. Casos de Uso: Control de Acceso, Hacer Consulta. 07/02/2024 Énfasis en Ingeniería Telemática
  • 59. Caso de Uso Extendido (2) Precondición  El sistema debe contar con la siguiente información: - Información del Lector: Código, nombre, estado (Activo, Suspendido, etc.). - Información de los libros: Código, título, estado (Disponible, Reservado, Prestado, etc.).  El Monitor debe ejecutar el caso de uso Control de Acceso.  Puede iniciarse con el caso de uso Hacer Consulta 07/02/2024 Énfasis en Ingeniería Telemática
  • 60. Caso de Uso Extendido (3) Flujo Principal - Este caso de uso empieza cuando el Monitor elige en el menú principal del sistema la opción Reserva. - El sistema presenta al Monitor el Formulario de Reserva de la Figura 1, que solicita el código del Lector y el código del libro a reservar. Figura 1. Formulario de reserva 07/02/2024 Énfasis en Ingeniería Telemática
  • 61. Caso de Uso Extendido (4) Flujo Principal (cont.) - El Monitor captura total o parcialmente la información de reserva, y selecciona una de las opciones del final del formulario: Aceptar y Cancelar. - Si elige la opción Aceptar, Subflujo S1: Verificar Lector y Estado de un Libro. - Si elige la opción Cancelar, Subflujo S2: Cancelar la Reserva de un Libro. 07/02/2024 Énfasis en Ingeniería Telemática
  • 62. Caso de Uso Extendido (5) Subflujos  S1: Verificar Lector y Estado de un Libro. - El sistema verifica el código del Lector (E1, E2). - El sistema verifica el código del libro solicitado (E3) - El sistema consulta el estado del libro solicitado. - Si el libro solicitado está disponible, el sistema modifica su estado a Reservado, lo asigna al Lector indicado al comienzo, y presenta al Monitor el cuadro de diálogo de la Figura X para informarle del éxito de la operación. Cuando el Monitor pincha Aceptar el sistema regresa al Menú Principal. - Si el libro solicitado está reservado o prestado, el sistema presenta al Monitor el cuadro de diálogo de la Figura Y (...) 07/02/2024 Énfasis en Ingeniería Telemática
  • 63. Caso de Uso Extendido (6) Subflujos (cont.)  S2: Cancelar la Reserva de un Libro. - El sistema despliega el mensaje de la Figura S solicitando confirmar la cancelación. - El Monitor presiona el botón Aceptar. - El sistema regresa al Menú Principal. 07/02/2024 Énfasis en Ingeniería Telemática
  • 64. Caso de Uso Extendido (7) Flujos de excepción  E1: Lector suspendido. - El sistema despliega el mensaje de la Figura W informando que el Lector está suspendido - El Monitor presiona el botón Aceptar. - El sistema regresa al Menú Principal.  E2: Código del Lector no válido. - El sistema despliega un mensaje de error de la Figura Z informando que el código del Lector no es válido - ... 07/02/2024 Énfasis en Ingeniería Telemática
  • 65. Construcción de la Vista Lógica Vista de Casos de Uso Control Acceso Usuario Vista Lógica : Usuario : IU_Inicio : Gestión Monitor : Tarjeta Monitor : IU_MenuPpal 1: Activa 3: DiálogoID_Clave Ingresa ID y Clave 5: validarAcceso(ID, Clave) 6: buscarCódigo(ID) 7: leerContraseña( ) 8: Activa 9: MenuMonitor 4: BotonAceptarClick( ) 2: Activa TarjetaMonitor Usuario GestiónMonitor IU_Inicio IU_MenuPpal 07/02/2024 Énfasis en Ingeniería Telemática
  • 66. Construcción de la Vista Lógica Proceso iterativo  Identificar clases  Identificar interacciones entre objetos  Especificar relaciones entre clases  Incorporar comportamiento y estructura  Analizar comportamiento de objetos  Verificar el modelo Guiado por escenarios  Casos de Uso 07/02/2024 Énfasis en Ingeniería Telemática
  • 67. Construcción de la Vista Lógica Identificar clases  Identificar interacciones entre objetos  Especificar relaciones entre clases  Incorporar comportamiento y estructura  Analizar comportamiento de objetos  Verificar el modelo 07/02/2024 Énfasis en Ingeniería Telemática
  • 68. Identificación de clases  Categorías de clases:  Entidad (Entity): Modelado de información  Frontera (Boundary): Modela las comunicaciones con el exterior  Control (Control): Modela el comportamiento  Excepción (Exception): Gestiona excepciones 07/02/2024 Énfasis en Ingeniería Telemática
  • 69. Ejemplo Caso de uso: Control de Acceso Actores:Usuario (iniciador) Tipo: Primario Descripción: – El Usuario activa al sistema. – El sistema solicita al Usuario su Identificación y Clave. – El sistema verifica Identificación y Clave del Usuario. – El sistema presenta al Usuario el menú principal. 07/02/2024 Énfasis en Ingeniería Telemática
  • 70. Ejemplo: Control de acceso Usuario «Entity» TarjetaMonitor «Entity» TarjetaMonitor leerId() leerContraseña() actContraseña() id : String contraseña : String  El sistema verifica Identificación y Clave del Usuario 07/02/2024 Énfasis en Ingeniería Telemática
  • 71. Clases de Entidad  Reflejan el mundo real o se crean para tareas internas  No dependen del entorno del sistema  Pueden ser independientes de la aplicación  Se obtienen examinando la responsabilidades del sistema en los casos de uso 07/02/2024 Énfasis en Ingeniería Telemática
  • 72. Ejemplo: Control de acceso Usuario «Entity» TarjetaMonitor «Boundary» IU_Acceso  El sistema solicita al Usuario su Identificación y Clave 07/02/2024 Énfasis en Ingeniería Telemática
  • 73. Ejemplo: Control de acceso Usuario «Boundary» IU_Acceso «Boundary» IU_Acceso botAceptarClick() activar() botCancelarClick() ocultar() color : Color posicion : XYCoord TLabel TLabel TEdit TLabel TEdit TImage TBitButton TBitButton +Mensaje +EtiqNombreUsr +NombreUsr +EtiqClave +Llave +BotonAceptar +BotonCancelar +Clave 07/02/2024 Énfasis en Ingeniería Telemática
  • 74. Clases de Frontera  Proveen la interfaz con el usuario o con otros sistemas  Dependen del entorno del sistema  Se obtienen examinando las relaciones actor-escenario en los casos de uso  Se refinan durante el diseño para considerar los protocolos de comunicación 07/02/2024 Énfasis en Ingeniería Telemática
  • 75. Ejemplo: Control de acceso Usuario «Control» GestionMonitor «Boundary» IU_Acceso «Entity» TarjetaMonitor  El sistema solicita al Usuario su Identificación y Clave.  El sistema verifica Identificación y Clave del Usuario.  El sistema presenta al Usuario el menú principal. 07/02/2024 Énfasis en Ingeniería Telemática
  • 76. Ejemplo: Control de acceso Monitor «Boundary» IU_MenuPpal «Boundary» IU_Acceso «Entity» TarjetaMonitor «Control» GestionMonitor crearMonitor() validarAcceso() actualizarMonitor() borrarMonitor() «Control» GestionMonitor 07/02/2024 Énfasis en Ingeniería Telemática
  • 77. Clases de Control  Coordinan los eventos necesarios para implementar el comportamiento especificado en el caso de uso  Son dependientes de la aplicación  Al comienzo, existe una clase de control para cada par actor-caso de uso 07/02/2024 Énfasis en Ingeniería Telemática
  • 78. Diagrama de Clases de Análisis Usuario TarjetaMonitor GestionMonitor IU_Acceso IU_MenuPpal 07/02/2024 Énfasis en Ingeniería Telemática
  • 80. Construcción de la Vista Lógica Identificar clases Identificar interacciones entre objetos  Especificar relaciones entre clases  Incorporar comportamiento y estructura  Analizar comportamiento de objetos  Verificar el modelo 07/02/2024 Énfasis en Ingeniería Telemática
  • 81. Diagrama de Clases Inicial  Interacciones entre objetos:  Se identifican en el flujo de eventos descrito en el Caso de Uso «Boundary» IU_MenuPpal «Control» GestionMonitor «Boundary» IU_Inicio «Entity» TarjetaMonitor 07/02/2024 Énfasis en Ingeniería Telemática
  • 82. Caso de Uso Control de Acceso Caso de uso: Control de Acceso Actores: Usuario (iniciador) Tipo: Primario Flujo Principal:  El Usuario activa al sistema.  El sistema presenta al Usuario la ventana de diálogo de la Figura 1 para solicitarle su Identificación y Clave.  El Usuario ingresa su Identificación y Clave y selecciona una de las opciones : Aceptar y Cancelar.  Si elige la opción Aceptar, Subflujo S1: Verificar Identificación y Clave del Usuario  Si elige la opción Cancelar, Subflujo S2: ... 07/02/2024 Énfasis en Ingeniería Telemática
  • 83. Diagrama de Secuencias Inicial : Usuario : IU_Acceso : Gestión Monitor : Tarjeta Monitor : IU_MenuPpal Activa Solicita ID+Clave ID+Clave Consulta ID+Clave Activa Muestra Menu Monitor Activa ID+Clave 07/02/2024 Énfasis en Ingeniería Telemática
  • 84. Construcción de la Vista Lógica Identificar clases Identificar interacciones entre objetos Especificar relaciones entre clases  Incorporar comportamiento y estructura  Analizar comportamiento de objetos  Verificar el modelo 07/02/2024 Énfasis en Ingeniería Telemática
  • 85. Relaciones entre clases  Resultan de examinar los escenarios (Diagrama de Secuencia).  Los mensajes entre objetos indican relaciones entre éstos. «Control» GestionMonitor «Entity» TarjetaMonitor : Gestión Monitor : Tarjeta Monitor Consulta ID+Clave 07/02/2024 Énfasis en Ingeniería Telemática
  • 86. Diagrama de Clases con Relaciones «Boundary» IU_MenuPpal «Control» GestionMonitor «Entity» TarjetaMonitor «Boundary» IU_Acceso TLabel TImage TBitButton TEdit 1 1..* Consulta ID_Clave Activa Obtiene ID_Clave 07/02/2024 Énfasis en Ingeniería Telemática
  • 87. Construcción de la Vista Lógica Identificar clases Identificar interacciones entre objetos Especificar relaciones entre clases Incorporar comportamiento y estructura  Analizar comportamiento de objetos  Verificar el modelo 07/02/2024 Énfasis en Ingeniería Telemática
  • 88. Comportamiento y Estructura  Comportamiento: Operaciones  Los mensajes en el Diagrama de Secuencias  operación en clase receptora  Casos especiales: actores y clases de frontera  Estructura: Atributos  Se encuentran en el planteamiento del problema, los requerimientos y los casos de uso 07/02/2024 Énfasis en Ingeniería Telemática
  • 89. Diagrama de Secuencias con Operaciones : Usuario : IU_Acceso : Gestión Monitor : Tarjeta Monitor : IU_MenuPpal 1: Activa 3: DiálogoID_Clave Ingresa ID y Clave 5: validarAcceso(ID, Clave) 6: buscarCódigo(ID) 7: leerContraseña( ) 8: Activa 9: MenuMonitor 4: botonAceptarClick( ) 2: Activa 07/02/2024 Énfasis en Ingeniería Telemática
  • 90. Diagrama de Colaboración : Usuario : IU_ Acceso : Gestión Monitor : Tarjeta Monitor : IU_Menu Ppal 1: Activa 3: DiálogoID_Clave 4: botonAceptarClick( ) 5: validarAcceso(ID, Clave) 6: buscarCódigo(ID) 7: leerContraseña( ) 8: Activa 9: MenuMonitor 2: Activa 07/02/2024 Énfasis en Ingeniería Telemática
  • 91. Diagrama de Clases con Atributos y Operaciones «Boundary» IU_MenuPpal TLabel TImage TBitButton TEdit 1 1..* «Boundary» IU_Acceso botAceptarClick() activar() botCancelarClick() ocultar() color : Color posicion : XYCoord «Entity» TarjetaMonitor leerId() leerContraseña() actContraseña() id : String contraseña : String «Control» GestionMonitor crearMonitor() validarAcceso() actualizarMonitor() borrarMonitor() Consulta ID_Clave Activa Obtiene ID_Clave Operaciones  Mensajes Atributos  Requisitos 07/02/2024 Énfasis en Ingeniería Telemática
  • 92. Construcción de la Vista Lógica Identificar clases Identificar interacciones entre objetos Especificar relaciones entre clases Incorporar comportamiento y estructura Analizar comportamiento de objetos  Verificar el modelo 07/02/2024 Énfasis en Ingeniería Telemática
  • 93. Diagrama de Estados EnProceso constructor() Circulando Prestado Reservado Disponible Prestado Reservado prestar() Disponible retirar() destructor() exponer() devolver() borrarReserva() reservar() prestar() GestionEjempl eliminarIEjempl() crearEjempl() ejemplAEstante() ejemplATaller() GestionReserva consultarEjempl() reservarEjempl() borrarReserva() GestionPréstamo prestarEjempl() devolverEjempl() Ejemplar codigo: Integer cantidad: Integer estado: Integer exponer() reservar() borrarReserva() prestar() devolver() retirar() reponer() 07/02/2024 Énfasis en Ingeniería Telemática
  • 94. Construcción de la Vista Lógica Identificar clases Identificar interacciones entre objetos Especificar relaciones entre clases Incorporar comportamiento y estructura Analizar comportamiento de objetos Verificar el modelo 07/02/2024 Énfasis en Ingeniería Telemática
  • 95. Verificación del Modelo  Combinar clases  Duplicadas o similares  Dividir clases  “Una clase debe hacer una sola cosa y hacerlo bien!”  Eliminar clases  Sin operaciones o atributos. No participa en Casos de Uso  Verificación de consistencia  Estructura (estática) vs comportamiento (dinámica)  Recorrido (walk-through) de escenarios  Revisión de la documentación 07/02/2024 Énfasis en Ingeniería Telemática
  • 96. Referencias  Ivar Jacobson, Grady Booch and James Rumbaugh. “The Unified Software Development Process”. Addison-Wesley. 1998.  Philippe Kruchten. “The Rational Unified Process, An Introduction”. Addison-Wesley. March 2000  C. Larman. "Applying UML and Patterns. An Introduction to Object-Oriented Analysis and Design". Prentice-Hall. 1998  Rational. "Rational Unified Process: Best Practices for Software Development Teams". http://www.ibm.com/developerworks/rational/library/253.html.  Rational Unified Process Home Page. http://www.ibm.com/software/awdtools/rup/ 07/02/2024 Énfasis en Ingeniería Telemática
  • 97. Preguntas 07/02/2024 Énfasis en Ingeniería Telemática