Diagrama de Clases SPI 2016.

Slides:



Advertisements
Presentaciones similares
Instituto Universitario de Gerencia y Tecnología N - Análisis de Sistemas DIAGRAMA DE CLASES INTEGRANTES: LEIVYS MAZA Informática Mención 205 Profesor:
Advertisements

Tomado de:
UML 1.4 Peter Emerson Pinchao Solis.
PROGRAMACION ORIENTADA A OBJETOS

Diagrama de Clases ACI 570.
Introducción a UML DIAGRAMA DE CLASES Departamento de Informática
Programación Orientada a Objeto
Clasificación de Diagramas
Introducción a la Programación Orientada a Objetos (POO)
DIAGRAMA DE CLASES.
UML Casos de Uso (repaso) y Diagramas de Clase
La Programación Orientado a Objetos
Diagrama de Clases.
Diagrama de clases Silvia Herzovich Rodrigo Aronas Matias Silversteyn.
Unified Modeling Language (UML) Unified Modeling Language (UML) Lenguaje Unificado de Modelado ConceptosBásicos.
Conferencia 1: Principios de la Tecnología de Objetos Conceptos básicos de la Orientación a Objetos.
2012-BM5A. Introducción Todos los lenguajes de programación son distintos entre si. Sin embargo, pueden ser agrupados según la forma de pensar y estructurar.
PROGRAMACIÓN ORIENTADA A OBJETOS SEGUNDA UNIDAD: “CLASES, OBJETOS Y MÉTODOS” IRVING YAIR SALAS CHÁVEZ ING. EN SISTEMAS COMPUTACIONALES - ITSLP.
Modelo Entidad Relación E-R Modelado y Diseño de Bases de Datos Gabriel Alberto Vásquez Muñoz Dpto. Electrónica, Instrumentación y Control.
Unidad Didáctica 11 Reutilización Versión 1.0.0
Clases y Objetos.
METODOLOGÍA DE SISTEMAS
DISEÑO DE SISTEMAS Diagrama de clases UNIDAD III:
Ingeniería Directa. Generar código a través de modelos se le conoce como ingeniería directa.
Programación Avanzada
Universidad de los Andes
Modelo Entidad-Relación
Herencia Implementación en Java.
Programación Orientada a Objetos
U.T. 11: Introducción A Las Bases De Datos
Diseño del modelo de datos 2013
Fundamentos de la programación orientada a objetos
Modelo de Datos Conceptual
Programación Avanzada
¿Qué es una clase? Las clases en Java son básicamente una plantilla (tipo o prototipo) que sirve para crear un objeto. Si imaginásemos las clases en el.
Tema El modelo entidad-relación Bibliografía:
Introducción a programación web Martin Esses
Modelo Entidad-Relación
Introducción a programación web Martin Esses
Diagramas de clases Modelan la vista estática del sistema
Programación orientada a objetos
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
Ingeniería de Software Somerville
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno. INTRODUCCIÓN A UML  QUE ES UML?  PARA QUE SE UTILIZA  COMPONENTES  DIAGRAMAS.
DIAGRAMA DE CLASES 2016 Ramos, Pablo.
Tema 3. Lenguaje unificado de modelado UML
Herencia Agustín J. González ELO329.
Introducción al UML Domingo Hernández H.
DIAGRAMA DE CLASES.
Diagramas del modelo uml
Programación Orientada a Objetos
DIAGRAMA DE CLASE.
Ejercicios de Diagramas de Clases
Clases y objetos.
Conceptos de Objetos, Clases y Otros Modelo Conceptual
ANALISIS DE SISTEMAS ANALISIS ORIENTADO A OBJETOS.
Patrones de Diseño Sistemas de Información II – IS 445 Docente: Lisber Arana Hinostroza Mayo
Herencia en C++ Agustín J. González ELO329.
Diagrama de Clases Un diagrama de clases esta compuesto por los siguientes elementos: Clase: atributos, métodos y visibilidad. Relaciones: Herencia, Composición,
Diagramas de clases Modelan la vista estática del sistema
CC Bases de Datos Otoño Clase 3: Modelo Entidad-Relación (II)
1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES.
PRESENTACION DE INGENIERIA ORIENTADA A OBJETOS. INTRODUCCION. ¿ Qué es UML ?. UML, por sus siglas en Ingles, Unified Modeling Languaje.(Lenguaje Unificado.
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno. INTRODUCCIÓN A UML  QUE ES UML?  PARA QUE SE UTILIZA  COMPONENTES  DIAGRAMAS.
Herencia en C++ Agustín J. González ELO329.
Unida III: Análisis y Diseño de Sistemas Orientado a Objetos
INTRODUCCIÓN A UML.  QUE ES UML?  PARA QUE SE UTILIZA  COMPONENTES  DIAGRAMAS.
Tema 5 H erencia. La herencia es una forma de reutilización de software en la que las clases se crean incorporando los datos (atributos) y el comportamiento.
Unida III: Análisis y Diseño de Sistemas Orientado a Objetos
Transcripción de la presentación:

Diagrama de Clases SPI 2016

Fases para Desarrollo de Software a) Relevamiento b) Análisis c) Diseño d) Desarrollo e) Capacitación f) Mantenimiento

UML Diferentes Tipos de Diagramas

Que es un diagrama de clases? Un diagrama de clases es un tipo de diagrama estático que describe la estructura de un sistema mostrando sus clases, atributos y las relaciones entre ellos. Los diagramas de clases son utilizados durante el proceso de análisis y diseño de los sistemas, donde se crea el diseño conceptual de la información que se manejará en el sistema.

Ejemplos Ejemplo 1 Una persona tiene número de documento de identificación, nombres, apellidos, fecha de nacimiento, género, dirección postal, posiblemente también tenga número de teléfono de casa, del móvil, FAX y correo electrónico. Ejemplo 2 Un sistema informático puede permitir administrar la cuenta bancaria de una persona, por lo que tendrá un número de cuenta, número de identificación del propietario de la cuenta, saldo actual, moneda en la que se maneja la cuenta.

Que es una Clase? Es la unidad básica que encapsula toda la información de un Objeto (un objeto es una instancia de una clase). A través de ella podemos modelar el entorno que se desea estudiar (una Casa, un Auto, una Cuenta Corriente, etc.). Generalmente representa un sustantivo (persona, lugar o cosa)

Objeto e Instancia Es la instancia de una clase. La clase define objetos. El objeto es cada elemento de la case. Clase: Coche Objetos: VW Gol, Ferrari, Audi A3, etc…

Atributo Los atributos son las características de una Clase. Definen el grado de comunicación y visibilidad de ellos con el entorno. Cada atributo tiene un nombre y un tipo: Integer, String, Double, etc. Pueden ser de tres tipos: Public (+): Indica que el atributo será visible tanto dentro como fuera de la clase, es decir, es accesible desde todos lados. Private (-): Indica que el atributo sólo será accesible desde dentro de la clase (sólo sus métodos lo pueden acceder). Protected (#): Indica que el atributo no será accesible desde fuera de la clase, pero si podrá ser accedido por métodos de la clase y de las subclases que se deriven (herencia).

Métodos Los métodos u operaciones de una clase son la forma en como ésta interactúa con su entorno. Éstos pueden tener las características: Public (+): Indica que el método será visible tanto dentro como fuera de la clase, es decir, es accesible desde todos lados. Private (-): Indica que el método sólo será accesible desde dentro de la clase (sólo otros métodos de la clase lo pueden acceder). Protected (#): Indica que el método no será accesible desde fuera de la clase, pero si podrá ser accedido por métodos de la clase y de métodos de las subclases que se deriven (ver herencia).

Ejemplo Clase Atributos Métodos Gol Trend, Focus, etc. Objeto

Relaciones

Cardinalidad La cardinalidad de las relaciones indica el grado y nivel de dependencia, se anotan en cada extremo de la relación y éstas pueden ser: Uno o muchos: 1..* (1..n) 0 o muchos: 0..* (0..n) Número fijo: m (m denota el número).

Asociación Una asociación implica que dos elementos del modelo tienen una relación. Es una relación estructural entre las clases. La primera es una asociación bidireccional que representa que un curso tiene desde 1 hasta varios alumnos y que un alumno puede estar en 0 o varios cursos. La segunda es una asociación unidireccional que representa que una asignatura tiene un único profesor responsable.

Asociaciones - Posibilidades

Agregación La agregación es un tipo de asociación que indica que una clase es parte de otra clase. El objeto contenedor seguirá existiendo aunque los objetos contenidos dejen de existir. Por ejemplo una clase Ciudad tiene una lista de aeropuertos.

Composición Es un tipo de asociación, pero podemos decir que son agregaciones fuertes. La diferencia con las agregaciones es que no tiene sentido que el objeto contenedor siga existiendo si no existen los objetos contenidos. Esta imagen representa la diferencia entre una agregación y una composición. Un vehiculo seguirá existiendo aunque no existan sus ruedas (otra cosa es que pueda rodar). Sin embargo un libro no existirá si no existen sus capítulos. El avión tiene sentido por si solo, pero esta claro que esta compuesto por dos alas, esta relación es de mucha fuerza, mucho mas que el caso del aeropuerto, y esta claro, que un avión siempre tendrá sus dos alas, y estas siempre serán del mismo avión.

Herencia / Generalización Indica que una SUBCLASE hereda los métodos y atributos especificados por una SUPER-CLASE, por ende la Subclase además de poseer sus propios métodos y atributos, poseerá las características y atributos visibles de la Super Clase.

Estado El estado de un objeto abarca todas las propiedades del objeto, y los valores actuales de cada una de esas propiedades. Las propiedades de los objetos suelen ser estáticas, mientras los valores que toman estas propiedades cambian con el tiempo. El estado es una FOTO del objeto en un momento determinado.

¿Por qué es importante?

Polimorfismo Se puede usar el mismo nombre para la definición de un método en varias clases sin importar la relación entre las mismas.

Entonces…

Diagrama de Clases

Consejos para modelar No lanzarse a dibujar clases y asociaciones sin sentido Elaborar un modelo simple Los nombres de objetos, asociaciones, atributos y operaciones deben ser significativos Evitar las jerarquías de composición o generalización de muchos niveles

Esto no es un DER! Los modelos se parecen en forma cuando uno los simplifica y sólo coloca el nombre de la entidad/objeto y los atributos. La mayor diferencia está en que el DER muestra las relaciones entre entidades, y el DC muestra el COMPORTAMIENTO, es decir, sus cambios de estado y de los mensajes que intercambia. Son las operaciones que una clase realiza (llamadas también mensajes) las que dan cuenta de como se comporta la clase. Estos MENSAJES muestran el comportamiento del sistema. En el DC los atributos tiene privilegios: Publico, Privado, Protegido.

Comportamiento Comportamiento es como un objeto actúa y reacciona, en términos de sus cambios de estado y de los mensajes que intercambia. Son las operaciones que una clase realiza (llamadas también mensajes) las que dan cuenta de como se comporta la clase Un objeto puede realizar cinco tipos de operaciones sobre otro, con el propósito de provocar una reacción: Modificador: altera el estado de un objeto. Selector: accede al estado de un objeto, sin alterarlo. Iterador: permite a todas las partes de un objeto ser accedidas en un orden. Constructor: crea un objeto y/o inicializa su estado. Destructor: libera el estado de un objeto y/o destruye el objeto.

Encapsulamiento Se llama encapsulamiento al ocultamiento del estado, es decir, de ciertos datos de un objeto de manera que sólo se pueda cambiar mediante las operaciones definidas para ese objeto, dicho de otro modo, solo de manera interna. Este aislamiento protege a los datos de un objeto de ser accedidos por quien no deba.