Está en la página 1de 16

INSTITUTO TECNOLOGICO DE CALKINI EN EL ESTADO DE CAMPECHE

INGENIERIA INFORMATICA

EQUIPO 2

MATERIA: Análisis y modelado de sistemas de información


DOCENTE: Marlene Méndez Moreno.
GRADO: 5to Semestre

1.1.1. AF: Gestiona información sobre metodologías, métodos y


herramientas orientadas a objetos para modelar software.

Entrega sus resultados en un Documento. (Subtemas: 1.1, 1.2, 1.3)


(Investigación Documental) (Parte03)
A.- METODOLOGI AS ORIENTADAS A OBJETOS

METODOLOGÍA OMT (RUMBAUGH)

La metodología OMT es una técnica de modelado de objetos, desarrollada por


James
Rumbaugh, que es uno de los precursores del Lenguaje Unificado de Modelado
(UML). El significado de las siglas de esta metodología es Técnica de Modelado
en Objetos (Object Modeling Technique), la definen como una de las
metodologías de la Ingeniería de Software aplicable al desarrollo orientado a
objetos en las fases de análisis y diseño.
La fase de análisis comienza con la declaración del problema que incluye, una
lista de objetivos (metas) y conceptos claves definitivos definidos para el
dominio del problema a resolver. La declaración del problema se “expande”
después en tres modelos:

Modelo de objetos
Modelo dinámico
Modelo funcional

El modelo de objetos representa los objetos del sistema. El modelo dinámico


representa la interacción entre esos objetos representados como eventos,
estados y transiciones. El modelo funcional representa los métodos del sistema
desde la perspectiva de flujo de datos. La fase de análisis genera diagramas del
modelo de objetos, diagramas de estado, diagramas de eventos de flujo y
diagramas de flujos de datos. Es entonces cuando se tiene completa la fase de
análisis.
La metodología OMT es secuencial en el sentido de que la primera fase es la de
análisis, seguida por el diseño. En cada fase, se hacen aproximaciones iterativas
entre los pequeños pasos a seguir. La metodología OMT es muy similar a la
metodología Booch, cuyo principal criterio es hacer énfasis en las fases de
diseño y análisis para una primera entrega del producto. Ambas OMT y Booch
no hacen prioritarias las fases de implementación, evaluación u otras del ciclo
de vida.

 Diagramas de vista de objetos:


El modelo de objeto de OMT ilustra las relaciones estáticas entre clases y objetos del
sistema. Estos diagramas son muy similares a los objetos de clases y objetos de UML.

 NOTACIÓN DE DIAGRAMAS DE OBJETO OMT UNICA

Clases, el tipo gráfico para representar una clase siguiendo una metodología
OMT es el mismo que se utiliza en UML, donde se divide un rectángulo en tres
partes, cada una corresponde al nombre de la clase, los atributos y las
operaciones.

Objetos, se dibuja un objeto utilizando un rectángulo con esquinas


redondeadas, los atributos deben tener valores asignados a ellos.
Asociaciones y ligas, el título de la relación de asociación es única de la notación
OMT, se pone el título al final de la línea de asociación en una caja, cerca de la
clase que se está relacionando.

Atributos ligados, para describir las propiedades de una relación o asociación, se


puede utilizar un arco para adjuntar un atributo a la relación.
Multiplicidad, se utilizan terminadores de línea para indicar cuantas instancias
derivadas de una clase se relacionan con una sola instancia de otra clase.

Generalización o herencia. La generalización se refiere al perfeccionamiento de


una súper-clase dentro de una subclase. Cada subclase hereda los atributos de
la súper-clase.
La notación OMT para diagramas dinámicos son como los diagramas de
secuencia y estados de UML.

Una de las herramientas que permite el uso de la metodología OMT es el


SmartDraw, que como se ha visto en clase, únicamente permite el dibujo de los
diagramas definidos por esta metodología. Otras herramientas que soportan
metodología OMT son: Rational Rose, System Architect 4.0, Poseidon, Power
Builder, entre otras.
B. Mé todos oriéntados a objétos
La clase representa una abstracción de datos, y los métodos definen su
comportamiento.
Los métodos son algoritmos especiales definidos por una clase, y se aplican sobre
los objetos.
Manipulan el estado interno del objeto sobre el que se aplican.
También se denomina métodos de instancia, o métodos del objeto.

Organización de los métodos en tres tipos, teniendo en cuenta aspectos


sintácticos y semánticos:
 Constructores. Métodos que inicializan la instancia
 Métodos genéricos. Realizan acciones utilizando los atributos
 Métodos para accesos directo a los atributos (getters & setters). Estos métodos
son opcionales y suelen utilizarse más en clases de tipo “entidad”, es decir, que
tienen persistencia en bases de datos, o en los “beans”, donde tienen una
correspondencia con formularios. Aunque estos métodos son realmente generales,
los distinguimos por separado por tener unas normas concretas de estilo.

MÉTODOS GENÉRICOS
Comencemos con el formato básico de un método:

El primer calificador es public o private, se establece el tipo de vista.


La segunda palabra es el tipo devuelto, con el calificador void (vacío) se indica que
no devuelve nada, o se establecer el tipo devuelto.
La siguiente palabra representa el nombre del método.
A continuación vienen los parámetros. Hay que resaltar, en general, los datos con
que actúan los métodos son sus propios atributos, y por lo tanto no es necesario
pasarlos por parámetro. Por parámetros se pasan valores externos al objeto que
condicionan la acción a realizar.
Existen dos tipos de parámetros:
Tipos primitivos (byte, short, int...). Estos se pasan por valor, es decir, se realiza
una copia del contenido en la variable que sustenta el parámetro, y por lo tanto, si
el método modifica el parámetro no afecta a la variable del mensaje entrante.
Clases y arrays. Estos se pasan por referencia, es decir, se pasa la dirección en el
parámetro, así que, modificaciones dentro del método afectan externamente.
Con la sentencia return, se finaliza el método. Si además queremos devolver un
valor se utiliza la sentencia return valor.
Ampliando la clase Punto, se podrían añadir los siguientes métodos:

Dentro de los métodos podemos definir variables locales, las cuales serán creadas
en la ejecución del método y destruidas al finalizar la ejecución. Las variables de
método, sólo son visibles desde el propio método en que se definen

MÉTODOS PARA ACCESOS A ATRIBUTOS (GETTERS & SETTERS)


Realmente, a nivel gramatical, se pueden considerar como métodos genéricos.
Pero semánticamente, tienen connotaciones especiales que debemos especificar.

Existe una nomenclatura especial para el identificador del método:


o Establecer el valor de un atributo: set + NombreAtributo (la primera letra del
nombre del atributo debe estar en mayúsculas). Por ejemplo, en la clase Punto
sería setX y setY, en la clase NumeroNatural sería setValor, en la clase Usuario sería
setNombre, setEMail, setCiudad, setMovil y setMayorEdad.
o Leer el valor del atributo: get + NombreAtributo o is + NombreAtributo si devuelve
un tipo boolean. Por ejemplo, en la clase Punto sería getX y getY, en la clase
NumeroNatural sería getValor, en la clase Usuario sería getNombre, getEMail,
getCiudad, getMovil e isMayorEdad. A continuación, presentamos la estructura
completa del código de la clase Punto:

CONSTRUCTORES
Los constructores son métodos especiales que reúnen las tareas de inicialización
de los objetos de una clase; por lo tanto, el constructor establece el estado inicial
de todos los objetos que se instancian.
No es obligatorio definir constructores, si no se realiza, existe un constructor por
defecto sin parámetros.
La ejecución del constructor es implícita a la creación de una instancia.
La restricción sintáctica del constructor es que debe llamarse igual que la clase y no
devuelve ningún tipo ni lleva la palabra void.
Como ejemplo añadimos un constructor a la clase Punto:
SOBRECARGA DE MÉTODOS
La sobrecarga es definir dos o más métodos con el mismo nombre, pero con
parámetros diferentes por cantidad o tipo. El objetivo de la sobrecarga es reducir
el número de identificadores distintos para una misma acción pero con matices
que la diferencian. La sobrecarga se puede realizar tanto en métodos generales,
como en constructores.
La sobrecarga es un polimorfismo estático, ya que es el compilador quien resuelve
el conflicto del método a referenciar.
Si definimos un constructor con parámetros, el constructor sin parámetros deja de
estar disponible; así que, si nos interesa, se debe definir para su utilización.
Como ejemplo añadimos sobrecarga a los constructores de la clase Punto:

PASO DE MENSAJES. INVOCACIÓN DE MÉTODOS


 Se puede enviar un mensaje a un objeto para invocar a un determinado
método, que se aplicará sobre el objeto.
 Los objetos responden a las invocaciones de los métodos dependiendo de
su estado interno.
 La invocación a métodos puede llevar parámetros asociados, produce un
resultado, y manipula el estado interno del objeto sobre el que se aplica.
 Para invocar a un determinado método sobre un objeto, ese método debe
estar definido por la clase a la que el objeto pertenece.
C. HERRAMIENTAS ORIENTADAS A OBJETOS

Muchos de los beneficios son alcanzados únicamente cuando el Análisis y Diseño son
utilizados con herramientas CASE Orientadas a Objetos, basados en repositorios que
generan códigos.

Fomenta la reutilización y extensión del código.


Permite crear sistemas más complejos.
Relacionar el sistema al mundo real.
Facilita la creación de programas visuales.
Construcción de prototipos
Agiliza el desarrollo de software
Facilita el trabajo en equipo
Facilita el mantenimiento del software

Lo interesante de la Programación Orientada a Objetos es que proporciona conceptos y


herramientas con las cuales se modela y representa el mundo real tan fielmente como sea
posible

• PowerDesigner OOM es una poderosa herramienta de diseño para modelamiento


orientado a objetos

 Brinda todas las ventajas de implementación de una herramienta gráfica para


diseño por objetos.

Con PowerDesigner, se puede:

 Construir un OOM siguiendo la notación de diagramas UML


 Generar archivos fuentes de clases en Java (.java)
 Generar objetos PowerBuilder
 Hacer re-ingeniería de archivos Java (.class, .java o .jar)
 Hacer re-ingeniería de objetos PowerBuilder
 Generar y/o reversar a/de otros lenguajes
Encapsulamiento: Las propiedades son privadas, accesadas mediante métodos
públicos o protegidos, permitiendo así consistencia en la información el aumento de
la cohesión (Es una medida de la especialización con la que cuenta un objeto dentro
de un sistema, entre más alta sea esta, es mejor).

Principio de ocultación: Cada objeto está aislado del exterior, es un módulo natural,
y cada tipo de objeto expone una interfaz a otros objetos que especifica cómo
pueden interactuar con los objetos de la clase. El aislamiento protege a las
propiedades de un objeto contra su modificación por quien no tenga derecho a
acceder a ellas, solamente los propios métodos internos del objeto pueden acceder
a su estado. Esto asegura que otros objetos no pueden cambiar el estado interno de
un objeto de maneras inesperadas, eliminando efectos secundarios e interacciones
inesperadas.

Polimorfismo: Comportamientos diferentes, asociados a objetos distintos, pueden


compartir el mismo nombre, al llamarlos por ese nombre se utilizará el
comportamiento correspondiente al objeto que se esté usando. O dicho de otro
modo, las referencias y las colecciones de objetos pueden contener objetos de
diferentes tipos, y la invocación de un comportamiento en una referencia producirá
el comportamiento correcto para el tipo real del objeto referenciado. Cuando esto
ocurre en "tiempo de ejecución", esta última característica se llama asignación
tardía o asignación dinámica.

Herencia: Es la facilidad mediante la cual la clase D hereda en ella cada uno de los
atributos y operaciones de C, como si esos atributos y operaciones hubiesen sido
definidos por la misma D. Por lo tanto, puede usar los mismos métodos y variables
públicas declaradas en C. Los componentes registrados como "privados" (private)
también se heredan, pero como no pertenecen a la clase, se mantienen escondidos
al programador y sólo pueden ser accedidos a través de otros métodos públicos.

Objetos: Entidad provista de un conjunto de propiedades o atributos (datos) y de


comportamiento o funcionalidad (métodos) los mismos que consecuentemente
reaccionan a eventos. Se corresponde con los objetos reales del mundo que nos
rodea, o a objetos internos del sistema (del programa). Es una instancia a una clase.
Mensajes: Una comunicación dirigida a un objeto, que le ordena que ejecute uno
de sus métodos con ciertos parámetros asociados al evento que lo generó.

Clases: Definiciones de las propiedades y comportamiento de un tipo de objeto


concreto.

Instancias: Es la lectura las definiciones de las clases y la creación de un objeto a


partir de ellas.

Métodos: Algoritmo asociado a un objeto (o a una clase de objetos), cuya ejecución


se desencadena tras la recepción de un "mensaje". Desde el punto de vista del
comportamiento, es lo que el objeto puede hacer. Un método puede producir un
cambio en las propiedades del objeto, o la generación de un "evento" con un nuevo
mensaje para otro objeto del sistema.
ARTICULOS RELACIONADOS A LOS TEMAS

Introducción a la Programación Orientada a


Objetos
1 mayo, 2015 por José Manuel Ramírez
Artículo de metodología

En este artículo hablaremos de la técnica de programación orientada a objetos desde un punto de


vista genérico y que puede ser aplicado a cualquiera de los lenguajes de programación que
soportan esta metodología. Grady Booch, autor del metodo de diseño orientado a objetos, define
la Programación Orientada a Objetos (POO) como:

“Un método de implementación en el que los programas se organizan como colecciones


cooperativas de objetos, cada uno de los cuales representan una instancia de alguna clase, y cuyas
clases son todas miembros de una jerarquía de clases unidas mediante relaciones de herencia”

Programación Orientada a Objetos


Existen tres partes importantes en la definición de POO:

 Utiliza objetos, no algorítmicos, como bloques de construcción lógicos.


 Cada objeto es una instancia de una clase
 Las clases se relacionan unas con otras por medio de relaciones de herencia

Un programa puede parecer orientado a objetos, pero si cualquiera de los elementos anteriores
no existe, no es un programa orientado a objetos. Específicamente, la programación sin herencia
es distinta de la programación orientada a objetos; ésta se denomina programación con tipos
abstractos de datos o programación basada en objetos.

El concepto de objeto, al igual que los tipos abstractos de datos o tipos definidos por el usuario, es
una colección de elementos de datos junto con las funciones asociadas para operar con esos
datos. Sin embargo, la potencia real de los objetos reside en el modo en el que los objetos pueden
definir otros objetos. Este proceso de denomina herencia, y es el mecanismo que ayuda a
construir programas que se modifican fácilmente y se adaptan a aplicaciones totalmente distintas.

Los conceptos fundamentales de programación orientada a objetos son: objetos, clases, herencia,
mensajes y polimorfismo. Todos estos conceptos serán desarrollados en posteriores artículos.
Programación Orientada a Objetos 2050
Kevin Alquicira. (2017)
Artículo de método

En el desarrollo de sistemas de software se tienen etapas en las se realizan diferentes actividades


para generar un sistema que cumpla con los requerimientos establecidos. Durante este desarrollo
de software se pueden hacer uso de diferentes técnicas que proporcionen facilidad de
estructuración y modelado del sistema. Una de esas técnicas puede ser a implementación de un
estilo de programación en particular, como es la programación orientada a objetos.

La programación orientada a objetos es conocida como un estilo de programación que utiliza


objetos y sus relaciones entre sí, a su vez estos objetos se pueden organizar en clases. Este modo
de programar intenta representar el mundo real, donde podemos observar que cada cosa que
existe es un objeto. Por ejemplo, si pensamos de esta manera y vemos a nuestro alrededor, nos
daremos cuenta que la silla donde estamos sentados es un objeto, la mesa, un foco, un lápiz, entre
otros, todo es un objeto y esto es lo que toma la programación orientada a objetos para modelar
un sistema.

Como se ha mencionado la parte fundamental de este modo de programar es el objeto, y si


volvemos a pensar en el mundo real, cada objeto tiene ciertas características que lo hacen distinto
de otros objetos, por ejemplo, si tenemos tres canicas se pueden identificar sus características,
estás serían: tamaño, color, material. A pesar que son canicas, cada una puede tener distinto color
y/o tamaño. Estás características en este modo de programar, se conocen como atributos de los
objetos. Otro elemento importante de los objetos son las acciones que estos pueden realizar, por
ejemplo si tenemos un lápiz, las acciones que podríamos hacer con el serían dibujar, borrar,
escribir… a estas acciones que realizan los objetos se conocen como métodos en la programación
orientada a objetos.

Los objetos que son similares podemos agruparlos en clases, como lo entendemos en el mundo
real, por ejemplo tenemos una clase felino, podemos decir que ciertos animales caen en está
clasificación, como son: un gato, un tigre, un leopardo, un león, entre otros… a su vez cada uno de
estos felinos tiene ciertas características como son: color, peso, tipo de alimentación, tamaño y
pueden realizar ciertas acciones como son: comer, dormir, correr. En programación orientada a
objetos la clase es felino, los objetos serían el gato, el tigre, el leopardo, el león… donde a su vez
cada objetos tiene sus atributos (color, peso, tipo de alimentación, tamaño) y métodos (comer,
dormir, correr).
Programación Orientada a Objetos
Profesor: Ángel Roldán
Artículo de herramientas

Hoy en día la tecnología orientada a objetos ya no se aplica solamente a los lenguajes de


programación, además se viene aplicando en el análisis y diseño con mucho éxito, al igual que en
las bases de datos. Es que para hacer una buena programación orientada a objetos hay que
desarrollar todo el sistema aplicando esta tecnología, de ahí la importancia del análisis y el diseño
orientado a objetos.

La programación orientada a objetos es una de las formas más, populares de programar y viene
teniendo gran acogida en el desarrollo de proyectos de software desde los últimos años. Esta
acogida se debe a sus grandes capacidades y ventajas frente a las antiguas formas de programar.

La creciente tendencia de crear programas cada vez más grandes y complejos llevó a los
desarrolladores a crear una nueva forma de programar que les permita crear sistemas de niveles
empresariales y con reglas de negocios muy complejas. Para estas necesidades ya no bastaba la
programación estructurada ni mucho menos la programación lineal. Es así como aparece la
programación orientada a objetos (POO). La POO viene de la evolución de la programación
estructurada; básicamente la POO simplifica la programación con la nueva filosofía y nuevos
conceptos que tiene. La POO se basa en la dividir el programa en pequeñas unidades lógicas de
código. A estas pequeñas unidades lógicas de código se les llama objetos. Los objetos son
unidades independientes que se comunican entre ellos mediante mensajes.

El modelo Orientado a Objetos


Para entender este modelo vamos a revisar 4 conceptos básicos:

 Objetos
 Clases
 Herencia
 Envío de mensajes

Lo interesante de la POO es que proporciona conceptos y herramientas con las cuales se modela y
representa el mundo real tan fielmente como sea posible.

La orientación a objetos requiere de una metodología que integre el proceso de desarrollo y un


lenguaje de modelamiento con herramientas y técnicas adecuadas.

También podría gustarte