Logo Studenta
¡Este material tiene más páginas!

Vista previa del material en texto

MODULO IIMODULO II
Análisis y Diseño de Análisis y Diseño de Análisis y Diseño de Análisis y Diseño de 
Sistemas de InformaciónSistemas de Información
INFINF--162162
II. METODOLOGIAS
2.3 Análisis y Diseño OO
1
Facilitador: Miguel Facilitador: Miguel CotañaCotaña 14 de Marzo 2008
INTRODUCCIONINTRODUCCION
METODO:
INTRODUCCIONINTRODUCCION
Es un proceso disciplinado para
generar un conjunto de modelos que
describen varios aspectos de undescriben varios aspectos de un
proyecto software, utilizando alguna
ó d f d
METODOLOGIA
notación definida.
METODOLOGIA
Es una colección de métodos
aplicados a lo largo del ciclo de vida
del desarrollo de software
2
del desarrollo de software.
Los métodos de análisis y diseñoy
orientado a objetos surgieron para
ayudar a los desarrolladores aayudar a los desarrolladores, a
explotar la potencia de los lenguajesp p g j
de programación basados en objetos
y orientados a objetos utilizandoy orientados a objetos, utilizando
clases y los objetos como bloques
básicos de construcción
3
El análisis y diseño orientado aEl análisis y diseño orientado a
objetos representa un desarrolloj p
evolutivo, no revolucionario; no
rompe con los avances delrompe con los avances del
pasado, sino que se basa en
avances ya probados
4
L t l í OO iLa tecnología OO, proporciona una
forma practica y productiva dep y p
desarrollo de Software;
Se trata de pensar de modoSe trata de pensar de modo
abstracto, acerca del problema
empleando conceptos del mundo
real y no conceptos dereal y no conceptos de
computadoras;
P l ft d dPara lograr un software adecuado
para el cliente, existen el AOO,
5
p , ,
DOO y POO.
MODELO DE OBJETOSMODELO DE OBJETOS
La tecnología orientada a objetos se apo a en los
MODELO DE OBJETOSMODELO DE OBJETOS
La tecnología orientada a objetos se apoya en los
sólidos fundamentos de la ingeniería, cuyos
elementos reciben el nombre global de modelo de
objetos. Abarca los principios de:j p p
Abstracción;
Encapsulación;
Modularidad;Modularidad;
Jerarquía;
Tipos;
Concurrencia;
6
Concurrencia;
Persistencia.
ABSTRACCIONABSTRACCIONABSTRACCIONABSTRACCION
Una abstracción denota lasUna abstracción denota las
características esenciales de un
objeto que lo distinguen de todos
los demás tipos de objeto ylos demás tipos de objeto y
proporciona así fronteras
íconceptuales nítidamente definidas
respecto a la perspectiva delrespecto a la perspectiva del
observador.
7
8
ENCAPSULAMIENTOENCAPSULAMIENTOENCAPSULAMIENTOENCAPSULAMIENTO
Es el proceso de almacenar en unEs el proceso de almacenar en un
mismo compartimiento los
l t d b t ióelementos de una abstracción que
constituyen su estructura y suconstituyen su estructura y su
comportamiento;
El encapsulamiento, permite que los
cambios hechos en los programascambios hechos en los programas
sean fiables con el menor esfuerzo.
9
10
MODULARIDADMODULARIDADMODULARIDADMODULARIDAD
La modularidad es la propiedad
ti i t h idque tiene un sistema que ha sido
descompuesto en un conjunto dep j
módulos cohesivos y débilmente
acopladosacoplados.
Es el acto de fragmentar unEs el acto de fragmentar un
programa en componentes
i di id lindividuales
11
12
JERARQUIAJERARQUIAJERARQUIAJERARQUIA
U j t d b t iUn conjunto de abstracciones
pueden llegar a formar unapuede ega a o a u a
jerarquía, y la identificación de esas
je a q ías en el diseño simplifica lajerarquías en el diseño simplifica la
comprensión del problemap p
La jerarquía es una clasificación u
d ió d b iordenación de abstracciones.
13
L j í á i t tLas jerarquías más importantes
son:son:
Su estructura de clases
í(jerarquía de clases)
Su estructura de objetosSu estructura de objetos
(jerarquía de partes)
Ejemplos: herencia simple,
he encia múltiple ag egación
14
herencia múltiple, agregación.
15
TIPOS (TIPIFICACION)TIPOS (TIPIFICACION)TIPOS (TIPIFICACION)TIPOS (TIPIFICACION)
L ti l tLos tipos son la puesta en
vigor de la clase de losgo de a c ase de os
objetos, de modo que los
objetos de tipos distintos noobjetos de tipos distintos no
pueden intercambiarse o,p ,
como mucho pueden
intercambiarse sólo de formasintercambiarse sólo de formas
muy restringidas
16
y g
Un tipo es una
caracterizacióncaracterización
precisa de
propiedades
estructurales o deestructurales o de
comportamiento.
Las clases
implementan a La comprobación estricta de tiposimplementan a
los tipos.
impide que se mezclen abstracciones.
17
CONCURRENCIACONCURRENCIACONCURRENCIACONCURRENCIA
L i t lLa concurrencia se centra en la
abstracción de procesos y laabst acc ó de p ocesos y a
sincronización.
La concurrencia es la
propiedad que distingue unpropiedad que distingue un
objeto activo de uno que no
iesta activo
18
Un solo proceso
(hilo de control)
es la raíz a partires la raíz a partir
de la cual se
producen acciones
dinámicasdinámicas
independientes
d d l identro del sistema
La concurrencia permite a diferentes
19
objetos actuar al mismo tiempo.
PERSISTENCIAPERSISTENCIAPERSISTENCIAPERSISTENCIA
La persistencia es la propiedad de unLa persistencia es la propiedad de un
objeto por la que su existencia
i d l i ( d i ltrasciende el tiempo (es decir, el
objeto continúa existiendo despuésobjeto continúa existiendo después
de que su creador deja de existir)
/ l i ( d i l i ióy/o el espacio (es decir, la posición
del objeto varía con respecto alde objeto a a co especto a
espacio de direcciones en el que fue
c eado)
20
creado).
Un objeto de
software ocupa
una ciertauna cierta
cantidad de
espacio, y existe
durante una ciertadurante una cierta
cantidad de
i
l d d
tiempo.
21
La persistencia conserva el estado de
un objeto en el tiempo y en el espacio
PARADIGMA ORIENTADO A OBJETOSPARADIGMA ORIENTADO A OBJETOSPARADIGMA ORIENTADO A OBJETOSPARADIGMA ORIENTADO A OBJETOS
La Orientación a Objetos (OO), es
na técnica pa a el modelado deuna técnica para el modelado de
sistemas como un conjunto de
objetos relacionados que interactuan
entre sí. La OO es similar a la formaentre sí. La OO es similar a la forma
en que las personas observan su
entornoentorno.
La OO es un enfoque de desarrollo
d f lde software que organiza tanto el
problema como su solución.
22
p
¿QUÉ ES LA ORIENTACION A OBJETOS?¿QUÉ ES LA ORIENTACION A OBJETOS?¿QUÉ ES LA ORIENTACION A OBJETOS?¿QUÉ ES LA ORIENTACION A OBJETOS?
El concepto surge en los lenguajes de
programación:programación:
Se organiza el software como una
l ió d bj t di tcolección de objetos discretos que
encapsulan:p
Estructuras de Datos y
C t i tComportamiento.
Un sistema OO funciona medianteUn sistema OO funciona mediante
la colaboración entre los objetos
que se comunican entre sí
23
que se comunican entre sí.
El concepto se extiende a los
ét d d áli i di ñmétodos de análisis y diseño:
Se utilizan los objetos del mundoSe utilizan los objetos del mundo
real como base para construir
modelosmodelos
Los elementos que forman losq
sistemas del mundo real se
corresponden con objetoscorresponden con objetos
software
24
CLASES Y OBJETOSCLASES Y OBJETOSCLASES Y OBJETOSCLASES Y OBJETOS
Cuando se usan métodosCuando se usan métodos
orientado a objetos, para
analizar y diseñar un
sistema los bloquessistema, los bloques
básicos de construcciónbás cos de co st ucc ó
son las clases, objetos y
l isus relaciones.
25
OBJETOOBJETO
l ó b d d l
OBJETOOBJETO
Es la representación abstraida de las
cosas. Desde la perspectiva de lacosas. Desde la perspectiva de la
cognición humana un objeto es:
Una cosa tangible y/o visible.g y/
Algo que puede comprenderse.
Algo hacia lo que se dirige una acciónAlgo hacia lo que se dirige una acción
o pensamiento.
Todo lo que hay en el mundo serán
26
q y
objetos?
b d l l d lUn objeto modela alguna parte de la
realidad y es, por tanto, algo que existerealidad y es, por tanto, algo que existe
en el tiempo y el espacio.
Un objeto:Un objeto:
Tiene un estado;
E hib l ú t i t biExhibe algún comportamiento bien
definido;;
Tiene una identidad única.
27
28
QUÉ ES UN OBJETO?QUÉ ES UN OBJETO?QUÉES UN OBJETO?QUÉ ES UN OBJETO?
Conceptualmente, un objeto es unap , j
cosa con la que se puede interactuar:
Se le pueden mandar variosSe le pueden mandar varios
mensajes y reaccionará. El como sej y
comporte dependerá del estado
interno actual del objeto Un objetointerno actual del objeto. Un objeto
tiene una identidad la cual lo
distingue de todos los demás
objetosobjetos.
29
EmpleadoEmpleado
Nombre:String- Nombre:String
- Sexo:Boolean
- Direccion:String
- Fecha_nac:Fecha_
+ TomarNombre()()
+ CalcularEdad()
+ TomarDireccion()
30
b bLos objetos tienen atributos y
operaciones;operaciones;
Los atributos son sus características y
i ( i i ét d )sus operaciones (servicios, métodos)
son las acciones que el objeto puedeson las acciones que el objeto puede
realizar;
L d fi i ió d bj t i li lLa definición de objetos implica la
descripción de atributos,p ,
comportamientos, operaciones y
mensajes
31
mensajes
Para verificar un objeto previamentePara verificar un objeto previamente
identificado se pueden utilizar los 
siguientes criterios:
Relevancia para el dominio
del problema;del problema;
Existencia independiente;
Atributos;
Operaciones.
32
Operaciones.
CLASECLASECLASECLASE
Clase es una agrupación de objetos
con los mismos tipos decon los mismos tipos de
características
Los objetos son instancias de lasLos objetos son instancias de las
clases.
Las clases definen atributos yLas clases definen atributos y
operaciones para sus objetos, no
33para ellas mismas.
……..CLASES Y OBJETOS……..CLASES Y OBJETOS……..CLASES Y OBJETOS……..CLASES Y OBJETOS
34
Vehículo
l i l
Animal
Platero:Animal
PuntoPunto
Figura (1,3)Figura (1,3)
(2,2)
(2 1)
(5,2.5)
35
(2,1)
Una clase es una descripciónUna clase es una descripción
generalizada de un conjunto de
bj t i il T d l bj tobjetos similares.Todos los objetos
son ejemplares de una clase.j p
Todos los objetos que existen dentro
de una clase heredan sus atributos y
los métodos.los métodos.
Un objeto es una instancia o variable
de una clase. Un objeto se distingue
de otros miembros de la clase por susde otros miembros de la clase por sus
atributos. 36
……..CLASES Y SUBCLASES……..CLASES Y SUBCLASES……..CLASES Y SUBCLASES……..CLASES Y SUBCLASES
U l d l i lUna clase de alto nivel
puede especializarse enp p
clases de bajo nivel. Es
decir, un clase puede, p
tener subclases.
Existe de este modo unaExiste de este modo una
jerarquía de clases y
subclasessubclases.
37
METÁFORAMETÁFORAMETÁFORAMETÁFORA
38
AGREGACION/COMPOSICIONAGREGACION/COMPOSICIONAGREGACION/COMPOSICIONAGREGACION/COMPOSICION
Permite abstraer relaciones dePermite abstraer relaciones de
tipo …… tiene…. y …. está
compuesto de…..
39
ASOCIACIONESASOCIACIONESASOCIACIONESASOCIACIONES
Permite abstraer relaciones entrePermite abstraer relaciones entre
objetos diferentes a la
composición.
40
HERENCIAHERENCIAHERENCIAHERENCIA
Los objetos se organizan enLos objetos se organizan en
jerarquías
VertebradoVertebrado
Mamifero ...
Canino Felino
Doméstico SalvajeDoméstico Salvaje
41
La herencia permite modelarLa herencia permite modelar
relaciones del tipo …. es un…. y
clasificaciones.
SuperclaseVertebrado Superclase
(Tipo)
Vertebrado
M if Subclase
(Subtipo)
Mamifero
(Subtipo)
42
La relación de subtipajeLa relación de subtipaje
(herencia):
Si Y es subtipo de X entonces Si Y es subtipo de X entonces 
cualquier objeto de tipo Y puede 
 d l i t ser usado en cualquier parte 
donde un objeto de tipo X puede donde un objeto de tipo X puede 
ser usado
43
GENERALIZACIONGENERALIZACIONGENERALIZACIONGENERALIZACION
Es el proceso (durante las etapas deEs el proceso (durante las etapas de
análisis y diseño de sistemas) dey )
identificar y definir los atributos y
operaciones comunes en unaoperaciones comunes en una
colección de objetos.j
Permite identificar nuevas clases;
Reduce la redundancia;Reduce la redundancia;
Promueve la reutilización de 
44código.
ESPECIALIZACION Y GENERALIZACIONESPECIALIZACION Y GENERALIZACIONESPECIALIZACION Y GENERALIZACIONESPECIALIZACION Y GENERALIZACION
Mientras la generalización se concentra en las
clases mayores del sistema y ayuda aclases mayores del sistema y ayuda a
encontrar nuevas clases, la especialización se
concentra en crear clases más específicasconcentra en crear clases más específicas.
L i li ió h i l di ióLa especialización es herencia con la adición
o modificación de operaciones para resolver
un problema específico.
45
GeneralizacionGeneralizacion
46especializacion
CLASIFICACIONCLASIFICACION
Identificar clases y objetos es fundamental en el
DOO Implica descubrimiento e invención
CLASIFICACIONCLASIFICACION
DOO. Implica descubrimiento e invención.
47
ABSTRACCIONES CLAVEABSTRACCIONES CLAVE
Es una clase u objeto que forma parte del 
vocabulario del dominio del problema
ABSTRACCIONES CLAVEABSTRACCIONES CLAVE
vocabulario del dominio del problema.
48
PROCESO DE DESARROLLOPROCESO DE DESARROLLOPROCESO DE DESARROLLOPROCESO DE DESARROLLO
Planificación Construcción Aplicación
Ciclo de Ciclo de . . .Ciclo de Ciclo de . . . 
desarrollo 1 desarrollo 2 
Perfeccionar
plan Análisis Diseño Construcción Pruebasp
De dos semanas a dos meses
49
TAREAS EN EL ANALISISTAREAS EN EL ANALISISTAREAS EN EL ANALISISTAREAS EN EL ANALISIS
Perfeccionar
plan Análisis Diseño Construcción Pruebasplan
Definir los Definir los casos Crear diagramas Crear modelo
requisitos esenciales de uso
g
de casos de uso conceptual
Crear el Definir diag. Definir los
glosario de secuencia contratos
50
TAREAS EN EL DISEÑOTAREAS EN EL DISEÑOTAREAS EN EL DISEÑOTAREAS EN EL DISEÑO
Perfeccionar
plan Análisis Diseño Construcción Pruebasplan
Definir casos Definir reportes, Perfeccionar la
reales de uso interfaz de usuario,
secuencia de pantallas
arquitectura
Definir diag. Definir diagramas Definir esquema
de interacción
Definir diagramas
diseño de clases base de datos
51
AOO: Es un método de analisis queq
examina los requisitos desde la
perpectiva de las clases y objetos que seperpectiva de las clases y objetos que se
encuentran en el vocabulario del dominio
del problemadel problema.
DOO: Es un método de diseño que
óabarca el proceso de descomposición y
una notación para describir los modelosp
lógico y fisico.
POO: Es un método de implementaciónPOO: Es un método de implementación
en el que los programas se organizan
l i ti d
52
como colecciones cooperativas de
objetos.
EJEMPLOEJEMPLO
Un cliente tiene la opción de que se cargue su cuenta
EJEMPLOEJEMPLO
p q g
automáticamente en el momento de la compra (combustible,
mantenimiento, o estacionamiento) o de que se le envie
l t f t l E l i l li tmensualmente una factura en papel. En cualquier caso, los clientes
pueden pagar con dinero en efectivo, tarjeta de credito o cheque
personal En la estación de servicio “amigos” el combustible sepersonal. En la estación de servicio amigos el combustible se
vende por galon a un precio que depende de que el combustible
sea gasolina, normal o especial. Los servicios están cotizados deg , p
acuerdo con el costo de los insumos y de la labor realizada. El
estacionamiento se vende segun tarifas que pueden ser diarias,
l l L i d l b tibl i i dsemanales o mensuales. Los precios del combustible, servicios de
mantenimiento, partes y estacionamiento pueden variar; solamente
el gerente de la estacion puede ingresar o cambiar un precio A suel gerente de la estacion puede ingresar o cambiar un precio. A su
criterio, el gerente puede dar un descuento en sus compras a un
cliente en particular; este descuento puede variar de un cliente a
53otro. Un 2,5% de impuesto local sobre ventas se aplica a todas las
operaciones