Fundamentos de Ingeniería de Software
|
|
- Raúl Gonzalo Alvarado Suárez
- hace 8 años
- Vistas:
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 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 detalles6.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 detallesProgramació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 detallesINTRODUCCIÓ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 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 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 detallesPatrones 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 detallesDesarrollo 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 detallesPatrones 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 detallesA. 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 detallesBASE 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 detallesPATRONES. 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 detallesPatrones 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 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 detallesPROGRAMACIÓ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 detallesInstructivo 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 detalles2.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 detallesADMINISTRACIÓ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 detallesSistemas 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 detallesModificació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 detallesSISTEMA 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 detallesIntroducció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 detallesBASES 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 detallesEstimado 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 detallesIntroducció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 detallesSOLUCION 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 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 detallesDiagramas 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 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 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 detallesGestió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 detallesPequeñ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 detallesMANUAL 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 detallesArquitectura 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 detallesHP 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 detallesGuí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 detallesColecció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 detallesConstrucció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 detallesGestió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 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 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 detallesProceso 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 detallesIntroducció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 detallesApuntes 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 detallesINTRODUCCION. 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 detalles11/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 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 detallesQUÉ 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 detalles2.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 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 detallesCrear 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 detalles2. 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 detallesINSTRUCTIVO 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 detallesIntroducció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 detallesFigura 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 detallesSISTEMA 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 detallesPROGRAMACIÓ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 detallesActualizació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 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 detallesDiagramas 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 detallesGestió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 detallesTienda 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 detallesEntidad 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 detallesINTEGRACIÓ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 detalles1 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 detallesAcceso 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 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 detalles3.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 detallesRepetir 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 detallesResumen. 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 detallesTALLER: 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 detallesManual 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 detallesCAPITULO 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 detallesAdministració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 detallesSECRETARÍ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 detallesGestió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 detallesNovedades 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 detallesEs 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 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 detallesAná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 detallesGUÍ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 detallesPRC-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 detallesPlan 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 detallescomunidades 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 detallesFICHEROS 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 detallesTEMA 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 detallesMANUAL 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 detallesCIMA. 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 detallesCLASE 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 detallesGUÍ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 detallesAdicionalmente, 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 detallesElementos 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 detallesMODULO 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 detallesMANUAL 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 detallesEDICIÓ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 detallesEscuela 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 detallesJornada 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 detallesOperació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 detallesBRETON 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 detallesCapí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