Вы находитесь на странице: 1из 86

Ingeniera del Software I (4 I.

I)

Tema 8:
Anlisis Orientado a Objetos con UML

Ingeniera del Software I (4 I.I)

Presentacin de UML
UML (Unified Modeling Language)
Es un lenguaje estndar para construir planos software
Modelo Conceptual de UML
Tres elementos principales:
Bloques
Piezas bsicas utilizadas en el modelado.

Reglas
Dictan c mo combinar los bloques.

Mecanismos
Aportan patrones que permiten construir modelos ms
consistentes.

Ingeniera del Software I (4 I.I)

Presentacin de UML
Modelo Conceptual de UML
Bloques de construccin
Reglas
Elementos

Diagramas
Nombre

Estructurales

Clases

Comportamiento

Objetos

Agrupacin

Casos de Uso

Anotacin

Secuencia

Afectan

Alcance
Visibilidad
Integridad

Afectan

Colaboracin
Estados
Actividad
Colaboracin

Componentes
Despliegue
Mecanismos

Relaciones
Especificaciones
Dependencia
Asociacin
Generalizacin

Actan

Adornos
Divisiones comunes
Extensibilidad

Ingeniera del Software I (4 I.I)

Presentacin de UML
Bloques
Tres tipos bsicos:
? Elementos.- son las abstracciones de primer nivel.
? Relaciones.- unen a los elementos entre s.
? Diagramas.- son agrupaciones de elementos que
reflejan una vista del sistema .

Ingeniera del Software I (4 I.I)

Presentacin de UML
Elementos
Dependiendo del uso:
? elementos estructurales.- describen los elementos
bsicos de la visin esttica del sistema.
? elementos de comportamiento.- describen los
elementos bsicos de la visin dinmica del sistema.
? elementos de agrupacin.- describe los elementos de
agrupacin o empaquetamiento de algunos elementos
fuertemente relacionados.
? elementos de anotacin.- describen los elementos que
se utilizan para incluir notas descriptivas dentro de los
modelos.

Ingeniera del Software I (4 I.I)

Presentacin de UML
Elementos estructurales
Clase

Interfaz

Clase Activa

Caso de Uso

Componente

Colaboracin

Nodo

Ingeniera del Software I (4 I.I)

Presentacin de UML
Elementos de comportamiento
Interaccin (mensaje)

Mquinas de Estados (estado)

Dibujar
Esperando

Elementos de
agrupamiento
Paquete

Elementos de
anotacin
Notas

Reglas del negocio

Devuelve una copia


del objeto receptor

Ingeniera del Software I (4 I.I)

Presentacin de UML
Relaciones
En funcin del tipo de interaccin existente entre los elementos :
? relaciones de dependencia .- indica que un cambio en
la especificacin de un elemento puede afectar a otro
que lo utiliza.
? relaciones de generalizacin.- expresa una relacin
entre un elemento general y una ocurrencia ms
especfica de ese elemento (relacin "es un tipo de")
? relaciones de asociacin.- especifica que los objetos
de un elemento estn conectados con los objetos de otro.
? relaciones de realizacin.- define una relacin
semntica entre clasificadores, en donde un clasificador
especifica un contrato que otro garantiza que cumplir.

Dependencia

Generalizacin

Asociacin
0..1
patrn

*
empleado

Realizacin

Ingeniera del Software I (4 I.I)

Presentacin de UML
Diagramas
Representan grficamente una vista de una parte del
sistema, aportando diferentes perspectivas y diferentes
niveles de detalle que facilitan la comprensin del sistema
Diagrama de Casos de Uso

Diagrama de Clases
Motor

Piloto

1..4

Diagrama de Secuencia
Vendedor de billetes
1

1.2

: Socio

: Libro

: Encargado

: Ficha socio

: Ficha libro

: Prstamo

Coger libro

Venta Normal
1
Avin

*
1

Vuelo

*
1

Reserva
Solicitar prstamo

{ disjunta, completa }

Verificar situacin socio


Situacin socio ok

Venta en Rebajas
Cliente

Vendedor

Avinmilitar

1
Lnea area

Avin comercial

Verificar situacin libro


Situacin libro ok

{ disjunta, completa }

Introducir prstamo
Autorizarprstamo

Avin de carga

Avin de pasajeros

Venta en Oferta

Diagrama de Colaboracin
1:Cogerlibro

Diagrama de Estados

Diagrama de Actividad

: Libro

Prestar

Devolver[ Nmero prstamos = 1 ]


:Socio

2: Solicitar prstamo

Con prstamos

: Ficha s
ocio

Nmero prstamos > 1

3: Verificar situacin socio


8: Autorizar prstamo
4: Situacin socio ok

Prestar
Devolver[ Nmero prstamos = 1 ]
6: Situacin libro ok

:Encargado
: Prsta
mo

7: Introducir prstamo

Sinprstamos
Alta

5: Verificar situacin libro

Nmero prstamos = 0
Baja

: Ficha li
bro

Diagrama de Objetos
P1:

Diagrama de Componentes

Diagrama de Distribucin

Control y Anlisis

Profesor

Interfaz de Terminal
DNI : 59.455.111
N Contrato:1000

Comment

S e r v i d o r
A c c e s o

Comment

Nombre : Jos Prez Lpez

C e n t r Ca ol n t r o l
a

B D

d e

Anlisis

C o n e c c i o n

Asignatura
A2:

Asignatura

-1 - 0
3
Cdigo:4
Curso:

- 0
5

Gestin de Cuentas

Cuarto

Nombre : Ingeniera del Software I

Comment

Rutinas de Coneccion
Comment

T e r m i n a l
R u t i n a s

Acceso a BD
Comment

P u n t o

d e

G e s t i n

T1:

C o m m e n t

C o m m e n t

R u t i n a s

A1:

Cdigo:T1

Curso: Primero
Nombre : Introduccin a la Informtica

Titulacin

T2:

V e n t a
R u t i n a s

d e

d e

d e
d e

C o
I n st u
e lr t f a a z
C o n e c c i o n

d e

T e r m i n a l

C o n e c c i o n

C u e n t a s
I n t e r f a z

d e

T e r m i n a l

Titulacin
C o m m e n t

Cdigo:

T1

Cdigo:

Nombre : I. Tcnica Informtica Sistemas

T1

Nombre : Ing. Superior en Informtica

Ingeniera del Software I (4 I.I)

Presentacin de UML
Diagramas
Diagrama de casos de uso.

Muestra un conjunto de casos de uso,


actores y sus relaciones.
Son especialmente importantes en la
captura de los requisitos funcionales
del sistema.

Diagrama de Casos de Uso


Venta Normal

Venta en Rebajas

Cliente

Vendedor

Venta en Oferta

Diagrama de clases.
Muestra las clases, interfaces y
colaboraciones, as como sus
relaciones. Cubren la vista de diseo
esttica de un sistema.

Diagrama de Clases
Motor

1..2

1
Avin

Vendedor de billetes

Piloto

1..4

*
1

Vuelo

*
1

Reserva

{ disjunta, completa }

1
Avin militar

Avin comercial

Lnea area

{ disjunta, completa }

Avin de carga

Avin de pasajeros

Ingeniera del Software I (4 I.I)

Presentacin de UML
Diagramas
Diagrama de actividad.

Muestra el flujo de actividades dentro


del sistema. Son importante para
modelar el funcionamiento de un
sistema y resaltan el flujo de control
entre objetos.

Diagrama de Actividad

Diagrama de estados.
Muestra una mquina de estados que
consta de estados, transiciones,
eventos y actividades.

Diagrama de Estados
Prestar
Devolver[ Nmero prstamos = 1 ]
Con prstamos
Nmero prstamos > 1

Prestar
Devolver[ Nmero prstamos = 1 ]

Sin prstamos

Resaltan el comportamiento dirigido


por eventos de un objeto.

Alta

Nmero prstamos = 0
Baja

Ingeniera del Software I (4 I.I)

Presentacin de UML
Diagramas
Diagrama de secuencia.
Diagrama de Secuencia

Es un tipo de diagrama de
interaccin que resalta la
ordenacin temporal de los
mensajes

: Libro
: Socio

: Ficha socio

: Ficha libro

: Prstamo

: Encargado
Cogerlibro

Solicitarprstamo
Verificar situacin socio
Situacin socio ok
Verificar situacin libro
Situacin libro ok
Introducirprstamo
Autorizar prstamo

Diagrama de colaboracin.
Diagrama de Colaboracin

Es el otro tipo de diagrama de


interaccin que resalta la
organizacin estructural de los
objetos que envan y reciben
mensajes.

1: Coger libro

:Socio

: Libro

2: Solicitar prstamo

: Ficha s
ocio
3: Verificar situacin socio

8: Autorizar prstamo
4: Situacin socio ok

6: Situacin libro ok

: Encargado
7: Introducir prstamo

: Prsta
mo

5: Verificar situacin libro


: Ficha li
bro

Ingeniera del Software I (4 I.I)

Presentacin de UML
Diagramas
Diagrama de objetos.

Muestra un conjunto de objetos y


sus relaciones. Representa
instantneas de las instancias de los
elementos de un diagrama de clases.

Diagrama de Objetos
P1: Profesor
DNI : 59.455.111
N Contrato:1000
Nombre : Jos Prez Lpez

A1: Asignatura
A2: Asignatura
Cdigo:T1- 1- 03
Curso: Primero
Nombre : Introduccin a la Informtica

Cdigo:4
- 05
Curso: Cuarto
Nombre : Ingeniera del Software I

T1: Titulacin

T2: Titulacin

Cdigo: T1
Nombre : I. Tcnica Informtica Sistemas

Cdigo: T1
Nombre : Ing. Superior en Informtica

Diagrama de componentes.
Muestra la organizacin y
dependencias de un conjunto de
componentes. Un componente se
corresponde con clases, interfaces y
colaboraciones.

Diagrama de Componentes
Control y Anlisis
Interfaz de Terminal

Comment

Comment

Gestin de Cuentas

Rutinas de Coneccion

Comment

Acceso a BD

Comment

Comment

Ingeniera del Software I (4 I.I)

Presentacin de UML
Diagramas
Diagrama de distribucin o despliegue.

Muestra la configuracin de los


nodos de procesamiento y los
componentes que residen en cada
uno de ellos.

Diagrama de Distribucin
Servidor Central
Acceso a BD

Control y Anlisis
Comment

Comment

Rutinas de Coneccion

Terminal de Consulta
Interfaz de Terminal
Rutinas de Coneccion

Punto de Venta

Rutinas de Coneccion

Gestin de Cuentas

Interfaz de Terminal

Ingeniera del Software I (4 I.I)

Presentacin de UML
Reglas
Establece restricciones a la hora de combinar los bloques
de construccin. UML define reglas semnticas para:
? Nombres.- cmo llamar a los elementos, relaciones y
diagramas.
? Alcance.- contexto que da un significado especfico a
un nombre.
? Visibilidad.- cmo se pueden ver y utilizar esos
nombres por otros.
? Integridad.- cmo se relacionan apropiada y
consistentemente unos elementos con otros.
? Ejecucin.- qu significa ejecutar o simular un modelo
dinmico.

Ingeniera del Software I (4 I.I)

Presentacin de UML
Mecanismos
Aportan patrones que permiten construir modelos ms
consistentes . Podemos encontrar los siguientes:
? Especificaciones.- Asociada a cada elemento
proporciona una explicacin textual de la sintaxis y
semntica del bloque de construccin.
? Adornos.- Se incluye para resaltar algunos detalles
de un determinado elemento y pueden ser de tipo
textual o grfico.
? Divisiones comunes.- Divisin entre clase y objeto;
divisin entre interfaz e implementacin.
? Mecanismos de extensibilidad.- permiten extender
de manera controlada el lenguaje.

Ingeniera del Software I (4 I.I)

Presentacin de UML
Adornos
Son complementos gr ficos o textuales que se aaden a la
notacin bsica de un elemento para mostrar detalles de su
especificacin.
? Notas.- se utilizan para especificar
caractersticas no recogidas en los elementos
Nota
del modelo (requisitos, observaciones,
revisiones, restricciones, etc.).
? Otros adornos.- Asociada a cada elemento
proporciona una explicacin textual de la
sintaxis
Dar nombre a los adornos para evitar confusin.

Transaccin
AadirAccin()
QuitarAccin()
Excepciones
TransaccinVacia
RecursoBloqueado

Ingeniera del Software I (4 I.I)

Presentacin de UML
Mecanismos de extensibilidad
Permiten extender de manera controlada el lenguaje de
modelado propuesto.
? Estereotipos.- extiende el vocabulario, permitiendo
crear nuevos bloques derivados de los existentes.
? Valores etiquetados.- extiende las propiedades de
un bloque permitiendo aadir nueva informacin a
un elemento.
? Restricciones.- extiende la semntica de un bloque
permitiendo aadir nuevas reglas o modificar las
existentes.

Ingeniera del Software I (4 I.I)

Presentacin de UML
Estereotipos
Es un metatipo ya que equivale a crear una nueva clase del
metamodelo en el que se apoya UML
Los nuevos bloque estereotipados tiene:
Sus atributos (su propio conjunto de valores etiquetados.
Su semntica (puede proporcionar restricciones propias).
Su notacin (puede proporcionar su propio icono)
Generalmente se presenta como un << nombre >>
<< metaclase>>
ElementoMetamodelo

<<excepcin>>
!

Overflow

Clase Interfaz

Ingeniera del Software I (4 I.I)

Presentacin de UML
Estereotipos
Solo deben crearse cuando realmente son necesarios y no por un
desarrollador aislado sino dentro de un proyecto o empresa.
Cuatro tipos de estereotipos:
Decorativos .- aportan smbolos que hacen ms comprensibles
los modelos (p.e. smbolo de actor)
Descriptivos.- Utilizados para describir el contexto de
aplicacin del concepto (p.e. clase de negocio)
Restrictivos .- Aportan restricciones aplicables a ciertos
elementos (p.e. interfaz)

Actor

Clase Entidad

Clase Interfaz

Clase Control

10

Ingeniera del Software I (4 I.I)

Presentacin de UML
Valores etiquetados
Puede especificar nuevas propiedades a un elemento
cualquiera. Por tanto, son una herramienta til para definir
detalles semnticos.
Es un metadato porque su valor se aplica al propio elemento,
no a sus instancias.
Generalmente se presenta como una cadena de caracteres
entre llaves que se coloca debajo del nombre de otro
elemento.
FiguraGeomtrica
{abstract Versin=1.3}

Servidor Central

Visible: Boolean{sololectura}

{procesadores=2}

Ingeniera del Software I (4 I.I)

Presentacin de UML
Restricciones
Especifica condiciones que deben cumplirse para que el
modelo est bien formado.
Estas se pueden escribir en texto libre o utilizando OCL
(Object Constraint Language) si se desea una especificacin
ms precisa.
Empresa
{segura}
Cuenta Bancaria

{OR}

{self.esposa.sexo = mujer and


self.marido.sexo = hombre}

0..1 Marido
Persona

Sexo{Hombre, mujer}
0..1 Esposa

11

Ingeniera del Software I (4 I.I)

Presentacin de UML
Restricciones
Pueden identificarse varios tipos de restricciones bsicas:
?
?
?
?
?
?
?

Dependencia.
Consistencia.
Exclusin.
Valores.
Ordenacin.
Frmulas.
Enumeracin.

Ingeniera del Software I (4 I.I)

Presentacin de UML
Restricciones
Dependencia.- Expresan subordinacin entre dos relaciones.
Trabaja en
Empleado

{subconjunto}

Proyecto

Responsable de
Proyecto
self.TrabajaEn->includes(self.ResponsableDe)

ConsistenciaCliente

Tiene

1
Recibe
0..*
Factua
self.Contrato.Cliente= self.cliente

0..*
BasadoEn

Factura

Contrato

12

Ingeniera del Software I (4 I.I)

Presentacin de UML
Restricciones
Exclusin.- Expresan relaciones de tipo OR o XOR.
TrabajaEn
Persona

Proyecto
civil

{OR}
TrabajaEn

Proyecto
militar

Suele ser interesante sustituirla por una generalizacin/


especializacin.
Proyecto
civil

TrabajaEn

Persona

Proyecto

Proyecto
militar

Ingeniera del Software I (4 I.I)

Presentacin de UML
Restricciones
Valores.- Las restricciones se aplican a los posibles valores
de un atributo.
Tringulo
a {c-b<a<b+c}
b {a-c<b<a+c}
a {a-b<c<a+b}

Ordenacin.- Establece el criterio de ordenacin de una


relacin que expresa una coleccin de elementos.

Departamento

Tiene

1..*

Empleado

{Ordenacin:Apellido}

13

Ingeniera del Software I (4 I.I)

Presentacin de UML
Restricciones
Frmulas.- Definicin de reglas de clculo asociadas a
atributos derivados.
Persona
fechaNacimiento
/edad {edad=hoy-fechaNacimiento}

Enumeracin.- Se utiliza para describir el conjunto de


valores posibles de un atributo. Generalmente debe
asociarsele una clase a dicho atributo.
Color: {rojo, azul,verde)

Color

Ingeniera del Software I (4 I.I)

Modelos Dominio del Problema.


Qu es el Dominio del Problema?
Es una parcela del mundo real que
deseamos modelar.
Caractersticas de los modelos asociados al Dominio del
Problema.
Deben permitir describir los requisitos del sistema a
modelar.
Deben tener un alto nivel de abstraccin, deben
contestar al QU.
No deben responder a preguntas de implementacin.

14

Ingeniera del Software I (4 I.I)

Modelos Dominio del Problema.


Dentro de UML tenemos modelos que pueden ser utilizados
en diferentes instantes del desarrollo para descubrir nueva
informacin sobre el sistema
Modelos que podemos utilizar para estudiar el Dominio
del Problema.

Modelo o diagrama de casos de uso.


Modelo o diagrama de clases abstractas.
Modelo o diagrama de actividades
Modelo o diagrama de secuencia bsico.

Ingeniera del Software I (4 I.I)

Captura de requisitos.
Requisitos
Se recomienda utilizar los siguientes artefactos:
Descripcin bsica de los objetivos y metas del sistema.
Descripcin de los clientes para los que se desarrolla el
producto.
Funciones bsicas, es decir, lo que el sistema deber
hacer.
Caractersticas no funcionales que debe tener el producto
final.

15

Ingeniera del Software I (4 I.I)

Captura de requisitos.
Caractersticas no funcionales
Dentro de las caractersticas no funcionales podemos
encontrar:
Facilidad de uso.
Tiempo de respuesta.
Plataforma de desarrollo e implementacin.
Tolerancia a fallos.
Fiabilidad y precisin.
Mantenibilidad.
Prioridades de implementacin.
...

Ingeniera del Software I (4 I.I)

Casos de Uso.

Caso de Uso
Realizar
Pedido

Qu es un caso de uso?
Es una descripcin de un conjunto de acciones
que ejecuta un sistema para producir un resultado
observable de valor para un actor.
?Captura y especifica el comportamiento de un sistema
o de parte del mismo, sin tener que especificar cmo se
implementa.
?Representa la interaccin de los elementos externos al
sistema.

16

Ingeniera del Software I (4 I.I)

Caso de Uso

Casos de Uso.

Realizar
Pedido

?Puede tener variantes


Se puede factorizar el comportamiento comn y
reutilizable de un conjunto de casos de uso segn las
relaciones siguientes:
? son versiones especializadas de otros ms genricos
? estn incluidos como parte de otros
? extienden el comportamiento de otros ms bsicos

Ingeniera del Software I (4 I.I)

Casos de Uso.

Caso de Uso
Realizar
Pedido

? Se utilizan durante muchas fases del desarrollo del software.


? Captura y anlisis de requisitos del sistema.
? Actan como base del proceso de diseo y permiten
validarlo.
? Se utilizan para probar el software y en el proceso de
asegurar la calidad (Quality Assurance) del mismo.
Las pruebas se realizan para validar la implementacin correcta y
completa de los casos de uso.

? Potencialmente puede ser el punto inicial para las ayudas


en lnea y el manual de usuario.

17

Ingeniera del Software I (4 I.I)

Caso de Uso

Casos de Uso.

Realizar
Pedido

Actor
?Son entidades externas (personas o sistemas externos) que
interaccionan con el sistema para conseguir una meta.
?Representa un conjunto coherente de roles que juegan los
usuarios de los casos de uso al interaccionar con stos.
?Pueden definirse categoras de actores
Cliente
comercial

Ingeniera del Software I (4 I.I)

Casos de Uso.

Cliente

Caso de Uso
Realizar
Pedido

Actor
? Es frecuente que los actores coincidan con reas de la
empresa (vendedor, gestor de almacn, etc.) o distinto nivel
en la jerarqua (empleado, supervisor, etc.)
?Se conectan a los casos de uso a travs de asociaciones.
Una asociacin indica que el actor y el caso de uso se comunican
entre s y cada uno puede enviar o recibir mensajes

18

Ingeniera del Software I (4 I.I)

Casos de Uso.

Caso de Uso
Realizar
Pedido

Flujo de eventos
El comportamiento de un caso de uso puede especificarse
describiendo un flujo de eventos mediante texto.
? La especificacin de un flujo de eventos debe incluir:
?Cmo y cundo empieza y acaba.
?Cundo interacta con los actores.
?Qu objetos se intercambian.
?El flujo bsico y los flujos alternativos.

Ingeniera del Software I (4 I.I)

Casos de Uso.

Caso de Uso
Realizar
Pedido

Escenarios
Representa una instancia de un caso de uso y, por tanto, es
una secuencia especfica de acciones que ilustra un posible
comportamiento dentro de un caso de uso.
? Escenario Bsico.- se corresponde con la
funcionalidad bsica
? Escenarios Secundarios.- se corresponden con
funcionalidades alternativas y tratamiento de casos de
error. No tienen sentido fuera del contexto del caso de uso
donde ocurren.
Para su descripcin se pueden utilizar texto, pseudocdigo o
incluso diagramas de interaccin.

19

Ingeniera del Software I (4 I.I)

Caso de Uso

Casos de Uso.

Realizar
Pedido

Colaboraciones
Es una sociedad de elementos (tanto estticos como
dinmicos) que colaboran para llevar a cabo el
comportamiento de un caso de uso.
Especifican la realizacin de un caso de uso, es decir
describen cmo se implementa.
Caso de uso
Colaboracin

Hacer pedido
Gestin de
pedidos
Realizacin

Ingeniera del Software I (4 I.I)

Casos de Uso.

Caso de Uso
Realizar
Pedido

Relaciones entre casos de uso


Podemos encontrar diferentes relaciones entre casos de uso:
?Inclusin o Uso.- Se utiliza para evitar describir el mismo
flujo de eventos, poniendo el comportamiento comn a
varios casos en uno dado.
?Extensin.- Se utiliza cuando existe una secuencia
opcional de eventos que se desea incluir en el caso de uso.
? Generalizacin.- Permite heredar el comportamiento y la
semntica desde el caso de uso ms general.

20

Ingeniera del Software I (4 I.I)

Caso de Uso

Casos de Uso.

Realizar
Pedido

Relaciones entre casos de uso


?Inclusin o Uso.-

<<include>>

Hacer pedido

Validar Usuario

?Extensin.? Obtenga primero el caso de uso normal.


? Pregntate: qu puede fallar?cmo
podra funcionar esto de modo diferente?
?Dibuje las variaciones que encuentre
como extensiones.

? Generalizacin

Hacer pedido
<<extend>>
Hacer
pedido
urgente

Comprobar clave
Generalizacin
Comprobar retina

Ingeniera del Software I (4 I.I)

Casos de Uso.

Validar Usuario

Caso de Uso
Realizar
Pedido

Descripcin de un caso de uso


? Nombre: El nombre del caso de uso (verbo o frase verbal corta y
significativa) .
? Meta: Resultado de valor que se pretende conseguir con su ejecucin.
? Actores: actores que participan.
? Disparador : Evento o eventos externos que activan su comienzo.
? Precondicin: cualquier condicin previa necesaria antes de que
comience el caso de uso.
? Condicin de xito: qu se considera un final con xito (poscondicin).
? Condicin de fallo: qu se considera un final con fracaso (poscondicin).
? Escenarios.- Descripcin del escenario bsico y de los escenarios
secundarios relevantes.
? Notas: Otra informacin relevante: rendimiento, frecuencia de uso...

21

Ingeniera del Software I (4 I.I)

Casos de Uso.

Caso de Uso
Realizar
Pedido

Tipos de casos de uso


En funcin del nivel de detalle de la descripcin:
?Alto nivel.- Descripcin muy breve que permita comprender
la complejidad y la funcionalidad bsica
?Expandido.- Describe el proceso ms a fondo incluyendo la
descripcin del flujo de eventos y escenarios.
Alto nivel (poco detalle)

Expandido (mayor detalle)

En funcin del nivel de abstraccin:


? Esencial.- Permiten captar la esencia del proceso y sus
procesos fundamentales sin incluir detalles de diseo.
? Real.- Describe concretamente el proceso a partir de su
diseo concreto actual, sujeto a las tecnologas actuales.
Esencial (muy abstracto)

Ingeniera del Software I (4 I.I)

Casos de Uso.

Real (muy concreto)

Caso de Uso
Realizar
Pedido

Tipos de casos de uso


?Alto nivel - Esencial.? Nombre: Comprar productos.
? Meta: Refleja el proceso de adquisicin de productos por
parte de los clientes en un supermercado.
? Actores: Cajero, cliente.
? Disparador : El cliente presenta un conjunto de productos
al cajero.

22

Ingeniera del Software I (4 I.I)

Caso de Uso

Casos de Uso.

Realizar
Pedido

Tipos de casos de uso


?Expandido- Real.? Nombre: Comprar productos.
? Meta: Refleja el proceso de adquisicin de productos por parte
de los clientes en un supermercado.
? Actores: Cajero, cliente.
? Disparador : El cliente presenta en la caja con un conjunto de
productos.
? Precondicin: La caja est abierta
? Condicin de xito: El cliente se lleva los productos adquiridos.
? Condicin de fallo: El cliente no tiene dinero para pagar los
productos.

Ingeniera del Software I (4 I.I)

Caso de Uso

Casos de Uso.

Realizar
Pedido

Tipos de casos de uso (Expandido...)


? Escenario bsico: (pago en efectivo)
Curso normal
1.- El cliente llega a la caja con los
productos que desea adquirir.
2.- El cajero registra el identificador
de cada producto.
Si hay varios productos de un
mismo tipo el cajero tambin puede
introducir la cantidad.
3.-Al terminar de introducir los
producto el cajero indica su
finalizacin al terminal de venta.
4.- El cajero indica al cliente la
cantidad a pagar.
5.- El cliente paga los productos.
6.- El cajero le devuelve el cambio.

Curso alternativo

5.1.- el cliente no tiene dinero y no


se lleva los productos

23

Ingeniera del Software I (4 I.I)

Caso de Uso

Casos de Uso.

Realizar
Pedido

Tipos de casos de uso (Expandido...)


? Escenario secundario: (pago con tarjeta)
Curso normal
1.- El cliente llega a la caja con los
productos que desea adquirir.
2.- ...
3.- ...
4.- El cajero indica al cliente la
cantidad a pagar.
5.- El cliente entrega la tarjeta.
6.- El cajero introduce la tarjeta para
realizar el cobro
7.- El cliente firma el pago

Curso alternativo

5.1.- La tarjeta no es vlida en ese


establecimiento
6.1.-No existe comunicacin con la
central de tarjetas.

Ingeniera del Software I (4 I.I)

Casos de Uso.

Caso de Uso
Realizar
Pedido

Tipos de casos de uso (Expandido...)


? Notas:
? El tiempo de respuesta es bsico, ya que es habitual que haya
varios clientes esperando.
? Los productos deben ser fcilmente identificables por el
sistema.
? Se debe ayudar al cajero en la devolucin del cambio.

24

Ingeniera del Software I (4 I.I)

Casos de Uso.

Caso de Uso
Realizar
Pedido

Descripcin de un caso de uso


Use Case: 5
Buy Goods
-------------------------------------------------CHARACTERISTIC INFORMATION
Goal in Context: Buyer issues request directly to our company, expects goods shipped and
to be billed.
Preconditions: We know Buyer, their address, etc.
Success End Condition: Buyer has goods, we have money for the goods.
Failed End Condition: We have not sent the goods, Buyer has not spent the money.
Primary Actor: Buyer, any agent (or computer) acting for the customer
Trigger: purchase request comes in.
---------------------------------------MAIN SUCCESS SCENARIO
1. Buyer calls in with a purchase request .
2. Company captures buyers name, address, requested goods, etc.
3. Company gives buyer information on goods, prices, delivery dates, etc.
4. Buyer signs for order.
5. Company creates order, ships order to buyer.
6. Company ships invoice to buyer.
7. Buyers pays invoice.

Ingeniera del Software I (4 I.I)

Casos de Uso.

Caso de Uso
Realizar
Pedido

Descripcin de un caso de uso


---------------------EXTENSIONS
3a. Company is out of one of the ordered items :
3a1. Renegotiate order.
4a. Buyer pays directly with credit card:
4a1. Take payment by credit card (use case 44)
7a. Buyer returns goods :
7a. Handle returned goods (use case 105)
-------------------SUB-VARIATIONS
1. Buyer may use
phone in,
fax in,
use web order form,
electronic interchange
7. Buyer may pay by
cash or money order
check
credit card

25

Ingeniera del Software I (4 I.I)

Casos de Uso.

Caso de Uso
Realizar
Pedido

Descripcin de un caso de uso


---------------------RELATED INFORMATION
Priority : top
Performance Target: 5 minutes for order, 45 days until paid
Frequency: 200/ day
Superordinate Use Case: Manage customer relationship (use case 2)
Subordinate Use Cases:
Create order (use case 15)
Take payment by credit card (use case 44)
Handle returned goods (use case 105)
Channel to primary actor: may be phone, file or interactice
Secondary Actors: credit card company, bank, shipping service
Channels to Secondary Actors :
---------------------------OPEN ISSUES
What happens if we have part of the order?
What happens if credit card is stolen?
--------------------------SCHEDULE
Due Date: release 1.0

Ingeniera del Software I (4 I.I)

Casos de Uso.

Caso de Uso
Realizar
Pedido

Casos de uso y proceso incremental


?Identificar todos los casos de uso solo a nivel de nombre.
?Expresarlos a alto nivel y de manera esencial
? Ignorar detalles sobre la forma de la interaccin entre el actor y el
sistema
? Incluir en la descripcin slo las alternativas relevantes, ignorando
tratamientos de error y excepcin.
? No entrar en los detalles sobre las acciones que realiza el usuario
cuando interacta con el sistema

?Establecer la planificacin de la implementacin de los diferentes


casos de uso
?Expresar los casos de uso a nivel expandido
? Incluir una descripcin del interfaz con el usuario.
? Incluir otras alternativas (errores y excepciones).
? Especificar con mas detalle el comportamiento interno del sistema.

26

Ingeniera del Software I (4 I.I)

Casos de Uso.

Caso de Uso
Realizar
Pedido

Casos de Uso & Procesos del Negocio


Un proceso de negocio describe una actividad bsica del
negocio incluyendo actividades que no son soportadas por
el software .
Un caso de uso generalmente se asocia a aquellas actividades
de un proceso del negocio que van a ser soportadas con un
desarrollo software .

Ingeniera del Software I (4 I.I)

Casos de Uso.

Caso de Uso
Realizar
Pedido

Identificacin de casos de uso


Basados en la identificacin de los actores:
?Identificar actores participantes en el sistema.
?Identificar para cada actor los procesos que inicia o en
los que participa.
Basados en la identificacin de los eventos:
?Identificar los eventos externos a los que el sistema debe
responder.
?Relacionar eventos con actores y casos de uso.

27

Ingeniera del Software I (4 I.I)

Caso de Uso

Casos de Uso.

Realizar
Pedido

Identificacin de casos de uso


Cuestiones tiles para encontrar casos de uso.
? Qu tareas o funciones principales realiza cada actor?
?Qu informacin del sistema debe adquirir, producir o
cambiar el actor?
?Tendr que informar el actor al sistema sobre cambios en el
entorno externo?
?Qu informacin desea obtener el actor del sistema?
?Desea el actor ser informado acerca de cambios inesperados
en el sistema?

Ingeniera del Software I (4 I.I)

Caso de Uso

Casos de Uso.

Realizar
Pedido

Es muy importante que los casos de uso sean validados.


Para ello se pueden realizar las siguientes preguntas:
? Es completo el caso de uso? Han sido recogidos los detalles
necesarios?
? Estas seguro que el resultado de valor (meta) para el actor se
puede conseguir de manera correcta?
? Hay nuevas metas de actores que deben tenerse en cuenta?
? Hay nuevos actores que no se han representado (directa o
indirectamente)?
? Hay cambios en los procesos o requisitos que puedan
simplificar el caso de uso?
? ...

28

Ingeniera del Software I (4 I.I)

Caso de Uso

Casos de Uso.

Realizar
Pedido

Caso de uso bien estructurado


? Nombra un comportamiento simple, identificable y
razonablemente atmico.
? Factoriza el comportamiento comn, incorporando ese
comportamiento desde otros casos de uso que incluye
? Factoriza variante, colocando ese comportamiento en otros
casos de uso que lo extienden
? Describe el flujo de eventos de forma clara para que alguien
externo al sistema lo entienda.
? Se describe por un conjunto mnimo de escenarios que
especifican la semntica normal y de las variantes.

Ingeniera del Software I (4 I.I)

Diagrama de Casos de Uso

Diagramas de Casos de Uso.

Venta Normal

Cliente

VentaenRebajas Vendedor

Venta en Oferta

Se utiliza para modelar la vista esttica de los casos de uso.


Puede utilizarse para:
? Describir el contexto de un sistema.
Implica dibujar una lnea alrededor de todo el
sistema y asegurar qu actores quedan fuera de
los lmites del sistema.

? Describir sus requisitos funcionales.


Implica especificar qu debera hacer el sistema.

29

Ingeniera del Software I (4 I.I)

Diagrama de Casos de Uso


Venta Normal

Diagramas de Casos de Uso.

Cliente

VentaenRebajas Vendedor

Venta en Oferta

Describir el contexto de un sistema


? Identificar actores entorno al sistema, considerando
grupos que:
? Requieren ayuda del sistema para llevar a cabo sus tareas.
? Son necesarios para ejecutar las funciones del sistema.
? Interactan con el hardware externo o con otros sistemas.

? Organizar actores similares en jerarquas.


? Proporcionar un estereotipo para cada uno de esos actores.
? Introducir los actores en el diagrama y especificar las vas
de comunicacin de cada actor con los casos de uso.

Ingeniera del Software I (4 I.I)

Diagrama de Casos de Uso

Diagramas de Casos de Uso.

Venta Normal

Cliente

VentaenRebajas Vendedor

Venta en Oferta

Describir los requisitos de un sistema


? Establecer el contexto del sistema, identificando los
actores a su alrededor.
? Considerar el comportamiento que cada actor espera o
requiere que el sistema proporcione.
? Nombrar esos comportamientos como casos de uso.
? Factorizar el comportamiento comn (include) y las
variantes (extend).
? Modelar los casos de uso, actores y relaciones en
diagramas de casos de uso.
? Adornar los casos de uso con notas que enuncien los
requisitos no funcionales.

30

Ingeniera del Software I (4 I.I)

Diagrama de Casos de Uso

Diagramas de Casos de Uso.

Venta Normal

Cliente

VentaenRebajas Vendedor

Venta en Oferta

Ejemplo

Comprar
productos
efectivo
Cajero

Cliente
<< extiende>>
Comprar
tarjeta

Ingeniera del Software I (4 I.I)

Diagramas de Casos de Uso.

Diagrama de Casos de Uso


Venta Normal

Cliente

VentaenRebajas Vendedor

Venta en Oferta

Ejemplo
Se desea desarrollar un sistema para una empresa dedicada al transporte de pasajeros por
avin. El sistema debe planificar los vuelos para el transporte de pasajeros.
El sistema se encarga de transportan tanto pasajeros (nombre, origen, destino, tipo de
asiento, etc), como carga (peso, tamao, origen, destino, etc.), considerando a cada uno
como elemento de embarque. Los clientes (tanto empresas como particulares) realizan
sus reservas de embarque para el vuelo que desean al sistema, el cual debe responder con
la confirmacin de las mismas.
Cada vuelo completo (misin) consta de un conjunto de saltos (segmentos de vuelo) que
relacionan un aeropuerto de origen y otro de destino.
El personal de control de trfico debe realizar la asignacin de un avin (nmero, estado,
modelo, capacidad, situacin, etc) a cada salto. Junto a ello se encargan de controlar y
resolver las incidencias o fallos producidos en el transporte (fecha incidente, descripcin,
accin correctora, etc.)
Para realizar la asignacin de un avin el personal de control de trfico necesita localizar
al avin. Para ello necesita obtener informacin de un radar que enva posiciones en el
espacio areo de un avin. Con dichas posiciones se genera una t rayectoria que permite
predecir la nueva posicin del avin en un instante posterior.

31

Ingeniera del Software I (4 I.I)

Diagrama de Casos de Uso

Diagramas de Casos de Uso.

Venta Normal

Cliente

VentaenRebajas Vendedor

Venta en Oferta

Ejemplo
Solicitar
elemento de
embarque

Cliente

Persona

Asignar
avin a
salto

Empresa

Control
de trfico

<< include>>
Localizar
avin
Radar

Controlar
y resolver
incidencias

Ingeniera del Software I (4 I.I)

Clase

Clases.
Qu es una clase?
Es una descripcin de un conjunto de objetos
que comparten los mismos atributos, operaciones,
relaciones y semntica.
Nombre
Atributos
Operaciones

? Son una abstraccin de las cosas que forman parte


del vocabulario del dominio.
? Implementa una o ms interfaces.

32

Ingeniera del Software I (4 I.I)

Clase

Clases.
Nombre
? Es una cadena de texto que denomina y describe el
concepto asociado a una clase.
? Es interesante que se asocie a un nombre genrico.
? Por ejemplo, en vez de Terminal de Registro de Ventana
(TRV) es mejor poner registro, pues no se asocia con un
dispositivo fsico concreto como en el caso de TRV.

? Generalmente se utilizan nombre simples o


expresiones nominales extrados del dominio.
? Por lo general se suele poner la primera letra de cada
palabra en maysculas (Cliente; SensorTemperatura)

Ingeniera del Software I (4 I.I)

Clase

Clases.
Atributo
? Es una propiedad, cualidad o caracterstica asociada a
una clase, identificada por un nombre que describe un
rango de valores que puede tomar la propiedad.
? Para identificarlos, cada clase debe preguntarse:
Qu conozca de mi?
? El nombre de un atributo es un nombre corto o
expresin nominal extrada del dominio.
? Por lo general se suele poner la primera letra de cada palabra
en maysculas, excepto de la primera (precio; tipoProducto)

? Junto al nombre se pueden incluir otras caractersticas


(tipo, valor por defecto, etc.) que se vern en caractersticas
avanzadas.

33

Ingeniera del Software I (4 I.I)

Clase

Clases.
Operacin
? Es una implementacin de un servicio que puede ser
requerido a cualquier objeto de la clase para que muestre
un comportamiento.
? Generalmente la invocacin de una operacin sobre un
objeto produce un cambio en los datos o el estado de ste.
? El nombre de una operacin es un verbo o expresin
verbal extrado del dominio.
? Por lo general se suele poner la primera letra de cada palabra
en maysculas, excepto de la primera (comprar; calcularImporte)

Ingeniera del Software I (4 I.I)

Clase

Clases.
Operacin
? Junto al nombre se puede especificar su signatura.
? Nombre, tipo y valores por defecto de los parmetros y en
ciertos casos necesarios tipo de retorno.

SensorTemperatura
reiniciar()
ponerAlarma(t: Temperatura)
valor() : Temperatura

34

Ingeniera del Software I (4 I.I)

Clase

Clases.
Responsabilidad
? Es un contrato o una obligacin de una clase.
? Las responsabilidades se llevan a cabo mediante los
atributos y operaciones.
? Un buen comienzo en el modelado de las clases es
especificar las responsabilidades de los conceptos
manejados en el dominio del problema.
? Tcnicas para definir responsabilidades:
? Tarjetas CRC (Clase-Responsabilidad-Colaborador).
? Anlisis basado en casos de uso.

? Se especifican mediante texto libre utilizando una frase


o un prrafo corto.

Ingeniera del Software I (4 I.I)

Clase

Clases.
Especificacin de una clase
? Para facilitar la comprensin no se suelen mostrar
todos los atributos y operaciones de la clase, o incluso a
veces slo se muestra el nombre de la clase.
? Se puede indicar explcitamente que hay ms atributos o
propiedades mediante: ...
? Para organizar mejor las listas de atributos y operaciones es
interesante utilizar estereotipos para anteponer a cada grupo una
categora descriptiva.

35

Ingeniera del Software I (4 I.I)

Clase

Clases.
Identificacin de clases
El objetivo es identificar los conceptos significativos
del dominio.
Dos posibles estrategias:
?A partir de una lista de categoras.
?A partir de identificacin de frases nominales.

Ingeniera del Software I (4 I.I)

Clase

Clases.
Lista de categoras conceptos
Categora del concepto

Ejemplo

Objetos fsicos tangibles

Camin

Especificaciones o
descripciones de cosas
Lugares

Descripcin del producto

Transacciones

Venta, Pago, Reserva

Lnea o elemento de una


transaccin

Lnea de una Venta

Papeles de las personas

Vendedor, Camionero

Tienda, Almacn,
Delegacin

36

Ingeniera del Software I (4 I.I)

Clase

Clases.
Lista de categoras conceptos
Categora del concepto

Ejemplo

Contenedores de cosas

Tienda, Almacn

Cosas dentro del contenedor

Producto

Otros sistemas software


externos

Sistema de autorizacin de
tarjeta de crdito

Conceptos abstractos

Hambre

Organizaciones

Depto de Ventas

Eventos

Pago, Anulacin

Ingeniera del Software I (4 I.I)

Clase

Clases.
Lista de categoras conceptos
Categora del concepto

Ejemplo

Procesos

Venta de un producto

Reglas y polticas

Poltica de reembolso por


anulacin

Catlogos

Catlogo de productos

Documentos, libros

Manual de Personal,
Ticket de compra
Existencias, Lnea de crdito

Instrumentos y servicios
financieros

37

Ingeniera del Software I (4 I.I)

Clase

Clases.
Identificacin de frases nominales
Este mtodo consiste en identificar en las descripciones
textuales del dominio nombre o frases nominales y
considerarlas como conceptos.
En esta estructura los verbos representan asociaciones
entre conceptos.
Ejemplo.El cliente realiza los pedidos
Cliente

Realiza

Pedido

Ingeniera del Software I (4 I.I)

Clase

Clases.
Errores y problemas en la identificacin de clases
?Incorporacin de documentos como clases.
? Incorporarlos slo si cumplen un papel especial respecto
a las reglas del negocio (ejemplo.- un recibo de compra
puede ser necesario para realizar una devolucin).

?Distincin entre atributo y clase.


? Si el concepto identificado no se describe mediante un
simple nmero o texto descriptivo, posiblemente sea una
clase.

38

Ingeniera del Software I (4 I.I)

Clase

Clases.
Errores y problemas en la identificacin de clases
?Diferenciacin entre elementos fsicos y descripcin de
elementos.
? Incorpore una clase que hace referencia a una descripcin de
elementos si:
? La eliminacin de las instancias de los elementos fsicos
da como resultado la prdida de informacin.
? Reduce informacin redundante o duplicada.
Producto
identificacin
descripcin
precio
nmeroSerie

Desc. Producto
identificacin
descripcin
precio

Producto fsico
nmeroSerie

Ingeniera del Software I (4 I.I)

Clase

Clases.
Tarjetas CRC
? Son tarjetas donde se describen las clases sus
responsabilidades y otros colaboradores.
? Un colaborador son aquellas otras clases que deben
existir para permitir que la clase original pueda asumir una
responsabilidad.
? Es una herramienta particularmente til en el anlisis.
? Ayudan a obtener una visin ms completa y
compresible de los conceptos del dominio del problema.
? Su principal aplicacin es estructurar y describir de
manera detallada aunque abstracta los conceptos del
dominio del problema.

39

Ingeniera del Software I (4 I.I)

Clase

Clases.
Tarjetas CRC
? Se suele crear una CRC para cada concepto que aparece
en un caso de uso. Dicho concepto se asocia con una clase.
? Mientras los casos de uso se encargan de definir el
comportamiento, las CRC ayudan a clarificar su estructura.
Responsabilidad

Pedido

Colaborador

Revisa si hay elementos en stock

LneaPedido,Artculo

Determina el precio

LneaPedido,Artculo

Revisa si el descuento es correcto

Cliente

Ingeniera del Software I (4 I.I)

Clase

Clases.
Tarjetas CRC
? Las tarjetas CRC son una tcnica muy vlida para ser
utilizada en sesiones en grupo.
? Son utilizadas con dos propsitos bsicos:
? Es una tcnica colectiva que permite definir los conceptos del
dominio.
? Las discusiones de las diferentes perspectivas permite que las
ideas aportadas por los diferentes participantes puedan ser
comprobadas en cuanto a su validez.

? Tener en cuenta las siguientes caractersticas:


? Evitar tarjetas demasiado orientadas a los datos.
? Especificar el rol con que una clase participa en la
colaboracin. Evitar crear varias tarjetas para los diferentes roles
de una clase.

40

Ingeniera del Software I (4 I.I)

Clase

Clases.
Clase bien estructurada
?Proporciona una abstraccin precisa de algo extrado
del dominio del problema.
?Contiene un conjunto pequeo de responsabilidades.
?Proporciona una clara diferenciacin entre la
especificacin y su implementacin.

Especificacin de una clase en Diagrama de Clases


?Mostrar slo las clases relacionadas.
?Mostrar slo aquellas propiedades de la clase que sean
importantes para comprender la abstraccin.
?Organizar las listas largas de atributos y operaciones
agrupndolas segn su categora.

Ingeniera del Software I (4 I.I)

Clase

Clases.
Clase de anlisis
? Se centra en los requisitos funcionales
? Debe describir un concepto ms conceptual.
? Raramente define u ofrece un interfaz en trminos de
operaciones con su signatura.
? Su comportamiento se define mediante responsabilidades
a un alto nivel de descripcin.
?Responsabilidad es una descripcin textual de un conjunto
cohesivo del comportamiento de una clase.

41

Ingeniera del Software I (4 I.I)

Clase

Clases.
Clase de anlisis
? Puede incluir atributos pero a alto nivel de abstraccin y
deben ser claramente reconocibles en el dominio del
problema.
? Adems los atributos identificados durante el anlisis puede
convertirse en clases durante le diseo.

? Participa en relaciones aunque dichas relaciones son


conceptuales, desprecindose caractersticas como
navegabilidad o estructuras de generalizacin especializacin
que permitan optimizar el software o mejorar la reutilizacin.
? Se pueden hacer corresponder con uno de los tres
estereotipos bsicos: interfaz, entidad o control .

Ingeniera del Software I (4 I.I)

Clase

Clases.
Clase de interfaz
? Se utilizan para modelar la interaccin entre el sistema y
sus actores
? Modelan las partes del sistema que dependen de los
actores y, por tanto, renen los requisitos en los lmites del
sistema.
? Por tanto, las interfaces de usuario y las interfaces de
comunicacin quedan aisladas en este tipo de clases.
? Cada clase interfaz debera estar asociada al menos a un
actor.

42

Ingeniera del Software I (4 I.I)

Clase

Clases.
Clase de interfaz
? Representan abstracciones de los elementos de la
interfaz, pero deben mantenerse a un nivel de abstraccin
elevado.
?Pueden representar abstracciones de ventanas, formularios,
interfaces de comunicacin, sensores , etc., pero no deben
detallarse en exceso. Por tanto, no se est pidiendo un prototipo
final de la interfaz.

Ingeniera del Software I (4 I.I)

Clase

Clases.
Clase de entidad
? Se utilizan para modelar la informacin que posee una
vida ms larga y que a menudo es persistente.
? Se corresponden con conceptos del dominio del
problema.
? Se pueden derivar directamente de una clase de entidad
del negocio, aunque pueden corresponder a un subconjunto
de ellas.
? Puede tener un comportamiento relativo a la informacin
que representa.

43

Ingeniera del Software I (4 I.I)

Clase

Clases.
Clase de control
? Representa la coordinacin, secuencia, transacciones y
control de la lgica del negocio compleja que implica a
varios objetos.
? Se utilizan para encapsular el control de un caso de uso
concreto.
? Se pueden utilizar tambin para representar derivaciones
o clculos complejos que no pueden asociarse a ninguna
informacin (clase entidad) concreta.

Ingeniera del Software I (4 I.I)

Clase

Clases.
Diagrama de clases asociado a la realizacin de
un caso de uso
? Una clase de anlisis y sus objetos participan en varias
realizaciones de casos de uso.
? Algunas responsabilidades, atributos y asociaciones
suelen ser slo relevantes para una nica realizacin de caso
de uso.
? Es importante, por tanto, durante el anlisis coordinar
todos los requisitos sobre una clase y sus objetos que puede
estar asociados a diferentes casos de uso.

44

Ingeniera del Software I (4 I.I)

Clase

Clases.
Ejemplo
PedidosConfirmados
GestorPedidos
Factura

Pagos
Comprador

IU SolicitudPago
GestorPagos

Ingeniera del Software I (4 I.I)

Clase

Atributos.
Qu es un atributo?
? Es una propiedad, cualidad o caracterstica asociada a
una clase, identificada por un nombre que describe un
rango de valores que puede tomar la propiedad.
? Para identificarlos, cada clase debe preguntarse:
Qu conozca de mi?
? Un atributo no debera ser un concepto complejo del
dominio.
? Para establecer relaciones entre conceptos se deben
utilizar relaciones, no atributos.

45

Ingeniera del Software I (4 I.I)

Clase

Atributos.
?Los atributos tienen un tipo que no tiene que corresponder
obligatoriamente con un tipo primitivo (nmero, carcter, etc.)
?Represente como tipos no primitivos aquellos que pueden
considerarse primitivos si:
? Se compone de secciones independientes (n telfono, nombre de
una persona).
? Normalmente se le asocian operaciones de anlisis o validacin
(DNI,ranking o importancia de un cliente, etc).
? Posee otros atributos asociados (el precio de rebajas est asociado
a una fecha de inicio y otra de final).
? Es una cantidad con una unidad asociada (el importe del pago
puede tener asociada una unidad monetaria).

Ingeniera del Software I (4 I.I)

Relaciones.

0..1
patrn

*
empleado

Qu es una relacin?
Expresa una conexin entre las clases del dominio.
Podemos encontrar tres tipos bsicos de relaciones:
? Dependencias.- Representan relaciones de uso entre
clases.
? Generalizaciones.- Conectan clases generales con
sus especializaciones.
?Asociaciones.- Representan relaciones estructurales
entre objetos.

46

Ingeniera del Software I (4 I.I)

Relaciones.

0..1
patrn

*
empleado

Dependencia
? Declara que un cambio en la especificacin de un
elemento puede afectar a otro elemento que lo utiliza, pero
no necesariamente a la inversa.
? Se representa mediante una flecha con trazo discontinuo
que va dirigida hacia el elemento del cual se depende.
? La mayora de las veces se utiliza para indicar que una
clase utiliza otra como argumento en la signatura de una
operacin.
PelculaVideo
Canal
reproducirEn (c:Canal)

Ingeniera del Software I (4 I.I)

Relaciones.

0..1
patrn

*
empleado

Generalizacin
? Indica una relacin entre un elemento ms general
(supertipo) y un caso ms especfico (subtipo) de ese
elemento.
? A veces se le denomina relacin es-un-tipo-de.
? Los objetos hijos se pueden emplear en cualquier lugar
que pueda aparecer el padre, pero no a la inversa.
? Las clases hijas heredan las caractersticas (atributos,
operaciones y relaciones) de sus clases padres.

47

Ingeniera del Software I (4 I.I)

Relaciones.

0..1
patrn

*
empleado

Generalizacin
? La generalizacin produce una estructura jerrquica en la
que existen clases sin padres (clase base) y clases sin hijos
(clases especializadas u hojas).
Figura
posicin: Punto
mover()
dibujar()

Rectngulo
esquina: Punto
dibujar()

Polgono
Crculo
radio:Float

puntos: Lista
dibujar()

dibujar()
Cuadrado

Ingeniera del Software I (4 I.I)

Relaciones.

0..1
patrn

*
empleado

Generalizacin
Cuando deberamos definir un subtipo?.
? Debemos asegurarnos que esta particin es til en el
dominio del problema.
? Motivos para realizar la particin:
?El subtipo tiene otros atributos.
?El subtipo tiene otras asociaciones.
?Se pude especificar un comportamiento especfico para el
subtipo o se reacciona ante l de manera diferente a como se
hara ante el supertipo.

48

Ingeniera del Software I (4 I.I)

Relaciones.

0..1
patrn

*
empleado

Generalizacin
Cuando deberamos definir un supertipo?.
? Motivos para realizar la generalizacin:
?Los conceptos asociados a subtipos potenciales
representan variaciones de un concepto semejante.
?Los conceptos comparten entre si varios atributos o
comportamientos semejantes.
?Existen relaciones compartidas por los conceptos
candidatos a subtipos que pueden generalizarse y asociarse al
supertipo.

Ingeniera del Software I (4 I.I)

Relaciones.

0..1
patrn

*
empleado

Generalizacin
Clases abstractas
? Representan clases que no contienen objetos.Slo
pueden aparecer dentro de jerarquas de generalizacin.
? Se pueden asociar a clases de una jerarqua en la que
los objetos siempre deben pertenecer a uno de los
subtipo definidos.
Figuras

Rectngulos

Crculos

Polgonos

49

Ingeniera del Software I (4 I.I)

Relaciones.

0..1

patrn

empleado

Generalizacin
Clases abstractas
? Se representan poniendo el nombre de la clase en
cursiva o mediante el valor etiquetado {abstract} debajo
del nombre de la clase.
Figura
{abstract}

Figura
posicin: Punto
mover()
dibujar()

Rectngulo

posicin: Punto
mover()
dibujar()

Polgono

esquina: Punto

Crculo

dibujar()

radio:Float

puntos: Lista
dibujar()

dibujar()

Ingeniera del Software I (4 I.I)

Relaciones.

0..1

patrn

empleado

Generalizacin
Estructuras mltiples:
? La generalizacin puede ser:
? simple.- un subtipo solo tiene un supertipo (padre).
? mltiple.- un subtipo puede tener varios supertipos (padres).
Persona
Persona
nombre
direccin

Empleado
fechaNacimiento
identificacionUsuario
password

Accionista
nmeroAcciones

nombre
direccin

EmpleadoAccionista
fechaNacimiento
identificacionUsuario
password
nmeroAcciones

Empleado
fechaNacimiento
identificacionUsuario
password

Accionista
nmeroAcciones

EmpleadoAccionista

50

Ingeniera del Software I (4 I.I)

Relaciones.
0..1

Asociacin

patrn

0..1
patrn

*
empleado

*
empleado

? Especifica que los objetos de una clase estn conectados


con objetos de otra clase.
? Puede verse como:
?unin o conexin de ideas
?establece las relaciones entre los objetos necesarios para llevar
a cabo un conjunto de requerimientos

? Pueden incluirse cuatro adornos a la asociacin.


?Nombre.- Se utiliza para describir la naturaleza de la asociacin.
?Rol.- Es el papel especfico que juega una clase en dicha relacin.
?Multiplicidad.-Indica cuntos objetos pueden conectarse a travs
de una instancia de la asociacin.
?Agregacin.-Permite modelar relaciones especiales de tipo
todo/parte.

Ingeniera del Software I (4 I.I)

Relaciones.
Asociacin

0..1
patrn

0..1
patrn

*
empleado

*
empleado

Nombre .- describe la relacin existente entre las clases .


Para aclarar su significado suele ser interesante indicar
la direccin de lectura.
Trabaja en
Empresa

Persona

Puede no ser necesario su inclusin si se indican los


nombre de los roles.

51

Ingeniera del Software I (4 I.I)

Relaciones.
0..1

Asociacin

patrn

0..1
patrn

*
empleado

*
empleado

Rol.- es la cara que la clase de un extremo de la relacin


presenta a la clase del otro extremo.
Una clase puede jugar el mismo o diferentes roles en
otras asociaciones.

Empresa

Persona
Patrn

Empleado

Ingeniera del Software I (4 I.I)

Relaciones.
Asociacin

0..1
patrn

0..1
patrn

*
empleado

*
empleado

Multiplicidad.- indica el nmero de objetos que puede


participar en una instancia de la relacin.
En una relacin se indican tantas multiplicidades como clases
participen en la asociacin.
En la multiplicidad se indican los lmites inferior y superior de
los objetos participantes.
?
?
?
?
?
?
?

1 -> exactamente 1
0,1 -> cero o uno
0..4 -> entre cero y cuatro
3,7 -> tres o siete
0..* -> mayor o igual de cero (por defecto)
1..* -> mayor o igual a uno
0..3, 7, 9..* -> cualquier nmero menos 4, 5, 6 y 8

52

Ingeniera del Software I (4 I.I)

Relaciones.
0..1

Asociacin

patrn

0..1
patrn

*
empleado

*
empleado

Multiplicidad.Cuando se indica una multiplicidad en un extremo de la


asociacin, se est especificando que, para cada objeto de la
clase en el extremo opuesto, debe haber tantos objetos en este
extremo
1

1..*

Empresa

Persona

Persona 1

Empresa 1

Persona 2

Empresa 2

Persona 3

Ingeniera del Software I (4 I.I)

Relaciones.
Asociacin

0..1
patrn

0..1
patrn

*
empleado

*
empleado

Agregacin.- describe asociaciones en las que existe una


jerarqua de composicin en la que una clase representa el
todo y otras las partes que lo constituyen.
Empresa

Todo

1
*
Departamento

Parte

La existencia de una agregacin no liga la existencia del


todo y sus partes.

53

Ingeniera del Software I (4 I.I)

Relaciones.
Asociacin

0..1
patrn

0..1

patrn

empleado

*
empleado

Avin

Agregaciones tpicas.-

0,1

? Partes que componen un objeto de nivel superior

0..4

Motor
Avin
0,1

? Elementos contenidos en otro nivel superior

0..n

Pasajeros

Vuelo

? Miembros de una coleccin o conjunto.

1..n
1..n

SegmentoVuelo

Ingeniera del Software I (4 I.I)

Relaciones.
Asociacin

0..1
patrn

0..1
patrn

*
empleado

*
empleado

Composicin.- es un tipo especial de agregacin en la que la


existencia de las partes est ligada a la del todo.
El objeto parte puede pertenecer a un todo nico, es ms se
espera que las parte vivan y mueran con el todo.
Cliente

Todo

0..*
CuentaBancaria

Parte

54

Ingeniera del Software I (4 I.I)

Relaciones.

0..1
patrn

*
empleado

Otras caractersticas
Las relaciones pueden tener asociados atributos.

Empresa
1..*

Empleo
desde
hasta

*
Empleado

Ingeniera del Software I (4 I.I)

Clase

Relaciones.
Lista de categoras asociaciones
Categora de asociacin

Ejemplo

A es una parte fsica de B

Ala-Avin;

A es una parte lgica de B

TramoVuelo-RutaVuelo

A est fsicamente contenido


en B
A est contenido lgicamente
en B

Producto-Estante;
Pasajero-Avin
Producto-Catlogo

A es una descripcin de B

DescripcinProducto-Producto

A es un elemento de una lnea LneaPedido-Pedido


en una transaccin B

55

Ingeniera del Software I (4 I.I)

Clase

Relaciones.
Lista de categoras asociaciones
Categora de asociacin
A se conoce/introduce/
registra/presenta/captura en B
A es miembro de B
A es una subunidad
organizacional de B

Ejemplo
Reserva-ListaPasajeros;
Venta-Caja
Piloto-Avin;
Vendedor-Tienda
Departamento-Tienda;
Mantenimiento-LneaArea

A usa o dirige a B

Piloto-Avin

A se comunica con B

Cliente-Vendedor;
AgenteReserva-Pasajero
Pago-Pedido;
Pasajero-Billete

A se relaciona con una


transaccin B

Ingeniera del Software I (4 I.I)

Clase

Relaciones.
Lista de categoras asociaciones

A es una transaccin relacionada


con otra transaccin B

Categora de asociacin

Ejemplo
Pago-Venta;
Reserva-Cancelacin

A est contiguo a B

Ciudad-Ciudad

A es propiedad de B

Avin-LineaArea;

56

Ingeniera del Software I (4 I.I)

Diagrama de Clases
Motor

Piloto

1..4

Diagramas de Clases.

Vendedordebilletes
1

1..2

Avin 1

Vuelo 1

*
*

Reserva

{ disjunta, completa }

1
Avincomercial

Avin militar

Lneaarea

{ disjunta, completa }

Avin de carga

Avin de pasajeros

Un diagrama de clases muestra un conjunto de clases,


interfaces y colaboraciones, as como sus relaciones.
? Colaboracin.- Sociedad de roles (clases) y otros elementos
que colaboran para proporcionar un comportamiento cooperativo
mayor que la suma de los comportamientos de sus elementos
(especificacin de cmo se realiza un elementos, tal como un caso
de uso o una operacin, por un conjunto de clasificadores y
asociaciones).
?Interfaz.- Coleccin de operaciones que se utilizan para
especificar un servicio de una clase o componente.

Ingeniera del Software I (4 I.I)

Diagrama de Clases
Motor

Piloto

1..4

Diagramas de Clases.

*
*

Vuelo 1

*
*

Reserva

{ disjunta, completa }

1
Avin militar

Avincomercial

Lneaarea

{ disjunta, completa }

Avin de carga

Ejemplo

Vendedordebilletes

1..2

1
Avin 1

Avin de pasajeros

Empresa
1
1..*

1..*

Departamento
nombre

Se ubica

0,1

Persona
nombre
direccin

Oficina
direccin
telfono

{subconjunto}

miembro

director
1..*

Accionista

Empleado

nmeroAcciones

fechaNacimiento
identificacionUsuario
password

RegistroPersonal
historialEmpleos
salario
IinformacinSegura

obtenerResgistrosPersonales

57

Ingeniera del Software I (4 I.I)

Diagrama de Clases
Motor

Piloto

1..4

Diagramas de Clases.

Vendedordebilletes
1

1..2

Avin 1

Vuelo 1

Reserva

{ disjunta, completa }

1
Avincomercial

Avin militar

Lneaarea

{ disjunta, completa }

Avin de carga

Avin de pasajeros

Se utiliza para:
? Modelar el vocabulario de un sistema.
? Tomar decisiones sobre qu abstracciones son parte del sistema
y cules caen fuera de sus lmites. Se utilizan para especificar
abstracciones y sus responsabilidades.

? Modelar colaboraciones simples.


? Prestar atencin a la visualizacin especificacin, construccin
y documentacin de la forma en que los conceptos abstractos del
dominio colaboran entre s.

? Modelar un esquema lgico de base de datos.


? Los diagramas de UML son un superconjunto de los diagramas
Entidad-Relacin.

Ingeniera del Software I (4 I.I)

Diagrama de Clases
Motor

Piloto

1..4

Diagramas de Clases.

Vendedordebilletes
1

1..2

Avin 1

Vuelo 1

*
*

Reserva

{ disjunta, completa }

1
Avin militar

Avincomercial

Lneaarea

{ disjunta, completa }

Avin de carga

Avin de pasajeros

Modelar colaboraciones simples


?Cada diagrama debe centrarse en una colaboracin.
?Para modelar una colaboracin:
? Identificar los mecanismos a modelar. Un mecanismo representa
una funcin o comportamiento de la parte del sistema que se est
modelando que resulta de la interaccin de una sociedad de clases,
interfaces y otros elementos.
?Para cada mecanismo identificar las clases, interfaces y otras
colaboraciones que participan en esta colaboracin, as como sus
relaciones.
? Usar escenarios para recorrer la interaccin entre los elementos.
? Completar la descripcin de los elementos. Para las clases hay que
comenzar con un reparto de responsabilidades. Despus hay que
convertir dichas responsabilidades en atributos y operaciones.

58

Ingeniera del Software I (4 I.I)

Diagrama de Clases
Motor

Piloto

1..4

Diagramas de Clases.

Vendedordebilletes
1

1..2

Avin 1

Vuelo 1

Reserva

{ disjunta, completa }

1
Avincomercial

Avin militar

Lneaarea

{ disjunta, completa }

Avin de carga

Avin de pasajeros

Modelar un esquema lgico de base de datos


?Los modelos de clases no slo permiten describir los datos
sino el comportamiento.
? En una base de datos estas operaciones generalmente se convierten
en disparadores o procedimientos almacenados.

?Para modelar un esquema:


?Identificar aquellas clases cuyo estado debe perdurar en el tiempo.
? Crear un diagrama. Las clases pueden completar su descripcin con
valores etiquetados que describan informacin de las base de datos.
? Especificar los atributos , las relaciones y las cardinalidades.
? Considerar el comportamiento de las clases, expandiendo las
operaciones de acceso a la base de datos, o aquellas que permiten
asegurar la integridad. En general las reglas del negocio deben
modelarse en una capa por encima de las clases persistentes.

Ingeniera del Software I (4 I.I)

Diagrama de Clases
Motor

Piloto

1..4

Diagramas de Clases.
destino

Avincomercial

0..n

0..n

origen

ElementoEmbarque
nmero
situacinActual

0..n

0,1

Avin
nmero
estado
modelo
capacidad

Cliente

Empresa
razonSocial

Particular

Trayectoria
fecha

tiene
1

0,1
1

2..n

adquiere
0..n

Avin de pasajeros

0..n

se asigna

destino

Lneaarea

0..n

Aeropuerto
nombre
ciudad

Reserva

FallosAvin
fecha
hora
descripcin

SegmentoVuelo
nmero
descripcin

destino
origen

{ disjunta, completa }

1..n

origen

Vuelo 1

1
Avin militar

1..n

Misin
nmero
descripcin
horario

*
*

{ disjunta, completa }

Avin de carga

Ejemplo

Vendedordebilletes

1..2

1
Avin 1

Persona
nombreApellidos

Carga

Pasajeros

PuntoEspacioAreo
fecha
hora
posicin

peso
tamao
descripcin

asiento

59

Ingeniera del Software I (4 I.I)


Diagrama de Actividad

Diagramas de Actividades.
Qu es un diagrama de actividades?
Es fundamentalmente un diagrama de flujo que muestra el
flujo de control entre actividades.
?Un diagrama de interaccin muestra objetos que se pasan
mensajes, un diagrama de actividades muestra las operaciones
que se pasan entre los objetos.

Actividad es un estado con una accin interna y uno o ms


transiciones de salida que automticamente preceden a la
terminacin de la accin interna.
?Las actividades producen una accin, que est compuesta de
computaciones atmicas ejecutables que producen un cambio en
el estado del sistema o la devolucin de un valor

Ingeniera del Software I (4 I.I)


Diagrama de Actividad

Diagramas de Actividades.
Ejemplo

Disponer de solar

Estado inicial

Contratar arquitecto

Estado accin

Obtener plano y
presupuesto obra

Bifurcacin

[no aceptado]

Guarda

[en otro caso]

Divisin
Construir casa ( )

Estado de actividad
con submquina

Vender casa

Flujo de objeto

:CertificadoVivienda
Terminar
promocin vivienda

[terminado]

Unin
Estado final

60

Ingeniera del Software I (4 I.I)


Diagrama de Actividad

Diagramas de Actividades.
Normalmente los diagramas de actividades contienen:
?Estados de actividad y estados de accin.
?Estado de actividad.-Elemento compuesto cuyo flujo de control
se compone de otros estados de actividad y de accin.
?Estado de accin.- Estado que representa la ejecucin de una
accin atmica, normalmente la invocacin de una operacin.

?Transiciones.
?Relacin entre dos estados que indica que un objeto en el primer
estado realizar ciertas acciones y pasar al segundo estado cuando
ocurra un evento especfico y satisfaga ciertas condiciones.

?Objetos.
? Manifestacin concreta de una abstraccin o instancia de una
clase.

Ingeniera del Software I (4 I.I)


Diagrama de Actividad

Diagramas de Actividades.
Estados de actividad y de accin
?Estado de actividad.-Elemento compuesto, cuyo flujo de
control se compone de otros estado de actividad y de accin.
Procesar Pedido (f)

?Estado de accin.- Ejecucin de una accin atmica.


?No pueden descomponerse y la aparicin de eventos no puede
interrumpir su ejecucin.
?Generalmente se considera que su ejecucin conlleva un tiempo
insignificante.
Preparar oferta

?Pueden definirse tambin otro tipo de estados:


? Inicial.
?Final.

61

Ingeniera del Software I (4 I.I)


Diagrama de Actividad

Diagramas de Actividades.
Transiciones
?Se representa mediante una lnea dirigida del estado inicial
al siguiente.
Estado inicial

Estado final

?Podemos encontrar diferentes tipos de transacciones:


? Secuencial o sin disparadores.?Bifurcacin.?Divisin y unin.-

Ingeniera del Software I (4 I.I)


Diagrama de Actividad

Diagramas de Actividades.
Transiciones
?Secuencial o sin disparadores.Al completar la accin del estado origen se ejecuta la accin de
salida y, sin ningn retraso, el control sigue por la transicin y
pasa al siguiente estado.

Estado accin 1

Transicin sin disparador

Estado accin
Estado accin 2

62

Ingeniera del Software I (4 I.I)


Diagrama de Actividad

Diagramas de Actividades.
Transiciones
?Bifurcacin.Especifica caminos alternativos, elegidos segn el valor de alguna
expresin booleana.
Guardas

[x>0]

Actividad

[x=0]

[x>0]
[x=0]

Actividad

[x<0]

[x<0]

?Las condiciones de salida no deben solaparse y deben cubrir


todas las posibilidades (puede utilizarse la palabra clave else).
?Pueden utilizarse para lograr el efecto de las iteraciones.

Ingeniera del Software I (4 I.I)


Diagrama de Actividad

Diagramas de Actividades.
Transiciones
?Divisin y unin. Permiten expresar la sincronizacin o ejecucin paralela de
actividades.

Sincronizacin o unin

Ejecucin paralela o divisin

? Conceptualmente las actividades invocadas despus de una


divisin son concurrentes. Aunque, en un sistema real en
ejecucin, estos flujos pueden ser realmente concurrentes o
secuenciales y entrelazados, dando sensacin de concurrencia real.

63

Ingeniera del Software I (4 I.I)


Diagrama de Actividad

Diagramas de Actividades.
Transiciones
?Divisin y unin. Por definicin, en la unin los flujos entrantes se sincronizan, es
decir, cada uno espera hasta que todos los flujos de entrada han
alcanzado la unin.
? Para expresar otro tipo de unin se pueden utilizar valores
etiquetados.

{AND}

{OR}

{XOR}

? Para expresar que la actividad subsiguiente se realiza mltiple s


veces se utiliza *.
*

Ingeniera del Software I (4 I.I)


Diagrama de Actividad

Diagramas de Actividades.
Ejemplo
Cuando recibimos un pedido, comprobamos cada artculo de la
lnea de pedido para ver si tenemos existencias de l. Si la
respuesta es afirmativa, asignamos la mercanca al pedido. Si esta
asignacin hace bajar la cantidad de productos en almacn por
debajo del nivel mnimo, se realiza un pedido a los proveedores.
Mientras hacemos esto, revisamos el pago para ver si est
correcto. Si el pago est bien y hay mercancas en existencia,
servimos el pedido. Si el pago est correcto pero no tenemos
existencias de ese producto, dejamos el pedido en espera. Si el
pago no es correcto, se cancela la orden.

64

Ingeniera del Software I (4 I.I)


Diagrama de Actividad

Diagramas de Actividades.
Recibir orden

Disparador mltiple

*[por cada artculo de


la lnea de pedido]
[fallo]
Cancelar orden

Autorizar pago
[xito]

Comprobar existencia
[en existencia]

Asignar a orden
Condicin de sincronizacin

[existencia asignada a todos


los artculos de del pedido y
pago autorizado]
Servir pedido

[se necesita
solicitar
existencias]
Realizar pedido
a proveedores

Ingeniera del Software I (4 I.I)


Diagrama de Actividad

Diagramas de Actividades.
Ejemplo
Cuando llega un reabastecimiento de los proveedores, vemos los
pedidos pendientes y decidimos cules pueden servirse con el
material recibido y, entonces, asignamos los productos
correspondientes a dichos pedidos. Con esto se pueden servir las
ordenes pendientes. La mercanca restante se guarda en el
almacn.

65

Ingeniera del Software I (4 I.I)


Diagrama de Actividad

Diagramas de Actividades.
Recibir
abastecimiento

Seleccionar artculos
de pedidos pendientes
*[por cada artculo de
pedido seleccionado]
Asignar artculo
a pedido

[existencia asignada a todos


los artculos de del pedido y
pago autorizado]

[se han asignado todos los


artculos necesarios a los
pedidos pendientes]

Servir el pedido

Agregar resto de
productos a existencias

Ingeniera del Software I (4 I.I)


Diagrama de Actividad

Diagramas de Actividades.
Recibir
abastecimiento

Recibir orden

*[por cada artculo de


la lnea de pedido]
Autorizar pago

Comprobar existencia
[en existencia]

[fallo]

[xito]

Seleccionar artculos
de pedidos pendientes
*[por cada artculo de
pedido seleccionado]
Asignar artculo
a pedido

Asignar a orden
Cancelar orden
[se necesita
solicitar
existencias]
Realizar pedido
a proveedores
[existencia asignada
a todos los artculos
de del pedido y
pago autorizado]

Servir pedido

[se han asignado


todos los artculos
necesarios a los
pedidos pendientes]
Agregar resto de
productos a existencias

66

Ingeniera del Software I (4 I.I)


Diagrama de Actividad

Diagramas de Actividades.
Calles (Swimlanes)
? Permiten ver QUIENES son los responsables de
realizar las distintas actividades.
?Especificar qu parte de la organizacin es responsable de una
actividad.

? Cada calle tiene un nombre nico dentro del diagrama.


? Puede ser implementada por una o varias clases.
?Las actividades de cada calle se consideran
independientes y se ejecutan concurrentemente a las de
otras calles.

Ingeniera del Software I (4 I.I)


Diagrama de Actividad

Diagramas de Actividades.
Ventas

Almacn
Recibir orden

Disparador mltiple

*[por cada artculo de


la lnea de pedido]
[fallo]
Cancelar orden

Autorizar pago

Comprobar existencia

[xito]

[en existencia]

Asignar a orden
Condicin de sincronizacin
[se necesita
solicitar
existencias]

[existencia asignada a todos


los artculos de del pedido y
pago autorizado]
Servir pedido

Realizar pedido
a proveedores

67

Ingeniera del Software I (4 I.I)


Diagrama de Actividad

Diagramas de Actividades.
Flujo de objetos
?Permiten mostrar los objetos que participan dentro del
flujo de control asociado a un diagrama de actividades.
?Junto a ello se puede indicar cmo cambian los valores de sus
atributos, su estado o sus roles.
Objeto

o: Orden
[en progreso]

Recibir orden

Estado
Flujo de objeto

Servir pedido

o: Orden
[finalizada]

Ingeniera del Software I (4 I.I)


Diagrama de Actividad

Diagramas de Actividades.
Cundo emplear los diagramas de actividades?
?En el modelado de los procesos del negocio.
?Permiten especificar y evaluar el flujo de trabajo de los procesos
de negocio.

?En el anlisis de un caso de uso.


?Permiten comprender qu acciones deben ocurrir y cules son las
dependencias de comportamiento.

?En la comprensin del flujo de trabajo, a travs de varios


casos de uso.
?Permiten representar con claridad las relaciones de flujo de trabajo
(workflow) entre varios casos de uso.

?Cuando se trata de expresar aplicaciones multihilos.

68

Ingeniera del Software I (4 I.I)


Diagrama de Actividad

Diagramas de Actividades.
En qu situaciones no utilizarlos?
?Para tratar de ver cmo colaboran los objetos.
?En estos casos, es mejor utilizar los diagramas de interaccin.

?Para tratar de ver cmo se comporta un objeto durante su


ciclo de vida.
?En estos casos, es recomendable utilizar los diagramas de estados.

Ingeniera del Software I (4 I.I)


Diagrama de Actividad

Diagramas de Actividades.
Exposicin del caso.-

Se desea estudiar el sistema de pedidos de libros, realizados po r los clientes, en una librera y su posterior
envo y facturacin.
Se supone que la librera no mantiene stock de libros y por tanto debe pedir los libros solicitados a las
editoriales correspondientes, con las cuales tiene concertado un sistema de descuentos en funcin de la
cantidad de libros solicitados.
Cada cliente tiene asociado un crdito permitido que debe ser controlado por el sistema para no aceptar
pedidos si ste ha sido superado. Una vez validados los pedidos son agrupados por editorial para realizar un
pedido de reaprovisionamiento asociado a los pedidos de los clie ntes.Estos pedidos se realizan dos das por
semana.
Cada editorial tiene establecido un tiempo estndar de respuesta. Una vez transcurrido este tiempo ms
una semana el pedido reaprovisionamiento puede ser anulado. Tras recibir y validar que lo enviado por la
editorial se corresponde con lo solicitado, se deben asociar los pedidos de reaprovisionamiento y los de los
clientes.
Cuando el pedido del cliente est completo debe aadirse la direccin de envo y generar una prefactura, la
cual ir acompaando a los libros solicitados por el cliente. Una vez recibido el paquete con los libros y la
prefactura, el cliente deber realizar el pago asociado a dicha prefactura.
Al ser recibido un pago del cliente, deber asociarse a una prefactura pendiente y enviar una factura
definitiva al cliente. Si el pago no se efecta en un perodo de 30 das desde el env o de la prefactura, el
pedido llevar un recargo adicional.
La direccin de ventas desea obtener mensualmente una estadstica de compras por cliente, para de este
modo poder clasificar a sus clientes en funci n a su volumen de pedidos. Junto a este informe, la misma
direccin desea enviar un cat logo general anualmente y otro de novedades con carcter mensual , sobre
aquellos temas de ms inters para cada cliente, para lo cual desea disponer de una estad stica que indique los
temas ms frecuentemente solicitados.
Una peticin normal de los clientes, una vez solicitado un pedido, es saber en qu situacin se encuentra.

69

Ingeniera del Software I (4 I.I)


Diagrama de Secuencia
: Socio

Diagramas de Secuencia.

: Encargado
Coger

:Libro

: Ficha socio

: Ficha libro

:Prstamo

libro

Solicitar prstamo
Verificarsituacinsocio
Situacinsociook
Verificarsituacinlibro
Situacin libro ok
Introducirprstamo
Autorizar

prstamo

Qu es un diagrama de secuencia?
Es un tipo de diagrama de interaccin.
? Muestra la interaccin entre un conjunto de objeto y
sus relaciones, incluyendo los mensajes que pueden
enviarse entre ellos, en el que se destaca la ordenacin
temporal de los mensajes.
? Este tipo de diagramas se emplea bsicamente en el
diseo.
? En el anlisis se utiliza para especificar el paso de
mensajes entre los actores y el sistema (diagrama de
secuencia del sistema).

Ingeniera del Software I (4 I.I)


Diagrama de Secuencia
: Socio

Diagramas de Secuencia.

: Encargado
Coger

:Libro

: Ficha socio

: Ficha libro

:Prstamo

libro

Solicitar prstamo
Verificarsituacinsocio
Situacinsociook
Verificarsituacinlibro
Situacin libro ok
Introducirprstamo
Autorizar

prstamo

Diagrama de secuencia del sistema


? Es una representacin que muestra los eventos
generados por los actores externos y su orden .
? Permite expresar qu hace el sistema desde la
perspectiva del usuario.
?Puede ser interesante crear uno de estos diagramas
para cada escenario de los diferentes casos de uso.

70

Ingeniera del Software I (4 I.I)


Diagrama de Secuencia
: Socio

Diagramas de Secuencia.

: Encargado
Coger

:Libro

: Ficha socio

: Ficha libro

:Prstamo

libro

Solicitar prstamo
Verificarsituacinsocio
Situacinsociook
Verificarsituacinlibro
Situacin libro ok
Introducirprstamo
Autorizar

prstamo

Diagrama de secuencia del sistema


Ejemplo:
:Sistema

Repetir mientras
haya productos.

introducirProducto (identificador, cantidad)

terminarVenta()

pago(totalDinero)

Evento del sistema

Ingeniera del Software I (4 I.I)


Diagrama de Secuencia
: Socio

Diagramas de Secuencia.

: Encargado
Coger

:Libro

: Ficha socio

: Ficha libro

:Prstamo

libro

Solicitar prstamo
Verificarsituacinsocio
Situacinsociook
Verificarsituacinlibro
Situacin libro ok
Introducirprstamo
Autorizar

prstamo

Diagrama de secuencia del sistema


Cmo se elabora?.
?Trazar una lnea vertical que represente al sistema
como un todo.
?Identifique los actores que operan directamente con
el sistema para un escenario de un caso de uso.
?A partir de la descripcin del escenario identifique
los eventos que son generados por los actores.
?Ordene dichos eventos de arriba abajo segn su
orden de aparicin o ejecucin.

71

Ingeniera del Software I (4 I.I)


Paquete

Paquete

Reglas del negocio

Qu es un paquete?
Es un mecanismo que permite organizar los elementos
de modelado en bloques mayores que se pueden
manipular en grupo.
?Permiten controlar la visibilidad de los elementos de
un grupo desde el exterior.
?Agrupan elementos cercanos semnticamente y que
suelen cambiar juntos.
?Son cohesivos y poco acoplados.
Reglas del negocio

Ingeniera del Software I (4 I.I)


Paquete

Paquete

Reglas del negocio

?Un paquete puede contener otros elementos: clases,


interfaces, componentes, nodos, colaboraciones, casos
de uso, diagramas e incluso otros paquetes.
?Cada elemento pertenece exclusivamente a un nico
paquete
?Forma un espacio de nombres nico
? Dentro de l no pueden existir dos elementos de la misma
categora con el mismo nombre.

?Permiten controlar la visibilidad de los elementos de


un grupo desde el exterior.
?Pueden establecerse jerarqua de paquetes
? No ms de tres niveles.

72

Ingeniera del Software I (4 I.I)


Paquete

Paquete

Reglas del negocio

Importacin
?Para poder acceder a los elementos contenidos de un
paquete debe importarse dicho paquete.
? Importacin: concede un permiso de un solo sentido para
que los elementos de un paquete puedan acceder a los
elementos de otro.
? Se utiliza el estereotipo import

?Las dependencias de importacin y acceso no son


transitivas
?Si un elemento es visible en un paquete lo es a todos
los paquetes contenido en ese paquete

Ingeniera del Software I (4 I.I)


Paquete

Paquete

Reglas del negocio

Visibilidad
?Normalmente los elementos contenidos en un paquete
son pblicos (+), es decir, son visibles por cualquier
paquete que importe al paquete contenedor.
? El conjunto de partes pblicas constituye su interfaz.

?Los elementos protegidos (#) slo pueden ser vistos


por los hijos dentro de una jerarqua de herencia.
?Los elementos privados (-) no son visibles fuera del
paquete donde se declaran.
?Los paquete que son amigos (friend) de otro pueden
ver todos los elementos de ste, sin importar cul sea su
visibilidad.

73

Ingeniera del Software I (4 I.I)


Paquete

Paquete

Reglas del negocio

Generalizacin
?Pueden definirse jerarquas de generalizacin al igual
que suceden con otros elementos como clases, casos de
uso, etc.
?Los elementos ms especializados heredan los
elementos pblicos y protegidos del paquete ms
general.
?Los paquetes ms especializados pueden reemplazar a
los elementos ms generales y aadir otros.
?Un paquete generalizado puede utilizarse dondequiera
que se use un paquete ms general.

Ingeniera del Software I (4 I.I)


Paquete

Paquete

Reglas del negocio

Modelado de grupos de elementos


?Examinar los elementos de una determinada vista
arquitectnica en busca de grupos de elementos cercanos
desde el punto de vista conceptual o semntico.
?Englobar cada uno de esos grupos en un paquete.
?Para cada paquete definir los elementos que pueden ser
accedidos desde fuera. En caso de duda ocultar el
elemento.
?Conectar explcitamente los paquetes que dependen de
otros a travs de dependencias de importacin.
?En caso de encontrar familias de paquete utilizar la
generalizacin.

74

Ingeniera del Software I (4 I.I)


Paquete

Paquete

Reglas del negocio

Cliente
+ Formulario de pedidos
- Pedido

Servicios de Usuario

<<import>>
<<import>>
GUI
+ Ventana
+ Formulario
# GestorEventos

Servicios de Datos

<<import>>

WindowsGUI
Servicios de Negocio

MacGUI

+ GUI::Ventana
+ Formulario
# GUI:: GestorEventos
+ VBForm

Ingeniera del Software I (4 I.I)


Paquete

Paquete

Reglas del negocio

Modelado de paquetes de anlisis


?Deberan crearse basndose en los requisitos funcionales y
en el dominio del problema y, por tanto, deberan ser
reconocibles por las personas con conocimiento del dominio.
?Contiene generalmente clases de anlisis y realizaciones de
casos de uso
?Una forma inicial de identificarlos es asignarle los casos de
uso que :
? den soporte a un determinado proceso de negocio,
? den soporte a un determinado actor del sistema,
? estn relacionados mediante relaciones de generalizacin y de
extensin.

75

Ingeniera del Software I (4 I.I)


Paquete

Paquete

Reglas del negocio

Modelado de paquetes de servicio


?Un servicio representa un conjunto coherente de
acciones relacionadas funcionalmente que se utilizan en
varios casos de uso y que son de valor para un
determinado cliente.
?Tiene las siguientes caractersticas:
?Contiene un conjunto de clases relacionadas funcionalmente
?Es indivisible
?Cuando se realiza un caso de uso pueden ser necesaria la
participacin de varios paquetes de servicio.
?Suele ser relevante para un conjunto reducido de actores.
?Es un instrumento muy importante para la reutilizacin y la
gestin de configuraciones o versiones en grandes proyectos
software.

Ingeniera del Software I (4 I.I)


Paquete

Paquete

Reglas del negocio

Modelado de paquetes de servicio


? Identificacin de los paquetes de servicio:
?Por cada servicio opcional. El paquete de servicio ser la
unidad de compra.
?Para cada servicio que podra hacerse opcional, incluso
aunque todos los clientes lo quieran.

?El paquete de servicio ser la unidad de compra,


desde la perspectiva del cliente.
Corrector Ortogrfico
<<service package>>

Corrector Ingls

<<service package>>

Corrector Espaol

76

Ingeniera del Software I (4 I.I)

Glosario
? Actor.- Conjunto coherente de roles que juegan los
usuarios de los casos de uso cuado interactan con stos.
? Adorno.- detalle de la especificacin de un elemento
que se aade a su notacin grfica bsica.
? Arquitectura.- conjunto de decisiones acerca de la
organizacin de un sistema software, la seleccin de los
elementos estructurales de los que se compone el sistema,
junto con su comportamiento tal y como se especifica en
las colaboraciones entre esos elementos. En ella tambin
se incluyen las restricciones y los compromisos entre uso,
funcionalidad, rendimiento, flexibilidad, reutilizacin,
comprensibilidad, economa y tecnologa
? Artefacto.- pieza de informacin que es utilizada o
producida por un proceso de desarrollo de software.

Ingeniera del Software I (4 I.I)

Glosario ...
?Asociacin.- relacin estructural que describe un
conjunto de enlaces, donde un enlace es una conexin entre
objetos (relacin semntica entre dos o ms clasificadores
que implican la conexin entre sus instancias.
?Atributo.- propiedad con nombre de un clasificador que
describe un rango de valores que pueden contener las
instancias de la propiedad
?Caso de uso.- Descripcin de un conjunto de secuencias
de acciones, incluyendo variantes, que ejecuta un sistema
para producir un resultado observable, de valor para un
actor.
?Clase.- descripcin de un conjunto de objetos que
comparten los mismos atributos, operaciones, relaciones y
semntica.

77

Ingeniera del Software I (4 I.I)

Glosario ...
?Clase activa.- clase cuyas instancias son objetos activos
(descripcin de un conjunto de objetos (objeto que tiene un
proceso o hilo y puede iniciar actividad de control)
? Clase abstracta.- clase que no puede ser instanciada.
? Clasificacin dinmica.- Variacin semntica de la
generalizacin en la que un objeto puede cambiar de tipo o
de rol.(clasificacin esttica significa lo contrario).
? Clasificacin mltiple.- Variacin semntica de la
generalizacin en la que un objeto puede pertenecer a ms
de una clase.
? Clasificador.- Mecanismo que describe caractersticas
estructurales y de comportamiento (clases, interfaces, tipos
de datos, seales, componentes, nodos, casos de uso y
subsistemas).

Ingeniera del Software I (4 I.I)

Glosario ...
?Cardinalidad.- Nmero de elementos de un conjunto.
?Colaboracin.- sociedad de roles y otros elementos que
colaboran para proporcionar un comportamiento cooperativo
mayor que la suma de los comportamientos de sus elementos
(especificacin de cmo se realiza un elementos, tal como un
caso de uso o una operacin, por un conjunto de clasificadores
y asociaciones).
?Componente.- Parte fsica y reemplazable de un sistema
que conforma con un conjunto de interfaces y proporciona la
realizacin de dicho conjunto.
?Composicin.- Forma de agregacin con fuerte pertenencia
y un tiempo de vida coincidentes entre la parte y el todo; las
parte con una multiplicidad no fija pueden crearse despus del
todo, pero una vez creadas viven y mueren con l.

78

Ingeniera del Software I (4 I.I)

Glosario ...
?Concurrencia.- ocurrencia de dos o ms actividades
durante el mismo intervalo de tiempo.
? Contenedor.- Objeto que existe para contener otros
objetos y que proporciona operaciones para acceder o iterar
sobre los elementos que contiene.
? Delegacin.- capacidad de un objeto de enviar un mensaje
a otro objeto en respuesta a un mensaje.
? Dependencia.- relacin semntica entre dos elementos en
la cual un cambio a un elemento puede afectar a la semntica
del otro.
? Diagrama.- Representacin grfica de un conjunto de
elementos (generalmente grafo conexo de nodos y arcos).
?Diagrama de actividades .- Muestra el flujo de control
entre actividades.

Ingeniera del Software I (4 I.I)

Glosario ...
?Diagrama de casos de uso .- Muestra un conjunto de
casos de uso y actores y sus relaciones (cubren la vista de
casos de uso esttica del sistema).
? Diagrama de clases.- Muestra un conjunto de clases,
interfaces y colaboraciones y sus relaciones (cubren la vista
esttica de un sistema).
?Diagrama de colaboracin.- Diagrama de interaccin que
resalta la organizacin estructural de los objetos que envan y
reciben seales (muestra interacciones organizadas alrededor
de instancias y los enlaces de unas a otras).
?Diagrama de componentes.- Muestra la organizacin y
las dependencias entre un conjunto de componentes (cubren
la vista de implementacin esttica de un sistema).

79

Ingeniera del Software I (4 I.I)

Glosario ...
?Diagrama de despliegue .- Muestra la configuracin en
tiempo de ejecucin de los nodos de procesamiento y los
componentes que residen en ellos(cubre la vista de
despliegue esttica).
?Diagrama de estados.- Muestra la mquina de estados
(cubre la vista dinmica de un sistema).
?Diagrama de interaccin.- Muestra una interaccin que
consta de un conjunto de objetos y sus relaciones; incluyendo
los mensajes que pueden enviarse entre ellos (estos pueden
ser de tres tipos: colaboracin, secuencia y actividades).
?Diagrama de objetos.- Muestra un conjunto de objetos y
sus relaciones en un momento dado(cubre la vista esttica o
de proceso esttica)

Ingeniera del Software I (4 I.I)

Glosario ...
?Diagrama de secuencia .- resalta la interaccin temporal
de los mensajes.
?Dominio.- rea de conocimiento o actividad que se
caracteriza por un conjunto de conceptos y una terminologa
que entienden los profesionales de ese rea.
?Elemento.- constituyente atmico de un modelo.
?Enlace.- Conexin semntica entre objetos (instancia de
una asociacin).
?Escenario.- Secuencia especfica de acciones que ilustra
un comportamiento.
?Especificacin.- Descripcin textual de la sintaxis y la
semntica de un bloque de construccin especfico
(descripcin declarativa de los que algo es o hace).

80

Ingeniera del Software I (4 I.I)

Glosario ...
?Estado.- Condicin o situacin en la vida de un objeto
durante la cual satisface una condicin, realiza alguna
actividad o espera algn evento.
?Estereotipo.- extensin del vocabulario de UML que
permite crear nuevos bloques de construccin derivados a
partir de los existentes pero especficos a un problema
concreto.
?Evento.- Especificacin de un acontecimiento significativo
que ocupa un lugar en el tiempo y en el espacio.
?Framework.- Patrn arquitectnico que proporciona una
plantilla extensible para las aplicaciones dentro de un dominio.
?Generalizacin.- relacin de especificacin/generalizacin,
en la cual los objetos del elemento especializado (hijo) pueden
sustituir a los objetos del elemento general (padre).

Ingeniera del Software I (4 I.I)

Glosario ...
?Herencia.- Mecanismo por el cual los elementos ms
especficos incorporan la estructura y comportamiento de
elementos ms generales.
?Herencia mltiple.- Variacin semntica de la
generalizacin en la que un hijo puede tener ms de un padre.
?Incompletitud.- Modelado de un elemento manteniendo
ausentes algunas de sus partes.
?Inconsistencia.- Modelado de un elemento que no garantiza
la integridad del modelo.
?Ingeniera directa.- proceso de transformar un modelo en
cdigo.
?Ingeniera inversa.- Proceso de transformar el cdigo en un
modelo.

81

Ingeniera del Software I (4 I.I)

Glosario ...
?Instancia.- Manifestacin concreta de una abstraccin;
entidad a la que se pueden aplicar un conjunto de operaciones
y que tiene un estado que almacena el efecto de las
operaciones.
?Integridad.- relacin concreta y consistente de unas cosas
con otras.
?Interaccin.- comportamiento que comprende un conjunto
de mensajes que se intercambian entre un conjunto de objetos
para lograr un objetivo.
?Interfaz.- Coleccin de operaciones que se utilizan para
especificar un servicio de una clase o componente.
?Lenguaje de Restriccin de Objetos (OCL) .- Lenguaje
formal que se utiliza para expresar restricciones libres de
efectos laterales.

Ingeniera del Software I (4 I.I)

Glosario ...
?Ligadura.- Creacin de un elemento a partir de una plantilla
cuando se proporcionan argumentos para los parmetros de la
plantilla.
?Mquina de estados.- Comportamiento que especifica la
secuencia de estados por los que pasa un objeto a lo largo de su
vida en respuesta a eventos, junto con la respuesta a esos
eventos.
?Mecanismo.- Patrn de diseo que se aplica a una sociedad
de clases. Representa una funcin o comportamiento de la parte
del sistema que se est modelando que resulta de la interaccin
de una sociedad de clases, interfaces y otros elementos.
?Mecanismo de extensibilidad.- Cada uno de los tres
mecanismos (estereotipos, valores etiquetados y restricciones)
que permiten extender UML de forma controlada.

82

Ingeniera del Software I (4 I.I)

Glosario ...
?Mensaje .- especificacin de una comunicacin entre
objetos que transmite informacin con la expectativa de que se
desencadene una actividad
?Metaclase.- Clase cuyas instancias son clases.
?Mtodo.- implementacin de una operacin.
?Modelo.- Simplificacin de la realidad, creada para
comprender mejor el sistema que se est creando; abstraccin
semntica de un sistema.
?Multiplicidad.- Especificacin del rango de cardinalidades.
?Nivel de abstraccin.- Posicin dentro de una jerarqua de
abstracciones que abarca desde lo muy concreto a lo muy
abstracto.
?Nodo.- elemento fsico que existe en tiempo de ejecucin y
que representa un recurso computacional.

Ingeniera del Software I (4 I.I)

Glosario ...
?Nota.- Smbolo grfico para representar restricciones o
comentarios asociados a un elemento o a una coleccin de
elementos.
?Objeto.- Manifestacin concreta de una abstraccin
(instancia de una clase).
?Objeto activo.- Objeto que tiene un proceso o hilo y puede
iniciar actividad de control.
?Objeto persistente.- Objeto que existe despus de que el
proceso que lo cre deja de existir.
?Operacin.- Implementacin de un servicio que puede ser
requerido a cualquier objeto de la clase a la que pertenece.
?Paquete.- Mecanismo de propsito general para organizar
elementos en grupos.
?Patrn.- Solucin comn a un problema comn en un
contexto determinado.

83

Ingeniera del Software I (4 I.I)

Glosario ...
?Plantilla.- Elemento parametrizado.
?Poscondicin.- Restriccin que debe ser cierta al finalizar
una operacin.
?Precondicin.- Restriccin que debe ser cierta cuando se
invoca a una operacin.
?Proceso.- Flujo de control pesado que puede ejecutarse
concurrentemente con otros.
?Producto.- Artefacto del desarrollo como por ejemplo:
modelos, cdigo, documentacin y planes de trabajo.
?Proveedor.- Tipo, clase o componente que proporciona
servicios que pueden ser invocados por otros.
?Realizacin.- Relacin semntica entre clasificadores, en la
cual un clasificador especifica un contrato que otro
clasificador se compromete a llevar a cabo.

Ingeniera del Software I (4 I.I)

Glosario ...
?Refinamiento.- Relaciones que representan una
especificacin ms completa de algo que ya ha sido
especificado a cierto nivel de detalle.
?Relacin.- Conexin semntica entre elementos.
?Requisito.- Caracterstica, propiedad o comportamiento
deseado de un sistema.
?Responsabilidad.- Contrato u obligacin de un tipo o una
clase.
?Restriccin.- Extensin de la semntica de un elemento de
UML que permite aadir nuevas reglas o modificar las
existentes.
?Rol.- Comportamiento de una entidad que participa en un
contexto particular.

84

Ingeniera del Software I (4 I.I)

Glosario ...
?Seal.- Especificacin de un estmulo asncrono que es
transmitido entre instancias.
?Subclase.- En una relacin de generalizacin, la
especializacin de otra clase (el hijo).
?Subsistema.- agrupacin de elementos, algunos de los cales
constituyen una especificacin del comportamiento ofrecido
por los otros elementos.
?Superclase.- En una relacin de generalizacin, la
generalizacin de otra clase (el padre).
?Tarea.- flujo de ejecucin nico a travs de un programa, un
modelo dinmico o alguna otra representacin de un flujo de
control.
?Tipo.- estereotipo de clase que se utiliza para especificar un
dominio de objetos, junto con operaciones de ese objeto.

Ingeniera del Software I (4 I.I)

Glosario ...
?Tipo de datos.- Tupo cuyos valores no tienen identidad. Los
tipos de datos incluyen los tipos primitivos , as como tipos
enumerados.
?Traza.- Dependencia que implica una relacin de proceso o
historia entre dos elementos que representan el miso concepto,
sin reglas para derivar el uno del otro
?UML.- lenguaje de modelado para visualizar, especificar,
construir y documentar los artefactos de un sistema con gran
cantidad de software.
?Unidad de distribucin.- conjunto de objetos o
componentes que se colocan en un nodo como un grupo.
?Uso.- Dependencia en la que un elemento (el cliente) requiere
la presencia de otro elemento (el proveedor) para un
funcionamiento o una implementacin correcta.

85

Ingeniera del Software I (4 I.I)

Glosario ...
?Valor etiquetado.- Extensin de las propiedades de un
elemento de UML, que permite crear nueva informacin en la
especificacin de ese elemento.
?Versin.-Conjunto relativamente completo y consistente de
artefactos entregado a un usuario
?Visibilidad.- Cmo puede ser visto y utilizado un nombre
por otros.
?Vista.- Proyeccin de un modelo que se ve desde una
perspectiva o punto de vista dado y que omite entidades que no
son relevante desde esa perspectiva.

86

Вам также может понравиться