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

Vista previa del material en texto

II. METODOLOGIAS 
MODULO IV 
Análisis y Diseño OO 
1 
Análisis y Diseño de 
Sistemas de Información 
 
INF-162 
Facilitador: Miguel Cotaña 
METODO: 
METODOLOGIA 
INTRODUCCION 
2 
Es un proceso disciplinado para 
generar un conjunto de modelos que 
describen varios aspectos de un 
proyecto software, utilizando alguna 
notación definida. 
Es una colección de métodos 
aplicados a lo largo del ciclo de vida 
del desarrollo de software. 
3 
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 
4 
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 
5 
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. 
6 
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 
7 
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 
8 
9 
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 
10 
11 
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 
12 
13 
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 
14 
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. 
 
15 
16 
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) 
17 
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. 
18 
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 
19 
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. 
20 
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 
21 
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. 
22 
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 
23 
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? 
24 
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 
25 
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 
26 
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 
27 
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. 
28 
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? 
29 
Empleado 
 - Nombre:String 
 - Sexo:Boolean 
 - Direccion:String 
 - Fecha_nac:Fecha 
 + TomarNombre() 
 + CalcularEdad() 
 + TomarDireccion() 
 
30 
31 
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 
32 
Para verificar un objeto previamente 
identificado se pueden utilizar los 
siguientes criterios: 
 
Relevancia para el dominio 
del problema; 
Existencia independiente; 
Atributos; 
Operaciones. 
 
33 
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 
34 
……..CLASES Y OBJETOS 
35 
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. 
36 
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 
37 
METÁFORA 
38 
AGREGACION/COMPOSICION 
Permite abstraer relaciones de 
tipo …… tiene…. y …. está 
compuesto de….. 
39 
ASOCIACIONES 
Permite abstraer relaciones entre 
objetos diferentes a la 
composición. 
40 
HERENCIA 
Los objetos se organizan en 
jerarquías 
Vertebrado 
Mamifero 
CaninoFelino 
Doméstico Salvaje 
... 
41 
La herencia permite modelar 
relaciones del tipo …. es un…. y 
clasificaciones. 
Superclase 
(Tipo) 
Subclase 
(Subtipo) 
Vertebrado 
Mamifero 
42 
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 
43 
44 
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 
45 
Mientras la generalización se 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 
46 especializacion 
Generalizacion 
47 
Identificar clases y objetos es fundamental en el 
DOO. Implica descubrimiento e invención. 
CLASIFICACION 
48 
Es una clase u objeto que forma parte del 
vocabulario del dominio del problema. 
ABSTRACCIONES CLAVE 
49 
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 
50 
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 
51 
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 
52 
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. 
 
 
53 
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