Escolar Documentos
Profissional Documentos
Cultura Documentos
Guía Visual
Cómo crear
formas de vida
organizativa
© Vi l a l t a C o n s u l t o r e s 2 0 0 1
info@vico.org
R e v. 0 . 1 7 Josep Vilalta
Proyecto: Presentación del borrador: UML Guía Visual
Documento: UML Guía Visual
Historial: 03/09/01 9:03
Situación: Borrador en curso de revisión
Proceso: Evaluación de contenidos ref.- contacto: jvilalta@vico.org
Autor: Josep Vilalta
UML
Guía Visual
Cómo crear formas de vida organizativa
Presentación
Esta guía describe como definir, organizar y visualizar lo que denominamos formas de
vida organizativa (VIO) con la notación Unified Modelling Language (UML). Una VIO
representa un ciclo de actividad realizado por uno o varios agentes con un propósito
concreto, en base a una práctica consensuada para utilizar los recursos disponibles y
rg
para tomar las decisiones que caracterizan el comportamiento de una organización.
A diferencia de los sistemas biológicos, las VIO nacen y se desarrollan a partir de una
.o
voluntad compartida, de una idea y de un liderazgo. Pero de la misma manera que la
selección natural actúa en los sistemas biológicos, la continuidad de una VIO está
co
La notación UML (no hay que confundir con las metodologías que utilizan dicha
notación), se ha convertido desde finales de los 90 en un estándar para modelar con
tecnología orientada a objetos todos aquellos elementos que configuran la arquitectura
de un sistema de información y, por extensión, de los procesos de negocio de una
organización. De la misma manera que los planos de un arquitecto disponen el esquema
director a partir del cual levantamos un edificio, los diagramas UML suministran un
modelo de referencia para formalizar los procesos, reglas de negocio, objetos y
componentes de una organización. La interacción de todos estos elementos es una
representación de nuestra realidad.
Dir.: C:\Mis documentos\TRAD CD Borrador\UML Guía Visual Fecha actualización: Revisión: Página:
Presentación.doc Equipo: www.vico.org 04/09/01 11:16 18 1 de 9
Proyecto: Presentación del borrador: UML Guía Visual
Documento: UML Guía Visual
Historial: 03/09/01 9:03
Situación: Borrador en curso de revisión
Proceso: Evaluación de contenidos ref.- contacto: jvilalta@vico.org
Autor: Josep Vilalta
Nuestros límites para entender esta realidad están en nuestro lenguaje. El mundo es la
suma total de lo que podemos definir, organizar y visualizar. Cabe preguntarse ¿de qué
manera un modelo en UML representa nuestra experiencia?. Enseñar a utilizar un
lenguaje formal siempre es problemático. Es necesario mostrar como este lenguaje
puede ser aplicado a la realidad tal como la conocemos y tal como la compartimos con
los demás. Con esta guía visual mostramos de manera precisa las técnicas básicas para
usar UML en diferentes contextos. La clave está en discriminar cuales son aquellos
procedimientos esenciales que nos permiten evitar costosas confusiones conceptuales.
No es mediante el descubrimiento de nuevos objetos y de sus múltiples conexiones que
avanzamos en las respuestas a nuestros interrogantes cuando modelamos un dominio,
sino mediante la disolución de las contradicciones que existen entre los términos
rg
(conceptos) ya conocidos y, en último caso, mediante la reducción de su número
despejando aquellos conceptos que no añaden valor a la comprensión de dicho dominio.
Reconsiderar lo obvio, desenmascarar presunciones, desambigüar conceptos conocidos,
.o
todo en busca de la simplicidad y la usabilidad.
co
Dir.: C:\Mis documentos\TRAD CD Borrador\UML Guía Visual Fecha actualización: Revisión: Página:
Presentación.doc Equipo: www.vico.org 04/09/01 11:16 18 2 de 9
Proyecto: Presentación del borrador: UML Guía Visual
Documento: UML Guía Visual
Historial: 03/09/01 9:03
Situación: Borrador en curso de revisión
Proceso: Evaluación de contenidos ref.- contacto: jvilalta@vico.org
Autor: Josep Vilalta
rg
es su adaptación para el cambio. Esto significa crear modelos que faciliten la
comunicación entre todos los agentes involucrados en el sistema en construcción; que
hagan visible la trazabilidad entre la concepción de los componentes, su especificación,
.o
implementación e instalación; significa el diseño de arquitecturas que faciliten la
gestión de las dependencias entre estos componentes, que sean en fin, facilmente
co
reemplazables por otros más optimizados o bien por componentes que aporten una
mayor funcionalidad y/o facilidad de uso.
vi
Dir.: C:\Mis documentos\TRAD CD Borrador\UML Guía Visual Fecha actualización: Revisión: Página:
Presentación.doc Equipo: www.vico.org 04/09/01 11:16 18 3 de 9
Proyecto: Presentación del borrador: UML Guía Visual
Documento: UML Guía Visual
Historial: 03/09/01 9:03
Situación: Borrador en curso de revisión
Proceso: Evaluación de contenidos ref.- contacto: jvilalta@vico.org
Autor: Josep Vilalta
rg
distintos procedimientos serán de utilidad para los estudiantes que sigan programas de
autoaprendizaje y usen esta guía como complemento para sus lecturas de libros sobre
.o
UML. También los centros académicos y profesores dispondrán con esta guía de
material interesante para completar sus diseños curriculares y proporcionar ejemplos
prácticos a sus alumnos.
co
vi
Dir.: C:\Mis documentos\TRAD CD Borrador\UML Guía Visual Fecha actualización: Revisión: Página:
Presentación.doc Equipo: www.vico.org 04/09/01 11:16 18 4 de 9
Proyecto: Presentación del borrador: UML Guía Visual
Documento: UML Guía Visual
Historial: 03/09/01 9:03
Situación: Borrador en curso de revisión
Proceso: Evaluación de contenidos ref.- contacto: jvilalta@vico.org
Autor: Josep Vilalta
Un plan de estudio para realizar una progresiva asimilación de los conceptos podría
empezar con los Casos de Uso (CU) y continuar con el análisis de los flujos de trabajo
de un grupo de CU mediante los diagramas de Actividad; a continuación, separar los
escenarios que agrupan una serie de actividades y hacer aflorar, a través de los
diagramas de Interacción, los objetos que intercambian una serie de mensajes. A partir
de este punto, disponemos del bagaje suficiente como para introducirnos en la
abstracción de los objetos y comprender la importancia de separar las tres perspectivas
básicas en nuestra representación de las clases: concepción, especificación e
implementación. El siguiente paso es identificar alguna clase con un comportamiento
complejo que la haga candidata a revisar todos sus posibles estados y averiguar que
eventos son capaces de provocar un cambio de estado. El diagrama de Estados-
rg
Transición será el adecuado para representar esta dinámica de estados. Finalmente,
abordaremos la configuración de componentes y su despliegue en una arquitectura.
.o
Otra lectura de la guía puede estar mas centrada en el seguimiento de la metodología de
desarrollo y la gestión de un proyecto. En este caso, las primeras secciones describen
co
El estudiante más avanzado podrá sacar también provecho con la consulta puntual de
los diagramas en que esté más interesado y la revisión de sus extensiones. Las materias
expuestas en las distintas secciones están actualizadas constantemente y pueden
descargarse nuevas ediciones desde: http://www.vico.org/UMLguiavisual/
Dir.: C:\Mis documentos\TRAD CD Borrador\UML Guía Visual Fecha actualización: Revisión: Página:
Presentación.doc Equipo: www.vico.org 04/09/01 11:16 18 5 de 9
Proyecto: Presentación del borrador: UML Guía Visual
Documento: UML Guía Visual
Historial: 03/09/01 9:03
Situación: Borrador en curso de revisión
Proceso: Evaluación de contenidos ref.- contacto: jvilalta@vico.org
Autor: Josep Vilalta
rg
Models y Java Modeling Color with UML, han sido de una ayuda extraordinaria. La
obra enciclopédica The Unified Modeling Language: Reference Manual de Rumbaugh
.o
& Jacobson & Booch, es un punto de referencia constante. Sin duda, uno de los autores
más influyentes ha sido Martin Fowler. Su primer libro Analysis Patterns continua
siendo una referencia clave. Posteriormente, la primera edición de UML Distilled en
co
a si mismo. También recientes y con muy buen material que ha sido incorporado a la
guía, tenemos los libros de Wendy & Michael Boggs, Mastering UML with Rational
Rose, de Alistair Cockburn, Writing Effective Use Cases; de Scott W. Ambler, The
Object Primer segunda edición; y de John Chessman & John Daniels, UML
Components, una de las novedades más interesantes de 2001. En la bibliografía sobre
UML publicada en http://www.vico.org hay una relación completa de los libros
consultados que se actualiza periódicamente con las últimas novedades.
Dir.: C:\Mis documentos\TRAD CD Borrador\UML Guía Visual Fecha actualización: Revisión: Página:
Presentación.doc Equipo: www.vico.org 04/09/01 11:16 18 6 de 9
Proyecto: Presentación del borrador: UML Guía Visual
Documento: UML Guía Visual
Historial: 03/09/01 9:03
Situación: Borrador en curso de revisión
Proceso: Evaluación de contenidos ref.- contacto: jvilalta@vico.org
Autor: Josep Vilalta
Competencia y actuación
En los últimos veinte años de mi carrera profesional en el desarrollo de sistemas de
información he participado en una gran diversidad de proyectos con distintos grados de
responsabilidad e involucración, pero siempre con un compromiso firme en la calidad y
usabilidad del producto final.
Entorno industrial
o CIM para la extrusión de polietileno y fabricación de mallas agrícolas y
de embalaje.
o CIM para el fraccionamiento de hemoderivados
o Plan Funcional para la implementación SAP-Logística
rg
Entorno sanitario
.o
o Gestión de Bancos de Sangre y Hemoterapia
o Planificación y gestión de campañas de captación de donantes
o Gestión mutual de prestaciones asistenciales
co
resultados
o Gestión de laboratorios farmacéuticos
o Historia Clínica Orientada por Problemas Automatizada
o Libreta de Salud para programación de citas y exploraciones
o Gestión integrada de servicios de Atención Primaria
o Plan Funcional para la implementación SAP-Gestión Clínica y
Asistencial
Dir.: C:\Mis documentos\TRAD CD Borrador\UML Guía Visual Fecha actualización: Revisión: Página:
Presentación.doc Equipo: www.vico.org 04/09/01 11:16 18 7 de 9
Proyecto: Presentación del borrador: UML Guía Visual
Documento: UML Guía Visual
Historial: 03/09/01 9:03
Situación: Borrador en curso de revisión
Proceso: Evaluación de contenidos ref.- contacto: jvilalta@vico.org
Autor: Josep Vilalta
rg
Entorno comercial
o Merchandising de productos farmacéuticos
o Subastas y liquidación de lotes
.o
o Gestión de redes de puntos de venta con videoconferencia
co
Entorno de servicios
o Auditorías Informáticas
o Plan de Sistemas de Información
vi
Entorno académico
o Programa de acceso a la universidad para mayores de 25 años
o Gestión de títulos universitarios
o Estudios de tercer cliclo: diseño curricular, publicación y gestión
académica
Dir.: C:\Mis documentos\TRAD CD Borrador\UML Guía Visual Fecha actualización: Revisión: Página:
Presentación.doc Equipo: www.vico.org 04/09/01 11:16 18 8 de 9
Proyecto: Presentación del borrador: UML Guía Visual
Documento: UML Guía Visual
Historial: 03/09/01 9:03
Situación: Borrador en curso de revisión
Proceso: Evaluación de contenidos ref.- contacto: jvilalta@vico.org
Autor: Josep Vilalta
Entorno docente
o Tutorías de proyectos de fin de carrera con UML
o Cursos de Análisis, Diseño y Patrones
o Talleres de introducción a UML
o Talleres avanzados de UML con Rose y Visio
o Talleres monográficos (Casos de Uso, Métrica, Metodología)
Entorno de I+D
o Bases de conocimiento con vocabularios controlados
o Procesador de lenguaje natural dentro del dominio médico
o Reconocimiento automático de conceptos clínicos a partir de textos no
rg estructurados
.o
Agradecimientos
co
En primer lugar a los clientes que con su confianza han permitido que pueda desarrollar
mi carrera profesional. También a los autores antes mencionados por su valioso trabajo
en el avance de la disciplina de la ingeniería del software y en la consolidación de UML
vi
Josep Vilalta
Badalona, Barcelona (España)
jvilalta@vico.org
http://www.vico.org
Dir.: C:\Mis documentos\TRAD CD Borrador\UML Guía Visual Fecha actualización: Revisión: Página:
Presentación.doc Equipo: www.vico.org 04/09/01 11:16 18 9 de 9
1
Niveles de concepción y formalización
de un proyecto
Nivel ø
C ó d i g o
Use Case Una ventana de Una línea Un item
introducción de Un pedido Cliente
de pedido de stock
Pedido
Use Case pedidos * 1 hacer /
comprobación
hacer /
M G
Una ventana de comprobación Cliente
Una línea Un item item
introducción de Un pedido de pedido Pedido
de stock * hacer /
pedidos 1
<< Extends >> [tieneStock] hacer /
comprobación
[tieneStock]
Cliente Cliente
nuevo
[tieneStock] Corporativo Personal
1
nuevo
hacer /
comprobación
jvilalta@vico.org
Entrar Entrar
P
Pedido
CU
Reposición
Seleccionar ionar primer item
Validar Pedidos [Todos los items comprobados &&
Riesgo Pendientes todos los items disponibles]
Entrar ionar primer item
*Seleccionar
[para cada pedido seleccionado] rimer item Verificando Sirviendo
[Todos los items comprobados &&
Reposición
Pedidos hacer / todos los items disponibles]
hacer /
comprobación inicio de
Validar Asignar * [para cada pedido seleccionado] item
rimer item Verificando entregasSirviendo
Pago
Items hacer /
s]
hacer /
le
comprobación inicio de
n ib
Asignar item entregas
po
rimer item Entregado
d is
Items
s]
it e o
s
le
Cronograma
m
lo id
n ib
o s e c ib
po
rimer item
s
Entregado
od R
d is
m
rimer item
it e o
s
I te
m
lo id
o s e c ib
[T
Esperando Entregado
s
Plan Director
od R
m
rimer item
I te
[T
Activar Regularizar Esperando Entregado
Pedido Activar StockRegularizar
Pedido Stock
Iteraciones
Tiempo
Fases
Iteraciones
PDP 2
E s f u e r z o d e d e s a r ro l l o
Procesos Producto
Actividades
Entregables
Misión
Modelo
jvilalta@vico.org
Prototipo
© Vilalta Consultores 2000 - TRAD PDP iteraciones_esp - Rev. 4.2 -
Componentes
Certificación
Iteraciones
3
PDP Misión
Modelo
Concepción Formalización Construcción Transición
P l a n D i re c t o r d e P ro y e c t o Prototipo
Componentes
Certificación
Concepción Iteraciones
M P
Matrícula Procesos
jvilalta@vico.org
P P
Use Case
Use Case
Cliente
Pedido
* hacer /
<<Incluye>>
hacer /
1 comprobación Use Case
comprobación Cliente
item
Pedido
<< Extends >>
* hacer /
1 comprobación
hacer /
comprobación
<<Extiende >>
1 item
Use Case
Cliente Cliente
Corporativo Personal
1
Misión
hacer /
comprobación
item Cliente Cliente Actor 1
Corporativo Personal << Communicates >> Use Case
© Vilalta Consultores 2001 - TRAD PDP misión_esp2 - Rev. 5.2 -
hacer /
* comprobación
item
0..1 <<Generalización>> << Uses >>
*
Comercial *
Línea de Pedido
0..1 <<Incluye>>
hacer /
comprobación * 1
* Comercial
Línea de Pedido
Producto Actor 2 Use Case
hacer /
comprobación
* 1
Producto
Patrones de Patrones de
Análisis Funcionalidad
PDI
P
G
Cronograma
Glosario Plan Director
de Conceptos Iteraciones
Anteproyecto
4
PDP Misión
Modelo
Concepción Formalización Construcción Transición
P l a n D i re c t o r d e P ro y e c t o Prototipo
Componentes
Certificación
Iteraciones
Fo r m a l i z a c i ó n
Una ventana de
Use Case introducción de Un pedido
Una línea Un item
de pedido de stock Cliente
pedidos
Pedido
Use Case * 1 hacer /
comprobación
Una ventana de Una línea Un item
hacer /
comprobación Cliente
introducción de Un pedido de pedido item
de stock
pedidos Pedido hacer /
* 1
<< Extends >> [tieneStock]
nuevo tieneStock:= comprobar ( ) hacer /
comprobación
1 comprobación
<< Extends >> [tieneStock]
item
nuevo
[tieneStock] Cliente Cliente
nuevo Corporativo Personal
1
hacer /
[tieneStock] comprobación
: Pedido item Cliente Cliente
nuevo Corporativo Personal
Actor tieneStock:( )
hacer /
<< Communicates >> * comprobación
item
xxx línea : Línea de pedido: Pedido
xxx stock : item de stock 0..1
<< Communicates >> *
<< Uses >> Comercial *
Línea de Pedido
<< Uses >> xxx línea : Línea de pedido
: Item de Expedición : Item de Pedido de reposición
xxx stock : item de stock hacer /
0..1
jvilalta@vico.org
comprobación * 1
* Comercial
Producto
Línea de Pedido
Actor : Item de Expedición : Item de Pedido de reposición
hacer /
comprobación
* 1
Producto
P
Diagramas de Interacción Análisis
P
Use Case
Use Case
<<Incluye>>
Use Case
Casos de Uso de objetos y Diseño Pedido
* 1
Cliente
hacer /
comprobación
hacer /
comprobación
<< Extends >> item
Cliente
Pedido hacer /
*
© Vilalta Consultores 2001 - TRAD PDP modelo_esp2 - Rev. 5.3 -
1 comprobación
<<Extiende >> hacer /
comprobación
1 item
Use Case
Cliente Cliente
Corporativo Personal
1
hacer /
Actor 1 comprobación
item Cliente Cliente
<< Communicates >>
Modelo
Corporativo Personal
Use Case
hacer /
* comprobación
item
<<Generalización>> << Uses >> 0..1
*
Comercial *
<<Incluye>> Línea de Pedido
0..1
hacer /
comprobación * 1
* Comercial
Actor 2 Use Case Línea de Pedido
Producto
hacer /
comprobación
* 1
Producto
Patrones de Patrones de
Funcionalidad Entrar
Reposición
Análisis
Entrar Entrar
Pedido
CU
Reposición
Seleccionar ionar primer item
Validar Pedidos [Todos los items comprobados &&
Riesgo Pendientes todos los items disponibles]
Entrar ionar primer item
*Seleccionar
[para cada pedido seleccionado] rimer item Verificando Sirviendo
[Todos los items comprobados &&
Reposición
Pedidos hacer / todos los items disponibles]
hacer /
comprobación inicio de
Validar Asignar * [para cada pedido seleccionado] item
rimer item Verificando entregasSirviendo
Pago
Items hacer /
s]
hacer /
le
comprobación inicio de
n ib
Asignar item entregas
po
rimer item Entregado
d is
Items
s]
it e o
s
le
m
lo id
n ib
o s e c ib
po
rimer item
s
Entregado
od R
d is
m
rimer item
it e o
s
I te
m
lo id
o s e c ib
[T
Esperando Entregado
s
od R
m
rimer item
I te
[T
Activar Regularizar Esperando Entregado
Pedido Activar StockRegularizar
Pedido Stock
PDP Misión
Modelo
Concepción Formalización Construcción Transición
P l a n D i re c t o r d e P ro y e c t o Prototipo
Componentes
Certificación
Iteraciones
Construcción
Cliente
Pedido hacer /
* 1 comprobación
hacer /
comprobación Cliente
item
Pedido hacer /
* 1 comprobación
hacer /
1 comprobación
item
Comercial *
Línea de Pedido
✔ 0..1
✔
hacer /
Cliente comprobación * 1
* Comercial
Pedido Producto
* hacer / ✔ Línea de Pedido
1 comprobación
✔
hacer / hacer /
comprobación comprobación
* 1
item Producto
Clases
Cliente Cliente
Interface
Corporativo Personal
hacer /
comprobación
item
Gráfico de Usuario
*
Línea de Pedido
0..1
Comercial Diseño
Implementación
hacer /
comprobación
* 1
Producto
Cliente
© Vilalta Consultores 2001 - TRAD PDP construcción_esp2 - Rev. 5.3 -
Pedido hacer /
* 1 comprobación
hacer /
comprobación Cliente
item
Pedido hacer /
* 1 comprobación
hacer /
1 comprobación
item
P
Cliente Cliente
Corporativo Personal
1
hacer /
comprobación
Componentes
item Cliente Cliente
Corporativo Personal
hacer /
* comprobación
item
0..1
*
Comercial *
Línea de Pedido
0..1
hacer /
comprobación * 1
* Comercial
Producto
Línea de Pedido
hacer /
comprobación
* 1
Producto
Patrones de
Framework Diseño
de Aplicaciones
PDP
Concepción Formalización Construcción Transición
Misión
Modelo
P l a n D i re c t o r d e P ro y e c t o Prototipo
Componentes
Certificación
Iteraciones
Concepción Fo r m a l i z a c i ó n Construcción
M
* hacer / comprobación
1
P
comprobación hacer /
hacer / comprobación Cliente
Una ventana de Una línea Un item comprobación item
Cliente
introducción de Un pedido de pedido
item Pedido hacer /
de stock Pedido * 1
pedidos * hacer / comprobación
1
<< Extends >> [tieneStock]
hacer /
comprobación hacer /
comprobación
nuevo tieneStock:= comprobar ( ) comprobación 1 item
1
<< Extends >> item
[tieneStock] Cliente Cliente
Cliente Cliente *Acta Versión Fecha
nuevo
[tieneStock]
Año Académico Corporativo Personal
Corporativo Personal ** Tribunal 1
nuevo 1 Destino Alumnos hacer /
hacer / comprobación
comprobación item Cliente Cliente
[tieneStock] item Cliente Cliente
: Pedido Corporativo Personal
nuevo Corporativo Personal
Actor tieneStock:( )
hacer / *
hacer /
comprobación
<< Communicates >> * comprobación
item Selección Alumno P. Global P. Esp. Resultado Ver
item
0..1
xxx línea : Línea de pedido: Pedido 0..1
<< Communicates >> xxx stock : item de stock
*
*
Comercial *
<< Uses >> Comercial * Línea de Pedido
Línea de Pedido ✔ 0..1
hacer /
<< Uses >> xxx línea : Línea de pedido
: Item de Expedición : Item de Pedido de reposición hacer /
0..1
comprobación
*
* 1 Comercial
xxx stock : item de stock comprobación * 1
* Comercial Producto
Producto ✔ Línea de Pedido
Línea de Pedido
hacer /
Actor : Item de Expedición : Item de Pedido de reposición
hacer /
comprobación
comprobación
* 1
* 1 Producto
Producto
Entrar
Reposición
PDI
P
Entrar
G
Entrar
Pedido
CU
Reposición
Seleccionar ionar primer item
Validar Pedidos [Todos los items comprobados &&
Riesgo Pendientes todos los items disponibles]
Entrar ionar primer item
*Seleccionar
[para cada pedido seleccionado] rimer item Verificando Sirviendo
[Todos los items comprobados &&
Reposición
Pedidos hacer / todos los items disponibles]
hacer /
comprobación inicio de
Validar Asignar * [para cada pedido seleccionado] item
rimer item Verificando entregasSirviendo
Pago
Items hacer /
s]
hacer /
le
comprobación inicio de
n ib
Asignar item entregas
po
rimer item Entregado
d is
Items
s]
it e o
s
le
m
lo id
n ib
o s e c ib
po
rimer item
s
Entregado
od R
d is
m
rimer item
it e o
s
I te
m
lo id
o s e c ib
[T
Esperando Entregado
s
od R
m
rimer item
I te
[T
Activar Regularizar Esperando Entregado
Pedido Activar StockRegularizar
Pedido Stock
Cronograma
Glosario Plan Director Especificación Flujos de Dinámica
de Conceptos Iteraciones Casos de Uso Trabajo Eventos Base de Datos Arquitectura
Esquema de Persistencia Componentes
Estados
Anteproyecto
1
¿ Cómo identificar Actores ?
Interacción de un
Actor con el Sistema
Us ar Caje ro
Automátic o
<< Incluye >> S u b sistema
d e cu en tas
clien te
- Ro le d e su b sistema -
R e a l i z a r una
Relación que indica la t ra nsa c c i ón
especialización a partir de una Interacción del
C lien te función genérica Sistema con un Actor
<<Generaliza>>
Retirar Activar
jvilalta@vico.org
Efectivo Ta r j e t a S u b sitema
Consultar d e certificació n
Movimientos
d e med io s
d e p ag o
S is te ma e n proc e s o de mode la do
Actores
© Vilalta Consultores 2001 - TRAD Actores_esp - Rev. 5.1 -
- Ro le d e su b sistema -
• Representan a un agente que interactúa con el sistema
• No son parte del sistema que se desarrolla
A la búsqueda de Actores.-
• Entran información al sistema
• Reciben información del sistema 1. ¿ Quien está interesado en un requerimiento concreto ?
• Entran y reciben información
2. ¿ En qué dominios de la organización se usará el sistema ?
3. ¿ Quien será beneficiario de la nueva funcionalidad ?
Use Case
Actor
5. ¿ Quien dará soporte y administrará el sistema ?
6. ¿ Usará el sistema un recurso externo ?
<< Communicates >>
Actor
Hacer un
Abr ir Arque o << Extiende >> Ini ci o de Dí a
Relación que describe una variación
Interacción de un posible del comportamiento normal
Actor con el Sistema de un Use Case
<< Incluye >>
C ajero
- Rol de us ua rio - Ha c e r un
C e r r ar Arque o << Extiende >> Fi n de Dí a Relación que permite descomponer
un Use Case con un determinado
nivel de granularidad
<< Incluye >> << Incluye >>
Relación que indica el uso de
jvilalta@vico.org
Interacción del
Sistema con un Actor
Use Case
2. ¿ Algún actor creará, almacenará, cambiará, borrará o leerá información del sistema ?
<< Extends >>
3. ¿ Qué Casos de Uso crearán, almacenarán, cambiarán, borrarán o leerán esta información ?
Actor 5. ¿ Es necesario que un Actor sea informado sobre ciertas incidencias del sistema ?
Especificación
Actor
de un Caso de Uso
Actor
Funcionalidad
Diagramas de
L
Casos de Uso
Caso de Uso principal Límites: Cuando empieza y cómo termina el Caso de Uso.
I
Ha c e r un
C e r r ar A rque o << Extiende >> Fin de Día Interacciones: Comportamiento de Actores y Sistema.
Acción-Reacción dentro del Caso de Uso.
Imprimir
doc ume nto <<Generaliza>>
Imprimir
tira de a rque o
I Índice de escenarios: Flujo principal de eventos y secuencia
de variaciones posibles dentro de un Caso de Uso.
jvilalta@vico.org
Propósito
- Regla de Negocio - Precondiciones Activación Flujo Principal Variaciones Excepciones
Cerrar un periodo de • Arqueo abierto • A discreción de un Actor 1. Sistema requiere confirmación de a. Si Actor decide aparcar el cierre de arqueo,
movimientos de caja • Actor habilitado habilitado cierre de arqueo. sistema activa UC Aparca_arqueo y termina
• TPV abierto el UC.
para obtener una 2. Sistema comprueba la configuración
• TPV habilitado a. Cierre de arqueo de tipo abierto:
situación real de dinero de TPV para identificar tipo de cierre. • Actor decide el momento de imprimir el
en efectivo y en documento “Tira de Arqueo”.
documentos. b. Cierre de arqueo de tipo ciego:
3. Sistema calcula los totales teóricos • Sistema no muestra los totales teóricos para
para cada forma de cobro. cada forma de cobro.
C e rra r A rque o
Export a r
movimient os
6. Fiel trazabilidad para verificar la traducción
de requerimientos en código ejecutable.
<< Incluye >> 7. Mayor control para mantener las sucesivas
© Vilalta Consultores 2001 - TRAD modelo UC_esp - Rev. 5.1 -
Imprimir
<<Generaliza>>
Imprim i r
tira de arque o
8. Certificación contractual Cliente-
doc ume nto
Desarrollador.
Actor
<< Uses >>
del sistema: Soporte de Mantenimiento.
Funcionalidad
Diagramas de
Casos de Uso
5
usuario información
Mo
jvilalta@vico.org
Cer tif ic ac
delo
Caso de Uso
Implementación
Dinámica de
© Vilalta Consultores 2001 - TRAD Req y CUs_esp - Rev. 1.1 -
de código y
Refactoring Clases complejas
Métrica: Escenarios de
Escandallo de interacción
sti
recursos de objetos:
n y actividades Clases de diseño
ur
Use Case
a
ó
de
ct
<< Extends >>
Pr e
ui t
Actor
oye
A rq
<< Communicates >>
cto
<< Uses >>
Actor
Funcionalidad
Diagramas de
Casos de Uso
Recepción Evento que
CU Realizar pedido de un desencadena
la secuencia de
Flujo Principal Va r i a c i o n e s Diagrama de Actividad Pedido
actividades
1. Usuario identifica el cliente que ha
Notación UML 1.3
enviado un pedido.
2. Usuario entra lineas de pedido, con su
código de artículo, tipo de presentación
y cantidad.
Identificar Actividad
3. Sistema comprueba cada línea del a. Artículo NO está vigente en catálogo, sistema Análisis textual Cliente
pedido para validar la situación del informa que articulo no está vigente y del Caso de Uso
artículo en catálogo y el número de muestra artículos alternativos activando el
items del artículo en stock. CU Seleccionar artículo.
b. SI existen suficientes items del artículo en
Entrar
el stock, sistema asigna items al pedido.
líneas pedido
c. NO existen suficientes items del artículo en
stock, o la asignación de items deja la Concurrencia dinámica de actividades
situación del artículo en stock por debajo del Barra de sincronización
nivel de reposición, sistema genera pedido
de reposición activando el CU Generar
pedido. * [para cada línea de pedido]
4. Sistema comprueba la situación del a. SI se ha realizado el pago y SI todos los items
pedido . del pedido han sido asignados, sistema
informa que procede a servir el pedido Comprobar Comprobar
activando el CU Servir pedido. Artículo
Pago
b. SI se ha realizado el pago y NO existen
suficientes items del artículo en stock, sistema
[NO vigente] Seleccionar
aparca el pedido del cliente activando el CU
jvilalta@vico.org
[NO]
© Vilalta Consultores 2001 - TRAD Actividad 1_esp - Rev. 7.1 -
Asignar
Descripción
Cancelar
1 Pedido Items
[SI] [NO Stock] o
Validar
Riesgo
Validar
Asignar
Items
Pedido Pedido
Flujos de
Trabajo
CU Actualizar reposición
Flujo Principal
Descripción 2
Validar
Riesgo
Seleccionar
Pedidos
Servir Regularizar
Validar
Pago
* [para cada pedido seleccionado]
Asignar
Pedido Stock
Items
Activar Regularizar
Pedido Stock
Fin de la secuencia de
actividades Flujos de
Trabajo
Recepción
de un Descripción 3
Identificar
Pedido
de un Flujo de Trabajo
Cliente
Un diagrama de actividad puede mostrar la secuencia de
actividades que se desarrolla en un paquete de Casos de
Entrar Uso que define un proceso de negocio y sus áreas de
Diagrama de Actividad líneas pedido responsabilidad.
Notación UML 1.3
Pedido
[SI éxito]
Generar Regularizar
reposición Stock
[NO Stock]
o [SI umbral reposición]
Comprobar
Contabilidad situación Pedido Comercial Almacén
Entrar
Pedido
Validar
Riesgo
Seleccionar
Pedidos
Servir Aparcar
Pedido Pedido Flujos de
Trabajo
Descomposición
de la actividad
Descripción 4
Comprobar de un Flujo de Trabajo
Pago
Su objetivo no es relacionar actividad con objetos, sólo
comprender qué actividades son necesarias y cuales son sus
Diagrama de Actividad relaciones de dependencia.
Notación UML 1.3
El diagrama de actividad nos permite definir en qué orden
se van a realizar distintas tareas. Los diagramas de flujo
(flowchart) sólo nos permiten modelar procesos secuenciales,
mientras que los diagramas de actividad nos permiten
establecer procesos en paralelo.
Pueden procesarse distintas
modalidades de pago de Comprobar
manera simultanea Pago
[Tarjeta de Crédito]
[Factura]
jvilalta@vico.org
Validar
Riesgo
Asignar
Items
Abrir
Cuenta Cliente
Activar Regularizar
Pedido
SI éxito
Stock
Flujos de
Trabajo
CU Realizar pedido
Flujo Principal Va r i a c i o n e s Descripción 1
de un Escenario
1. Usuario identifica el cliente que ha
enviado un pedido.
2. Usuario entra lineas de pedido, con su
código de artículo, tipo de presentación Un escenario muestra de que manera interactúan los distintos
y cantidad.
objetos dentro del flujo principal de eventos de un Caso de
3. Sistema comprueba cada línea del a. Artículo NO está vigente en catálogo, sistema
pedido para validar la situación del informa que articulo no está vigente y Uso con alguna variación o extensión concreta del mismo.
artículo en catálogo y el número de muestra artículos alternativos activando el
items del artículo en stock. CU Seleccionar artículo.
Análisis textual
del Use Case
b. SI existen suficientes items del artículo en
el stock, sistema asigna items al pedido.
Utilizamos dos diagramas de interacción:
c. NO existen suficientes items del artículo en a/. Secuencia
stock, o la asignación de items deja la b/. Colaboración
situación del artículo en stock por debajo del
nivel de reposición, sistema genera pedido Su finalidad es describir los mensajes que intercambian los
de reposición activando el CU Generar distintos objetos para cumplir con las responsabilidades
Objetos que pedido.
interactúan
definidas en un escenario concreto de un Caso de Uso.
: C o m erci al Pedidos
(1) Mensajes enviados entre los objetos descritos en
el flujo de eventos de un Caso de Uso.
1:indentificarCliente ( )
2:generarPedido ( ) Estos mensajes muestran el nivel de colaboración
entre los distintos objetos existentes e indican
3:entrarLíneaPedido ( ) cuando se requiere generar nuevos objetos para
© Vilalta Consultores 2001 - TRAD Secuencia_esp - Rev. 6.1 -
5:comprobarStock ( )
6:asignarItems ( ) Auto-mensaje
Creación de
(1) Mensaje 7:realizarReposición ( ) un nuevo
objeto
Línea de vida
de un objeto
durante la interacción
:Un Pedido
8:generarReposición ( ) Una ventana de
introducción de Un pedido
Una línea
de pedido
Un item
de stock
de
pedidos
Reposición
[tieneStock]
nuevo
[tieneStock]
nuevo
tieneStock:( )
: Pedido
Diagrama de Secuencia
: Item de Expedición : Item de Pedido de reposición
[tieneStock]
nuevo
[tieneStock]
nuevo
8: generarReposición ( )
tieneStock:( )
: Pedido
valorarCredito( ): string
Los objetos que se han creado a partir de una Clase concreta, Cantidad
se llaman instancias de esta Clase y se diferencian entre ellos Importe
Cumplimentada * 1
únicamente por los valores de sus atributos (variables). Producto
aceptar ( )
Objetos
© Vilalta Consultores 2001 - TRAD Clases 1_esp - Rev. 6.1 -
Diagrama de Clases
Notación UML 1.3
hacer /
comprobación
* 1
Cliente
hacer /
comprobación
Cliente Cliente
0..1
*
Comercial
Línea de Pedido
vacp 104
© Vilalta Consultores 2001 - TRAD Clases 2_esp - Rev. 3.1 -
m
do
ét
o
od
ét
o
m
2
Atributos
3
m
Cliente
Pedido
o
* hacer /
1 comprobación
hacer /
ét
od
comprobación
item
od
t
1
é Cliente
Corporativo
Cliente
Personal
o
hacer /
m
comprobación
item
4
0..1
*
Comercial
Línea de Pedido
hacer /
comprobación
* 1
Producto
Clases
Objeto 3
em
m
It
ov
ar
er
rg
H
ca
ac
ia
jvilalta@vico.org
Atributos
a
el
m
ev
or
ar
f
ta
Pl
a
Pl
© Vilalta Consultores 2001 - TRAD Clases 3_esp - Rev. 2.2 -
at
af
a r
or
aj
m
b ¿Qué conozco?
a
Variables.-
• Identificación
• Medidas de la carga
• Capacidad de carga
• Velocidad máxima
• Tipo de carga Pedido
* 1
Cliente
hacer /
comprobación
hacer /
comprobación
item
Estado.- Cliente
Corporativo
Cliente
Personal
hacer /
comprobación
item
• Localización *
Línea de Pedido
0..1
Comercial
• Orientación
hacer /
comprobación
* 1
Producto
• Velocidad
Clases
Mensaje 4
vacp104
jvilalta@vico.org
em
m
ar
er
rg Objeto Emisor
H
© Vilalta Consultores 2001 - TRAD Clases 4_esp - Rev. 1.2 -
ca
ac
ia
Atributos
Signatura del mensaje
a
el
rm
ev
fo
ar
a
Pl
at
at
l
rP
af
ja
or
ba
m
Cliente
a
Pedido hacer /
* 1 comprobación
hacer /
comprobación
item
Cliente Cliente
Corporativo Personal
hacer /
comprobación
item
Objeto Receptor *
*
0..1
Comercial
Línea de Pedido
hacer /
comprobación
* 1
Producto
Clases
Encapsulación 5
Interface de mensajes
La clave está precisamente en este envoltorio del objeto.
La interface que rodea por completo al objeto actúa como
punto de contacto para todos los mensajes que llegan desde
Conjunto de operaciones cualquier objeto emisor.
externamente visibles que
define el comportamiento
de un objeto
La interface de mensajes tiene la misma función que la
membrana de una célula, disponer de una barrera esencial
entre la estructura interna de un objeto y el exterior.
m
m
e
rIt
ov
ca
ac
Atributos
el
a
ev
r m
o
ar
af
Pl
t
la
at
P
af
r
ja
or
ba
m
Cliente
Pedido hacer /
* 1 comprobación
hacer /
comprobación
item
Mensaje 1
Cliente Cliente
Corporativo Personal
hacer /
comprobación
item
0..1
*
Comercial
Línea de Pedido
hacer /
comprobación
* 1
Producto
vacp104
Clases
Herencia 6
Es el mecanismo por el cual una clase de objetos puede ser La interface de mensajes definida para una Superclase
definida como un caso especial de otra clase más genérica. también es heredada por las subclases. Esto implica que
Los casos especiales de una clase se denominan Subclases. todas las Subclases de una Superclase estan preparadas
La clase más genérica, se conoce como la Superclase de para responder correctamente a los mismos mensajes que
todos sus casos especiales. Además de los métodos y atributos la Clase padre. Esta propiedad es extremadamente útil
que heredan, las Subclases definen sus propios métodos y porque nos permite tratar de la misma manera a todas las
atributos. Tambien, pueden redefinir algunos de los especializaciones de una Clase.
heredados (overriding).
SuperClase
jvilalta@vico.org
vac 104
r It
ov
a
Métodos
er
rg
Cliente
H
Pedido
ca
ac
* hacer /
1 comprobación
ia
hacer /
comprobación
item
Atributos 1
a Atributos
el
Cliente Cliente
m
ev
or
Corporativo Personal
ar
af
hacer /
Pl
comprobación
at
item
at
l
rP
af
Instancias de ja
*
or
ba
m
0..1
a
*
Comercial
Los objetos que contienen a otros objetos se denominan También pueden contener referencias de otros objetos. Las
Objetos Compuestos. Los atributos de un objeto pueden referencias almacenadas en los atributos de un objeto
utilizarse de dos maneras. Podemos usarlos para almacenar compuesto, permite a este objeto enviar los mensajes
valores como el número 15, o bien, el texto “Autorizado”. apropiados a todos los objetos contenidos.
67%
Tab Tab control
Trackbar
< Back Next > Cancel
jvilalta@vico.org
Campo simple
© Vilalta Consultores 2001 - TRAD Clases 7_esp - Rev. 2.1 -
Scroll
Botones de ventana
Restore Maximize Combo box Pedido
hacer /
comprobación
* 1
Cliente
hacer /
comprobación
item
Cliente Cliente
Corporativo Personal
hacer /
comprobación
? Close *
Línea de Pedido
hacer /
0..1
Comercial
comprobación
* 1
Producto
Clases
Polimorfismo 8
SubClase SubClase
No hay necesidad así de picar un código específico para
cada tipo de vehículo, con lo cual, nos ahorramos prolijas
sentencias IF o CASE que son complejas de mantener y de
actualizar cuando se incorporan nuevos tipos de objetos.
m
m
Ite m
m
ov
ar Ite
cargarItem: #A234C19FZ
ov
er
rg ar
er
H
ca rg
ac
ca
ac
ia
ia
Atributos Cliente
Atributos Pedido
* 1 hacer /
comprobación
a
el
hacer /
comprobación
m a
ev
el
item
r
rm
ev
fo
ar
ta fo
ar
Pl
ta
1
la
Pl
at
rP la Mensaje
at
af
Cliente
rP
Cliente
ja
af
or
Corporativo Personal
ba ja
or
m
ba
hacer /
m
a
comprobación
item
a
0..1
*
Comercial
Línea de Pedido
hacer /
comprobación
* 1
Producto
Consideremos la Clase CLIENTE que dispone <<Josep V.>>, puede acceder a Java permite marcar también las Clases
Ejemplos
* hacer /
1 comprobación
hacer /
1
de una subclase CLIENTE PERSONAL. como públicas o packages. Los elementos
Cliente
Corporativo
Cliente
Personal Consideremos también que el objeto <<Josep de su propio objeto, si dicha variable de una Clase pública pueden ser usados por
hacer /
comprobación
item
V.>>, es una instancia de CLIENTE ha sido definida dentro de CLIENTE cualquier Clase que importe el package a
*
*
0..1
Comercial
PERSONAL. o CLIENTE PERSONAL. De esta la que pertenece la Clase.
Línea de Pedido
hacer /
comprobación
* 1
Producto <<Josep V.>> manera, el concepto de visibilidad Los elementos de una Clase package sólo
Consideremos la instancia de CLIENTE • Puede usar todo elemento público de cualquier privada en Smalltalk es parecido al pueden ser usados por otras Clases del
PERSONAL, <<Miquel M.>>, este objeto
Clases puede acceder a cualquier elemento de <<Josep
objeto del sistema. concepto de visibilidad protegida en
C++.
mismo package.
• Puede usar también todo elemento privado de
V.>>, que ha sido definido también como una la Clase CLIENTE PERSONAL. En Smalltalk no hay diferencia con
instancia de CLIENTE PERSONAL, sea • No puede usar los elementos privados definidos respecto a que un objeto sea de la
público, privado o protegido. <<Miquel M.>>, en la Clase CLIENTE. misma Clase o no. Podemos acceder
a su vez también puede acceder a cualquier • Puede usar los elementos protegidos definidos sólo a los elementos públicos de otro
elemento privado, protegido o público de para CLIENTE y CLIENTE PERSONAL. objeto.
<<Josep V.>>
En C++, podemos acceder a elementos de otros En Smalltalk, <<Miquel M.>>, no
objetos de la propia Clase, de la misma manera puede acceder a las variables
que podemos acceder a los propios elementos instanciadas privadas de <<Josep
de un objeto. V.>>, sólo a sus operaciones públicas.
CU Realizar pedido 1
Flujo Principal Va r i a c i o n e s Descripción
1. Usuario identifica el cliente que ha
enviado un pedido. de la Dinámica del Sistema
2. Usuario entra lineas de pedido, con su
código de artículo, tipo de presentación
y cantidad. La dinámica de un sistema está determinada por:
3. Sistema comprueba cada línea del a. Artículo NO está vigente en catálogo, sistema • Todos los posibles estados que sus objetos pueden tener.
pedido para validar la situación del informa que articulo no está vigente y
artículo en catálogo y el número de muestra artículos alternativos activando el
CU Seleccionar artículo.
• Todas las posibles secuencias de eventos que pueden
items del artículo en stock.
b. SI existen suficientes items del artículo en ocurrir.
el stock, sistema asigna items al pedido.
Análisis textual • Todas las transiciones posibles, de un estado a otro,
del Use Case c. NO existen suficientes items del artículo en
stock, o la asignación de items deja la como consecuencia de los eventos que afectan a los objetos.
situación del artículo en stock por debajo del
nivel de reposición, sistema genera pedido
de reposición activando el CU Generar
pedido.
Aparcar pedido.
Notación UML 1.3
c. SI no se ha realizado el pago según el plazo
convenido, sistema cancela el pedido.
© Vilalta Consultores 2001 - TRAD Dinámica 1_esp - Rev. 5.1 -
s]
le
cerrar ( ) 3
ib
...
6
on
[Todos los items comprobados &&
sp
1 Pedido Entregado
di
algunos items no estan disponibles
ite o
s
m
lo bid
ionar primer item en stock]
os eci
[Todos los items comprobados &&
todos los items disponibles]
s
5
od R
rimer item Verificando Sirviendo
hacer / hacer /
comprobación inicio de
[T em
item entregas
s]
le
n ib
It
po
4
s
od R
m
rimer item
I te
[T
Esperando Entregado
Esperando Entregado
Item Recibido
[algunos items no estan disponibles
Dinámica en stock]
Estados
CU Realizar pedido 2
Flujo Principal Va r i a c i o n e s Descripción
1. Usuario identifica el cliente que ha
enviado un pedido. de la Dinámica del Sistema
2. Usuario entra lineas de pedido, con su
código de artículo, tipo de presentación
y cantidad. Utilizamos el diagrama de estados para describir el
3. Sistema comprueba cada línea del a. Artículo NO está vigente en catálogo, sistema comportamiento de una Clase dentro de una serie temporal.
pedido para validar la situación del informa que articulo no está vigente y
artículo en catálogo y el número de muestra artículos alternativos activando el
items del artículo en stock. CU Seleccionar artículo.
Análisis textual
b. SI existen suficientes items del artículo en
del Use Case el stock, sistema asigna items al pedido.
c. NO existen suficientes items del artículo en
stock, o la asignación de items deja la
situación del artículo en stock por debajo del
nivel de reposición, sistema genera pedido
de reposición activando el CU Generar
pedido.
Diagrama de Estados
de un Pedido
Inicio
Clase Pedido Notación UML 1.3
*
fechaRecibido
conPrepago
jvilalta@vico.org
número: Alfanúm.
Atributos importe: Núm&2d. primera Transición
divisa
...
seleccionar ( )
Operaciones comprobar ( )
servir ( ) /seleccionar primer item Estado
cerrar ( ) Acción 2
...
1 Indicador [Todos los items comprobados &&
© Vilalta Consultores 2001 - TRAD Dinámica 2_esp - Rev.- 5.1 -
1 [No todos los items comprobados] Comprobando todos los items disponibles] Sirviendo
/seleccionar siguiente item hacer / hacer /
Sintaxis para etiquetar una transición comprobación inicio de Actividad
Acción item entregas
Evento [Indicador] / Acción
s]
le
3 6 Desencadena
ib
Los tres elementos son opcionales Evento
on
[Todos los items comprobados && siempre
sp
di
algunos items no estan disponibles Pedido Entregado la Transición
ite o
s
m
lo bid
en stock]
/ Acción
os eci
Transición
s
5
od R
Procesos que ocurren de manera rápida
[T em
dentro de un ciclo contínuo sin interrupción. Auto-Transición
It
4
ionar primer item
[Todos los items comprobados &&
todos los items disponibles]
s]
le
n ib
[algunos items no estan disponibles
po
rimer item Entregado
d is
it e o
s
m
lo id
o s e c ib
s
od R
m
en stock] rimer item
I te
[T
Esperando Entregado
Implementación
1 Comprobando Sirviendo
[No todos los items comprobados] todos los items disponibles]
/seleccionar siguiente item hacer / hacer /
Sintaxis para etiquetar una transición comprobación inicio de Actividad
Acción item entregas
Evento [Indicador] / Acción
s]
le
3 6
Desencadena
ib
Evento
on
Los tres elementos son opcionales siempre
[Todos los items comprobados &&
sp
Pedido Entregado la Transición
di
algunos items no estan disponibles
ite o
s
m
lo bid
/ Acción Transición en stock]
os eci
s
5
od R
Procesos que ocurren de manera rápida
[T em
dentro de un ciclo contínuo sin interrupción. Auto-Transición
It
4
/ Actividad
ionar primer item
[Todos los items comprobados &&
Sirviendo
s]
[algunos items no estan disponibles
le
n ib
y pueden ser interrumpidospor algun evento.
po
rimer item Entregado
d is
it e o
s
m
lo id
o s e c ib
en stock]
s
od R
m
rimer item
I te
[Indicador]
[T
Esperando Entregado
Transición Transición
Condición lógica con dos categorias: “verdadero” o “falso”. No hay Actividades para este Estado, por lo
Una Transición con [Indicador] sólo ocurre si este es “verdadero”. que el Pedido permanecerá a la espera de Dinámica
Sólo podemos extraer una Transición para un Estado concreto. un Evento.
Estados
CU Realizar pedido Descripción 4
de la Dinámica del Sistema
Flujo Principal Va r i a c i o n e s
1. Usuario identifica el cliente que ha
enviado un pedido.
2. Usuario entra lineas de pedido, con su Un Evento no es un objeto. Un Evento es la “causa” que
código de artículo, tipo de presentación
y cantidad.
justifica la existencia de una información.
3. Sistema comprueba cada línea del a. Artículo NO está vigente en catálogo, sistema Sólo podemos conocer que un Evento ha ocurrido,
informa que articulo no está vigente y
pedido para validar la situación del
artículo en catálogo y el número de muestra artículos alternativos activando el
detectando sus “efectos” en nuestro modelo.
CU Seleccionar artículo.
Análisis textual
items del artículo en stock.
b. SI existen suficientes items del artículo en
Sólo nos interesan aquellos Eventos que provocan un cambio
del Use Case el stock, sistema asigna items al pedido. de estado en los objetos de nuestro modelo.
c. NO existen suficientes items del artículo en
stock, o la asignación de items deja la Hay que distinguir un Evento como tal, del objeto que
situación del artículo en stock por debajo del
nivel de reposición, sistema genera pedido
representa el registro de los efectos de dicho Evento.
de reposición activando el CU Generar
pedido.
comprobación inicio de
item entregas
s]
Activo
le
1 /seleccionar primer item 3 Pedido
ib
on
[Todos los items Cancelado
sp
[No todos los items
6
di
comprobados] 2 comprobados &&
ite o
s
m
lo bid
algunos items no estan Pedido
[Todos los items comprobados &&
os eci
/seleccionar disponibles en stock] 5
s
Comprobando Sirviendo Entregado
od R
siguiente item todos los items disponibles]
[T em
© Vilalta Consultores 2001 - TRAD Dinámica 4_esp - Rev. 5.1 -
hacer / hacer / 4
It
comprobación inicio de Item Recibido
item entregas [algunos items
3 Esperando Pedido Entregado
no estan
s]
Cancelado
le
comprobados &&
sp
Pedido
di
Cancelado
m
lo bid
disponibles en stock]
os eci
s
4 5 sin Superestados
od R
[T em
Item Recibido
It
[algunos items
Esperando 6
no estan
Pedido ionar primer item
Diagrama de Estados
[Todos los items comprobados &&
Sirviendo
Entregado hacer /
comprobación
hacer /
inicio de
con Superestados
item entregas
s]
Notación UML 1.3
le
n ib
po
rimer item Entregado
d is
it e o
s
m
lo id
o s e c ib
Pedido
s
od R
m
rimer item
I te
[T
Esperando Entregado
Cancelado
Cancelado Entregado
Dinámica
Estados
CU Realizar pedido 5
Flujo Principal Va r i a c i o n e s
Descripción
1. Usuario identifica el cliente que ha
enviado un pedido.
de la Dinámica del Sistema
2. Usuario entra lineas de pedido, con su
código de artículo, tipo de presentación
y cantidad.
Los diagramas de estados son muy útiles para describir el
3. Sistema comprueba cada línea del a. Artículo NO está vigente en catálogo, sistema
comportamiento de un objeto a través de múltiples Casos
pedido para validar la situación del informa que articulo no está vigente y de Uso.
artículo... muestra...
[pago SI correcto]
Esperando
© Vilalta Consultores 2001 - TRAD Dinámica 5_esp - Rev. 5.1 -
Pedido Cancelado
Comprobando Sirviendo
Entregado Entregado
Pedido Entregado
Autorizando Autorizado ionar primer item
[Todos los items comprobados &&
todos los items disponibles]
s]
le
n ib
po
rimer item Entregado
d is
it e o
s
m
lo id
o s e c ib
s
od R
m
Diagrama de Estados
rimer item
I te
[T
Esperando Entregado
Rechazado
Concurrentes
Notación UML 1.3
Dinámica
Pedido Rechazado Estados
1
Arquitectura del sistema
Modulares
Vista de la
Funcionalidad
© Vilalta Consultores 2001 - TRAD Arquitectura 1_esp - Rev. 5.1 -
Use Cases
Vista de Vista de
Implementación Distribución Física
Ejecutables Elementos
servir ( )
cerrar ( )
Una eficiente implementación de los “mecanismos ...
clave” requiere seleccionar Patrones (Patterns) que 1
se ajusten a los requerimientos esenciales del Cliente Cliente
proyecto. Corporativo Personal
Pe d i d o
Los Packages estan organizados en una jerarquía
de capas que disponen de una interface bien definida:
© Vilalta Consultores 2001 - TRAD Arquitectura 3_esp - Rev. 5.1 -
Entrada
4 Interface de Usuario Pedidos
Interface Usuario
AWT
Java GUI toolkit
Mailing
Interface Usuario
3 Pa c k a g e s e s p e c í f i c o s d e l d o m i n i o
Información
2 Pa c k a g e s r e u t i l i z a b l e s Artículos
Dominio
1 Mecanismos clave CORE
ø Pa c k a g e s d e p l a t a f o r m a (OS -Hardware)
Pedidos Clientes
Arquitectura
Arquitectura del sistema 4
Vista del Vista de
Modelo de Referencia Componentes
Modulares
Esta vista se centra en la estructura de los componentes
“run-time”, los ejecutables del sistema.
Vista de
Esta arquitectura tiene muy en cuenta los siguientes
Implementación
Ejecutables requerimientos no funcionales:
• Rendimiento • Integridad
• Fiabilidad • Seguridad
• Escalabilidad • Sincronización
Vista de • Administración del sistema
Implementación
Ejecutables Entrada
AWT Mailing
Pedidos
Interface Usuario Java GUI toolkit Interface Usuario
jvilalta@vico.org
Pedidos Clientes
P e d i d o s . exe
Artículos
Artículos.dll
Oracle
Interface
Base de
Datos
Expedición.dll Interface global
Ingres
Clientes.dll Interface Arquitectura
Arquitectura del sistema 5
Vista del Vista de
Modelo de Referencia Componentes
Modulares
Esta vista presenta el mapping de componentes de software
ejecutables con los nodos de procesamiento (hardware).
Vista de Vista de
Esta arquitectura tiene en cuenta los siguientes
Implementación
Ejecutables
Distribución Física
Elementos
requerimientos:
• Disponibilidad del sistema
• Rendimiento
• Escalabilidad
Los diagramas de distribución muestran el despliegue de
Vista de nodos (locales y remotos), en la organización de la empresa.
Distribución Física Permite al equipo de desarrollo comprender mejor la
Elementos topología de un sistema distribuido.
servidor.
Las Conexiones entre Nodos muestran las líneas de :Comercial
comunicación con las que el sistema tendrá que Configuración
interactuar. Nodos
Supervisor
• Diagramas de Interacción (Escenarios)
Importar nueva
configuración
Cajero
jvilalta@vico.org
Imprimir Exportar
• Diagramas de Estados (Dinámica)
documento movimientos
Contabilidad
Recepción
© Vilalta Consultores 2001 - TRAD Arquitectura 6_esp - Rev. 5.1 -
Preparar
de un Pedido
Pedido
CU Realizar pedido
* [para cada línea de pedido]
s]
le
ib
on
rimer item
sp
Entregado
di
ite o
s
m
lo bid
os eci
s
od R
[T em
rimer item
It
[tieneStock]
Arquitectura
Esperando Entregado
nuevo