INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
Enviado por ajortizm • 25 de Septiembre de 2012 • 2.218 Palabras (9 Páginas) • 676 Visitas
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
PCMOB = MNA + UMOO
PCMOB: pasos centrales en el modelado orientado a objetos
MNA: modelos que representan la realidad desde distintos puntos de vista o modelos en cada nivel de abstracción
UMOO: uso de la metodología orientada a objetos
LA ALGORITMIA V.S LA PROGRAMACION ORIENTADA A OBJETOS
PROBLEMAS A RESOLVER CON EL SOFTWARE (ENTRE OTROS):
a. Cantidad muy grande de requisitos que compiten entre sí.
b. Requisitos que se contradicen.
c. Dificultad de los usuarios para expresar con precisión sus necesidades para que los desarrolladores entiendan.
d. Usuarios con ideas vagas de lo que desean de un sistema de software.
e. Cada grupo no conoce bien el dominio del otro.
f. Los usuarios y los desarrolladores tienen perspectivas diferentes sobre la naturaleza del problema y realizan
distintas suposiciones sobre la naturaleza de la solución.
g. Las necesidades de un entorno se expresan mediante grandes cantidades de texto (documentos son difíciles
de comprender y abiertos a diversas interpretaciones.
h. Los Requisitos de un sistema de software cambian frecuentemente durante su desarrollo.
i. No es admisible desplazar un sistema existente cada vez que los requerimientos cambian, debido a la
inversión considerable que pudo haberse realizado.
j. Los sistemas grandes tienden a evolucionar en el tiempo.
PERSPECTIVA ALGORÍTMICA.
1. BLOQUE PRINCIPAL DE CONSTRUCCIÓN DE TODO EL SOFTWARE ES EL PROCEDIMIENTO O
FUNCIÓN: programas o conjuntos de instrucciones ejecutables, que se dividen en subrutinas.
2. Los datos = con lo que se alimenta a los programas para que realicen su función (papel secundario).
3. Algoritmos + Estructura de datos = Programas
4. Clave = decidir qué procedimientos se quieren y en utilizar los mejores algoritmos que se encuentren.
5. Descomposición = descomposición algorítmica (descomposición de algoritmos grandes en otros más
pequeños
6. Cada módulo del sistema representa un paso importante de algún proceso global.
7. Se tiende a producir sistemas frágiles, ya que si los requisitos cambian y el sistema aumenta, los sistemas
serán tediosos de mantener.
DESCOMPOSICIÓN ORIENTADA A OBJETOS.
1. El principal bloque de construcción de todos los sistemas software es el objeto o clase.
2. Todo objeto tiene: identidad, estado (existen datos asociados a él), y comportamiento (se le pueden hacer
cosas al objeto, y él a su vez puede hacer cosas a otros objetos).
3. En esta descomposición el mundo es un conjunto de agentes autónomos (objetos) que colaboran para llevar a
cabo algún comportamiento de nivel superior.
4. No existen algoritmos concebidos como elementos independientes
5. Existen operaciones asociadas a los objetos pertenecientes al sistema.
6. Cada objeto posee su propio comportamiento bien definido.
7. Los objetos hacen cosas, y se les pide que hagan lo que saben hacer mediante el paso de mensajes.
8. Los datos forman la jerarquía básica.
9. Una clase son unos datos y unos métodos que operan sobre esos datos.
10. Objetos + Flujo de mensajes = Programas
COMPARACION ENTRE DESCOMPOSICIÓN ALGORÍTMICA CONTRA DESCOMPOSICIÓN
ORIENTADA A OBJETOS.
¿CUÁL ES LA MEJOR FORMA DE DESCOMPONER UN SISTEMA COMPLEJO. POR ALGORITMOS O
POR OBJETOS?
Según Booch (1996):
1. Ambas visiones son importantes ya que: “la visión algorítmica enfatiza el orden de los eventos, y la visión
orientada a objetos resalta los agentes que o bien causan acciones o bien son sujetos de estas acciones”.
Sin embargo, dice Booch:
2. “No se puede construir un sistema complejo de las dos formas a la vez porque son vistas completamente
perpendiculares”.
3. “Existe una gran ventaja de la descomposición orientada a objetos ya que produce sistemas más pequeños
a través de la reutilización de mecanismos comunes, proporcionando así una importante economía de
expresión. Además, Los sistemas orientados a objetos son también más resistentes al cambio y por tanto
están mejor preparados para evolucionar en el tiempo, porque su diseño está basado en formas
intermedias estables”.
4. “En realidad, la descomposición orientada a objetos reduce en gran medida el riesgo que representa
construir sistemas de software complejos, porque están diseñados para evolucionar de forma incremental
partiendo de sistemas más pequeños en los que ya se tiene confianza. Es más, la descomposición orientada
a objetos resuelve directamente la complejidad innata del software ayudando a tomar decisiones respecto a
la separación de intereses en un gran espacio de estados”.
PARADIGMA EN EL DESARROLLO DE SOFTWARE: LA ORIENTACIÓN A OBJETOS (OO)
COMPONENTES DE LA OO:
Contiene un conjunto de metodologías y herramientas para el modelado y el desarrollo de software.
OBJETIVO DE LA OO:
Hacer más fácil el desarrollo de sistemas complejos a partir de componentes individuales.
ANTECEDENTES DE LA OO:
AÑO: 1960
INVESTIGADORES: Dr. Nygaard, Dahl y Myrhaug
ENTORNO: Universidad de Noruega
TRABAJO: Desarrollo de sistemas informáticos para simular sistemas físicos (funcionamiento de motores)
DIFICULTADES ENCONTRADAS:
a. Programas existentes muy complejos y
b. necesariamente tenían que ser muy modificables.
SOLUCION: Si un sistema físico estaba compuesto por N componentes, el software debería contener N
módulos, uno por cada componente (diseño de software con estructura paralela al sistema físico que
incidiera en una máxima correspondencia entre el sistema e informático). Lo anterior teniendo en cuenta
que cada componente contenia su abstracción en un módulo informático y que los módulos interactuaban
enviándose mensajes, al igual que los sistemas físicos los cuales se comunican enviándose señales.
PRODUCTO: Lenguaje Simula-67
RESULTADOS:
a. Ofrecer una forma dividir un programa muy complejo en partes más sencillas y,
b. simplificar al maximo el mantenimiento del software, permitiendo el cambio de componentes
completos, o la modificación del comportamiento de uno de ellos, sin producir efectos colaterales.
AÑO: Década de los 70
INVESTIGADORES: Alan Kay, Adele Goldberg y Dan Ingalls
ENTORNO: de la Universidad de Utah
TRABAJO
...