Monografias.com > Computación > Software
Descargar Imprimir Comentar Ver trabajos relacionados

Software orientado a Objetos




Enviado por ijelchuk



    Significa que el soft se organiza como una
    colección de objetos discretos que contiene tanto estructura de
    datos como también un comportamiento, sus características son:

    1. Identidad: Los datos
      están cuantificados en entidades discretas y
      distinguibles denominadas objetos, por ejemplo una persona, los
      objetos pueden ser tangibles (como un archivo) o
      intangibles.
    2. Clasificación: Los objetos con la misma
      estructura
      de datos
      (atributos) y comportamiento (operaciones) se
      agrupan para formar una misma clase, se dice que cada objeto es
      una instancia de su propia clase, y una clase es una
      abstracción que describe propiedades importantes para
      una aplicación y se olvida del resto.
    3. Polimorfismo: Significa que una misma
      operación puede comportarse de modos distintos en
      distintas clases, una operación es una acción o
      transformación que se aplica a un objeto
    4. Herencia: Comparte atributos y operaciones
      entre clases tomando como base una relación
      jerárquica, es decir que puedo definir una clase que
      después producirá subclases, sabiendo que todas
      las subclases adquirirán todas y cada una de las
      propiedades de su super-clase y le agrega además sus
      propiedades exclusivas

    Clases de modelos para
    describir el sistema

    1. Modelo de objeto: Gráfico cuyos nodos
      son clases de objetos y cuyos arcos son relaciones entre
      clases.
    2. Modelo dinámico: Gráfico cuyos
      nodos son estados y cuyos arcos son transiciones entre estados
      causados por sucesos.
    3. Modelo funcional: Son gráficos cuyos
      nodos son procesos y
      cuyos arcos son flujos de datos.

    Que representa cada uno de los
    modelos

    1. Modelo de objeto: Representa los aspectos
      estáticos, estructurales de datos del sistema.
    2. Modelo dinámico: Representa los
      aspectos temporales de comportamiento del sistema.
    3. Modelo funcional: Representa los aspectos
      transformacionales de función del sistema.

    Relaciones entre
    modelos

    El modelo de
    objeto describe las estructuras de
    datos sobre las cuales operan los modelos dinámicos
    y funcional, las operaciones del modelo de
    objeto se corresponden con sucesos en el modelo
    dinámico
    y con funciones en el
    modelo funcional.

    Modelado de objeto

    El propósito del modelado de objeto es describir
    los objetos, un objeto es una abstracción con
    límites bien definidos y con significado a efectos del
    problema que se tenga entre manos.

    Clase: Una clase de objeto describe un grupo de
    objetos con atributos similares, con relaciones comunes con otros
    objetos y con una semántica común.

    Diagrama de objetos: Proporciona una
    notación gráfica formal para el modelado de
    objetos, de clases y sus relaciones entre si.

    Diagrama de clases: Describen las clases de
    objetos, es un esquema para describir muchas instancias de
    datos.

    Diagrama de instancias: Describen la forma en que
    un cierto conjunto de objeto se relaciona entre si

    clase

    objeto

    Persona

    García, Juan Daniel

    Atributos

    Es un valor de un
    dato que está almacenado en los objetos de una clase, los
    atributos deberán ser valores puros
    de datos y no objetos, se enumeran en la segunda parte del cuadro
    de clases, el nombre de cada atributo puede ir seguido por
    detalles como el tipo y el valor por
    omisión, los cuales son precedidos por dos puntos
    (:)
    y por el sigo igual (=), en algunos casos se
    pueden omitir los atributos en los modelos de
    objetos (depende del grado de detalles)

    Ejemplo:

    Persona

     

    (persona)

     

    (persona)

    Nombre: Cadena

    Edad: Entero

     

    Juan García

    24

     

    José Pérez

    22

    Operaciones y métodos: Una operación es una
    función o transformación que puede ser aplicada por
    los objetos de una clase, todos los objetos de una clase
    comparten las mismas operaciones y una misma operación
    puede aplicarse a clases distintas, cada operación es
    polimórfica, es decir que una misma operación
    adopta distintas formas en distintas clases.

    Un Método es
    la implementación de una operación para una clase,
    por ejemplo la clase archivo puede
    tener la operación imprimir y se puede implementar
    de distintos métodos
    para hacerlo (ASCII, binario,
    etc.), todos los métodos realizan la misma tarea lógica.

    Operaciones en las clases: Las operaciones que
    únicamente calculan un valor funcionas sin modificar
    ningún objeto se denomina consulta.

    Resumen de la notación del
    modelo de objeto para clases:

    Nombre de la clase

    Nombre del atributo 1 : tipo de dato 1 = valor por
    omisión 1

    Nombre del atributo 2 : tipo de dato 2 = valor por
    omisión 2

    Nombre de la operación 1 (lista de
    argumentos 1) : tipo de resultado 1

    Nombre de la operación 2 (lista de
    argumentos 2) : tipo de resultado 2

    Enlaces y asociaciones

    Son los medios para
    establecer relaciones entre objetos y clases, un enlace es una
    conexión física o conceptual
    entre instancias de objetos, matemáticamente se define
    como un ente ordenado de instancias de objetos, un enlace es una
    instancia de una asociación, esta describe un grupo de
    enlaces con estructura y
    semántica comunes, las asociaciones describen un conjunto
    de enlaces potenciales, del mismo modo que las clases describen
    un conjunto de objetos potenciales, y suelen implementarse en los
    lenguajes de
    programación como punteros que van de un objeto a
    otro. La notación para las asociaciones es una
    línea entre clases, y los enlaces es una línea
    entre objetos, el nombre de la asociación se pone en
    cursiva.

    Ejemplo (asociación uno a uno):

    Definición de clases

    país

    Capital

    ciudad

    nombre

     

    nombre

    Definición de instancias

    (país)

    Capital

    (ciudad)

    Francia

     

    París

    Multiplicidad

    Limita el número de objetos relacionados, los
    diagramas de
    objetos lo indican mediante símbolos al final de la
    línea de asociación, subestimar la multiplicidad
    puede evitar la flexibilidad de una aplicación, una
    subestimación de la misma impone gastos
    adicionales extraordinarios.

    Conceptos avanzados de enlaces y
    asociaciones

    Un atributo de un enlace es una propiedad de
    los enlaces de una asociación. Todo atributo de enlace
    tiene un valor para cada enlace.

    Rol

    Es un nombre que identifica en forma única un
    extremo de la asociación, el uso de nombres de rol
    proporciona una forma de recorrer las asociaciones desde un
    objeto de un extremo sin mencionar explícitamente la
    asociación, los roles pueden aparecer como sustantivos en
    la descripción del problema.

    Clasificación

    Normalmente los objetos del lado muchos en una
    asociación no tienen un orden explícito y se pueden
    considerar como un conjunto, la clasificación es una parte
    inherente de la asociación, si es un conjunto ordenado de
    objetos se escribe ordenado o clasificado al lado
    del símbolo de multiplicidad.

    Cualificación

    Una asociación cualificada relaciona dos clases
    de objetos y una cualificada, este es un atributo especial que
    reduce la multiplicidad efectiva de una asociación, las
    asociaciones 1 a N o N a M pueden ser
    cualificadas, las cuales también se pueden considerar como
    una forma de asociación ternaria.

    Agrupación

    Es una forma fuerte de asociación, los
    componentes de algo se asocian a un objeto que representa el
    ensamblaje completo. La agrupación es una forma especial
    de asociación, no un concepto
    independiente, si dos objetos están acoplados mediante una
    relación todo – parte se trata de una
    agrupación, si los dos objetos suelen considerarse
    independientes entonces se trata de una asociación; entre
    las pruebas
    distintivas se incluye:

    1. Utilizaría Ud. la frase "parte –
      de".
    2. Hay algunas operaciones (del todo) que se aplican
      automáticamente a las partes.
    3. Hay algunos valores de
      atributos (del todo), que se propagan del todo a todas
      las partes o a algunas de ellas.
    4. Existe una asimetría intrínseca de la
      asociación de tal modo que una clase de objeto sea
      subclase de otra.

    Arbol de
    agrupación

    Es una notación taquigráfica que resulta
    mucho más sencilla de dibujar que muchas líneas que
    contienen los componentes para formar un ensamblado.

    Agregados recursivos

    Una agregación puede ser fija, variable o
    recursiva, los agregados fijos tienen una estructura fija que
    será el número y tipo de las partes componentes que
    están predeterminadas, los agregados variables
    tienen un número finito de niveles, pero el número
    de partes puede variar, los agregados recursivos contienen
    directa o indirectamente una instancia de esa misma clase de
    agregado, el número de niveles es ilimitado, la forma
    habitual de un agregado recursivo es una superclase y dos
    subclases en las cuales una es un nodo intermedio del agregado y
    otra es un nodo terminal del agregado

    Generalización y
    herencia

    Son potentes abstracciones para compartir similitudes
    entre clases al mismo tiempo que se
    mantienen sus diferencias, la generalización es la
    relación entre una clase y una o más reuniones de
    esa misma clase que conecta a la superclase con sus subclases, la
    leyenda a la par del triángulo son discriminadores que
    indica que propiedad del
    objeto está siendo abstraído por una
    relación de generalización en
    particular.

    la herencia ha
    llegado a ser un sinónimo de reutilización del
    código dentro de la programación orientada a objeto,
    frecuentemente hay un código que está disponible de
    trabajos anteriores (biblioteca), la
    aplicación más importante es la
    simplificación conceptual que proviene de reducir el
    número de características independientes dentro del
    sistema.

    La generalización y especialización son
    dos puntos de vistas distintos, la primera proviene del hecho de
    que la superclase generaliza a la subclase y la segunda hace
    alusión al hecho de que la subclase especializa a la
    superclase, una subclase puede anular una característica
    de una superclase definiendo una característica del mismo
    nombre, se hace para obtener un mejor rendimiento.

    Herencia
    múltiple

    Permite que una clase tenga más de una superclase
    y que herede características de todas ellas, esto permite
    mezclar información procedente de dos o mas
    fuentes, una
    clase con más de una superclase se denomina clase
    unión.

    Módulo

    Es una construcción lógica
    para agrupar clases, asociaciones y generalizaciones, sus
    límites son ligeramente arbitrarios y son materia
    opinable, el nombre del módulo debe especificarse en la
    parte superior de la hoja, los módulos nos permiten
    descomponer al modelo en segmentos manejables.

    Hojas

    Una hoja es el mecanismo para descomponer un modelo de
    objetos grande, en un conjunto de páginas; por lo general
    no pondremos más de un módulo por folio, una hoja
    es una notación cómoda, no una
    estructura lógica.

    Clases abstractas

    Es una clase que no tiene instancias directas, en
    cambio una
    clase concreta puede unir instancias discretas, una clase
    concreta puede formar subclases abstractas.

    Metadatos

    Son datos que describen datos, por ejemplo: La
    definición de clases, los módulos, los planos,
    etc.

    Claves candidatas

    Es un conjunto mínimo de atributos que definen de
    manera unívoca un objeto. Una clase puede tener más
    de una clave candidata, cada una de las cuales tendrá
    distintas combinaciones y número de atributos.

    La etiqueta de un objeto es siempre una clave candidata
    de una clase, para las asociaciones son claves candidatas una o
    más combinaciones de objetos relacionados.

    Modelo Dinámico

    Los aspectos del sistema que están relacionados
    con los tiempos y con los cambios constituyen lo modelos
    dinámicos, los conceptos más importantes del
    modelado dinámico son: Los recursos
    (estímulos externos) y los estados (valores de los
    objetos).

    Sucesos y enlaces

    Estados: Son los valores de
    los atributos y de los enlaces mantenidos por un objeto, un
    diagrama de
    estado es una
    red de estados y
    recursos, el
    modelo dinámico consta de múltiples diagramas de
    estado, cada
    uno de ellos para cada clase que contenga un comportamiento
    dinámico importante y muestre la actividad del
    sistema.

    Suceso: Es algo que transcurre durante un
    período de tiempo (ej. "el
    vuelo 341 sale a Córdoba"); dos sucesos que no tienen
    relación causal son concurrentes, no tienen efecto entre
    sí, un suceso es una transmisión de información de dirección única entre un objeto y
    otro.

    Todo suceso se agrupa en clases a los que se les da un
    nombre para una comodidad de estructura (jerárquica) y de
    comportamiento, todo suceso aporta información de un
    objeto a otro, los valores de
    los datos aportados son sus atributos.

    Escenario: Es una secuencia de sucesos que se
    producen durante una ejecución completa de un sistema, el
    ambiente puede
    incluir a todos los sucesos o solo a aquellos que afecten a
    algunos objetos del sistema, el paso siguiente a la escritura de
    un escenario consiste en identificar a los objetos emisores y
    receptores de cada suceso. Los objetos que intercambian sucesos
    se pueden mostrar en un ambiente
    mejorado llamado diagrama de segmentos de trazos de
    sucesos
    .

    Actividad: Es una operación cuya
    realización requiere un cierto tiempo, toda actividad esta
    asociada a un estado; entre las actividades se encuentran las
    operaciones continuas, un estado puede controlar una actividad
    continua, la cual persiste hasta que se produce un suceso que le
    da fin, produciendo una transición que sale de ese
    estado

    Acción: Es una operación
    instantánea que va asociada a un suceso, las acciones
    también pueden representar operaciones internas de
    control, tales
    como dar un valor a un atributo o generar otros sucesos, estas
    acciones son
    mecanismos para estructurar el control dentro de
    una implementación.

    Relación entre los modelos de
    objetos y dinámicos

    Los sucesos se pueden representar como operaciones en el
    modelo de objeto. Un solo objeto puede tener distintos estados a
    lo largo del tiempo, pero no puede tener distintas clases. Las
    diferencias inherentes entre objetos son modelados correctamente
    como clases distintas, mientras que las diferencias temporales
    son modelados correctamente como distintos estados entre los
    miembros de una misma clase.

    Algunos consejos:

    1. Solo hay que construir diagramas de estados para las
      clases que tengan un comportamiento
      dinámico.
    2. Para comenzar la construcción del diagrama de
      estado hay que utilizar escenarios como ayuda.
    3. Solo hay que considerar los atributos
      relevantes
    4. Solo hay que dejar que la aplicación distinga
      acciones y actividades.
    5. Cuando un estado tiene múltiples transiciones
      entrantes y todas hacen que se produzca una misma
      acción, hay que poner las acciones dentro de cuadros de
      estados, anteponiendo el suceso de entrada en lugar de
      enumararlas en arcos de transición (lo mismo para los
      sucesos de salida).
    6. Intente hacer que los diagramas de estado de las
      subclases sean independientes de los diagramas de estados de
      sus superclases, estas deberían concentrarse en los
      atributos exclusivos de esas subclases.

    Modelo funcional

    Muestra la forma
    en la que se derivan los valores producidos en un cálculo a
    partir de los valores introducidos, sin tener en cuenta el orden
    en que se calculan, consta de múltiples DFD que muestran
    el flujo de valores desde las entradas externas a través
    de las operaciones y almacenes hasta
    las salidas externas, las DB suelen tener un modelo funcional no
    importante.

    DFD: Muestra las
    relaciones funcionales entre los valores calculados por un
    sistema incluyendo los valores introducidos, los obtenidos y los
    almacenes
    internos de datos. Un DFD contiene procesos que
    transforman datos, flujos de datos, objetos actores que producen
    y consumen datos y almacenes de datos que los almacenan en forma
    pasiva.

    Procesos: Transforma valores de datos, los de
    bajo nivel son funciones puras
    sin efectos laterales, un gráfico completo e un flujo de
    datos es un proceso de
    alto nivel y pueden tener efectos laterales como almacenes de
    datos de objetos externos.

    Flujo de datos: Conecta la salida de un objeto o
    proceso con la
    entrada de otro objeto o proceso, se dibuja como flechas entre el
    productor y el consumidor (de
    valores de datos). La flecha esta rotulada con una
    descripción de los datos.

    Actores: Es un objeto activo que controla el
    gráfico de flujo de datos produciendo o consumiendo
    valores, están asociados a las entradas y a las salidas
    del gráfico de flujo de datos, se denominan también
    terminador.

    Almacén de datos: Es un objeto pasivo
    dentro de un DFD, a diferencia de los actores no genera ninguna
    operación por si mismo, sino que almacena y accede a
    datos.

    Gráficamente: dos líneas paralelas
    y un nombre nombre

    Flujo de control: Un diagrama de flujo
    de control muestra todas las posibles vías de computación para los valores, no muestra
    cuales son las vías que se ejecutan ni en que orden, se
    muestran con una línea discontinua que va de un proceso
    que produce un valor hasta el que se está
    controlando.

    Este es un resumen de la materia
    homónima dictada en el año 1997 en la Universidad
    Tecnológica Nacional – Facultad Regional Tucumán,
    ciudad de San Miguel de Tucumán – Argentina

     

     

    Autor:

    Carlos A. Ijelchuk

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter