Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Iconix2 PDF
Iconix2 PDF
Mtodo ICONIX
Referencia
El mtodo original se encuentra en:
Rosenberg, Doug, with Kendall Scott
Use case driven object modeling with UML. A
practical approach
Addison Wesley, 1999
Ms informacin en la pgina:
http://www.iconix.com
Mtodo ICONIX
Por qu esta versin?
El texto original incluye muchas disgresiones,
generalmente obsoletas
El texto supone ciertos conocimientos, que no
siempre tienen los alumnos
El tratamiento de algunos temas es insuficiente
para los usos modernos
Por ello se realiz esta versin, que sirva para un
primer curso de desarrollo orientado a objetos y
usando UML.
Enfoque ICONIX
Modelado de objetos conducido por casos de uso.
Centrado en datos: se descompone en fronteras de
datos.
Basado en escenarios que descomponen los casos
de uso.
Enfoque iterativo e incremental.
Ofrece trazabilidad.
Uso directo de UML (estndar del Object
Management Group).
DINMICA
Prototipo de
interfaz de usuario
Modelo de casos de
uso
Diagrama de secuencia
Diagrama de robustez
ESTTICA
Cd
ig
Modelo de dominio
Diagrama de clases
Preguntas iniciales
Quines son los usuarios (actores) del sistema y
qu tratan de hacer?
Cules son los objetos del mundo real (dominio del
problema) y las asociaciones entre ellos?
Qu objetos son necesarios para cada caso de
uso?
Cmo colaboran los objetos en cada caso de uso?
Cmo se manejan aspectos de tiempo real?
Cmo se construir realmente el sistema a nivel de
piezas?
Caractersticas
Flexible para diferentes estilos y clases de
problemas.
Apoyo a la manera de trabajo de la gente.
Gua para los menos experimentados.
Expone los productos anteriores al cdigo de manera
estndar y comprensible.
Pasos principales
I Anlisis de requerimientos
Identificar objetos del dominio y relaciones de
agregacin y generalizacin.
Prototipo rpido.
Identificar casos de uso.
Organizar casos de uso en grupos (paquetes).
Asignar requerimientos no funcionales a casos de
uso y objetos del dominio.
META: revisin de requerimientos
Pasos principales
II Anlisis y diseo preliminar
Escribir descripciones de casos de uso
cursos bsico y alternos
Anlisis de robustez
Identificar grupos de objetos que realizan escenario
Actualizar diagramas de clases del dominio
Pasos principales
III Diseo
Asignar comportamiento
Para cada caso de uso
Pasos principales
IV Implementacin
Producir diagramas necesarios
Despliegue
Componentes
Escribir el cdigo
Pruebas de unidad e integracin
Pruebas de sistema y aceptacin basadas en
casos de uso
META: entrega del sistema
Captulo 2
Modelando el dominio
Modelando el dominio
Fuentes de informacin:
Clases y objetos
Objeto:
Algo tangible o visible
Algo que puede aprenderse intelectualmente
Algo hacia lo cual se dirigen pensamientos o
acciones
Un objeto tiene:
Estado
Comportamiento
Identidad
Clases y objetos
Estado: propiedades y sus valores
particulares
Comportamiento: cmo acta y responde (a
cambios de estado y paso de mensajes)
Clases y objetos
Clase:
Descripcin de un conjunto de objetos que
comparten una estructura, un comportamiento,
relaciones y semntica comunes
Interfaz:
Vista exterior de una clase; permite contrato acerca
de las responsabilidades que ofrece y exige; asla
el interior. Es el QU hace
Implementacin:
Vista interior, particular; CMO lo hace
Atributos
Nomobj:nomclase
Mtodos
:nomclase
cuenta
Micuenta:cuenta
saldo
saldo
clave
clave
dimesaldo()
dimesaldo()
deposita(cant)
deposita(cant)
retira(cant)
retira(cant)
Ejemplo de clase
Ejemplo de objeto
Modelando el dominio
Procedimiento:
Modelando el dominio
Procedimiento (II)
10
Subrayar sustantivos y
frases nominales
LISTA INICIAL
-----------
Subrayar verbos
y frases verbales
------
Quitar
verbos
disfrazados,
vaguedades
y
elementos
externos al dominio
Identificar
Actores
11
Modelando el dominio
Procedimiento (III)
Construir relaciones de generalizacin
Una generalizacin es una relacin en la cual una
clase es una generalizacin de otra. Tambin se
le llama tipo-de o es-una. La clase ms general
se llama Antecesor o Superclase y la otra
(refinamiento de la primera) Descendiente o
Subclase.
La subclase hereda los atributos y mtodos de la
superclase y las asociaciones en que participa.
Las puede modificar.
aPlazo
Cheques
Ejemplo
12
Modelando el dominio
Procedimiento (III)
Establecer asociaciones entre clases
Una asociacin es una relacin esttica entre dos
clases; indican dependencia, pero no accin
(aunque se las nombre con un verbo)
Deben ser persistentes (es modelo esttico)
asociacin
Multiplicidad
B
Se lee as: A se relaciona con
asociacin m
un B
uno o ms B
B
cero o un B
multiplicidad en la relacin
cero o ms B
entre m y n B
asociacin
exactamente n B
1..*
*
m..n
B
B
0..1
A
A
B
B
B
B
Lo mismo en sentido de B a A
13
Modelando el dominio
Procedimiento (III)
Establecer relaciones de agregacin
Una agregacin es una relacin en la cual una
clase est formada por otras (sus partes)
A veces se le llama parte-de
En UML se distingue una forma ms fuerte
llamada Composicin, pero para este mtodo no
se har diferencia
Relacin
de
Agregacin
o
Contencin: la clase D contiene a la
clase E, es decir, la clase E se
agreg a la clase D.
Tambin llamada parte-de: E es
parte de D
Gra
Brazo
Gancho
Ejemplo
14
Modelando el dominio
Procedimiento (IV)
Clases de asociacin
Una clase de asociacin es una variante de las
asociaciones muy til cuando hay relaciones muchas-amuchas entre clases
Beta
ClaAsoc
persona
patrn
0..1
empleo
compaa
Clase de asociacin;
puede tener sus
propios atributos
15
Identificar relaciones de
agregacin
DIAGRAMA
DE CLASES
Advertencia
No se tarde demasiado en preparar la
lista; ms adelante la refinar y
completar
16
Captulo 3
Modelado de casos de uso
Casos de uso
Buscan capturar los requerimientos del usuario para
sistema nuevo
Puede ser desde cero o a partir de un sistema
anterior
Especifica escenarios detallados de lo que hace el
usuario para lograr sus fines
Es la base de todo lo que sigue en este mtodo y
otros semejantes
17
Casos de uso
Definicin:
Un caso de uso es una secuencia de acciones que
un actor (usualmente una persona, pero que puede
ser una entidad externa, como otro sistema o un
elemento de hardware) realiza dentro del sistema
para lograr una meta
Casos de uso
Se describe mejor como una frase verbal en presente
y en voz activa.
Ejemplos:
Admite paciente,
Realiza transaccin o
Genera reporte
18
Casos de uso
Actor: es un papel realizado por: una persona, un
sistema externo, un hardware.
Los actores reflejan todas las entidades que deben
intercambiar informacin con el sistema.
Varias personas pueden realizar un mismo papel
Una persona puede jugar varios papeles, en
momentos distintos
Diagrama de casos de uso: rene actores y casos
de uso
Casos de uso
Identifica usuario
Genera reporte
empleado
Actualiza informacin
19
Casos de uso
Casos de uso
Existen dos tipos de caso de uso:
De nivel de anlisis: representa comportamiento
comn de un grupo de casos
De nivel de diseo: instancias del anterior, con
comportamiento especfico
20
Casos de uso
cmo escribirlos
Escriba un prrafo o ms para cada caso de uso,
describiendo su comportamiento
Si slo hay una frase, quiz dividi demasiado
finamente los casos de uso y deberan reunirse
varios
Si es demasiado extenso o complicado, quiz debe
subdividirlo
Importa ms identificar la mayora que refinarlos
desde el principio
Ms adelante se descubrirn otros y se refinarn
Casos de uso
cmo escribirlos
Recomendacin importante:
Deben guardar estrecha correlacin con manual
de usuario y la Interfaz grfica de usuario (GUI)
Primero se escribe el manual y luego se trabaja en el
cdigo (como sea: dibujos, texto, prototipo rpido,
objetos de utilera, etc)
21
Casos de uso
cmo escribirlos
En la descripcin no detalle demasiado elementos
que pueden cambiar ms tarde. Por ejemplo, no
especifique tipo de botn si puede cambiar por un
men desplegable o una lista para seleccionar.
Otras fuentes para casos de uso:
Si existe un sistema anterior, use los manuales de usuario
para extraer casos de uso
Captulo 4
Anlisis de Robustez
22
Anlisis de Robustez
Identificacin de Objetos
Objetos que participan en cada caso de uso
Clasificacin de objetos:
Objetos Fronterizos (de limite, boundary): objetos con los
cuales puede interactuar el usuario interfaz de usuario -.
De Entidad (Entity): generalmente objetos del modelo de
dominio
De control (controles, control): intermediarios entre los
fronterizos y de entidad.
Objeto fronterizo
Entidad
Control
Anlisis de Robustez
Relaciones entre objetos
PERMITIDO
NO PERMITIDO
23
Anlisis de Robustez
Diagramas de Robustez
Representa el curso bsico y los alternos de cada caso de uso.
Tener entre 2 y 5 objetos de control por caso de uso.
Usar flechas en una o dos direcciones.
Curso Bsico
Actor: inicia
la accin
Interfaz de
Usuario
Funciones
(acciones)
Entidad
(almacenes)
Curso Alterno
Anlisis de Robustez
Para qu sirven
Comprobacin de Sanidad: revisar las ideas de los
casos de uso (comportamiento razonable).
Comprobacin de entereza: asegurar que en los
casos de uso se cubra el camino bsico y los
posibles caminos alternos.
Descubrir objetos (si son necesarios)
Diseo preliminar: los diagramas son la primera
vista del nuevo sistema.
24
CAPITULO 5
Modelado de la Interaccin
Modelado de la Interaccin
Objetivos
25
Modelado de la Interaccin
Diagramas de Secuencia
Consta de 4 elementos:
1. Texto del curso de accin (caso de uso).
2. Objetos - se representan con el nombre del
objetos (opcional) y la clase.
3. Mensajes: flechas entre los objetos
4. Mtodos: operaciones (objetos de control)
representados por rectngulos).
Modelado de la Interaccin
Cmo crear un diagrama de Secuencia
1.
2.
3.
4.
5.
26
Modelado de la Interaccin
Diagramas de Secuencia
L
:IU
:Controla
:Entidad
Actor:
Alguien
I
N
E
Caso de uso
Evento1( )
A
Mtodo( )
MtodoA( )
MtodoL( )
D
E
Respuesta
I
D
A
Modelado de la Interaccin
Asignacin de mtodos Tarjeta CRC
Colaboracin
27
Modelado de la Interaccin
Responsabilidad (Puntos de criterio)
CAPITULO 6
Modelado de la Colaboracin y
Estados
28
Modelado de la Colaboracin y
Estados
Ayuda a agregar aspectos del comportamiento que
tiene el nuevo sistema.
Se disean comnmente para sistemas de tiempo
real o sistemas distribuidos.
Diagramas de Colaboracin
Especifican mas los diagramas de robustez.
Se apegan ms a la situacin real.
nfasis en el orden de las operaciones entre los
objetos del caso de uso.
Agrega detalles extras al momento del paso de
mensajes entre los objetos.
29
Diagramas de Colaboracin
1. Cuenta,
cantidad
:cajero
2. Busca la
cuenta
:IUDeposito
3. Deposita
en cuenta
Depositar
Cuenta
4.
Diagramas de Estados
Diagramas de Estado = Mquinas de estado finito =
Autmatas
Solucionan la representacin del comportamiento
dinmico de un objeto o grupo de objetos.
Muestra el ciclo de vida de los objetos, mediante los
diferentes estados que tiene o pasa un objeto.
30
Diagramas de Estados
Elementos
Estado inicial.
Estados del objeto = rectngulo redondeado, con el
nombre del estado y las actividades (opcional).
Tipos de actividades o eventos:
a) Inicio Entrada (Enter): acciones cuando entra
al estado.
b) Hacer (Do): acciones mientras esta en el estado.
c) Salida (Exit): acciones cuando sale del estado.
Transiciones: cambio de estados.
Estado final.
Diagramas de Estados
Representacin
Estado inicial.
Estados del objeto.
Estado
Estado
Entrar
Hacer
Salir
Transiciones.
Estado final.
31
Diagramas de Estados
Representacin - sugerencias
No cambios /
cerrar
Terminan
do
Editando
Salvando
Si cambios /
cerrar
Ejemplo:
Si cambios / cerrar
Diagramas de Actividades
Descienden de los diagramas de flujo, redes de
Petri y de las mquinas de estado.
Capturan las acciones y los resultados de estas
acciones.
Representan la secuencia de actividades que se
realizan en un caso de uso (mas detallado, como
un diagrama de flujo).
32
Ejemplo de Diagrama de
Actividades
Actividad 1
Actividad 2
Actividad 4
cond
Actividad 3
Entregar
Actividad 5
Actividad 6
Actividad
Diagramas de Actividades
Swimlanes (carriles) permiten agrupar las actividades
dependiendo de quien las realizadas.
Cada responsable (clase) de alguna actividad tiene un
carril.
JEFE
CAPTURISTA
INVENTARIOS
Saluda
Carga datos
Registra
Calcula total
Autoriza
Informa
33
Capitulo 7
Requerimientos
Requerimientos
Qu es un requerimiento?
Criterio especifico de un usuario que un sistema
tiene que satisfacer.
Los requerimientos definen el comportamiento y
funcionalidad requerida por el usuario para un
sistema.
Expresados por frases que incluyen:
1. shall tiene que, debe que
2. must debe de, haber de
34
Requerimientos
Tipos de requerimientos:
1. Funcionales: el sistema tiene que generar
automaticamente .
2. De Datos:
3. De ejecucin (desempeo): El sistema debe
de validar los datos que entran.
4. De capacidad: El sistema tiene que mostrar
informacin de 10,000 transacciones.
5. De prueba: El sistema tiene que permitir hacer
transacciones de 50 usuarios al mismo
tiempo.
ANEXO
Resumen de smbolos empleados
35
Casos de uso
Persona, mquina o programa externo al
sistema que se va a realizar, que inician una
accin o responden a una solicitud del sistema
ACTOR
Diagramas de clases
Nombre
Atributos
CLASE
Abstraccin de un conjunto de
objetos con comportamiento
comn.
Mtodos
A
D
Relacin de Generalizacin: A
generalizacin de las clases B y C.
es
una
Relacin
de
Agregacin
o
Contencin: la clase D contiene a la
clase E, es decir, la clase E se
agreg a la clase D.
Tambin llamada parte-de: E es
parte de D
36
Diagramas de clases
estereotipos
Objeto fronterizo
Relaciones permitidas
Objeto de control
Relaciones prohibidas
Entidad
37