DISEÑO DE SISTEMAS Diagrama de clases UNIDAD III:

Slides:



Advertisements
Presentaciones similares
TECNICATURA UNIVERSITARIA EN INFORMATICA
Advertisements

Prof. César Luza Montero
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno.
Diagramas de clases Modelan la vista estática del sistema
PROGRAMACION ORIENTADA A OBJETOS
Modelo de Análisis. Contenido Análisis Modelo de Análisis Modelo Conceptual.
TEMA 9: DIAGRAMA DE CLASE EN UML
Ingeniería de Requisitos
PRESENTACION DE INGENIERIA ORIENTADA A OBJETOS
Estructura de Datos Departamento de Programación Universidad Metropolitana Contenido: UML. Envío de mensajes. Relaciones. Asociación. Agregación o composición.
Unified Modeling Language (UML) Unified Modeling Language (UML) Lenguaje Unificado de Modelado ConceptosBásicos.
Diagrama de Clases SPI 2016.
1 Diagramas de Interacción. 2 Interacción p La vista de interacción describe secuencias de intercambios de mensajes entre los roles que implementan el.
Universidad Pedagógica Francisco Morazán Tema: SISTEMA DE BASE DE DATOS Grupo: 5 Integrantes: Danilo Hernán Lagos Avilés Erlinda Yohanna Díaz Elvir Indira.
Se trata de un conjunto de programas no visibles al usuario final que se encargan de la privacidad, la integridad, la seguridad de los datos y la interacción.
Conferencia 3: Paradigmas de la Orientación a Objetos Tema 1:Principios de la Tecnología de Objetos.
Ingeniería del Software Diseñó de Software Universidad de los Andes Demián Gutierrez Abril 2009.
UML – Lenguaje de Modelado Unificado Centro ISYS Escuela de Computación Facultad de Ciencias. UCV Profa. Zulma González.
PROGRAMACIÓN ORIENTADA A OBJETOS SEGUNDA UNIDAD: “CLASES, OBJETOS Y MÉTODOS” IRVING YAIR SALAS CHÁVEZ ING. EN SISTEMAS COMPUTACIONALES - ITSLP.
Organizaciones involucradas: El centro de cálculo noruego. Crea lenguaje llamado Simula 67, desarrollado por Krinsten Nygaard y Ole-Johan Dahl, en 1967.
Herencia Multiple en Java
El Lenguaje de Modelación Unificado
METODOLOGÍA DE SISTEMAS
METODOLOGÍA DE SISTEMAS
Ingeniería Directa. Generar código a través de modelos se le conoce como ingeniería directa.
Ingeniería de requisitos y
TEMA 3. CAPTURA DE REQUISITOS COMO CASOS DE USO (Continuación fase de Planeación y Elaboración) ANÁLISIS Y DISEÑO DE SISTEMAS II Lic. Elisa Arizaca Ramirez.
Herencia Implementación en Java.
Programación Orientada a Objetos
simulacion Resumen unidad 1 Equipo Baldor Huerta Ocejo Ivan de Jesus
Fundamentos de la programación orientada a objetos
Programación Avanzada
Diagramas de clases Modelan la vista estática del sistema
Programación orientada a objetos
METODOLOGÍA DE SISTEMAS
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
(Unified Modeling Language)
Programación Orientada a Objetos I Unidad 4 Relaciones entre clases: herencia.
Introducción al UML Domingo Hernández H.
DIAGRAMA DE CLASES.
Ingeniería de Software 1
Programación Orientada a Objetos
DIAGRAMA DE CLASE.
Programación Orientada a Objetos Isidro González Caballero (Universidad de Oviedo) Técnicas de Comp. en Física Santander, 08/11/2010.
Clases y objetos.
FUNDAMENTOS DE PROGRAMACION EN ENTORNO WEB. Rodrigo Cabello Ing. Informático Director de proyectos Think – Ideas in Motion FUNDAMENTOS.
Universidad Nacional de Colombia - Leguajes de Programación
ANALISIS DE SISTEMAS ANALISIS ORIENTADO A OBJETOS.
AUDITORIA DE CONTROL INTERNO. MODELAMIENTO DE PROCESOS BPMN proporciona un lenguaje común para la representación gráfica de procesos, de forma clara,
ALUMNOS: CORNEJO GUILLÉN PEDRO FLORES LUIS DANTE GONZALES NINA LEWIS.
Patrones de Diseño Sistemas de Información II – IS 445 Docente: Lisber Arana Hinostroza Mayo
Se hizo popular en la década de 1980 y todavía es utilizado por muchos. Consiste en interpretar el concepto del sistema (o situaciones del mundo real)
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
OBJETOS.
INGENIERIA DE SOFTWARE
Ing. Francisco Rodríguez
Diagramas de Interacción. Escuela de Ingeniería en Sistemas Computacionales Facultad de Ciencias Matemáticas y Físicas Universidad Estatal
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.
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.
PRUEBAS DE CAJA NEGRA. -Internationa Software Testing Qualification Board (ISTQB) Internationa Software Testing Qualification Board (ISTQB) Técnica de.
Estudio de Viabilidad del Sistema (EVS). Estudio de Viabilidad del Sistema Cuestiones ¿Qué es la viabilidad de un sistema? ¿Cuáles son los objetivos del.
Unida III: Análisis y Diseño de Sistemas Orientado a Objetos
Luis Fernando Muñoz Pantoja Ingeniero de Sistemas Copyright 2019 Luis Fernando Muñoz Pantoja Ingeniero de Sistemas Derechos reservados UML.
Transcripción de la presentación:

DISEÑO DE SISTEMAS Diagrama de clases UNIDAD III: Ing. Patricia Ontiveros Ing. Laura Zeligueta

Clases La clase define el ámbito de definición de un conjunto de objetos Cada objeto pertenece a una clase Los objetos se crean por instanciación de las clases

Clases: Notación Gráfica Cada clase se representa en un rectángulo con tres compartimientos: nombre de la clase atributos de la clase operaciones de la clase - Un atributo es semánticamente equivalente a una composición (composite aggreation). La sintaxis por defecto para los atributos es: visibilidad nombre [multiplicidad] : tipo = valor-inicial {propiedades} - tipo es una especificación dependiente del lenguaje de implementación - Para indicar que un atributo es constante se puede poner la propiedad frozen - Ejemplos usando multiplicidad: colores [3]: Color puntos [2..*]: Punto nombre [0..1]: String - Un atributo de clase (del ámbito de clase y no de objeto) se indica subrayándolo

Concepto de Clase

Clases del Análisis Las clases del análisis: Se focalizan sobre la manipulación de los requerimientos funcionales, y pospone los no funcionales. Existen tres estereotipos de clases de análisis: Interfaz Control Entidad

– Recepción y presentación de información. • Clase interfaz: modela la interacción entre el sistema y el actor – Recepción y presentación de información. – Separan la interfaz del usuario o comunicación con el usuario. – Representan abstracciones de ventanas, forms, paneles, sensores, API (sistemas externos). – No describe cómo la interacción es realizada físicamente. – Está relacionada con al menos un actor, y un actor está relacionado con al menos una clase límite.

– En la mayoría de los casos son derivadas directamente de las clases • Clase entidad: modela información persistente. – En la mayoría de los casos son derivadas directamente de las clases entidad del negocio o dominio. Estos pueden capturar información que no es manipulada dentro del sistema. – Muestran una estructura de datos lógica y contribuyen a entender que información manipular.

• Clase control: representa coordinación, secuencia, transacción y control de otros objetos. – Son usadas para encapsular el control relacionado a un CU. – Usadas para representar derivaciones y cálculos complejos, tal como lógica del negocio, que no puede ser representada por ninguna clase entidad específica. – La dinámica del sistema son modeladas por las clases control, dado que manejan y coordinan los flujos de control y acciones principales y delegan trabajo a otros objetos (clases entidad y límite).

Diagrama de Clases El Diagrama de Clases es el diagrama principal para el análisis y diseño del sistema El Diagrama de Clases modela los datos persistentes del sistema. Un diagrama de clases presenta las clases del sistema con sus relaciones estructurales y de herencia

Relaciones entre Clases Los enlaces entre objetos pueden representarse como relaciones entre las respectivas clases Formas de relación entre clases: Asociación, Agregación y Composición (vistas como un caso particular de asociación) Generalización/Especialización Las relaciones de Agregación y Generalización forman jerarquías de clases

Asociación La asociación expresa una conexión bidireccional entre objetos Una asociación es una abstracción de la relación existente en los enlaces entre los objetos

… Asociación Especificación de multiplicidad (mínima...máxima) 1 Uno y sólo uno 0..1 Cero o uno M..N Desde M hasta N (enteros naturales) * Cero o muchos 0..* Cero o muchos 1..* Uno o muchos (al menos uno) La multiplicidad mínima >= 1 establece una restricción de existencia

… Asociación Ejemplo:

… Ejemplos (Asociación)

… Ejemplos (Clase Asociación)

Agregación La agregación representa una relación parte – todo entre objetos Podemos decir que la parte sin el todo sigue teniendo sentido y el todo sin la parte también. Es decir que uno sin el otro pueden subsistir. 1 n Red PC parte todo

Composición La composición representa una relación parte todo entre objetos Es una relación más fuerte que la Agregación. Podemos decir que la parte sin el todo se destruye y el todo sin la parte también. Es decir que uno sin el otro no es nada. 1 n Factura Detalle parte todo

Generalización Permite gestionar la complejidad mediante un ordenamiento jerárquico de clases Se obtiene usando los mecanismos de abstracción de Generalización y/o Especialización La Generalización consiste en factorizar las propiedades comunes de un conjunto de clases en una clase más general. Las clases hijas heredan propiedades de sus clases padre, es decir, atributos y operaciones.

... Generalización

... Generalización La especialización es una técnica muy eficaz para la extensión y reutilización

… Ejemplos (Generalización)

… Ejemplos Avión militar Avión comercial Avión de carga Avión de pasajeros Motor Vendedor de billetes Avión 1..4 1 Piloto Reserva n Línea aérea Vuelo 1..2 { disjunta, completa }

... Generalización Ejemplo: varias especializaciones a partir de la misma clase padre, usando discriminadores: Comercial Militar uso Vehículo Aéreo estructura Avión Helicóptero

Clasificación Múltiple (herencia múltiple) Se presenta cuando una subclase tiene más de una superclase La herencia múltiple debe manejarse con precaución. Algunos problemas son el conflicto de nombre y el conflicto de precedencia Se recomienda un uso restringido y disciplinado de la herencia. Java y Ada 95 simplemente no ofrecen herencia múltiple

… Herencia Múltiple Uso disciplinado de la herencia múltiple: clasificaciones disjuntas con clases padre en hojas de jerarquías alternativas Bípedo Cuadrúpedo nro patas nro patas Herbívoro Con Pelos cubertura comida Animal Con Plumas cobertura comida cobertura Carnívoro Con Escamas Conejo

Polimorfismo El término polimorfismo se refiere a que una característica de una clase puede tomar varias formas El polimorfismo representa en nuestro caso la posibilidad de desencadenar operaciones distintas en respuesta a un mismo mensaje Cada subclase hereda las operaciones pero tiene la posibilidad de modificar localmente el comportamiento de estas operaciones

… Polimorfismo Ejemplo: todo animal duerme, pero cada clase lo hace de forma distinta ? dormir ?

… Polimorfismo Animal dormir() León Oso Tigre dormir() dormir() { dormir() } León Oso Tigre dormir() dormir() dormir() Dormir() Dormir() Dormir() { { { sobre el vientre sobrela espalda en un árbol } } }

Clases: Encapsulación La encapsulación presenta dos ventajas básicas: Se protegen los datos de accesos indebidos El acoplamiento entre las clases se disminuye Favorece la modularidad y el mantenimiento Los atributos de una clase no deberían ser manipulables directamente por el resto de objetos

… Clases: Encapsulación Los niveles de encapsulación son: (-) Privado : es el más fuerte. Esta parte es totalmente invisible (excepto para clases friends en terminología C++) (#) Los atributos/operaciones protegidos están visibles para las clases friends y para las clases derivadas de la original (+) Los atributos/operaciones públicos son visibles a otras clases (cuando se trata de atributos se está transgrediendo el principio de encapsulación)

… Clases: Encapsulación Ejemplo: