adoo - 06 modelo de estructura de objetos

Upload: el-gato-con-botas

Post on 03-Jun-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/12/2019 ADOO - 06 Modelo de Estructura de Objetos

    1/9

    Modelo de Estructura de Objetos (OSM) UML: Diagrama de Clases (ClassDiagram)

    El OSM es el modelo fundamental que provee un medio uniforme paramodelar el sistema desde la captura de requerimientos en la etapa inicial delanlisis hasta la implementacin, atravesando todo el ciclo de desarrollo delsistema.

    Este modelo identifica:

    Las clases de objetos en la aplicacin. Como las clases de objetos se asocian unas con otras. Como se comunican los objetos. Los detalles de cada clase de objetos, incluyendo atributos y operaciones.

    Durante el proceso de anlisis y diseo, el OSM es definido en sucesivosniveles incrementales de detalle, hasta que el nivel necesario para laimplementacin es alcanzado. Todos los dems modelos capturan detalles quealimentan este modelo.

    El desarrollo de OSM es un proceso aditivo, diferencindose del enfoquetransformacional caracterstico de otros mtodos como el estructurado, donde losDFD son transformados en diagramas de estructura, con los consiguientes

    problemas que esto acarrea.

    COMPONENTES DEL OSM.

    1) Clases de Objetos.

    Objetos Entidad.

    Representan algo real o abstracto sobre el cual el sistema necesitaalmacenar datos. Representa la memoria esencial del negocio. Los objetos del

    negocio (business objects) son normalmente objetos entidad. Se representan en elOSM con el siguiente smbolo:

    Objetos Interface.

    Representan los objetos tcnicos requeridos para vincular la aplicacin conel entorno. Representan el vnculo a travs del cual el sistema recibe o suministra

    NOMBRE CLASE

  • 8/12/2019 ADOO - 06 Modelo de Estructura de Objetos

    2/9

    datos e informacin al entorno. Tpicamente incluyen interfaces con el usuario(pantallas, reportes, etc.) e interfaces con otras aplicaciones. Se representan en eldiagrama de estructura de objetos con el siguiente smbolo:

    Objetos de Con trol .

    Contienen comportamiento que no pertenece naturalmente ni a ObjetosEntidad ni de Interfaz. Son normalmente objetos transitorios, como ser uncontrolador de reportes. Se representan en el diagrama de estructura de objetoscon el siguiente smbolo:

    Clases abstractas y concretas .

    Una clase de la cual pueden generarse instancias particulares (objetos), sedenominan clase concreta.

    Una clase abstracta es aquella que no tiene instancias (objetos) propias.Las clases abstractas son un poderoso mecanismo conceptual para definirestructuras comunes de atributos, operaciones y restricciones, reutilizadas atravs de la herencia por mltiples clases concretas.

    En el diagrama de estructura de objetos una clase abstracta se representacon un rectngulo punteado.

    2) Caractersticas de las Clases de Objetos.

    Operaciones.

    Una operacin define un servicio ofrecido por un objeto junto con lainformacin que debe suministrarse cuando es invocado (nombre, argumentos deentrada y/o salida). Tambin puede contener una especificacin de mtodo, elcual especifica una implementacin para la operacin.

    Durante la etapa de Anlisis o Diseo Lgico pueden utilizarse tpicamentetexto libre o pseudocdigo. Durante el Diseo Fsico dichas especificaciones sontrasladadas a un lenguaje de programacin especfico, como por ejemplo: C++,Java, Visual Basic, etc.

    Interface

    Nombre Clase

    NOMBRE CLASE

  • 8/12/2019 ADOO - 06 Modelo de Estructura de Objetos

    3/9

    Algunas operaciones pueden asumirse que existen para cada clase deobjetos sin identificarlas formalmente. Estas son llamadas operaciones implcitas.Las operaciones implcitas ms importantes son: Crear, Destruir, Leer y Actualizar.Una operacin implcita debe ser formalmente definida cuando sus pre y postcondiciones no sean triviales.

    La identificacin y especificacin de operaciones es una tarea clave duranteel Diseo Lgico.

    Atributos.

    Son valores de datos asociados a los objetos de una clase a la cualdescriben. Estn fuertemente asociados con la clase de objetos que los contienen,de tal forma que no tienen existencia independiente o identidad de objeto. Ladecisin de cuando un tem debe considerarse como atributo o como clase varade sistema en sistema, dependiendo de su semntica en el dominio del problema,es decir, lo que en un sistema se modela como atributo en otro puede modelarsecomo una clase.

    Cada atributo identificado debe ser atmico en el sentido de que debe sertratado como una unidad, es decir, puede ser un valor simple o un grupo devalores tratados siempre como una unidad (PE. Direccin). Debe notarse que lasclases no se modelan en formas normales. La decisin sobre la estructura dedatos a utilizar se difiere hasta el Diseo Fsico.

    Los atributos pueden basarse en definiciones de tipos de atributos, lo cualprovee una definicin estndar sobre formato, longitud y dominio de valores paraatributos del mismo tipo.

    Restr icciones.

    Las restricciones pueden especificarse sobre los valores que un atributopuede tomar. La implementacin de las restricciones puede realizarse dediferentes formas:

    Reglas de validacin durante los procesos de entrada de datos (userinputs).

    Database-level triggers Lgica de control contenida en una o ms operaciones.

  • 8/12/2019 ADOO - 06 Modelo de Estructura de Objetos

    4/9

    3. Asociaciones entre Objetos.

    a) Relac io nes Est tic as.

    Las relaciones estticas describen como los objetos se asocian unos con

    otros en la misma forma que en el modelo Entidad-Relacin. Identifican as mismodependencias entre objetos, cuando un objeto requiere de la existencia de otro yasea de la misma clase o de otra. Las relaciones estticas se establecenusualmente entre objetos de tipo entidad.

    Al igual que los atributos, las relaciones modelan informacin sobre unobjeto (cosas que un objeto debe conocer sobre s mismo). Estas son propiedadesde un objeto. Los atributos son valores de datos. Las relaciones son valores quese referencian otros objetos.

    Una relacin esttica se representa en el diagrama de estructura de objetoscomo una lnea slida entre las clases de objetos, con smbolos de cardinalidad ensus extremos. Las relaciones pueden etiquetarse para identificar el propsito de laasociacin. El diseador puede optar por:

    Un nombre para cada direccin de la relacin. Un nombre para una direccin de la relacin. Un solo nombre que representa ambas direcciones de la relacin. Sin nombre.

    Por cuestiones de simplicidad, las relaciones son modeladas como binarias,es decir, solo dos clases de objetos, no necesariamente distintas, participan enrelacin. Es posible que entre el mismo par de clases exista ms de una relacin.

    La cardinalidad identifica el nmero mximo y mnimo de instancias de unaclase (objetos) que participan en una relacin dada, en el mismo sentido que lohacen en el modelo Entidad-Relacin. En el diagrama de estructura de objetosutilizaremos la notacin de "pata de gallo" para especificar cardinalidades, aunquepuede utilizarse otras como ser pares ordenados, flechas (Bachmann), etc.

    Pueden observarse las siguientes cardinalidades:

  • 8/12/2019 ADOO - 06 Modelo de Estructura de Objetos

    5/9

    b) Herencia.

    La herencia es el mecanismo a travs del cual los atributos, operaciones y

    restricciones definidas para una clase, denominada superclase, pueden serheredados (reutilizados) por otra clase denominadas subclases. La herencia utilizael principio "es un tipo de.. Una subclase puede redefinir operaciones heredadas.

    Adicionalmente, una subclase puede definir nuevos atributos y operaciones.

    Se distingue entre herencia simple y mltiple. La herencia simple se dacuando una subclase hereda de una nica superclase. En el caso de la herenciamltiple, una subclase puede heredar de varias superclases.

    En el OSM, la relacin de herencia se representa de la siguiente manera:

    Por ejemplo:

  • 8/12/2019 ADOO - 06 Modelo de Estructura de Objetos

    6/9

    c) Agregacin.

    La agregacin es un tipo de asociacin fuerte, donde los objetos de unaclase se componen de objetos de otra(s) clase (s). Se diferencia de las relacionesestticas en la fuerza semntica del vnculo. En una relacin de agregacin unobjeto compone otro. En la relacin esttica existe un vnculo pero no unacomposicin. La agregacin es la aplicacin del principio el todo y sus partes

    En el OSM, la relacin de agregacin se representa de la siguiente manera:

    Por ejemplo:

  • 8/12/2019 ADOO - 06 Modelo de Estructura de Objetos

    7/9

    d) Comunicacin por Mensajes.

    Las asociaciones por comunicacin pueden utilizarse para mostrar queobjetos de una clase se comunican con objetos de otra clase o de la misma. Unaasociacin por comunicacin corresponde al conjunto de mensajes que sonenviados por los objetos de una clase a los objetos de otra clase o de la misma.Tpicamente, la asociacin por comunicacin es la nica asociacin existenteentre objetos de los tres diferentes tipos.

    En el OSM, la asociacin por comunicacin se representa de la siguientemanera:

    4. Consideraciones: Tcnicas avanzadas de OSM.

    Visibilidad Define que objetos puede acceder y utilizar los atributos yoperaciones de un objeto dado.

    Pblico: todos. Protegido: Slo desde el objeto mismo y operaciones definidas en

    subclases. Privado: Slo desde el objeto mismo. Atributos identificadores. Son atributos o grupos de atributos que

    identifican unvocamente un objeto de una clase, se corresponde con elconcepto de Clave del modelo E-R.

    Atributos Derivados. Son atributos cuyo valor puede obtenerse a partir delos valores de otros atributos.

  • 8/12/2019 ADOO - 06 Modelo de Estructura de Objetos

    8/9

    Relaciones Derivadas. Relaciones transitivas que se derivan de otrasrelaciones estticas. En el OSM las relaciones derivadas se representan dela siguiente manera:

    Relaciones Ordenadas. Los objetos del extremo "muchos" de una relacin sepresentan en forma ordenada. Es particularmente til para especificar que losobjetos componentes de un agregado estn ordenados. Por ordenado,entendemos que los objetos componentes sern accedidos en una secuenciaespecfica predefinida. En el OSM las relaciones ordenadas se representan de lasiguiente manera:

    Atributos y Operaciones de Clase. Definen el comportamiento de la clase mismams all del comportamiento de sus instancias. Los atributos de la clase sonutilizados para registrar datos comunes a todos los objetos (instancias) de unamisma clase. Las operaciones de clase actan sobre la clase misma como unobjeto. El caso tpico son las operaciones Crear y Destruir.

    Modelo de Datos vs Modelo de Objetos

    - Una BD se desarrolla mediante un Modelo de Datos.1. Se construye el Modelo de Datos sobre el dominio de la

    aplicacin.2. Se transforma del Modelo de Datos en un Diseo de la

    BD mediante la aplicacin de una serie de transformaciones

    estndar (normalizacin).- Un Sistema de Objetos se construye modelando mediantetcnicas diferentes, pues las tcnicas del Modelo de Datos son bastantelimitadas para soportar el Modelo de Objetos.

    Consejos prcticos

    o No comenzar construyendo diagramas de clases; primero, esnecesario comprender el problema.

    o Intentar mantener el Modelo sencillo.

    o Seleccionar con cuidado los nombres.o No introducir punteros o referencias a otros objetos como

    atributos.o Intentar evitar asociaciones n-arias.o No intentar establecer el grado de multiplicidad perfecto al

    principio.o No introducir atributos de enlace dentro de la clase.

  • 8/12/2019 ADOO - 06 Modelo de Estructura de Objetos

    9/9

    o Utilizar asociaciones cualificadas donde sea posible.o Intentar evitar generalizaciones profundamente anidadas.o Intentar asociaciones uno a uno.o No se sorprenda si su modelo requiere una revisin.o Documentar siempre los Modelos de Objetos.