Sei sulla pagina 1di 37

m Una técnica de modelamiento

m Idea
Las personas describen su entorno en base a objetos (naturales,
entidades hechas por el hombre y productos), que son
clasificados, descritos, organizados, combinados, creados y
manipulados.
Modelar un sistema a través de objetos que interactúan entre sí.

m Elementos básicos
objetos, clasificación, herencia, y
comunicación
m ¿Por qué la OO?
Proximidad de los conceptos de modelación respecto
de las entidades del mundo real
m Mejora captura y validación de requerimientos
m Acerca el ³dominio del problema´ y el ³dominio de la
solución´

Los modelos integran el comportamiento estático y


dinámico del dominio del problema
m Facilita construcción, mantenimiento y reutilización
m ¿Porqué la OO?
Conceptos comunes de modelación durante el
análisis, diseño e implementación
m Facilita la transición entre distintas fases
m Disipa la barrera entre el ³qué´ y el ³cómo´
m Favorece el desarrollo iterativo del sistema
m Objeto
Es una entidad capaz de almacenar su estado y ofrecer
operaciones (comportamiento) para examinar o modificar
su estado.

Corresponden a entidades reales, ya sean físicas o


abstractas.

Ejemplos:
m Estado y comportamiento
Su estado se caracteriza por medio de atributos, mientras sus
comportamiento se representa mediante operaciones (métodos o
servicios).
Las operaciones son visibles sólo en términos genéricos, no se
detalla la forma en que se realizan.
A veces su estado requiere conocer información de otros objetos.
En tal caso se establecen asociaciones entre dichos objetos. Tipos
principales:
m Composición - A está compuesto por B, C, D, E (el objeto se
construye a partir de A, parte/todo)
m Dependencia- Una instancia de A depende de B, C, D, E

m Agregación - A está incluido en B, C, D, E (el objeto incluido es


independiente)
m Generalización
m Comunicación
La unidad de comunicación entre objetos se denomina mensaje:

m Un mensaje estimula la ocurrencia de cierto comportamiento


en el objeto receptor, el cual comienza con la ejecución de una
operación.

m Una operación dentro de un objeto emisor genera un mensaje


de la forma:
mensaje:[destino, operación, parámetros]

,donde Ê  define el objeto receptor,   


 se refiere al
método que recibe el mensaje y   proporciona
información requerida para el éxito de la operación.
m Otros....
Encapsulamiento - La información contenida en un objeto y sus
operaciones sólo pueden manipularse cuando el objeto recibe un
estimulo. Por lo tanto la información y el comportamiento de un
objeto están encapsuladas en él.

Ocultamiento de información - Para usar un objeto sólo se


necesita conocer las operaciones que ofrece y no su
implementación.

Polimorfismo - Permite que un número de operaciones diferentes


tengan el mismo nombre, reduciendo el acoplamiento entre
objetos, es decir, hace cada objeto más independiente.
m Clases e instancias
Una clase representa el template de un objeto que,
además de su comportamiento y estado, describe su
estructura interna. Los objetos de la misma clase
tienen los mismos atributos y operaciones.

Una instancia corresponde a un objeto creado por la


clase. La clase describe la estructura de la instancia,
mas el estado de la instancia es almacenado en ella y
alterado por las operaciones que se ejecutan en ella.
m Clases e instancias
Nota: es posible considerar una clase como la
descripción de la estructura de un objeto, mientras la
instancia como un estado particular del objeto.

Ejemplos:
m Persona - Pablo Neruda, Pacheco Altamirano, Nicanor
Parra
m Libro ± El Tunel, 100 Años de Soledad
m -erencia
Cuando se describen las clases de un modelo pueden aparecer clases
con una parte de estructura común. En tal caso podemos extraer estas
características y ponerlas en una clase separada, manteniendo las
restantes en sus clases originales.

Luego, si la clase B hereda de la clase A, entonces todos las


operaciones y atributos descritas en A son parte de la clase B.

A partir de esta jerarquía de definen 2 nuevos conceptos:


m Superclase: colección de clases
m Subclase: instancia de una clase
m Definiciones previas
Modelo: representación abstracta de una especificación, un
diseño o un sistema. Generalmente, basada en una visión
particular y compuesta por uno o más diagramas.

Lenguaje de modelación: es una forma de expresar (notación)


los distintos modelos generados durante el proceso de
desarrollo. Se compone de sintaxis (conjunto de símbolos y
diagramas válidos) y semántica ( reglas de interpretación)

m Entregan soporte al desarrollo en relación con la


documentación de los productos de trabajo asociados a los
modelos elaborados.
m UML es un lenguaje de modelación de propósito
general para el modelado OO

m Combina notaciones provenientes desde:


Modelado OO
Modelado de datos
Modelado de componentes
Modelado de Workflows
m Inicios
Diversos métodos de OO, con muchos aspectos en
común pero con diferentes notaciones
Dificultad en el aprendizaje, aplicación, desarrollo y uso
de herramientas
Pugna entre distintos enfoques

·  
  
m -istoria de UML
UML comenzó como el ³Método Unificado´, con la
participación de Grady Booch y Jim Rumbaugh.

El mismo año se unió Ivar Jacobson, con lo cual los ³Tres


Amigos´ son socios en la compañía Rational Software, que
han desarrollado una herramienta CASE Rational Rose.

Noviembre de 1997 - UML aprobado por el Object


Managment Group (OMG)
 


 
 


 


 
±  6 

m Participantes de UML 1.0
m Rational Software (Grady Booch, Jim
m MCI Systemhouse
Rumbaugh y Ivar Jacobson)
m Microsoft
m Digital Equipment
m ObjecTime
m -ewlett-Packard
m Oracle
m i-Logix (David -arel)
m Platinium Technology
m IBM
m Sterling Software
m ICON Computing (Desmond D¶Souza)
m Taskon
m Intellicorp and James Martin & co.
(James Odell) m Texas Instruments
m Unisys

http://www.uml.org/#Links-UML2Tools
m UML está asociado a un proceso de desarrollo
particular. No es una metodología.
Aumenta las posibilidades de aceptación
generalizada de la notación.
La esencia de un proceso apropiado admite mucha
variación y depende de muchos factores.

m Provee constructores para una amplia gama de


sistemas y actividades
m UML centra el desarrollo en tres modelos diferentes:

Modelo funcional - diagramas de casos de uso, describen


el sistema desde la perspectiva del usuario
Modelo objeto - diagrama de clases, describen la
estructura de un sistema en términos de objetos, atributos,
asociaciones y operaciones.
Modelo dinámico - diagramas de secuencia y de estados,
describen el comportamiento del sistema.
Ä 
Ä  

 
Ä 
Ä   

 

Ä  Ä 


 





Ä  Ä 

 Ä   
Ä 
  
m r r ti
r l l j li  j t t r
r  it l r i  
.
m rrtii i   tlí ifl t 
m rrtii i   i rtt  r 
m  ti    ti  t r r if r t 
ri  it ril 

i i: H rr i t  rt , i lirfí,


t..
* Un caso de uso representa una unidad funcional
coherente de un sistema, subsistema o clase.
* En un caso de uso uno o más actores
interaccionan con el sistema que realiza algunas
acciones
* Descripción de varias secuencias de acciones,
con variantes, que un sistema realiza para
obtener un resultado observable útil para algún
actor
* Representan un conjunto coherente de papeles que los
usuarios de una entidad (sistema, subsistema, clase)
pueden desempeñar al interaccionar con la misma.
* Cualquier cosa que se comunica (interacciona) con el
sistema y que es externo a él.
* Representan papeles (ROLES) que interpretan personas,
periféricos u otros sistemas cuando el sistema está en uso.
* Un actor podría desempeñar distintos papeles
dependiendo del caso de uso en que participe.
* No necesariamente coinciden con USUARIOS. Un usuario
puede interpretar distintos roles. Cada uno de ellos será un
actor.
? 
 CU-<
>

 <

 
>
 El sistema deberá comportarse tal como se describe en el siguiente caso de uso { concreto cuando <evento de activación> , abstracto
durante la realización de los casos de uso <lista de casos de uso>}


 <precondición del caso de uso>

  

1 {El <actor> , El sistema} <acción realizada por el actor o sistema>, se realiza el caso de uso
< caso de uso CU-x>

2 Si <condición>, {el <actor> , el sistema} <acción realizada por el actor o sistema>>, se realiza el caso de uso <
caso de uso CU-x>
« «
¢  
  

1 Si <condición de excepción>,{el <actor> , el sistema} }<acción realizada por el actor o sistema>>, se realiza el
caso de uso
< caso de uso CU-x>, a continuación este caso de uso {continua, aborta}

« «

 
 <postcondición del caso de uso>

? 
   {sin importancia, importante, vital}
  {puede esperar, hay presión, inmediatamente}

 
 <comentarios adicionales>
* Los diagramas de casos de uso muestran las
* relaciones entre los casos de uso de un sistema y
sus actores.
* Los diagramas de casos de uso dan son sólo una
visión general del modelo de casos de uso.
* El 90% del contenido del modelo de casos de uso
está en la especificación de los casos
* Actores

* Casos de uso (cu)

* Relaciones

* Puede aparecer un rectángulo que muestre los


límites del sistema
* Entre casos de uso pueden darse relaciones:

* extend
* includes
* de generalización
* Inclusión (<<include>>):

* El caso de uso inicial incluye el comportamiento


del caso de uso final (subcasos).
* Solo se crean los inludes cuando existe más de
un caso de Uso que haga la inclusión.
* Extensión (<< extend>>):
* el caso de uso final se puede extender con el
comportamiento del caso de uso inicial en un
punto concreto del primero.
* si A extiende B, significa que una instancia del
caso de uso B podría incorporar el
comportamiento especificado en A (si se cumplen
las condiciones especificadas en la extensión).
* Relación de Generalización
* -erencia
* Es la actividad de identificar elementos en común
entre conceptos y definir las relaciones de una
superclase (concepto general) y subclase
(concepto especializado).
* Se puede hacer a nivel de Casos de Usos o a
nivel de Actores
<<extends>> <<extends>>
* Continuando con el caso de Estudio del Buffet:
* Identificar los actores
* Identificar los casos de uso
* Identificar las relaciones
* -acer la descripción de los casos de uso, utilizando la
Plantilla definida
* Elaborar un archivo Word con el desarrollo de la
práctica para su entrega.

Potrebbero piacerti anche