Sei sulla pagina 1di 159

Sistemas de Información

UMAYOR 2010
ANÁLISIS Y DISEÑO
ORIENTADO A OBJETOS

Sistemas de Información

Clase 18

Estas láminas NO SON el texto de estudio, sino sólo una


ayuda para tomar mejores apuntes en clases.
Programa del curso
 ANÁLISIS Y DISEÑO ORIENTADO A
OBJETOS (30%)
 Introducción
 Orientación a objetos
 UML
 Consideraciones previas
 Diagramas de UML
Introducción
UML (Unified Modeling Language)
 Es un lenguaje gráfico para hacer
modelos durante el análisis, diseño y
construcción de SIAs
 Es un lenguaje orientado a objetos
 Esta compuesto de varios diagramas
 Es la herramienta mas conocido y
utilizado en la actualidad para el
desarrollo de sistemas
Introducción
Unified Modeling Language ( UML )
 UML Es popular porque facilita el
análisis, permite generar diseños
fáciles de comprender y comunicar a
los diferentes participes de un
proyecto
 Es decir es un puente o lenguaje de
comunicación entre analistas,
usuarios, programadores,
diseñadores, etc.
Introducción
Breve Reseña
 En los años 80 surgen diversos intentos de
lenguajes de modelamiento basados en objetos
(mas de 10)
 Los principales autores fueron
• Grady Booch, con el método Booch
• Ivar Jacobson con el OOSE (Object-Oriented Software
Engineering)
• Rumbaugh con el OMT (Object Modeling Technique)
 UML Fue desarrollado a mediados de los 90 y es el
resultado de la unión de estos tres autores
 Es un lenguaje que actualmente se encuentra en
plena evolución (1994 UML 0.8, 1996 UML 0.9, 1997
UML 1.0 y UML 1.1, 2000 UML 1.4, 2001 UML 2.0)
Introducción
OMG (Object Management Group)
 Es la organización encargada de
definir y mantener el standard UML
 Es una asociación sin fines de lucro
formada por muchas empresas, entre
otras la IBM, Apple Computer, Sun
Microsystems Inc y Hewlett-Packard,
etc.
Introducción

 Los objetivos de ULM son:


• Acelerar el desarrollo de sistemas
• Aprovechar los beneficios de la
orientación a objetos
• Facilitar la comunicación entre los
diversos participes del desarrollo de
sistemas
Introducción
 UML cubre aspectos
• Conceptuales (procesos de negocio,
funciones del sistema)
• Concretos (clases, esquemas de bases de
datos, componentes reutilizables).
 Un resultado de la aplicación de UML
se pueden agrupar en los artefactos
de un sistema
Introducción
 Un artefacto, puede incluir
• Modelos del proceso (modelos de Casos
de Uso, modelos de Diseño, etc.)
• Archivos fuente, ejecutables,
• Documentos de diseño, reportes de
prueba, prototipos, manuales de usuario
etc.
 Se representan mediante un
rectángulo con el nombre del artefacto
y un icono de documento.
Introducción

Ejemplo artefacto
___
___
___
Programa del curso
 ANÁLISIS Y DISEÑO ORIENTADO A
OBJETOS (30%)
 Introducción
 Orientación a objetos
 UML
 Consideraciones previas
 Diagramas de UML
Orientación a objetos
 Como enfrentamos las cosas
cotidianas?, por ejemplo....
 Como hacen las escaleras mecánicas
para funcionar?
• R1 Usan electricidad para...............
• R2 Que importa?, yo solo las uso
 Como eres tu?
• Soy una persona ....
• Mira lo que hago y lo sabrás
Orientación a objetos
 Un objeto es algo que:
• Se puede utilizar
• Esta formado de otros objetos
• Se puede reutilizar para formar nuevos
objetos
• Constituye una unidad en si mismo
 Por que no utilizar estas propiedades
para agilizar el desarrollo de sistemas
de información?
Orientación a objetos
 Como se define un auto?
 Por el color, numero de puertas, etc.
 Por ser algo que puede hacer cosas
como encenderse, apagarse, ser
conducido, llevar pasajeros y cosas,
consumir combustible, etc
 Osea los objetos se definen por sus
características o atributos y por su
comportamiento o funciones
Orientación a objetos
 Un sistema o software que facilite:
• Registrar los atributos de un objeto
• Manejar las cosas que es capaz de hacer
 Aprovecha las características de los
objetos osea facilita reutilizar
componentes de software
Orientación a objetos
 Principios a utilizar para el enfoque
orientado a objetos
• Abstracción
• Encapsulamiento
• Herencia
• Polimorfismo
• Asociación
• Agregación
Orientación a objetos
 Abstracción: centrarse en los
elementos relevantes, abstraerse de
los que no son importantes y solo
llegar al nivel de detalle necesario para
la solución a desarrollar
 Osea en una situación nos interesará
ciertos atributos y ciertos
comportamientos de un objeto, en
otros casos otras
Orientación a objetos
 Encapsulamiento: ocultar las características
de los objetos que no son relevantes para el
exterior, es una manera de aislar, de auto
contener (no importa como es, sino como
interactúa)
 Por ej. Interesa usar los controles de una
radio, no su electrónica
 Esto implica entre otras cosas menos
errores en el software, porque se reducen
las modificaciones (cada modificación
implica riesgo de nuevos errores)
Orientación a objetos
 Herencia: Esta relacionado con la
clasificación o jerarquía. Un objeto hereda
las características de las clases a las que
pertenece y le transmite sus características
a las clases que le pertenecen, por Ej.:
• Los electrodomésticos tienen enchufe,
interruptor, marca y modelo
• Un refrigerador es un electrodoméstico, un
microondas también.
• Entonces un refrigerador y también un
microondas tienen enchufe, interruptor marca y
modelo
Orientación a objetos
 Polimorfismo: objetos diferentes (es decir
objetos de diferentes clases) pueden hacer
una misma operación, pero que puede tener
diferente significación en cada uno de ellos
 Por ejemplo Abrir, se puede abrir una
puerta, una ventana, un libro, una bebida o
una lata de conservas, pero los métodos de
hacer eso son diferentes
 Ejemplo 2: Enchufar una plancha, un
refrigerador o una radio, representan una
misma cosa o un mismo método
Orientación a objetos
 Asociación: Se refiere a como se relacionan las
cosas
 Por ejemplo cuando enciendo un datashow me
relaciono con ese objeto
 Puedo realizar esta asociación de diferentes
maneras, por ej. con el control remoto, con los
botones o mediante un PC que lo comande, pero la
asociación es la misma, es encender
 Con un objeto me puedo asociar de diferentes
maneras, por ej. encender, apagar, comprar, etc.
 Con diferentes objetos me puedo relacionar de una
misma manera, por ejemplo puedo viajar en avión,
en auto, en bus, etc.
Orientación a objetos
 Una característica de la asociación entre
objetos es la multiplicidad
 La multiplicidad indica cuantos objetos se
asocian, por ejemplo la asociación entre
vehículo y ruedas puede ser:
• Uno a uno (el monociclo)
• Uno a dos (la bicicleta)
• Uno a tres (el triciclo)
• Uno a cuatro (como el auto o la camioneta)
• Uno a seis o a ocho o a diez , etc. (como en el
caso algunos camiones)
• Etc.
Orientación a objetos
 Agregación Es la propiedad que tienen las
cosas de reunirse para formar otras cosas,
un objeto puede ser la agregación de varios
objetos, por ej. mi PC esta formado por:
• Un monitor
• Dos parlantes
• Un mouse
• Una pantalla
• Un teclado
• Una lógica o gabinete
 Es decir mi PC es la agregación de esos
objetos
Orientación a objetos
 Un tipo de agregación especial es la
composición, es cuando la agregación es
estrecha como por ejemplo
• Una camisa es la agregación de manga, cuello,
botones etc. El cuello de una camisa solo no
tiene utilidad alguna
• Un árbol es la agregación de ramas raíces y
hojas, una hoja sola no tiene la duración que en
el árbol
 Es decir existen agregaciones que son algo
mas que juntar objetos, en ese caso se habla
de composición, un objeto esta compuesto
de otros
ANÁLISIS Y DISEÑO
ORIENTADO A OBJETOS

Sistemas de Información

Clase 23

Estas láminas NO SON el texto de estudio, sino sólo una


ayuda para tomar mejores apuntes en clases.
Programa del curso
 ANÁLISIS Y DISEÑO ORIENTADO A
OBJETOS (30%)
 Introducción
 Orientación a objetos
 UML
 Consideraciones previas
 Diagramas de UML
UML
Herramientas que utiliza UML 2.0
 Considera 3 categorías de diagramas, que
representan un total de 13 diagramas
diferentes
• Los Diagramas de Estructura (los elementos que
deben existir en el sistema)
• Los Diagramas de Comportamiento (lo que debe
suceder en el sistema)
• Los Diagramas de Interacción (el flujo de control
y de datos entre los elementos del sistema)
UML

Herramientas que utiliza UML 2.0


 Los 6 tipos de Diagramas de
Estructura
• Diagrama de clases
• Diagrama de componentes
• Diagrama de objetos
• Diagrama de estructura compuesta
• Diagrama de despliegue
• Diagrama de paquetes
UML

Herramientas que utiliza UML 2.0


 Los 3 tipos de Diagramas de
Comportamiento
• Diagrama de actividades
• Diagrama de casos de uso
• Diagrama de estados
UML

Herramientas que utiliza UML 2.0


 Los 4 tipos de Diagramas de
Interacción
• Diagrama de secuencia
• Diagrama de colaboración
• Diagrama de tiempos
• Diagrama de vista de interacción
Dudas:
 Explique que es UML?
 Que sabe Ud. de UML?
 Cuales son los orígenes del UML?
 Cuales son los objetivos de UML?
 Que es la OMG?
 Explique que es orientación a objetos?
 Que es un objeto?
 Que es un artefacto?
 Que es abstracción? de 5 ejemplos
 Que es encapsulamiemto?, de 5 ejemplos
 Que es herencia?, de 5 ejemplos
 Para que sirve aplicar la abstracción, encapsulamiento la
herencia en el desarrollo de sistemas?
 Indique cuales son los diagramas UML?
Programa del curso
 ANÁLISIS Y DISEÑO ORIENTADO A
OBJETOS (30%)
 Introducción
 Orientación a objetos
 UML
 Consideraciones previas
 Diagramas de UML
UML
 Diagramas de Estructura
• clases
• componentes
• objetos
• estructura compuesta
• despliegue
• paquetes
 Diagramas de Comportamiento
• actividades
• casos de uso
• estados
 Diagramas de Interacción
• secuencia
• colaboración
• tiempos
• vista de interacción
UML Diagrama de Objetos
 Objeto: es algo con un conjunto de
propiedades y que tiene un cierto
comportamiento. Puede ser
• Algo concreto por Ej. esta pizarra, un alumno en
particular
• O un concepto esta clase, un alumno, un control,
la prueba 1, etc.
 Clase: es una unidad básica que encapsula
la información de objetos, osea representa a
un tipo (o grupo) de objetos con
características comunes, por ejemplo
alumno, curso, prueba, control, etc.
UML Diagrama de objetos
 Un objeto corresponde a una instancia
de una clase
 Se puede representar de manera
abreviada mediante un rectángulo con
el nombre del objeto subrayado

Jorge Boncompte
UML Diagrama de objetos
 También se puede representar de
manera detallada con el nombre,
atributos, comportamiento y objetivo o
razón de ser del objeto
Pedro Pérez
Rut=“1-9”
Estatura=“1,92”
Corre “rapido”
Sabe “mucho”
Deportista
destacado
UML Diagrama de objetos
 Un diagrama de objetos puede
hacerse de forma
 Resumida osea indicando solamente
el nombre de cada objeto
 o detallada osea indicando sus
atributos, métodos e incluso su razón
de ser, su objetivo
UML Ejemplo Diagrama de objetos

Este Teclado

Este Mouse Esta Pantalla

La Lógica
de este PC

Se puede utilizar para documentar la estructura de objetos,


la relaciones entre ellos, por ejemplo un PC.
Dudas:
 De acuerdo al UML Que relación existe entre objeto
y clase?
 Como se representa un objeto?
 Confeccione 5 diagramas de objeto y explíquelos
ANÁLISIS Y DISEÑO
ORIENTADO A OBJETOS

Sistemas de Información

Clase 24

Estas láminas NO SON el texto de estudio, sino sólo una


ayuda para tomar mejores apuntes en clases.
UML
 Diagramas de Estructura
• clases
• componentes
• objetos
• estructura compuesta
• despliegue
• paquetes
 Diagramas de Comportamiento
• actividades
• casos de uso
• estados
 Diagramas de Interacción
• secuencia
• colaboración
• tiempos
• vista de interacción
UML Diagrama de clases
 Así como un objeto puede ser una
persona en particular, una casa, una
lavadora, una cuenta corriente, etc.,
una clase puede representar a las
personas, las casas, las lavadores las
cuentas corrientes
 Por tanto se dice que un objeto es una
instancia de una clase
UML Diagrama de clases
 Los Diagramas de Clases se usan para
entender una realidad
 De la realidad nos interesan
• Los elementos que la constituyen a los
cuales les damos nombres
• Las características o atributos de esos
elementos
• Y lo que hacen esas cosas o elementos
de la realidad
UML Diagrama de clases
 Una clase se representada por un
rectángulo con tres divisiones
• Nombre de la clase
• Atributos
• Métodos
<Nombre de la clase>
<Atributos>
<Métodos u operaciones>
UML Diagrama de clases
 Nombre de la clase, debe ser único y
en singular por ej. persona
 Atributos que son las variables de
instancia que caracterizan a todos los
objetos de la Clase
 Métodos u operaciones que son la
forma como interactúa el objeto con
su entorno
UML Ejemplo de diagrama de clases

Alumno

Rut
Nombre
Sexo
F. nacimiento

Toma ramos
Realiza evaluaciones

Si se requiere representar un dato redundante (por ejemplo la


edad), que corresponde a un elemento derivado de la fecha de
nacimiento y la fecha actual, se representa precedido por un “/” y
asociado a una nota

Nota
UML Diagrama de clases

Alumno

Rut
Nombre
Sexo
Edad = F actual – F. nacimiento F. nacimiento
/edad

Toma ramos
Realiza evaluaciones
UML Diagrama de clases
 Las clases se pueden representar de
manera abreviada (solo con su
nombre)
 Esto es particularmente útil para
diagramas grandes o para ofrecer una
visión general
Alumno
UML Diagrama de clases
 Un atributo puede representarse con
el nombre, tipo, su valor inicial, etc.
 Los atributos pueden agruparse en
estereotipos Alumno
Rut
Numero:Int
DV Rut:Char
Nombre
Ap. Paterno:Char
Ap. Materno:Char
Nombres:Char
Sexo:Char
F. Nacimiento:Date =“01-01-1960”
Toma ramos
Realiza evaluaciones
UML Diagrama de clases
 Los métodos representan un servicio
de la clase, un comportamiento común
de sus instancias, osea es una función
que le indica a los objetos de la clase
que hagan algo
 Por ejemplo todos los alumnos toman
ramos, realizan evaluaciones, etc.
UML Diagrama de clases
 Para cada método puede indicarse los
parámetros que utiliza entre ()
 Los parámetros pueden incluir el tipo
de datos al que corresponden
Alumno
Rut
Numero:Int
DV Rut:Char
Nombre
Ap. Paterno:Char
Ap. Materno:Char
Nombres:Char
...
Toma ramos(ramo:Char)
Realiza evaluaciones(n:int)
UML Diagrama de clases
 Se pueden omitir tributos o métodos,
lo cual se indica mediante puntos
suspensivos
 Se puede documentar el objetivo o
responsabilidad de la clase mediante
una descripción Alumno
Rut
Numero:Int
DV Rut:Char
...
Toma ramos(ramo:Char)
...
Formarse como un profesional
UML Diagrama de clases
 Los atributos y los métodos pueden
ser de tres tipos:
• Públicos será visible tanto dentro como
fuera de la clase
• Privados sólo será accesible desde
dentro de la clase
• Protegidos no será accesible desde fuera
de la clase, excepto por las subclases
 Esto define el grado de comunicación
y visibilidad de ellos con el entorno
UML Diagrama de clases
 Relaciones entre clases
• Dos o mas clases pueden estar asociadas
• Las asociaciones se representan
mediante una línea
Empresa Trabajador
Rut Rut
Razón social Nombre
Contrata Se emplea
Produce Trabaja
Vende
UML Diagrama de clases
 Una asociación puede tener varias
características, por ejemplo:
• Nombre (por ej. Emplea)
• Multiplicidad (1 a 1, 3 a 9, 1 a n, etc.)
• Roles (por ej. Empleador, Contratado)
Empresa Trabajador
Rut Emplea 1* Rut
Razón social *
Nombre
Contrata Empleador Contratado Se emplea
Produce
Trabaja
Vende
UML Diagrama de clases

Empresa Trabajador
Rut Emplea 1,* Rut
Razón social *
Nombre
Contrata Empleador Contratado Se emplea
Produce
Trabaja
Vende

Nombre : empresa Emplea a trabajador, trabajador se Emplea en


empresa

Roles : La empresa es el Empleador, el trabajador es el Contratado

Multiplicidad : Una empresa puede contratar de 1 a n (1,*)


trabajadores, un trabajador puede ser contratado por una sola
empresa
UML Diagrama de clases
Ejemplos de asociación entre dos clases

Empresa Trabajador
Emplea

Vendedor Cliente
Atiende

Profesor Alumno
Enseña

Puede existir una asociación entre una clase y otra clase


UML Diagrama de clases
Ejemplos de asociación entre
Auto
una y varias clases
maneja
Conductor Aeronave
maneja

Velero
maneja

Bus
transporta
Pasajero Tren
transporta

transporta
Avión

Puede existir una asociación entre una clase y varias otras clases
UML Diagrama de clases
 Existen asociaciones de una clase
consigo misma, por ejemplo

Persona Trabajador Ramo


1 1.n 1.n

1 1 1

Casado con Jefe de Requisito

Puede existir una asociación entre objetos de una misma clase


UML Diagrama de clases
 La llave o atributo que permite
identificar la o las instancias de una
clase que están asociadas a instancias
de otra se conoce como Calificador

Vendedor Atiende Cliente


Numero
ANÁLISIS Y DISEÑO
ORIENTADO A OBJETOS

Sistemas de Información

Clase 25

Estas láminas NO SON el texto de estudio, sino sólo una


ayuda para tomar mejores apuntes en clases.
UML Diagrama de clases
 Las asociaciones pueden ser de tras
tipos
• Dependencias (relación de uso)
• Generalización (relación de herencia) la
subclase hereda los métodos y atributos
de una Súper Clase
• Asociación (relaciones entre clases)
UML Diagrama de clases
 Dependencia, Una clase requiere de otra
para realizar su función por ejemplo entre la
clase motor a combustión y la clase
combustible
 Generalización por ejemplo la clase
camioneta y la clase auto heredan de la
clase Vehículo los atributos patente,
cilindrada, etc y los métodos desplazarse,
detenerse, partir, etc.
 Asociación por ejemplo entre la clase
cliente y la clase dirección un cliente vive
en una dirección
UML Ejemplo Diagrama de clases
Archivo
Usuario
(dependencia)
Rut Nombre
Nombre Seguridad
Conectarse (asociación)
Trabajar Registro
Clave
Desconectarse Respaldo
PW
Fecha creación
Perfil
(generalización) Crear
Usuario admin. Usuario Inf. Modificar
Usar
Cargo Proyecto

Responsable programar

Usuario: Necesita archivo para realizar su trabajo (dependencia)


Tiene una clave para ingresar al sistema (asociación)
Puede ser administrativo o informático (Generalización)
UML Ejemplo Diagrama de clases
 Un tipo especial de asociación es la
Agregación, que representa que una
clase esta compuesta de un grupo de
otras clases
 En estos casos puede representarse
como un diagrama de contexto, es
decir una clase y dentro de ella el
diagrama de las clases que la
componen
UML Ejemplo Diagrama de clases
Diagrama de agregación PC
1

2,5 1 1 1 1

Parlante Gabinete Monitor Teclado Mouse


1

1 1 1 1,2 1 *
T.Sonido T.Red CD Disco Procesador Memoria

Diagrama de Contexto

PC
2,5 1 1 1 1
Conectado a
Parlante Gabinete Monitor Teclado Mouse
1

1 1 1 1,2 1 *

T.Sonido T.Red CD Disco Procesador Memoria


UML Diagrama de clases
 Existen clases que surgen producto
de una asociación entre clases, por
ejemplo el sueldo
Empresa Trabajador
Emplea 1*
Rut * Rut
Razón social Empleador Nombre
Contratado
Contrata Se emplea
Produce Trabaja
Sueldo
Vende
Haber
descuento
Calcula
Devenga
UML Diagrama de clases
Contrato Finiquito
Fecha Fecha
Sueldo Motivo
Suscribe Firma
Modifica Indemniza
Empresa Trabajador
Rut Emplea 1* Rut
*
Razón social Nombre
Empleador Contratado
Contrata Se emplea
Produce Trabaja
Vende Sueldo
Haber
descuento
Calcula
Devenga
UML Diagrama de clases
 Existe un manejo especial cuando varias
clases comparten uno o varios
comportamientos o funciones, en este caso
se habla de Interfaz
 Una interfaz puede verse como una clase
sin atributos
 Por ejemplo puede generarse una interfaz
para representar la función del teclado tanto
en un PC, como en una maquina de escribir
o el teclado numérico en una calculadora,
un cajero automático, un PC o una caja
registradora
UML Diagrama de clases
Calculadora
Marca
Modelo
Sumar
Restar
Multiplicar
Dividir

PC
Procesador Teclado numérico
Memoria
Registrar números
Encender
apagar

Caja Registradora
Marca Una interfaz también puede representarse
en forma abreviada mediante un circulo
Emitir boleta
UML Diagrama de clases
 Si alguien quisiera hacer un sistema
para manejar los recursos humanos
en una empresa, lo mas probable es
que necesite manejar algunos de los
atributos y algunos de los
comportamientos mencionados en el
diagrama anterior
UML Diagrama de clases
 Para representar un objeto (instancia)
de una clase
• Se antepone el nombre de la instancia
seguido de dos puntos “:”
• A cada atributo se le asigna el valor
correspondiente a la instancia
pedroPeres:Trabajador
Rut=1-9
F.nac=“01-01-1993”
UML Diagrama de clases
 Una asociación entre dos instancias
de dos clases se llama Vinculo
 Se Representa subrayando el nombre
del Vinculo juangomez:Trabajador
Rut=2-7
Emplea F.nac=“01-01-1961”
Imprentaelpapel:Empresa
Rut=50000001-9
R.social”revista el agro”
Emplea
pedroPeres:Trabajador
Rut=1-9
F.nac=“01-01-1993”
Dudas:
 Para que se usan los diagramas de clase?
 Como se representa una clase?
 Que antecedentes se describen en una clase?
 que maneras de representar una cae conoce Ud.?
 Que símbolos se presentan en un diagrama de clases, que significan y como se
utilizan?
 Que es un atributo de una clase, de 5 ejemplos
 Que es un método, de 5 ejemplos
 Que antecedentes describen un atribuyo de una clase
 Que tipo de método y atributos conoce Ud., descríbalos
 en un diagrama de clases, que es una relación
 Que antecedentes definen una relación entre clases
 de 5 ejemplos de una relación entre dos clases
 de 5 ejemplos de una relación entre una clase y varias otras clases
 de 5 ejemplos de una relación entre una clase y ella misma
 de 5 ejemplos de una clase asociada a la relación entre clases
 Que tipos de relación entre clases existen de 5 ejemplos de cada una?
ANÁLISIS Y DISEÑO
ORIENTADO A OBJETOS

Sistemas de Información

Clase 26

Estas láminas NO SON el texto de estudio, sino sólo una


ayuda para tomar mejores apuntes en clases.
UML
 Diagramas de Estructura
• clases
• componentes
• objetos
• estructura compuesta
• despliegue
• paquetes
 Diagramas de Comportamiento
• actividades
• casos de uso
• estados
 Diagramas de Interacción
• secuencia
• colaboración
• tiempos
• vista de interacción
UML Diagrama de componentes
 Se utilizan para representar los
elementos físicos de un sistema
 Con este diagrama se documentan
elementos de software de un sistema
 Muestra las organizaciones y
dependencias lógicas del software y las
interfaces o comunicación entre ellos
 Son similares a los diagramas de
bloque
UML Diagrama de componentes
 Los componentes se representan
mediante un cuadrado con el símbolo
de dos cajas unidas
 Las interfaces o comunicaciones entre
componentes mediante un símbolo de
conector

Conector

Componente
UML Diagrama de componentes

Ejemplo diagrama de Componente

Empaqueta archivo transmite archivo


Archivo

Componente de Interface o conector Componente de


Software Software
UML Diagrama de componentes
 En esta representación el interior de
cada componente de software se
oculta (encapsula) al resto del sistema
 Este enfoque se centra en la cara que
cada componente muestra al exterior
(interfase)
 Con este enfoque se busca facilitar la
sustitución y reutilización de los
componentes de software
Dudas:
 Que es un componente?
 para que se utiliza el diagrama de componentes
 que símbolos se utilizan en un diagrama de
componentes
UML
 Diagramas de Estructura
• clases
• componentes
• objetos
• estructura compuesta
• despliegue
• paquetes
 Diagramas de Comportamiento
• actividades
• casos de uso
• estados
 Diagramas de Interacción
• secuencia
• colaboración
• tiempos
• vista de interacción
UML Diagrama de despliegue/distribución
 Se utiliza para mostrar la Arquitectura física
del sistema es decir la topología del
hardware
 Muestra la distribución de los nodos y los
componentes del sistema es decir Equipos
computacionales, dispositivos,
interconexiones y software que reside en
cada maquina
 Los nodos equivalen a recursos
computacionales de memoria, capacidad de
proceso, etc.
UML Diagrama de despliegue/distribución
 Los nodos se representan mediante
cubos
UML Diagrama de despliegue/distribución

CONSOLA Servidor
WEB
Bi procesador Red Ethernet giga
3.8 Ghz
4 GB Ram
Windows 2003
IIS
Conector USB

Servidor de
TAPE
Datos
DLT Scsi
4 procesadores
360 GB
3.1 Ghz
4 GB Ram
Windows 2003
SQL Server
Dudas:
 Que es un Nodo?
 Para que se utiliza el diagrama de
despliegue/distribución
 Que símbolos se utilizan en un diagrama de
despliegue/distribución
 realice un diagramas de despliegue/distribución
para una situación reales que Ud. conozca
ANÁLISIS Y DISEÑO
ORIENTADO A OBJETOS

Sistemas de Información

Clase 27

Estas láminas NO SON el texto de estudio, sino sólo una


ayuda para tomar mejores apuntes en clases.
UML
 Diagramas de Estructura
• clases
• componentes
• objetos
• estructura compuesta
• despliegue
• paquetes
 Diagramas de Comportamiento
• actividades
• casos de uso
• estados
 Diagramas de Interacción
• secuencia
• colaboración
• tiempos
• vista de interacción
UML Diagrama de Actividades
 Muestra la secuencia de pasos, decisiones,
iteraciones, etc.
 Es una manera simplificada de mostrar lo
que sucede durante un proceso
 Se usan para definir un flujo de programa,
capturar los puntos de decisión y acciones
dentro de cualquier proceso.
 Para confeccionar un diagrama de
actividades se dispone de un conjunto de
símbolos
UML Diagrama de Actividades
Símbolos disponibles para confeccionar un Diagrama de Actividades

Actividad

Acción (un paso dentro de una actividad)

Condiciones

Flujo de control o transición de una actividad a otra

Decisión
Bifurcación
Inicio
termino
UML Diagrama de Actividades

Ejemplo

Falso

Verdadero
UML Diagrama de Actividades

Poner Ejemplo de diagrama de


monedas actividades para una
maquina de bebidas

Selección
bebida

Monedas = precio

Monedas > Precio


Dar vuelto dar
bebida
Dudas:
 Que es un diagrama de actividades
 Para que se usa el diagrama de actividades
 Que símbolos se utilizan en el diagrama de
actividades?
 realice 5 diagramas de actividades para situaciones
reales que Ud. conozca
ANÁLISIS Y DISEÑO
ORIENTADO A OBJETOS

Sistemas de Información

Clase 28

Estas láminas NO SON el texto de estudio, sino sólo una


ayuda para tomar mejores apuntes en clases.
UML
 Diagramas de Estructura
• clases
• componentes
• objetos
• estructura compuesta
• despliegue
• paquetes
 Diagramas de Comportamiento
• actividades
• casos de uso
• estados
 Diagramas de Interacción
• secuencia
• colaboración
• tiempos
• vista de interacción
UML Diagrama de Casos de Uso
 Es posiblemente el diagrama mas
utilizado junto con el diagrama de
clases
 Representan la interacción del sistema
con su exterior (que llamaremos
actores)

Actor Caso de uso


UML Diagrama de Casos de Uso
 Los Casos de Uso corresponden a la
representación de los requerimientos
funcionales del sistema (el como debe
comportarse el sistema)
 Osea reflejan el comportamiento
deseado (la descripción de un
conjunto de secuencias de acciones)
del sistema en desarrollo, sin tener
que especificar cómo se implementa
ese comportamiento
UML Diagrama de Casos de Uso
 Al comprar un Vehículo nos preguntamos
que queremos que el auto haga, por ej:
• Que pueda andar en caminos de tierra
• Que pueda cargarlo con mas de 500 kilos
• Que suba cerros
 O al comprar un Celular nos preguntamos si
permite
• Conectarse a la Web
• Sacar fotos, reproducir música, etc,....
• y bueno….. hacer llamadas también
 Los casos de uso nos dicen que queremos
que un sistema haga
UML Diagrama de Casos de Uso
 Un caso de uso debe describir una tarea
con un sentido completo para el usuario
 Son un medio para que los desarrolladores,
los usuarios finales del sistema y los
expertos del dominio lleguen a una
comprensión común del sistema
 Por ejemplo, un caso de uso fundamental
en un banco, es el procesamiento de
préstamos.
UML Diagrama de Casos de Uso
Ejemplo de diagrama de caso de uso
UML Diagrama de Casos de Uso
 Los elementos que se utilizan en este
diagrama son:
• Sistema que reúne un conjunto de casos
de uso
• Casos de uso, tantos como diferentes
interacciones tenga el sistema con su
exterior
• Actores
• Relaciones que unen actores y casos de
uso o casos de uso entre si
UML Diagrama de Casos de Uso
 Un sistema puede tener un conjunto
de casos de uso, por ejemplo
Cafetería

vender

Cobrar cuenta
UML Diagrama de Casos de Uso
Actor
 Representa un conjunto coherente de
roles que juegan los usuarios
 Pueden ser personas o sistemas
mecánicos
 Se pueden definir categorías de
actores p ej.
• Cliente
 Cliente corporativo
 Cliente persona
UML Diagrama de Casos de Uso
Por ejemplo, diseñemos una tarjeta BIP
 Como me relaciono con una tarjeta (cuales
son los casos de Uso)?
 Primero tengo que comprarla, luego la uso
para pagar los pasajes y cuando se termina
la plata de la tarjeta la tengo que cargar para
seguir usándola, osea los casos de uso son:
• Comprar tarjeta
• Cargar dinero
• Pagar pasaje
UML Diagrama de Casos de Uso
 Quienes participan (actores) en cada
uno de estos casos de uso?
• Comprar tarjeta Cliente, Vendedor
• Cargar dinero Cliente, Cajero
• Pagar pasajes Cliente, Lector de tarjeta
 Por tanto los actores son:
• Cliente
• Vendedor
• Lector de tarjeta
• Cajero
UML Diagrama de Casos de Uso
Ejemplo de Diagrama de Casos de Uso para el sistema Usar Tarjeta BIP

Usar Tarjeta BIP

Comprar tarjeta
Vendedor

Cargar dinero

cliente
cliente

Pagar pasaje

Lector de tarjeta
UML Diagrama de Casos de Uso
 En este diagrama, los actores que activan
un caso de uso se ponen a la izquierda, en
cambio, los que se benefician del caso de
uso se ubican a la derecha
 El nombre de un caso de uso debe ser
único y en general empiezan con un verbo
en infinitivo
 El nombre de un caso de uso puede ser
simple o nombre de camino (incluir los
paquetes a los que pertenece)
UML Diagrama de Casos de Uso
Ejemplo de documentación simple de caso de uso
Un juego de dados, en que un jugador lanza dos
dados. Si el total obtenido es siete, el jugador
gana, de lo contrario pierde.
 Caso de uso: Juega un juego.
 Participantes (actores): Jugador.
 Descripción: Este caso de uso comienza cuando
el jugador recoge y tira los dados. Si los puntos
suman siete, gana y en cambio pierde si suman
cualquier otro número.
UML Diagrama de Casos de Uso
Escenario
 Es un conjunto de condiciones que
determinan la secuencia de realización de
un caso de uso, por ejemplo, Usar tarjeta
bip para pagar pasaje puede tener varios
escenarios por Ej.:
• Uso normal
• No tiene saldo
• La tarjeta esta dañada
• Etc.
 La búsqueda de escenarios de un caso de
uso pueden generar nuevos caso de uso
UML Diagrama de Casos de Uso
Usar Tarjeta BIP

Comprar tarjeta
Vendedor

Cargar dinero

Reemplazar Tarjeta
cliente dañada cliente

Pagar pasaje

Lector de tarjeta
UML Diagrama de Casos de Uso
 Los casos de uso pueden organizarse
agrupándolos en grupos llamados
paquetes
 Por ej
• Paquete obtener tarjeta incluye casos de
uso comprar tarjeta, cargar tarjeta y
reemplazar tarjeta
• Paquete usar tarjeta puede incluir caso de
uso pagar pasaje
UML Diagrama de Casos de Uso
Ejemplo de análisis Maquina de Bebidas
 P: Como me relaciono con una
maquina de bebidas?
 R: Mediante Comprar bebida

Caso de uso Comprar bebida


UML Diagrama de Casos de Uso
 Que origina el caso de uso? ... La sed
 Que se obtiene del caso de uso? ...
Una bebida para tomar
 Quien activa el caso de uso? ... El
cliente
 Quien se beneficia?... El cliente
 Cual es el escenario? ... Una compra
normal
UML Diagrama de Casos de Uso

Ejemplo caso de uso Comprar bebida, escenario una compra normal

Maquina de bebidas

Comprar Bebida

cliente
cliente

El que activa El caso de uso El que se beneficia


el caso de uso
con el caso de uso
UML Diagrama de Casos de Uso
 Que otros escenarios existen
• Que no tenga bebidas
• Que este lleno en receptáculo de
monedas
 Que otros actores participan de estos
nuevos casos de uso?
• El reponedor de bebidas
• El Recaudador del dinero
UML Diagrama de Casos de Uso
Maquina de bebidas

Comprar Bebida

cliente cliente

Reponer

Reponedor Reponedor

Retirar recaudación

Recaudador Recaudador
UML Diagrama de Casos de Uso
 Y que pasa si:
• La maquina no tiene monedas para dar
vuelto?
• Si el cliente ingresa el dinero pero a pesar
de haber bebidas, no hay de la que
selecciona el cliente?
• Si el cliente ingresa el dinero y se
arrepiente de comprar?
 Surgen nuevos escenarios y pueden
surgir nuevos casos de uso
ANÁLISIS Y DISEÑO
ORIENTADO A OBJETOS

Sistemas de Información

Clase 29

Estas láminas NO SON el texto de estudio, sino sólo una


ayuda para tomar mejores apuntes en clases.
UML Diagrama de Casos de Uso
 Los casos de uso se pueden
relacionar entre si
 Se pueden especificar tres tipo de
relaciones entre casos de uso:
• Generalización, caso de uso padre y caso
de uso hijo
• Inclusión sirve para encapsular
elementos que se repiten en varios casos
de uso
• Extensión sirve para extender el ámbito
del caso de uso según alguna condición
UML Diagrama de Casos de Uso
Ejemplo de relaciones entre casos de uso

Para validar usuario puede utilizarse su clave de acceso o


bien revisar la retina del usuario
Un usuario validado puede realizar un pedido nuevo o hacer
un seguimiento de los pedidos anteriores
Un pedido puede ser normal o contemplar alguna urgencia
UML Diagrama de Casos de Uso
Generalización
 El caso de uso hijo hereda el
comportamiento y el significado del caso de
uso padre
 El hijo puede agregar o redefinir el
comportamiento del padre.
 Se representa como una línea continua con
una punta de flecha vacía
UML Diagrama de Casos de Uso
Inclusión
 Un caso de uso incorpora explícitamente el
comportamiento de otro caso de uso
 La inclusión en el caso de uso base se realiza en el
lugar especificado en el caso base
 La inclusión se utiliza para encapsular un
comportamiento común a varios casos de uso
 Se representa como una línea discontinua con una
punta

 p ej Flujo de eventos principal: Obtener y verificar


el número de pedido. include (validar usuario).
Examinar el estado de cada parte del pedido y
preparar un informe para el usuario.
UML Diagrama de Casos de Uso
Extensión
 un caso de uso base dependiendo de
alguna condición incorpora implícitamente
el comportamiento de otro caso de uso
 Se representa como una línea discontinua
con una punta

 P ej Flujo de eventos principal: include


(Validar usuario). Recoger los ítemes del
pedido del usuario. (establecer prioridad).
Enviar el pedido para ser procesado
UML Diagrama de Casos de Uso
 La documentación un caso de uso
requiere:
• Descripción del escenario
• Supuestos asociados al escenario
• Actor que inicia el caso de uso
• Condiciones previas al caso de uso
• Pasos relacionados con el sistema en el
escenario
• Condiciones resultantes una ves
terminado el escenario
• Actor beneficiado con el caso de uso
UML Diagrama de Casos de Uso
Complete el sig ejercicio

Enseñar

Evaluar

Controles Solemnes Examen


UML Diagrama de Casos de Uso
 Que ventajas tiene el utilizar casos de
uso?
• Facilita la obtención de los antecedentes
necesarios para desarrollar un sistema
• Facilita el incorporar nueva funcionalidad
al sistema sin realizar grandes cambios
• Permite un proceso de análisis y diseño
incremental
• Se centra en el uso del sistema, por lo
que facilita comunicar el entendimiento o
nivel de conocimiento de un dominio
Dudas:
 Que es un diagrama de casos de uso
 Para que se usa el diagrama de casos de uso
 Que símbolos se utilizan en el diagrama de casos de uso?
 que se representa en un diagrama de casos de uso
 que representa un actor de 5 ejemplos?
 que representa una categoría de actor, de 5 ejemplos?
 que es un escenario
 que relaciones pueden existir entre cados de uso, de 5
ejemplos de cada una
 que se debería indicar al menos en la documentación de un
aso de uso?
 realice 5 diagramas de casos de uso para situaciones reales
que Ud. Conozca
ANÁLISIS Y DISEÑO
ORIENTADO A OBJETOS

Sistemas de Información

Clase 30

Estas láminas NO SON el texto de estudio, sino sólo una


ayuda para tomar mejores apuntes en clases.
UML
 Diagramas de Estructura
• clases
• componentes
• objetos
• estructura compuesta
• despliegue
• paquetes
 Diagramas de Comportamiento
• actividades
• casos de uso
• estados
 Diagramas de Interacción
• secuencia
• colaboración
• tiempos
• vista de interacción
UML Diagrama de Estados
 En el tiempo los objetos cambian su
estado
• Un computador puede estar encendido,
en economía de energía o apagado
• Presionando un botón se enciende (pasa
de apagado a encendido)
• Un tiempo inactivo lo pasa a estado de
economía de energía, cualquier tecla o
mover el mouse lo pasa a encendido
• Mediante una combinación de comando
se apaga (pasa de encendido a apagado)
UML Diagrama de Estados
 Para documentar como un objeto
cambia su estado, se utiliza el
diagrama de estados
 Es diagrama de estados muestra
• Los estados por los que puede pasar un
objeto
• Las posibles transiciones entre estos
estados
 Cada diagrama de estados se refiere
solo a un objeto
UML Diagrama de Estados
 Se utilizan las representaciones
• Los estados mediante un cuadrado de
bordes redondeados
• Las transiciones mediante flechas.
• El Inicio mediante un circulo negro
• El estado final mediante un circulo blanco
y negro
UML Diagrama de Estados
Ejemplo de una Lavadora automática

Llenando
receptáculo

Lavando

Centrifugando
UML Diagrama de Estados
 El Símbolo de estados puede dividirse
en 3 partes
• Nombre del estado
• Variables de estado
• Actividades que sucede cuando entra en
el estado, al salir del estado o mientras
permanece en el estado
Nombre

Variables de estado

Actividades
UML Diagrama de Estados
Ejemplo maquina de FAX

Envío de FAX

Fecha: Fecha actual


Hora: Hora inicio envío
Fono del Fax
Nombre del Fax

Entrada: Marcar Numero Fax Inactivo


Salida Finalizar Transmisión
Hacer Impresión de fecha Fecha: Fecha actual
Hacer Impresión de tiempo Hora: Hora en curso
Hacer impresión de teléfono
Hacer impresión Nombre del fax
Entrada: Finalizar Fax
Salida Iniciar Transmisión
Hacer mostrar fecha
Hacer mostrar de tiempo
UML Diagrama de Estados
 Se puede documentar el paso de un estado
a otro, por ejemplo
• Un auto puede estar en estado detenido o
funcionando
• El paso de detenido a funcionando puede
nombrarse Encender y al revez (de funcionando
a detenido) Apagar
• Un computador puede estar iniciando,
funcionando, invernando o finalizando
• El paso de funcionando a finalizando puede
denominarse apagado, de operando a
invernando puede documentarse como Tiempo
transcurrido y Movimiento de mouse o teclado
UML Diagrama de Estados

Encender PC

Iniciar

Lapso de tiempo
funcionar Invernar

Apagado Movto mouse o tecla

Apagar
UML Diagrama de Estados
 Un estado puede tener Sub Estados
• Secuenciales, como por ejemplo rendir
prueba tiene poner nombre, leyendo
preguntas, respondiendo
• Concurrentes como por ejemplo
despierto puede tener caminando y
mascando chicle a la vez
UML Diagrama de Estados
 Este diagrama es útil porque
• Permite analizar los estados por los que
puede pasar un sistema
• Visualizar las alternativas de
funcionamiento de un sistema
• Buscar las diferentes condiciones de
excepción
• etc.
Dudas:
 Que se representa en un Diagrama de Estados
 Que es un Diagrama de Estados
 Para que se usa el Diagrama de Estados
 Que símbolos se utilizan en el Diagrama de
Estados?
 Que antecedentes se registran en un estado
 Que es un subestado
 Que tipos de subestados existen?
 Cual es la utilidad de los diagramas de estado?
 Realice 5 diagramas de estado para situaciones
reales que Ud. Conozca
ANÁLISIS Y DISEÑO
ORIENTADO A OBJETOS

Sistemas de Información

Clase 31

Estas láminas NO SON el texto de estudio, sino sólo una


ayuda para tomar mejores apuntes en clases.
UML
 Diagramas de Estructura
• clases
• componentes
• objetos
• estructura compuesta
• despliegue
• paquetes
 Diagramas de Comportamiento
• actividades
• casos de uso
• estados
 Diagramas de Interacción
• secuencia
• colaboración
• tiempos
• vista de interacción
UML Diagrama de Secuencia
 Muestra la interacción entre los
objetos es decir como se relacionan
los objetos en el tiempo
UML Diagrama de Secuencia
 En el diagrama, los objetos se ponen
en la parte superior
 El tiempo en que un objeto esta activo
mediante un rectángulo delgado (que
representa la realización de una tarea)
 El tiempo en que un objeto esta
inactivo mediante una línea
discontinua (línea de vida del objeto)
 Las interacciones (o mensajes entre
los objetos) mediante flechas
UML Diagrama de Secuencia
Ejemplo maquina de lavar automática

Manguera Tambor Drenaje

Abastecer agua
Permanecer inmóvil

detener

girar

botar agua

detener
UML Diagrama de Secuencia
 Los mensajes pueden ir de un objeto a
otro o de un objeto a si mismo
 Los mensajes pueden ser
• Simples o que pasa el control de un
objeto a otro
• Sincrónicos que requiere respuesta antes
de que el objeto retome su trabajo
• Asincrónicos que no requiere respuesta
UML Diagrama de Secuencia
 Existe una relación entre los casos de
uso y los diagramas de secuencia
 Por ejemplo para “comprar una bebida
en una maquina”, puede hacerse un
diagrama de casos de uso y también
un diagrama de secuencia
 Una manera de documentar un caso
de uso es su diagrama de secuencia
UML Diagrama de Secuencia
Ejemplo comprar bebida en una maquina

Puerta Monedero Dispensador


Poner monedas
(Alimentación) Pasar monedas
(Alimentación)
Elegir bebida
(selección)
Sacar bebida
(Selección)
Cliente

Comprar
una bebida en una
maquina

Cliente Cliente
UML Diagrama de Secuencia
 Un diagrama de secuencia puede
hacerse para
• Un escenario de un caso de uso (que se
conoce como diagrama de instancia)
• Varios escenarios de el caso de uso (que
se conoce como diagrama genérico),
 Para los diagramas genéricos se tiene
que representar el control del flujo de
secuencia asociado a las diferentes
condiciones de cada escenario
UML Diagrama de Secuencia
 Para representar condiciones se
utiliza un si entre corchetes, por
ejemplo
• (si existe bebida solicitada)
• (Si monto monedas > Valor bebida)
 Para representar la creación de
objetos se utiliza Crear entre corchete,
por ejemplo
• (Crear Venta)
Dudas:
 que se representa en un Diagrama de Secuencia
 Que es un Diagrama de Secuencia
 Para que se usa el Diagrama de Secuencia
 Que símbolos se utilizan en el Diagrama de Secuencia ?
 Que antecedentes se registran en un diagrama de Secuencia
 Como pueden ser los mensajes en un diagrama de
Secuencia?
 Que relación existe entre un diagrama de secuencia y uno de
casos de uso?
 Como se documentan los condiciones en un diagrama de
secuencia?
 Cual es la utilidad de los diagramas de Secuencia ?
 realice 5 diagramas de Secuencia para situaciones reales que
Ud. Conozca
UML
 Diagramas de Estructura
• clases
• componentes
• objetos
• estructura compuesta
• despliegue
• paquetes
 Diagramas de Comportamiento
• actividades
• casos de uso
• estados
 Diagramas de Interacción
• secuencia
• colaboración
• tiempos
• vista de interacción
UML Diagrama de colaboración
 Muestra los objetos, sus relaciones y
los mensajes que intercambian
 Es similar al diagrama de secuencia,
pero esta centrado en el objetivo mas
que en como estos mensajes se
realizan en el tiempo
UML Diagrama de colaboración
Ejemplo diagrama de secuencia para una lavadora automática

Manguera

1 Abastecer
2 Detener

3 Botar agua
Tambor Drenaje

4 Detener

La numeración de los mensajes permite mantener


una correlación con el diagrama de secuencia
UML Diagrama de colaboración
 La interacción entre los objetos puede
estar sujeta a condiciones por ejemplo
en el caso de la maquina de bebidas
• El pago es mayor que el valor de la
bebida
• La bebida seleccionada no esta
disponible
• Etc.
UML Diagrama de colaboración
Insertar (monedas,selección)

Cliente Puerta

1 Agregar(monedas,selección)
4 Despachar (selección)

(Bebida disponible)
3.2 devolver(cambio)
(monedas>precio) 2.1 verifica
(bebida no disponible) cambio (monedas, precio)
3.3 devolver(monedas, mensaje)

Monedero

Dispensador
(Monedas=precio) 2.2 Despachar (selección)
(Bebida disponible) 3.1 Despachar (selección)
UML Diagrama de colaboración
 Los mensajes pueden ser de un objeto
a un grupo de objetos de una clase,
por ejemplo
Todos 1 dar tarea (tarea, fecha entrega))
profesor

Alumno

Posición en la lista 1 pasar lista (fecha, nombre)


profesor

Alumno
Dudas:
 Que se representa en un Diagrama de Colaboración
 Que es un Diagrama de Colaboración
 Para que se usa el Diagrama de Colaboración
 Que símbolos se utilizan en el Diagrama de
Colaboración ?
 Confecciones 5 diagramas de colaboración para
casos que Ud. conozca

Potrebbero piacerti anche