Você está na página 1de 13

UNIVERSIDAD TECNOLOGICA DE HONDURAS

PLANTILLA PARA DESARROLLO DE CONTENIDO

Modulo # _7__

I. Datos Generales
Nombre de la Asignatura: Herramientas Case Cdigo: HCG-0620
Unidades valorativas: 4 Duracin del Mdulo: 10 das
Ing. Ana Posas Tcnicas y Metodologas orientadas al objeto

Objetivos Especficos:
1. Comprender los conceptos bsicos de la orientacin al objeto.
2. Conocer el origen y metodologa orientada al objeto.
3. Analizar el proceso y tcnicas de desarrollo orientado al objeto.
4. Categorizar los modelos y metodologas orientadas a objetos.

Competencias a alcanzar:
Que el estudiante pueda analizar y profundizar en cada una de las tcnicas y
metodologas orientadas al objeto, as como las ventajas que esta programacin
tiene en la actualidad.

Descripcin Breve del Foro:


Metodologas de desarrollo de Software:
Cules son las desventajas de la metodologa de desarrollo de software
tradicional?
Explique que es el desarrollo orientado a objeto?
Qu consideraciones debemos tener sobre la metodologa POO?
Cules son las caractersticas deseables en una metodologa?
Mencione las principales caractersticas de cada una de las metodologas orientadas
a objetos.

Descripcin Breve de Actividades:


El estudiante deber leer analizar y comprender perfectamente la metodologa de
Orientada a objetos, y despus deber poder aplicar de manera prctica a la forma
de programacin bsica.
UNIVERSIDAD TECNOLOGICA DE HONDURAS
PLANTILLA PARA DESARROLLO DE CONTENIDO

Descripcin Breve de Tareas:


Realizar un ensayo donde se explique detalladamente la experiencia que usted ha
tenido con la metodologa orientada a objetos. Cuales han sido para usted los
aspectos que le han permitido un mejor rendimiento. Considera que existen
debilidades en la metodologa segn su experiencia. Cules seran? Qu
aspectos considera usted que son los ms importantes de la metodologa orientada
a objetos en comparacin con otras metodologas de programacin? Enumere y
explique. Deber escribir un ensayo de como mnimo 5 paginas en letra Arial 12 a
doble espaciado.

II. Contenido
Introduccin
La metodologa orientada a objetos ha derivado de las metodologas anteriores a ste.
As como los mtodos de diseo estructurado realizados guan a los desarrolladores
que tratan de construir sistemas complejos utilizando algoritmos como sus bloques
fundamentales de construccin, similarmente los mtodos de diseo orientado a
objetos han evolucionado para ayudar a los desarrolladores a explotar el poder de los
lenguajes de programacin basados en objetos y orientados a objetos, utilizando las
clases y objetos como bloques de construccin bsicos.

Origen y metodologa orientada al objeto


Los conceptos de diseo orientado a objetos tienen origen en Simula 67 (1967), un
lenguaje diseado para hacer simulaciones de naves, un sistema completamente
dinmico en el cual los objetos se pueden crear y modificar en marcha en lugar de
tener un sistema basado en programas estticos. Creado en el Centro de Cmputo
Noruego en Oslo. La idea ocurri para agrupar los diversos tipos de naves en diversas
clases de objetos, siendo responsable cada clase de objetos de definir sus propios
datos y comportamiento.
UNIVERSIDAD TECNOLOGICA DE HONDURAS
PLANTILLA PARA DESARROLLO DE CONTENIDO

POO tom posicin como la metodologa de programacin dominante a mediados de

los aos ochenta, en gran parte debido a la influencia de C++. Su dominacin fue
consolidada gracias al auge de las Interfaces grficas de usuario (GUI), para los
cuales el diseo est particularmente bien adaptado.

Las caractersticas de orientacin a objetos fueron agregadas a muchos lenguajes


existentes durante ese tiempo, entre ellos BASIC y Pascal, con ello condujo a menudo
problemas de compatibilidad. Los lenguajes orientados a objetos por otra parte, eran
difciles de aprender para los programadores que no estaban acostumbrados al POO.
Para saltar este obstculo, se crearon nuevos lenguajes orientados a objetos, pero
permitiendo algunas caractersticas de los lenguajes tradicionales. El Eiffel fue un
temprano y acertado lenguaje con esos objetivos. En la actualidad existe Java, y esta
implementado en la mayora de los navegadores web actuales.

Conceptos bsicos de la orientacin al objeto


Actualmente el modelo de objetos ha sido influenciado por un nmero de factores no
slo de la Programacin Orientada a Objetos, POO (Object Oriented Programming,
OOP por sus siglas en ingls). Adems, el modelo de objetos ha probado ser un
concepto uniforme en las ciencias de la computacin, aplicable no slo a los lenguajes
de programacin sino tambin al diseo de interfaces de usuario, bases de datos y
arquitectura de computadoras por completo. La razn de ello es, simplemente, que
una orientacin a objetos nos ayuda a hacer frente a la inherente complejidad de
muchos tipos de sistemas.

Se define a un objeto como "una entidad tangible que muestra alguna


conducta bien definida". Un objeto "es cualquier cosa, real o abstracta,
acerca de la cual almacenamos datos y los mtodos que controlan dichos
datos".
UNIVERSIDAD TECNOLOGICA DE HONDURAS
PLANTILLA PARA DESARROLLO DE CONTENIDO

Los objetos tienen una cierta "integridad" la cual no deber ser violada. En particular,
un objeto puede solamente cambiar estado, conducta, ser manipulado o estar en
relacin con otros objetos de manera apropiada a este objeto.

Actualmente, el Anlisis Orientado a Objetos (AOO) va progresando como mtodo de


anlisis de requisitos por derecho propio y como complemento de otros mtodos de
anlisis. En lugar de examinar un problema mediante el modelo clsico de entrada-
proceso-salida (flujo de informacin) o mediante un modelo derivado exclusivamente
de estructuras jerrquicas de informacin, el AOO introduce varios conceptos nuevos.

Conceptos
Objeto: entidad provista de un conjunto de datos y de mtodos.

Clase: es una plantilla para objetos mltiples con caractersticas similares. Las clases
comprenden todas esas caractersticas de un conjunto particular de objetos. Cuando
se escribe un programa en lenguaje orientado a objetos, no se definen objetos
verdaderos sino se definen clases de objetos. La instanciacin es la lectura de estas
definiciones y la creacin de un objeto a partir de ellas.
Una instancia de una clase es otro trmino para un objeto real. Si la clase es la
representacin general de un objeto, una instancia es su representacin concreta. A
menudo se utiliza indistintamente la palabra objeto o instancia para referirse,
precisamente, a un objeto.

Mtodo: algoritmo asociado a un objeto o clase, cuya ejecucin se desencadena tras


la recepcin de un mensaje. Es lo que el objeto puede hacer.

Evento: un suceso en el sistema. El sistema maneja el evento enviando el mensaje


adecuado al objeto pertinente.
UNIVERSIDAD TECNOLOGICA DE HONDURAS
PLANTILLA PARA DESARROLLO DE CONTENIDO

Mensaje: una comunicacin dirigida desde un evento a un objeto, que le ordena que
ejecute uno de sus mtodos. Propiedad o atributo: contenedor de un tipo de datos
asociados a un objeto o clase, hace los datos visibles desde fuera del objeto, y cuyo
valor puede ser alterado por la ejecucin de algn mtodo.

Estado interno: es una propiedad invisible de los objetos, que puede ser nicamente
accedida y alterada por un mtodo y se utiliza para indicar distintas situaciones
posibles para el objeto.

En los lenguajes orientados a objetos, cada clase est compuesta de dos


cualidades: atributos (estado) y mtodos (comportamiento o conducta). Los atributos
son las caractersticas individuales que diferencian a un objeto de otro (ambos de la
misma clase) y determinan la apariencia, estado u otras cualidades de ese objeto. Los
atributos de un objeto incluyen informacin sobre su estado.

Los mtodos de una clase determinan el comportamiento o conducta que requiere esa
clase para que sus instancias puedan cambiar su estado interno o cuando dichas
instancias son llamadas para realizar algo por otra clase o instancia. El
comportamiento es la nica manera en que las instancias pueden hacerse algo a s
mismas o tener que hacerles algo. Los atributos se encuentran en la parte interna
mientras que los mtodos se encuentran en la parte externa del objeto.

El encapsulamiento de variables y mtodos en un componente de software ordenado


es, todava, una simple idea poderosa que provee dos principales beneficios a los
desarrolladores de software:

Modularidad, esto es, el cdigo fuente de un objeto puede ser escrito, as como
darle mantenimiento, independientemente del cdigo fuente de otros objetos.
As mismo, un objeto puede ser transferido alrededor del sistema sin alterar su
estado y conducta.
Ocultamiento de la informacin, es decir, un objeto tiene una "interfaz
publica" que otros objetos pueden utilizar para comunicarse con l. Pero el
objeto puede mantener informacin y mtodos privados que pueden ser
cambiados en cualquier tiempo sin afectar a los otros objetos que dependan de
ello.
UNIVERSIDAD TECNOLOGICA DE HONDURAS
PLANTILLA PARA DESARROLLO DE CONTENIDO

Los objetos proveen el beneficio de la modularidad y el ocultamiento de


la informacin. Las clases proveen el beneficio de la reutilizacin. Los
programadores de software utilizan la misma clase, y por lo tanto el
mismo cdigo, una y otra vez para crear muchos objetos.

Otro concepto muy importante en la metodologa orientada a objetos es el de herencia.


La herencia: es un mecanismo poderoso con el cual se puede definir una clase en
trminos de otra clase; lo que significa que cuando se escribe una clase, slo se tiene
que especificar la diferencia de esa clase con otra, con lo cual, la herencia dar acceso
automtico a la informacin contenida en esa otra clase.

Con la herencia, todas las clases estn arregladas dentro de una jerarqua estricta.
Cada clase tiene una superclase (la clase superior en la jerarqua) y puede tener una
o ms subclases (las clases que se encuentran debajo de esa clase en la jerarqua).
Se dice que las clases inferiores en la jerarqua, las clases hijas, heredan de las clases
ms altas, las clases padres.

Las subclases heredan todos los mtodos y variables de las superclases. Es decir, en
alguna clase, si la superclase define un comportamiento que la clase hija necesita, no
se tendr que redefinir o copiar ese cdigo de la clase padre.

Clase Padre

Clase Hija 1 Clase Hija 2


UNIVERSIDAD TECNOLOGICA DE HONDURAS
PLANTILLA PARA DESARROLLO DE CONTENIDO

La herencia presenta los siguientes beneficios:

Las subclases proveen conductas especializadas sobre la base de elementos


comunes provistos por la superclase. A travs del uso de herencia, los programadores
pueden reutilizar el cdigo de la superclase muchas veces.

Los programadores pueden implementar superclases llamadas clases abstractas que


definen conductas "genricas". Las superclases abstractas definen, y pueden
implementar parcialmente, la conducta pero gran parte de la clase no est definida ni
implementada. Otros programadores concluirn esos detalles con subclases
especializadas.

Caractersticas de la metodologa orientada a objetos

Identidad: expresa que aunque dos objetos sean exactamente iguales en sus
atributos, son distintos entre s.
Encapsulamiento: tambin llamado ocultacin de la informacin Cada objeto est
aislado del exterior, y expone una interfaz a otros objetos que especfica cmo pueden
interactuar entre ellos. El aislamiento protege las propiedades de un objeto contra su
modificacin por quien no tenga derecho a acceder a ellas, solamente los propios
mtodos internos del objeto pueden acceder a ste.
UNIVERSIDAD TECNOLOGICA DE HONDURAS
PLANTILLA PARA DESARROLLO DE CONTENIDO

Polimorfismo: comportamientos diferentes, asociados a objetos distintos, pueden


compartir el mismo nombre, pero se utilizar el comportamiento correspondiente al
objeto en uso. Algunos lenguajes proporcionan medios ms estticos de polimorfismo,
tales como las plantillas y la sobrecarga de operadores de C++.

Mantenibilidad: debe ser fcilmente modificable. Es decir que los cambios en las
condiciones externas (como la definicin de una nueva variable) implicarn
modificaciones pequeas en el programa y/o sistema. El concepto de mantenibilidad
implica que un programa, al igual que un ser vivo debe ser capaz de adaptarse a un
medio ambiente siempre cambiante.
Re usabilidad: Indica que partes pueden ser reutilizados en la confeccin de otros
programas. Los objetos definidos pueden ser extrados e implantados en otro
programa sin tener que realizar modificaciones al objeto. El objetivo final es construir
una librera de objetos que permita realizar programas basndose en la tcnica de
cortar y pegar.
El modelo funcional consta bsicamente de diagramas de flujo de datos.
La siguiente tabla presenta un cuadro corporativo de las principales metodologas
empleadas:

Tipos de modelos y metodologas del modelado orientado a objetos


Se considera como un modelo a una abstraccin de
algo, con la finalidad de entender y comprender lo
que se desea antes de construirlo, debido a que un
modelo omite los detalles no esenciales (Guilln,
1991).
Se podra definir al Modelo Orientado a Objetos como
las tcnicas de orientacin a objetos que pretenden
satisfacer las necesidades de los usuarios finales y
las de los desarrolladores de software mediante una cierta capacidad de modelar el
mundo real (Wladimiro, 2011).

Modelo dinmico
UNIVERSIDAD TECNOLOGICA DE HONDURAS
PLANTILLA PARA DESARROLLO DE CONTENIDO

Metodologa Alcance Fases Caractersticas

OOHMD Diseo de Fase Conceptual Se realiza en una mezcla de


(Object aplicaciones Fase Navegacional estilo incremental, iterativo y
Oriented hipermedia y Fase de Interfaz Abstracta basado en prototipos.
Hypermedia web Fase Implementacin
Desing
Method)
SOHMD Web creados Fase de anlisis Es una propuesta nueva que
Scenario based en base de Fase de modelado de objetos cubre en mayor parte todas
object oriented Sistema de Fase de diseo de vistas las fases del proceso de
Hypermedia herencia Fase de diseo navegacional desarrollo, aunque no toma
Design Fase de diseo de la en cuenta la implantacin y
Methodology implementacin las pruebas,
Fase de construccin proponindonos un proceso
cclico de tal forma que al
realizar una fase se puede
regresar a alguna de las
anteriores para refinarla y
adaptarla mejor.

WSDM Desarrollo de Modelo de usuario Cada navegacin consta de


Web site la web Diseo conceptual tres etapas:
design method Diseo de la implementacin Contexto, la navegacin y
Implementacin capas de informacin.

RNA Desarrollo de Anlisis del entorno Utiliza una secuencia para


Relationship la web Definicin de elementos de desarrollar sistemas web.
navigation al inters
Analysis Anlisis de conocimiento
Anlisis de navegacin
Implementacin de los anlisis
realizados
Se utiliza para especificar e implementar los aspectos del control del sistema,
colaborando de sta manera en describir las secuencias de operaciones que se
UNIVERSIDAD TECNOLOGICA DE HONDURAS
PLANTILLA PARA DESARROLLO DE CONTENIDO

UML Desarrollo de Fase de inicio Metodologa ms utilizada


Unified proyectos Fase de elaboracin para desarrollo de
modeling grandes o Fase de construccin proyectos.
language pequeos Fase de transicin
UWE UML
UML-Based
Web
Engineering
producen, sin tener en cuenta lo que hagan stas operaciones, aquello a lo que
afecten o la forma en que las mismas estn implementadas. Cabe aclarar, que el
modelado del aspecto dinmico de un sistema no constituye una caracterstica
exclusiva del paradigma orientado a objetos, dado que tambin puede ser abordado
a travs del enfoque del Anlisis Estructurado. (Hossian,ITESCAM)

Modelo funcional
Mediante este modelo se pueden presentar y observar resultados que puede arrojar
un clculo de valores, estas se dan mediante la entrada de valores y la salida. Es
importante mencionar que la manera en como se trata la informacin no se muestra.

Ventajas de la metodologa orientada a objetos

En sntesis, algunas ventajas que presenta son:

El diseador piensa en trminos del comportamiento de objetos y no en


detalles de bajo nivel. El encapsulamiento oculta los detalles y hace que las
clases complejas sean fciles de utilizar.

Se construyen clases cada vez ms complejas. Se construyen clases a


partir de otras clases, las cuales a su vez se integran mediante clases. Esto
permite construir componentes de software complejos, que a su vez se
convierten en bloques de construccin de software ms complejo.
UNIVERSIDAD TECNOLOGICA DE HONDURAS
PLANTILLA PARA DESARROLLO DE CONTENIDO

Calidad. Los diseos suelen tener mayor calidad, puesto que se integran a
partir de componentes probados, que han sido verificados y pulidos varias
veces.

Un diseo ms rpido. Las aplicaciones se crean a partir de componentes ya


existentes. Muchos de los componentes estn construidos de modo que se
pueden adaptar para un diseo particular.

Integridad. Las estructuras de datos (los objetos) slo se pueden utilizar con
mtodos especficos. Esto tiene particular importancia en los sistemas cliente-
servidor y los sistemas distribuidos, en los que usuarios desconocidos podran
intentar el acceso al sistema.

Mantenimiento ms sencillo. El programador encargado del mantenimiento


cambia un mtodo de clase a la vez. Cada clase efecta sus funciones
independientemente de las dems.

Una interfaz de pantalla sugestiva para el usuario. Hay que utilizar una
interfaz de usuario grfica de modo que el usuario apunte a iconos o elementos
de un men desplegado, relacionados con los objetos. En determinadas
ocasiones, el usuario puede ver un objeto en la pantalla. Ver y apuntar es ms
fcil que recordar y escribir.

Independencia del diseo. Las clases estn diseadas para ser


independientes del ambiente de plataformas, hardware y software. Utilizan
solicitudes y respuestas con formato estndar. Esto les permite ser utilizadas
en mltiples sistemas operativos, controladores de bases de datos,
controladores de red, interfaces de usuario grficas, etc. El creador del software
no tiene que preocuparse por el ambiente o esperar a que ste se especifique.

Interaccin. El software de varios proveedores puede funcionar como


conjunto. Un proveedor utiliza clases de otros. Existe una forma estndar de
localizar clases e interactuar con ellas. El software desarrollado de manera
independiente en lugares ajenos debe poder funcionar en forma conjunta y
aparecer como una sola unidad ante el usuario.
UNIVERSIDAD TECNOLOGICA DE HONDURAS
PLANTILLA PARA DESARROLLO DE CONTENIDO

Computacin Cliente-Servidor. En los sistemas cliente-servidor, las clases


en el software cliente deben enviar solicitudes a las clases en el software
servidor y recibir respuestas. Una clase servidor puede ser utilizada por clientes
diferentes. Estos clientes slo pueden tener acceso a los datos del servidor a
travs de los mtodos de la clase. Por lo tanto los datos estn protegidos contra
su corrupcin.

Computacin de distribucin masiva. Las redes a nivel mundial utilizarn


directorios de software de objetos accesibles. El diseo orientado a objetos es
la clave para la computacin de distribucin masiva. Las clases de una mquina
interactan con las de algn otro lugar sin saber donde residen tales clases.
Ellas reciben y envan mensajes orientados a objetos en formato estndar.

Mayor nivel de automatizacin de las bases de datos. Las estructuras de


datos (los objetos) en las bases de datos orientadas a objetos estn ligadas a
mtodos que llevan a cabo acciones automticas. Una base de datos OO tiene
integrada una inteligencia, en forma de mtodos, en tanto que una base de
datos relacional bsica carece de ello.

Migracin. Las aplicaciones ya existentes, sean orientadas a objetos o no,


pueden preservarse si se ajustan a un contenedor orientado a objetos, de modo
que la comunicacin con ella sea a travs de mensajes estndar orientados a
objetos.

Mejores herramientas CASE. Las herramientas CASE (Computer Aided


Software Engineering, Ingeniera de Software Asistida por Computadora)
utilizarn las tcnicas grficas para el diseo de las clases y de la interaccin
entre ellas, para el uso de los objetos existentes adaptados a nuevas
aplicaciones. Las herramientas deben facilitar el modelado en trminos de
eventos, formas de activacin, estados de objetos, etc. Las herramientas OO
del CASE deben generar un cdigo tan pronto se definan las clases y permitir
al diseador utilizar y probar los mtodos recin creados. Las herramientas se
deben disear de manera que apoyen el mximo de creatividad y una continua
afinacin del diseo durante la construccin.
UNIVERSIDAD TECNOLOGICA DE HONDURAS
PLANTILLA PARA DESARROLLO DE CONTENIDO

Bibliografa:

Você também pode gostar