Análisis de (MOO)

12
Análisis y Diseño III ETODOLOGIA ORIENTADA A OBJETO

description

metodologia

Transcript of Análisis de (MOO)

Anlisis y Diseo III

METODOLOGIA ORIENTADA A OBJETO

1.- Qu caracteriza a la metodologa orientada a objetos y sus ventajas en el desarrollo de sistemas?La metodologa Orientada a Objetos supone un cambio de enfoque sustancial respecto a las metodologas tradicionales, principalmente requiere de una forma diferente de pensar, desarrollar y comunicarse en las diversas fases del proyecto. Esta intenta modelar el mundo real y los objetos del mundo real; donde primero se modelan las entidades y luego se asocian las acciones identificadas como las funciones o responsabilidades de estas entidades en la bsqueda de una solucin al problema existente.OMT es una de las metodologas de anlisis y diseo orientada a objetos, ms madura y eficiente que existe en la actualidad. La gran virtud que aporta esta metodologa es su carcter de abierta (no propietaria), que le permite ser de dominio pblico y, en consecuencia, sobrevivir con enorme vitalidad. Esto facilita su evolucin para acoplarse a todas las necesidades actuales y futuras de la ingeniera de software.Las fases que conforman a la metodologa OMT son:1. Anlisis. El analista construye un modelo del dominio del problema, mostrando sus propiedades ms importantes. El modelo de anlisis es una abstraccin resumida y precisa de lo que debe de hacer el sistema deseado y no de la forma en que se har. Los elementos del modelo deben ser conceptos del dominio de aplicacin y no conceptos informticos tales como estructuras de datos. Un buen modelo debe poder ser entendido y criticado por expertos en el dominio del problema que no tengan conocimientos informticos.2. Diseo del sistema. El diseador del sistema toma decisiones de alto nivel sobre la arquitectura del mismo. Durante esta fase el sistema se organiza en subsistemas basndose tanto en la estructura del anlisis como en la arquitectura propuesta. Se selecciona una estrategia para afrontar el problema.3. Diseo de objetos. El diseador de objetos construye un modelo de diseo basndose en el modelo de anlisis, pero incorporando detalles de implementacin. El diseo de objetos se centra en las estructuras de datos y algoritmos que son necesarios para implementar cada clase. OMT describe la forma en que el diseo puede ser implementado en distintos lenguajes (orientados y no orientados a objetos, bases de datos, etc.).4. Implementacin. Las clases de objetos y relaciones desarrolladas durante el anlisis de objetos se traducen finalmente a una implementacin concreta. Durante la fase de implementacin es importante tener en cuenta los principios de la ingeniera del software de forma que la correspondencia con el diseo sea directa y el sistema implementado sea flexible y extensible.La metodologa OMT emplea tres clases de modelos para describir el sistema:1. Modelo de objetos. Describe la estructura esttica de los objetos del sistema (identidad, relaciones con otros objetos, atributos y operaciones). El modelo de objetos proporciona el entorno esencial en el cual se pueden situar el modelo dinmico y el modelo funcional. El objetivo es capturar aquellos conceptos del mundo real que sean importantes para la aplicacin. Se representa mediante diagramas de objetos.2. Modelo dinmico. Describe los aspectos de un sistema que tratan de la temporizacin y secuencia de operaciones (sucesos que marcan los cambios, secuencias de sucesos, estados que definen el contexto para los sucesos) y la organizacin de sucesos y estados. Captura el control, aquel aspecto de un sistema que describe las secuencias de operaciones que se producen sin tener en cuenta lo que hagan las operaciones, aquello a lo que afecten o la forma en que estn implementadas. Se representa grficamente mediante diagramas de estado.3. Modelo funcional. Describe las transformaciones de valores de datos (funciones, correspondencias, restricciones y dependencias funcionales) que ocurren dentro del sistema. Captura lo que hace el sistema, independientemente de cuando se haga o de la forma en que se haga. Se representa mediante diagramas de flujo de datos. Modelo de referencia

Las ventajas de la metodologa orientada a objeto son: Cdigo Reutilizable. Mejores mtodos y notacin. Ciclo ms corto de anlisis diseo y programacin. Incorpora ideas de IA, modelado de datos, TI, computacin. Encapsula: datos y procesos. Datos: atributos Variables e instancia. Variable de clase. Procesos: Mtodos, operaciones o servicios: Procedimientos. Funciones. Clase: coleccin de objetos con atributos y mtodos comunes, de acuerdo a sus caractersticas y responsabilidades. Tipo abstracto de Datos: tipo de entidades de modelado de datos que incluyen mtodos para el tratamiento de los datos. Clase Tipo.

Beneficios de la Metodologa Orientada a Objeto Permite ensamblar sistemas grandes a partir de mdulos reutilizables. Reutiliza clases ya probadas y depuradas Permite extender las capacidades de mdulos y objetos a travs de la herencia, aportando flexibilidad. Las interfaces entre mdulos y sistemas externos es ms fcil a travs del paso de mensajes. La particin en objetos facilita la escalabilidad de los sistemas. Se puede partir el desarrollo de un sistema en forma ms fcil. Mejora la seguridad de los sistemas al ocultar la informacin de los objetos. El anlisis orientado a objetos abarca los modelos centrados en datos. Mtodos formales ms claros en MOO OO es una herramienta para manejar la complejidad Evolucin y mantenimiento de los sistemas ms fcil. OO tiene mayor potencial para captar mayor significado en sus aplicaciones GUI, WFS, DSD

2.- Defina cada uno de los elementos mencionados anteriormente y de ejemplos.CLASE Consiste en la descripcin de uno o ms objetos del mundo real en base a una serie de atributos y servicios. A estos atributos se les llama tambin variables de instancia, mientras que a los servicios se les llama mtodos. Se puede decir que representa al conjunto de objetos que comparten una estructura y comportamiento comunes. Una clase debe tener una parte no visible desde el exterior y una parte visible que es la encargada de acceder a esta parte no visible. En la parte no visible se suelen situar las variables de instancia mientras que en la visible se colocan los mtodos de instancia. A las clases cuyas instancias son a su vez clases se les llama metaclases. No se debe confundir el concepto de clase con el de Tipo Abstracto de Datos. La diferencia est, segn autores, en que los TAD no soportan herencia, mientras que el concepto de clase s. Ejemplo de clases

Relacin entre clases

OBJETOS Para las personas, un objeto suele ser algo de lo siguiente: Algo tangible y/o visible. Algo que puede ser comprendido mentalmente. Algo a lo que va dirigido el pensamiento o la accin. Podemos utilizar como definicin formal del mismo la siguiente: Un objeto es una entidad real o abstracta con un papel bien definido en el dominio del problema. Adems, un objeto se caracteriza porque presenta un estado, un comportamiento y una identidad propia. El estado de un objeto representa todas las propiedades, normalmente estticas, del objeto adems de los valores actuales, normalmente dinmicos, de cada una de estas propiedades. Podemos decir que el comportamiento de un objeto es el modo en que ste acta y reacciona, hablando en trminos de cambios en su estado y paso de mensajes.Ejemplo de objeto:

MENSAJES Y MTODOS El trmino utilizado para nombrar a la accin que un objeto realiza sobre otro es el de mensaje y tambin el de operacin. Podemos decir que lo que un objeto le pide que realice a otro es el mensaje, mientras que cmo hace el segundo objeto eso que le han pedido sera el mtodo. Segn diversos autores puede haber hasta cinco tipos distintos de operaciones sobre un objeto: Modificadoras. Selectoras. Iteradoras. Constructoras. Destructoras. En cuanto a la identidad, sta se define como la propiedad que distingue a un objeto de otros, y normalmente viene designada por un nombre nico de variable.MTODOSSon las operaciones (acciones o funciones) que se aplican sobre los objetos y que permiten crearlos, cambiar su estado o consultar el valor de sus atributos. Los mtodos constituyen la secuencia de acciones que implementan las operaciones sobre los objetos. La implementacin de los mtodos no es visible fuera de objeto. La sintaxis algortmica de los mtodos expresados como funciones y acciones es: Para funciones se pueden usar cualquiera de estas dos sintaxis: Funcin [(Lista Parmetros)]: Para acciones: Accin [(Lista Parmetros)] donde los parmetros son opcionales Ejemplo: Un rectngulo es un objeto caracterizado por los atributos Largo y Ancho, y por varios mtodos, entre otros Calcular su rea y Calcular su permetro.EJEMPLOS DE MTODOS:

ENCAPSULACINLa esencia del encapsulamiento recae en que cuando un objeto trae consigo su funcionalidad, esta ltima se oculta. La utilidad se ve en la reduccin de complejidad, esto es debido a que las Clases se comportan como cajas negras donde solo se conoce el comportamiento pero no los detalles internos, y esto es conveniente porque solo interesa saber qu hace la Clase pero no como lo hace.En la orientacin a objetos, el encapsulamiento ayuda a mantener junto los elementos de datos, as como las funciones y procedimientos que operan sobre ellos. En otros paradigmas, como el procedimental (programacin orientada a procedimientos, el cual un programa es estructurado en base a sus funciones) los datos y operaciones se mantienen separados.Los mecanismos clsicos de abstraccin utilizados han sido, y por este orden: Procedimientos. Mdulos. TAD's. Objetos junto con el paso de mensajes, herencia y polimorfismo.Segn este criterio, al agrupar las funciones que trabajan con una serie de datos en la misma entidad que estos, se consigue independizar la implementacin interna de la misma, de manera que posibles cambios en su interior afectan mnimamente a sus usuarios.Trabajando de este modo se consigue minimizar el tiempo empleado en desarrollar un nuevo sistema.EJEMPLO DE ENCAPSULAMIENTO

HERENCIAConsiste en un mecanismo para expresar la similitud entre clases.Se utiliza en la construccin de nuevas clases a partir de otras clases ya existentes, de manera que las nuevas clases as creadas incorporan la estructura y el comportamiento de la(s) clase(s) de la(s) que heredan.Cuando una clase hereda de otra u otras, se dice que es subclase o clase derivada, de ella(s), que, a su vez, son su(s) superclase(s) o clase(s) base.Lo que estamos diciendo es que comparte las variables de clase y de instancia, as como los mtodos de clase y de instancia de su(s) superclase(s).La herencia reduce el nmero de cosas que hemos de decir sobre una nueva clase que creamos, para ello debemos tener la precaucin de hacer que herede de una clase parecida a ella.No todos los LOO admiten la llamada herencia selectiva, sino que se limitan a heredar todo lo que les proporciona su(s) superclase(s).La herencia tiene una serie de beneficios para el programador: Reusabilidad. Compartir Cdigo. Consistencia de interfaz. Posibilidad de construir Software. Prototipado rpido. Polimorfismo. Ocultacin de informacin. Pero tambin tiene una serie de pegas: Velocidad de ejecucin menor. Tamao de los programas mayor. Sobrecarga debida al paso de mensajes. Aumento de la complejidad de los programas.EJEMPLO DE HERENCIA:

POLIMORFISMOEn un sentido literal, polimorfismo significa la cualidad de tener ms de una forma. En el contexto de poo, el polimorfismo se refiere al hecho de que una simple operacin puede tener diferente comportamiento en diferentes objetos. En otras palabras, diferentes objetos reaccionan al mismo mensaje de modo diferente. Los primeros lenguajes de poo fueron interpretados, de forma que el polimorfismo se contemplaba en tiempo de ejecucin. Por ejemplo, en c++, al ser un lenguaje compilado, el polimorfismo se admite tanto en tiempo de ejecucin como en tiempo de compilacin.Ejemplo de polimorfismo:

ATRIBUTOS Los atributos son las caractersticas individuales que diferencian un objeto de otro y determinan su apariencia, estado u otras cualidades. Los atributos se guardan en variables denominadas de instancia, y cada objeto particular puede tener valores distintos para estas variables. Las variables de instancia tambin denominados miembros dato, son declaradas en la clase pero sus valores son fijados y cambiados en el objeto. Adems de las variables de instancia hay variables de clase, las cuales se aplican a la clase y a todas sus instancias. Por ejemplo, el nmero de ruedas de un automvil es el mismo cuatro, para todos los automviles.Un atributo consta de un nombre y un valor. Cada atributo est asociado a un tipo de dato, que puede ser simple (entero, real, lgico, carcter, string) o estructurado (arreglo, registro, archivo, lista, etc.) Su sintaxis algortmica es: Los modos de acceso son: Pblico: Atributos (o Mtodos) que son accesibles fuera de la clase. Pueden ser llamados por cualquier clase, aun si no est relacionada con ella. Este modo de acceso tambin se puede representar con el smbolo +. Privado: Atributos (o Mtodos) que slo son accesibles dentro de la implementacin de la clase. Tambin se puede representar con el smbolo . Protegido: Atributos (o Mtodos) que son accesibles para la propia clase y sus clases hijas (subclases). Tambin se puede representar con el smbolo #

EJEMPLO DE ATRIBUTOS