Está en la página 1de 10

Instituto Superior Santo Domingo SI2 Pgina 1 de 10

UNIDAD N 1:

Introduccin al modelado
de objetos

TEMAS:

Tipos de software. Dificultades en el
desarrollo del software. Rol de la
descomposicin. Caractersticas de
las tcnicas orientadas a objetos.
Clases y objetos. Elementos del
modelo de objetos.


Clase
3
3



Objetivos:
Comprender e identificar los componentes del paradigma orientado
a objetos, reconociendo las ventajas de su aplicacin.
Aplicar los conceptos de la orientacin a objetos a la problemtica
del desarrollo de un Sistema de Informacin.


Introduccin

En la clase de hoy veremos las ventajas de trabajar con metodologas
orientadas a objetos. Los elementos del modelo de objetos.


Actividades

Realiza la lectura de los temas indicados y luego realizar las actividades 1 y
2 al final de la clase.
Responde a las preguntas de autoevaluacin que se encuentran al final de
la clase.


Sugerencias:

Lee comprensivamente los temas correspondientes a la clase 3.
Anota las dudas que hayan surgido durante la lectura del material, si hay
trminos que desconoces o procedimientos en la prctica que no
comprendes consulta con tu tutor, a travs del campus o a tu profesor.















Instituto Superior Santo Domingo SI2 Pgina 2 de 10


Modelos de Objetos

Actualmente es comn utilizar un enfoque orientado a objetos para el
desarrollo completo del software, en particular para el desarrollo de
sistemas interactivos. Esto significa expresar los requerimientos del sistema
utilizando un modelo de objetos, llevar a cabo el diseo utilizando objetos y
desarrollar el sistema en un lenguaje de programacin orientado a objetos.

Desarrollo del Software

Podemos considerar al software como perteneciente a uno de dos
grandes grupos: software simples y software complejos

Software simple:
:: Son aplicaciones especificadas, construidas y mantenidas
por la misma persona, incluso utilizadas por l. Habitualmente es el
programador aficionado o el desarrollador de sistemas que trabaja solo.
Tales sistemas tienden a tener un propsito muy limitado y un ciclo de vida
muy corto. Uno puede darse el lujo de reemplazarlo completamente en lugar
de reutilizarlos o extender su funcionalidad.

Software complejo: Llamado tambin de dimensin industrial, son
aplicaciones que exhiben un conjunto muy rico de comportamientos. Los
sistemas de esta clase tienden a tener ciclos de vida largos y son sumamente
difciles sino imposibles de hacer para el desarrollador individual.
La complejidad es la propiedad esencial de todos los sistemas de gran
tamao, puede dominarse pero no eliminarse.

El modelado es esencial para el estudio por la complejidad de la realidad.
Un sistema grande significa una inversin considerable por lo que no es
aceptable desechar un sistema cada vez que los requerimientos cambien.
Los sistemas grandes tienden a evolucionar con el tiempo.
Los sistemas complejos tienen patrones comunes que pueden llevar a la
reutilizacin de componentes pequeos. Un sistema complejo que funciona
ha evolucionado de un sistema simple que funcionaba. Por lo tanto es un
proceso incremental e iterativo.


Dificultades en el desarrollo del software

Existen un conjunto de problemas que aparecen en el desarrollo del
software. Los problemas no se limitan a programas que no funcionan
correctamente. El mal abarca problemas asociados a cmo desarrollar
software, cmo mantener el volumen cada vez mayor de software
existente y cmo poder mantenernos al corriente de la demanda
creciente.

Instituto Superior Santo Domingo SI2 Pgina 3 de 10



Roger Pressman plantea:




Considera que estos problemas se producen por el propio carcter del
software y por los errores de las personas encargadas de su desarrollo,
respecto a esto ltimo seala:




Problemas
Falta de entrenamiento
respecto a las nuevas
tcnicas de desarrollo del
software

En algunos casos los
responsables no tienen
conocimientos del
software

Todos nos resistimos al
cambio
Aspectos de fondo
Calidad del software que
no llega a ser a veces ni
aceptable
Software que no se
corresponde con lo pedido
Planificacin y estimacin
de costos frecuentemente
muy imprecisos


Instituto Superior Santo Domingo SI2 Pgina 4 de 10

Mientras que Booch explica que:



La complejidad del dominio: se refiere a requisitos que compiten entre s o
incluso se contradicen, los usuarios suelen encontrar grandes dificultades
para expresar con detalle sus necesidades de manera que los
desarrolladores comprendan. An cuando los usuarios pueden transmitir
esto no se cuanta con herramientas para plasmar los requisitos con
exactitud, o las que existen se prestan a diferentes interpretaciones.

Dificultad de gestionar el procesos de desarrollo: mientras mayor sea el
nmero de desarrolladores implica una comunicacin ms compleja y por
lo tanto la coordinacin se hace ms difcil.

Se necesitan para satisfacer las exigencias de la industria, crear sistemas
ms rpidos y de bajo costo; pero para poder hacer un buen uso del
potencial del hardware se necesita un software cada vez ms complejo
pero ms confiable.























La compleidad
innata del
software se
deriva de
La compleidad del
dominio
La dificultad de
gestionar el proceso
de desarrollo!
Se necesita
Complejidad
Rapidez de
desarrollo
Facilidad de
modificacin
Flexibilidad
Confiabilidad

Instituto Superior Santo Domingo SI2 Pgina 5 de 10

Dominio del problema: es el foco de atencin, es una parte de la realidad.
Es lo que se est estudiando. Espacio donde se centra la atencin, la
investigacin, es la parte de la estructura de la organizacin a la cual se le
har el sistema de informacin.


Rol de la descomposicin

Cuando se disean sistemas complejos es esencial descomponerlo en
partes, existen dos formas de hacerlo:


Descomposicin algortmica: se centra en los procesos, en donde
cada mdulo es un paso importante de algn proceso global, el
sistema se divide en elementos funcionales relacionados
estructuralmente entre s.
Descomposicin orientada a objetos: se determina un conjunto
de objetos que colaboran para llevar a cabo algn comportamiento.

Ambas descomposiciones resuelven el mismo problema de manera
diferente, no se puede construir un sistema complejo de las dos maneras a
la vez.

Anlisis y Diseo orientado a objetos

Al referirnos a un lenguaje o metodologa orientada a objetos (O.O).
estamos hablando de una tcnica o estilo que utiliza objetos como
bloque esencial de construccin. A principios de los aos 80 el
paradigma orientado a los objetos para la ingeniera del software
comenzaba a madurar como un enfoque del desarrollo del software.
Empezamos a crear diseos y aplicaciones de todo tipo usando la
forma de pensar orientada a objetos. Las tcnicas orientadas a objetos
se utilizan como medios para construir sistemas complejos. La
orientacin a objetos reduce los riesgos inherentes al desarrollo
de sistemas complejos.





Formas de
Descomposicin
Algortmicas
Orientada a Objetos

Instituto Superior Santo Domingo SI2 Pgina 6 de 10

Caractersticas de las tcnicas Orientadas
a Objetos

Cambia nuestra forma de pensar sobre los sistemas ya que es
ms natural.
Los sistemas suelen construirse a partir de objetos ya
existentes. Esto lleva a un alto grado de reutilizacin, a un
ahorro de dinero, un menor tiempo de desarrollo y una mayor
confiabilidad del sistema.
La complejidad de los objetos que podemos utilizar sigue en
aumento, puesto que nuevos objetos se construyen a partir de
otros.
Ayuda a explotar la potencia expresiva de los lenguajes de
programacin basados y orientados a objetos. Los lenguajes
basados en objetos son aquellos que no soportan la herencia;
los orientados a objetos soportan la herencia ej: smalltalk,
object pascal, C++.

Podemos decir entonces que se genera un sistema mediante un
conjunto de objetos, luego se podr ampliar el sistema agregndole
funcionalidad a los componentes que ya haba generado o
agregndole nuevos componentes y finalmente podr volver a utilizar
los objetos cuando cree uno nuevo con lo cual reducir el tiempo de
desarrollo de un sistema.


Clases y Objetos

Una clase es una abstraccin de atributos y comportamientos comunes de
un conjunto de objetos. Son los bloques de construccin ms importante de
cualquier sistema orientado a objetos.
Un objeto es una representacin concreta de esa abstraccin, llamado
tambin instancia y se considera a cada una de ellas un elemento de la
clase. Los objetos representan a un elemento, unidad o entidad individual e
identificable ya sea real o abstracta con un papel definido en el dominio del
problema. Tiene una frontera definida con nitidez. Un objeto modela alguna
parte de la realidad por lo tanto es algo que existe en tiempo y espacio.

Todo objeto tiene una estructura, es decir atributos (propiedades) y
operaciones (son actividades que el objeto puede hacer).

Por ejemplo:
Objeto: persona.
Atributos: altura, peso, edad.
Operaciones: hablar, correr, rer.



Instituto Superior Santo Domingo SI2 Pgina 7 de 10

Adems los objetos tienen estado comportamiento e identidad.

Estado: abarca todas las propiedades del mismo, ms los valores actuales
de cada una de esas propiedades (caracterstica distintiva que hace que ese
objeto sea nico); todas las propiedades tienen algn valor. Por ejemplo el
estado del objeto Caja de ahorro estar dado por la propiedad saldo y el
valor actual de dicha propiedad. As los estados posibles sern:
Con saldo: si el valor es mayor a cero
Sin saldo: si el valor es igual a cero

Comportamiento: ningn objeto existe en forma aislada. Los objetos
reciben acciones y ellos mismos actan sobre otros objetos.
El comportamiento es como acta y reacciona un objeto en trminos de sus
cambios de estado y paso de mensajes. Es decir el comportamiento
representa su actividad visible y comprobable exteriormente. Los objetos
interactan para lograr un comportamiento.
Una operacin es una accin que un objeto efecta sobre otro con el fin de
provocar una reaccin.
El comportamiento de un objeto est influenciado por su historia. El orden
en el que se opera sobre un objeto es importante.
Ejemplo: de una mquina expendedora de gaseosa. El
comportamiento usual es que cuando se introduce monedas, se pulsa
un botn para seleccionar y surge la bebida, si yo selecciono antes de
colocar el dinero no responder.
Identidad: es aquella propiedad de un objeto que lo distingue de todos los
dems.

Ejemplo, en un banco uno de los servicios ofrecidos es del de Caja de
Ahorro. Desde una vista externa una caja de ahorro en un objeto que sabe
cul es su nmero de cuenta, a quin pertenece y cul es su saldo. Qu es
su nmero de cuenta? Un valor numrico de ocho dgitos y su saldo ser un
valor que represente el monto de dinero actualmente depositado en ella. Sus
responsabilidades sern:
Conocer su saldo actual
Conocer su nmero
Incrementar su saldo por un depsito
Disminuir su saldo por una extraccin
Conocer quin es su titular
Mostrar sus datos


Caja de Ahorro
nmero
saldo
^titular
crear()
mostrar nmero()
mostrar saldo()
depositar()
extraer()
mostrar datos()


Instituto Superior Santo Domingo SI2 Pgina 8 de 10

Elementos del Modelo de Objetos

La orientacin a objetos tiene un gran nmero de conceptos
interrelacionados, por ello cuando describimos uno de forma separada
parece carecer de sentido. Para todas las cosas orientadas a objetos el
marco de referencia conceptual es el modelo de objetos, hay cuatro
elementos fundamentales en este modelo:


1.ABSTRACCIN: es el proceso por el cual se organiza en varias
dimensiones sucesivas los bloques de informacin. Centramos la atencin
sobre algo ignorando lo dems. Los objetos, como abstracciones del mundo
real, representan un agrupamiento de informacin particularmente cohesivo.
Combatimos con ella la complejidad porque enfatiza detalles significativos
y suprime detalles que por el momento son irrelevantes o pueden distraer.
Segn Booch la abstraccin denota las caractersticas esenciales de un
objeto que lo distingue de todos los dems tipos de objeto y proporciona as
fronteras conceptuales ntidamente definidas respecto a la perspectiva del
observador. Una abstraccin se centra en la visin externa de un objeto y
sirve para separar el comportamiento de su forma de implantacin. Esta
visin externa algunos la llaman modelo contractual porque define un
contrato del que pueden depender otros objetos y que a su vez es llevado a
cabo por la vista interior del propio objeto. Este contrato abarca
responsabilidades. Es decir, el comportamiento del que se le considera
responsable. No podemos tener en cuenta todos los atributos y acciones de
un objeto por eso se decide qu considerar y qu desechar as tenemos una
abstraccin de la realidad.
En el ejemplo del banco el objeto Caja de Ahorro. Desde el punto de vista
externo una caja de ahorro es un objeto que sabe su titular, nmero de
cuenta y saldo.




Elementos
Abstraccin
Encapsulamiento
Modularidad
Jerarqua

Instituto Superior Santo Domingo SI2 Pgina 9 de 10

2.ENCAPSULAMIENTO: hace referencia a la capacidad que tienen los
objetos de incluir dentro de si atributos y mtodos, mediante el
ocultamiento de informacin. El encapsulamiento se centra en la
implementacin que da lugar al comportamiento. Si una parte del sistema
es modificado esto no debe alterar la interfaz. El objeto en si es como una
caja negra, cuya estructura interna permanece oculta, tanto para el usuario
como para otros objetos diferentes aunque formen parte de la misma
jerarqua. Para que la abstraccin funcione la implementacin debe estar
encapsulada. Esto significa que cada clase debe tener dos partes una
interfaz y una implementacin.
En el ejemplo anterior cualquier objeto cliente que solicite a caja de ahorro
que muestre su saldo recibir como respuesta por ejemplo $ 1000 y nunca se
enterar de que manera est internamente guardado este dato, ni sabr cmo
operan los mtodos de caja de ahorro para mostrar este saldo.
As el encapsulamiento permite que se pueda cambiar la implementacin
de un objeto y que ninguna otra parte del sistema deba ser modificada
siempre que no modifique su interfaz (abstraccin) que es lo que lo otros
objetos conocen para poder comunicarse con este objeto.
Ejemplo de interfaz: las teclas del cajero.

3.MODULARIDAD: consiste en fragmentar un programa en
componentes individuales que pueden compilarse separadamente pero que
tienen conexiones con otros mdulos. Los mdulos sirven como
contenedores fsicos en los que se declaran las clases y objetos del diseo
lgico realizado Hay que hacer lo posible por construir mdulos cohesivos
(agrupando abstracciones que guarden cierta relacin) y dbilmente
acoplados (minimizando la dependencia entre mdulos). Esto lleva a una
mayor facilidad de reutilizacin de componentes as como la verificacin o
depuracin de los mismos. La identificacin de clases y objetos es parte del
diseo lgico, la identificacin de mdulos es parte del diseo fsico.
Ayuda a manejar la complejidad porque ofrece una va para agrupar
abstracciones relacionadas lgicamente.

4.JERARQUA: Se trata de una forma de ordenar o clasificar las
abstracciones, las dos jerarquas mas importantes en un sistema complejo
son:
1) Es-un llamada Herencia (estructura de clase)
Se dan entre dos conceptos cuando el primero (la sub-clase) es un ejemplar
especificado del segundo (la clase base).
Ej.: un avin es un transporte.
2) Es-parte-de llamada Agregacin (estructura de objetos)
Se da entre dos conceptos cuando el primero (la sub-clase) es una parte del
segundo (la clase base), sin ser ninguno, en esencia, la misma cosa.
Ej.: un motor es parte de un auto.
Estas dos jerarquas forman la arquitectura de un sistema. A travs de la
experiencia se comprob que es esencial ver un sistema desde ambas
perspectivas.







Instituto Superior Santo Domingo SI2 Pgina 10 de 10

Al decir elementos fundamentales se quiere significar que cualquier
modelo que carezca de alguno de estos elementos no es orientado a
objetos y hay tres elementos secundarios que son:

Tipificacin
Concurrencia
Persistencia

Por secundarios se entiende que cada uno de ellos es til en el modelo de
objetos pero no es esencial.






Actividades




1-Construir la jerarqua de clases a partir de los siguientes objetos
(de ser necesario crear clases abstractas) perro-plancha-martillo-
velero-jazmn-rosal-pingino-eucaliptos-avin-pinza-auto-
bicicleta-moto-cuatriciclo-batidora.

2-Para cado uno de los siguientes pares de objetos analice si los
vincula una relacin de tipo es un o es parte de.
casa-techo , conserje-empleado , mouse-dispositivo de entrada ,
men-ventana , punto-crculo , perro-mamfero.



Autoevaluacin




1. Cules son los problemas que provocan dificultades en el
desarrollo del software?
2. Cul es la diferencia entre la descomposicin algortmica y la
orientada a objetos?
3. Cules son las ventajas de utilizar tcnicas orientadas a objetos?
4. Una clase y un objeto es lo mismo? justifique su respuesta
5. Explique la diferencia entre estado, comportamiento e identidad de
un objeto
6. Explique los elementos fundamentales del Modelo de Objetos.

También podría gustarte