El Conocimiento en Diseño Orientado a Objetos 1 y 2

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

Download "El Conocimiento en Diseño Orientado a Objetos 1 y 2"

Transcripción

1 El Conocimiento en Diseño Orientado a Objetos 1 y 2 Javier Garzás, Mario Piattini 1 INTRODUCCIÓN En los últimos años se han incorporado importantes contribuciones al campo del diseño orientado a objetos (OO), proponiéndose técnicas de modelado, metodologías, patrones, métricas, etc., con el fin de facilitar la evolución y mejora del diseño software. De esta forma, hoy disponemos de elementos de conocimiento en diseño OO muy populares, como son los patrones y las refactorizaciones, junto con otros muchos menos conocidos pero igualmente importantes, como son principios, heurísticas, malos olores (bad smells), etc. Sin embargo, y a pesar de los más de 30 años de experiencia en tecnología de objetos, los beneficios prácticos de esta tecnología aún se cuestionan (Mansfield, 2005). En nuestra opinión, esto de debe en parte a que el conocimiento acumulado en diseño orientado a objetos (DOO) carece de suficiente estructura y clasificación. El conocimiento en DOO, no es fácilmente transmisible, accesible o disponible. Y el conocimiento sin organización es, en la mayoría de las ocasiones, conocimiento desaprovechado, por lo que seguir acumulando este tipo de conocimiento es un esfuerzo inútil, condenando a los profesionales del software a seguir resolviendo los mismos problemas, sin poder contar con las soluciones que ya han sido aportadas varios años antes. Y así en la actualidad observamos con frecuencia la pobre aplicación de patrones, principios, mejores prácticas, etc., desaprovechando esa importante cantidad de experiencia en las organizaciones de desarrollo software. Para resolver estos problemas hemos propuesto una ontología que organiza y estructura el conocimiento en diseño OO. 2 TIPOS DE CONOCIMIENTO EN DISEÑO OO Hoy en día, si deseamos conocer o usar la experiencia práctica de otros expertos en diseño debemos estar listos para afrontar un trabajo difícil. Una breve revisión de la bibliografía existente relacionada con conocimiento en diseño nos mostrará cientos de 1 Esta obra está bajo una licencia de Creative Commons: Reconocimiento-No comercial-compartir bajo la misma licencia 2.5 España (ver 2 Este artículo es un extracto de Garzás, J., & Piattini, M. (2007). An Ontology for Understanding and Applying Object-Oriented Design Knowledge. International Journal of Software Engineering and Knowledge Engineering (IJSEKE), 17(3). 1

2 referencias y decenas de términos, como patrones, principios, refactorizaciones, heurísticas, lecciones aprendidas, prácticas, experiencias, malos olores, etc. La tabla 1 muestra sólo un pequeño ejemplo del conocimiento en DOO asociado a tecnologías específicas como.net o J2EE, o asociado a dominios particulares, como integración, tiempo real, datos, etc. En resumen, nos enfrentamos a gran una confusión, donde cada experto expone sus aportaciones al conocimiento de manera particular, y donde raramente el conocimiento está relacionado, por lo que es muy difícil transmitir y explotar este conocimiento en proyectos reales. Una ontología puede ayudar a facilitar la asimilación del conocimiento en diseño, ya que describe el conocimiento de un dominio de forma general y proporciona un entendimiento común. Una ontología estructura y unifica el conocimiento acumulado, y puede predecir el desarrollo de áreas futuras como la tabla periódica predijo la existencia de algunos elementos décadas antes de que estos fueran aislados (Glass & Vessey, 1995). Por consiguiente, es beneficioso poder disponer de una ontología para estructurar y unificar el conocimiento en DOO (figura 1). Enfoque Uso General Comunicaciones Tecnología J2EE Tecnología.NET Tiempo real Integración Datos Programación paralela Referencia Gamma, E., et al. (1995), Design Patterns, Addison-Wesley Professional. Rising, L. (ed.), Design Patterns in Communications Software. SIGS, Broemmer, D. J2EE Best Practices. Java Design Patterns, Automation and Performance. Wiley, Metsker, S.J. Design Patterns C#. Addison- Wesley Professional, Powel Douglass, B. Real-Time Design Patterns: Robust Scalable Architecture for Real-Time Systems. Addison-Wesley Professional, Hohpe, G. and Woolf, B. Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions. Addison-Wesley Professional, Nock, C. Data Access Patterns: Database Interactions in Object-Oriented Applications. Addison-Wesley Pub Co, Mattson, T.G., Sanders, B.A. and Massingill, B.L. Patterns for Parallel Programming. Addison-Wesley Professional, Tabla 1. Conocimiento representativo 2

3 3 ONTOLOGÍA DEL DOO La construcción de la ontología propuesta se ha basado en el proceso Helix-Spindle (Kishore, Zhang, & Ramesh, 2004). La primera versión se centró en las relaciones entre patrones y reglas (Garzás & Piattini, 2005). Como resultado de esta versión se desarrolló la segunda versión enfocada en una descripción global del conocimiento general en diseños OO (Garzás & Piattini, 2005). La tercera versión (que presentamos en este artículo), está enfocada en una descripción integral y completa del conocimiento en diseño OO, incluyendo conocimiento de uso general, en dominios concretos y para tecnologías específicas. 3.1 Entidades del conocimiento en diseño de micro arquitecturas OO Los elementos del conocimiento en DOO pueden estar organizados en grupos, basados en sus características similares. Y aunque existen muchos términos asociados al conocimiento en DOO (como por ejemplo patrones, heurísticas, etc.) hemos podido observar que todos ellos pueden ubicarse dentro de dos grupos principales: conocimiento declarativo u operativo Conocimiento declarativo Los elementos declarativos son conceptos que describen qué hacer con un problema, y elementos como las heurísticas, patrones, malos olores, mejores prácticas, etc., se sitúan dentro de este grupo. No obstante, estos elementos declarativos pueden tener carácter u objetivos diferentes. Aun cuando grupos de patrones como los de (Gamma, Helm, Johnson, & Vlissides, 1995) son bien conocidos y de aplicación general en todos los diseños, en proyectos reales necesitaremos usar otro conocimiento más particular e igualmente importante (por ejemplo patrones para tecnología J2EE o principios de la tecnología.net) o conocimiento asociado a un dominio concreto (por ejemplo patrones de tiempo real o principios de integración). De esta forma, el conocimiento declarativo puede ser descompuesto en tres subcategorías: general, tecnológico y dominio. Por otro lado, aunque hay numerosa terminología diferente, términos como heurística, malo olor, mejor práctica, principio, etc., tienen una estructura general que coincide con la de una regla, donde frente a una condición ofrecen una recomendación, con lo que podemos agruparlos de forma unificada dentro del término regla. Conviene insistir en que las reglas son diferentes a los patrones, ya que las reglas están más basadas en el uso del lenguaje natural (el cual puede ser ambiguo), los patrones están más formalizados que las reglas y la descripción de los patrones es siempre más amplia. En resumen, los elementos declarativos pueden estar divididos en tres grupos de conocimiento, general, tecnológico y dominio, y cada uno de estos, a su vez, en reglas y patrones (ver Figura 1). 3

4 Figura 1. Ontología del conocimiento en diseño orientado a objetos Conocimiento operativo Los elementos operativos acumulan conocimiento referente a operaciones o procesos que permiten realizar cambios en diseños. Las refactorizaciones (transformación parametrizada de un programa preservando su funcionalidad (Opdyke, 1992)) de diseño se ubican dentro de este grupo. 3.2 Atributos del conocimiento en diseño de micro arquitecturas Para completar la descripción de las entidades nos centramos en sus atributos. Para ello nos hemos basado en las secciones que el catálogo de (Gamma et al., 1995) utiliza para describir un patrón. Según esto observamos como todos los elementos del conocimiento tienen un nombre, propósito, también conocido como, motivación, aplicabilidad, consecuencias y usos conocidos (ver Figura 1). Y de forma más particular situamos en el conocimiento declarativo el atributo participantes (clases y/u objetos participantes en el patrón o regla y sus responsabilidades) y colaboraciones. Otros atributos interesantes son estructura representando la solución en un patrón, y recomendación para reglas. El conocimiento operativo contiene el atributo ejemplo de diseño y las refactorizaciones el de mecánica, nombre tomado del catálogo de refactorizaciones de (Fowler, Beck, Brant, Opdyke, & Roberts, 1999). 4

5 3.3 Relaciones entre el conocimiento de diseño Por otro lado, entre los elementos del conocimiento existen diversas relaciones, difíciles de apreciar sin una clara división de los mismos. Tomando en consideración que los elementos del conocimiento en diseño pueden estar organizados en dos entidades principales, conocimiento declarativo y operativo, y que el conocimiento declarativo puede estar organizado en conocimiento general, tecnológico y de dominio, donde cada uno de estos, a su vez, se descompone en reglas y patrones, podemos encontrar las siguientes relaciones Relaciones entre conocimiento declarativo y operativo Las refactorizaciones almacenan conocimiento sobre cómo introducir elementos en diseños de una forma controlada y el conocimiento declarativo (Reglas y Patrones) es introducido en el diseño por conocimiento operativo (refactorización). En este caso, podemos decir que: el conocimiento declarativo es introducido por conocimiento operativo. Las cardinalidades de la relación entre el conocimiento operativo y declarativo son 0..n y 1..n. El conocimiento declarativo debe estar asociado a uno o más elementos del conocimiento operativo (1..n), (no tiene sentido que existan elementos declarativos que no puedan ser introducidos en un diseño), y el conocimiento operativo puede estar implicado por ninguno o muchos elementos del conocimiento declarativo. Refactorizaciones como Replace Type Code with State/Strategy o Form Template Method (Fowler et al., 1999) se centran en la introducción de patrones. Más aún, observamos que las reglas pueden ser introducidas en el diseño por medio de refactorizaciones, así, por ejemplo, la regla de Dependency Inversion (Martin, 1996) propone insertar una entidad abstracta dentro de un diseño, la cual se introduce mediante refactorizaciones Relaciones entre reglas y patrones Como hemos dicho, el conocimiento declarativo está descompuesto en conocimiento general, de dominio y tecnológico, y, a su vez, cada uno de estos en reglas y patrones. En cualquier caso, entre cada par regla patrón hay dos clases de relaciones: las reglas implican patrones y los patrones cumplen las reglas. 5

6 Figura 2. Ejemplo de relaciones entre el conocimiento Reglas implican patrones A menudo, cuando introducimos una regla obtenemos un nuevo diseño, el cual necesita un patrón. Podemos observar esta relación entre reglas y patrones para las tres clases de conocimiento declarativo (general, dominio y tecnológico) Podemos decir que: aplicar una regla implica el uso de un patrón (ver figura 2). Las cardinalidades de esta relación son 0..n y 0..n. No todas las reglas implican la introducción de un patrón (un ejemplo de ello es la aplicación de reglas que trabajan a nivel interno de un módulo) y no todos los patrones están implicados por reglas. En el conocimiento declarativo de carácter general, un ejemplo es la regla de Dependency Inversion (Martin, 1996), que introduce un elemento abstracto que a su vez necesita un patrón creacional (Gamma et al., 1995) para crear instancias y objetos asociados en la nueva situación. Reglas de dominios específicos como las reglas de tiempo real implican el uso de patrones de tiempo real, ejemplo es la regla de If it is too complex to permit a static allocation of object and it cannot deal with dynamic memory allocation then use a pool allocation que implica el uso de Pool Allocation (real time) Pattern (Powel Douglass, 2002). En el conocimiento tecnológico, podemos ver reglas de J2EE que implican el uso de patrones J2EE. Por ejemplo, (Alur, Malks, & Crupi, 2003) presenta una lista de requisitos comunes o motivaciones (otra forma de nombrar las reglas de conocimiento en diseño) que implican a uno o más patrones J2EE. En esta lista podemos ver como la regla de If you have a lot of entity beans then reduce number of entity beans and improve 6

7 manageability o la regla de If you have entity bean to entity bean remote relationships then reduce or eliminate these remote relationships implican el uso de Composite Entity (J2EE) Pattern. Patrones que cumplen Reglas El objetivo de aplicar reglas de diseño es aumentar la calidad del diseño. Las reglas de diseño son elementos que podemos encontrar dentro de micro arquitecturas de calidad. Los patrones son micro arquitecturas de calidad, probadas por la experiencia, con lo que tiene sentido decir que los patrones de diseño cumplen reglas de diseño. En este caso: los patrones cumplen reglas. Las cardinalidades en esta relación son 0..n y 0..n. No todas las reglas son cumplidas en un patrón de diseño, y un patrón de diseño puede cumplir cero o muchas reglas. Muchos patrones, tales como Observer, State (Gamma et al., 1995), etc., cumplen varias reglas, entre otras la regla de Dependency Inversion (Martin, 1996). Relaciones entre patrones Todas las entidades patrón (patrones generales, de dominio y tecnológicos) tienen una relación reflexiva, esto es: aplicar un patrón implica el uso de otro patrón (ver figura 2). Las cardinalidades de aplicar un patrón implica el uso de otro Patrón son 0..n y 0..n. No todos los patrones implican otro patrón y no todos los patrones están implicados por patrones. En patrones comunes un ejemplo es el mapa de relaciones entre patrones presentado por (Gamma et al., 1995). Para patrones tecnológicos podemos ver como EJB Home Factory (J2EE) Pattern implica el uso de Service Locator (J2EE) Pattern (Marinescu, 2002). Y en patrones de dominio podemos ver como Critical Section (real time) Pattern implica el uso de Concurrency (real time) Pattern (Powel Douglass, 2002) Relaciones entre conocimiento operativo Las entidades del conocimiento operativo tienen una relación reflexiva de composición, esto es: un elemento del conocimiento operativo está compuesto de otros. Las cardinalidades son 0..n y 0..n. Hay conocimiento operativo atómico y que no está compuesto por otros. Pueden encontrarse en los catálogos de refactorizaciones como el de (Fowler et al., 1999), donde, por ejemplo, la refactorización "Extract Method" es usada por otras refactorizaciones, pero no usa a otras. 7

8 Relaciones entre patrones comunes, dominio y tecnológicos Los patrones comunes son de uso general en todos los diseños, y tanto los patrones de dominio como los tecnológicos pueden implicar el uso de patrones comunes (ver figuras 1 y 2). Los patrones de dominio implican el uso de patrones generales. Muchos patrones de dominio implican el uso de patrones generales. Las cardinalidades son 0..n y 0..n. Patrones de dominio como los de tiempo real implican el uso de patrones generales. Por ejemplo, podemos ver como Pool Allocation Pattern (Powel Douglass, 2002), una aproximación para gestionar la asignación de memoria, puede ser usado con Abstract Factory (common) Pattern (Gamma et al., 1995) para proveerle operatividad en diferentes entornos. Patrones tecnológicos implican el uso de patrones generales Adicionalmente, muchos patrones tecnológicos implican el uso de patrones generales. Las cardinalidades son 0..n y 0..n. El patrón J2EE Command (Marinescu, 2002) implica el uso de Command Pattern (Gamma et al., 1995); J2EE Home Factory (Marinescu, 2002) o Client Side EJB Interaction implican el uso de Abstract Factory Pattern (Gamma et al., 1995); y Session Facade (Marinescu, 2002) implica a Facade Pattern (Gamma et al., 1995). 4 MEJORA DEL DISEÑO OO USANDO LA ONTOLOGÍA PROPUESTA Las ontologías pueden ser aplicadas en una amplia variedad de contextos con varios propósitos, de forma general pueden ser usadas para mejorar la comunicación entre humanos y máquinas, para lograr interoperabilidad, mejorar procesos y la calidad de un sistema de software (Jasper & Uschold, 1999). De manera más específica, pensamos que la ontología propuesta puede ser útil en diferentes áreas: 4.1 Formación y comunicación Frecuentemente los conceptos asociados al conocimiento en diseño OO se expresan usando un vocabulario poco familiar o en un formato poco accesible. La ontología proporciona una terminología general, proporcionando comprensión, eliminando la barrera 8

9 creada por distintos vocabularios y aproximaciones, y eliminando ambigüedades. También se puede facilitar la formación en DOO usando una ontología y catalogando el conocimiento de forma unificada en base a la ontología (como resultado de la ontología hemos desarrollado un catálogo unificado o reglas de conocimiento (Garzás & Piattini, 2005)). 4.2 Nexo de unión del conocimiento en DOO La ontología puede ser usada como punto común entre distintos métodos OO, lenguajes OO, herramientas software OO, etc. Los beneficios de esta aproximación incluyen interoperabilidad y mejor uso de los recursos del conocimiento. 4.3 Reutilización del conocimiento La ontología propone una codificación sistemática para las entidades del conocimiento en DOO, sus atributos y sus relaciones. Esta representación forma un bloque de construcción común a para una gran variedad de diseños. 4.4 Adquisición y búsqueda del conocimiento La ontología puede ser usada como meta-datos en un repositorio de conocimiento de diseño. Los beneficios de esta aproximación son un acceso más rápido y eficiente al conocimiento en diseño. 4.5 Mejora del diseño y mantenimiento Los elementos que forman la ontología son elementos de calidad contrastada, por lo que pueden ayudar a identificar requisitos y definir especificaciones de diseño. Los sistemas basados en la ontología pueden mejorar la documentación y reducir los costes de mantenimiento, particularmente combinando la ontología de diseño OO con otras propuestas para el mantenimiento (Ruiz, A, Piattini, & Garcia, 2004). 4.6 Dar soporte a la toma de decisiones Los razonamientos que llevan a crear un determinado diseño (design rationale (DR) en terminología inglesa) son las decisiones realizadas durante el proceso de diseño, las razones subyacentes, su justificación, alternativas consideradas, etc. (Lee, 1997). Desafortunadamente estas decisiones no se suelen recoger, haciendo muy difícil entender con posterioridad las razones de una determinada solución (IEEE/EIA, 1998). El conocimiento OO puede ser asociado al registro razonamientos, apoyando así las decisiones tomadas. 5 CONCLUSIONES Hoy en día la comunidad dedicada al diseño OO dispone de una gran cantidad y variedad de conocimiento práctico acumulado, pero desafortunadamente los mismos problemas de diseño siguen repitiéndose una y otra vez en proyectos reales. Y es que, en 9

10 nuestra opinión, no se ha investigado suficientemente en cómo usar el conocimiento disponible en DOO. En este artículo proponemos una ontología que permite organizar el conocimiento tanto declarativo como operativo de DOO, ya sea general, tecnológico o de dominio. Esta ontología pretende mejorar el DOO aportando ventajas en la formación de los ingenieros de software, en la explotación del conocimiento y en el registro de las decisiones tomadas durante el DOO. 6 REFERENCIAS Alur, D., Malks, D., & Crupi, J. (2003). Core J2EE Patterns: Best Practices and Design Strategies (Second Edition ed.): Prentice Hall Fowler, M., Beck, K., Brant, J., Opdyke, W., & Roberts, D. (1999). Refactoring: Improving the Design of Existing Code (1st edition ed.): Addison-Wesley Professional. Gamma, E., Helm, R., Johnson, R., & Vlissides, J. (1995). Design Patterns: Addison-Wesley Professional. Garzás, J., & Piattini, M. (2005). An ontology for micro-architectural design knowledge. IEEE Software Magazine, 22(2), Glass, R. L., & Vessey, I. (1995). Contemporary Application - Domain Taxonomies. IEEE Software, 12(4), IEEE/EIA. (1998). IEEE/EIA IEEE/EIA Guide Industry Implementation of International Standard ISO/IEC Standard for Information Technology Software life cycle processes. Life cycle data: Institute of Electrical and Electronics Engineers, Inc. Jasper, R., & Uschold, M. (1999). A Framework for Understanding and Classifying Ontology Applications. Paper presented at the Twelfth Workshop on Knowledge Acquisition Modeling and Management KAW'99, Canada. Kishore, R., Zhang, H., & Ramesh, R. (2004). A Helix-Spindle Model for Ontological Engineering. Communications of the ACM, 47(2). Lee, J. (1997). Design Rationale Systems: Understanding the Issues. IEEE Expert: Intelligent Systems and Their Applications, 12(3), Mansfield, R. (2005). OOP Is Much Better in Theory Than in Practice, devx.com. Marinescu, F. (2002). EJB Design Patterns. Advanced Patterns, Processes and Idioms: John Wiley and Sons. Martin, R. C. (1996). The dependency inversion principle. C++ Report, 8(6), Opdyke, W. (1992). Refactoring Object Oriented Frameworks. Illinois, Urbana-Champain. Powel Douglass, B. (2002). Real-Time Design Patterns: Robust Scalable Architecture for Real-Time Systems: Addison-Wesley Professional. Ruiz, F., A, V., Piattini, M., & Garcia, F. (2004). An ontology for the management of software maintenance projects. International Journal of Software Engineering and Knowledge, 14(3),

Planificaciones. 7510 - Técnicas de Diseño. Docente responsable: PANTALEO GUILLERMO GUSTAVO. 1 de 5

Planificaciones. 7510 - Técnicas de Diseño. Docente responsable: PANTALEO GUILLERMO GUSTAVO. 1 de 5 Planificaciones 7510 - Técnicas de Diseño Docente responsable: PANTALEO GUILLERMO GUSTAVO 1 de 5 OBJETIVOS En este curso se busca introducir a los alumnos en el concepto de diseño de software. Para lograrlo

Más detalles

Evolución de Plantillas Genéricas para la descripción de Casos de Uso a Plantillas Genéricas para Análisis y Diseño

Evolución de Plantillas Genéricas para la descripción de Casos de Uso a Plantillas Genéricas para Análisis y Diseño Evolución de Plantillas Genéricas para la descripción de Casos de Uso a Plantillas Genéricas para Análisis y Diseño Ing. Marcela Daniele AC. Daniel Romero Dpto. de Computación. Facultad: Ciencias Exactas,

Más detalles

TIPOS DE PATRONES. PATRONES DE DISEÑO: Las soluciones probadas para el diseño de software. En estas nos vamos a centrar.

TIPOS DE PATRONES. PATRONES DE DISEÑO: Las soluciones probadas para el diseño de software. En estas nos vamos a centrar. TIPOS DE PATRONES Hoy, podemos encontrar literalmente miles de patrones definidos. Resulta imposible para un programador conocerlos todos, ni mucho menos probarlos o valorarlos. Así que necesitamos una

Más detalles

Arquitecturas y Tecnologías de Aplicaciones Empresariales

Arquitecturas y Tecnologías de Aplicaciones Empresariales Arquitecturas y Tecnologías de Aplicaciones Empresariales Guía de Aprendizaje Información al estudiante 1. Datos Descriptivos Titulación Módulo Materia Asignatura Carácter Master en Ingeniería Informática

Más detalles

Curso: Diseño Orientado a Objetos Patrones de Diseño

Curso: Diseño Orientado a Objetos Patrones de Diseño Curso: Diseño Orientado a Objetos Patrones de Diseño DISEÑO ORIENTADO A OBJETOS PATRONES DE DISEÑO... 1 OBJETIVO...1 AUDIENCIA...1 CONTENIDO...1 BIBLIOGRAFÍA...2 DOCENTE...3 MODALIDAD DEL DESARROLLO...3

Más detalles

Diseño Basado en Componentes. Curso 2008/09

Diseño Basado en Componentes. Curso 2008/09 Tabla de contenidos Diseño Basado en Componentes Técnicas relacionadas con Reutilización Introducción: por qué reutilizar?, qué reutilizar? Técnicas: Ingeniería de dominios Líneas de productos (Product-lines)

Más detalles

Escuela Técnica Superior de Ingeniería. Informática. Grado en Ingeniería Informática

Escuela Técnica Superior de Ingeniería. Informática. Grado en Ingeniería Informática Escuela Técnica Superior de Ingeniería Informática Grado en Ingeniería Informática GUÍA DOCENTE DE LA ASIGNATURA: (Diseño Arquitectónico y Patrones) Curso Académico 2013/2014 Fecha: 24/05/2013 MODELO GUIA

Más detalles

Curso: Patrones de Diseño de Arquitecturas de tipo Enterprise

Curso: Patrones de Diseño de Arquitecturas de tipo Enterprise Curso: Patrones de Diseño de Arquitecturas de tipo Enterprise PATRONES DE DISEÑO DE ARQUITECTURA ENTERPRISE... 1 OBJETIVO...1 AUDIENCIA...1 CONTENIDO...1 BIBLIOGRAFÍA...2 DOCENTE...3 MODALIDAD DEL DESARROLLO...3

Más detalles

IN77J Orientación al Objeto para el e-business. 6. Diseño

IN77J Orientación al Objeto para el e-business. 6. Diseño IN77J Orientación al Objeto para el e-business 6. Diseño Temario 6. Diseño Descomposición Realización de Casos de Uso Taller Patrones de Diseño 2 Descomposición Una de las principales técnicas para abordar

Más detalles

UNIVERSIDAD AUTÓNOMA DE YUCATÁN FACULTAD DE MATEMÁTICAS MISIÓN

UNIVERSIDAD AUTÓNOMA DE YUCATÁN FACULTAD DE MATEMÁTICAS MISIÓN UNIVERSIDAD AUTÓNOMA DE YUCATÁN FACULTAD DE MATEMÁTICAS MISIÓN Formar profesionales altamente capacitados, desarrollar investigación y realizar actividades de extensión, en Matemáticas y Computación, así

Más detalles

Curso: Arquitectura de Software (201101-Nuevo Pensum) Profesor: Juan Bernardo Quintero Institución: Universidad de Antioquia

Curso: Arquitectura de Software (201101-Nuevo Pensum) Profesor: Juan Bernardo Quintero Institución: Universidad de Antioquia Curso: Arquitectura Software (201101-Nuevo Pensum) Profesor: Juan Bernardo Quintero Institución: Universidad Antioquia 1. Objetivo General Brindar a los estudiantes herramientas para facilitar el uso metodologías

Más detalles

270081 - ASW - Aplicaciones y Servicios Web

270081 - ASW - Aplicaciones y Servicios Web Unidad responsable: 270 - FIB - Facultad de Informática de Barcelona Unidad que imparte: 747 - ESSI - Departamento de Ingenieria de Servicios y Sistemas de Información Curso: Titulación: 2015 GRADO EN

Más detalles

Patrones de Alto nivel: Patrones de Arquitectura Patrones de nivel medio: Patrones de Diseño Patrones de bajo nivel: Idioms

Patrones de Alto nivel: Patrones de Arquitectura Patrones de nivel medio: Patrones de Diseño Patrones de bajo nivel: Idioms Patrones Patrones Es una solución reusable de problemas comunes. Los patrones solucionan problemas que existen en muchos niveles de abstracción. desde el análisis hasta el diseño y desde la arquitectura

Más detalles

Seminario en CD Bases para Java

Seminario en CD Bases para Java G: Suplementos Hay varios suplementos para este libro, incluyendo el seminario grabado en el CD que se encuentra en la parte trasera del libro y otros artículos, seminarios y servicios disponibles a través

Más detalles

Curso: El Proceso de Desarrollo de Software

Curso: El Proceso de Desarrollo de Software Curso: El Proceso de Desarrollo de Software EL PROCESO DE DESARROLLO DE SOFTWARE... 1 OBJETIVO...1 CONTENIDO...1 BIBLIOGRAFÍA...4 DOCENTE...4 MODALIDAD DEL DESARROLLO...4 El proceso de Desarrollo de Software

Más detalles

Resumen. Palabras clave: diseño, reuso, arquitectura, patrones, taller. Introducción

Resumen. Palabras clave: diseño, reuso, arquitectura, patrones, taller. Introducción TALLER: MECANISMOS DE REUSO EN OO ARQUITECTURA, PATRONES Y FRAMEWORKS Urciuolo Adriana, Sandoval Sandra Universidad Nacional de la Patagonia San Juan Bosco Sede Ushuaia, Darwin y Canga, (9410) Ushuaia

Más detalles

Guía docente de la asignatura

Guía docente de la asignatura Guía docente de la asignatura Asignatura Materia T22: DISEÑO, INTEGRACIÓN Y ADAPTACIÓN DE SOFTWARE TECNOLOGÍAS SOFTWARE Módulo Titulación GRADO EN INGENIERÍA INFORMÁTICA DE SISTEMAS (464) Plan 464 Código

Más detalles

Diseño de Aplicaciones para SAP IS-H*med Usando Patrones de Diseño de Software. Caso de Estudio: Just Click! Sergio Andrés Pico Rojas, Ingeniero

Diseño de Aplicaciones para SAP IS-H*med Usando Patrones de Diseño de Software. Caso de Estudio: Just Click! Sergio Andrés Pico Rojas, Ingeniero Diseño de Aplicaciones para SAP IS-H*med Usando Patrones de Diseño de Software. Caso de Estudio: Just Click! Sergio Andrés Pico Rojas, Ingeniero Informático. Diana Teresa Gómez Forero, Ingeniera de Sistemas,

Más detalles

Guía docente de la asignatura

Guía docente de la asignatura Guía docente de la asignatura Asignatura Materia Módulo Titulación Técnicas en el desarrollo y mantenimiento de Software para incrementar la calidad. AUDITARÍA, CALIDAD Y SEGURIDAD TECNOLOGÍAS INFORMÁTICAS

Más detalles

SISTEMAS DE INFORMACIÓN

SISTEMAS DE INFORMACIÓN SISTEMAS DE INFORMACIÓN Tema 8 Arquitecturas de Capas JAVIER GARZÁS Arquitectura Software Organización de un sistema software Los elementos estructurales (componentes) y sus interfaces (conectores) en

Más detalles

Guía Docente 2013/2014

Guía Docente 2013/2014 Guía Docente 2013/2014 Ingeniería del Software II Software Engineering II Grado en Ingeniería Informática Presencial Universidad Católica San Antonio de Murcia Tlf: (+34) 902 102 101 info@ucam.edu www.ucam.edu

Más detalles

Curso de Spring Framework

Curso de Spring Framework Todos los Derechos Reservados Global Mentoring 2012 Experiencia y Conocimiento para tu Vida 1 Spring es un proyecto de código abierto (open source), originalmente creado por Rod Johnson y descrito en su

Más detalles

PROGRAMA DE LA ASIGNATURA CURSO BASICO: ARQUITECTURA DEL SOFTWARE

PROGRAMA DE LA ASIGNATURA CURSO BASICO: ARQUITECTURA DEL SOFTWARE UNIVERSIDAD CENTRAL DE VENEZUELA FACULTAD DE CIENCIAS POSTGRADO EN CIENCIAS DE LA COMPUTACIÓN PROGRAMA DE LA ASIGNATURA CURSO BASICO: ARQUITECTURA DEL SOFTWARE INFORMACIÓN GENERAL Profesor: Francisca Losavio

Más detalles

METODOLOGÍA PARA ORGANIZAR, RECUPERAR Y COMPARTIR

METODOLOGÍA PARA ORGANIZAR, RECUPERAR Y COMPARTIR METODOLOGÍA PARA ORGANIZAR, RECUPERAR Y COMPARTIR RECURSOS DE INFORMACIÓN Y CONOCIMIENTO EN UN CENTRO I+D+I EN LA PLATAFORMA SURICATA Marrero, S.R; Nelson, J.C; Galán, M; Ocón, A.; Rubio, E. sonia@cicei.com;

Más detalles

MODELOS DE PROCESO PARA LA INTEGRACIÓN DEL NEGOCIO UTILIZANDO SERVICE ORIENTED ARCHITECTURE (SOA).

MODELOS DE PROCESO PARA LA INTEGRACIÓN DEL NEGOCIO UTILIZANDO SERVICE ORIENTED ARCHITECTURE (SOA). MODELOS DE PROCESO PARA LA INTEGRACIÓN DEL NEGOCIO UTILIZANDO SERVICE ORIENTED ARCHITECTURE (SOA). López, G. 1 ; Jeder, I. 1 ; Echeverría, A. 1 ; Fierro, P. (PhD.) 2 1. Laboratorio de Informática de Gestión

Más detalles

GUÍA DOCENTE INGENIERÍA DEL SOFTWARE Grado en Ingeniería Informática. Profesorado: Juan Manuel Gimeno Illa Montserrat Sendin Veloso

GUÍA DOCENTE INGENIERÍA DEL SOFTWARE Grado en Ingeniería Informática. Profesorado: Juan Manuel Gimeno Illa Montserrat Sendin Veloso Año académico 2014-15 GUÍA DOCENTE INGENIERÍA DEL SOFTWARE Grado en Ingeniería Informática Profesorado: Juan Manuel Gimeno Illa Montserrat Sendin Veloso Información general de la asignatura Denominación

Más detalles

DDD (diseño dirigido por el dominio) y aplicaciones Enterprise: fidelidad al modelo o a las herramientas?

DDD (diseño dirigido por el dominio) y aplicaciones Enterprise: fidelidad al modelo o a las herramientas? DDD (diseño dirigido por el dominio) y aplicaciones Enterprise: fidelidad al modelo o a las herramientas? Adriana Echeverría, Gustavo López, María Delia Grossi, Arturo Servetto, Ismael Jeder, Adrián Paredes,

Más detalles

LA MEJORA DE PROCESOS EN PEQUEÑAS EMPRESAS Y LA ISO/IEC 29110

LA MEJORA DE PROCESOS EN PEQUEÑAS EMPRESAS Y LA ISO/IEC 29110 LA MEJORA DE PROCESOS EN PEQUEÑAS EMPRESAS Y LA ISO/IEC 29110 Mª Carmen García, Javier Garzás, Mario Piattini www.kybeleconsulting.com http://kybeleconsulting.blogspot.com/ La actividad económica desarrollada

Más detalles

Universidad Ricardo Palma

Universidad Ricardo Palma Universidad Ricardo Palma FACULTAD DE INGENIERÍA ESCUELA ACADÉMICO PROFESIONAL DE INGENIERÍA INFORMATICA DEPARTAMENTO ACADÉMICO DE INGENIERÍA PLAN DE ESTUDIOS 2006-II SÍLABO I. DATOS ADMINISTRATIVOS 1.1.

Más detalles

Accediendo a Base de Datos desde aplicaciones Web desarrolladas con J2EE: patrones de diseño.

Accediendo a Base de Datos desde aplicaciones Web desarrolladas con J2EE: patrones de diseño. Accediendo a Base de Datos desde aplicaciones Web desarrolladas con J2EE: patrones de diseño. Carlos Presedo Varela, Nieves R. Brisaboa, Antonio Fariña Laboratorio de Bases de Datos. Departamento de Computación.

Más detalles

DESARROLLO CLIENTE SERVIDOR : JDEVELOPER SÍLABO

DESARROLLO CLIENTE SERVIDOR : JDEVELOPER SÍLABO DESARROLLO CLIENTE SERVIDOR : JDEVELOPER SÍLABO I. DATOS GENERALES CARRERA PROFESIONAL : INGENIERÍA DE SISTEMAS E CÓDIGO DE LA CARRERA : 02 NOMBRE DE LA ASIGNATURA : DESARROLLO CLIENTE SERVIDOR: JDEVELOPER

Más detalles

Asignatura: SISTEMAS EN TIEMPO REAL Código: 40007318 Año académico: 2009/2010 Centro:

Asignatura: SISTEMAS EN TIEMPO REAL Código: 40007318 Año académico: 2009/2010 Centro: Asignatura: SISTEMAS EN TIEMPO REAL Código: 40007318 Año académico: 2009/2010 Centro: ESCUELA POLITÉCNICA SUPERIOR Departamento: LENGUAJES Y COMPUTACIÓN Área: INGENIERÍA DE SISTEMAS Y AUTOMÁTICA Titulación:

Más detalles

Patrones. (Conceptos Generales)

Patrones. (Conceptos Generales) Patrones (Conceptos Generales) Agenda Motivación para los patrones Definiciones de patrones Tipos de patrones (Catálogos) De diseño (GoF) De arquitectura (POSA) De plataforma (J2EE) Ejemplo (Patrón DAO)

Más detalles

IDENTIFICACION DE CONGLOMERADOS (CLUSTERS) PARA IMPLEMENTAR OBJETOS DE SOFTWARE

IDENTIFICACION DE CONGLOMERADOS (CLUSTERS) PARA IMPLEMENTAR OBJETOS DE SOFTWARE 1 IDENTIFICACION DE CONGLOMERADOS (CLUSTERS) PARA IMPLEMENTAR OBJETOS DE SOFTWARE M. S. Manuel Prieto de Hoyos Profesor de tiempo completo de las carreras de Informática Facultad de Ingeniería y Arquitectura

Más detalles

Ingeniería del Software Curso 2011-2012

Ingeniería del Software Curso 2011-2012 Curso 2011-2012 German Rigau german.rigau@ehu.es http://adimen.si.ehu.es/~rigau Ingeniería Técnica en Informática de Sistemas Índice Ingeniería del Software Objetivos Temario Nota Proyecto Bibliografía

Más detalles

UNA PROPUESTA DE MODELOS DE CICLO DE VIDA (MCVS) PARA LA INTEGRACIÓN DE LOS PROCESOS DE NEGOCIO UTILIZANDO SERVICE ORIENTED ARCHITECTURE (SOA)

UNA PROPUESTA DE MODELOS DE CICLO DE VIDA (MCVS) PARA LA INTEGRACIÓN DE LOS PROCESOS DE NEGOCIO UTILIZANDO SERVICE ORIENTED ARCHITECTURE (SOA) UNA PROPUESTA DE MODELOS DE CICLO DE VIDA (MCVS) PARA LA INTEGRACIÓN DE LOS PROCESOS DE NEGOCIO UTILIZANDO SERVICE ORIENTED ARCHITECTURE (SOA) López, G. 1 ; Echeverría, A. 1 ; Fierro, P. (PhD.) 2 ; Jeder,

Más detalles

Programación orientada a

Programación orientada a Programación orientada a objetos con Java Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es Objetivos Presentar los conceptos de la programación

Más detalles

Guía docente de la asignatura

Guía docente de la asignatura Guía docente de la asignatura Asignatura Materia T22: DISEÑO, INTEGRACIÓN Y ADAPTACIÓN DE SOFTWARE TECNOLOGÍAS SOFTWARE Módulo Titulación GRADO EN INGENIERÍA INFORMÁTICA DE SISTEMAS (464) Plan 464 Código

Más detalles

Tecnologías para Desarrollo Orientado a Servicios (posgrado) Desarrollo de Software Orientado a Servicios (pregrado)

Tecnologías para Desarrollo Orientado a Servicios (posgrado) Desarrollo de Software Orientado a Servicios (pregrado) Tecnologías para Desarrollo Orientado a Servicios (posgrado) Desarrollo de Software Orientado a Servicios (pregrado) Mg. Elsa Estévez Universidad Nacional del Sur T.2 Contenidos 1 1) lenguaje XML extensible

Más detalles

Estilos Arquitectónicos

Estilos Arquitectónicos Estilos Arquitectónicos Lic. Gastón Coco Ing. Gustavo A. Brey Ing. Juan M. Arias Ing. Jorge García Ing. Santiago Blanco Ing. Fabián Pezet Vila Ing. Ariel Cassan 2005 Agenda # Tema Duración 1 Que es un

Más detalles

Curso Java Curso Online Analista Programador Java

Curso Java Curso Online Analista Programador Java Curso Java Curso Online Analista Programador Java Academia Mañana Paseo de la Castellana, 51 - Madrid 28046 Programa General Curso de Java Módulo Uno - Programación Java Básica 1) Programación Java Básico

Más detalles

Departamento de Informática y Sistemas Facultad de Informática Campus Universitario de Espinardo Murcia Profesor: Juan Antonio López Quesada

Departamento de Informática y Sistemas Facultad de Informática Campus Universitario de Espinardo Murcia Profesor: Juan Antonio López Quesada Departamento de Informática y Sistemas Facultad de Informática Campus Universitario de Espinardo Murcia Profesor: Juan Antonio López Quesada Índice de contenidos 1.- El proceso software 2.- Estándares

Más detalles

Herramientas de Desarrollo de Software: Hacia la Construcción de una Ontología

Herramientas de Desarrollo de Software: Hacia la Construcción de una Ontología Herramientas de Desarrollo de Software: Hacia la Construcción de una Ontología Lornel A. Rivas 1,2, María Pérez 2, Luis E. Mendoza 2, y Anna Grimán 2 1 Gerencia de Investigación, Instituto Nacional de

Más detalles

5.6.3 Session Facade

5.6.3 Session Facade 5.6.3 Session Facade Session Facade (1) Intención Proporcionar una interfaz sencilla que soporta un conjunto de casos de uso relacionados Motivación La explicada en el tema 2: proporcionar una interfaz

Más detalles

GENERACIÓN DE APLICACIONES MEDIANTE LENGUAJES ESPECIFICOS DE DOMINIO

GENERACIÓN DE APLICACIONES MEDIANTE LENGUAJES ESPECIFICOS DE DOMINIO WICC 2012 626 GENERACIÓN DE APLICACIONES MEDIANTE LENGUAJES ESPECIFICOS DE DOMINIO 1. A.Cortez, C.Naveda 1. Consejo de Investigaciones (CIUDA) UDA. 2. Instituto de Investigaciones Facultad de Ciencias

Más detalles

Guía docente de la asignatura

Guía docente de la asignatura Guía docente de la asignatura Asignatura Materia DISEÑO DE SOFTWARE DESARROLLO DE SOFTWARE Módulo Titulación Grado en INGENIERÍA INFORMÁTICA Plan 463 Código 45203 Periodo de impartición S5 Tipo/Carácter

Más detalles

Indicadores económicos del desarrollo software 1 y 2

Indicadores económicos del desarrollo software 1 y 2 Indicadores económicos del desarrollo software 1 y 2 Javier Garzás, Daniel Cabrero 1 EL RETORNO DE LA INVERSIÓN El retorno de la inversión, conocido por sus siglas ROI, si bien es un indicador esencial

Más detalles

Presentación de proyecto de seminario de titulación

Presentación de proyecto de seminario de titulación BENEMÉRITA UNIVERSIDAD AUTÓNOMA DE PUEBLA FACULTAD DE CIENCIAS DE LA COMPUTACIÓN Presentación de proyecto de seminario de titulación I Datos Generales. Fecha: 28/Febrero/2002 1.1 Datos del Responsable

Más detalles

Planificaciones. 7548 - Calidad en Desarrollo de Sistemas. Docente responsable: PANTALEO GUILLERMO GUSTAVO. 1 de 7

Planificaciones. 7548 - Calidad en Desarrollo de Sistemas. Docente responsable: PANTALEO GUILLERMO GUSTAVO. 1 de 7 Planificaciones 7548 - Calidad en Desarrollo de Sistemas Docente responsable: PANTALEO GUILLERMO GUSTAVO 1 de 7 OBJETIVOS El objetivo de esta materia es introducir a los alumnos en los conceptos de calidad,

Más detalles

Arquitectura de Software III: Elaboración. Contenido del curso. III: Elaboración

Arquitectura de Software III: Elaboración. Contenido del curso. III: Elaboración Arquitectura de Software III: Elaboración Hernán Astudillo Departamento de Informática Universidad Técnica Federico Santa María Contenido del curso Introducción, motivación y contexto

Más detalles

Estilos Arquitectónicos

Estilos Arquitectónicos Estilos Arquitectónicos Ing. Ariel Cassan 2005 Agenda # Tema Duración 1 Que es un Patrón? 5 min 2 Introducción a estilos arquitectónicos 5 min 2.1 De Estructuración 20 min 2.2 Sistemas distribuidos 5 min

Más detalles

http://www.cem.itesm.mx/extension/ms

http://www.cem.itesm.mx/extension/ms Diplomado Programación orientada a objetos con Java y UML Las empresas necesitan contar con sistemas de información modernos, ágiles y de calidad para alcanzar sus objetivos y ser cada vez más competitivos

Más detalles

Sistema de Control de Acceso Distribuido

Sistema de Control de Acceso Distribuido Sistema de Control de Acceso Distribuido Ing: Javier Jorge Lic. Eduardo Sanchez Febrero, 2010 Página 1 de 12 Alcance o dimensiones del problema Debido a que el control de acceso presenta grandes dimensiones

Más detalles

Creación de Soluciones usando Patrones

Creación de Soluciones usando Patrones Carlos Bittrich IBM Certified I/T Architect bittrich@pe.ibm.com Agenda Qué son Patrones? Patterns for e-business 2 Qué son Patrones? Wikipedia.org Modelo con el que se fabrican otros objetos. Los patrones

Más detalles

Bases de datos para toma de decisiones

Bases de datos para toma de decisiones 1.- DATOS DE LA ASIGNATURA Nombre de la asignatura: Carrera: Clave de la asignatura: Horas teoría-horas práctica-créditos Bases de datos para toma de decisiones Lic. en Informática 3-2-8 2.- HISTORIA DEL

Más detalles

ORGANIZACIÓN DOCENTE del curso 2009-10

ORGANIZACIÓN DOCENTE del curso 2009-10 ORGANIZACIÓN DOCENTE del curso 2009-10 1. DATOS GENERALES DE LA ASIGNATURA NOMBRE Ingeniería del Software II PÁGINA WEB www.ctr.unican.es/asignaturas/is2 CÓDIGO DEPARTAMENTO Matemáticas, Estadística y

Más detalles

Objetivos FACULTAD DE INGENIERIA. DEPARTAMENTO DE INGENIERIA DE SISTEMAS. Código de la asignatura 4070. Fecha de Actualización Julio 24 de 2012

Objetivos FACULTAD DE INGENIERIA. DEPARTAMENTO DE INGENIERIA DE SISTEMAS. Código de la asignatura 4070. Fecha de Actualización Julio 24 de 2012 Nombre de la asignatura Ingeniería de Software Código de la asignatura 4070 Fecha de Actualización Julio 24 de 2012 Intensidad horaria semanal Horas Contacto 4 Horas Trabajo Independiente 8 Créditos Académicos

Más detalles

INGENIERÍA DE SISTEMAS DE INFORMACIÓN

INGENIERÍA DE SISTEMAS DE INFORMACIÓN Página 1 de 9 GUÍA DOCENTE DE LA ASIGNATURA INGENIERÍA DE SISTEMAS DE INFORMACIÓN MÓDULO MATERIA CURSO SEMESTRE CRÉDITOS TIPO FORMACIÓN DE ESPECIALIDAD 4: SISTEMAS DE INFORMACIÓN SISTEMAS DE INFORMACIÓN

Más detalles

Administración de Conocimiento como soporte al Mantenimiento de Software

Administración de Conocimiento como soporte al Mantenimiento de Software Administración de Conocimiento como soporte al Mantenimiento de Software Oscar M. Rodríguez 1, Ana I. Martínez 1, Jesús Favela 1, Aurora Vizcaíno 2 1 CICESE, Departamento de Ciencias de la Computación,

Más detalles

Patrones de diseño. Sesión 1: Introducción y patrones básicos. Especialista Universitario Java Enterprise

Patrones de diseño. Sesión 1: Introducción y patrones básicos. Especialista Universitario Java Enterprise Sesión 1: Introducción y patrones básicos Titulo Módulo 2006-2007 Depto. Ciencia de la Computación e IA Titulo sesión-1 En el desarrollo de aplicaciones J2EE ( y no J2EE!) se presentan una y otra vez los

Más detalles

El Proceso Unificado Rational para el Desarrollo de Software.

El Proceso Unificado Rational para el Desarrollo de Software. Instituto de Electrónica y Computación El Proceso Unificado Rational para el Desarrollo de Software. Carlos Alberto Fernández y Fernández Huajuapan de León, Oaxaca 26 de octubre de 2000 Objetivo Proporcionar

Más detalles

Arquitectura de Empresa. Visión General

Arquitectura de Empresa. Visión General IX Congreso de Ingeniería de Organización Gijón, 8 y 9 de septiembre de 2005 de Empresa. Visión General Llanos Cuenca González 1, Ángel Ortiz Bas 1, Andrés Boza García 1 1 Centro de Investigación Gestión

Más detalles

área: Sistemas de Información e Ingeniería de Software coordinador del curso: Miguel Torres Propuesta de participación de: Maria Consuelo Franky

área: Sistemas de Información e Ingeniería de Software coordinador del curso: Miguel Torres Propuesta de participación de: Maria Consuelo Franky CURSO: TÓPICOS AVANZADOS EN INGENIERÍA DE SOFTWARE área: Sistemas de Información e Ingeniería de Software coordinador del curso: Miguel Torres Propuesta de participación de: Maria Consuelo Franky lfranky@javeriana.edu.co

Más detalles

Tres pilares para la Implantación de Sistemas

Tres pilares para la Implantación de Sistemas WICC 2012 621 Tres pilares para la Implantación de Sistemas Alicia Mon, Marcelo Estayno, Fernando López Gil, Eduardo De María 1 1 Grupo de Ingeniería de Software (G.I.S.) / Departamento de Sistemas / Universidad

Más detalles

Instituto Tecnológico de Cd. Victoria

Instituto Tecnológico de Cd. Victoria Instituto Tecnológico de Cd. Victoria Maestría en Sistemas Computacionales Nombre de la asignatura: INGENIERÍA DE SOFTWARE ORIENTADA A PROCESOS. Línea de Trabajo: Ingeniería de Software Tiempo de dedicación

Más detalles

PROGRAMA DE DOCTORADO

PROGRAMA DE DOCTORADO PROGRAMA DE DOCTORADO Desarrollo de familias de productos de software desde un enfoque generativo DPTO. DE INGENIERÍA DE SOFTWARE Y SISTEMAS INFORMÁTICOS Tema 1 Introducción Autor: Rubén Heradio Gil Índice

Más detalles

GUÍA DOCENTE DE LA ASIGNATURA

GUÍA DOCENTE DE LA ASIGNATURA GUÍA DOCENTE DE LA ASIGNATURA G658 - Ingeniería del Software I Grado en Ingeniería Informática Obligatoria. Curso 3 Curso Académico 04-05 . DATOS IDENTIFICATIVOS Título/s Grado en Ingeniería Informática

Más detalles

Metodología ETL para el procesamiento de datos en repositorios de proyectos de software usando ontologías

Metodología ETL para el procesamiento de datos en repositorios de proyectos de software usando ontologías Metodología ETL para el procesamiento de datos en repositorios de proyectos de software usando ontologías Moises Gonzalez García Departamento de ingeniería en software CENIDET Cuernavaca Morelos moises@cenidet.edu.mx

Más detalles

SISTEMA DE ACREDITACIÓN. Facultad de Ingeniería Ingeniería de Sistemas

SISTEMA DE ACREDITACIÓN. Facultad de Ingeniería Ingeniería de Sistemas SISTEMA DE ACREDITACIÓN Facultad de Ingeniería Ingeniería de Sistemas FASES Y AGENTES DE LA ACREDITACION Autoevaluación. Evaluación Externa. Evaluación Final. Institución. Pares Académicos. CNA Acto de

Más detalles

Análisis Comparativo de Modelos de Calidad

Análisis Comparativo de Modelos de Calidad Análisis Comparativo de Modelos de Calidad Identificación de Mejores Prácticas para la Gestión de Calidad en Pequeños Entornos Vianca Vega Zepeda Departamento de Ingeniería de Sistemas y Computación Universidad

Más detalles

Curso: PRUEBAS DE SOFTWARE utilizando Integración Contínua

Curso: PRUEBAS DE SOFTWARE utilizando Integración Contínua Curso: PRUEBAS DE SOFTWARE utilizando Integración Contínua PRUEBAS DE SOFTWARE UTILIZANDO INTEGRACIÓN CONTINUA... 1 OBJETIVO... 1 AUDIENCIA... 1 CONTENIDO... 2 BIBLIOGRAFÍA... 2 DOCENTE... 3 MODALIDAD

Más detalles

SYLLABUS NUMERO DE ESTUDIANTES POR GRUPO : 25 GRUPO: II NÚMERO DE CRÉDITOS: 3 TIPO DE CURSO: TEÓRICO PRACTICO TEO-PRAC:

SYLLABUS NUMERO DE ESTUDIANTES POR GRUPO : 25 GRUPO: II NÚMERO DE CRÉDITOS: 3 TIPO DE CURSO: TEÓRICO PRACTICO TEO-PRAC: UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS FACULTAD DE INGENIERIA SYLLABUS ESPECIALIZACION EN INGENIERIA DE SOFTWARE NOMBRE DEL DOCENTE: ALEXANDRA ABUCHAR PORRAS ESPACIO ACADÉMICO (Asignatura): INGENIERÍA

Más detalles

DISEÑO DE APLICACIONES ORIENTADAS A OBJETOS

DISEÑO DE APLICACIONES ORIENTADAS A OBJETOS ASIGNATURA DE GRADO: DISEÑO DE APLICACIONES ORIENTADAS A OBJETOS Curso 2015/2016 (Código:71022011) 1.PRESENTACIÓN DE LA ASIGNATURA El objetivo de esta guía es orientar al alumno en el estudio de la asignatura.

Más detalles

Diseño y Arquitectura de Sistemas de Computación Código: 28

Diseño y Arquitectura de Sistemas de Computación Código: 28 Programa de la Asignatura: Diseño y Arquitectura de Sistemas de Computación Código: 28 Carrera: Ingeniería en Computación Plan: 2013 Carácter: Obligatoria Unidad Académica: Secretaría Académica Curso:

Más detalles

5º SISTEMAS INFORMATICOS III

5º SISTEMAS INFORMATICOS III ASIGNATURA: 5º SISTEMAS INFORMATICOS III Curso 2009/2010 (Código:555046) 1.OBJETIVOS El objetivo de la asignatura es que, mediante la realización de una práctica, el alumno adquiera habilidad en el diseño

Más detalles

Guía Docente Curso 2012-2013

Guía Docente Curso 2012-2013 ESCUELA TÉCNIICA SUPERIIOR DE IINGENIIERÍÍA Guía Docente Curso 2012-2013 Titulación Ingeniería Informática DATOS DE LA ASIGNATURA * * Asignatura en experiencia piloto de implantación del sistema de créditos

Más detalles

MÁSTER UNIVERSITARIO EN INGENIERÍA WEB. Guía de Aprendizaje Información al estudiante

MÁSTER UNIVERSITARIO EN INGENIERÍA WEB. Guía de Aprendizaje Información al estudiante MÁSTER UNIVERSITARIO EN INGENIERÍA WEB Datos Descriptivos Guía de Aprendizaje Información al estudiante Escuela Técnica Superior de Ingeniería de Sistemas Centro responsable Informáticos Titulación: Máster

Más detalles

Resumen. Palabras Claves: J2EE, AJAX, IEEE, GOLD, patrones, análisis, diseño, modelos, persistencia. Abstract

Resumen. Palabras Claves: J2EE, AJAX, IEEE, GOLD, patrones, análisis, diseño, modelos, persistencia. Abstract Implementación de un portal web para la automatización del proceso de consultorías de mentores GOLD de la Región Latinoamericana del IEEE (R9), utilizando arquitectura Java 2 Enterprise Edition - J2EE

Más detalles

SET (Software Engineering Tutor). Una herramienta para la construcción guiada de modelos de dominio

SET (Software Engineering Tutor). Una herramienta para la construcción guiada de modelos de dominio SET (Software Engineering Tutor). Una herramienta para la construcción guiada de modelos de dominio Arturo Cepeda Pérez, Sergio Bravo Martín, Francisco José García Peñalvo Universidad de Salamanca, Facultad

Más detalles

270015 - IES - Introducción a la Ingeniería del Software

270015 - IES - Introducción a la Ingeniería del Software Unidad responsable: 270 - FIB - Facultad de Informática de Barcelona Unidad que imparte: 747 - ESSI - Departamento de Ingenieria de Servicios y Sistemas de Información Curso: Titulación: 2015 GRADO EN

Más detalles

Service Oriented Architecture

Service Oriented Architecture Service Oriented Architecture Isaac Gutiérrez Gómez, Salvador Otón Tortosa Universidad de Alcalá, Departamento de Ciencias de la Computación, 28871 Alcalá de Henares, Spain igutierrez09@yahoo.es, salvador.oton@uah.es

Más detalles

Software Design Description Caracterización de la comunidad. 06/07/2012 Fabián García Ariel López

Software Design Description Caracterización de la comunidad. 06/07/2012 Fabián García Ariel López Software Design Description Caracterización de la comunidad 06/07/2012 Fabián García Ariel López PAGINA DE FIRMAS ALEX LINARES CLIENTE FABIÁN GARCÍA ARIEL LÓPEZ LESMES HISTORIAL DEL CAMBIOS Versión Fecha

Más detalles

Primer Taller sobre Aplicaciones Web para la Gestión de Contenidos

Primer Taller sobre Aplicaciones Web para la Gestión de Contenidos Primer Taller sobre Aplicaciones Web para la Gestión de Contenidos Título: Arquitecturas Orientadas a Servicios en los Sistemas de Gestión de Contenidos. Autor: Keilyn Rodríguez Perojo Institución: INFOMED

Más detalles

DIPLOMADO SQL SERVER 2012

DIPLOMADO SQL SERVER 2012 DIPLOMADO SQL SERVER 2012 NUEVAS HERRAMIENTAS DE DESARROLLO EN SQL SERVER 2012 John Alexander Bulla Torres Regional Mentor PASS LATAM JOHN ALEXANDER BULLA TORRES John es un Ingeniero de Sistemas con énfasis

Más detalles

METODOLOGÍA ÁGIL DE DESARROLLO DE SOFTWARE: UNA PROPUESTA PARA SU APLICACIÓN EN EL ITMH

METODOLOGÍA ÁGIL DE DESARROLLO DE SOFTWARE: UNA PROPUESTA PARA SU APLICACIÓN EN EL ITMH METODOLOGÍA ÁGIL DE DESARROLLO DE SOFTWARE: UNA PROPUESTA PARA SU APLICACIÓN EN EL ITMH Ing. Ivonne Emmanuela Vázquez Méndez, C. Yesenia Guadalupe Balderas Ortigosa, C. Roberto Omar Eguía de León, MC.

Más detalles

Componentes y Middleware. Arquitectura de Software Componentes y Middleware [1] Stakeholders. Sobre el informe. Calidad según los stakeholders

Componentes y Middleware. Arquitectura de Software Componentes y Middleware [1] Stakeholders. Sobre el informe. Calidad según los stakeholders sistema Componentes y Middleware Arquitectura de Software Componentes y Middleware [1] Componentes Middleware Políticas y mecanismos Ejemplo de notación ad-hoc Hernán Astudillo Departamento de Informática

Más detalles

Val IT 1 y 2. Javier Garzás, Daniel Cabrero

Val IT 1 y 2. Javier Garzás, Daniel Cabrero Val IT 1 y 2 Javier Garzás, Daniel Cabrero Las organizaciones continúan realizando inversiones significativas en TSI (Tecnologías y Sistemas de Información), ya que pocas podrían llevar a cabo sus operaciones

Más detalles

Arquitectura de Software Componentes y Middleware [1] Componentes y Middleware. Sobre el informe

Arquitectura de Software Componentes y Middleware [1] Componentes y Middleware. Sobre el informe Arquitectura de Software Componentes y Middleware [1] Hernán Astudillo Departamento de Informática Universidad Técnica Federico Santa María Componentes y Middleware Componentes Middleware

Más detalles

Tecnología de objetos distribuidos y arquitectura de componentes. Índice. Bibliografía. Introducción. Tema V

Tecnología de objetos distribuidos y arquitectura de componentes. Índice. Bibliografía. Introducción. Tema V Bibliografía Tema V Tecnología de objetos distribuidos y arquitectura de componentes. Szyperski, C. 1998. Component Software. Addison-Wesley. Ruiz Cortés, 1998. A. CORBA: Una visión general. http://www.lsi.us.es/~aruiz

Más detalles

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS FACULTAD INGENIERÍA PROYECTO CURRICULAR MAESTRÍA EN CIENCIAS DE LA INFORMACIÓN Y LAS COMUNICACIONES

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS FACULTAD INGENIERÍA PROYECTO CURRICULAR MAESTRÍA EN CIENCIAS DE LA INFORMACIÓN Y LAS COMUNICACIONES UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS FACULTAD INGENIERÍA PROYECTO CURRICULAR MAESTRÍA EN CIENCIAS DE LA INFORMACIÓN Y LAS COMUNICACIONES SYLLABUS INGENIERÍA DE SOFTWARE NOMBRE DEL DOCENTE: HENRY

Más detalles

Este trabajo de grado se publica en homenaje póstumo a Juan Carlos Huertas Amaya, quien fuera nuestro permanente colaborador*.

Este trabajo de grado se publica en homenaje póstumo a Juan Carlos Huertas Amaya, quien fuera nuestro permanente colaborador*. Modelo de gestión de servicios PKI Este trabajo de grado se publica en homenaje póstumo a Juan Carlos Huertas Amaya, quien fuera nuestro permanente colaborador*. Diana Carolina Valbuena P. Edgar Hernán

Más detalles

DESARROLLO DE SOFTWARE

DESARROLLO DE SOFTWARE Página 1de 10 GUIA DOCENTE DE LA ASIGNATURA DESARROLLO DE SOFTWARE MÓDULO MATERIA CURSO SEMESTRE CRÉDITOS TIPO Formación de Desarrollo y Especialidad 2: Ingeniería del Software Gestión de Proyectos 3º

Más detalles

Modelando Interfaces para Aplicaciones Web

Modelando Interfaces para Aplicaciones Web Modelando Interfaces para Aplicaciones Web Luis A. Guerrero Departamento de Ciencias de la Computación Universidad de Chile Blanco Encalada 2120, Santiago, Chile luis.guerrero@dcc.uchile.cl Abstract. Muy

Más detalles

Definición de un Proceso de Implantación de Sistemas

Definición de un Proceso de Implantación de Sistemas Definición de un Proceso de Implantación de Sistemas Alicia Mon, Marcelo Estayno, Fernando López Gil, Eduardo De María 1 1 Grupo de Ingeniería de Software (G.I.S.) / Departamento de Sistemas / Universidad

Más detalles

Redalyc. Giraldo G., Gloria L.; Acevedo O., Juan F.; Moreno N., David A.

Redalyc. Giraldo G., Gloria L.; Acevedo O., Juan F.; Moreno N., David A. Redalyc Sistema de Información Científica Red de Revistas Científicas de América Latina, el Caribe, España y Portugal Giraldo G., Gloria L.; Acevedo O., Juan F.; Moreno N., David A. Una ontología para

Más detalles

Estilos y Patrones Arquitectónicos

Estilos y Patrones Arquitectónicos Lic. Ariel Trellini Estilos y Patrones Arquitectónicos Llamando a las cosas por su nombre Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Arquitectura y Diseño de Sistemas

Más detalles

Patrones de diseño. Programación III.I.T.I. de Sistemas. Contenidos. Información sobre patrones de diseño. Motivación.

Patrones de diseño. Programación III.I.T.I. de Sistemas. Contenidos. Información sobre patrones de diseño. Motivación. Departamento de Informática Universidad de Valladolid Programación III.I.T.I. de Sistemas Patrones 1 Contenidos Programación III.I.T.I. de Sistemas Patrones de diseño Patrones de diseño Introducción Conceptos

Más detalles

Documentando la arquitectura de software Principios básicos por Omar Gómez

Documentando la arquitectura de software Principios básicos por Omar Gómez Documentando la arquitectura de software Principios básicos por Omar Gómez En la actualidad, uno de los temas candentes que se habla dentro de la comunidad de desarrollo de software es el referente a las

Más detalles

Validación y Pruebas «Validating and testing»

Validación y Pruebas «Validating and testing» GUÍA DOCENTE 2014-2015 Validación y Pruebas «Validating and testing» 1. Denominación de la asignatura: Validación y Pruebas «Validating and testing» Titulación Grado en Ingeniería Informática «Degree in

Más detalles