PROCESOS DE RAZONAMIENTO INVERSO: PATRÓN DE DISEÑO ADAPTER EN PYTHON Y PHP, LOS
|
|
- María del Pilar Lara Ruiz
- hace 8 años
- Vistas:
Transcripción
1 10 PROCESOS DE RAZONAMIENTO INVERSO: PATRÓN DE DISEÑO ADAPTER EN PYTHON Y PHP, LOS CÓMO Y LOS PARA QUÉ TIENES UN ENCHUFE DE TRES PATAS PERO UN TOMA CORRIENTE DE DOS. NECESITAS INSERTAR LA CLAVIJA EN EL TOMA SIN MODIFICAR NINGUNA DE LAS DOS. SOLUCIÓN: UTILIZAS UN ADAPTADOR. BIENVENIDAS/OS AL PATRÓN DE DISEÑO ADAPTER. Necesitaba un ejemplo sencillo que me permitiese demostrar visualmente, cómo funciona el patrón de diseño Adapter y el ejemplo del enchufe, me vino «como anillo al dedo». Pues no podría ser más claro: es la imagen perfecta e inequívoca para comprender este maravilloso patrón de diseño. En la programación orientada a objetos, un patrón de diseño representa la forma en la cual se puede resolver el comportamiento de un objeto o la relación entre ellos y el patrón de diseño Adapter (adaptador) resuelve la necesidad de conectar dos (o más) objetos entre sí, dónde al menos uno de ellos necesitaría ser modificado. Pero para poder explicarlo sin riesgo a confusiones, me voy a valer de un caso real. Para ello, les pido que imaginemos que tenemos un típico objeto Usuario: # La clase Usuario en PHP class Usuario { $this->usuario_id = 0; $this->nombre = ''; # La clase Usuario en Python class Usuario(object):
2 11 def init (self): self.usuario_id = 0 self.nombre = '' Y nos encontramos con que debemos implementar las siguientes Historias de Usuario: Cómo usuario puede enviar mensajes a otro usuario del sistema Cómo usuario puedo ver una lista de los mensajes que he recibido desde otros usuarios Hablamos de un requerimiento típico de una gran parte de las aplicaciones tanto Web como de escritorio. Si simplemente pensáramos en DATOS pero NO EN OBJETOS, nos encontraríamos con una tabla de mensajes, con un campo remitente_id, otro destinatario_id, y otros más destinados a almacenar la fecha, el asunto y el cuerpo del mensaje, por ejemplo. Y lo anterior, arrojaría como resultado una clase con propiedades simples y complicados y errados métodos no estándar, que realicen consultas cruzadas en la base de datos: SELECT FROM mensaje.mensaje_id, mensaje.asunto, mensaje.cuerpo, mensaje.fecha, mensaje.estado, usuario.nombre AS remitente, usuario.nombre AS destinatario mensaje INNER JOIN usuario ON mensaje.remitente_id = usuario.usuario_id OR mensaje.destinatario_id = usuario.usuario_id etc. Y luego la clase Mensaje derivaría del diseño previo de la base de datos: class Mensaje(object): def init (self): self.mensaje_id = 0 self.asunto = '' # self.remitente_id = 0 # Usuario.usuario_id self.destinatario_id = 0 # también sería Usuario.usuario_id Lo anterior, sería un ejemplo sobre cómo las malas costumbres nos llevan a pensar en datos. Pero sin embargo, podríamos pensar estrictamente en objetos y en este caso, nos encontraríamos con la siguiente definición inicial del objeto mensaje: El mensaje tiene 1 remitente El mensaje tiene 1 destinatario
3 12 Esto, nos haría deducir, correctamente, que Remitente y Destinatario, serían dos tipos de objetos diferentes: class Remitente { class Destinatario { class Remitente(object): class Destinatario(object): Y a la vez, Mensaje, tendría dos propiedades compuestas por los objetos Remitente y Destinatario respectivamente: class Mensaje { function construct(remitente $rtte=null, Destinatario $dest=null) { #... $this->remitente = $rtte; $this->destinatario = $dest; #... class Mensaje(object): def init (self, remitente=none, destinatario=none): #... self.remitente = compose(remitente, remitente) self.destinatario = compose(destinatario, remitente) # notar que he utilizado una función llamada compose(objetorequerido, objeto_compositor) # cuyo fin sería el de componer a la propiedad # para más información, se puede leer sobre el patrón de diseño compuesto en Python # en Sin embargo, no necesitamos siquiera, analizar a los objetos Remitente y Destinatario en profundidad, para saber que en realidad estamos hablando de objetos Usuario: class Remitente extends Usuario { class Destinatario extends Usuario { class Remitente(Usuario):
4 13 class Destinatario(Usuario): Hasta aquí, nada parece complicado. Sin embargo, los objetos Remitente, Destinatario y Usuario, son exactamente iguales. Entonces por qué no componer Mensaje directamente con el objeto Usuario? La razón es sencilla y es que en la orientación objetos bien implementada, las propiedades compuestas llevan el nombre del objeto que las compone y eso permite: Obtener objetos más reales, relacionalmente lógicos y estructuralmente coherentes; Lograr una mayor legibilidad y facilidad de comprensión; No ensuciar los métodos constructores con funciones destinadas a manejar el tipo de datos de las propiedades; Utilizar mapeadores relacionales de objetos (ORM) basados en objetos reales y no en parches de datos colocados a los objetos. Entonces, repasando, hasta aquí tendríamos los siguientes objetos y relaciones: Diagrama UML realizado con Dia (Software Libre) Pero lo cierto es, que tanto Remitente como Destinatario son objetos simulados, creados para satisfacer las exigencias del objeto Mensaje. Y en realidad, cuando el método get() de Mensaje sea invocado y éste, intente componer sus dos propiedades (Mensaje.remitente y Mensaje.destinatario), el método get() real al que debería invocarse, tendría que ser el método get() de Usuario, ya que a decir verdad, es el verdadero compositor. Mensaje debería recurrir al método get() de Usuario que es el verdadero compositor
5 14 Aquí es dónde la adaptación real sale a la luz. Remitente y Destinatario al fin deberán adaptar las clavijas de Usuario para ser insertadas en el toma corriente de Mensaje. Es entonces cuando la función transformadora de ambos objetos, pasa a ser la adaptación del método get() de Usuario: Cuando Mensaje llame al método get de Remitente y Destinatario, en realidad deberá ser el método get de Usuario quien deba ejecutarse y luego, transformar a Usuario en un Remitente y en un Destinatario respectivamente. Remitente y Destinatario, deberán entonces, sobrescribir el método get heredado de Usuario, a fin de que Usuario.get() sea llamado, cada vez que Remitente.get() y Destinatario.get() sean invocados: $usuario = new Usuario(); $usuario->usuario_id = $this->usuario_id; $usuario->get(); foreach($usuario as $property=>$value) { $this->$property = $value; def get(self): usuario = Usuario() usuario.usuario_id = self.usuario_id usuario.get() for property, value in vars(usuario).iteritems(): setattr(self, property, value) Incluyendo esta sobre-escritura del método get() de Usuario, Remitente y Destinatario se transforman en dos adaptadores. Y sería genial, si no existiese la redundancia, pues el método get() se sobrescribe igual en Remitente que en Destinatario y uno de los principios del Refactoring indica que: Si dos clases que heredan de la misma clase tienen métodos idénticos, se extrae el método repetido y se lo lleva a la clase Madre Pero qué sucedería si este método fuese llevado a la clase madre? Claramente, estaríamos eliminando el verdadero método get() de Usuario. Entonces, la solución es extraer el método hacia una nueva clase y hacer heredar a Remitente y destinatario de esta nueva clase. Y ésta, a la vez, sería quien herede de Usuario: class UsuarioAdapter extends Usuario {
6 15 $usuario = new Usuario(); $usuario->usuario_id = $this->usuario_id; $usuario->get(); foreach($usuario as $property=>$value) { $this->$property = $value; class Remitente extends UsuarioAdapter { class Destinatario extends UsuarioAdapter { class UsuarioAdapter(Usuario): def get(self): usuario = Usuario() usuario.usuario_id = self.usuario_id usuario.get() for property, value in vars(usuario).iteritems(): setattr(self, property, value) class Remitente(UsuarioAdapter): class Destinatario(UsuarioAdapter): AVISO: notar que en los ejemplos no se ha utilizado el método constructor en las clases, no porque no deba utilizarse (al contrario), sino porque no es de relevancia para el ejemplo. Finalmente, la relación quedaría como la siguiente:
7 16 PATRÓN DE DISEÑO ADAPTER EN EUROPIO ENGINE Si estás utilizando Europio Engine ( habrá que tener en cuenta que al momento de invocar al método get() de Mensaje, cuando éste recurra al get() de Remitente y Destinatario para componer sus dos propiedades homónimas, el ORM considerará las propiedades remitente_id y destinatario_id, como las propiedades identificadoras de Remitente y Destinatario respectivamente. Lo propio sucederá con la propiedad id de UsuarioAdapter. Por lo tanto, habrá que agregar a Remitente, Destinatario y UsuarioAdapter, sus respectivas propiedades ID y encargarse de asignarles el valor necesario: class Remitente extends UsusarioAdapter { parent:: construct(); $this->remitente_id = 0; $this->usuario_id = $this->remitente_id; parent::get(); class Destinatario extends UsusarioAdapter { parent:: construct(); $this->destinatario_id = 0; $this->usuario_id = $this->destinatario_id; parent::get(); class UsuarioAdapter extends Usuario { $this->usuarioadapter_id = $this->usuario_id; $usuario = new Usuario(); $usuario->usuario_id = $this->usuario_id; $usuario->get(); foreach($usuario as $property=>$value) { $this->$property = $value;
MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO
MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO Fecha última revisión: Marzo 2016 INDICE DE CONTENIDOS HERRAMIENTA DE APROVISIONAMIENTO... 2 1. QUÉ ES LA HERRAMIENTA DE APROVISIONAMIENTO... 2 HERRAMIENTA
Más detallesNemoTPV SAT Manual de usuario 1. NemoTPV SAT APLICACIÓN DE GESTIÓN DE SERVICIO TÉCNICO PARA PUNTOS DE VENTA DE EUSKALTEL
NemoTPV SAT Manual de usuario 1 NemoTPV SAT APLICACIÓN DE GESTIÓN DE SERVICIO TÉCNICO PARA PUNTOS DE VENTA DE EUSKALTEL NemoTPV SAT Manual de usuario 2 Ante un problema, lo importante no es saber solucionarlo,
Más detallesCaso práctico de Cuadro de Mando con Tablas Dinámicas
1 Caso práctico de Cuadro de Mando con Tablas Dinámicas Luis Muñiz Socio Director de SisConGes & Estrategia Introducción Hay una frase célebre que nos permite decir que: Lo que no se mide no se puede controlar
Más detallesConceptos. ELO329: Diseño y Programación Orientados a Objetos. ELO 329: Diseño y Programación Orientados a Objetos
Conceptos ELO329: Diseño y Programación Orientados a Objetos 1 Paradigmas de Programación Historia: Los computadores parten cableados por hardware, Luego se introduce la programación en binario, Se desarrolla
Más detallesDesarrollo de Aplicaciones Web-Parte 2
Desarrollo de Aplicaciones Web-Parte 2 Aplicaciones Web Mobile Veamos ahora las aplicaciones Web Mobile, es decir, las aplicaciones Web que se ejecutarán en los navegadores de los Smart Devices. Desde
Más detallesMANUAL DEL PROGRAMA DE ASESORAMIENTO (Asesores) Navegador y limpiar caché/cookies...2 Acceso al programa de Asesoramiento... 7
MANUAL DEL PROGRAMA DE ASESORAMIENTO (Asesores) Índice Pasos previos a la visualización del programa: Navegador y limpiar caché/cookies...2 Acceso al programa de Asesoramiento... 7 Conceptos e información
Más detallesCurso de Doctorado: Tecnologías de Objetos
Curso de Doctorado: Tecnologías de Objetos Grupo IMO Área de Lenguajes y Sistemas Informáticos Departamento de Informática J. Baltasar García Perez-Schofield http://webs.uvigo.es/jbgarcia/ Implementación
Más detallesUML, ejemplo sencillo sobre Modelado de un Proyecto
UML, ejemplo sencillo sobre Modelado de un Proyecto Normal &DOLILFDU 0L3DQRUDPD 626 (VFULEHSDUD1RVRWURV Por Armando Canchala Contenido Introducción Objetivo Requerimientos Casos de Uso Subcasos de Uso
Más detalles5.1. Organizar los roles
Marco de intervención con personas en grave situación de exclusión social 5 Organización de la acción 5.1. Organizar los roles Parece que el modelo que vamos perfilando hace emerger un rol central de acompañamiento
Más detallesEsta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro
USAR MYSQL EN PHP PHP tiene una librería de funciones nativas para conectarse a las base de datos MySQL. Por un lado reconoce la librería mysql y por otro mysqli. Se recomienda el uso de mysqli dado que
Más detallesMANUAL DE AYUDA MÓDULO GOTELGEST.NET PREVENTA/AUTOVENTA
MANUAL DE AYUDA MÓDULO GOTELGEST.NET PREVENTA/AUTOVENTA Fecha última revisión: Septiembre 2014 MANUAL DE AYUDA MÓDULO GOTELGEST.NET PREVENTA/AUTOVENTA MÓDULO GOTELGEST.NET MÓVIL... 3 1. INTRODUCCIÓN A
Más detallesLABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL
OBJETIVO Mejorar el nivel de comprensión y el manejo de las destrezas del estudiante para utilizar formulas en Microsoft Excel 2010. 1) DEFINICIÓN Una fórmula de Excel es un código especial que introducimos
Más detallesREGISTRO DE USUARIOS Y CURSOS
REGISTRO DE USUARIOS Y CURSOS INTRODUCCIÓN Este manual tiene como proposito explicar la manera en que se tiene que dar de alta y mantenimiento a los usuarios que utilizan el portal de Provecomer. También
Más detallesPrograma para el Mejoramiento de la Enseñanza de la Matemática en ANEP Proyecto: Análisis, Reflexión y Producción. Fracciones
Fracciones. Las fracciones y los números Racionales Las fracciones se utilizan cotidianamente en contextos relacionados con la medida, el reparto o como forma de relacionar dos cantidades. Tenemos entonces
Más detallesRecursos para el Estudio en Carreras de Ingeniería 2006 UNIDAD TEMÁTICA Nº 4 LA TOMA DE APUNTES
UNIDAD TEMÁTICA Nº 4 LA TOMA DE APUNTES En esta unidad te invitamos a que: Adviertas la importancia de los apuntes como un recurso para iniciar el estudio de un tema. Te apropies de algunas estrategias
Más detallesGUIA PROGRAMACIÓN ORIENTADA A OBJETOS
GUIA PROGRAMACIÓN ORIENTADA A OBJETOS 1. Por qué la P.O.O? R= A medida que se van desarrollando los lenguajes, se va desarrollando también la posibilidad de resolver problemas más complejos. En la evolución
Más detallesHERRAMIENTAS DE ACCESS ACCESS 2010. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE
HERRAMIENTAS DE ACCESS ACCESS 2010 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE HERRAMIENTAS DE ACCESS En esta unidad veremos algunas de las herramientas incorporadas de Access que
Más detallesManual etime para supervisores
Contenido Introducción...3 Empezando a usar etime...4 Cómo entrar a etime?...5 *Cambiar su propia contraseña...5 Partes de pantalla principal...6 Funcionamiento estándar de las pantallas de captura...7
Más detallesTema 5. Diseño detallado.
Ingeniería del Software II 2011 Tema 5. Diseño detallado. Diseño del Software. Los requisitos y el análisis orientado a objetos se centran en aprender a hacer lo correcto: Entender los objetos de nuestro
Más detallesPágina 1 de 7. Qué es Scratch?
Página 1 de 7 Qué es Scratch? Scratch es un software desarrollado por un grupo de investigadores (LLK) del MIT (Instituto Tecnologíco de Massachussets) con amplia experiencia en el desarrollo de herramientas
Más detallesGUÍAS. Módulo de Diseño de software SABER PRO 2013-2
GUÍAS Módulo de Diseño de software SABER PRO 2013-2 GUÍAS Módulo de diseño en ingeniería El diseño de productos tecnológicos (artefactos, procesos, sistemas e infraestructura) está en el centro de la naturaleza
Más detallesDivisibilidad y números primos
Divisibilidad y números primos Divisibilidad En muchos problemas es necesario saber si el reparto de varios elementos en diferentes grupos se puede hacer equitativamente, es decir, si el número de elementos
Más detallesCómo crear experiencias de cliente con Social Media. Whitepaper
Cómo crear experiencias de cliente con Social Media Whitepaper En este WhitePaper vamos a intentar entender cómo las redes sociales nos pueden ayudar a crear o potenciar las experiencias de nuestros clientes.
Más detallesCOPPEL MANUAL TÉCNICO MCC DE SISTEMAS PROGRAMACIÓN DESCRIPCIÓN DEL PROCESO DE ARQUITECTURA DE SOFTWARE
COPPEL MANUAL TÉCNICO MCC DE SISTEMAS PROGRAMACIÓN DESCRIPCIÓN DEL PROCESO DE ARQUITECTURA DE SOFTWARE Creado en May/14 Objetivo: Contar con una guía de las actividades que se deben realizar en esta fase,
Más detallesÍNDICE. Ficha técnica... 4. Encuesta y cuestionario... 6. Finalidad y resultados de la encuesta... 10 10. Primera parte: conocimiento...
ÍNDICE Ficha técnica... 4 Encuesta y cuestionario... 6 Finalidad y resultados de la encuesta... 10 10 Primera parte: conocimiento... 12 Segunda parte: modo de conocimiento y valoración... 18 Tercera parte:
Más detallesCurso de Python Inicial
Logo IAA-CSIC Curso organizado por el Gabinete de Formación del CSIC Curso de Python Inicial Clases Contenidos 1. Paradigmas de la Programación 2. Programación Orientada a objetos 3. Clases 4. Objetos
Más detallesMi Cisco Preguntas frecuentes
1. Qué es Mi Cisco? Mi Cisco le ofrece una vista portátil y personalizable de la información de su interés en Cisco.com. 2. Cómo puedo ingresar a Mi Cisco? Puede ingresar a Mi Cisco de dos maneras: Lista
Más detallesEUROPIO ENGINE LAB: FORMULARIOS WEB Y TABLAS HTML EN SOLO
20 EUROPIO ENGINE LAB: FORMULARIOS WEB Y TABLAS HTML EN SOLO UNOS POCOS PASOS HACE APENAS MENOS DE UN MES, LANCÉ UNA NUEVA VERSIÓN ESTABLE DE EUROPIO ENGINE: LA 3.2.5. ESTO ME MOTIVÓ A TERMINAR DOS COMPLEMENTOS
Más detallesSISTEMA DE GESTIÓN DOCUMENTAL QUIPUX MÓDULO DE TAREAS. Manual de Usuario. Septiembre-2011. Sistema de Gestión Documental Quipux
SISTEMA DE GESTIÓN DOCUMENTAL QUIPUX MÓDULO DE TAREAS Manual de Usuario Septiembre-2011 Manual de Usuario Módulo de Tareas Licencia Usted es libre de: Copiar, distribuir y comunicar públicamente la obra
Más detallesNotación UML para modelado Orientado a Objetos
1 Notación UML para modelado Orientado a Objetos 2 Notación UML para modelado Orientado a Objetos Índice 1.1. Qué es UML?.. 3 1.2. Por qué interesa UML en la asignatura de Programación Orientada a Objetos?3
Más detallesAnálisis del Informe de la Unión de Consumidores de Málaga: El sistema tarifario del ciclo del agua en la ciudad de Málaga
Análisis del Informe de la Unión de Consumidores de Málaga: El sistema tarifario del ciclo del agua en la ciudad de Málaga La unión de consumidores de Málaga ha redactado un estudio que pretende avalar
Más detallesSistema de Mensajería Empresarial para generación Masiva de DTE
Sistema de Mensajería Empresarial para generación Masiva de DTE TIPO DE DOCUMENTO: OFERTA TÉCNICA Y COMERCIAL VERSIÓN 1.0, 7 de Mayo de 2008 CONTENIDO 1 INTRODUCCIÓN 4 2 DESCRIPCIÓN DE ARQUITECTURA DE
Más detalles12 Minería de Datos Reglas de asociación.
Objetivos: 12 Minería de Datos Reglas de asociación. Genera reportes a partir de técnicas de Data Mining. Utiliza software de Data Mining. Recursos: Guías prácticas. Datos ejemplo. http://rapidminer.com
Más detalles5- Uso de sentencias avanzadas
Objetivos: 5- Uso de sentencias avanzadas Elaborar sentencias de manejo de datos. Recursos: Microsoft SQL Server Management Studio Guías prácticas. Introducción: Después de trabajar con las sentencias
Más detallesVamos a crear nuestro primer juego en el que tendremos que coger la comida que esta protegida por los gatos
Atrapa la tarta Vamos a crear nuestro primer juego en el que tendremos que coger la comida que esta protegida por los gatos Instrucciones (Controla el movimiento del ratón con las teclas flecha derecha,
Más detallesMANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO
MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO Fecha última revisión: Junio 2011 INDICE DE CONTENIDOS HERRAMIENTA DE APROVISIONAMIENTO... 3 1. QUÉ ES LA HERRAMIENTA DE APROVISIONAMIENTO... 3 HERRAMIENTA
Más detallesSoftware para Seguimiento de Clientes. Descripción del Producto
Software para Seguimiento de Clientes Descripción del Producto Descripción del Sistema Es un completo sistema que permite tener un mejor control y manejo sobre clientes antiguos y nuevos, ya que permite
Más detallesUnidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)
Unidad I Sistemas numéricos 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal) Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS.
Más detallesDISENO DE CURSOS AUTOGESTNOS. Mana del Socorro Perez Alcala
DISENO DE CURSOS AUTOGESTNOS Mana del Socorro Perez Alcala La metodología que seguimos en el Centro de Educación Continua, Abierta y a Distancia (CECAD) cuando a nosotros llega un maestro o un experto
Más detallesISO 17799: La gestión de la seguridad de la información
1 ISO 17799: La gestión de la seguridad de la información En la actualidad las empresas son conscientes de la gran importancia que tiene para el desarrollo de sus actividades proteger de forma adecuada
Más detallesPHP y MySQL. Inicio: - Herencia - Palabra clave Final - Polimorfismo - Type Hinting - Abstracción de clases
PHP y MySQL Inicio: - Herencia - Palabra clave Final - Polimorfismo - Type Hinting - Abstracción de clases Herencia de Objetos La herencia permite crear muchas clases que son similares entre si, sin tener
Más detallesElementos de Microsoft Word
Contenido 1. Distintas formas de iniciar Word 2007... 2 2. Ayuda de Word... 2 3. Las barras de herramientas... 3 4. Funcionamiento de las pestañas. Cómo funcionan?... 4 5. Personalizar barra de acceso
Más detallesUnidad 3 Direccionamiento IP (Subnetting)
Unidad 3 Direccionamiento IP (Subnetting) Las direcciones denominadas IPv4 se expresan por combinaciones de números de hasta 32 bits que permiten hasta 2 32 posibilidades (4.294.967.296 en total). Los
Más detallesGUÍA TÉCNICA PARA LA DEFINICIÓN DE COMPROMISOS DE CALIDAD Y SUS INDICADORES
GUÍA TÉCNICA PARA LA DEFINICIÓN DE COMPROMISOS DE CALIDAD Y SUS INDICADORES Tema: Cartas de Servicios Primera versión: 2008 Datos de contacto: Evaluación y Calidad. Gobierno de Navarra. evaluacionycalidad@navarra.es
Más detallesINGENIERÍA DE SOFTWARE:
30 INGENIERÍA DE SOFTWARE: WRAPPERS Y DECORADORES EN PYTHON EN EL MUNDO DE LA INGENIERÍA DE SISTEMAS, PYTHON ES UNO DE LOS LENGUAJES MÁS TEMIDOS Y RESPETADOS. EL RESPETO, NO ES ALGO QUE DEBA PERDERSE,
Más detallesModelos y Bases de Datos
Modelos y Bases de Datos MODELOS Y BASES DE DATOS 1 Sesión No. 10 Nombre: Álgebra Relacional Contextualización En qué consiste el álgebra relacional? Se ha planteado hasta el momento cada uno de los procesos
Más detallesEste programa mueve cada motor de forma independiente, y cuando termina una línea pasa a la siguiente.
1 Programa 1 Utilizando el icono añadimos un movimiento a por cada línea de programa. Podremos usar 8 posibles líneas de programa (Base, Hombro, Codo, Muñeca, Pinza, Salida 1, Salida 2 y línea en blanco).
Más detallesOperación 8 Claves para la ISO 9001-2015
Operación 8Claves para la ISO 9001-2015 BLOQUE 8: Operación A grandes rasgos, se puede decir que este bloque se corresponde con el capítulo 7 de la antigua norma ISO 9001:2008 de Realización del Producto,
Más detallesCómo las herramientas en línea están revolucionando la implementación de ITIL e ISO 20000
Cómo las herramientas en línea están revolucionando la implementación de ITIL e ISO 20000 Informe 14 de marzo de 2014 Copyright 2014 20000Academy. Todos los derechos reservados. 1 Resumen ejecutivo Antes
Más detallesProblemas y ventajas de medir con BIM
Problemas y ventajas de medir con BIM Qué se puede hacer para presupuestar modelos realizados en BIM y qué queda por hacer Tres aspectos: La tecnología La infraestructura La cultura Qué se puede hacer
Más detallesNUEVAS SOLUCIONES y CAMBIOS EN LA GESTION DEL NEGOCIO. JOSE LUIS LENCE Socio Director de Gesfarm Consultoria Farmacias
OPORTUNIDADES CON NUESTROS CONSUMIDORES - COMPRADORES ( GEOMARKETING ) LOS NUEVOS TIEMPOS Y LA SITUACIÓN ACTUAL, REQUIEREN NUEVAS SOLUCIONES y CAMBIOS EN LA GESTION DEL NEGOCIO. JOSE LUIS LENCE Socio Director
Más detallesBUSINESS OBJECTS EDICIÓN DE REPORTES NIVEL II
BUSINESS OBJECTS EDICIÓN DE REPORTES NIVEL II [Escriba texto] Contenido CAPÍTULO I: ESTRUCTURANDO UN REPORTE... 4 CAPÍTULO II: FICHA DE INFORMES... 5 CAPÍTULO III: BARRA DE HERRAMIENTAS INFORME... 19 EJERCICIOS...
Más detallesQUÉ ES Y PARA QUÉ SIRVE UML? VERSIONES DEL LENGUAJE UNIFICADO DE MODELADO. TIPOS DE DIAGRAMAS. INGENIERÍA DEL SOFTWARE (DV00205D)
APRENDERAPROGRAMAR.COM QUÉ ES Y PARA QUÉ SIRVE UML? VERSIONES DEL LENGUAJE UNIFICADO DE MODELADO. TIPOS DE DIAGRAMAS. INGENIERÍA DEL SOFTWARE (DV00205D) Sección: Divulgación Categoría: Lenguajes y entornos
Más detallesCorrespondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech
Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech Resumen Todo documento XBRL contiene cierta información semántica que se representa
Más detallesCurso Excel Básico - Intermedio
Curso Excel Básico - Intermedio Clase 4 Relator: Miguel Rivera Adonis Introducción Base de Datos: Definición de Base de Datos Ordenar datos Formulario Filtros Trabajar con Sub-Totales Validación de Datos
Más detallesDeberemos escoger de nuestro equipo humano un responsable de la implementación (si no queremos hacerlo personalmente).
LA IMPLEMENTACIÓN DE UN SISTEMA DE CALIDAD EN UN RESTAURANTE. POR Luís Codó Pla CUANDO IMPLEMENTAR EL SISTEMA Todo restaurante conoce, o debería conocer, cuáles son sus momentos de mayor afluencia de trabajo.
Más detalles2011-2012 RESOLUCIÓN DE ERRORES EN MOODLE CAMPUS VIRTUAL-BIRTUALA UPV-EHU
2011-2012 RESOLUCIÓN DE ERRORES EN MOODLE CAMPUS VIRTUAL-BIRTUALA UPV-EHU Antecedentes:... 2 1. Introducción... 3 2. Imágenes que no se visualizan... 3 3. URLs de recursos o actividades que no son autocontenido...
Más detallesSoftware de identificación y ubicación mediante GPS para radios digitales MOTOROLA Con Control de rondas y Gestión de control del riesgo
Software de identificación y ubicación mediante GPS para radios digitales MOTOROLA Con Control de rondas y Gestión de control del riesgo Para atender eficientemente las necesidades de nuestros clientes,
Más detallesALMACEN 1. En el ejemplo se muestra al proveedor 1, que realiza la fase 40. Automáticamente se creó el almacén P1.
ALMACEN 1 En DaVinciTEXTIL, le permite controlar las existencias o stock tanto de artículos acabados como de los materiales. En este manual se detallan las nociones básicas que debe aprender, posteriormente
Más detallesCURSO INSTALACION E IMPLEMENTACION ALOJA SOFTWARE HOTEL MODULO 02: Datos Adicionales de configuración [1]
MODULO 02: Datos Adicionales de configuración [1] Monedas circulantes El software permite recibir múltiples clases de monedas en sus cobros. Para esto debemos definir las monedas circulantes que podemos
Más detallesLa e-capacitación: Estrategia Competitiva
La e-capacitación: Estrategia Competitiva del siglo XXI Jessica Meza-Jaques Dirección de Tecnología Educativa Universidad Andrés Bello jmeza@unab.cl Carolina Pacheco M. Facultad de Economía y Negocios
Más detallesPROPUESTAS COMERCIALES
PROPUESTAS COMERCIALES 1. Alcance... 2 2. Entidades básicas... 2 3. Circuito... 2 3.1. Mantenimiento de rutas... 2 3.2. Añadir ofertas... 5 3.2.1. Alta desde CRM... 5 3.2.2. Alta desde el módulo de Propuestas
Más detallesProyecto final de curso Android: Programación de aplicaciones (3ª edición online, octubre-enero 2013)
Proyecto final de curso Android: Programación de aplicaciones (3ª edición online, octubre-enero 2013) Nombre de la aplicación: Activland Autor: Varillas Berlandi, Jonathan Origen de la idea: La idea de
Más detallesManual Usuario Wordpress. Índice
2 Índice 1. Manual usuario...2 1.1 Zona de mensajes...2 1.2 Zona de usuarios...5 1.2.1 Identificarse...5 1.2.2 Registrarse...6 1.3 Categorías...6 1.4 Subscribirse...6 1.5 Archivos...7 1.6 Calendario...7
Más detallesDCU Diagramas de casos de uso
DCU Diagramas de casos de uso Universidad de Oviedo Departamento de Informática Contenidos Introducción Elementos básicos Más sobre los actores Más sobre los casos de uso Más sobre las asociaciones Otros
Más detallesSIIT SISTEMA INFORMÁTICO DE INSPECCIONES DE TRABAJO. Modulo de Planificación Manual de Usuario
SISTEMA INFORMÁTICO DE INSPECCIONES DE TRABAJO Modulo de Planificación Manual de Usuario Oficina General de Estadística e Informática Oficina de Informática Unidad de Análisis y Desarrollo MÓDULO DE PLANIFICACIÓN
Más detallesCAPÍTULO 3 Servidor de Modelo de Usuario
CAPÍTULO 3 Servidor de Modelo de Usuario Para el desarrollo del modelado del estudiante se utilizó el servidor de modelo de usuario desarrollado en la Universidad de las Américas Puebla por Rosa G. Paredes
Más detallesCapítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable
Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable 1. Introducción. El Sistema de Administración de Información de un Negocio Franquiciable (SAINF)
Más detallesSMS Plus Qué es? Cómo funciona?
SMS Plus Qué es? Es un servicio para respaldar los SMS que envíes o recibas de otras personas, que te permite administrarlos como si fuera la bandeja de entrada del correo electrónico, y configurar además
Más detallesProfr. Efraín Soto Apolinar. Factorización
Factorización La factorización es la otra parte de la historia de los productos notables. Esto es, ambas cosas se refieren a las mismas fórmulas, pero en los productos notables se nos daba una operación
Más detallesTEMA 4: CORREO ELECTRÓNICO: OUTLOOK 2007 CORREO ELECTRÓNICO: OUTLOOK 2007 2 EJECUTAR EL ENTORNO DE TRABAJO GESTIÓN DE CORREO ELECTRÓNICO 3
TEMA 4: CORREO ELECTRÓNICO: OUTLOOK 2007 CORREO ELECTRÓNICO: OUTLOOK 2007 2 EJECUTAR 2 EL ENTORNO DE TRABAJO 3 GESTIÓN DE CORREO ELECTRÓNICO 3 Configurar cuenta de correo 3 Recepción y envío de mensajes
Más detallesBase de datos relacional
Base de datos relacional Una base de datos relacional es una base de datos que cumple con el modelo relacional, el cual es el modelo más utilizado en la actualidad para modelar problemas reales y administrar
Más detallesFormulario VBA en Excel. Creación del formulario. Actividad grado 10.
Actividad grado 10. 1. Leer y Realizar el siguiente ejercicio siguiendo los pasos establecidos en la guía. 2. Consultar códigos para realizar una calculadora. Donde se ejecute en formulario de visual basic,
Más detallesCONSULTAS MULTITABLAS SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE
CONSULTAS MULTITABLAS SQL SERVER 2005 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE CONSULTAS MULTITABLAS Hasta ahora hemos visto consultas que obtienen los datos de una sola tabla,
Más detallesAplicaciones Lineales
Aplicaciones Lineales Ejercicio Dada la matriz A = 0 2 0 a) Escribir explícitamente la aplicación lineal f : 2 cuya matriz asociada con respecto a las bases canónicas es A. En primer lugar definimos las
Más detallesLABORATORIO Nº 3 PRÁCTICA DE FUNCIONES EN MICROSOFT EXCEL
OBJETIVO Mejorar el nivel de comprensión y el manejo de las destrezas del estudiante para utilizar funciones en Microsoft Excel 2010. 1) LA FUNCIÓN SI EN EXCEL La función SI en Excel es parte del grupo
Más detallesProgramación I: Funciones y módulos
Programación I: Funciones y módulos Esteban De La Fuente Rubio 2 de abril de 23 Índice. Funciones.. Definición y llamado de funciones............................................. 2.2. Parámetros por omisión..................................................
Más detallesMANUAL DE USUARIO SECTOR PRIVADO (RESUMEN)
MANUAL USUARIO - SIDREP DESARROLLO DE UN SISTEMA DE DECLARACIÓN Y SEGUIMIENTO DE RESIDUOS PELIGROSOS MANUAL DE USUARIO SECTOR PRIVADO (RESUMEN) PREPARADO PARA COMISIÓN NACIONAL DEL MEDIO AMBIENTE, CONAMA
Más detalles1. Introducción al evaluación de proyectos
Objetivo general de la asignatura: El alumno analizará las técnicas de evaluación de proyectos de inversión para la utilización óptima de los recursos financieros; así como aplicar las técnicas que le
Más detallesUNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos
2.1. Principios básicos del Modelado de Objetos UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos Hoy en día muchos de los procesos que intervienen en un negocio o empresa y que resuelven
Más detallesDIAGRAMA DE CLASES EN UML
DIAGRAMA DE CLASES EN UML Mg. Juan José Flores Cueto jflores@usmp.edu.pe Ing. Carmen Bertolotti Zuñiga cbertolotti@usmp.edu.pe INTRODUCCIÓN UML (Unified Modeling Language) es un lenguaje que permite modelar,
Más detallesFórmulas y funciones
Fórmulas y funciones Uso de fórmulas Las fórmulas son el corazón y el alma de la hoja de cálculo. Si no las necesitáramos sería lo mismo que trabajáramos en un procesador de textos. Excel 2007 ofrece un
Más detallesEXTRACTO Descripción del uso y manejo de SIRAIS 1.2
Manual de usuario EXTRACTO Descripción del uso y manejo de ELABORADO POR Dr. Javier Rodríguez Suárez Director General de Difusión e Investigación Ing. José Joel Lucero Morales Jefe de Enseñanza de la Dirección
Más detallesMANUAL PARA CREAR USUARIOS. Guía para crear, desactivar e inmovilizar Usuarios de Salesforce
MANUAL PARA CREAR USUARIOS Guía para crear, desactivar e inmovilizar Usuarios de Salesforce Última modificación: marzo 2015 INDICE 1. INTRODUCCIÓN... 2 Acerca de los Usuarios de Salesforce... 2 2. CÓMO
Más detallesQUÉ ES LOGISTICA? Empresa.. de Logística y Distribución. Empresa experta en Abastecimiento y Logística La Logística y Almacenamiento, etc, etc, etc.
QUÉ ES LOGISTICA? Así como la ropa, la tecnología, los ritmos, hay palabras que se ponen de moda y muchos de nosotros las utilizamos sin saber del todo lo que significa o el alcance que puede tener la
Más detallesActividades para mejoras. Actividades donde se evalúa constantemente todo el proceso del proyecto para evitar errores y eficientar los procesos.
Apéndice C. Glosario A Actividades de coordinación entre grupos. Son dinámicas y canales de comunicación cuyo objetivo es facilitar el trabajo entre los distintos equipos del proyecto. Actividades integradas
Más detallesInstitución Educativa Inem Felipe Pérez de Pereira 2012 Estrategia taller. AREA: Sistemas de información Taller 1 2 3 4 Previsto 1 2 3 4 5 6 7 8 9 10
Grado 10º Tiempo (semanas) GUÍA DE FUNDAMENTACIÓN Institución Educativa AREA: Sistemas de información Taller 1 2 3 4 Previsto 1 2 3 4 5 6 7 8 9 10 Fecha Real 1 2 3 4 5 6 7 8 9 10 Área/proyecto: es y Mantenimiento
Más detallesCONTROL DE ASISTENCIA DE PERSONAL
CONTROL DE ASISTENCIA DE PERSONAL PARA UNA EMPRESA INITE, S.C. no es responsable del contenido, de la veracidad de los datos, opiniones y acontecimientos vertidos en el presente proyecto. La finalidad
Más detallesSENTIDO Y SIGNIFICADO DEL CONCEPTO «PROFESIONALES DE LA EDUCACION»
SENTIDO Y SIGNIFICADO DEL CONCEPTO «PROFESIONALES DE LA EDUCACION» Elvira Teijido de Suñer 126 Elvira Teijido de Suñer Es Profesora y Licenciada en Ciencias de la Educación por la Universidad de Buenos
Más detallesCapítulo 4 Implementación
Capítulo 4 Implementación Este capítulo describe los detalles de implementación del sistema. La sección 4.1 habla sobre las herramientas utilizadas y detalla la arquitectura para la implementación de ATEXEM.
Más detallesManual de Usuario del Correo Electrónico IBM Lotus inotes 8.5.1
Manual de Usuario del Correo Electrónico IBM Lotus inotes 8.5.1 Índice 1. Control de acceso a Lotus inotes... 3 1.1. Dirección web o url para el acceso a lotus inotes... 3 1.2. Pantalla de autenticación...
Más detallesGuía para realizar trabajos universitarios
Guía para realizar trabajos universitarios Recurso de apoyo para el proceso de migración a de la. Este manual fue elaborado para Libre Office Writer Introducción Además puede establecerse que tengan un
Más detallesAñadir el texto de la LOPD a los documentos
Añadir el texto de la LOPD a los documentos Para añadir el texto de la LOPD a los documentos (facturas, presupuestos, albaranes y contratos) hemos de utilizar el diseñador de documentos del programa. Vamos
Más detallesAplicaciones de Bases de Datos con Delphi
Guías técnicas Grupo Danysoft: Aplicaciones de Bases de Datos con Delphi Equipo Grupo Danysoft junio de 2003 - (902) 123146 www.danysoft.com Guías Técnicas Grupo Danysoft: Aplicaciones de Bases de datos
Más detallesTALLER No. 1 Capitulo 1: Conceptos Básicos de Bases de datos
TALLER No. 1 Capitulo 1: Conceptos Básicos de Bases de datos 1. La base de datos se puede considerar como una unificación de varios archivos de datos independientes, cuyo propósito básico es evitar la
Más detallesMontos y Plazos Créditos por Distribuidores
Montos y Plazos Créditos por Distribuidores Introducción El presente documento tiene por finalidad explicar cómo deben registrarse los montos y plazos para el otorgamiento de los préstamos que sean otorgados
Más detallesRefactoring: otra práctica de la Programación extrema
Hackers & Developers Magazine Año 0, Número 6 31 Refactoring: otra práctica de la Programación extrema EXTREME PROGRAMMING En ediciones anteriores estuvimos hablando de TDD, sus beneficios y forma de implementarlo.
Más detallesQUIERE ELECTRICIDAD EN CUALQUIER CIRCUNSTANCIA LA ENERGÍA REAL PROVIENE DE ENERGYST
QUIERE ELECTRICIDAD EN CUALQUIER CIRCUNSTANCIA LA ENERGÍA REAL PROVIENE DE ENERGYST 1 2 PRESENTAMOS ENERGYST. CON LA ENERGÍA DE CATERPILLAR EL CONTROL DE LA TEMPERATURA Y LA ENERGÍA CON FRECUENCIA PUEDE
Más detallesSEGUIMIENTO EDUCATIVO. Comunicaciones
SEGUIMIENTO EDUCATIVO Comunicaciones Diciembre 2013 Índice 1.INTRODUCCIÓN...1 2.ACCESO...1 3.MENSAJERÍA...2 3.1 Grupos a los que pertenezco...3 3.2 Enviar mensaje...4 3.3 Mis mensajes...7 3.4 Papelera
Más detallesMICROSOFT EXCEL 2007. Introducción: Qué es y para qué sirve Excel2007? TECNOLOGIA/ INFORMATICA: MS-EXCEL
MICROSOFT EXCEL 2007 Qué es y para qué sirve Excel2007? Excel 2007 es una hoja de cálculo integrada en Microsoft Office. Esto quiere decir que si ya conoces otro programa de Office, como Word, Access,
Más detalles