Anda di halaman 1dari 15

Castaeda Santiago Sal

DEDICATORIA
A mis padres, como agradecimiento a su
esfuerzo, amor y apoyo incondicional, durante
mi formacin tanto personal como profesional.
DEDICATORIA
A Dios, por darme da a da ganas de seguir adelante y
as poder lograr mis metas y objetivos para as poder
ser un buen profesional
























AGRADECIMIENTO
A Dios, por brindarme la fuerza y la dicha de la
salud y bienestar fsico y espiritual.

AGRADECIMIENTO
Al Ing. Heber Gmez Hurtado, por brindarme
su gua y sabidura en el desarrollo de este
trabajo.

Epgrafe:
La Programacin Orientada a Objetos, POO es una tcnica de programacin cuyo soporte
fundamental es el objeto.


Resumen:
El primero de ellos es la aparicin del modelo relacional, un modelo con fuerte base
matemtica que supuso el desarrollo las bases de datos y propici la aparicin de los
grandes sistemas de informacin. El segundo cambio es sobre los lenguajes de
programacin, la aparicin de los Lenguajes Orientados a Objetos (aunque los primero
lenguajes con caractersticas de orientacin a objetos aparecieron en la dcada de los
setenta, por ejemplo Simula 67) supuso una revolucin en la industria software. El
problema entonces radicaba en poder sacarle partido a los lenguajes orientados a objetos
por lo que aparecieron numerosas metodologas para el diseo orientado objetos, hubo un
momento en el que se poda decir que el concepto de orientacin a objetos estaba de
moda y todo era orientado a objetos, cuando realmente lo que ocurra es que las grandes
empresas que proporcionaban los compiladores y lenguajes de programacin lavaban la
cara" a sus compiladores, sacaban nuevas versiones que adoptaran alguno de los conceptos
de orientacin a objetos y los vendan como orientados a objetos. Para poner un poco de
orden, sobre todo en lo que respecta a la modelizacin de sistemas software, aparece UML
(Unified Modeling Languaje, Lenguaje Unificado de Modelado) que pretende unificar las
tres metodologas ms difundidas (OMT, Bootch y OOSE) e intentar que la industria
software termine su maduracin como Ingeniera .









Abstract
The first one of them is the appearance of the model relacional, a model with fort
mathematical base that the development supposed the bases of information and propitiated
the appearance of the big systems of information. The second change is on the languages of
programming, the appearance of the Languages Orientated to Objects (though first
languages with characteristics of orientation to objects appeared in the decade of the
seventies, for example It Simulates 67) a revolution supposed in the industry software. The
problem at the time was taking root in being able to extract party to the languages
orientated to objects for what numerous methodologies appeared for the orientated design
objects, there was a moment in the one that it was possible to say that the concept of
orientation to objects was "fashionable" and everything was orientated to objects, when
really what happened is that the big companies that the collectors were providing and
languages of programming " were washing the face " to his collectors, they were extracting
new versions that were adopting someone of the concepts from orientation to objects and
were selling them like orientated to objects. To put a bit of order, especially regarding the
system modeling software, there appears UML (Unified Modeling Languaje, Language
Unified of Shaped) that tries to unify three methodologies most spread (OMT, Bootch and
OOSE) and to try that the industry software finishes his ripeness as Engineering.


















Sumario:
Caratula....1
Contra Caratula...2
Dedicatoria...3
Agradecimientos..........................................................................4
Epgrafe...5
Resumen...............................................................................5
Abstract................................................................................6
Sumario................................................................................7
Introduccin.8
Vista General de UML9
Orientacin a Objetos.9
Ventajas De la Orientacin a Objetos...............................................................................9
Conceptos bsicos de la orientacin a objeto...10

Diagramas de Objetos11
Paradigma de la Orientacin a Objetos11
Fundamentos de Modelado Orientacin a Objetos12

Estado .13
Comportamiento.13
Persistencia.13
Categora de Objetos.14
Concepto del Mensaje..14
Conclusiones14

Referencias Bibliogrficas.....15

Introduccin:

El desarrollo de proyectos software ha sufrido una evolucin desde los primeros
sistemas de calculo, implementados en grandes computadores simplemente ayudados
mediante unas tarjetas perforadas donde los programadores escriban sus algoritmos de
control, hasta la revolucin de los sistemas de informacin e Internet. Han existido dos
grandes cambios desde aquellos sistemas meramente algortmicos donde todo el
esfuerzo de desarrollo se centraba en la escritura de programas que realizaran algn tipo
de calculo. El primero de ellos es la aparicin del modelo relacional, un modelo con
fuerte base matemtica que supuso el desarrollo las bases de datos y propici la
aparicin de los grandes sistemas de informacin. El segundo cambio es sobre los
lenguajes de programacin, la aparicin de los Lenguajes Orientados a Objetos (aunque
los primero lenguajes con caractersticas de orientacin a objetos aparecieron en la
dcada de los setenta, por ejemplo Simula 67) supuso una revolucin en la industria
software. El problema entonces radicaba en poder sacarle partido a los lenguajes
orientados a objetos por lo que aparecieron numerosas metodologas para el diseo
orientado objetos, hubo un momento en el que se poda decir que el concepto de
orientacin a objetos estaba de moda y todo era orientado a objetos, cuando realmente
lo que ocurra es que las grandes empresas que proporcionaban los compiladores y
lenguajes de programacin lavaban la cara" a sus compiladores, sacaban nuevas
versiones que adoptaran alguno de los conceptos de orientacin a objetos y los vendan
como orientados a objetos.



















Vista general de UML
Para conocer la estructura de UML, en la figura 3 vemos una vista general de todos
sus componentes, esto har que nos resulte ms fcil la comprensin de cada uno de
ellos. El lenguaje UML se compone de tres elementos bsicos, los bloques de
construccin, las reglas y algunos mecanismos comunes. Estos elementos interaccionan
entre s para dar a UML el carcter de completitud y no-ambigedad que antes
comentbamos. Los bloques de construccin se dividen en tres partes: Elementos, que
son las abstracciones de primer nivel, Relaciones, que unen a los elementos entre s, y
los Diagramas, que son agrupaciones interesantes de elementos.
Existen cuatro tipos de elementos en UML, dependiendo del uso que se haga de ellos:
elementos estructurales, elementos de comportamiento, elementos de agrupacin y
elementos de anotacin.
Las relaciones, a su vez se dividen para abarcar las posibles interacciones entre
elementos que se nos pueden presentar a la hora de modelar usando UML, estas son:
relaciones de dependencia, relaciones de asociacin, relaciones de generalizacin y
relaciones de realizacin.
Se utilizan diferentes diagramas dependiendo de qu, nos interese representar en cada
momento, para dar diferentes perspectivas de un mismo problema, para ajustar el nivel
de detalle..., por esta razn UML soporta un gran numero de diagramas diferentes
aunque, en la practica, slo se utilicen un pequeo nmero de combinaciones.
Orientacin a Objetos
La Programacin Orientada a Objetos, POO (OOP, Object Oriented Programming,
en ingles), es una tcnica de programacin cuyo soporte fundamental es el objeto. Un
objeto es una extensin de un Tipo Abstracto de Datos (TAD), concepto ampliamente
utilizado desde la dcada de los setenta. Un TAD es un tipo definido por el usuario, que
encapsula un conjunto de datos y las operaciones sobre estos datos.
Ventajas De la Orientacin a Objetos:
Estas ventajas son directas a los programadores. Estos, se podra decir, que son los
ejecutores de un determinado proyecto software. Pero la orientacin a objetos no slo
reporta beneficios a los programadores. En las etapas de anlisis, previas a la
codificacin, el utilizar un modelado orientado a objetos reporta grandes beneficios ya
estas mismas ventajas son aplicables a todas las fases del ciclo de vida de un proyecto
software.
Mantenibilidad (facilidad de mantenimiento). Los programas que se disean utilizando
el concepto de orientacin a objetos son ms fciles de leer y comprender y el control de
la complejidad del programa se consigue gracias a la ocultacin de la informacin que
permite dejar visibles slo los detalles ms relevantes.
Modificabilidad (facilidad para modificar los programas). Se pueden realizar aadidos o
supresiones a programas simplemente aadiendo, suprimiendo o modificando objetos.
Resusabilidad. Los objetos, si han sido correctamente diseados, se pueden usar
numerosas veces y en distintos proyectos.
Fiabilidad. Los programas orientados a objetos suelen ser ms fiables ya que se basan en
el uso de objetos ya definidos que estn ampliamente testados.
Mdulos con fuerte cohesin interna y escaso acoplamiento externo (sin variables
globales, ) Facilita el funcionamiento en entorno multiprocesador (objetos
distribuidos) Correspondencia directa con el mundo real Prototipos rpidos
Herramientas y bibliotecas muy amplias Aplicaciones construidas enganchando objetos
Mejor comprensin y mantenimiento Apropiado para aplicaciones dirigidas por eventos.
Conceptos bsicos de la orientacin a objeto
Como ya hemos dicho la orientacin a objetos se basa en conceptos como clase,
objeto, herencia y polimorfismo, pero tambin en otros muchos. En esta seccin se
intenta, sin entrar en detalles, realizar una breve descripcin de los conceptos ms
importantes que existen en el modelado orientado a objetos. Estos conceptos sern
explicados y ampliados posteriormente desde la perspectiva de UML.
Clase: Es una descripcin de un conjunto de objetos similares. Por ejemplo la clase
Coches. Una clase contiene los atributos y las operaciones sobre esos atributos que
hacen que una clase tenga la entidad que se desea.
Objeto: Un objeto es una cosa, generalmente extrada del vocabulario del espacio del
problema o del espacio de la solucin. Todo objeto tiene un nombre (se le puede
identificar), un estado (generalmente hay algunos datos asociados a l) y un
comportamiento (se le pueden hacer cosas a objeto y l puede hacer cosas a otros
objetos). Un objeto de la clase Coches puede ser un Ford Mustang.
Atributo: Es una caracterstica concreta de una clase. Por ejemplo atributos de la clase
Coches pueden ser el Color, el Numero de Puertas...
Mtodo: Es una operacin concreta de una determinada clase. Por ejemplo de la clase
Coches podramos tener un mtodo arrancar() que lo que hace es poner en marcha el
coche.
Instancia: Es una manifestacin concreta de una clase (un objeto con valores
concretos).
Tambin se le suele llamar ocurrencia. Por ejemplo una instancia de la clase Coches
puede ser: Un Ford Mustang, de color Gris con 3 puertas
Herencia: Es un mecanismo mediante el cual se puede crear una nueva clase partiendo
de una existente, se dice entonces que la nueva clase hereda las caractersticas de la case
existentes aunque se le puede aadir ms capacidades (aadiendo datos o capacidades) o
modificar las que tiene. Por ejemplo supongamos que tenemos la VehiculosDeMotor. En
esta clase tenemos los siguientes atributos: Cilindrada y Numero de Ruedas, y el mtodo
acelerar(). Mediante el mecanismo de herencia podemos definir la clase Coches y la
clase
Motos.


Diagramas de Objetos
Muestran un conjunto de objetos y sus relaciones, son como fotos instantneas de
los diagramas de clases y cubren la vista de diseo esttica o la vista de procesos esttica
desde la perspectiva de casos reales o prototpicos.

El Paradigma Orientado a Objeto usando UML

Por qu la Orientacin a Objetos?
_ Proximidad de los conceptos de modelado respecto de las entidades del mundo real
Mejora captura y validacin de requisitos
Acerca el espacio del problema y el espacio de la solucin
_ Modelado integrado de propiedades estticas y dinmicas del mbito del problema
Facilita construccin, mantenimiento y reutilizacin
_ Conceptos comunes de modelado durante el anlisis, diseo e implementacin
Facilita la transicin entre distintas fases
Favorece el desarrollo iterativo del sistema
Disipa la barrera entre el qu y el cmo
_ Sin embargo, existen problemas

Problemas en la Orientacin a Objetos
De acuerdo con la frase de --Wolfgang Strigel
...Los conceptos bsicos de la Orientacin Objetos se conocen desde hace dos dcadas,
pero su aceptacin todava no est tan extendida como los beneficios que esta tecnologa
puede sugerir
...La mayora de los usuarios de la Orientacin Objetos no utilizan los conceptos de la
Orientacin Objetos de forma purista, como inicialmente se pretenda. Esta prctica ha
sido promovida por muchas herramientas y lenguajes que intentan utilizar los conceptos
en diversos grados

Un objeto contiene datos y operaciones que operan sobre los datos, pero
_ Podemos distinguir dos tipos de objetos degenerados:
Un objeto sin datos (que sera lo mismo que una biblioteca de funciones)
Un objeto sin operaciones, con slo operaciones del tipo crear, recuperar, actualizar
y borrar (que se correspondera con las estructuras de datos tradicionales)
_ Un sistema construido con objetos degenerados no es un sistema verdaderamente
orientado a objetos

Fundamentos de Modelado Orientacin a Objetos
_ Objeto = unidad atmica que encapsula estado y comportamiento
_ La encapsulacin en un objeto permite una alta cohesin y un bajo acoplamiento
_ Un objeto puede caracterizar una entidad fsica (coche) o abstracta (ecuacin
matemtica)
_ El Modelado de Objetos permite representar el ciclo de vida de los objetos a travs de
sus interacciones
_ En UML, un objeto se representa por un rectngulo con un nombre subrayado



Objeto = Identidad + Estado + Comportamiento
_ El estado est representado por los valores de los atributos
_ Un atributo toma un valor en un dominio concreto cada objeto posee un oid. El oid
establece la identidad del objeto y tiene las siguientes caractersticas:
Constituye un identificador nico y global para cada objeto dentro del sistema
Es determinado en el momento de la creacin del objeto
Es independiente de la localizacin fsica del objeto, es decir, provee completa
independencia de localizacin
Estado
_ El estado evoluciona con el tiempo
_ Algunos atributos pueden ser constantes
_ El comportamiento agrupa las competencias de un objeto y describe las acciones y
reacciones de ese objeto
_ Las operaciones de un objeto son consecuencia de un estmulo externo representado
como mensaje enviado desde otro objeto
Comportamiento
Los mensajes navegan por los enlaces, a priori en ambas direcciones
_ Estado y comportamiento estn relacionados
_ Ejemplo: no es posible aterrizar un avin si no est volando. Est volando como
consecuencia de haber despegado del suelo



Persistencia
_ La persistencia de los objetos designa la capacidad de un objeto trascender en el
espacio/tiempo
_ Podremos despus reconstruirlo, es decir, cogerlo de memoria secundaria para
utilizarlo en la ejecucin (materializacin del objeto)
_ Los lenguajes OO no proponen soporte adecuado para la persistencia, la cual debera
ser transparente, un objeto existe desde su creacin hasta que se destruya
Comunicacin
_ Un sistema informtico puede verse como un conjunto de objetos autnomos y
concurrentes que trabajan de manera coordinada en la consecucin de un fin especfico
_ El comportamiento global se basa pues en la comunicacin entre los objetos que la
componen









Categoras de objetos:
Activos - Pasivos
Cliente Servidores, Agentes
_ Objeto Activo: posee un hilo de ejecucin (thread) propio y puede iniciar una
actividad
_ Objeto Pasivo: no puede iniciar una actividad pero puede enviar estmulos una vez que
se le solicita un servicio
_ Cliente es el objeto que solicita un servicio. Servidor es el objeto que provee el
servicio solicitado
El Concepto de Mensaje
_ La unidad de comunicacin entre objetos se llama mensaje
_ El mensaje es el soporte de una comunicacin que vincula dinmicamente los objetos
que fueron separados previamente en el proceso de descomposicin
_ Adquiere toda su fuerza cuando se asocia al polimorfismo y al enlace dinmico

Conclusiones:
UML y OO son estndares
Trabajar con calidad
Participacin de todos
Necesidad de contar con un mtodo, tcnicas y herramientas de apoyo
Una inversin que merece ser evaluada








Bibliografa
Diseo orientado a objetos con UML
Ral Alarcn
Responsable editorial
Paco Marn (fmarin@eidos.es)
Autoedicin
Magdalena Marn (mmarin@eidos.es)
Ral Alarcon (ralarcon@eidos.es)
Coordinacin de la edicin
Antonio Quirs (aquiros@eidos.es)
Ingeniera del Software. Un enfoque prctico 6
Edicin. R.S. Pressman, McGraw Hill. 2005.
.... Ingeniera del Software Orientado a Objetos,
Bruegge, Dutoit, Prentice Hall. 2002.
.... Anlisis y Diseo Orientado a Objetos con UML
y el Proceso Unificado. Schach. McGraw Hill.
2005
Diseo orientado a objetos con UML
Ral Alarcn
Responsable editorial
Paco Marn (fmarin@eidos.es)
Autoedicin
Magdalena Marn (mmarin@eidos.es)
Ral Alarcon (ralarcon@eidos.es)
Coordinacin de la edicin
Antonio Quirs (aquiros@eidos.es)
Grupo EIDOS
C/ Tllez 30 Oficina 2
28007-Madrid (Espaa)
Tel: 91 5013234 Fax: 91 (34) 5017824
www.grupoeidos.com/www.eidos.es
www.LaLibreriaDigital.com
UML
www.omg.org/uml/
Meta-links www.celigent.com/uml/ y www.cetus-links.org/oo_uml.html
Pierre-Alain Muller Instant UML
Martin Fowler, UML Destilled (UML Gota a Gota)
Terry Quatrani, Visual Modeling ..., un caso de estudio

Anda mungkin juga menyukai