S1 Santiago Fernández V-27894628

Page 1

S a n t i a g o F e r n á n d e z Orientadaaobjetos V2 7 . 8 9 4 . 6 2 8
metodología
La

Concepto

Los métodos orientados a objetos son técnicas de abordar la complejidad del problema que utilizan como procedimiento de modularización la identificación de los objetosdeldominiodelproblema.

Principiosbásicos

Los principios básicos que se deben entender parapoderserbuenosdesarrolladoresOO,son los siguientes: abstracción, encapsulación, identidad, modularidad, jerarquía, tipos, concurrencia y persistencia. Nótese que estos conceptosnosonexclusivosdelaorientacióna objetos, simplemente tienen ciertas particularidadesdesdeestaperspectiva.

Abstracción

El paradigma OO se basa en la noción de representar elementos del mundo real como objetos. Sin embargo, cualquier elemento del mundo real tiene una cantidad interminabledepropiedadesycomportamiento.Paralidiar con esta complejidad, utilizamos la abstracción. La abstraccióneselmecanismoatravésdelcualnosenfocamos en los aspectos esenciales o distintivos de algo, ignorando detallesirrelevantes.Obviamente,laabstracciónsiemprese hacedesdealgunaperspectivaparticular,porque,loqueen algunoscasosesirrelevante,enotrosnoesnecesariamente así.

Identidad

Laidentidadeslapropiedaddeunobjeto,quelodistinguede todos los demás. Los seres humanos tenemos huellas digitales, números de identificación, perfiles DNA. Estos representan el hechodequecadaunodenosotrosesúnicoeidentificable.Dela misma manera, cada objeto en un sistema OO tiene una identidaddistinta.Laidentidadesnecesariaparaquepodemos hablar con un objeto sin confundirlo con otro, y para que puedanexistiralmismotiempovariosobjetosdelamismaclase.

Encapsulación

Losdetallesdeunaclase estructurasdedatos,algoritmos,etc. sehacenprivados,oencapsulan,paraqueseaimposibleque otras clases dependan de ellos. El principal beneficio es que se unaclasepuedamodificarlaformaenquerealizaunaoperación, sinnecesidaddeafectarasusclientes.

La forma en que esto se logra, es separando cada clase en dos partes: su interfaz (qué es lo que hace), y su implementación (cómolohace).

Modularidad

Lamodularidadconsisteenladescomposicióndealgograndey complejo,enpartesmássencillasymanejables.

Mientrasquelaabstracciónseenfocaenreducirlacomplejidad lógica, la modularidad se preocupa por aspectos físicos o de implementación.Porejemplo,lasclasesseagrupanenpaquetes parapoderadministrarlasmejor.

Jerarquía

Unajerarquíaesunaorganizacióndeelementosdeacuerdoasu tipo, de acuerdo a una estructura de árbol. Así como en la botánicaseutilizanjerarquíasparadefinirfamiliasdeplantas,en OO, las jerarquías facilitan reconocer similitudes y diferencias entreobjetos.

LosdostiposdejerarquíasmáscomunesenOOsonlajerarquía porherenciaogeneralización,ylajerarquíaporagregación.Enla primera, se aplica la frase “ es un tipo de”, mientras que en la segundaseaplica“espartede”.Porejemplo,unamanzanaesun tipodefruta,yasuvezpuedeserpartedeunacosecha.

Persistencia

Los objetos tienen un periodo de existencia, desde los más volátiles,hastalosmásestables.Siunobjetorequieresobrevivir alprocesoenqueseejecuta,entoncessedicequeespersistente. En otras palabras, la persistencia es la capacidad de un objeto paraexistirmásalládelprocesoqueloejecuta.Paraimplementar lapersistencia,requerimosdealgúnmecanismoparaalmacenar datos. Existen diversos mecanismos, desde archivos en texto plano,hastabasesdedatosrelacionales(RDBMS)orientadasa objetos(OODBMS).

Concurrencia

Laconcurrenciasepreocupaporadministrarelaccesoarecursos compartidosentreoperacionesquesesobreponeneneltiempo (incluyendolaejecuciónenparalelo).

Supongamos que tenemos un proceso con múltiples hilos de control. Es posible que un objeto reciba un mensaje al mismo tiempo(aproximadamente)dedosobjetosdiferentes.Esteesun escenario que debemos considerar y manejar apropiadamente.

Existen dos estrategias básicas de control de concurrencia: pesimista,optimistaymuyoptimista.

En el control pesimista, cuando un objeto inicia acceso a un recursocompartido,leponeuncandado,realizaeltrabajoque necesita,yunavezquetermina,liberaelrecurso.Estaestrategia noesmuyescalable,porloquesólosedebeaplicarensistemas pequeñosodondeelaccesoarecursoscompartidosseararo.

Tipos

Laimportanciadelostiposvaríadependiendodesiunlenguaje esestrictoconlostipos(stronglytyped),ono.Enloslenguajes OO,lostiposnormalmenteserefierenalasclases.

Enloslenguajes“fuertementetipificados”,elcompiladorpuede detectar cuando se está tratando de enviar a un objeto, un mensajequenopuedeonosaberesponder.Estoevitaerroresen tiempo de ejecución, además de permitir una mejor optimizacióndelcódigoejecutable.Ladesventajaesunamenor flexibilidadduranteeldesarrollo.

Ventajas

Loscomponentessepuedenreutilizar.

Facilidad de mantenimiento y modificación de los objetos existentes.

Unaestructuramodularclarasepuedeobtener,lacualno revelaráelmecanismodetrásdeldiseño.

Se proporciona un buen marco que facilita la creación de ricainterfazgráficadeusuarioaplicaciones(GUI).

Seacoplabienalautilizacióndebasesdedatos,debidoala correspondenciaentrelasestructuras.

Desventajas

Limitaciones del programador: Es posible el programador desconozcaalgunascaracterísticasdelparadigmaydehecho sigautilizandoelparadigmaestructurado.

No hay una forma única de resolver los problemas. Esto puedellevaraquediferentesinterpretacionesdelasolución planteadaemerjan.

Se requiere una documentación amplia para determinar la soluciónplanteada.

Aplicaciones

El análisis y diseño orientado a objetos es el que se realiza dentro de la ingeniería de software,dichoanálisisseenfocaencómoun grupodeobjetosescapazdeinteractuarentre sí. Un buen análisis y diseño es esencial dentrodelaingenieríadesoftwareparapoder mejorareldesarrolloyestabilidaddelsistema.

Lenguajes

La programación orientada a objetos es unmodelodeprogramaciónenelqueel diseñodesoftwareseorganizaalrededor de datos u objetos, en vez de usar funciones y lógica. Se enfoca en los objetosquelosprogramadoresnecesitan manipular, en lugar de centrarse en la lógicanecesariaparaesamanipulación.

Bibliografia sg.com.mx objetosweb.wordpress.com profesores.fi-b.unam.mx wikipedia.com

Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.