Este documento describe los diagramas de clases y objetos en UML. Explica que una clase representa un conjunto de objetos que comparten atributos, operaciones y relaciones, y que se representan gráficamente mediante cajas. También describe elementos clave de los diagramas de clases como atributos, operaciones, relaciones como generalización y asociación.
Este documento describe los diagramas de clases y objetos en UML. Explica que una clase representa un conjunto de objetos que comparten atributos, operaciones y relaciones. Incluye ejemplos de cómo representar clases, atributos, operaciones, herencia, asociaciones y otros elementos en un diagrama de clases.
Este documento describe diferentes técnicas de mapeo en Hibernate/JPA como @Embedded, @Embeddable, modos de identidad como @Id, @GeneratedValue, @SequenceGenerator, modos de locking como @Version, herencia mediante @Inheritance, relaciones polimórficas, batch processing, servicios, transitividad (cascades), caching, validaciones con Hibernate Validator y Envers para auditoría. Explica recomendaciones sobre performance y también introduce conceptos como multi-tenancy.
Este documento introduce Hibernate, un framework para mapear objetos a bases de datos relacionales. Explica los conceptos básicos de ORM y cómo configurar Hibernate para realizar consultas, crear y modificar datos, y establecer relaciones entre entidades. También cubre temas avanzados como herencia, generación de SQL y estrategias de caché.
El documento describe la API de persistencia Java Persistence (JPA). JPA es un estándar ORM que permite mapear objetos Java a tablas de una base de datos relacional de una manera declarativa mediante anotaciones. JPA proporciona una capa de abstracción sobre tecnologías de acceso a datos como JDBC para facilitar la persistencia de datos.
Una introducción a los conceptos y las características básicas de la API de persistencia para la plataforma Java, desde un punto de vista neutral (sin una preferencia por algún proveedor de persistencia en particular) comenzando desde el planteo de la necesidad de un ORM, y pasando luego por conceptos básicos como las relaciones entre entidades, ciclo de vida de las mismas, JPQL, criteria API.
Este documento describe los diagramas de clases y objetos en UML. Explica que una clase representa un conjunto de objetos que comparten atributos, operaciones y relaciones. Incluye ejemplos de cómo representar clases, atributos, operaciones, herencia, asociaciones y otros elementos en un diagrama de clases.
Este documento describe diferentes técnicas de mapeo en Hibernate/JPA como @Embedded, @Embeddable, modos de identidad como @Id, @GeneratedValue, @SequenceGenerator, modos de locking como @Version, herencia mediante @Inheritance, relaciones polimórficas, batch processing, servicios, transitividad (cascades), caching, validaciones con Hibernate Validator y Envers para auditoría. Explica recomendaciones sobre performance y también introduce conceptos como multi-tenancy.
Este documento introduce Hibernate, un framework para mapear objetos a bases de datos relacionales. Explica los conceptos básicos de ORM y cómo configurar Hibernate para realizar consultas, crear y modificar datos, y establecer relaciones entre entidades. También cubre temas avanzados como herencia, generación de SQL y estrategias de caché.
El documento describe la API de persistencia Java Persistence (JPA). JPA es un estándar ORM que permite mapear objetos Java a tablas de una base de datos relacional de una manera declarativa mediante anotaciones. JPA proporciona una capa de abstracción sobre tecnologías de acceso a datos como JDBC para facilitar la persistencia de datos.
Una introducción a los conceptos y las características básicas de la API de persistencia para la plataforma Java, desde un punto de vista neutral (sin una preferencia por algún proveedor de persistencia en particular) comenzando desde el planteo de la necesidad de un ORM, y pasando luego por conceptos básicos como las relaciones entre entidades, ciclo de vida de las mismas, JPQL, criteria API.
El documento describe tres herramientas de contenido en línea: Flickr permite crear álbumes de fotos en línea; Google Drive permite crear y compartir documentos, fotos y otros archivos en línea de forma gratuita; y SlideShare permite compartir presentaciones y otros documentos en línea sin necesidad de una cuenta de correo.
La computación I es una clase introductoria sobre programación y desarrollo de software. Esta prueba de slidesahre evalúa los conceptos básicos aprendidos en la clase como variables, bucles, condicionales y funciones. Los estudiantes demostrarán su comprensión de estos temas fundamentales mediante la resolución de problemas de programación de diferentes niveles de dificultad.
O documento descreve a Expo Xangai 2010, incluindo os detalhes do Pavilhão Brasileiro e sua programação cultural e temática ao longo de meses de maio a outubro, com foco em temas urbanos e apresentações sobre o Brasil.
La dirección es 1023 Chorro St. en San Luis Obispo, CA. El número de teléfono es 805.540.5243 y la dirección de correo electrónico para contactar sobre música es music@lunaredslo.com.
Este documento presenta la matriz de valoración de un portafolio interactivo digital y un planificador de proyecto diseñado por maestros. El proyecto se enfoca en mejorar la convivencia de estudiantes de transición y primer grado a través de áreas como español, sociales y matemáticas. La matriz evalúa aspectos como los objetivos del proyecto, la planificación curricular, las estrategias pedagógicas, la metodología y la evaluación de estudiantes. Los evaluadores felicitan a los maestros por diseñar un
El documento proporciona una síntesis geográfica de Chile, describiendo su territorio y geografía física. Explica que Chile posee diversos tipos de relieves, incluyendo la Cordillera de la Costa, que se caracteriza por tener las mayores altitudes y actuar como biombo climático. También describe los bosques de Fray Jorge y Talinay, ubicados en la zona costera semiárida de Coquimbo, los cuales albergan especies vegetales propias a pesar de su ubicación latitudinal. Finalmente, analiza los
Este documento describe los diagramas de clases y objetos en UML. Explica que una clase representa un conjunto de objetos que comparten atributos, operaciones y relaciones. Muestra ejemplos de cómo representar clases, atributos, operaciones, herencia, asociaciones y otras relaciones. También cubre conceptos como interfaces, clases abstractas, notas y paquetes.
Este documento describe los diagramas de clases y objetos en UML. Explica que un diagrama de clases describe las clases de un sistema, sus atributos, operaciones y relaciones, mientras que un diagrama de objetos muestra una vista de los objetos en un momento dado. También cubre conceptos como encapsulación, asociación, herencia, polimorfismo y cómo estos se representan en diagramas de clases.
El documento describe tres herramientas de contenido en línea: Flickr permite crear álbumes de fotos en línea; Google Drive permite crear y compartir documentos, fotos y otros archivos en línea de forma gratuita; y SlideShare permite compartir presentaciones y otros documentos en línea sin necesidad de una cuenta de correo.
La computación I es una clase introductoria sobre programación y desarrollo de software. Esta prueba de slidesahre evalúa los conceptos básicos aprendidos en la clase como variables, bucles, condicionales y funciones. Los estudiantes demostrarán su comprensión de estos temas fundamentales mediante la resolución de problemas de programación de diferentes niveles de dificultad.
O documento descreve a Expo Xangai 2010, incluindo os detalhes do Pavilhão Brasileiro e sua programação cultural e temática ao longo de meses de maio a outubro, com foco em temas urbanos e apresentações sobre o Brasil.
La dirección es 1023 Chorro St. en San Luis Obispo, CA. El número de teléfono es 805.540.5243 y la dirección de correo electrónico para contactar sobre música es music@lunaredslo.com.
Este documento presenta la matriz de valoración de un portafolio interactivo digital y un planificador de proyecto diseñado por maestros. El proyecto se enfoca en mejorar la convivencia de estudiantes de transición y primer grado a través de áreas como español, sociales y matemáticas. La matriz evalúa aspectos como los objetivos del proyecto, la planificación curricular, las estrategias pedagógicas, la metodología y la evaluación de estudiantes. Los evaluadores felicitan a los maestros por diseñar un
El documento proporciona una síntesis geográfica de Chile, describiendo su territorio y geografía física. Explica que Chile posee diversos tipos de relieves, incluyendo la Cordillera de la Costa, que se caracteriza por tener las mayores altitudes y actuar como biombo climático. También describe los bosques de Fray Jorge y Talinay, ubicados en la zona costera semiárida de Coquimbo, los cuales albergan especies vegetales propias a pesar de su ubicación latitudinal. Finalmente, analiza los
Este documento describe los diagramas de clases y objetos en UML. Explica que una clase representa un conjunto de objetos que comparten atributos, operaciones y relaciones. Muestra ejemplos de cómo representar clases, atributos, operaciones, herencia, asociaciones y otras relaciones. También cubre conceptos como interfaces, clases abstractas, notas y paquetes.
Este documento describe los diagramas de clases y objetos en UML. Explica que un diagrama de clases describe las clases de un sistema, sus atributos, operaciones y relaciones, mientras que un diagrama de objetos muestra una vista de los objetos en un momento dado. También cubre conceptos como encapsulación, asociación, herencia, polimorfismo y cómo estos se representan en diagramas de clases.
Resumen Programación Orientada a Objetos 20_06_2023 (1).pptxDELIAMARINAHERAZOTUI
Este documento presenta una conferencia sobre el diseño de software usando el paradigma de programación orientada a objetos. La conferencia incluye una introducción a la programación orientada a objetos, una explicación de objetos y clases, y una guía detallada para crear un diagrama de clases usando la notación UML. El objetivo es ayudar a los asistentes a la conferencia a diseñar soluciones de software siguiendo buenas prácticas de diseño orientado a objetos.
El documento presenta conceptos básicos de programación orientada a objetos como clases, objetos, atributos, métodos, constructores y encapsulamiento. Explica que una clase define el tipo de objetos y sus características comunes, mientras que un objeto es una instancia concreta de una clase. También describe cómo las clases pueden tener atributos para representar el estado y métodos para el comportamiento.
Este documento presenta un resumen sobre diagramas de clases en UML. Explica que un diagrama de clases muestra las relaciones entre las clases de un sistema, incluyendo herencia, agregación y asociación. Luego define los elementos clave de un diagrama de clases como clases, atributos, métodos y las diferentes relaciones entre clases.
Este documento presenta una introducción a los patrones de diseño de software. Explica que un patrón describe un problema común de diseño y una solución probada a ese problema en un contexto particular. Luego, describe algunos patrones comunes como el patrón MVC y cómo separa la lógica de la interfaz de usuario del modelo de datos subyacente. Finalmente, discute el patrón de fábrica y cómo permite crear objetos de manera flexible sin acoplar las clases concretas.
Este documento presenta una introducción a los patrones de diseño de software conocidos como patrones GOF. Explica brevemente qué es un patrón de diseño y clasifica los patrones GOF en tres categorías: patrones de creación, estructura y comportamiento. Luego describe algunos patrones específicos como Factory Method, Observer y Strategy. Finalmente incluye una bibliografía sobre el libro original de los patrones GOF.
UML¿Por qué modelamos?, Mejores Práctica s de ISGulM2
Este documento presenta los conceptos fundamentales del modelado y las mejores prácticas de ingeniería de software. Explica que modelamos para abstraer la información esencial de sistemas complejos y hacerlos más comprensibles. Luego, describe herramientas como la ingeniería de requisitos, la arquitectura de componentes, la verificación de calidad y el desarrollo iterativo. Finalmente, introduce el lenguaje UML para modelado visual, incluyendo diagramas como el de clases y casos de uso.
Este documento resume los conceptos clave de la programación orientada a objetos (POO) como la abstracción, encapsulamiento, herencia y polimorfismo. También explica conceptos como clases, objetos, instancias, constructores, destructores y eventos. Por último, presenta el modelo de programación en capas y las responsabilidades de cada capa como presentación, negocio, acceso a datos e infraestructura.
Este documento describe los patrones de diseño y proporciona ejemplos de su aplicación. Explica que los patrones de diseño capturan soluciones recurrentes a problemas comunes de diseño de software para facilitar la reutilización. Define los elementos que componen un patrón y clasifica patrones como de creación, estructurales o de comportamiento. Incluye descripciones detalladas de patrones como Singleton, Factory Method y Adapter.
Este documento describe las características principales del lenguaje C++. Explica las extensiones de C++ respecto a C, como las orientadas y no orientadas a objetos. También describe conceptos clave como la organización de programas, tipos de datos, funciones, clases, herencia y más.
Este documento describe los patrones de diseño de software orientado a objetos. Explica que los patrones de diseño son soluciones a problemas comunes en el diseño de software que pueden ser aplicados repetidamente. Describe tres tipos principales de patrones: patrones creacionales que se enfocan en la creación de objetos, patrones estructurales que describen cómo relacionar objetos y clases, y patrones de comportamiento que distribuyen responsabilidades entre objetos. También presenta el patrón Observer como un ejemplo, explicando sus participantes, colaboración y consec
La programación Orientada a objetos (POO) es una forma especial de programar, más cercana a como expresaríamos las cosas en la vida real que otros tipos de programación.
La programación orientada a objetos (POO, u OOP según sus siglas en inglés) es un paradigma de programación que usa objetos en sus interacciones, para diseñar aplicaciones y programas informáticos.
Con la POO tenemos que aprender a pensar las cosas de una manera distinta, para escribir nuestros programas en términos de objetos, propiedades, métodos y otras cosas que veremos rápidamente para aclarar conceptos y dar una pequeña base que permita soltarnos un poco con este tipo de programación.
Está basada en varias técnicas, incluyendo herencia, cohesión, abstracción, polimorfismo, acoplamiento y encapsulamiento. Su uso se popularizó a principios de la década de 1990. En la actualidad, existe una gran variedad de lenguajes de programación que soportan la orientación a objetos.
Un objeto es una entidad con características y comportamiento propios. Una clase describe los atributos y operaciones comunes de un conjunto de objetos. Los diagramas de clases representan las clases y sus relaciones en un sistema.
Este capítulo trata sobre el diseño de relaciones entre clases en el análisis y diseño de sistemas. Se describen conceptos como la navegación de relaciones, asociaciones y agregaciones. También se explican opciones para el diseño de la visibilidad, direccionalidad y multiplicidad de las relaciones. El objetivo es diseñar relaciones que modelen adecuadamente las interacciones entre objetos del mundo real.
El documento describe los conceptos básicos de la programación orientada a objetos. Explica que en POO todo es un objeto con características (datos) y acciones (métodos) y que los programas están compuestos de objetos que se comunican entre sí a través de mensajes. También define conceptos clave como clases, objetos, encapsulamiento, herencia y polimorfismo.
Este documento describe los diagramas de clases y sus componentes. Explica que un diagrama de clases representa clases, sus atributos, operaciones y cómo están relacionadas entre sí. Detalla que una clase define el tipo de objeto y sus características y comportamientos, mientras que un objeto es una instancia de una clase. También cubre conceptos como asociaciones, herencia, interfaces y cómo modelar estas características en un diagrama de clases.
Este documento describe el patrón de diseño Composite, el cual permite componer objetos en estructuras jerárquicas de árbol para representar su organización y permitir al usuario tratar los objetos de manera uniforme. Define una interfaz común para objetos simples y compuestos, simplificando su manejo. Se usa en editores gráficos donde objetos simples y contenedores son tratados igual a pesar de sus diferencias.
El documento describe los principios de la programación estructurada y orientada a objetos. La programación estructurada consiste en reglas para escribir programas legibles y modificables mediante algoritmos modulares, finitos y eficientes. La programación orientada a objetos encapsula datos y métodos en objetos relacionados, enfocándose en los datos más que en los algoritmos.
El documento proporciona instrucciones en 4 pasos para crear un nuevo proyecto de aplicación Android en Eclipse: 1) Abrir Eclipse y seleccionar la pestaña FILE, 2) Hacer clic en "new" y seleccionar el tipo de proyecto, 3) Escoger la opción "Android Aplicaction Java", 4) Agregar un nombre al nuevo programa.
El documento describe los pasos para crear una nueva aplicación Android en Eclipse, incluyendo seleccionar la opción "New" en la pestaña "FILE", elegir "Android Application Java", agregar un nombre al proyecto, agregar campos de texto y botones mediante las opciones "Text Fields" y "button", y editar sus propiedades como "Hint" e "id".
Este documento proporciona instrucciones paso a paso para crear un programa en Android que convierte metros a pies. Primero se abre Eclipse y se crea un nuevo proyecto de aplicación Android llamado "programa 10". Luego se agrega el código para la conversión, que convierte el valor ingresado en metros a su equivalente en pies. Finalmente, el documento muestra que el programa funciona correctamente al correrlo y obtener el resultado esperado.
Este documento describe los pasos iniciales para crear una aplicación de Android, incluyendo abrir un nuevo proyecto de aplicación Android, asignarle un nombre al proyecto, y ejecutar el programa recién creado.
This document contains information about a coding class including the names of 3 students, the time and topic of the class, and a simple "Hello World" Android code example in Java. The code creates an activity class called MainActivity that displays the main layout and inflates the options menu when created.
El documento resume los principales ciclos biogeoquímicos: el ciclo del carbono, nitrógeno, fósforo, agua, oxígeno y azufre. Explica que cada ciclo involucra las transformaciones y el intercambio de un elemento químico específico entre la biosfera, atmósfera, hidrosfera y litosfera, y cómo estos ciclos son esenciales para mantener el equilibrio de los ecosistemas.
Este documento proporciona instrucciones en 3 pasos para desarrollar una aplicación móvil en Eclipse, incluyendo agregar un nuevo proyecto de aplicación Android, agregar gráficos como texto mediano y campos de texto, y probar la aplicación en un emulador.
Tres estudiantes mexicanos fueron reconocidos por sus logros académicos: Guerrero Serrano Aylin Miroslawa, Posadas Pérez Yanori Marlene y Olvera Olmos Adrián.
Este documento contiene una lista de nombres de estudiantes y profesores asociados con el Programa 6 y la MCA. Margarita Romero Alvarado. También menciona brevemente el nombre de un posible programa y algunos términos de código como "siguiente" y "final".
Este documento explica cómo instalar el plugin EclipseME en Eclipse para desarrollar aplicaciones Java ME. Describe los pasos para instalar EclipseME, configurarlo para conectarlo al WTK, crear un proyecto MIDlet simple llamado "Hola Mundo", y ejecutarlo en el emulador. El documento guía al lector a través del proceso completo de configuración de EclipseME y creación de un proyecto MIDlet básico.
Este documento contiene 15 preguntas sobre tipos de datos simples en programación como boolean, char, short, byte, int, float, double, long, clase, void, abstract y public, seguidas de las respuestas correctas R para cada pregunta.
El documento habla brevemente sobre dos personas, Guerrero Serrano Aylin y Olvera Olmos Adrian. Menciona los números cuatro repetidamente y una oración corta sobre alguien corriendo.
Este documento contiene los nombres de 3 estudiantes del grupo Cetís 109 de 3°AM, así como la asignatura de Programación y el nombre de su maestra, Margarita Romero.
La lista contiene los nombres de 3 estudiantes (Serrano Aylin, Posadas Pérez Yanori Marlene, Olvera Olmos Adrián) que asisten al salón 3°AM de Programación en la escuela ubicada en Cetís 109. Su maestra es Margarita Romero.
Este documento presenta las instrucciones para crear un nuevo proyecto en Netbeans para un ejercicio de programación. Explica los pasos para abrir Netbeans, seleccionar la opción "Nuevo Proyecto", elegir "Java" y "Aplicación Java" y darle un nombre al proyecto antes de hacer clic en "Finalizar" para crearlo. Luego indica que se debe insertar el procedimiento correcto para que el programa funcione bien al correrlo.
Los principales elementos de evaluación incluyen el cuaderno con un 20%, ejercicios o prácticas con un 20%, y una evaluación central con un 20%. La participación, blog, portafolio, tareas y disciplina suman los 40% restantes. La disciplina es importante ya que puede reducir la evaluación en un 50%.
Este documento presenta competencias profesionales y genéricas sugeridas para tres secuencias de programación de aplicaciones. La primera secuencia involucra el análisis y diseño de sistemas usando programación orientada a objetos. La segunda secuencia implica la implementación y prueba de aplicaciones desarrolladas en diferentes sistemas operativos. La tercera secuencia consiste en elaborar manuales técnicos y de usuario para aplicaciones y mantener el software actualizado.
Business Plan -rAIces - Agro Business Techjohnyamg20
Innovación y transparencia se unen en un nuevo modelo de negocio para transformar la economia popular agraria en una agroindustria. Facilitamos el acceso a recursos crediticios, mejoramos la calidad de los productos y cultivamos un futuro agrícola eficiente y sostenible con tecnología inteligente.
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...Juan Martín Martín
Criterios de corrección y soluciones al examen de Geografía de Selectividad (EvAU) Junio de 2024 en Castilla La Mancha.
Soluciones al examen.
Convocatoria Ordinaria.
Examen resuelto de Geografía
conocer el examen de geografía de julio 2024 en:
https://blogdegeografiadejuan.blogspot.com/2024/06/soluciones-examen-de-selectividad.html
http://blogdegeografiadejuan.blogspot.com/
En la ciudad de Pasto, estamos revolucionando el acceso a microcréditos y la formalización de microempresarios informales con nuestra aplicación CrediAvanza. Nuestro objetivo es empoderar a los emprendedores locales proporcionándoles una plataforma integral que facilite el acceso a servicios financieros y asesoría profesional.
Ofrecemos herramientas y metodologías para que las personas con ideas de negocio desarrollen un prototipo que pueda ser probado en un entorno real.
Cada miembro puede crear su perfil de acuerdo a sus intereses, habilidades y así montar sus proyectos de ideas de negocio, para recibir mentorías .
2. Diagrama de Clase
•• Una clase es una descripción de conjunto de
objetos que comparten los mismos atributos,
operaciones, métodos, relaciones y semántica.
•• Las clases son graficamente representadas por
cajas con compartimentos para:
–– Nombre de la clase, atributos y operaciones / métodos
–– Responsabilidades, Reglas, Historia de Modificaciones,
etc etc.
•• Los diseñadores desarrollan clases como conjuntos
de compartimentos que crecen en el tiempo
agregando incrementalmente aspectos y
funcionalidades.
8. Diagramas de Clase
•• Muestra un cjto de elementos que son estáticos,
como las clases y tipos, junto con sus
contenidos y relaciones
•• Es un grafo de elementos clasificadores
conectados por varias relaciones estáticas
•• Clasificador -- --> Class, Interface, DataType.
> •• Clase. Alcance. Referencia. Clase Abstracta.
•• Orden: [stereotype] nbre [stringPropiedades]
9. Ejemplo: Clase Dispositivo
•• Define e implementa las operaciones para config config, ,
transmitir y recibir informac informac. hacia y desde el puerto serie
. •• hCom hCom: : handler al dispositivo.
•• puerta: nombre del puerto serie
•• velocidad: velocidad de la comunicación.
•• paridad: tipo de paridad
•• bitStop bitStop: cantidad de bits de : stop
•• <<constructor>> Dispositivo() crea y abre el dispositivo
retornando un handler
•• << query query>> >> RecuperarDispositivo RecuperarDispositivo() inf. BD para () config config., .,
LeerBloque LeerBloque() información del puerto
() •• << update update>> >>ConfigurarDispositivo ConfigurarDispositivo(), (), GrabBloquePuerto GrabBloquePuerto() ()
11. Notación: Una Clase
VentanaVentana+size : Area = (100,100)+100,100) #visibilidad: Boolean = invisible#invisible+tamañoDefault : Rectangulo+Rectangulo#tamañoMaximo : Rectangulo#Rectangulo--xptr:Xwindow*+imprimir()+imprimir() +esconder()+esconder() +crear()+crear() --asociarXWindow(xwin:Xwindow*)
nombre
atributos
operaciones
Una clasees una descripción de un conjunto de objetos que comparten los mismos atributos, operaciones, relaciones y semántica.
12. Diagramas de Clase
•• Clases parametrizadas.
–– Template no es directamente utilizable.
–– Parámetros, nbre [: expTipo]
•• Utilidad: es una agrupación de variables globales y
procedimientos en la forma de declaración de clase.
•• Metaclase: clase cuyas instancias son clases.
•• Objeto: Subrayado con valores particulares.
13. Notación Notación: Interface
: Iortografía
•• Una interface es una colección de operaciones
que especifican un servicio de una clase o
componente, es decir, un comportamiento
externamente visible de ese elemento.
•• Se especifican las operaciones externamente
visibles sin especificación de la estructura interna.
14. Modelado de Clases
•• Una Responsabilidad es un contrato u obligación de
una clase.
•• Modelado del Vocabulario
–– Identificar los conceptos que usan los usuarios
(Tarjetas CRC - casos de uso)
–– Para cada abstracción, identificar el conjunto de
responsabilidades. Cada clase debe estar bien
definida y un buen reparto de responsabilidades.
–– Proporcionar atributos y operaciones necesarios
para cumplir con dichas responsabilidades.
•• Clases muy grandes (varias responsabilidades) -> >
dificil de cambiar y no reutilización.
•• Clases muy pequeñas -> modelo dificil de entender.
>
15. Modelado de Clases
•• Modelado de conceptos que no son software.
–– Se modela como una clase
–– Para distinguirla de clases del sistema se usa un nuevo
bloque de construcción con estereotipos.
–– Si es un hardware que tiene software -> nodo.
> •• Modelado de tipos primitivos.
–– Se modela como una clase con el estereotipo adecuado.
–– Si se necesita especificar el rango, se usa restricciones.
•• Una clase debe:
–– proporcionar una abstracción bien definida de algo del
dominio del problema o de la solución
–– Contiene un conjunto pequeño de responsabilidades
–– Muestra una clara distinción entre la implementación y la
especificación de la abstracción.
–– Ser sencilla, entendible, extensible y adaptable.
16. Diagramas de Clase: Relaciones
•• Final de asociación:
–– multiplicidad
–– orden {unordered} (default), {ordered}
–– navegación
–– agregación. Diamante lleno es composición.
–– Nombre del rol
–– cambiable (default) {frozen} {addOnly}
–– visibilidad
•• Asociación binaria. Opcional {or}. Asociación n n-aria.
•• Clase asociación: es una asociación que tiene propiedades
de una clase.
•• Composición. Tpo de vida. Multiplicidad del contenedor=1
•• Generalización. Discriminador.
–– Restricción: {ovelapping},{disjoint},{complete},{incomplete}
•• Relación de dependencia
–– <<amport>> <<access>> <<become>>, <<bind>>
17. Modelado de Relaciones
•• Dependencia
–– Parámetro de una operación. Si se muestra la signatura no es
necesario la relación de dependencia
•• Generalización
–– Dado un cjto de clases, se busca responsabilidades, atributos y
operaciones comunes.
–– Se elevan a una clase más general (nueva o no). No crear
demasiados niveles.
•• Asociación.
–– Relación estructural. Relación bilateral. Diferencia con
dependencia y Generalización.
–– Equilibradas. Ni muy profundas (<=5 niveles) ni muy anchas.
–– Herencia múltiple se puede reemplazar por agregación.
19. Modelo Conceptual / del Dominio
•• Un Modelo Conceptual /Dominio es el conjunto
de diagramas de estructura estático con clases,
atributos y asociaciones, pero no operaciones.
•• Construcción del Modelo Conceptual / Dominio
–– Representa un aspecto de la realidad
–– Ayuda a los Ingenieros de Sofware a gestionar la
complejidad
–– Es más simple que la realidad
•• Un Modelo Conceptual / Dominio debería:
–– Organizar Datos dentro de Objetos y Clases
–– Estructurar Datos vía herencia y asociaciones
–– Especificar comportamiento e interfaces públicas
–– Describir el comportamiento global
–– Describir Restricciones
20. Estático: Diagrama de Clase
•• Utilizado para la estructura estática del
modelo conceptual / Dominio
•• El diagrama de clase describe
–– Tipos de objetos en la aplicación / dominio
–– Relaciones estáticas entre objetos
•• El diagrama de clase contiene
–– Clases: Objetos Objetos, , Atributos Atributos, and
, Responsabilidades
–– Paquetes: Agrupación de clases
–– Subsistemas: Agrupación de clases/paquetes
21. Modelado de Clases
Dado un sistema de la vida real, ¿cómo decide
que clases usar?
•• Los t términos usados por usuarios y
rminos desarrolladores para describir el sistema son
clases candidatas.
•• Para cada clase, ¿cu cuáles son sus
les responsabilidades? ¿est están balanceadas entre
n las clases?
•• ¿Qu Qué atributos y operaciones necesita cada
clase para llevar a cabo sus responsabilidades?
22. Identificación de Sustantivos:
Un ejemplo de una biblioteca
Una biblioteca contiene libros y revistas. Puede haber varias copias de un libro. Algunos de los libros son reservados sólo para préstamos a corto plazo. Todos los otros pueden ser prestados a cualquier miembro de la biblioteca por tres semanas. Los miembros de la biblioteca pueden normalmente solicitar hasta seis items de una vez, pero miembros del staff pueden solicitar hastadoce items a la vez. Solamente miembros del staff pueden obtenerprestado revistas.
El sistema debe conservar la pista de cuando los libros y revistas son prestados y retornados forzando las reglas de la biblioteca.
23. Identificación de Sustantivos:
Un ejemplo de una biblioteca
Una bibliotecacontiene librosy revistas. Puede haber varias copiasde un libro. Algunos de los libros son reservados sólo para préstamosa corto plazo. Todos los otros pueden ser prestados a cualquier miembrode la bibliotecapor tressemanas. Los miembros de la biblioteca pueden normalmente solicitar hasta seis itemsde una vez, pero miembros del staffpueden solicitar hasta doce items a la vez. Solamente miembros del staff pueden pedir prestamos de revistas.
El sistemadebe conservar la pista de cuando los libros y revistas son prestados y retornados forzando las reglasde la biblioteca.
24. Clases Candidatas
BibliotecaNombre del Sistema
Libro
Revista
Copia
PréstamosACortoPlazoevento
MiembroDeBiblioteca
Semanamedida
Itemlibro o revista
Tiempotérmino abstracto
MiembroDelStaff
Sistematérmino general
Reglatérmino general
25. Relaciones entre Clases
Libroes unItem
Revistaes unItem
Copiaes una copia de Libro
MiembroDeBiblioteca
Item
MiembroDeStaffes unMiembroDeBiblioteca
¿Es el Itemnecesario?
31. Clase Activa
EventManagereventlistsuspend() flush()
Una clase activa es una clase cuyos objetos
poseen uno o más procesos o threads y por lo
tanto pueden inicial una actividad de control.
Objeto:
––{active}, posee el thread,es capaz de iniciar actividad
{de control
––pasivo, mantiene los datos pero no inicia la actividad
33. Ejemplo: Patrón Iterator
•• Provee una forma de acceder a elementos de
un objeto agregado sin exponer la
representación subyacente
–– Ej: una clase Lista
•• Querer recorrer la lista en varias formas
–– Hacia adelante
–– Hacia atrás
–– filtrada
–– ordenada
–– ...
34. Motivación para los iteradores
•• No aglutinar la interface Lista con varios
recorridos
•• Aún si se hace, no se puede anticipar todos los
posibles recorridos
•• Quere más de un recorrido sobre la misma
lista.
•• Los Iteradores mueven la responsabilidad para
acceder y recorrer desde los agregados al
objeto iterador.
35. Ejemplo de Iterador ( 1)
class List {
size() {}
add() {}
remove() {}
}
interface ListIterator {
getFirst();
getNext();
}
37. Otras característias del patrón
Iterador
•• Los Iteradores proveen una interface común
para el acceso al objeto
–– Pueden usar la misma interface para listas
implementadas como arrays y listas implementadas
como listas encadenadas.
–– Es más facil cambiar las implementaciones de la
estructura de datos
•• Hay varios ejemplos en java java.util .de JDK 1. 1.2
38. Interface: otro ejemplo
Interfaces de Java.utilInterfaces utilAbstractCollectionAbstractSetSortedSetCollectionTreeSetSet
39. Gerenciamiento del Modelo
Paguetes y Organización
•• Los paquetes:
–– Son una agrupación de elementos del modelo
–– Son cohesivos (límite bien definido alrededor de un conjunto
de elementos relacionados).
–– Poco acoplados (exportando sólo aquellos elementos que
otros paquetes necesitan, e importando solo lo necesario y
suficiente
–– Pueden contener paquetes subordinados (anidados:
aconsejable 2 a 3 niveles) y otros elementos del modelo.
–– Forman un espacio de nombres (p’::A, p’’::A).
•• El sistema completo es un simple paquete (anónimo).
•• Todo diagrama y elementos del modelo UML pueden
estar organizados en paquetes
•• De la propiedad: Jerarquía de paq. es un árbol
•• Del uso: es un grafo.
40. Paquete & Nota
Reglas de Negocio
Un paquetees un mecanismo de propósito general para organizar elementos dentro de grupos. Retornar una copia de self
Una nota es un símbolo para mostrar restricciones y comentarios adjuntos a un elemento o una colección de elementos.
41. Relaciones entre Paquetes
•• Importación. Relación de dependencia con:
–– <<import>> añade el contenido del destino al espacio de
nombres del origen.
–– <<access>> no lo añade. Se deben calificar los nombres.
–– La dependencia de importación no es transitiva.
•• Exportación. Se especifica el elemento con su visibilidad.
–– Visibilidad: +, #, -.
•• Generalización.
–– Heredan los elementos públicos y privados.
–– Pueden redefinir elementos y añadir nuevos.
–– Un paquete especializado puede usarse en cualquier lugar que se
utilice un paquete más general.
•• Estereotipos: facade (vista), framework framework, , stub stub, , subsystem subsystem, ,
system system.
43. Paquetes
•• Los paquetes ofrecen un mecanismo general para la
partición de los modelos y la agrupación de los elementos
de modelado modelado.
ƒƒ Cada paquete corresponde a un subconjunto del modelo modelo. .
Contiene clases clases, objetos objetos, relaciones relaciones, componentes y
diagramas diagramas.
ƒƒ La arquitectura del sistema viene dada en forma de
paquetes y por las relaciones de dependencia entre ellos ellos.
ƒƒ Un paquete puede contener a otros otros, sin , límite de
anidamiento
ƒƒ Cada elemento pertenece a sólo un paquete
ƒƒ Una clase de un paquete puede aparecer en otro paquete
por la importación a través de una relación de
dependencia entre paquetes
44. Paquetes (Cont.)
ƒƒ Las importaciones entre paquetes
ƒƒ se representan por medio de una relación de
dependencia estereotipada y orientada del cliente al
proveedor
ƒƒ Al menos una clase del paquete cliente usa los
servicios ofrecidos por al menos una clase del paquete
proveedor
ƒƒ Una clase depende de otra si accede a un valor del
proveedor, invoca a una operación o referencia al
proveedor como argumento en alguna operación
ƒƒ Todas las clases no son necesariamente visibles desde el
exterior del paquete
ƒƒ El operador “::” permite designar una clase definida en un
contexto distinto del actual
ƒƒ Un paquete encapsula a la vez que agrupa
45. Paquetes (Cont.)
ƒƒ Cada elemento de un paquete se incluye como visible o
no desde el exterior del paq paq. .
VentasPersonalClienteRepresentante de Ventas
46. Técnicas
•• Los paquetes no tienen identidad (no hay instancias, son
invisibles para el sistema en ejecución).
•• Se pueden utilizar como unidades básica para un SCM,
para grupos de desarrollo diferentes.
•• Los paquetes se pueden utilizar para modelar las vistas
arquitectónicas.
•• Vista es una proyección de la organización y estructura de
un sistema, centrada en un aspecto particular del sistema.
–– Descomposición de un sistema en paquetes casi ortogonales.
•• Vista de diseño, procesos, implementación, despliegue, caso de u uso. so.
–– Los paquetes contienen todas las abstracciones pertinentes para
esa vista.
•• Todos los componentes del modelo pertenecen al paquete vista de
implementación.
•• Existirán dependencias entre los elementos de las distintas vist vistas. as.
47. Modelos
•• Los modelos permiten visualizar, especificar, construir y
documentar un sistema.
•• Los sistemas bien estructurados son cohesivos funcional,
lógica y físicamente, construidos a partir de subsistemas
débilmente acoplados.
•• Un modelo bien estructurado proporciona una
simplificación de la realidad desde un punto de vista bien
definido y relativamente independiente.
48. Puente Grua: Funcionalidades
•• Controlar el puente a través de un PLC.
–– Dar directivas al pte grúa con un Controlador Lógico Programable Programable. .
–– Comunicación por la puerta serial de un PC.
–– Protocolo con fuertes componentes de tiempo.
•• Modelizar el recinto de materiales.
–– Recinto Configurable: largo, ancho y alto.
–– Grilla. Cada pto representa pozos, tolvas y cintas de descarga.
–– Control del relieve (pto en situación crítica) y flujo de materi materiales. ales.
–– Infor. de c/pto: material depositado, altura del mismo, etc.
–– Establecer prioridades para no para no parar la cadena productiv productiva
•• Interpretar consignas de trabajo: manuales y automáticas
•• Generar alarmas ante la ocurrencia de eventos
anormales: fallas mecánicas o eléctricas deben ser
conocidas de inmediato por el operador del sistema.
49. Componentes del Sistema
•• Interfaz del Sistema de Grúa Robotizada, permite
–– la comunicación del operador con el sist. que controla el pte gr grúa. úa.
–– definir el recinto de materiales
–– la def y reconocimiento de alarmas, y la especif. de las consign consignas. as.
•• Sistema de Control de Comunicaciones, permite
–– la parametrización de la comunicación : Computadora/PLC
•• RDBMS,
•• generador de información gerencial, obtener infor. sobre
–– producción de la planta,
–– el funcionamiento (alarmas reconocidas, histórico de alarmas,
tiempo ocioso, etc.),
–– el costo financiero de material en stock y minimización de stock
(just in time).
•• un sistema de grúa robotizado
–– encargado de la gestión del puente grúa
50. Diagramas de Objetos
•• Muestra instancias compatibles con un diagrama
de clase particular.
•• Incluye sus objetos y los valores de sus datos.
•• Snapshot del estado detallado del sistema en un
pto del tpo.
51. Clases & Objetos
Objetos
Clases
unObjeto:UnaClase
UnaClase
atr1
atr2
operacion1()
operacion2()
o
:UnaClase
o
unObjeto
o
Los nombres de objetos están subrayados.
UnaClase