Está en la página 1de 49

ANLISIS Y DISEO O.

Prof. Jannelly Bello

A.O.O Y D.O.O

ANLISIS ORIENTADO A OBJETOS


(AOO)

Qu es?

Consiste en definir todas las clases que representan el problema a resolver, la


forma en que se relacionan e interactan unas con otras, el funcionamiento
interno (atributos y operaciones) de los objetos y los mecanismos de comunicacin
(mensajes) que les permiten trabajar juntos.

Objetivo
Desarrollar modelos que describan el software a desarrollar y de esta manera
satisfacer los requerimientos del cliente. Permite obtener:

Definicin de Clases y la Relacin entre las mismas.

Funcionamiento Interno de las clases (atributos y mtodos).

Mecanismo de comunicacin entre clases.

Diagramas
Diagramas de caso de Uso: Describe las funcionalidades del sistema a

partir de las interacciones del usuario.


Diagrama de Clases sin nivel de detalle.

PASOS PARA A.O.O

Definicin de CASOS DE USO.

Definicin de escenarios de cmo interactan los actores con el


sistema a desarrollar.

Modelar las caractersticas estticas de las clases

Se realiza utilizando un Lenguaje Unificado de Modelado.

DISEO ORIENTADO A OBJETOS


(DOO)

Qu es?

Consiste en definir los detalles internos de cada clase, definicin de atributos,


operaciones y detalles de los mensajes.

Objetivo

Desarrollar modelos que describan el software a desarrollar y de esta manera


satisfacer los requerimientos del cliente

Diagramas

Diagrama de clases: Describe el sistema identificando sus clases y relaciones

entre ellas.
Diagrama de colaboracin: Describe la interaccin entre objetos
organizadas alrededor de las asociaciones entre ellos.
Diagrama de secuencia: Describe la interaccin entre los objetos ordenada
en un periodo de tiempo.

LENGUAJE UNIFICADO DE MODELADO


UML

Prof. Jannelly Bello

CONTENIDO PROGRAMTICO

Definicin

Origen

Principios del UML

Diagramas
Diagrama de Casos de Uso
Diagrama de Clases
Relaciones de Asociacin
Relaciones de Todo/Parte
Relaciones de Generalizacin/Especializacin
Diagrama de Colaboracin
Diagrama de Secuencia
Diagrama de Paquetes

QU ES UML?
Lenguaje Unificado de Modelado
Permite Visualizar, Especificar, Construir, y Documentar
software orientado a objetos.
Divide el sistema en un conjunto de diagramas que a su
vez representan una vista del proyecto.
Todos
los diagramas muestran en conjunto la
arquitectura del proyecto.

ORIGEN
La notacin UML se deriva y unifica las tres
metodologas de anlisis y diseo Orientado a objetos:
Grady Booch, James Rumbaugh e Ivar Jacobson.
El desarrollo de UML comenz a finales de 1994 cuando
Grady Booch y Jim Rumbaugh de Rational Software
Corporation empezaron a unificar sus mtodos. A finales
de 1995, Ivar Jacobson y su compaa Objectory se
incorporaron a Rational en su unificacin, aportando el
mtodo ISOO (Ingeniera del Software Orientada a
Objetos).
Las metodologas de Booch y Rumbaugh se enfocan
hacia el modelado de los objetos que conforman el
sistema, su relacin y colaboracin.

ORIGEN
La metodologa de Jacobson se enfoca en el usuario. Todo
en su mtodo se deriva de los casos de uso.
UML se ha ido fomentando y aceptando como estndar
desde la formacin de OMG (Object Management
Group-Grupo de Gestin de Objetos).
En
1997 UML 1.1 fue aprobada por la OMG
convirtindose en la notacin estndar para el anlisis y
el diseo orientado a objetos.
En la actualidad ya se public la revisin 2.0.

PRINCIPIOS
La forma como vemos el problema tiene una profunda
influencia en la forma como acometemos el problema y
le damos solucin al mismo.
Para modelar un sistema complejo no es suficiente un
nico modelo se requieren mltiples modelosdonde
cada uno representa una vista del sistema; estos
modelos se complementan entre si.
Cualquier modelo puede ser
diferentes grados de precisin.

representado

Los mejores Modelos estn ligados a la realidad.

con

DIAGRAMAS

DIAGRAMA DE CASOS DE USO


Qu es un Caso de Uso?

Describe la funcionalidad del sistema desde el punto de vista del usuario, es


decir, se refiere al uso que se le dar al sistema.

Notacin:
Son representados por un valo y nombrados siempre con verbos en
infinitivo. Ejemplo: Inscribir a Curso.

Inscribir a Curso

DIAGRAMA DE CASOS DE USO


Qu es un Actor?

Agente externo que interacta con el sistema.


Representa un conjunto
coherente de roles que juegan los usuarios de los casos de uso al interactuar
con el sistema.

Notacin:
Representados por una figura de alambre de una persona.

DIAGRAMA DE CASOS DE USO


Qu es un Diagrama de Caso de Uso?

Describe las funcionalidades


interacciones del usuario.

del

sistema

partir

de

las

Relaciones entre Casos de Uso:

Asociacin: Comunicacin entre un actor y un caso de uso donde


participa. Notacin:
Inclusin: Relacin de dependencia entre dos casos de uso que
denota la inclusin del comportamiento de un escenario en otro. Se
utiliza cuando existen casos de uso cuyo comportamiento es comn a
varios casos de uso. Se representa incluyendo una etiqueta
<<include>> sobre la flecha que conduce al caso de uso que se
incluye.

DIAGRAMA DE CASOS DE USO


Extensin: Relacin de dependencia entre dos casos de uso que
denota que un caso de uso es una especializacin de otro, es decir,
incluye comportamiento bajo determinadas condiciones.
Un caso de uso extiende a otro cuando sin alterar a este, se
incorpora su funcionalidad como parte integral del primero. Se
denota con una relacin que apunta del caso extendido al caso base
incluyendo una etiqueta <<extend>> sobre la flecha.

DIAGRAMA DE CASOS DE USO


Cuando utilizar <<extends>> o <<include>>
Usar relaciones extendidas para comportamientos
excepcionales, opcionales o que rara vez suceden.
Usar relaciones de inclusin para comportamientos que
se comparten entre dos o ms casos de uso

DIAGRAMA DE CASOS DE USO

IDENTIFICACIN DE CLASES
Un objeto potencial debe satisfacer las siguientes caractersticas
para ser considerado posible miembro del modelo:

Retener Informacin: Se requiere guardar informacin para el


funcionamiento del sistema
Servicios necesarios:
Conjunto de operaciones identificables que
permitan cambiar el estado de sus atributos.
Mltiples atributos.

Atributos comunes: El conjunto de atributos de la clase debe aplicar a


todas las ocurrencias del objeto
Operaciones comunes: El conjunto de operaciones debe aplicar a todos
los objetos de la clase.

IDENTIFICACIN DE CLASES
Clase Dispositivo: Entidades externas (sensores, motores, teclado).
Clase Propiedad: Representa alguna propiedad importante del entorno
(Ejemplo: Establecimiento de crditos dentro del contexto de una
aplicacin de prstamos hipotecarios)
Clase interaccin: Modelan
Reservacin de libros)

interacciones

entre

objetos.

(Ejemplo:

DIAGRAMA DE CLASES
Qu es ?
Modela los conceptos del dominio de la
identificando sus clases y relaciones.

aplicacin: describe el sistema

Componentes:

Clases: Atributos, Mtodos, Visibilidad.

Relaciones: Herencia, Composicin, Agregacin, Asociacin y uso.

DIAGRAMA DE CLASES
Clases
Representada por un rectngulo con tres divisiones:

Nombre Clase
Atributos

Operaciones

DIAGRAMA DE CLASES
Atributos
Pueden ser de tres tipos (definen el grado de comunicacin y la visibilidad
de los atributos con el entorno).

Public (+): Indica que el atributo ser visible tanto dentro como fuera de la
clase.
Private (-): Indica que el atributo slo ser accesible desde la clase.

Protected(#): Indica que el atributo no ser accesible desde fuera de la


clase, pero si podr ser accedido por mtodos de la clase y subclases que se
derivan (Herencia).

DIAGRAMA DE CLASES
Mtodos
Presentan tres caractersticas:

Public (+): Indica que el mtodos ser visible tanto dentro como fuera de la
clase.
Private (-): Indica que el mtodo slo ser accesible desde la clase.

Protected(#): Indica que el mtodo no ser accesible desde fuera de la


clase, pero si podr ser accedido por mtodos de la clase y subclases que se
derivan (Herencia).

DIAGRAMA DE CLASES
Relaciones entre Clases

Asociacin: Representa la relacin existente entre dos clases de forma


conceptual. Se documenta destacando el rol que juega cada clase en la
asociacin.
Simbologa:

DIAGRAMA DE CLASES
Restricciones en las asociaciones

DIAGRAMA DE CLASES
Relaciones entre Clases
Cardinalidad
(Multiplicidad):

Indica el grado y nivel de


dependencia entre clases.
Cantidad de objetos de una
clase
que
pueden
relacionarse con un objeto
de una clase asociada,

Puede ser:
1 (uno y slo uno)
01 (cero o uno)
NM (desde N hasta M)
* (cero o varios)
0* (cero o varios)
1* (uno o varios)

DIAGRAMA DE CLASES
Asociaciones Reflexivas

Una clase es asociacin consigo misma


Una clase tiene objetos que pueden jugar diversos papeles o roles.

DIAGRAMA DE CLASES
Relaciones entre Clases

Herencia (especializacin/generalizacin):

Indica que una subclase hereda mtodos y atributos de una super


clase.
La subclase adems de poseer sus propios mtodos y atributos,
poseer las caractersticas visibles de la superclase (Public y
Protected).
Simbologa

DIAGRAMA DE CLASES
Relaciones entre Clases: Clases abstractas

DIAGRAMA DE CLASES
Relaciones entre Clases

Agregacin:

Se da cuando una clase describe objetos que agregan otros objetos.


(Todo Parte)
Simbologa

DIAGRAMA DE CLASES
Relaciones entre Clases

Restricciones en las agregaciones:

Sopa

DIAGRAMA DE CLASES
Relaciones entre Clases

Composicin (Agregacin Exclusiva): Se da cuando un objeto contiene


un numero de otros objetos y cuando el objeto contenedor se eliminan todas
las instancias de los objetos que estn contenidos desaparecen.
Es una asociacin fuerte, que implica tres cosas:
Dependencia existencial: El elemento dependiente desaparece al
destruirse el que lo contiene.
Hay una pertenencia fuerte: Se puede decir que el objeto contenido es
parte constitutiva y vital del que lo contiene
Los objetos contenidos no son compartidos, esto es, no hacen parte del
estado de otro objeto.
Simbologa

DIAGRAMA DE CLASES

DIAGRAMA DE SECUENCIA
Qu es un diagrama de secuencia?

Modela la secuencia lgica, a travs del tiempo, de los mensajes entre las
instancias (objetos).

Notacin:

Objetos: Se colocan en la parte superior del diagrama.


Lnea de tiempo: Representado por una lnea discontinua. ------------ Avanza de arriba hacia abajo.
Lnea de vida de los objetos: Representado con un rectngulo.
Desciende de cada uno de los objetos.
Indica la activacin de un objeto (ejecucin de una de las operaciones del
objeto).

DIAGRAMA DE SECUENCIA
Notacin:

Mensajes :
Representados con flechas.
Conectan una lnea de vida con otra.
Su ubicacin en la dimensin vertical indica el
momento en el que sucede dentro de la
secuencia. Los ms cercanos a la parte superior
del diagrama se ejecutan primero, los que
ocurren despus cerca de la parte inferior.
Recursividad: Representada con una flecha que
regresa al objeto que inicio recursividad. Se da
cuando el objeto ejecuta una de sus operaciones.

DIAGRAMA DE SECUENCIA

DIAGRAMA DE COLABORACIN
Qu es un Diagrama de Colaboracin?

Un Diagrama de Colaboracin describe las interacciones entre objetos


haciendo nfasis en la estructura de la colaboracin
Muestra la relacin entre objetos y los mensajes que se envan entre s.

Notacin

Asociacin: Se representa con una lnea continua.

Mensaje: Se representa con una flecha cerca de la de la lnea de asociacin.


La flecha apunta al objeto receptor.
Tipo de Mensaje: Se muestra en una etiqueta cerca de la flecha. Indica al
objeto receptor que ejecute una de sus operaciones. Finalizar con
parntesis, estos contienen los parmetros (en caso de que se requieran) con
los que funcionara la operacin. Ej: Agregar(Par1,Par2)
Secuencia del Mensaje: Representada por una cifra que se agrega a la
etiqueta del mensaje. La cifra y el mensaje se separan por medio de dos
puntos (:). Ej: 1:Agregar(Par1, Par2).

DIAGRAMA DE COLABORACIN

DIAGRAMA DE COLABORACIN

EJEMPLO UML

MQUINA
DISPENSADORA
DE
GASEOSAS

CASOS DE USO

DIAGRAMA DE SECUENCIA

DIAGRAMA DE COLABORACION MEJOR


DE LOS CASOS

DIAGRAMA DE SECUENCIA GENRICO

DIAGRAMA DE COLABORACION
GENRICO

DIAGRAMA DE PAQUETES
Qu es un Paquete?

Un paquete es un mecanismo que permite organizar modelos/subsistemas,


agrupando elementos de modelado. Cada paquete representa a un submodelo
(subsistema) del modelo (sistema).
Un paquete puede contener a otro paquete sin lmite de anidamiento.
Un paquete no slo se utiliza para agrupar clases, sino cualquier elemento estructural
de UML.
La principal relacin entre paquetes es de dependencia: se produce cuando los
cambios en el destino generan cambios en el origen.

DIAGRAMA DE PAQUETES
Representacin de un Paquete

Se representan como carpetas y contienen los elementos que comparten un espacio de


nombre.
Los elementos dentro de un paquete deben tener un identificador nico.
El paquete debe mostrar el nombre del paquete y puede opcionalmente mostrar los
elementos dentro del paquete en compartimientos extras.
Cuando se incluyen clases a los paquetes, es til asignar las clases con la misma
jerarqua de herencia, las clases que estn relacionadas a travs de la composicin y
las clases que colaboran.

DIAGRAMA DE PAQUETES
Qu es un Diagrama de Paquetes?

Diagrama que representa cmo estn organizados los elementos del modelo
as como las dependencias entre esos paquetes.
El uso ms comn de los diagramas de paquete es para organizar diagramas
de casos de uso y diagramas de clases, aunque el uso de los diagramas de
paquete no se limita a los elementos UML.