Técnicas de Diseño

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

Download "Técnicas de Diseño"

Transcripción

1 Técnicas de Diseño

2 Introducción Motivación o Algunos puntos claves: qué es? quién lo escribió? qué parte del software es la más compleja? o Metodologías ágiles o Lenguaje ubicuo Patrones propuestos o Aislar el dominio: arquitectura en capas. o Entity o Value Object o Services o Repositories o Factories o Specification

3 DDD o Domain Driven Design por Eric Evans en Objetivos: o Modelar el dominio siguiendo unos principios básicos. o Hablar utilizando términos del dominio. o Dar un framework para los desarrolladores. La mayor complejidad del desarrollo se encuentra en el modelado del dominio.

4 Considerar el modelado del dominio como algo no trivial. Estar interesado en el diseño orientado a objetos. Trabajar con iteraciones Interacción directa entre desarrollador y experto de dominio DDD no se lleva bien con metodologías noagiles.

5 Que todo el equipo use los mismos términos. Y que esos términos pertenezcan al dominio que se intenta modelar. Hablar con los expertos en el dominio y entender/usar los términos que ellos usan. No usar un doble lenguaje: uno con los expertos y otro en el equipo.

6 El objetivo es reducir la complejidad al modelar un dominio. Utilizando patrones que aplican para el contexto en el que estamos. No usarlos como receta sino cuando aplican (no hay silver bullet). Si el dominio en sí mismo es complejo, no agregarle más complejidad! (p.ej: persistencia fuera del dominio). Aislar al dominio de la infraestructura.

7 Utilizar arquitectura en capas para aislar al dominio de la infraestructura y permitir que distintos conceptos vayan en lugares separados.

8 Concepto clave en DDD. Una entidad es un objeto que no está definido por sus atributos sino por su identidad. La identidad debe conservarse incluso cuando el objeto se persista o se transmita por algún medio. Deben poder ser identificadas de alguna forma. Determinar si un objeto es una entidad depende exclusivamente del modelo. Las entidades poseen un ciclo de vida y generalmente pasan por una serie de estados.

9 Las entidades deben poseer un menanismo de identificación único: ej: id generado por db, id generado por usuario, uuid, etc. Sus operaciones equals/hashcode o similares se basan en su ID y no en sus atributos. Una entidad no debería poder construirse sin su id. La dejaría en un estado inválido. Ejemplos de entidad: Cliente, Cuenta Corriente, Usuario, etc.

10 No todo es una entidad. Llevar rastro de entidades es costoso: tienen id único y ciclo de vida. Más difícil armar un modelo mental si todo es entidad. Un value object es un objeto que es definido solo por sus atributos. Dos value objects con los mismos atributos "son el mismo".

11 Son objetos que describen cosas y no poseen identidad. Ejemplos? o Strings, Integer, Float. Nos importa que instancia tenemos? No son solo "structs" con atributos, getters y setters. Deberían tener comportamiento.

12 Foco en la inmutabilidad. Una vez construídos no cambiarán más. Son volátiles: los podemos "tirar" cuando no los necesitamos más. Que problemas se presentarían si tuviésemos un contexto así?

13 A veces: ni entity ni value object. Operaciones que no corresponden a ningún objeto... dónde van? Forzarlas dejarían un objeto con muchas responsabilidades. Operaciones que involucran objetos del dominio pueden ser implementadas en un service... Pero no poner reglas de negocio en él, ellas van en los objetos. No terminar con objetos llamados "AlgoManager", nos indica que alguna regla se filtró.

14 Los services no tienen estado. Actúan en base a los parámetros que reciben. Son llamados como actividad y no como sustantivo.

15 El costo de entrega depende de la dirección de entrega, país, etc. Necesita conectarse con la empresa de entregas para saber el costo. Esconderlo en un service.

16 Para poner el modelo a funcionar necesitamos un primer objeto, de dónde lo sacamos? Liberar al cliente de saber como recuperar instancias desde la persistencia. El repositorio encapsula los mecanismos. Que diferencias hay con el patrón DAO (Data Access Object)? El repositorio es parte del dominio, la implementación es parte de la infraestructura.

17 Permite traer objetos que respondan a diversos criterios e incluso realizar cálculos. No resolver todo con repositorios, sino el modelo se volvería irrelevante. Se comporta como un set de objetos persistidos. Se usa en conjunto con el patrón Factory... Recupear un objeto de la db no es lo mismo que crear uno nuevo...

18 Una posible arquitectura.

19 Buscan atacar la complejidad: los objetos del dominio son complejos ya que tienen responsabilidades y deben mantener los invariantes (reglas de negocio). Si les sumamos que se construyan ellos mismos... no es hacerlos más complejos? Extraer la complejidad en una fábrica. Aliviar al cliente en el ensamblaje de los objetos. Usar fábricas para construir objetos nuevos... y que hacemos con los objetos persistidos? o Pueden haber violaciones a reglas de negocio. o Definir estrategias para superarlas.

20 Tiene como objetivo comunicar mejor las reglas de negocio de un dominio. Encapsula un testeo lógico y responde a la pregunta: esto valida? Puede usarse junto con repositorios para obtener una colección que valida un predicado.

21 Comunica con énfasis una regla importante para el dominio:

22 Una buena herramienta para usar ya que define una base de conceptos de los que se puede discutir. El equipo debe estar comprometido para que se observen buenos resultados. Se necesita implementar refactoring cuando se gana conocimiento del dominio.

23

24 Mauro Ciancio

Persistencia en Sistemas O.O.

Persistencia en Sistemas O.O. Persistencia en Sistemas O.O. Taller de Programación Instituto de Computación Facultad de Ingeniería Universidad de la República Contenido Conceptos básicos Definición y motivación de persistencia Mecanismo

Más detalles

Específicamente los elementos de un patrón de diseño son [ 3 ] :

Específicamente los elementos de un patrón de diseño son [ 3 ] : Patrones de Diseño Marco Teórico Introductorio Diego Andrés Asenjo González Alejandro Ríos Peña Contenido Qué son los patrones de Diseño?...1 Clasificación de los patrones de diseño...3 Patrones de Creación.....4

Más detalles

Tema 5: Modelo del dominio y persistencia de datos. Parte II: Modelo del dominio y Lógica de negocio

Tema 5: Modelo del dominio y persistencia de datos. Parte II: Modelo del dominio y Lógica de negocio Tema 5: Modelo del dominio y persistencia de datos! Parte II: Modelo del dominio y Lógica de negocio Capa de lógica de negocio Es el núcleo de nuestra aplicación, y lo que la hace distinta del resto Lo

Más detalles

Unidad 2. Elementos Intermedios del Lenguaje

Unidad 2. Elementos Intermedios del Lenguaje Unidad 2 Elementos Intermedios del Lenguaje Paradigmas de Programación Un paradigma de programación se refiere a la forma en que se entiende, diseña y desarrolla una aplicación Imperativo Declarativo Funcional

Más detalles

MVC (Model-View-Controller)

MVC (Model-View-Controller) MVC (Model-View-Controller) (...o la forma de traer orden al caos...) (BORRADOR) Universidad de los Andes Demián Gutierrez Diciembre 2010 1 MVC: Modelo Vista Controlador? Desarrollado / Ideado originalmente

Más detalles

Tema 1. Introducción al Paradigma Orientado a Objetos

Tema 1. Introducción al Paradigma Orientado a Objetos Tema 1. Introducción al Paradigma Orientado a Objetos Objetivo: El alumno se familiarizará con los conceptos básicos de la teoría de Orientación a objetos. 1 Introducción al Paradigma Orientado a Objetos

Más detalles

BANCO DE PREGUNTAS PARA EVALUACIÓN DE CONOCIMENTOS DEL CONCURSO DE MÉRITOS Y OPOSICIÓN

BANCO DE PREGUNTAS PARA EVALUACIÓN DE CONOCIMENTOS DEL CONCURSO DE MÉRITOS Y OPOSICIÓN BANCO DE PREGUNTAS PARA EVALUACIÓN DE CONOCIMENTOS DEL CONCURSO DE MÉRITOS Y OPOSICIÓN DIRECCION NACIONAL DE LOS SISTEMAS DE INFORMACION DE LAS FINANZAS PUBLICAS ANALISTA 3 DE LOS SISTEMAS DE INFORMACION

Más detalles

Arquitectura por capas. Garcia Jeisson Medina Christian Ramírez Juan

Arquitectura por capas. Garcia Jeisson Medina Christian Ramírez Juan Arquitectura por capas Garcia Jeisson Medina Christian Ramírez Juan Contenido Qué es? Ventajas y desventajas? Casos de ejemplo Tektronix, INC Video streaming Laboratorio remoto de robótica 2 Introducción

Más detalles

HIBERNATE. Universidad Nacional de Jujuy Analista Programador Universitario JTP Jorge R. Mendoza Año 2010

HIBERNATE. Universidad Nacional de Jujuy Analista Programador Universitario JTP Jorge R. Mendoza Año 2010 HIBERNATE Universidad Nacional de Jujuy Analista Programador Universitario JTP Jorge R. Mendoza Año 2010 HIBERNATE El trabajar con software orientado a objetos y con una base de datos relacional puede

Más detalles

Desarrollo Orientado a Objetos basado en UML

Desarrollo Orientado a Objetos basado en UML Desarrollo Orientado a Objetos basado en UML Proceso de Desarrollo Qué es? Un proceso de desarrollo de software describe un enfoque para construir, instalar y mantener sistemas de software Por qué necesitamos

Más detalles

PATRONES DE DISEÑO FRAMEWORKS

PATRONES DE DISEÑO FRAMEWORKS PATRONES DE FRAMEWORKS Definiciones Finalidades Características Diseño de software basado en patrones Descripción Utilización de los patrones en el diseño Clasificación FRAMEWORKS Basado en la reutilización

Más detalles

Capacitación Tecnológica Científica para Bolivia. Programación Orientada a Objetos en Java

Capacitación Tecnológica Científica para Bolivia. Programación Orientada a Objetos en Java Catecbol Capacitación Tecnológica Científica para Bolivia www.catecbol.com facebook.com/catecbol @catecbol catecbol@gmail.com Programación Orientada a Objetos en Java Saúl Medrano Estados Unidos La unión

Más detalles

Clases (construcción)

Clases (construcción) Clases (construcción) Carlos Fontela cfontela@fi.uba.ar Temario Implementación de clases Atributos Métodos y propiedades Constructores Excepciones Diseño contractual TDD o diseño guiado por las pruebas

Más detalles

Tema 4e: Proceso Unificado: Análisis

Tema 4e: Proceso Unificado: Análisis Tema 4e: Proceso Unificado: Análisis Marcos López Sanz Índice Visión general Diagramas UML Artefactos Modelo de análisis Clases de análisis Realización en análisis de los casos de uso Paquetes de análisis

Más detalles

Diseño de la Arquitectura Lógica con Patrones. mayo de 2008

Diseño de la Arquitectura Lógica con Patrones. mayo de 2008 Diseño de la Arquitectura Lógica con Patrones mayo de 2008 Agenda Definición de Arquitectura Dimensiones de Arquitectura Categorías de Patrones Patrón de Arquitectura Organización de Paquetes Análisis

Más detalles

Sistemas de Información II. Análisis de Sistemas Orientado a Objetos

Sistemas de Información II. Análisis de Sistemas Orientado a Objetos Análisis de Sistemas Orientado a Objetos El Proceso Unificado Concepción Elaboración Construcción Transición Modelado del Negocio Requerimientos Análisis y Diseño Implementación Prueba Implantación Admón.

Más detalles

Pruebas de Software. Agenda. Pruebas de Programas Los Niveles de Prueba Diseño de Casos de Prueba

Pruebas de Software. Agenda. Pruebas de Programas Los Niveles de Prueba Diseño de Casos de Prueba Pruebas de Software R. Casallas Dpto. de Ingeniería de Sistemas y Computación Universidad de los Andes 1 Agenda Pruebas de Programas Los Niveles de Prueba Diseño de Casos de Prueba 2 1 Pruebas de Programas

Más detalles

Master Microsoft Visual Studio.NET 2010 Desarrollo de aplicaciones

Master Microsoft Visual Studio.NET 2010 Desarrollo de aplicaciones MICVSNETb Master Microsoft Visual Studio.NET 2010 Desarrollo de aplicaciones Fabricante: Microsoft Grupo: Desarrollo Subgrupo: Microsoft Visual Studio 2010 Formación: Master Horas: 90 Introducción Dentro

Más detalles

Patrones de Diseño. (...o bien, que tiene que ver la costura con el software...) Universidad de los Andes Demián Gutierrez Marzo

Patrones de Diseño. (...o bien, que tiene que ver la costura con el software...) Universidad de los Andes Demián Gutierrez Marzo Patrones de Diseño (...o bien, que tiene que ver la costura con el software...) Universidad de los Andes Demián Gutierrez Marzo 2010 1 Diseño Arquitectónico Diseño Arquitectónico Arquitectura del Software

Más detalles

Abriendo la caja de herramientas

Abriendo la caja de herramientas Fundación SOCINFO TIC y Profesionales para la Transformación Digital de la Universidad (12) Mayo 2016 Abriendo la caja de herramientas Dra. Mª del Carmen Romero Ternero (estrategiadigital@us.es, @mcromerot)

Más detalles

Modelado Estructural F E B R E R O,

Modelado Estructural F E B R E R O, Modelado Estructural F E B R E R O, 2 0 1 4 Modelado Estructural Sirve para describir los diferentes tipos y relaciones estáticas existentes entre los diferentes objetos de un sistema. A la hora de desarrollar

Más detalles

UML (Unified Modeling Language) Octubre de 2007

UML (Unified Modeling Language) Octubre de 2007 UML (Unified Modeling Language) Octubre de 2007 UML un modelo o pieza de información producido en el proceso de desarrollo de software Un lenguaje para especificar, visualizar y construir artefactos de

Más detalles

Programación Orientada a Objetos Profr. Pedro Pablo Mayorga

Programación Orientada a Objetos Profr. Pedro Pablo Mayorga Actividad 3 Historia de los paradigmas de programación Unidad 1 Paradigma de programación Un paradigma de programación representa un enfoque particular o filosofía para la construcción del software. No

Más detalles

CLASE 3: UML DIAGRAMAS CASOS DE USO. Universidad Simón Bolívar. Ingeniería de Software. Prof. Ivette Martínez

CLASE 3: UML DIAGRAMAS CASOS DE USO. Universidad Simón Bolívar. Ingeniería de Software. Prof. Ivette Martínez CLASE 3: UML DIAGRAMAS CASOS DE USO Universidad Simón Bolívar. Ingeniería de Software. Prof. Ivette Martínez UML UML es un lenguaje para especificar, visualizar, construir y documentar los artefactos de

Más detalles

Guía del Curso Analista Programador Java: Business Apps Expert

Guía del Curso Analista Programador Java: Business Apps Expert Guía del Curso Analista Programador Java: Business Apps Expert Modalidad de realización del curso: Número de Horas: Titulación: Online 600 Horas Diploma acreditativo con las horas del curso OBJETIVOS UML

Más detalles

Conceptos Básicos. Programación Orientada a Objetos 2

Conceptos Básicos. Programación Orientada a Objetos 2 Programación Orientada a Objetos Conceptos Básicos de Objetos Ing. Julio Ernesto Carreño Vargas MsC. Conceptos Básicos Las aproximaciones ADOO y POO, proveen a los objetos como el principal medio para

Más detalles

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA)

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA) UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA) FACULTAD DE INGENIERIA DE SISTEMAS E INFORMATICA ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS 1. INFORMACIÓN GENERAL

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS. Dr. Noé Alejandro Castro Sánchez

PROGRAMACIÓN ORIENTADA A OBJETOS. Dr. Noé Alejandro Castro Sánchez PROGRAMACIÓN ORIENTADA A OBJETOS Dr. Noé Alejandro Castro Sánchez Introducción Nueva filosofía para resolución de problemas: Descomposición de la realidad en objetos. Objetos: representación de entidades

Más detalles

Unidad 1. Análisis de Algoritmos. Ing. Leonardo R. L. Estructura de datos - Generalidades Unidad I Pág 1

Unidad 1. Análisis de Algoritmos. Ing. Leonardo R. L. Estructura de datos - Generalidades Unidad I Pág 1 Unidad 1 Análisis de Algoritmos Ing. Leonardo R. L. Estructura de datos - Generalidades Unidad I Pág 1 GENERALIDADES Qué se necesita para escribir un programa eficiente? Para diseñar programas eficientes

Más detalles

Ingeniería de Software.

Ingeniería de Software. Ingeniería de Software. Disciplina de Análisis. Construcción del Modelo Conceptual del Sistema. Ingeniería de Software. Modelo Conceptual del Sistema Página 0 Mapa del Proceso. Ingeniería de Software.

Más detalles

Formatos para prácticas de laboratorio

Formatos para prácticas de laboratorio Fecha de efectividad: 2009-2 CARRERA PLAN DE ESTUDIO CLAVE ASIGNATURA NOMBRE DE LA ASIGNATURA LSC 03-1 5224 Análisis y Diseño de Sistemas de Información PRÁCTICA No. LABORATORIO DE NOMBRE DE LA PRÁCTICA

Más detalles

Capitulo 2. Marco Teórico

Capitulo 2. Marco Teórico Capitulo 2. Marco Teórico En el presente capítulo se describirán los conceptos utilizados para el desarrollo de ésta tesis. Entre los conceptos a mencionar se encuentran Patrones de Diseño, los Principios

Más detalles

Diseño: Arquitectura de Software. IF 7100 Ingeniería del Software

Diseño: Arquitectura de Software. IF 7100 Ingeniería del Software Diseño: Arquitectura de Software IF 7100 Ingeniería del Software 1 Qué es arquitectura de software? Es la definición de una solución estructurada que cumpla todos los requerimientos técnicos y operacionales,

Más detalles

Data Source. Lic. Esteban Calabria 2007

Data Source. Lic. Esteban Calabria 2007 Data Source Lic. Esteban Calabria 2007 Layer Data Source Los sistemas raramente viven aislados del mundo. La responsabilidad de la capa Data Source es manejar la comunicación del nuestro sistema con otros.

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

Programación Orientada a Objetos

Programación Orientada a Objetos Programación Orientada a Objetos Clases, herencia y contención Programación Avanzada 7 de agosto de 2017 Contenido Introducción Contenido Introducción Introducción al DOO Contenido Introducción Introducción

Más detalles

CC Taller de UML Apuntes de Clase. Prof. Andrés Muñoz Ordenes 9 de mayo de 2012

CC Taller de UML Apuntes de Clase. Prof. Andrés Muñoz Ordenes 9 de mayo de 2012 CC5404 - Taller de UML Apuntes de Clase Prof. Andrés Muñoz Ordenes 9 de mayo de 2012 Agenda Motivación Actividad en Clase Continuación Modelo de Análisis Diagrama de Interacción Características Notación

Más detalles

ANEXO 1. RESOLUCIÓN DE PROBLEMAS DE SIMULACIÓN Y OPTIMIZACIÓN CON RISK SOLVER PLATFORM

ANEXO 1. RESOLUCIÓN DE PROBLEMAS DE SIMULACIÓN Y OPTIMIZACIÓN CON RISK SOLVER PLATFORM ANEXO 1. RESOLUCIÓN DE PROBLEMAS DE SIMULACIÓN Y OPTIMIZACIÓN CON RISK SOLVER PLATFORM La definición del un modelo de resolución en Risk Solver Platform de Excel no tiene porque resultar una tarea complicada.

Más detalles

Conceptos. ELO329: Diseño y Programación Orientados a Objetos. ELO 329: Diseño y Programación Orientados a Objetos 1

Conceptos. ELO329: Diseño y Programación Orientados a Objetos. ELO 329: Diseño y Programación Orientados a Objetos 1 Conceptos ELO329: Diseño y Programación Orientados a Objetos ELO 329: Diseño y Programación Orientados a Objetos 1 Paradigmas de Programación Historia: Los computadores parten cableados por hardware, Luego

Más detalles

Edwin Andrés Cubillos Vega

Edwin Andrés Cubillos Vega PROGRAMACION ORIENTADA A OBJETOS Edwin Andrés Cubillos Vega Company LOGO Contenido Introducción Clases y Objetos Herencia Constructores y Destructores Polimorfismo Contenido Introducción Clases y Objetos

Más detalles

MODULO IV. Análisis y Diseño de Sistemas de Información INF-162 II. METODOLOGIAS. Análisis y Diseño OO. Facilitador: Miguel Cotaña

MODULO IV. Análisis y Diseño de Sistemas de Información INF-162 II. METODOLOGIAS. Análisis y Diseño OO. Facilitador: Miguel Cotaña MODULO IV Análisis y Diseño de Sistemas de Información INF-162 II. METODOLOGIAS Análisis y Diseño OO Facilitador: Miguel Cotaña 1 INTRODUCCION METODO: Es un proceso disciplinado para generar un conjunto

Más detalles

PLANIFICACIÓN DE LA DOCENCIA UNIVERSITARIA GUÍA DOCENTE. Diseño de software y metodologías de desarrollo

PLANIFICACIÓN DE LA DOCENCIA UNIVERSITARIA GUÍA DOCENTE. Diseño de software y metodologías de desarrollo CENTRO UNIVERSITARIO DE TECNOLOGÍA Y ARTE DIGITAL PLANIFICACIÓN DE LA DOCENCIA UNIVERSITARIA GUÍA DOCENTE Diseño de software y metodologías de desarrollo 1. DATOS DE IDENTIFICACIÓN DE LA ASIGNATURA. Título:

Más detalles

DISEÑAR APLIC I ACIO I N O ES 1

DISEÑAR APLIC I ACIO I N O ES 1 DISEÑAR APLICACIONES 1 El análisis y diseño de sistemas de software es un área amplia y compleja. En este capítulo se expone una pequeña introducción a la metodología de análisis y diseño. El estudio detallado

Más detalles

Horas Contacto. Objetivos Se pretende que el estudiante asimile los conceptos fundamentales de análisis y diseño orientado a objetos

Horas Contacto. Objetivos Se pretende que el estudiante asimile los conceptos fundamentales de análisis y diseño orientado a objetos FACULTAD DE INGENIERIA DEPARTAMENTO DE INGENIERIA DE SISTEMAS Nombre de la asignatura (Curso) Código de la asignatura (ID Curso) Análisis y Diseño Orientado a Objetos 4183 Fecha de Actualización Julio

Más detalles

Internet está evolucionando

Internet está evolucionando JSON API Drupal 8 Internet está evolucionando Los Websites son cada vez más interactivos. Se requiere integración entre la información procedente de diferentes medios. Está evolucionando las aplicaciones

Más detalles

UML Unifield Modeling Languaje

UML Unifield Modeling Languaje UML Unifield Modeling Languaje 1 Modelo: Representación abstracta de una especificación, un diseño o un sistema. Generalmente, basada en una visión particular y compuesta por uno o más diagramas. Lenguaje

Más detalles

INC SATCA: Carrera: La aportación que esta asignatura le da al perfil profesional es la siguiente:

INC SATCA: Carrera: La aportación que esta asignatura le da al perfil profesional es la siguiente: 1. Datos Generales de la asignatura Nombre de la asignatura: Clave de la asignatura: SATCA: Carrera: Desarrollo de Proyectos de Software II INC-1702 2-2-4 Ingeniería en Sistemas Computacionales 2. Presentación

Más detalles

Modelo de Desarrollo en Capas para VB. NET

Modelo de Desarrollo en Capas para VB. NET Modelo de Desarrollo en Capas para VB. NET Cuando se construye software como producto empresarial o comercial, se llevan a cabo varias técnicas de manera que el desarrollo se haga en forma ordenada y así

Más detalles

Implementación de Componentes

Implementación de Componentes Implementación de Componentes Concepto Un componente es una parte no trivial, casi independiente, y reemplazable de un sistema que llena claramente una funcionalidad dentro de un contexto en una arquitectura

Más detalles

Persistencia en BD. Instituto de Computación Facultad de Ingeniería Universidad de la República

Persistencia en BD. Instituto de Computación Facultad de Ingeniería Universidad de la República Persistencia en BD Instituto de Computación Facultad de Ingeniería Universidad de la República Agenda Destinos y mecanismos de persistencia Acceso directo a la BD Java Data Base Connectivity (JDBC) Impedance

Más detalles

CALIDAD DE SISTEMAS DE INFORMACIÓN WEB. Introducción a los métodos de evaluación de arquitecturas

CALIDAD DE SISTEMAS DE INFORMACIÓN WEB. Introducción a los métodos de evaluación de arquitecturas CALIDAD DE SISTEMAS DE INFORMACIÓN WEB Introducción a los métodos de evaluación de arquitecturas Evaluación de Arquitecturas Software 2 Contenido de la Sesión Inicial Introducción a la evaluación de arquitecturas

Más detalles

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA)

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA) UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA) FACULTAD DE INGENIERIA DE SISTEMAS E INFORMATICA ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS 1. INFORMACIÓN GENERAL

Más detalles

Modelos de Datos y DBMS. Referencia. Elmasri Navathe. Temas:

Modelos de Datos y DBMS. Referencia. Elmasri Navathe. Temas: Modelos de Datos y DBMS Temas: - Modelos de Datos. - Esquemas e Instancias. - Arquitectura lógica de DBMS. - Lenguajes e Interfaces en BDs. - Estructura básica de DBMSs. In.Co. - Facultad de Ingeniería

Más detalles

Análisis y Diseño Orientado a Objetos. 2 - Análisis

Análisis y Diseño Orientado a Objetos. 2 - Análisis Análisis y Diseño Orientado a Objetos 2 - Análisis El proceso unificado de desarrollo, Ivar Jacobson, Grady Booch, James Rumbaugh, Ed. Addison Wesley, 1999 The unified software development process, Ivar

Más detalles

Programación Avanzada. Desarrollo Orientado a Objetos basado en UML

Programación Avanzada. Desarrollo Orientado a Objetos basado en UML Programación Avanzada Desarrollo Orientado a Objetos basado en UML Proceso de Desarrollo Qué es? Un proceso de desarrollo de software describe un enfoque para construir, instalar y mantener sistemas de

Más detalles

Introducción histórica

Introducción histórica Mario González Agenda Introducción histórica Qué es la arquitectura de software? Arquitectura y sus efectos en los Stakeholders Estructuras arquitectónicas Vista lógica Vista de código Vista de desarrollo

Más detalles

UML (Lenguaje de Modelado Unificado) y Diagramas de Casos de Uso

UML (Lenguaje de Modelado Unificado) y Diagramas de Casos de Uso UML (Lenguaje de Modelado Unificado) y Diagramas de Casos de Uso Los sistemas orientados a objetos describen las entidades como objetos. Los objetos son parte de un concepto general denominado clases.

Más detalles

Transformaciones entre el modelo Relacional y el modelo de Clases.

Transformaciones entre el modelo Relacional y el modelo de Clases. Gestión de la Información Transformaciones entre el modelo Relacional y el modelo de Clases. José Luis Pastrana Brincones (pastrana@lcc.uma.es) 2 Supongamos que tenemos un modelo de objetos como el siguiente:

Más detalles

Applying UML and Patterns Capítulos 18, 19, 20 y 21

Applying UML and Patterns Capítulos 18, 19, 20 y 21 Applying UML and Patterns Capítulos 18, 19, 20 y 21 ALEJANDRO ZAPATA SÁNCHEZ CINVESTAV-Tamaulipas 17 de Octubre del 2012 ALEJANDRO ZAPATA SÁNCHEZ (CINVESTAV) Capítulos 18, 19, 20 y 21 17 de Octubre del

Más detalles

1. Asignar Responsabilidades a componentes de software es la habilidad más importante del AOO. Porque:

1. Asignar Responsabilidades a componentes de software es la habilidad más importante del AOO. Porque: Análisis y Diseño O.O. Preguntas del diseño : Cómo podrían asignarse responsabilidades a las clases de los objetos? Cómo podrían interactuar los objetos? Qué deberían hacer las clases? Patrones : Ciertas

Más detalles

Published on Marco de Desarrollo de la Junta de Andalucía (http://madeja.i-administracion.juntaandalucia.es/servicios/madeja)

Published on Marco de Desarrollo de la Junta de Andalucía (http://madeja.i-administracion.juntaandalucia.es/servicios/madeja) Published on Marco de Desarrollo de la Junta de Andalucía (http://madeja.i-administracion.juntaandalucia.es/servicios/madeja) Análisis del Sistema Área: Ingeniería de requisitos Carácter del recurso: Recomendado

Más detalles

Documento de Arquitectura

Documento de Arquitectura Documento de Arquitectura Arquitectura Global La estructura global del programa se basa en el patrón arquitectónico, MVC. Cómo se observa en la imagen. cmp Modelo de Componentes Modelo Controlador ofrece

Más detalles

CLASE 9: DISEÑO CON PATRONES. Universidad Simón Bolívar. Ing. de Software. Prof. Ivette C. Martínez

CLASE 9: DISEÑO CON PATRONES. Universidad Simón Bolívar. Ing. de Software. Prof. Ivette C. Martínez CLASE 9: DISEÑO CON PATRONES Universidad Simón Bolívar. Ing. de Software. Prof. Ivette C. Martínez Diseño de Objetos Identificar requerimientos, crear un modelo del dominio, agregar métodos a las clases

Más detalles

Metodologías para Sistemas Multi-agente

Metodologías para Sistemas Multi-agente Metodologías para Sistemas Multi-agente Curso Doctorado Sistemas Multi-agente Índice Conceptos. Introducción Metodologías BDI GAIA AUML Message Conclusiones 1 Conceptos. Introducción Modelar sistemas reales

Más detalles

Programación. Orientada a Objetos. Prof. Angela Di Serio. Universidad Simón Bolívar Especialización en Telemática

Programación. Orientada a Objetos. Prof. Angela Di Serio. Universidad Simón Bolívar Especialización en Telemática Programación Orientada a Objetos Prof. Angela Di Serio Universidad Simón Bolívar Especialización en Telemática Agenda Clase 2 Qué es Orientado a Objetos? Conceptos: objeto, clase, instancias, mensajes

Más detalles

A3F. Objetos (uso) Carlos Fontela

A3F. Objetos (uso) Carlos Fontela Objetos (uso) Carlos Fontela cfontela@fi.uba.ar Temario Objetos y mensajes Objetos y clases Estado, comportamiento, identidad Historia hacia la POO POO vs. procedural 2c2009 2 Operando sobre objetos (Smalltalk)

Más detalles

Programación Orientada a Objetos 2

Programación Orientada a Objetos 2 Programación Orientada a Objetos Aplicaciones Java Ing. Julio Ernesto Carreño Vargas MsC. Aplicaciones Java Ingeniería de Sofwatre Patrones: MVC Programación Orientada a Objetos 2 1 Ingeniería de Software

Más detalles

Principios de Análisis Informático. Tema 3: Fase de inicio

Principios de Análisis Informático. Tema 3: Fase de inicio Principios de Análisis Informático Tema 3: Fase de inicio Eduardo Mosqueira Rey LIDIA Laboratorio de Investigación y desarrollo en Inteligencia Artificial Departamento de Computación Universidade da Coruña,

Más detalles

Persistencia. Sesión 4: Persistencia en ios. User Defaults y Core Data. Experto en Desarrollo de Aplicaciones para Dispositivos Móviles

Persistencia. Sesión 4: Persistencia en ios. User Defaults y Core Data. Experto en Desarrollo de Aplicaciones para Dispositivos Móviles Persistencia Sesión 4: Persistencia en ios. User Defaults y Core Data 2012-13 Depto. Ciencia de la Computación e IA Índice de contenidos User Defaults Introducción Escritura Lectura Preferencias de aplicación

Más detalles

Fecha de elaboración: Julio de 2010 Fecha de última actualización:

Fecha de elaboración: Julio de 2010 Fecha de última actualización: PROGRAMA DE ESTUDIO Análisis y Diseño Orientado a Objetos Programa Educativo: Licenciatura en Ciencias Computacionales Sustantiva Área a la que pertenece : Horas teóricas: 2 Horas prácticas: 4 Total de

Más detalles

Documentar variabilidad de requisitos en fabricas software Ildefonso Montero Pérez Sergio Segura Rueda

Documentar variabilidad de requisitos en fabricas software Ildefonso Montero Pérez Sergio Segura Rueda Documentar variabilidad de requisitos en fabricas software Ildefonso Montero Pérez Sergio Segura Rueda Programa de Doctorado: Tecnología e Ingeniería del Software Departamento de Lenguajes y Sistemas Informáticos

Más detalles

Patrones. Patrones GRASP GRASP GRASP. Curso de Arquitecturas de Software. Programación Orientada a Objetos Patrones GRASP

Patrones. Patrones GRASP GRASP GRASP. Curso de Arquitecturas de Software. Programación Orientada a Objetos Patrones GRASP Curso de Arquitecturas de Software Programación Orientada a Objetos Patrones GRASP Patrones Es una solución a un problema recurrente Capturan las mejores prácticas establecidas para diseño Describen un

Más detalles

Applying UML and paterns (Capítulos 8, 9 y 10)

Applying UML and paterns (Capítulos 8, 9 y 10) Applying UML and paterns (Capítulos 8, 9 y 10) ABEL ORTEGA HERNÁNDEZ CINVESTAV-Tamaulipas 08 de Octubre del 2012 ABEL ORTEGA HDZ. (CINVESTAV) Presentación 08 de Octubre del 2012 1 / 91 Capítulo 8: Iteración

Más detalles

UML. Diagrama de Casos de Usos. Prof. Daniel Riesco

UML. Diagrama de Casos de Usos. Prof. Daniel Riesco UML Diagrama de Casos de Usos Prof. Daniel Riesco Diagramas de Caso Uso Secuencia de transacciones desarrolladas por un sistema en respuesta a un evento iniciado por un actor Sirven para especificar la

Más detalles

TEMARIO. Arquitectura e implementación de un proyecto con Angular Duración: 35 Horas

TEMARIO. Arquitectura e implementación de un proyecto con Angular Duración: 35 Horas TEMARIO de un proyecto con Angular Duración: 35 Horas Arquitectura e implementación con Angular El curso está orientado en capacitar a las personas para que ARQUITECTUREN E IMPLEMENTEN un producto de software

Más detalles

ECSDI - Ingeniería del Conocimiento y Sistemas Distribuidos Inteligentes

ECSDI - Ingeniería del Conocimiento y Sistemas Distribuidos Inteligentes Unidad responsable: Unidad que imparte: Curso: Titulación: Créditos ECTS: 2015 270 - FIB - Facultad de Informática de Barcelona 723 - CS - Departamento de Ciencias de la Computación GRADO EN INGENIERÍA

Más detalles

Introducción a Web Services

Introducción a Web Services Introducción a Web Services Introducción internet Otros Java Organización A Organización B.Net Introducción Sistemas distribuidos procesamiento de la información está distribuido en dos o más computadoras

Más detalles

Patrones de diseño. Patrón básico Handler. Técnicas de Programación - Curso 2007/08

Patrones de diseño. Patrón básico Handler. Técnicas de Programación - Curso 2007/08 Patrones de diseño Patrón básico Handler Técnicas de Programación - Curso 2007/08 Patrones de diseño Introducción Objetivos: Diseño específico para el problema, pero general para poder adecuarse a futuros

Más detalles

Tema 2. Principios del Diseño Orientado a Objetos

Tema 2. Principios del Diseño Orientado a Objetos Tema 2. Principios del Diseño Orientado a Objetos Objetivo: El alumno analizará a fondo los conceptos de la teoría Orientada a Objetos, sus implicaciones y alcances, aplicándolos a un Diseño Orientado

Más detalles

2.5 DISEÑO ARQUITECTONICO

2.5 DISEÑO ARQUITECTONICO MODULO II Ingeniería de Software INF - 163 2.5 DISEÑO ARQUITECTONICO 18/10/2012 Resumen preparado por Miguel Cotaña 1 Architecture Business Cycle - ABC Los requerimientos no determinan del todo la arquitectura,

Más detalles

Unidad V. UML. Tema I. Conceptos Básicos Tema II. Definición de UML. Vocabulario Tema III. Elementos UML Tema IV. Diagramas.

Unidad V. UML. Tema I. Conceptos Básicos Tema II. Definición de UML. Vocabulario Tema III. Elementos UML Tema IV. Diagramas. Unidad V. UML Tema I. Conceptos Básicos Tema II. Definición de UML. Vocabulario Tema III. Elementos UML Tema IV. Diagramas Objetivos Conocer el modelo UML Utilizar el modelo UML como parte de la metodología

Más detalles

Modelado y Análisis de Requerimiento de Software. Propósitos del Curso:

Modelado y Análisis de Requerimiento de Software. Propósitos del Curso: UNIVERSIDAD AUTÓNOMA DE CHIHUAHUA Clave: 08MSU0017H FACULTAD INGENIERÍA Clave: PROGRAMA DEL CURSO: Modelado y Análisis de Requerimiento de Software DES: INGENIERÍA Programa(s) Ingeniería de Software Educativo(s):

Más detalles

Los diagramas de clases y de objetos sirven para modelar diversos aspectos estructurales o estáticos de un sistema: Modelado - Vocabulario del Sistema

Los diagramas de clases y de objetos sirven para modelar diversos aspectos estructurales o estáticos de un sistema: Modelado - Vocabulario del Sistema Modelado Los diagramas de clases y de objetos sirven para modelar diversos aspectos estructurales o estáticos de un sistema: Vocabulario del Sistema Distribución de Responsabilidades Semántica de una Clase

Más detalles

Programación II Tipos Abstractos de Datos(TAD)

Programación II Tipos Abstractos de Datos(TAD) Programación II Tipos Abstractos de Datos(TAD) Definición Un Tipo Abstracto de Datos es un conjunto de valores y de operaciones definidos mediante una especificación independiente de cualquier representación.

Más detalles

Horas Contacto. Modelar gráficamente la solución de problemas con un enfoque Orientado a Objetos, usando un lenguaje de modelado, en este caso UML.

Horas Contacto. Modelar gráficamente la solución de problemas con un enfoque Orientado a Objetos, usando un lenguaje de modelado, en este caso UML. FACULTAD DE INGENIERIA DEPARTAMENTO DE INGENIERIA DE SISTEMAS Nombre de la asignatura (Curso) Código de la asignatura (ID Curso) Análisis y Diseño Orientado a Objetos 4183 Fecha de Actualización Enero

Más detalles

Servicio de impresión de información geográfica en forma de mapas siguiendo el estándar OGC WPS

Servicio de impresión de información geográfica en forma de mapas siguiendo el estándar OGC WPS Servicio de impresión de información geográfica en forma de mapas siguiendo el estándar OGC WPS Verónica Fariña Iglesias, Miguel R. Luaces, David Trillo Laboratorio de Bases de Datos Universidade da Coruna

Más detalles

Análisis y Diseño Orientado a Objetos

Análisis y Diseño Orientado a Objetos Orientado a Objetos 1. Conceptos de Orientado al Objeto a. Análisis El análisis se centra en una investigación, no es la solución Ej. Si se desea un sistema para biblioteca Cuáles procesos de la institución

Más detalles

Ingeniería del Software

Ingeniería del Software Ingeniería del Software Diseñó de Software Universidad de los Andes Demián Gutierrez Mayo 2011 1 Qué es Diseño de Software? Definición de Requerimientos Que voy a hacer? Diseño de Sistema y de Software

Más detalles

Patrones de Diseño. Ing. Miguel Angel Cedeño Garcidueñas

Patrones de Diseño. Ing. Miguel Angel Cedeño Garcidueñas Patrones de Diseño Ing. Miguel Angel Cedeño Garcidueñas miguelcedega@correo.fie.umich.mx Patrones de Diseño Diseñar software orientado a objetos es difícil, pero diseñar software orientado a objetos reutilizable

Más detalles

Descripción de Servicios

Descripción de Servicios Descripción de Servicios JUAN CARLOS CONDE RAMÍREZ WEB-SERVICES Contenido 1. Definición y búsqueda de servicios 2. Interacción entre Servicios Web 3. Combinación de Servicios Web FCC-BUAP 2 Contenido 1.

Más detalles

QUÉ SON EL ANÁLISIS Y EL DISEÑO?

QUÉ SON EL ANÁLISIS Y EL DISEÑO? QUÉ SON EL ANÁLISIS Y EL DISEÑO? Análisis: Investigación Para crear una aplicación de software hay que describir el problema y las necesidades o requerimientos: en qué consiste el conflicto y que debe

Más detalles

Ontologías. Javier Béjar cbea (LSI-FIB-UPC) Inteligencia Artificial Curso 2006/ / 16

Ontologías. Javier Béjar cbea (LSI-FIB-UPC) Inteligencia Artificial Curso 2006/ / 16 Ontologías - Introducción Ontologías El objeto de estudio de la ciencia de la Ontología es el estudio de las categorías que existen en un dominio El resultado de este estudio es lo que denominamos una

Más detalles

Objetivos de los sistemas de bases de datos.

Objetivos de los sistemas de bases de datos. TEMA1 BORRADOR 1.Objetivos de los sistemas de bases de datos. 2.Abstracción de la información 2.1Nivel físico 2.2Nivel conceptual 2.3Nivel de Vistas. 3.Ejemplares y esquemas. 4.Independencia de los datos.

Más detalles

ESTÁNDAR ESTRUCTURA PROCESOS Y LIBRERIAS BPM. 1.1 Descripción componentes Diagrama Componentes Diagrama proceso...

ESTÁNDAR ESTRUCTURA PROCESOS Y LIBRERIAS BPM. 1.1 Descripción componentes Diagrama Componentes Diagrama proceso... reproducción externa. Página 1 de 10 ESTÁNDAR ESTRUCTURA PROCESOS Y LIBRERIAS BPM Contenido 1.1 Descripción componentes... 3 1.1.1 Diagrama Componentes... 3 1.2 Diagrama proceso... 4 1.3 Configuración

Más detalles

Modelos de Software. Ingeniería en Sistemas de Información

Modelos de Software. Ingeniería en Sistemas de Información Ingeniería en Sistemas de Información 2018 Modelos de Software 2 Modelado de Actividades y Estados 3 Modelado de Actividades Los detalles de la actividad van dentro del recuadro. Las acciones dentro de

Más detalles

Elementos Diagramas de Clases Clase:

Elementos Diagramas de Clases Clase: Diagramas de Clases Un diagrama de clases o estructura estática muestra el conjunto de clases y objeto importantes que forman parte de un sistema, junto con las relaciones existentes entre clases y objetos.

Más detalles

Unified modeling language

Unified modeling language Unified modeling language UML es un lenguaje para la especificación, visualización, construcción y documentación de documentos de sistemas de software. Es independiente del lenguaje de implementación y

Más detalles