Fundamentos de Ingeniería de Software

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Fundamentos de Ingeniería de Software"

Transcripción

1 Fundamentos de Ingeniería de Software Marcello Visconti y Hernán Astudillo Departamento de Informática Universidad Técnica Federico Santa María {visconti,hernan} en inf.utfsm.cl Fundamentos de Ingeniería de SW 1 Objetivos: Definir el concepto de esquema (Framework) Aplicar patrones para el diseño de un modelo persistente Método de la Plantilla Instanciación de Objetos complejos Uso de Agentes virtuales Fundamentos de Ingeniería de SW 2 1

2 Introducción En los sistemas actuales es necesario guardar información en medios de almacenamiento persistente (Bases de Datos) Cómo guardar objetos en dichos medios? Se introducirá un esquema de persistencia para enfrentar esta problemática Objeto persistente: Objeto instanciado en memoria que debe ser almacenado en un medio no volátil por ej., EspecificacionDeProducto Objetivo: Diseñar un esquema que permita diseñar objetos que den servicios (métodos) a otros objetos para ser almacenados en un medio persistente Fundamentos de Ingeniería de SW 3 Mecanismos de Almacenamiento Mecanismos de Almacenamiento más comunes son: Bases de datos Orientadas a Objeto: Presentan la ventaja de no necesitar servicios específicos de persistencia. Bases de datos Relacionales: Son las más utilizadas hoy en día. No poseen métodos para almacenamiento de objetos. Se requieren de servicios especiales para almacenar objetos en las tablas. Fundamentos de Ingeniería de SW 4 2

3 Esquema (Framework) Esquema: subsistema expandible de un conjunto de servicios afines. Conjunto cohesivo de clases que prestan servicios a la parte fundamental e invariable de un sistema lógico. Contiene clases concretas y abstractas definiendo las interfaces e interacciones en que participarán. En general es necesario que el usuario defina subclases adaptando los servicios definidos en el esquema. Posee clases abstractas que pueden incluir métodos abstractos y concretos. Fundamentos de Ingeniería de SW 5 Esquema de Persistencia [1] Esquema de persistencia es un conjunto reutilizable de clases que presentan servicios a los objetos persistentes Se utiliza para trabajar con bases de datos relacionales, una API de servicios de datos orientados a registros (Microsoft ODBC) u otro mecanismo de almacenamiento No se utiliza en Bases de Datos orientadas a objetos En general, este esquema debe traducir los objetos a registros para guardarlos en una base de datos y viceversa Fundamentos de Ingeniería de SW 6 3

4 Esquema de Persistencia [2] Objetos realizan llamadas a servicios implementados en el esquema de persistencia Definición n del sistema Traduce los objetos a registros y a la inversa para almacenarlos en algún medio de almacenamiento Esquema relacional de persistencia de objetos Base de Datos Relacional Fundamentos de Ingeniería de SW 7 Esquema de Persistencia - Requerimientos Un Esquema de Persistencia debería ofrecer los siguientes servicios: Almacenamiento y recuperación de objetos Transacciones del tipo commit y rollback commit - completar la transacción de guardar rollback - deshacer la transacción, restaurar el estado anterior El diseño de un EP debe considerar lo siguiente: Extendible para otros medios de almacenamiento Realizar la menor cantidad posible de modificaciones al código Fundamentos de Ingeniería de SW 8 4

5 Términos [1] Mapeo Relación entre una clase y su almacenamiento persistente (p.ej. una tabla de la BD), y entre los atributos del objeto y los campos (columnas) de un registro. Identidad del Objeto Los registros y los objetos deben tener un identificador único para relacionarlos fácilmente y evitar duplicados. Broker (Intermediario de Base de Datos) Agente especializado ( broker ) de la Base de Datos se encarga de materializar y desmaterializar. Materialización Es el acto de transformar una representación no orientada a objetos (e.g registros) a objetos. Desmaterialización Acto contrario a Materializar. Fundamentos de Ingeniería de SW 9 Términos [2] Caché Los Brokers poseen un caché (generalmente en memoria principal) en donde almacenan los objetos materializados. Materialización lenta por demanda (MLPD) La materialización se lleva a cabo únicamente cuando el objeto almacenado es necesitado por otro. Referencias inteligentes Para hacer transparente la MLPD se crea una referencia inteligente llamada agente virtual. Objetos complejos Materializaciones de estructuras complejas de objetos. Fundamentos de Ingeniería de SW 10 5

6 Términos [3] Estado de la transacción del Objeto El estado de un objeto persistente puede modificarse en una transacción, por lo que es deseable llevar un registro de los cambios que sufre para realizar la actualización. Operaciones de transacciones Operaciones commit y rollback. Búsqueda Localización y materialización de los objetos a partir de algunos criterios. Fundamentos de Ingeniería de SW 11 Mapeo Cómo mapear un objeto a un archivo o a un esquema de bases de datos relacional? El patrón Representación de objetos como tablas propone definir una tabla por objeto persistente, en donde sus atributos equivalgan a una columna de la tabla Es una buena aproximación para tipos primitivos de datos, pero para tipos complejos, este método no es tan simple Fundamentos de Ingeniería de SW 12 6

7 Identidad del Objeto [1] Cómo identificar a que instancia de objeto corresponden los registros de la tabla? Conviene contar con un medio que relacione los registros con los objetos y que asegure la no duplicidad de éstos. El patrón Identificador de Objetos (IDO) propone asignar un IDO a cada registro y objeto (o agente de un objeto) que los relacione. En general, es un valor alfanumérico. Toda tabla de la base de datos relacional tiene un IDO como clave primaria, el que también está contenido como atributo en el objeto. Fundamentos de Ingeniería de SW 13 Identidad del Objeto [2] Ejemplo: Venta Fecha IDO hora :Venta fecha=1/1/1997 Ido=xyz123 Hora=10:00 IDO Fecha Hora setermina() Xyz123 1/1/ :00 :Venta Abc345 2/2/ :00 El IDO puede definirse en un objeto Agente fecha=2/2/1997 Ido=Abc345 Hora=14:00 Clave Primaria Fundamentos de Ingeniería de SW 14 7

8 Broker (Intermediario de la BD) [1] Quién es responsable de materializar y desmaterializar los objetos desde un almacenamiento persistente, p.ej. EspecificacionDeProducto? El patrón Experto señala que debería hacerlo la clase de objeto persistente EspecificacionDeProducto. No es muy buena solución: Existiría un muy alto acoplamiento. Se pierde la cohesión pues la responsabilidad está fuera del dominio del objeto. Fundamentos de Ingeniería de SW 15 Broker (Intermediario de la BD) [2] El patrón Intermediario de Base de Datos propone construir una clase que se encargue de materializar, desmaterializar y guardar un objeto en un objeto caché (Clase intermediaria). Cada objeto persistente puede tener su propia clase intermediaria y que los mecanismos de almacenamiento pueden contar con varias clases de Intermediarios. Superclase abstracta de todos los intermediarios de bases de datos relacionales IntermediariodeEP Clase concreta encargada de materializar los objetos Ventas a partir de una base de datos relacional Intermediariode EPRelacional Intermediariode EPArchivos IntermediarioRelacional Intermediario IntermediariodeArchivos Intermediariode deespecifdeproducto RelacionaldeVentas EspecifdeProductos ArchivodeVentas Fundamentos de Ingeniería de SW 16 8

9 Diseño de Intermediarios: Método de la Plantilla El patrón utilizado para el diseño de clases intermediarias. Se define una clase plantilla, la cual puede ser utilizada para definir el esqueleto de un algoritmo: con partes variables que se pueden modificar al heredarse a una subclase. e invariables, que no pueden ser modificadas. Estos métodos pueden o no estar en una subclase y por general llaman a otros métodos. Se sigue el Principio de Hollywood: no nos llame, nosotros le llamaremos. Es decir, un método de una subclase será ejecutado sólo si este es llamado desde la clase en la cual fue definido. Fundamentos de Ingeniería de SW 17 Diseño de Intermediarios: Método de la Plantilla Ejemplo: metododeplantilla {.. operacionprimitiva() operacionconcreta() } Operaciones abstractas primitivas: -partes variables -se desplazan (emiten) en la subclase Operaciones concretas -comportamiento por omisión -si puede ser desplazado en una subclase, recibe el nombre de método de gancho Método de plantillas: define el esqueleto de un algoritmo con partes variables e invariables. Clase Abstracta MetododePlantilla() operacionprimitiva() operacionconcreta() Clase Concreta operacionprimitiva() Fundamentos de Ingeniería de SW 18 9

10 Materialización: Patrón método de plantillas [1] La lógica de materialización suele requerir que se genere una instancia de la clase apropiada y que luego se desplacen los datos del registro hacia los atributos de la nueva instancia. IntermediariodeEP RegistrodeBDR objectwith(anoid) : Object incache(anoid) : Object materializewith(anoid) : Object campo(nombredearchivo) : Objeto 1 IntermediarioEPRelacional IntermediariodeEPdeArchivos Registro-actual-de 1 IntermediarioRelacionaldeEspecific aciondeproducto currentrecordasobject() : Object materializewith(oid) : Object selectfirst(query) : Object currentrecordasobject() : ProdSpec materializewith(oid) : Object IntermediarioRelacionaldeVentas currentrecordasobject() : Sale Una técnica totalmente diferente para materializar a partir de archivos planos. Fundamentos de Ingeniería de SW 19 Materialización : Patrón método de plantillas [2] Tener un Intermediario para los mecanismos de almacenamiento persistente es muy útil para desarrollador. Puede agregar más clases para adaptarla a nuevos medio o a los ya existentes. Clase IntermediariodeEP se comporta como un agente virtual. A través del método objectwith(anoid) toma el identificador como parámetro y devuelve su objeto. Posee manejo de Caché. Si el objeto ya ha sido referenciado antes, no será materializado nuevamente. El método de la plantilla define partes variables e invariables: Invariables: Métodos que no pueden ser modificados. Variables: Métodos que pueden ser adaptados por los programadores para amoldar el esquema a un tipo específico de tecnología o método. Fundamentos de Ingeniería de SW 20 10

11 Materialización : Patrón método de plantillas [3] Características clásicas del diseño de esquemas: Uso de métodos definidos con anterioridad en superclases abstractas. Incorporación de subclases definidas por el programador. Definición de los métodos de operación primitiva en las subclases para completar los métodos de plantilla heredados. Fundamentos de Ingeniería de SW 21 Caché El mecanismo de caché puede ser utilizado para dos cosas: Mejorar el desempeño. Materializar es lento. Soporte de las operaciones de administración de transacciones. El patrón Administración de Caché propone asignar a los intermediarios la responsabilidad de administrar el caché. Si se tiene un intermediario diferente para cada tipo de objeto persistente, cada uno de ellos deberá tener su propia caché. Al materializar un objeto este se deja en caché con su identificador como clave. El intermediario primero buscará en este antes de materializar un objeto. Fundamentos de Ingeniería de SW 22 11

12 Caché: Administración de Transacciones IntermediariodeEP CachedeObjetos objectwith(anoid): Object incache(anoid): Object materializewith(anoid): Object 1 Guarda-objetos-en 6 Add(OID, Object) Find(OID): Object isempty (): Boolean Otra forma de conservar los objetos es en varias cachés, según el estado que presenten dentro del contexto de la transacción actual. El intermediario conserva hasta 6 tipos diferentes de cachés lo que permite sentar las bases para realizar las transacciones sobre la BD. Fundamentos de Ingeniería de SW 23 Caché: Tipos Los 6 tipos de cachés son: Caché Limpia y Nueva: Objetos nuevos sin modificaciones. Caché Limpia y Vieja: Objetos viejos que se materializan de una BD sin modificaciones. Caché Sucia y Nueva: Objetos nuevos, modificados. Caché Sucia y Vieja: Objetos viejos que se materializaron de una BD y que fueron modificados. Caché Eliminar Nueva: Objetos nuevos a eliminar. Caché Eliminar Vieja: Objetos viejos que se materializaron a partir de una base de datos y que deben ser eliminados. Fundamentos de Ingeniería de SW 24 12

13 Referencias Inteligentes Materialización lenta por demanda: materialización de un objeto sólo ocurre cuando sea absolutamente necesario. Se puede implementar a través de un agente virtual. Agente Virtual (Proxy): representante de un objeto real. Este es el encargado de materializar al objeto real por primera vez cuando se referencia. Los clientes deberán interactuar con el agente en vez de hacerlo con el objeto real. Un objeto cliente tiene una referencia al objeto Agente Virtual y no al sujeto real. El agente virtual implementa la misma interfaz que ese sujeto. Fundamentos de Ingeniería de SW 25 Referencias Inteligentes: Ejemplo Ejemplo con VentasLineadeProductos y EspecificaciondeProducto. El diseño está basado en el supuesto que los agentes conocen el identificador de objetos de su sujeto real. Cuando la materialización es requerida, el identificador sirve para localizar y recuperar el sujeto real. <<Clase>> VentasLineadeProducto cantidad Subtotal() n <<Interfaz>> IEspecificaciondeProducto descripcion() precio() cup() Descrita_por <<Clase>> <<Clase>> AgenteEspecificaciondeProducto EspecificaciondeProducto ido : IDO descripcion Agente_de precio description() cup 1 getrealsubject() materializesubject() n 1 descripcion() price() precio() cup() cup() Fundamentos de Ingeniería de SW 26 13

14 Agente Virtual (Proxy) Generalizado La especificación de todos los agentes puede definirse en una superclase llamada AgenteVirtual. Así solo es necesario modificar las instancias específicas para atender a los diferentes objetos reales que componen el sistema. <<Clase>> AgenteVirtual ido : IDO getrealsubject() materializesubject() <<Clase>> AgenteVirtualConcreto solicitud() n comportamiento y atributos generales de todos los agentes <<Interfaz>> InterfazdeAgente solicitud() Agente-de <<Clase>> SujetoReal solicitud() Fundamentos de Ingeniería de SW 27 1 Agentes Virtuales (Proxies) e intermediarios en BD Un agente virtual (AV) puede colaborar con un Intermediario de Bases de Datos ( Broker ) a fin de Materializar un objeto, utilizando el identificador de objetos usado por el agente. <<Clase>> AgenteVirtual ido : IDO getrealsubject() materializesubject() Materializa-a partir de 1 1 IntermediariodeEP objectwith() incache() materializewith() if (realsubject not materialized) materializesubject() return realsubject Fundamentos de Ingeniería de SW 28 14

15 Conexión entre AV e Intermediario de BD Cómo un AV concreto sabe cuál intermediario de BD habrá de utilizar? Utilizando el patrón Método de Fábrica: La operación primitiva se encarga de crear una instancia. El agente es responsable de pedir el representante para la BD. Es conveniente tener una sola instancia de cada intermediario. Cuando se usan agentes virtuales, conviene que toda referencia a objetos se efectúe a través de objetos agente y no a través de referencias directas. Todas las definiciones de atributos se refieren a objetos agentes a interfaces, no a objetos directos. Todos los parámetros se refieren a objetos agente o a interfaces. Fundamentos de Ingeniería de SW 29 Conexión entre AV e Intermediario de BD Método Fabrica <<Clase>> AgenteVirtual ido : IDO createbroker() getbroker() getrealsubject() materializesubject() //método de plantilla if(broker not created) broker:=createbroker() Return broker intermediario 1 1 realsubject:= getbroker().objectwith(ido) IntermediariodeEPRelacional ObjectWith() <<Clase>> AgenteEspecificaciondeProducto createbroker() description() price() upc() IntermediariodeEPRelacional return ProductSpecificationRelationalBroker.Instance() Fundamentos de Ingeniería de SW 30 15

16 Cómo representar Relaciones en Tablas Cómo representar las relaciones de objetos en una tabla de una base de datos relacional? Utilizando el patrón Representación de objetos como tablas. Según la relación entre los objetos se propone: Asociaciones uno a uno. Colocar una clave foránea del IDO en una o en las dos tablas que representan los objetos en la relación. Asociaciones uno a muchos: Crear una tabla asociativa que registre los identificadores de cada objeto en la relación. Asociaciones muchos a muchos: Crear una tabla asociativa que registre todos los identificadores de objetos en la relación. Fundamentos de Ingeniería de SW 31 Patrón Instanciación de Objetos Complejos [1] Problema: Cuándp implementar Agentes Virtuales e Intermediarios de BD? Cuando los objetos pueden pertenecer a una jerarquía de composición profunda. Cuando si se quiere materializar un objeto es posible que haya que materializar también decenas de objetos relacionados. La materialización de una jerarquía integra de composición usa el espacio lenta e ineficientemente. Solución: Aplazar la materialización de los objetos, dependiendo de los patrones de acceso y los requerimientos de desempeño, hasta que sea necesario. Hay veces en que conviene materializar uno o dos niveles de profundidad Con un intermediario distinto para cada objeto persistente, es posible decidir, intermediario por intermediario, el grado de materialización de los objetos persistentes y sus objetos asociados Fundamentos de Ingeniería de SW 32 16

17 Patrón Instanciación de Objetos Complejos [2] Ejemplo: Materializar la instancia VentasLineadeProducto. Suponer que la información se encuentra almacenada en las siguientes tablas. IDO Cantidad IDO descripcion precio cup vli1 1 p1 pañuelos vli2 2 p2 tempeh ventaslineadeproducto EspecifdeProducto VLI-IDO vli1 vli2 EP-IDO P1 P2 ventaslineadeproducto-a-especifdeproducto Fundamentos de Ingeniería de SW 33 Patrón Instanciación de Objetos Complejos [3] Se sabe que el IDO de VentasLineadeProducto es vli1. Si se ejecuta el siguiente código: //Crear el agente AgenteVentasLineadeProducto unvli= new AgenteVentasLineadeProducto( vli1 ), //Causa materialización de los objetos Int total = unvli.subtotal(); Fundamentos de Ingeniería de SW 34 17

18 Patrón Instanciación de Objetos Complejos [4] 1: o:=getrealsubject() Crear("vli1") t:=subtotal() : AgenteVentasLineaDeProducto 2: t:=subtotal() o : VentasLineaDeProducto o:=getrealsubject() 1: [not materialized] materializesubject() 1.1: b:=getbroker() : AgenteVentasLineaDeProducto 1.2: o:=objectwith((ido) Finalmente, llega a este mensaje N: o:=currentrecordasobject() VentasLineadeProducto vli:=new VentasLineadeProducto vli.cantidad(currentrecord.field("cantidad )) //recuperar el IDO de EspecifDeProducto asociado SELECT * from VentasLineadeProducto-a-EspecifiDeProducto b : IntermediarioVentasLineaDeProducto wherevli-ido= :ido EspecifDeProdIDO=currentRecord.field("EP-IDO") //crear el intermediario a la EspecifDeProducto IntermediarioEspecifdeProducto intermediario = new IntermediarioEspecifiDeProducto(EspecifDeProdIDO) //guardar intermediario en VLI vli.especifdeproducto=intermediario return vli Fundamentos de Ingeniería de SW 35 Patrón Instanciación de Objetos Complejos [5] VentasLineadeProducto referencia a un agente, no a la EspecificaciondeProductos real. Esta última no se materializará mientras no se le envíe el mensaje precio. Fundamentos de Ingeniería de SW 36 18

19 Patrón Instanciación de Objetos Complejos [6] 2: o:=getrealsubject() 1: p:=precio() t:=subtotal() : VentasLineaDeProducto : AgenteEspecifDeProducto 3: p:=precio() o : EspecificacionDeProducto o:=getrealsubject() 1: [not materialized] materializesubject() 1.1: b:=getbroker() : AgenteEspecifDeProducto 1.2: o:=objectwith(()ido) Finalmente, llega a este mensaje N: o:=currentrecordasobject() EspecificacionDeProducto ep:=newespecificaciondeproducto ep.descripcion=currentrecord.field("descripcion") ep.precio=currentrecord.field("precio") ep.cup=currentrecord.field("cup") b : IntermediarioEspecifDeProducto return ep Fundamentos de Ingeniería de SW 37 Operaciones Transaccionales [1] Estado de transacción de los objetos: Limpio y nuevo. Objetos nuevos, sin modificaciones Limpio y viejo. Objetos viejos, sin modificaciones Sucio y nuevo. Objetos nuevos, sin modificaciones Sucio y viejo. Objetos viejos materializados a partir de una base de datos con modificaciones Eliminar nuevo. Objetos nuevos que deben ser eliminados Eliminar viejo. Objetos viejos que fueron materializados a partir de una base de datos y que deben ser eliminados El Intermediario de BD conservará cachés especiales para cada uno de estos estados y garantizará con ello que un objeto está en la caché apropiada. Fundamentos de Ingeniería de SW 38 19

20 Operaciones Transaccionales [2] Cómo se ensucia un objeto? Un objeto se ensucia al modificar uno de sus atributos a través de un método mutador (establecedor) Por ejemplo: // clase EspecificacióndeProducto void price(float p) { price = p; BrokerServer.instance().dirty(this); } Al ServidordeIntermediario (Fachada) se le notificará que un objeto est á sucio Este encontrará el Intermediario apropiado de la BD para esta clase de objetos y le notificará que el objeto está sucio El Intermediario introduce el objeto en una caché sucia. Vieja y sucia si era un objeto materializado Fundamentos de Ingeniería de SW 39 Operaciones Transaccionales [3] Cómo eliminar? Es necesario registrar explícitamente el hecho para que se pueda realizar la modificación correspondiente en la BD luego de una operación commit Por ejemplo: // clase CatalogodeProductos void removeproductspec(productspec p) { // eliminar p en la colección de ProductSpec ProductSpec.remove(p); // notificarle al intermediario que p debe eliminarse BrokerServer.instance().delete(p); } Al ServidordeIntermediario se le notificará que un objeto est á sucio Fundamentos de Ingeniería de SW 40 20

21 Operaciones Transaccionales [4] Operación commit Una vez se decide instalar la transacción, se envía un mensaje commit a la Fachada ServidordeIntermediario BrokerServer.instance().commit(); El método ServidordeAgente.commit simplemente dirige un mensaje commit a cada intermediario. void BrokerServer.commit() { } for each broker b b.commit() Fundamentos de Ingeniería de SW 41 Operaciones Transaccionales [5] En una transacción los objetos pueden ser creados, modificados y eliminados. Suponiendo que se encuentren en la caché del estado correspondiente de la transacción, el mensaje commit debe cumplir con las siguientes reglas: Caché Nueva y Limpia - Insertar en BD, Dirigirse a Caché Vieja y Limpia Caché Vieja y Limpia - Ignorar, no han cambiado Caché Nueva y Sucia - Insertar en BD, Dirigirse a Caché Vieja y Limpia Caché Vieja y Sucia - Actualizar en BD, Dirigirse a Caché Vieja y Limpia Caché Nueva Eliminada - Eliminar en caché Caché Vieja Eliminada - Eliminar en DB, Eliminar en caché Fundamentos de Ingeniería de SW 42 21

22 Operación rollback. Operaciones Transaccionales [6] Una vez decidido someter la transacción a un rollback, se envía un mensaje rollback a la Fachada ServidordeIntermediario BrokerServer.instance().rollback(); El método ServidordeAgente.rollback simplemente dirige un mensaje rollback a cada intermediario. Las reglas del rollback son las siguientes: Caché Vieja y Limpia - Ignorar, no han cambiado. El resto de las cachés - Eliminar en la caché. Fundamentos de Ingeniería de SW 43 Busca de objetos en almac. persistente [1] Recuperar un registro a partir de un almacenamiento persistente depende de las herramientas, bibliotecas y del sistema operativo. Por ejemplo, en Windows se puede utilizar los servicios del DAO. Dentro del esquema se definió el método IntermediariodeEPRelacional.SeleccionarPrimero(consulta) para localizar el primer registro que cumpla con los criterios de la consulta. En general, un Intermediario de BD debe ofrecer 2 formas de búsqueda: Búsqueda mediante el identificador de objetos. Búsqueda mediante criterios arbitrarios, como las clave primaria del dominio, por ejemplo, RUT. Fundamentos de Ingeniería de SW 44 22

23 Busca de objetos en almac. persistente [2] Con qué criterio debería recuperarse el objeto raíz en una jerarquía de composición? Los objetos raíz no pueden materializarse utilizando Agentes Virtuales y realizando una búsqueda con sus identificadores de objeto como clave de consulta. Por ejemplo, una instancia Venta y sus instancias asociadas VentasLineadeProductos y sus EspecificacionesdeProductos. Las instancias asociadas se materializan utilizando Agentes Virtuales en base al valor de identificador de objetos del raíz (Venta), pero cómo se prepara la escena y se introduce en la memoria esta primera instancia de Venta? Fundamentos de Ingeniería de SW 45 Busca de objetos en almac. persistente [3] Este problema indica la necesidad de contar con capacidad de búsqueda orientada al dominio. En el ejemplo se podría utilizar la fecha y hora para buscar una instancia de Venta. IntermediarioRelacionaldeVentas CurrentRecordasObject():Venta() VentaconFechayHora(fecha,hora):Venta() selectfirst("date = ",fecha,"and time = ",hora) return currentrecordasobject() Fundamentos de Ingeniería de SW 46 23

24 Diseños Alternativos [1] Metadatos e Intermediarios parametrizados Definir Metadatos (datos acerca de datos) respecto al mapeo de clases y tablas, respecto al mapeo de nombres de atributos y campos, etc. Los metadatos se pueden conservar en un objeto.metadatosdealmacenamientopersistente. No es necesario generar una jerarquía de intermedios. Por ejemplo, es posible que el IntermediariodeEPRelacional sea una clase instanciada y parametrizada con metadatos. o No se requieren subclases de IntermediarioEPRelacional. Metadatos es un enfoque más flexible y robusto que el de formación de subclases. Se recomienda en aplicaciones que contengan muchas clases de objetos persistentes. Fundamentos de Ingeniería de SW 47 Diseños Alternativos [2] Objetos Consulta A diferencia de las consultas de cadenas simples (por ejemplo OID=123 ) es posible crear una clase Consulta cuyas instancias estén parametrizadas con expresiones booleanas. Este esquema tiene la ventaja de abstraer de cualquier lenguaje de manipulación de datos, p.ej. SQL. Cambio de intermediarios y de intermediarios de bases de datos en la memoria. Consiste en crear un Intermediario en-la Memoria que no guarde objetos en un almacenamiento persistente cuando se envía la señal de commit. Es útil durante el desarrollo y las pruebas para evitar la complejidad y desempeño de un intermediario real. Fundamentos de Ingeniería de SW 48 24

25 Diseños Alternativos [3] Se puede desconectar un intermediario y conectar otro, sin afectar a los objetos cliente. Así, se puede utilizar in Intermedio en-la Memoria durante algún periodo y luego reemplazarlo por un intermedio relacional o plano. IntermediariodeEP Intermediario utilizado en las pruebas IntermediariodeEPRelacional IntermediariodeEPdeArchivos IntermediariodeEPenMemoria Fundamentos de Ingeniería de SW 49 Diseños Alternativos [4] Comparación entre estados de transacción y cachés múltiples. Una forma eficiente de recordar el estado de transacción de un objeto es colocándolo en una caché de intermediarios, por ej. ViejaLimpia o ViejaSucia. Un diseño alterno es donde cada objeto se asocia a un objeto EstadodeTransacción que indica si es viejo y limpio, viejo y sucio, etc. Todos los objetos pueden estar en una caché, y el estado de transacción del objeto se conoce mediante el objeto asociado de estado y no mediante su pertenencia a la caché. No conviene agregar directamente el conocimiento de la persistencia a las definiciones del objeto de dominio. Fundamentos de Ingeniería de SW 50 25

26 Diseños Alternativos [5] Se recomienda las siguientes opciones: Si se usa una superclase común ObjetoPersistente, el estado es un atributo definido en esa clase. En un Mapa (Dictionary o Hashtable) que conserva el intermediario. La clave del Mapa es el objeto, el valor asociado Mapa es el EstadodeTransacción del objeto. Como un atributo del AgenteVirtual Este diseño presenta una complicación: si varios agentes se relacionan con el mismo objeto real, todos ellos deberán permanecer sincronizados. Fundamentos de Ingeniería de SW 51 Diseños Alternativos [6] EstadodeTra nsaccion commit()() rollback()() EstadoViejoLimpio EstadoViejoSucio commit()() rollback()() commit()() rollback()() Fundamentos de Ingeniería de SW 52 26

27 Quiz Cuál es la necesidad real de agentes e intermediarios? Cómo el diseño de los agentes e intermediarios da soporte a alta cohesión y bajo acoplamiento? Se cumple la arquitectura multicapa? Fundamentos de Ingeniería de SW 53 27

Base de datos relacional

Base 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 detalles

6.8 La Arquitectura del Sistema. [Proceso]

6.8 La Arquitectura del Sistema. [Proceso] 6.8 La Arquitectura del Sistema. [Proceso] En el Caso de Estudio se ha hecho énfasis en los objetos del Dominio del problema, ya que representan la esencia del sistema y definen su comportamiento. Sin

Más detalles

Programación Orientada a Objetos en Java

Programación Orientada a Objetos en Java Programación Orientada a Objetos en Java Curso 2006-2007 Tema 4 Herencia y Polimorfismo Gonzalo Méndez Pozo Dpto. de Ingeniería de Software e Inteligencia Artificial Universidad Complutense de Madrid Herencia

Más detalles

INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS

INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS AUTORÍA JOSEFA PÉREZ DOMÍNGUEZ TEMÁTICA NUEVAS TECNOLOGIAS ETAPA CICLOS FORMATIVOS DE GRADO SUPERIOR DE INFORMÁTICA Resumen En esta publicación se

Más detalles

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

UNIDAD 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 detalles

UML, ejemplo sencillo sobre Modelado de un Proyecto

UML, 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 detalles

Patrones de Diseño Orientados a Objetos 2 Parte

Patrones de Diseño Orientados a Objetos 2 Parte Patrones de Diseño Orientados a Objetos 2 Parte Patrón Observador Observer (Patrón de Comportamiento) Patrón Observador Observer Observador (en inglés: Observer) es un patrón de diseño que define una dependencia

Más detalles

Desarrollo de un Sistema de Gestión de Proyectos mediante el framework GWT

Desarrollo de un Sistema de Gestión de Proyectos mediante el framework GWT Proyecto de Fin de Carrera Universidad Politécnica de Valencia Escuela Técnica Superior de Informática Desarrollo de un Sistema de Gestión de Proyectos mediante el framework GWT Realizado por: Dirigido

Más detalles

Patrones para persistencia (I) Ingeniería del Software II

Patrones para persistencia (I) Ingeniería del Software II Patrones para persistencia (I) Ingeniería del Software II 1 Patrones para la construcción del esquema relacional En todos los ejemplos realizaremos transformaciones del siguiente diagrama de clases: Figura

Más detalles

A. Goñi, J. Ibáñez, J. Iturrioz, J.A. Vadillo OCW 2013

A. Goñi, J. Ibáñez, J. Iturrioz, J.A. Vadillo OCW 2013 3.3: Realización de diagramas de secuencia: capas software y patrones GRASP A. Goñi, J. Ibáñez, J. Iturrioz, J.A. Vadillo OCW 2013 3.3.- Cómo realizar los diagramas de 30 secuencia a partir de los flujos

Más detalles

BASE DE DATOS RELACIONALES

BASE DE DATOS RELACIONALES BASE DE DATOS RELACIONALES 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 implementar bases de datos ya

Más detalles

PATRONES. Experto. Solución:

PATRONES. Experto. Solución: PATRONES. Experto. Asignar una responsabilidad a la clase que tiene la información necesaria para cumplirla. Cuál es el principio fundamental en virtud del cual asignaremos las responsabilidades a los

Más detalles

Patrones Creacionales Builder. Patrones Creacionales Abstract Factory. Patrones Creacionales Singleton. Patrones Creacionales Prototype

Patrones Creacionales Builder. Patrones Creacionales Abstract Factory. Patrones Creacionales Singleton. Patrones Creacionales Prototype Temario Patrones de Diseño de Software Fundamentos de Ingeniería de SW Jocelyn Simmonds GOF: Patrones Creacionales Patrones Estructurales ILI-236 (JS) Patrones II 1 / 31 ILI-236 (JS) Patrones II 2 / 31

Más detalles

GUIA PROGRAMACIÓN ORIENTADA A OBJETOS

GUIA 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 detalles

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación II MODELOS y HERRAMIENTAS UML 1 1 Modelado de casos de uso (I) Un caso de uso es una técnica de modelado usada para describir lo que debería hacer

Más detalles

Instructivo Asesoría Básica Comunidad Virtual SharePoint 2010

Instructivo Asesoría Básica Comunidad Virtual SharePoint 2010 Instructivo Asesoría Básica Comunidad Virtual SharePoint 2010 CONTENIDO 1. Qué es? 2. Cómo crear y acceder a la Comunidad Virtual en Microsoft SharePoint 2010? Ejemplo. 3. Qué tengo en la página de inicio

Más detalles

2.2.- Paradigmas de la POO

2.2.- Paradigmas de la POO 2.2.- Paradigmas de la POO Los principios propios de la orientación a objetos son: 2.2.1.- Abstracción de Datos 2.2.2.- Encapsulamiento 2.2.3.- Ocultamiento 2.2.4.- Herencia 2.2.5.- Polimorfismo Cualquier

Más detalles

ADMINISTRACIÓN DE BASES DE DATOS DISTRIBUIDAS

ADMINISTRACIÓN DE BASES DE DATOS DISTRIBUIDAS 5 ADMINISTRACIÓN DE BASES DE DATOS DISTRIBUIDAS Contenido: 5.1 Conceptos Generales Administración de Bases de Datos Distribuidas 5.1.1 Administración la Estructura de la Base de Datos 5.1.2 Administración

Más detalles

Sistemas de Operación II

Sistemas de Operación II Sistemas de Operación II Sistemas de Archivos Distribuidos Prof. Carlos Figueira Basado en material de Yudith Cardinale (USB) Andrew Tanembaum y Marteen van Steen Contenido Introducción Requisitos Aspectos

Más detalles

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere.

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere. UNIVERSIDAD DE CARABOBO FACULTAD DE CIENCIA Y TECNOLOGÍA DIRECCION DE EXTENSION COORDINACION DE PASANTIAS Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere. Pasante:

Más detalles

SISTEMA ETAP en línea Estándares Tecnológicos para la Administración Pública

SISTEMA ETAP en línea Estándares Tecnológicos para la Administración Pública JEFATURA DE GABINETE DE MINISTROS SISTEMA ETAP en línea Estándares Tecnológicos para la Administración Pública Manual para los Organismos Índice Índice... 2 Descripción... 3 Cómo solicitar la intervención

Más detalles

Introducción a los certificados digitales

Introducción a los certificados digitales Sergio Talens-Oliag InfoCentre (http://www.infocentre.gva.es/) stalens@infocentre.gva.es Introducción Los certificados digitales son el equivalente digital del DNI, en lo que a la autentificación de individuos

Más detalles

BASES DE DATOS TEMA 3 MODELO ENTIDAD - RELACIÓN

BASES DE DATOS TEMA 3 MODELO ENTIDAD - RELACIÓN BASES DE DATOS TEMA 3 MODELO ENTIDAD - RELACIÓN 3.3 Aplicaciones Definición de Aplicación (Application). Programa informático que permite a un usuario utilizar una computadora con un fin específico. Las

Más detalles

Estimado usuario. Tabla de Contenidos

Estimado usuario. Tabla de Contenidos Estimado usuario. El motivo del presente correo electrónico es mantenerle informado de las mejoras y cambios realizados en el software Orathor (Athor/Olimpo) en su versión 5.7.041 la cual ha sido recientemente

Más detalles

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual Introducción Algunas de las personas que trabajan con SGBD relacionales parecen preguntarse porqué deberían preocuparse del diseño de las bases de datos que utilizan. Después de todo, la mayoría de los

Más detalles

SOLUCION PARCIAL TASK SCHEDULER. Task Scheduler

SOLUCION PARCIAL TASK SCHEDULER. Task Scheduler Task Scheduler Se necesita modelar una aplicación que permita definir tareas y ejecutarlas en forma programada. Las tareas pueden ser: La ejecución de programa cualquiera o comando del sistema operativo,

Más detalles

Correspondencias 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 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 detalles

Diagramas del UML. A continuación se describirán los diagramas más comunes del UML y los conceptos que representan: Diagrama de Clases

Diagramas del UML. A continuación se describirán los diagramas más comunes del UML y los conceptos que representan: Diagrama de Clases El UML está compuesto por diversos elementos gráficos que se combinan para conformar diagramas. Debido a que el UML es un lenguaje, cuenta con reglas para combinar tales elementos. La finalidad de los

Más detalles

COPPEL 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 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

Manual etime para supervisores

Manual 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 detalles

Gestión de la Configuración

Gestión de la Configuración Gestión de la ÍNDICE DESCRIPCIÓN Y OBJETIVOS... 1 ESTUDIO DE VIABILIDAD DEL SISTEMA... 2 ACTIVIDAD EVS-GC 1: DEFINICIÓN DE LOS REQUISITOS DE GESTIÓN DE CONFIGURACIÓN... 2 Tarea EVS-GC 1.1: Definición de

Más detalles

Pequeño tutorial de fútbol de robots en Squeak

Pequeño tutorial de fútbol de robots en Squeak Pequeño tutorial de fútbol de robots en Squeak 1. Herramientas a utilizar Las herramientas a utilizar serán el simulador RobotSoccer v1.5a que puede conseguirse en http://www.fira.net/soccer/simurosot/overview.html

Más detalles

MANUAL DE USUARIO DE OFICINA CONECTADA

MANUAL DE USUARIO DE OFICINA CONECTADA MANUAL DE USUARIO DE OFICINA CONECTADA 1 OFICINA CONECTADA INDICE 1 INTRODUCCIÓN...3 2 USO DEL SERVICIO...4 2.1 CONFIGURACIÓN EQUIPO CLIENTE...4 2.2 ADMINISTRACIÓN AVANZADA...5 2.2.1 Gestión de usuarios...7

Más detalles

Arquitectura de sistema de alta disponibilidad

Arquitectura de sistema de alta disponibilidad Mysql Introducción MySQL Cluster esta diseñado para tener una arquitectura distribuida de nodos sin punto único de fallo. MySQL Cluster consiste en 3 tipos de nodos: 1. Nodos de almacenamiento, son los

Más detalles

HP Backup and Recovery Manager

HP Backup and Recovery Manager HP Backup and Recovery Manager Manual de usuario Version 1.0 Índice Introducción Instalación Cómo se instala Opciones de idioma HP Backup and Recovery Manager Recordatorios Copias de sguridad programadas

Más detalles

Guía para el Portal de Profesores del Sistema de Información CLASS Académico

Guía para el Portal de Profesores del Sistema de Información CLASS Académico Centro de Apoyo en Tecnologías de la Información y la Comunicación CATIC Guía para el Portal de Profesores del Sistema de Información CLASS Académico El Sistema de Información CLASS Académico es el sistema

Más detalles

Colección de Tesis Digitales Universidad de las Américas Puebla. Morales Salcedo, Raúl

Colección de Tesis Digitales Universidad de las Américas Puebla. Morales Salcedo, Raúl 1 Colección de Tesis Digitales Universidad de las Américas Puebla Morales Salcedo, Raúl En este último capitulo se hace un recuento de los logros alcanzados durante la elaboración de este proyecto de tesis,

Más detalles

Construcción de Escenarios

Construcción de Escenarios Construcción de Escenarios Consiste en observar los diferentes resultados de un modelo, cuando se introducen diferentes valores en las variables de entrada. Por ejemplo: Ventas, crecimiento de ventas,

Más detalles

Gestión de Permisos. Documento de Construcción. Copyright 2014 Bizagi

Gestión de Permisos. Documento de Construcción. Copyright 2014 Bizagi Gestión de Permisos Documento de Construcción Gestión de Permisos 1 Tabla De Contenido Descripción del Proceso... 3 Factores Importantes En La Construcción Del Proceso... 4 Modelo de Datos... 4 Principales

Más detalles

Modelos y Bases de Datos

Modelos 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 detalles

CAPÍTULO 3 Servidor de Modelo de Usuario

CAPÍ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 detalles

Proceso Transaccional

Proceso Transaccional Proceso Transaccional Documento de Construcción Proceso Transaccional 1 Tabla de Contenido Introducción... 2 Diagrama del Proceso... 3 Sub Proceso Transaccional Reserva... 4 Sub Proceso Reporte De Gastos...

Más detalles

Introducción al UML. Domingo Hernández H. Escuela de Ingeniería de Sistemas Departamento de computación

Introducción al UML. Domingo Hernández H. Escuela de Ingeniería de Sistemas Departamento de computación Introducción al UML Domingo Hernández H. Escuela de Ingeniería de Sistemas Departamento de computación Contenido Qué es UML?. Diagramas Utilizados en UML. Ejemplos. Qué es UML UML es un Lenguaje de Modelado

Más detalles

Apuntes de la Unidad 1 de Base de Datos

Apuntes de la Unidad 1 de Base de Datos DEFINICIÓN DE BASE DE DATOS.- Base de Datos es un conjunto de datos relacionados entre sðy que tienen un significado implðcito. En un sistema de información se cuenta con dos enfoques principales para

Más detalles

INTRODUCCION. entidades. Modelo lógico de la base de datos. Matricula. carne. codigo_curso. año semestre nota. propiedades

INTRODUCCION. entidades. Modelo lógico de la base de datos. Matricula. carne. codigo_curso. año semestre nota. propiedades INTRODUCCION Uno de los objetivos del curso es modelar a través de un diagrama las estructuras lógicas requeridas para almacenar los datos y resolver las consultas del sistema información que requiera

Más detalles

11/06/2011. Alumno: José Antonio García Andreu Tutor: Jairo Sarrias Guzman

11/06/2011. Alumno: José Antonio García Andreu Tutor: Jairo Sarrias Guzman 11/06/2011 Alumno: José Antonio García Andreu Tutor: Jairo Sarrias Guzman Introducción Gestión de tareas Unificar la vía por la que se requieren las tareas Solución única y global Seguimiento de las tareas

Más detalles

DIAGRAMA DE CLASES EN UML

DIAGRAMA 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 detalles

QUÉ ES HOMEBASE? Encontrar Libros

QUÉ ES HOMEBASE? Encontrar Libros QUÉ ES HOMEBASE? HomeBase 2.3 es el software de gerencia de inventario que permite no perder de vista sus libros, catálogos, desideratas, clientes y facturas. Usted puede agregar nuevas entradas, actualizar

Más detalles

2.1 Planificación del Alcance

2.1 Planificación del Alcance 2. Gestión del Alcance del Proyecto La Gestión del Alcance del Proyecto incluye los procesos necesarios para asegurarse que el incluya todo el trabajo requerido, y sólo el trabajo requerido, para completar

Más detalles

MANUAL DE AYUDA MÓDULO GOTELGEST.NET PREVENTA/AUTOVENTA

MANUAL 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 detalles

Crear un Software que sea adaptable a las necesidades de cualquier tipo de Institución de Educación Superior.

Crear un Software que sea adaptable a las necesidades de cualquier tipo de Institución de Educación Superior. INTRODUCCIÓN El presente trabajo de graduación contiene el proceso para el desarrollo de un software que administre y controle las aulas y demás espacio físico de una Institución de Educación Superior.

Más detalles

2. Conceptos básicos Abstracción La abstracción como un proceso mental natural La abstracción en el desarrollo de software

2. Conceptos básicos Abstracción La abstracción como un proceso mental natural La abstracción en el desarrollo de software 2. Conceptos básicos Hoy en día las aplicaciones son demasiado voluminosas y complejas para ser manejadas por una sola persona. Las aplicaciones de software son complejas porque modelan la complejidad

Más detalles

INSTRUCTIVO DEL COMANDO MAKE

INSTRUCTIVO DEL COMANDO MAKE INSTRUCTIVO DEL COMANDO MAKE Introducción Un programa escrito en C está normalmente compuesto por varios archivos. Estos archivos se van modificando según se va completando o cambiando el programa. Cada

Más detalles

Introducción a Visual Studio.Net

Introducción a Visual Studio.Net Introducción a Visual Studio.Net Visual Studio es un conjunto completo de herramientas de desarrollo para la generación de aplicaciones Web ASP.NET, Servicios Web XML, aplicaciones de escritorio y aplicaciones

Más detalles

Figura 4.1 Clasificación de los lenguajes de bases de datos

Figura 4.1 Clasificación de los lenguajes de bases de datos 1 Colección de Tesis Digitales Universidad de las Américas Puebla Romero Martínez, Modesto Este capítulo describen los distintos lenguajes para bases de datos, la forma en que se puede escribir un lenguaje

Más detalles

SISTEMA DE BECAS AL EXTERIOR

SISTEMA DE BECAS AL EXTERIOR SISTEMA DE BECAS AL EXTERIOR Manual del Becado En este manual se describen los diferentes procesos que ejecuta el becado en el desarrollo de sus estudios en el exterior. Todos los procesos serán ejecutados

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS

PROGRAMACIÓN ORIENTADA A OBJETOS PROGRAMACIÓN ORIENTADA A OBJETOS Clase 1. Introducción Profesor: Diego Sánchez Gómez Introducción a la programación orientada a objetos 1. Introducción a la programación orientada a objetos 2. Las clases

Más detalles

Actualización de versión a Bizagi 10.x

Actualización de versión a Bizagi 10.x Actualización de versión a Bizagi 10.x Actualización de versión a Bizagi 10.x 1 Tabla de contenidos Introducción... 2 Actualizar un proyecto desde v9.1.x a 10.x... 2 Preparación... 3 Habilitación de formas

Más detalles

Curso de Doctorado: Tecnologías de Objetos

Curso 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 detalles

Diagramas de Clases ~ 1 ~ Ing. Fabián Silva Alvarado

Diagramas de Clases ~ 1 ~ Ing. Fabián Silva Alvarado Diagramas de Clases ~ 1 ~ Ing. Fabián Silva Alvarado DIAGRAMAS DE CLASES RELACIONES ENTRE CLASES Una vez que tengamos todas nuestras clases, será necesario que estas se asocien, con el fin de mostrar la

Más detalles

Gestión Documental con Microsoft Office SharePoint Server 2007 (MOSS) Ignacio López - Ingeniero en Informática Software Architect en Alhambra-Eidos

Gestión Documental con Microsoft Office SharePoint Server 2007 (MOSS) Ignacio López - Ingeniero en Informática Software Architect en Alhambra-Eidos Gestión Documental con Microsoft Office SharePoint Server 2007 (MOSS) Ignacio López - Ingeniero en Informática Software Architect en Alhambra-Eidos Indice de Contenido Características Generales de MOSS

Más detalles

Tienda Virtual Synergy (Parte 2)

Tienda Virtual Synergy (Parte 2) Tienda Virtual Synergy (Parte 2) El catálogo electrónico de productos es la base de toda la aplicación por lo que siempre será necesario instalarlo. Los siguientes dos módulos (tienda virtual y módulo

Más detalles

Entidad Formadora: Plan Local De Formación Convocatoria 2010

Entidad Formadora: Plan Local De Formación Convocatoria 2010 Entidad Formadora: Enterprise Architect Comenzando Puede iniciar Enterprise Architect desde el ícono que se creó en su escritorio de Windows durante la instalación, o alternativamente: 1. Abrir el menú

Más detalles

INTEGRACIÓN HERMES POSITRÓN

INTEGRACIÓN HERMES POSITRÓN INTEGRACIÓN HERMES POSITRÓN 1. SOFTWARE CENTRAL - HERMES La aplicación Hermes es una herramienta para el control de tráfico interurbano, túneles y para el mantenimiento de equipos de carretera. Todo el

Más detalles

1 Vista de Casos de Uso

1 Vista de Casos de Uso Vista de Casos de Uso Esta vista describe el proceso de negocio más significativo y el modelo del dominio. Presenta los actores y los casos de uso para el sistema. Es decir que esta vista presenta la percepción

Más detalles

Acceso a la aplicación de solicitud de subvenciones (Planes de Formación 2014)

Acceso a la aplicación de solicitud de subvenciones (Planes de Formación 2014) Acceso a la aplicación de solicitud de subvenciones (Planes de Formación 2014) Pantalla general de acceso Desde ella se accede a las diferentes convocatorias para poder completar y enviar las solicitudes.

Más detalles

Operación 8 Claves para la ISO 9001-2015

Operació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 detalles

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON)

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON) 3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON) 3.1.1 Introducción Este método proporciona un soporte para el diseño creativo de productos de software, inclusive a escala industrial.

Más detalles

Repetir el proceso para cada abstracción identificada hasta que el diseño este expresado en términos sencillos

Repetir el proceso para cada abstracción identificada hasta que el diseño este expresado en términos sencillos I. INTRODUCCIÓN El reciente aumento de aplicaciones en donde se utiliza la computadora ha sido posible debido a un hardware de bajo costo, por lo cual la demanda de software ha crecido de forma exponencial.

Más detalles

Resumen. El rol del lenguaje SQL en los SGBDR y en la Relacional. cjimenez@inf.udec.cl, tamrstro@inf.udec.cl

Resumen. El rol del lenguaje SQL en los SGBDR y en la Relacional. cjimenez@inf.udec.cl, tamrstro@inf.udec.cl El rol del lenguaje SQL en los SGBDR y en la Relacional. cjimenez@inf.udec.cl, tamrstro@inf.udec.cl Resumen demandas de almacenamiento y procesamiento de datos. Es el conjunto de estas dos capacidades

Más detalles

TALLER: Introducción a la preservación de documentos de archivo digitales

TALLER: Introducción a la preservación de documentos de archivo digitales TALLER: Introducción a la preservación de documentos de archivo digitales Instructora. Alicia Barnard Amozorrutia Reunión Nacional de Archivos Guadalajara, Jal., abril 23 y 24, 2009 Temario Sobre la naturaleza

Más detalles

Manual para la utilización del Sistema de Solicitudes Electrónicas del Poder Judicial del Estado de Baja California Funcionalidad y Características

Manual para la utilización del Sistema de Solicitudes Electrónicas del Poder Judicial del Estado de Baja California Funcionalidad y Características El sistema de solicitudes electrónicas del Poder Judicial del Estado de Baja California, es utilizado por la Dirección de Planeación y Transparencia, para dar puntual atención y seguimiento a las solicitudes

Más detalles

CAPITULO 4. Requerimientos, Análisis y Diseño. El presente capítulo explica los pasos que se realizaron antes de implementar

CAPITULO 4. Requerimientos, Análisis y Diseño. El presente capítulo explica los pasos que se realizaron antes de implementar CAPITULO 4 Requerimientos, Análisis y Diseño El presente capítulo explica los pasos que se realizaron antes de implementar el sistema. Para esto, primero se explicarán los requerimientos que fueron solicitados

Más detalles

Administración de la producción. Sesión 10: Gestor de Base de Datos (Access)

Administración de la producción. Sesión 10: Gestor de Base de Datos (Access) Administración de la producción Sesión 10: Gestor de Base de Datos (Access) Contextualización Microsoft Access es un sistema de gestión de bases de datos, creado para uso personal y de pequeñas organizaciones,

Más detalles

SECRETARÍA DE FINANZAS DEL DISTRITO FEDERAL P05 PANEL DE CONTROL DEL PROGRAMA HONORARIOS

SECRETARÍA DE FINANZAS DEL DISTRITO FEDERAL P05 PANEL DE CONTROL DEL PROGRAMA HONORARIOS SECRETARÍA DE FINANZAS DEL DISTRITO FEDERAL P05 PANEL DE CONTROL DEL PROGRAMA HONORARIOS ROLES: ADMN_HON_05 Fecha:30ƒ08ƒ2012 1/26 2/26 PANEL DE CONTROL DEL PROGRAMA DE HONORARIOS Objetivo : Permite crear

Más detalles

Gestión de Oportunidades

Gestión de Oportunidades Gestión de Oportunidades Bizagi Suite Gestión de Oportunidades 1 Tabla de Contenido CRM Gestión de Oportunidades de Negocio... 4 Elementos del Proceso... 5 Registrar Oportunidad... 5 Habilitar Alarma y

Más detalles

Novedades incluidas en Discovery 4.50

Novedades incluidas en Discovery 4.50 Novedades incluidas en Discovery 4.50 Nuevo comprobante: Cotizaciones en ventas Se incorpora el registro de cotizaciones al sistema, ya sea en forma manual o mediante importación desde archivos de texto.

Más detalles

Es un software instalado en los equipos asignados a los Centros de Consulta con el objetivo de:

Es un software instalado en los equipos asignados a los Centros de Consulta con el objetivo de: OBJETIVOS Es un software instalado en los equipos asignados a los Centros de Consulta con el objetivo de: Brindar asistencia técnica y realizar mantenimiento de los equipos en forma remota, desde la sede

Más detalles

TALLER No. 1 Capitulo 1: Conceptos Básicos de Bases de datos

TALLER 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 detalles

Análisis y diseño del sistema CAPÍTULO 3

Análisis y diseño del sistema CAPÍTULO 3 Análisis y diseño del sistema CAPÍTULO 3 36 CAPÍTULO 3 Análisis y diseño del sistema En este capítulo se pretende realizar un análisis detallado de los requerimientos del software a desarrollar para la

Más detalles

GUÍA RÁPIDA DE TRABAJOS CON ARCHIVOS.

GUÍA RÁPIDA DE TRABAJOS CON ARCHIVOS. GUÍA RÁPIDA DE TRABAJOS CON ARCHIVOS. 1 Direcciones o Ubicaciones, Carpetas y Archivos Botones de navegación. El botón Atrás permite volver a carpetas que hemos examinado anteriormente. El botón Arriba

Más detalles

PRC-DTI-006 Administración de Roles de los Sistemas de Información de la DTI Procedimiento Dirección de TI - COSEVI

PRC-DTI-006 Administración de Roles de los Sistemas de Información de la DTI Procedimiento Dirección de TI - COSEVI PRC-DTI-006 Administración de Roles de los Sistemas de Información de la DTI Procedimiento Dirección de TI - COSEVI Versión: 1.0 Fecha de la versión: Febrero del 2012 Creado por: PwC Costa Rica Aprobado

Más detalles

Plan de estudios Maestría en Sistemas de Información y Tecnologías de Gestión de Datos

Plan de estudios Maestría en Sistemas de Información y Tecnologías de Gestión de Datos Plan de estudios Maestría en Sistemas de Información y Tecnologías de Gestión de Datos Antecedentes y Fundamentación Un Sistema de Información es un conjunto de componentes que interactúan entre sí, orientado

Más detalles

comunidades de práctica

comunidades de práctica 1. Introducción CoSpace es una plataforma web diseñada para proporcionar un espacio virtual de interacción y colaboración entre formadores en comunidades virtuales. Se originó como resultado de las necesidades

Más detalles

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 5. Sistemas de Bases de Datos. frente a Sistemas de Ficheros

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 5. Sistemas de Bases de Datos. frente a Sistemas de Ficheros FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA Tema 5. Sistemas de Bases de Datos frente a Sistemas de Ficheros 1.- Sistemas de Ficheros. 2.- Problemas de los Sistemas de Ficheros. 3.- Sistemas

Más detalles

TEMA 6: MODIFICACIÓN DE LA BASE DE DATOS EN SQL

TEMA 6: MODIFICACIÓN DE LA BASE DE DATOS EN SQL TEMA 6: MODIFICACIÓN DE LA BASE DE DATOS EN SQL 5.6 MODIFICACIÓN DE LA BASE DE DATOS SQL posee comandos destinados también para modificar la base de datos, entre estos se tienen operaciones de borrado,

Más detalles

MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO

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 detalles

CIMA. MANUAL DE USUARIO

CIMA. MANUAL DE USUARIO MANUAL DE USUARIO Proyecto: Consultoría para la Implementación de una base de datos y un sistema web para almacenar y manejar la información de proyectos y/o actividades en el Parque nacional Cordillera

Más detalles

CLASE 10: MÁS PATRONES. Universidad Simón Bolívar. Ing. de Software. Prof. Ivette C. Martínez

CLASE 10: MÁS PATRONES. Universidad Simón Bolívar. Ing. de Software. Prof. Ivette C. Martínez CLASE 10: MÁS PATRONES Universidad Simón Bolívar. Ing. de Software. Prof. Ivette C. Martínez Polimorfismo Problema: Cómo manejar las alternativas basadas en el tipo? Cómo crear componentes conectables?

Más detalles

GUÍA BÁSICA DE USO DEL SISTEMA RED

GUÍA BÁSICA DE USO DEL SISTEMA RED SUBDIRECCIÓN GENERAL DE INSCRIPCIÓN, AFILIACION Y RECAUDACIÓN EN PERIODO VOLUNTARIO GUÍA BÁSICA DE USO DEL SISTEMA RED Marzo 2005 MINISTERIO DE TRABAJO Y ASUNTOS SOCIALES TESORERÍA GENERAL DE LA SEGURIDAD

Más detalles

Adicionalmente, se eliminan disposiciones del Código de IFAC no aplicables:

Adicionalmente, se eliminan disposiciones del Código de IFAC no aplicables: COMISIÓN DE DICTAMEN FISCAL CAMBIOS AL CÓDIGO DE ÉTICA Autor: CPC José Manuel Alejandre Escanes ANTECEDENTES Con motivo de la adopción de las Normas de Auditoría Internacionales, en 2012 se modificó el

Más detalles

Elementos requeridos para crearlos (ejemplo: el compilador)

Elementos requeridos para crearlos (ejemplo: el compilador) Generalidades A lo largo del ciclo de vida del proceso de software, los productos de software evolucionan. Desde la concepción del producto y la captura de requisitos inicial hasta la puesta en producción

Más detalles

MODULO ADMINISTRATIVO

MODULO ADMINISTRATIVO MODULO ADMINISTRATIVO 2 Tipo: Estado: Disponibilidad: Copyright: Informe Ejecutivo Versión Final Publico 2013 Makrosoft Resumen Descripción del Sistema DocXFlow 3 Tabla de Contenido DocXFlow Sistema de

Más detalles

MANUAL DEL SISTEMA DE INFORMACIÓN DE EXPEDIENTES DEL GOBIERNO DE LA CIUDAD DE SANTA FE

MANUAL DEL SISTEMA DE INFORMACIÓN DE EXPEDIENTES DEL GOBIERNO DE LA CIUDAD DE SANTA FE MANUAL DEL SISTEMA DE INFORMACIÓN DE EXPEDIENTES DEL GOBIERNO DE LA CIUDAD Subsecretaría de Reforma y Modernización del Estado Programa Municipio Digital ÍNDICE Características del sistema... 2 Funcionalidades...

Más detalles

EDICIÓN Y FORMATO (II)

EDICIÓN Y FORMATO (II) EDICIÓN Y FORMATO (II) 1. INTRODUCCIÓN Writer dispone de una serie de barras de herramientas predeterminadas, en las que se encuentran botones de acceso directo a comandos específicos que se activan con

Más detalles

Escuela Universitaria Politécnica Grado en Ingeniería Informática Fundamentos de Programación II ENUNCIADO DE PRÁCTICAS CONVOCATORIA DE SEPTIEMBRE

Escuela Universitaria Politécnica Grado en Ingeniería Informática Fundamentos de Programación II ENUNCIADO DE PRÁCTICAS CONVOCATORIA DE SEPTIEMBRE Escuela Universitaria Politécnica Grado en Ingeniería Informática Fundamentos de Programación II ENUNCIADO DE PRÁCTICAS CONVOCATORIA DE SEPTIEMBRE OBJETIVOS Aprender el manejo de entrada/salida con ficheros

Más detalles

Jornada informativa Nueva ISO 9001:2008

Jornada informativa Nueva ISO 9001:2008 Jornada informativa Nueva www.agedum.com www.promalagaqualifica.es 1.1 Generalidades 1.2 Aplicación Nuevo en Modificado en No aparece en a) necesita demostrar su capacidad para proporcionar regularmente

Más detalles

Operación de Microsoft Excel. Guía del Usuario Página 79. Centro de Capacitación en Informática

Operación de Microsoft Excel. Guía del Usuario Página 79. Centro de Capacitación en Informática Manejo básico de base de datos Unas de las capacidades de Excel es la de trabajar con listas o tablas de información: nombres, direcciones, teléfonos, etc. Excel puede trabajar con tablas de información

Más detalles

BRETON INDUSTRIAL SISTEMA DE CONTROL DE PROYECTOS

BRETON INDUSTRIAL SISTEMA DE CONTROL DE PROYECTOS BRETON INDUSTRIAL SISTEMA DE CONTROL DE PROYECTOS MANUAL DE USUARIO COMPRAS VERSIÓN 1.0 El material contenido en este documento tiene información que pertenece a Grupo Red, este material incluye información

Más detalles

Capítulo 4. Diseño de un sistema para reconocimiento y consulta de las tarjetas Hu

Capítulo 4. Diseño de un sistema para reconocimiento y consulta de las tarjetas Hu Capítulo 4. Diseño de un sistema para reconocimiento y consulta de las tarjetas Hu En este capítulo se describe el diseño de un sistema, denominado HuSystem, planteado para cumplir dos objetivos: Búsqueda

Más detalles