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

Vista previa del material en texto

II. METODOLOGIAS
MODULO II
2.3 Análisis y Diseño OO
1
Análisis y Diseño de 
Sistemas de Información
INF-162
Facilitador: Miguel Cotaña 24 de Marzo 2010
2
Los métodos de análisis y diseño
orientado a objetos surgieron para
ayudar a los desarrolladores, a
explotar la potencia de los lenguajes
de programación basados en objetos
y orientados a objetos, utilizando
clases y los objetos como bloques
básicos de construcción
INTRODUCCION
3
El análisis y diseño orientado a
objetos representa un desarrollo
evolutivo, no revolucionario; no
rompe con los avances del
pasado, sino que se basa en
avances ya probados
4
La tecnología OO, proporciona una
forma práctica y productiva de
desarrollo de Software;
Se trata de pensar de modo
abstracto, acerca del problema
empleando conceptos del mundo
real y no conceptos de
computadoras;
Para lograr un software adecuado
para el cliente, existen el AOO,
DOO y POO.
5
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:
Abstracción;
Encapsulación;
Modularidad;
Jerarquía;
Tipos;
Concurrencia;
Persistencia.
MODELO DE OBJETOS
6
Una abstracción denota las
características esenciales de un
objeto que lo distinguen de todos
los demás tipos de objeto y
proporciona así fronteras
conceptuales nítidamente definidas
respecto a la perspectiva del
observador.
ABSTRACCION
7
8
Es el proceso de almacenar en un
mismo compartimiento los
elementos de una abstracción que
constituyen su estructura y su
comportamiento;
El encapsulamiento, permite que los
cambios hechos en los programas
sean fiables con el menor esfuerzo.
ENCAPSULAMIENTO
9
10
La modularidad es la propiedad
que tiene un sistema que ha sido
descompuesto en un conjunto de
módulos cohesivos y débilmente
acoplados.
Es el acto de fragmentar un
programa en componentes
individuales
MODULARIDAD
11
12
Un conjunto de abstracciones
pueden llegar a formar una
jerarquía, y la identificación de esas
jerarquías en el diseño simplifica la
comprensión del problema
La jerarquía es una clasificación u
ordenación de abstracciones.
JERARQUIA
13
Las jerarquías más importantes
son:
Su estructura de clases
(jerarquía de clases)
Su estructura de objetos
(jerarquía de partes)
Ejemplos: herencia simple,
herencia múltiple, agregación.
14
15
Los tipos son la puesta en
vigor de la clase de los
objetos, de modo que los
objetos de tipos distintos no
pueden intercambiarse o,
como mucho pueden
intercambiarse sólo de formas
muy restringidas
TIPOS (TIPIFICACION)
16
Un tipo es una
caracterización
precisa de
propiedades
estructurales o de
comportamiento.
Las clases
implementan a
los tipos.
La comprobación estricta de tipos
impide que se mezclen abstracciones.
17
La concurrencia se centra en la
abstracción de procesos y la
sincronización.
La concurrencia es la
propiedad que distingue un
objeto activo de uno que no
esta activo
CONCURRENCIA
18
Un solo proceso
(hilo de control)
es la raíz a partir
de la cual se
producen acciones
dinámicas
independientes
dentro del sistema
La concurrencia permite a diferentes
objetos actuar al mismo tiempo.
19
La persistencia es la propiedad de un
objeto por la que su existencia
trasciende el tiempo (es decir, el
objeto continúa existiendo después
de que su creador deja de existir)
y/o el espacio (es decir, la posición
del objeto varía con respecto al
espacio de direcciones en el que fue
creado).
PERSISTENCIA
20
La persistencia conserva el estado de
un objeto en el tiempo y en el espacio
Un objeto de
software ocupa
una cierta
cantidad de
espacio, y existe
durante una cierta
cantidad de
tiempo.
21
La Orientación a Objetos (OO), es
una técnica para el modelado de
sistemas como un conjunto de
objetos relacionados que interactuan
entre sí. La OO es similar a la forma
en que las personas observan su
entorno.
La OO es un enfoque de desarrollo
de software que organiza tanto el
problema como su solución.
PARADIGMA ORIENTADO A OBJETOS
22
El concepto surge en los lenguajes de
programación:
Se organiza el software como una
colección de objetos discretos que
encapsulan:
Estructuras de Datos y
Comportamiento.
Un sistema OO funciona mediante
la colaboración entre los objetos
que se comunican entre sí.
¿QUÉ ES LA ORIENTACION A OBJETOS?
23
El concepto se extiende a los
métodos de análisis y diseño:
Se utilizan los objetos del mundo
real como base para construir
modelos
Los elementos que forman los
sistemas del mundo real se
corresponden con objetos
software
24
Cuando se usan métodos
orientado a objetos, para
analizar y diseñar un
sistema, los bloques
básicos de construcción
son las clases, objetos y
sus relaciones.
CLASES Y OBJETOS
25
Es la representación abstraida de las
cosas. Desde la perspectiva de la
cognición humana un objeto es:
Una cosa tangible y/o visible.
Algo que puede comprenderse.
Algo hacia lo que se dirige una acción
o pensamiento.
Todo lo que hay en el mundo serán
objetos?
OBJETO
26
Un objeto modela alguna parte de la
realidad y es, por tanto, algo que existe
en el tiempo y el espacio.
Un objeto:
Tiene un estado;
Exhibe algún comportamiento bien
definido;
Tiene una identidad única.
27
Conceptualmente, un objeto es una
cosa con la que se puede interactuar:
Se le pueden mandar varios
mensajes y reaccionará. El como se
comporte dependerá del estado
interno actual del objeto. Un objeto
tiene una identidad la cual lo
distingue de todos los demás
objetos.
QUÉ ES UN OBJETO?
28
e1:Empleado
Nombre:String
Sexo:Boolean
Direccion:String
Fecha_nac:Fecha
TomarNombre()
CalcularEdad()
TomarDireccion()
29
30
Los objetos tienen atributos y
operaciones;
Los atributos son sus características y
sus operaciones (servicios, métodos)
son las acciones que el objeto puede
realizar;
La definición de objetos implica la
descripción de atributos,
comportamientos, operaciones y
mensajes
31
Para verificar un objeto previamente
identificado se pueden utilizar los 
siguientes criterios:
Relevancia para el dominio
del problema;
Existencia independiente;
Atributos;
Operaciones.
32
Clase es una agrupación de objetos
con los mismos tipos de
características
Los objetos son instancias de las
clases.
Las clases definen atributos y
operaciones para sus objetos, no
para ellas mismas.
CLASE
33
……..CLASES Y OBJETOS
34
Vehículo
Punto
Figura
Animal
(1,3)
(2,2)
(2,1)
(5,2.5)
Platero:Animal
Una clase es una descripción
generalizada de un conjunto de
objetos similares.Todos los objetos
son ejemplares de una clase.
Todos los objetos que existen dentro
de una clase heredan sus atributos y
los métodos.
Un objeto es una instancia o variable
de una clase. Un objeto se distingue
de otros miembros de la clase por sus
atributos.
35
Una clase de alto nivel
puede especializarse en
clases de bajo nivel. Es
decir, un clase puede
tener subclases.
Existe de este modo una
jerarquía de clases y
subclases.
……..CLASES Y SUBCLASES
36
METÁFORA
37
AGREGACION/COMPOSICION
Permite abstraer relaciones de
tipo …… tiene…. y …. está
compuesto de…..
38
ASOCIACIONES
Permite abstraer relaciones entre
objetos diferentes a la
composición.
39
HERENCIA
Los objetos se organizan en
jerarquías
Vertebrado
Mamifero
Canino Felino
Doméstico Salvaje
...
40
La herencia permite modelar
relaciones del tipo …. es un…. y
clasificaciones.
Superclase
(Tipo)
Subclase
(Subtipo)
Vertebrado
Mamifero
41
La relación de subtipaje
(herencia):
Si Y es subtipo de X entonces 
cualquier objeto de tipo Y puede 
ser usado en cualquier parte 
donde un objeto de tipo X puede 
ser usado
42
43
Es el proceso (durante las etapas de
análisis y diseño de sistemas) de
identificar y definir los atributos y
operaciones comunes en una
colección de objetos.
Permite identificar nuevas clases;
Reduce la redundancia;
Promueve la reutilización de 
código.
GENERALIZACION
44
Mientras la generalizaciónse concentra en las
clases mayores del sistema y ayuda a
encontrar nuevas clases, la especialización se
concentra en crear clases más específicas.
La especialización es herencia con la adición
o modificación de operaciones para resolver
un problema específico.
ESPECIALIZACION Y GENERALIZACION
45especializacion
Generalizacion
46
Identificar clases y objetos es fundamental en el
DOO. Implica descubrimiento e invención.
CLASIFICACION
47
Es una clase u objeto que forma parte del 
vocabulario del dominio del problema.
ABSTRACCIONES CLAVE
48
PROCESO DE DESARROLLO
Planificación Construcción Aplicación
Ciclo de Ciclo de . . . 
desarrollo 1 desarrollo 2 
Perfeccionar
plan
Análisis Diseño Construcción Pruebas
De dos semanas a dos meses
49
TAREAS EN EL ANALISIS
Perfeccionar
plan
Análisis Diseño Construcción Pruebas
Definir los
requisitos
Definir los casos
esenciales de uso
Crear diagramas
de casos de uso
Crear modelo
conceptual
Crear el
glosario
Definir diag.
de secuencia
Definir los
contratos
50
TAREAS EN EL DISEÑO
Perfeccionar
plan
Análisis Diseño Construcción Pruebas
Definir casos
reales de uso 
Definir reportes,
interfaz de usuario,
secuencia de pantallas
Perfeccionar la
arquitectura
Definir diag.
de interacción
Definir diagramas
diseño de clases
Definir esquema
base de datos
51
AOO: Es un método de analisis que
examina los requisitos desde la
perpectiva de las clases y objetos que se
encuentran en el vocabulario del dominio
del problema.
DOO: Es un método de diseño que
abarca el proceso de descomposición y
una notación para describir los modelos
lógico y fisico.
POO: Es un método de implementación
en el que los programas se organizan
como colecciones cooperativas de
objetos.
52
Un cliente tiene la opción de que se cargue su cuenta
automáticamente en el momento de la compra (combustible,
mantenimiento, o estacionamiento) o de que se le envie
mensualmente 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 se
vende por galon a un precio que depende de que el combustible
sea gasolina, normal o especial. Los servicios están cotizados de
acuerdo con el costo de los insumos y de la labor realizada. El
estacionamiento se vende segun tarifas que pueden ser diarias,
semanales 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 su
criterio, el gerente puede dar un descuento en sus compras a un
cliente en particular; este descuento puede variar de un cliente a
otro. Un 2,5% de impuesto local sobre ventas se aplica a todas las
operaciones
EJEMPLO