Vip opc imprimir pero antiguo armado de equipos - seguridad -
A1.introduccion
1. Análisis y Diseño OOrriieennttaaddoo aa OObbjjeettooss
DSOO - María Eugenia Valencia
1
INTRODUCCION
El ADOO es un paso evolucionario, sigue la “huella” de las
anteriores abstracciones.
Porqué es tan popular el ADOO?
• Porque se espera que nos conduzca de manera fácil y
rápida a un incremento de la productividad
• Porque usa técnicas de razonamiento similar usadas para
resolver problemas en otros dominios
_________________________
DSOO - María Eugenia Valencia
2. IInnttrroodduucccciióónn
DSOO - María Eugenia Valencia
2
Uno de sus aspectos la POO se convierte en un nuevo paradigma
“Conjunto de teorías, estándares y métodos que juntos representan
una forma de organizar el conocimiento”
Todo es basado en clases y objetos
_________________________
DSOO - María Eugenia Valencia
3. IInnttrroodduucccciióónn
DSOO - María Eugenia Valencia
3
Antecedentes
• Retraso del software con respecto al hardware en dos generaciones
de procesadores al principio de los 90.
• Herramientas, técnicas y abstracciones de desarrollo del software
convencional se convierten rápidamente en inadecuadas.
• La poca tecnificación de los procesos de producción de software.
• La orientación a objetos proporciona un nuevo paradigma para la
creación de software.
• El análisis y diseño orientado a objetos aparece como una nueva
alternativa.
_________________________
DSOO - María Eugenia Valencia
4. IInnttrroodduucccciióónn
DSOO - María Eugenia Valencia
4
Fuerzas Conductoras de los 90
• Información de tipo multimedia (imagen , voz, sonido, texto, etc.)
• Fabricación integrada por computador (CIM)
• Diseño asistido por computador (CAD)
• Ingeniería de software asistida por computador (CASE)
• Edición Computarizada (CAP)
• Interfaces gráficas (diseño y programación visual)
• Plataformas heterogéneas de software y hardware ej: la
arquitectura Cliente-Servidor
_________________________
DSOO - María Eugenia Valencia
5. IInnttrroodduucccciióónn
DSOO - María Eugenia Valencia
5
Fuerzas Conductoras de los 90
USUARIO APLICACION
Piensen en tareas Aplicaciones, archivos
y sistemas operativos
_________________________
DSOO - María Eugenia Valencia
6. IInnttrroodduucccciióónn
DSOO - María Eugenia Valencia
6
Una visión al futuro
Las técnicas orientadas a objetos han sido empleadas por la
comunidad investigadora durante más de 20 años.
Su uso tomó fuerza cuando empezaron a aparecer lenguajes muy
populares que soportaban algunas de las ideas de las técnicas
orientadas a objetos (Cobol, Pascal, C).
Las nuevas tendencias muestran:
• Una fuerte tendencia hacia el uso de herramientas
visuales de apoyo al diseño y programación
• Integración de tecnologías y aplicaciones
• Surgimiento de nuevos estándares
_________________________
DSOO - María Eugenia Valencia
7. IInnttrroodduucccciióónn
Usuario Final Bibliotecas de Clases OO
Entornos Operativos OO
Bases de Datos OO
DSOO - María Eugenia Valencia
7
Una visión al futuro
Herramientas de Desarrollo OO
Lenguajes OO
1990 1992 1994 1996 1998 2000
_________________________
DSOO - María Eugenia Valencia
8. IInnttrroodduucccciióónn
Programador Usuario
Programador de Clases
DSOO - María Eugenia Valencia
8
La Orientación a Objetos
Análisis y Diseño
Programación
USUARIO FINAL
Programador de Hardware
_________________________
DSOO - María Eugenia Valencia
9. IInnttrroodduucccciióónn
DSOO - María Eugenia Valencia
1
AADDOOOO
• Conceptos históricos
– Análisis estructurado de sistemas
– Análisis orientado a objetos
• Ventajas
• Proceso
– Identificación y definición de objetos
– Definición y organización de clases
• Metodologías emergentes
_________________________
DSOO - María Eugenia Valencia
10. IInnttrroodduucccciióónn
DSOO - María Eugenia Valencia
10
Conceptos Históricos
• Importancia por comprender y comunicar los requisitos de un
sistema antes de programarlo.
• Se destacaban métodos basados en descripciones textuales
realizadas sobre el papel.
– Ambigüedad
– Dificultaban las modificaciones
– No servían para apoyar el diseño de sistemas grandes
• Surgen:
– El análisis estructurado
– El análisis de sistemas basado en objetos
_________________________
DSOO - María Eugenia Valencia
11. IInnttrroodduucccciióónn
DSOO - María Eugenia Valencia
11
El Análisis Estructurado
• Fue desarrollado en los años 60 e introdujo un método definitivo
y más manejable para el análisis de sistemas
• Basado en descomponer ccoommppoonneenntteess ffuunncciioonnaalleess
• Los subprogramas podían servir como mecanismo de abstracción
para construir grandes y complejos sistemas
• El proceso más conocido es la descomposición funcional, donde
las áreas funcionales se dividen en Procesos y estos son
descompuestos en pasos o procedimientos comprensibles por
diseñadores y usuarios finales.
_________________________
DSOO - María Eugenia Valencia
12. IInnttrroodduucccciióónn
DSOO - María Eugenia Valencia
12
El Análisis Estructurado
• Gráfico estructural
– Módulos funcionales específicos
– Activación de estos módulos por otros módulos
– Especificaciones finales que se adaptan a estructuras de secuencia,
selección y control repetitivo (Lenguajes procedimentales)
• La descomposición funcional, la identifican con el nombre de
autores tales como: Yourdon, Constantine, DeMarco y Gane.
• Los programadores se concentran en operaciones
• Poca atención a los datos, más código
_________________________
DSOO - María Eugenia Valencia
13. IInnttrroodduucccciióónn
DSOO - María Eugenia Valencia
13
Análisis Orientado a Objetos
• Popularizado por Chen en los 80’s (precursor del AOO)
• Diagrama Entidad-Relación Atributos
Clasificarlos (Categorías)
Agregando relaciones
Jerarquía de subtipos y Objetos asociados
Carece de: Encapsulación, Herencia, Paso de mensajes
_________________________
DSOO - María Eugenia Valencia
14. IInnttrroodduucccciióónn
DSOO - María Eugenia Valencia
14
Método Sistema-Proceso
• Sally Shalaer y Stephen Mellor (1988)
Objetos y Atributos
Ciclo de vida de los objetos (modelos de estado) sucesos
Definición de procesos
Componentes :
Lo que está haciendo
Aquello sobre lo que el proceso se está ejecutando
En que momento se realiza
_________________________
DSOO - María Eugenia Valencia
15. IInnttrroodduucccciióónn
DSOO - María Eugenia Valencia
15
Método Orientado a Objetos
• El análisis de sistemas orientado a objetos es un nuevo método
que realza la definición de las características y comportamiento
dentro de un sistema de objetos.
• Características:
Reduce el código derivado de los datos
Permanece estable ante el cambio de requisitos
No énfasis Entrada-Salida
Enfasis en el contenido de las entidades
No agrupa funciones, agrupa métodos
Paso de mensajes determina la sequencia de funcionamiento
_________________________
DSOO - María Eugenia Valencia
16. IInnttrroodduucccciióónn
DSOO - María Eugenia Valencia
16
Tres Métodos de Análisis de Sistemas
Descomposición Suceso-Respuesta Orientado a Objetos
funcional
1. Proceso 1. Control 1. Datos
2. Control 2. Proceso 2. Control
3. Datos 3. Datos 3. Proceso
_________________________
DSOO - María Eugenia Valencia
17. IInnttrroodduucccciióónn
DSOO - María Eugenia Valencia
17
Análisis Estructurado Vs Orientado a Objetos
Análisis y Diseño Análisis y Diseño
Estructurado Orientado a Objetos
DDeesscceennddeennttee:: Descomposición funcional AAsscceennddeennttee:: Composición de
basada en subprocesos de procesos de clases basada en abstracción de
niveles superiores datos
_________________________
DSOO - María Eugenia Valencia
18. IInnttrroodduucccciióónn
DSOO - María Eugenia Valencia
18
Ventajas del análisis y diseño orientado a objetos
Centrado en :
• La identificación de objetos y la definición de clases
• La organización jerarquizada de clases
• La reutilización de clases
• La construcción de marcos estructurales de aplicación a partir de
librerías de clases
_________________________
DSOO - María Eugenia Valencia
19. IInnttrroodduucccciióónn
Polimorfismo Abstracción
Encapsulamiento Persistencia
Clase y
modelo
DSOO - María Eugenia Valencia
19
Pilares básicos de la orientación a objetos
Términos técnicos
relacionados Conceptos clave
Objeto Mensaje
y método
Mecanismos básicos
Herencia
Blob
Agente
Disparador
Programación
visual
_________________________
DSOO - María Eugenia Valencia
20. IInnttrroodduucccciióónn
DSOO - María Eugenia Valencia
20
Fundamentos de la orientación a objetos
• La orientación a objetos se define por medio de un conjunto de
mecanismos: objetos, clases y modelos, métodos y mensajes y
herencia
• Estos mecanismos dan origen a conceptos clave inherentes a los
sistemas orientados a objetos: encapsulación, abstracción y
polimorfismo
• Asimilar las ideas orientadas a objetos significa aprender las
diferencias así como las similitudes entre este método y los
métodos convencionales
_________________________
DSOO - María Eugenia Valencia
21. IInnttrroodduucccciióónn
DSOO - María Eugenia Valencia
21
Puntos Clave
– La orientación a objetos representa un cambio radical en los métodos
tradicionales de creación de software
– Los métodos tradicionales aplican procedimientos activos a datos
pasivos. Los métodos orientados a objetos encapsulan procedimientos
y datos
– La orientación a objetos se aplica a la mayoría de los principales
componentes del software incluyendo: lenguajes, bases de datos e
interfaces. El resultado será un software que es más fácil de ampliar y
mantener, y aplicaciones que son más completas, más fáciles de
utilizar y más flexibles
– La orientación a objetos es importante hoy en día debido a la creciente
complejidad del software y la necesidad de mejores procesos de
creación de software
_________________________
DSOO - María Eugenia Valencia
23. IInnttrroodduucccciióónn
DSOO - María Eugenia Valencia
23
Complejidad de la programación
• Evolución hacia una separación importante entre los conceptos
manipulados por los programas y su representación interna en el
computador
– Modularidad
– Reutilización
– Abstracción de los datos
• Programación estructurada
• Programación orientada a objetos
_________________________
DSOO - María Eugenia Valencia
24. IInnttrroodduucccciióónn
DSOO - María Eugenia Valencia
24
Programación estructurada
Programa = algoritmo + estructuras de datos
• Los procedimientos actuan sobre los datos: separación
• Metodología: dividir para reinar
• Problema: un cambio en los datos puede producir cambios
profundos en la organización de los procedimientos
• Solución: la encapsulación
_________________________
DSOO - María Eugenia Valencia
25. IInnttrroodduucccciióónn
DSOO - María Eugenia Valencia
25
La encapsulación
€ Los datos y los procedimientos que los manipulan se agrupan en una
sola entidad: el objeto
€ Detalles de implementación escondidos: acceso únicamente por medio
de la interfaz del objeto
METODOS CAMPOS
Interfaz
objeto
_________________________
DSOO - María Eugenia Valencia
26. IInnttrroodduucccciióónn
DSOO - María Eugenia Valencia
26
El objeto
Objeto = parte estática + parte dinámica
• Parte estática: conjunto de datos (campos)
• Parte dinámica: conjunto de procedimientos que manipulan los
datos (métodos)
• Modificación de los datos sin acceso directo a una variable
• La aplicación es un conjunto de objetos, cada uno de los cuales
posee las claves de su comportamiento
_________________________
DSOO - María Eugenia Valencia
27. IInnttrroodduucccciióónn
DSOO - María Eugenia Valencia
27
Definición de un método
Selector ( lista de parámetros):
cuerpo de la función
Diferencia entre el método y su selector:
varios métodos pueden poseer el mismo selector
_________________________
DSOO - María Eugenia Valencia
28. IInnttrroodduucccciióónn
DSOO - María Eugenia Valencia
28
La clase
• Descripción de una familia de objetos que poseen la misma
estructura y el mismo comportamiento
• Componentes estáticos: los datos o campos. Caracterizan el
estado del objeto durante la ejecución del programa
• Componente dinámico: los procedimientos o métodos. Manipulan
los campos y caracterizan las acciones que pueden ser afectadas
por los objetos
• La definición de una clase sirve para construir sus representantes
físicos, las instancias
_________________________
DSOO - María Eugenia Valencia
29. IInnttrroodduucccciióónn
DSOO - María Eugenia Valencia
29
Ejemplo de clase
Clase
Revista
Campos
referencia
nombre
precioSinImpuesto
cantidad
Métodos
precioConImpuesto( ) : produce (1.186 * precioSinImpuesto)
precioTransporte( ) : produce (0.05 * precioSinImpuesto)
retirar( c ): cantidad := cantidad - c
añadir( c ): cantidad + c
_________________________
DSOO - María Eugenia Valencia
30. IInnttrroodduucccciióónn
DSOO - María Eugenia Valencia
30
Instanciación
Instancia: objeto construido respetando los planes de
construcción de una clase
• No hay copia de los métodos
• Copia parcial de los campos: la lista queda en la clase, el objeto
posee los valores
• Los campos son llamados igualmente variables de instancia o,
simplemente, variables
_________________________
DSOO - María Eugenia Valencia
31. IInnttrroodduucccciióónn
DSOO - María Eugenia Valencia
31
Párrafo
Justificar
Tipo de letra
“fuente” = helvética
Texto =
Clase
Métodos
Variables de clase
Variables de instancia
Los hombres .. Los niños .. Las mujeres ..
Instancias
_________________________
DSOO - María Eugenia Valencia
32. IInnttrroodduucccciióónn
DSOO - María Eugenia Valencia
32
Ejemplo de instanciación
referencia
nombre
precioSinImpuesto
cantidad
Medio_De_Transporte
Retirar
Añadir
30341
kimono
45.000
600
60021
TV portátil
210.000
46
Instancia-de Instancia-de
_________________________
DSOO - María Eugenia Valencia
33. IInnttrroodduucccciióónn
DSOO - María Eugenia Valencia
33
Herencia
– Mecanismo para definir clases más específicas a partir de clases
existentes: se complementan los conocimientos de la clase padre
– La nueva clase (subclase) comparte las variables y los métodos de su
clase madre (superclase): la subclase hereda las informaciones de la
superclase
– Tipos de herencia
• Herencia simple
– Una clase posee una sola superclase directa, el gráfico de herencia es un arbol
• Herencia múltiple
– Una clase posee varias superclases directas, el gráfico de herencia no es un árbol
_________________________
DSOO - María Eugenia Valencia
34. IInnttrroodduucccciióónn
DSOO - María Eugenia Valencia
34
Mecanismos de herencia
• Enriquecimiento:
– Se añaden variables y/o métodos
• Substitución:
– Un método heredado recibe una nueva definición (la antigua no es
adecuada al nuevo conjunto de objetos descritos por la superclase
• Visibilidad
– Pública (public)
– Privada (private)
– Protegida (protected)
_________________________
DSOO - María Eugenia Valencia
35. IInnttrroodduucccciióónn
DSOO - María Eugenia Valencia
35
Herencia documento
gráfico texto
título
tabla
párrafo
Los niños ..
_________________________
DSOO - María Eugenia Valencia
36. IInnttrroodduucccciióónn
DSOO - María Eugenia Valencia
36
Los mensajes
• Un objeto no puede actuar directamente sobre otro
• Unico medio de acción sobre un objeto: utilización de uno de los métodos
de la interfaz del objeto
• Envío de un mensaje: solicitud de ejecución de un método. El método es
ejecutado por el objeto receptor
• Elementos de un mensaje:
– el receptor
– el selector del método
– los argumentos sobre los cuales se aplica el método
• El método puede producir un resultado, que se puede asignar a una variable
_________________________
DSOO - María Eugenia Valencia