Tema: Patrones de Diseño.
|
|
- Antonio José Manuel Coronel Rey
- hace 8 años
- Vistas:
Transcripción
1 Programación II. Guía 13 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Patrones de Diseño. Objetivos Específicos Implementar la aplicación de patrones de diseño como herramientas para el mejoramiento de la programación. Desarrollar aplicaciones usando patrones de diseño. Comprender las ventajas de aplicaciones de patrones de diseño como manera profesional de elaborar software. Materiales y Equipo Computadora con el software DevC++. Guía Número 13. Introducción Teórica Concepto de Patrón. Un patrón de diseño es: Una solución estándar para un problema común de programación. Una técnica para flexibilizar el código haciéndolo satisfacer ciertos criterios. Un proyecto o estructura de implementación que logra una finalidad determinada. Un lenguaje de programación de alto nivel. Una manera más práctica de describir ciertos aspectos de la organización de un programa. Conexiones entre componentes de programas. La forma de un diagrama de objeto o de un modelo de objeto.
2 2 Programación II, Guía 13 Ejemplos de Patrones. A continuación se presentan algunos ejemplos de patrones de diseño. A cada diseño de proyecto le sigue el problema que trata de resolver, la solución que aporta y las posibles desventajas asociadas. Un desarrollador debe buscar un equilibrio entre las ventajas y las desventajas a la hora de decidir que patrón utilizar. Lo normal es, como observará a menudo en la ciencia computacional y en otros campos, buscar el balance entre flexibilidad y rendimiento. Encapsulación (ocultación de datos). Problema: los campos externos pueden ser manipulados directamente a partir del código externo, lo que conduce a violaciones del invariante de representación o a dependencias indeseables que impiden modificaciones en la implementación. Solución: esconda algunos componentes, permitiendo sólo accesos estilizados al objeto. Desventajas: la interfaz no puede, eficientemente, facilitar todas las operaciones deseadas. El acceso indirecto puede reducir el rendimiento. Subclase (herencia). Problema: abstracciones similares poseen miembros similares (campos y métodos). Esta repetición es tediosa, propensa a errores y un quebradero de cabeza durante el mantenimiento. Solución: herede miembros por defecto de una superclase, seleccione la implementación correcta a través de resoluciones sobre qué implementación debe ser ejecutada. Desventajas: el código para una clase está muy dividido, con lo que, potencialmente, se reduce la comprensión. La introducción de resoluciones en tiempo de ejecución introduce overhead (procesamiento extra).
3 Programación II. Guía 13 3 Iteración. Problema: los clientes que desean acceder a todos los miembros de una colección deben realizar un transversal especializado para cada estructura de datos, lo que introduce dependencias indeseables que impiden la ampliación del código a otras colecciones. Solución: las implementaciones, realizadas con conocimiento de la representación, realizan transversales y registran el proceso de iteración. El cliente recibe los resultados a través de una interfaz estándar. Desventajas: la implementación fija la orden de iteración, esto es, no está controlada en absoluto por el cliente. Excepciones. Problema: los problemas que ocurren en una parte del código normalmente han de ser manipulados en otro lugar. El código no debe desordenarse con rutinas de manipulación de error, ni con valores de retorno para identificación de errores. Solución: introducir estructuras de lenguaje para arrojar e interceptar excepciones. Desventajas: es posible que el código pueda continuar aún desordenado. Puede ser difícil saber dónde será gestionada una excepción. Tal vez induzca a los programadores a utilizar excepciones para controlar el flujo normal de ejecución, que es confuso y por lo general ineficaz. Cuando no utilizar patrones de diseño. La primera regla de los patrones de diseño coincide con la primera regla de la optimización: Del mismo modo que no es aconsejable optimizar prematuramente, no se deben utilizar patrones de diseño antes de tiempo. Seguramente sea mejor implementar algo primero y asegurarse de que funciona, para luego utilizar el patrón de diseño para mejorar las debilidades; esto es cierto, sobre todo, cuando aún no ha identificado todos los detalles del proyecto (si comprende totalmente el dominio y el problema, tal vez sea razonable utilizar
4 4 Programación II, Guía 13 patrones desde el principio, de igual modo que tiene sentido utilizar los algoritmos más eficientes desde el comienzo en algunas aplicaciones). Procedimiento EJEMPLO No. 1 - Patrón de diseño compuesto. Características: Identificar el escalar / clases primitivas y el vector / clases de contenedores. Crear una "interfaz" (mínimo común denominador) que pueden hacer todas las clases concretas "intercambiables". Todas las clases concretas declaran "una relación" a la interfaz. Todas las clases "contenedoras" se acoplan por ellas mismas a la interfaz (composición recursiva). Implementación de Patrón de diseño de comandos. #include<iostream> #include <vector> // Para utilizar la clase vector using namespace std; // Crea una "interfaz" class Component { public: virtual void traverse( ) = 0; ; class Leaf : public Component { private: int value; public: Leaf(int val) { value = val; // SuperClase Abstracta // Función virtual pura // Clase Escalar. Relación es un // Constructor con parámetros ; void traverse( ) { cout << value << ' '; // Función para mostrar los elementos del vector class Composite : public Component // Clase contenedora enlazada a la interfaz { private: // Clase Vector. Relación es un vector < Component * > children; // Contenedor enlazado con la interfaz
5 Programación II. Guía 13 5 public: void add(component * ele) /* Función para agregar elementos a la cola { children.push_back(ele); (vector) */ ; // Función recursiva para mostrar los elementos del vector void traverse( ) { for (int i = 0; i < children.size( ); i++) children [i] -> traverse( ); // Uso de polimorfismo para delegar al hijo int main( ) { Composite containers[4]; /* Crea un objeto de tipo Composite. En verdad se crea una matriz de 4 x n */ for (int i = 0; i < 4; i++) // Para agregar los datos a la primera fila(0) de la matriz for (int j = 0; j < 3; j++) containers [ i ].add(new Leaf(i * 3 + j)); for (int i = 1; i < 4; i++) // Agrega los elementos de las filas 2 a 4 en la matriz containers[0].add(&(containers[ i ])); for (int i = 0; i < 4; i++) // Rutina para mostrar todos los elementos de la matriz { cout << "Mostrando la fila " << i + 1 << endl; containers[i].traverse( ); cout << endl; system("pause > nul"); return 0; EJEMPLO No. 2 - Patrón de diseño Decorador. Características: Crear un "mínimo común denominador" que hace que las clases sean intercambiables. Crear una clase base de nivel dos para la funcionalidad opcional. La clase "Core" y "Decorador" declaran una relación "es un". La clase Decorador tiene una instancia del "mínimo común denominador". La clase Decorador delega para la de la clase tiene un objeto. Cree una clase Decorador derivado para cada adorno opcional. Decorador de las clases derivadas delega a la clase base y permite agregar cosas extras.
6 6 Programación II, Guía 13 El Cliente tiene la responsabilidad de componer configuraciones deseadas. #include <iostream> using namespace std; class Widget { public: virtual void draw( ) = 0; ; class TextField : public Widget { private: int width, height; public: TextField(int w, int h) { width = w; height = h; // Superclase Abstracta // Función virtual pura // Clase "Principal. Relación "es un" // Constructor con parámetros ; /* Función virtual para mostrar los datos del campo de texto void draw( ) { cout << "TextField: " << width << ", " << height << '\n'; class Decorator : public Widget { private: Widget * wid; public: Decorator(Widget * w) { wid = w; // Clase base de segundo nivel. Relación "es un" // Relación "tiene un" // Constructor con parámetros ; void draw() // Función virtual { wid -> draw( ); // Delegación a clase hija class BorderDecorator : public Decorator { public: BorderDecorator(Widget * w): Decorator(w){ // Embellecimiento opcional ; // Función virtual para mostrar los datos del borde del decorador void draw() { Decorator :: draw( ); // Delegar hacia la clase base y cosas extras cout << " Se ha invocado a la clase BorderDecorator " << endl;
7 Programación II. Guía 13 7 class ScrollDecorator : public Decorator { public: ScrollDecorator(Widget * w): Decorator(w){ // Embellecimiento opcional ; // Función virtual para mostrar los datos del scroll del decorador void draw() { Decorator :: draw( ); // Delegar hacia la clase base y cosas extras cout << " Se ha invocado a la clase ScrollDecorator " << endl; int main( ) { // El Cliente tiene la responsabilidad para componer configuraciones deseadas Widget * awidget = new BorderDecorator(new BorderDecorator(new ScrollDecorator(new TextField(80, 24)))); awidget -> draw( ); // Se invoca a la función draw con el puntero creado system("pause > nul"); return 0; Investigación Complementaria Investigar lo siguiente: Qué otros tipos de patrones de diseño existen? Explicar el problema, la solución y las ventajas. Investigar sobre el Patrón de Proxy el cual protege de acceso al objeto original. Incluir codificación.
8 8 Programación II, Guía 13 Guía 13: Patrones de Diseño. Hoja de cotejo: 13 Alumno: Máquina No: Docente: GL: Fecha: EVALUACIÓN % Nota CONOCIMIENTO Del 20 al 30% Conocimiento deficiente de los fundamentos teóricos Conocimiento y explicación incompleta de los fundamentos teóricos Conocimiento completo y explicación clara de los fundamentos teóricos APLICACIÓN DEL CONOCIMIENTO Del 40% al 60% ACTITUD Del 15% al 30% No tiene actitud proactiva. Actitud propositiva y con propuestas no aplicables al contenido de la guía. Tiene actitud proactiva y sus propuestas son concretas. TOTAL 100%
Tema: Arreglos de Objetos en C++.
Programación II. Guía 5 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Arreglos de Objetos en C++. Objetivos Específicos Describir la implementación de arreglos de Objetos.
Más detallesTema: Sobrecarga de Operadores.
Programación II. Guía 7 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Sobrecarga de Operadores. Objetivos Describir como redefinir (sobrecargar) operadores para que funcionen
Más detallesCapítulo 6. Introducción a la POO
Capítulo 6. Introducción a la POO 6. 1. Clases, Objetos y Métodos Definición La Programación Orientada a Objetos (POO) es una forma especial de programar, más cercana a cómo expresaríamos las cosas en
Más detallesProgramación Orientada a Objetos en Java
Programación Orientada a Objetos en Java Curso 2006-2007 Tema 4 Herencia y Polimorfismo Gonzalo Méndez Pozo Dpto. de Ingeniería de Software e Inteligencia Artificial Universidad Complutense de Madrid Herencia
Más detallesTema: Herencia Simple y Múltiple en C++.
Programación II. Guía 9 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Herencia Simple y Múltiple en C++. Objetivos Específicos Crear clases a través de la herencia de clases
Más detallesCONTENIDOS. 1. Completar el ejemplo de Herencia: Superclase Persona-Subclase Alumno
CONTENIDOS 1. Completar el ejemplo de Herencia: Superclase Persona-Subclase Alumno 2. Redefinición de métodos. 3. Jerarquía de clases. 4. Ejecución de los pasos de mensajes con Herencia. 5. Problemas con
Más detallesGUIA PROGRAMACIÓN ORIENTADA A OBJETOS
GUIA PROGRAMACIÓN ORIENTADA A OBJETOS 1. Por qué la P.O.O? R= A medida que se van desarrollando los lenguajes, se va desarrollando también la posibilidad de resolver problemas más complejos. En la evolución
Más detallesTema: Clases y Objetos en C++.
1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Clases y Objetos en C++. Objetivos Específicos Aplicar clases, objetos, propiedades, métodos y mensajes. Poner en práctica
Más detallesTema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle
Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Contenido Tipos de herencia Herencia y niveles de visibilidad Herencia y creación Redefinición de métodos Conversión
Más detalles2.2.- Paradigmas de la POO
2.2.- Paradigmas de la POO Los principios propios de la orientación a objetos son: 2.2.1.- Abstracción de Datos 2.2.2.- Encapsulamiento 2.2.3.- Ocultamiento 2.2.4.- Herencia 2.2.5.- Polimorfismo Cualquier
Más detallesPatrones Creacionales Builder. Patrones Creacionales Abstract Factory. Patrones Creacionales Singleton. Patrones Creacionales Prototype
Temario Patrones de Diseño de Software Fundamentos de Ingeniería de SW Jocelyn Simmonds GOF: Patrones Creacionales Patrones Estructurales ILI-236 (JS) Patrones II 1 / 31 ILI-236 (JS) Patrones II 2 / 31
Más detallesUniversidad de Cantabria corcuerp@unican.es
Herencia Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es Objetivos Aprender los conceptos de herencia Comprender la forma de derivar una
Más detallesINSTITUTO TECNOLOGICO de la laguna Programación Orientada a Objetos en C++
5.- Herencia Múltiple. Un hecho natural es que una persona tenga más de un pariente mayor, esta situación también se puede dar en la herencia de clases, naturalmente este tipo de herencia involucra un
Más detallesDiagramas de Clase en UML 1.1
Diagramas de Clase en UML. Francisco José García Peñalvo Licenciado en Informática. Profesor del Área de Lenguajes y Sistemas Informáticos de la Universidad de Burgos. fgarcia@.ubu.es Carlos Pardo Aguilar
Más detallesInstructivo para la elaboración de un Manual Técnico
Instructivo para la elaboración de un Manual Técnico Autora: Ing. Alena González Reyes. (agonzalez@ceis.cujae.edu.cu) Ciudad de la Habana, Cuba Marzo, 2010 Índice 1. Introducción... 3 2. Confección...
Más detallesIntroducción a la Programación Orientada a Objetos
Introducción a la Programación Orientada a Objetos El paradigma imperativo. En un programa se tienen una serie de variables con las cuales operamos y modificamos mediante sentencias y funciones para producir
Más detallesPatrones de Diseño. Patrón estructural Composite. Técnicas de Programación - Curso 2008/09 (Esther Guerra Sánchez)
Patrones de Diseño Patrón estructural Composite Técnicas de Programación - Curso 2008/09 (Esther Guerra Sánchez) Propósito Componer objetos en estructuras arbóreas para representar jerarquías todo-parte.
Más detallesCLASE 10: MÁS PATRONES. Universidad Simón Bolívar. Ing. de Software. Prof. Ivette C. Martínez
CLASE 10: MÁS PATRONES Universidad Simón Bolívar. Ing. de Software. Prof. Ivette C. Martínez Polimorfismo Problema: Cómo manejar las alternativas basadas en el tipo? Cómo crear componentes conectables?
Más detallesFigura 4.1 Clasificación de los lenguajes de bases de datos
1 Colección de Tesis Digitales Universidad de las Américas Puebla Romero Martínez, Modesto Este capítulo describen los distintos lenguajes para bases de datos, la forma en que se puede escribir un lenguaje
Más detallesPOLIMORFISMO "una interfaz, múltiples métodos".
"una interfaz, múltiples métodos". 20/02/2007 Polimorfismo 2 Indice Definición y caracteristicas Objetivos. SOBRRESCRITURA-SOBRECARGA SOBRECARGA Clases y métodos abstractos INTERFACES (herencia múltiple)
Más detallesPROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso
PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación II MODELOS y HERRAMIENTAS UML 1 1 Modelado de casos de uso (I) Un caso de uso es una técnica de modelado usada para describir lo que debería hacer
Más detallesEXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011
EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011 1. (0,75 PUNTOS) Identificad a continuación las sentencias que son ciertas, descartando
Más detallesPatrones para persistencia (I) Ingeniería del Software II
Patrones para persistencia (I) Ingeniería del Software II 1 Patrones para la construcción del esquema relacional En todos los ejemplos realizaremos transformaciones del siguiente diagrama de clases: Figura
Más detallesDiagrama de Clases. Diagrama de Clases
Diagrama de Clases 1 Diagrama de Clases El propósito de este diagrama es el de representar los objetos fundamentales del sistema, es decir los que percibe el usuario y con los que espera tratar para completar
Más detallesSoftware Reutilizable. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 18 Slide 1
Software Reutilizable Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 18 Slide 1 Objetivos Para explicar los beneficios del software reutilizable y algunos de sus problemas Para discutir
Más detallesELO329: Diseño y Programación Orientados a Objetos 20 de Junio de 2005. Certamen Final
Certamen Final 1. Se tiene una aplicación Java que muestra dos botones. Cuando presionamos el botón de la izquierda, incrementa el número mostrado en el botón de la derecha. Cuando presionamos el botón
Más detallesNotación UML para modelado Orientado a Objetos
1 Notación UML para modelado Orientado a Objetos 2 Notación UML para modelado Orientado a Objetos Índice 1.1. Qué es UML?.. 3 1.2. Por qué interesa UML en la asignatura de Programación Orientada a Objetos?3
Más detallesPatrones de Diseño. Patrón estructural Decorator. Técnicas de Programación - Curso 2008/09 (Esther Guerra Sánchez)
Patrones de Diseño Patrón estructural Decorator Técnicas de Programación - Curso 2008/09 (Esther Guerra Sánchez) Propósito Permite añadir responsabilidades extra a objetos concretos de manera dinámica
Más detallesEn cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.
Arboles-B Características Los árboles-b son árboles de búsqueda. La "B" probablemente se debe a que el algoritmo fue desarrollado por "Rudolf Bayer" y "Eduard M. McCreight", que trabajan para la empresa
Más detallesCapítulo 4 Patrones y Patrones de Diseño (ii)
Capítulo 4 Patrones y Patrones de Diseño (ii) Orientado a Objetos Ingeniería Informática Ingeniería Técnica de Informática de Sistemas y Gestión Optativa (6 créditos) http://www.info-ab.uclm.es/asignaturas/42579
Más detallesDiseño Estructurado de Algoritmos
Diseño Estructurado de Algoritmos 1 Sesión No. 5 Nombre: Primitivas para el diseño de instrucciones. Segunda parte. Objetivo de la sesión: Al concluir la sesión el estudiante identificará las diferentes
Más detallesUnidad II. ERP s. 2.1. Definición de ERP s.
Unidad II ERP s 2.1. Definición de ERP s. Planificación de recursos empresariales ( ERP) es la gestión del negocio de software - por lo general un conjunto de aplicaciones integradas - que una empresa
Más detallesDesarrollo de un Sistema de Gestión de Proyectos mediante el framework GWT
Proyecto de Fin de Carrera Universidad Politécnica de Valencia Escuela Técnica Superior de Informática Desarrollo de un Sistema de Gestión de Proyectos mediante el framework GWT Realizado por: Dirigido
Más detallesPatrones de Diseño Orientados a Objetos 2 Parte
Patrones de Diseño Orientados a Objetos 2 Parte Patrón Observador Observer (Patrón de Comportamiento) Patrón Observador Observer Observador (en inglés: Observer) es un patrón de diseño que define una dependencia
Más detallesÍndice ÍNDICE...1 1. EJERCICIO 1: CÁLCULO FINANCIERO (5 PTOS.)...1 2. EJERCICIO 2: AGENCIA DE COLOCACIONES (5 PTOS.)...4
Pág.1 Índice ÍNDICE...1 1. EJERCICIO 1: CÁLCULO FINANCIERO (5 PTOS.)...1 2. EJERCICIO 2: AGENCIA DE COLOCACIONES (5 PTOS.)...4 1. Ejercicio 1: Cálculo Financiero (5 ptos.) Desde un banco se le ha encargado
Más detallesProgramación Orientada a Objetos con Java
Programación Orientada a Objetos con Java M.C. Jorge Eduardo Ibarra Esquer jorgeeie@uabc.mx Sobrecarga de métodos Java permite la definición de dos o más métodos que tengan el mismo nombre, dentro de la
Más detallesTutorial de UML. Introducción: Objetivos: Audiencia: Contenidos:
Tutorial de UML Introducción: El Lenguaje de Modelamiento Unificado (UML - Unified Modeling Language) es un lenguaje gráfico para visualizar, especificar y documentar cada una de las partes que comprende
Más detallesESCUELA DE INGENIERÍA DE SISTEMAS DEPARTAMENTO DE COMPUTACIÓN PROGRAMACIÓN 2 PRÁCTICA DE LABORATORIO 7 Herencia y Composición en POO
ESCUELA DE INGENIERÍA DE SISTEMAS DEPARTAMENTO DE COMPUTACIÓN PROGRAMACIÓN 2 PRÁCTICA DE LABORATORIO 7 Herencia y Composición en POO Contenido Introducción... 1 Concepto de la Herencia... 2 Relación de
Más detallesSistema de Mensajería Empresarial para generación Masiva de DTE
Sistema de Mensajería Empresarial para generación Masiva de DTE TIPO DE DOCUMENTO: OFERTA TÉCNICA Y COMERCIAL VERSIÓN 1.0, 7 de Mayo de 2008 CONTENIDO 1 INTRODUCCIÓN 4 2 DESCRIPCIÓN DE ARQUITECTURA DE
Más detallesISTP CIDET COMPUTACION E INFORMATICA ARREGLOS EN JAVA
ARREGLOS EN JAVA I I N T R O D U C C I Ó N En las sesiones anteriores, los datos manejados en los programas han sido datos simples (carácter, entero, reales) En un gran número de problemas es necesario
Más detallesTema: INTÉRPRETE ENSAMPOCO/3
Compiladores. Guía 11 1 Facultad: Ingeniería Escuela: Computación Asignatura: Compiladores Tema: INTÉRPRETE ENSAMPOCO/3 Contenido En esta práctica se desarrollará un intérprete de lenguaje ENSAMPOCO/3
Más detallesFactory method (Gamma et al.)
Factory method (Gamma et al.) Define una interfaz para crear un objeto pero deja a las subclases decidir que clase instanciar Motivación: Consideremos un framework que presenta múltiples documentos al
Más detallesDIAGRAMA DE CLASES EN UML
DIAGRAMA DE CLASES EN UML Mg. Juan José Flores Cueto jflores@usmp.edu.pe Ing. Carmen Bertolotti Zuñiga cbertolotti@usmp.edu.pe INTRODUCCIÓN UML (Unified Modeling Language) es un lenguaje que permite modelar,
Más detallesPHP y MySQL. Inicio: - Herencia - Palabra clave Final - Polimorfismo - Type Hinting - Abstracción de clases
PHP y MySQL Inicio: - Herencia - Palabra clave Final - Polimorfismo - Type Hinting - Abstracción de clases Herencia de Objetos La herencia permite crear muchas clases que son similares entre si, sin tener
Más detalles11. Algunas clases estándar de Java (II)
122 A. García-Beltrán y J.M. Arranz 11. Algunas clases estándar de Java (II) Objetivos: a) Presentar la clase predefinida en Java para trabajar con arrays b) Interpretar el código fuente de una aplicación
Más detallesRelaciones entre clases: Diagramas de clases UML
Relaciones entre clases: Diagramas de clases UML Las relaciones existentes entre las distintas clases nos indican cómo se comunican los objetos de esas clases entre sí: Los mensajes navegan por las relaciones
Más detallesTema: FUNCIONES, PROCEDIMIENTOS Y RECURSIVIDAD.
Programación I, Guía 6 1 Facultad : Ingeniería Escuela : Computación Asignatura: Programación I Tema: FUNCIONES, PROCEDIMIENTOS Y RECURSIVIDAD. Objetivos Utilizar la sintaxis de las funciones definidas
Más detallesHerencia. 3.- Herencia. Declaración de una clase derivada en Delphi. Jerarquía de clases
Herencia 3.- Herencia La herencia nos permite definir datos y métodos que son generales (comunes a distintas clases) por separado de las que son particulares a cada clase. Esto se logra definiendo lo que
Más detallesFundamentos del diseño 3ª edición (2002)
Unidades temáticas de Ingeniería del Software Fundamentos del diseño 3ª edición (2002) Facultad de Informática necesidad del diseño Las actividades de diseño afectan al éxito de la realización del software
Más detallesGuía de migración a firma HMAC SHA256 Conexión por Redirección
Guía de migración a firma HMAC SHA256 Conexión por Versión: 1.7 Versión: 1.7 i Autorizaciones y control de versión Versión Fecha Afecta Breve descripción del cambio 1.0 06/10/2015 Versión inicial del documento
Más detallesBase de datos relacional
Base de datos relacional Una base de datos relacional es una base de datos que cumple con el modelo relacional, el cual es el modelo más utilizado en la actualidad para modelar problemas reales y administrar
Más detallesJava Inicial (20 horas)
Java Inicial (20 horas) 1 Temario 1. Programación Orientada a Objetos 2. Introducción y Sintaxis Java 3. Sentencias Control Flujo 4. POO en Java 5. Relaciones entre Objetos 6. Polimorfismo, abstracción
Más detallesProf. Dr. Paul Bustamante
Carné: Nombre: Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante INDICE 1. INTRODUCCIÓN... 1 Pag.1 1.1 EJERCICIO1: CÁLCULO DEL IMC (3.0 PTS.)... 1 1.2 EJERCICIO2: OPERADOR VIRTUAL DE
Más detallesCentro de Capacitación en Informática
Fórmulas y Funciones Las fórmulas constituyen el núcleo de cualquier hoja de cálculo, y por tanto de Excel. Mediante fórmulas, se llevan a cabo todos los cálculos que se necesitan en una hoja de cálculo.
Más detallesBASE DE DATOS RELACIONALES
BASE DE DATOS RELACIONALES Una base de datos relacional es una base de datos que cumple con el modelo relacional, el cual es el modelo más utilizado en la actualidad para implementar bases de datos ya
Más detallesIncidencias: Todas las incidencias que ocurrirán durante el apadrinamiento de un niño se deben registrar para poder buscar soluciones.
Apadrinamiento ONG Estudio preliminar: Se desea diseñar una aplicación para la gestión de los apadrinamientos de una asociación ONG. Para ello el sistema proporcionara una interfaz al usuario para poder
Más detallesDirección de Operaciones
Dirección de Operaciones 1 Sesión No. 2 Nombre: Programación lineal Objetivo Al finalizar la sesión, el alumno será capaz de identificar los principios fundamentales de la programación lineal. Contextualización
Más detallesINSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA UNIDAD CULHUACÁN INTEGRANTES
INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA UNIDAD CULHUACÁN INTEGRANTES CÁRDENAS ESPINOSA CÉSAR OCTAVIO racsec_05@hotmail.com Boleta: 2009350122 CASTILLO GUTIÉRREZ
Más detallesCurso de Java POO: Programación orientada a objetos
Curso de Java POO: Programación orientada a objetos Luis Guerra Velasco Curso INEM 02830. Programación en Java Marzo 2010 Índice 1 Introducción a la POO 2 Herencia y polimorfismo 3 Empaquetado de proyectos
Más detallesARQUITECTURA DE DISTRIBUCIÓN DE DATOS
4 ARQUITECTURA DE DISTRIBUCIÓN DE DATOS Contenido: Arquitectura de Distribución de Datos 4.1. Transparencia 4.1.1 Transparencia de Localización 4.1.2 Transparencia de Fragmentación 4.1.3 Transparencia
Más detallesDescripción y tabla de especificaciones para prueba formativa Área Matemática Año 2014
Descripción y tabla de especificaciones para prueba formativa Área Matemática Año 2014 Contenidos 1. El referente conceptual de la evaluación... 1 CUADRO 1. TABLA DE ESPECIFICACIONES EN EL ÁREA DE MATEMÁTICA...
Más detallesProgramación III. 1. Facultad: Ingeniería Escuela: Computación Asignatura:Programación III I. OBJETIVOS II. INTRODUCCIÓN TEÓRICA
Programación III. 1 Facultad: Ingeniería Escuela: Computación Asignatura:Programación III GUIA1: Uso de C# modo consola. I. OBJETIVOS Qué el estudiante: Conozca el lenguaje de programación Visual C#.Net
Más detallesProgramación 1. Tema II. Diseño de programas elementales. Lección 7. Diseño modular y descendente de programas
Programación 1 Tema II. Diseño de programas elementales Lección 7. Diseño modular y descendente de programas 1 Objetivos de la lección : Aprender qué es un diseño modular de un programa Aprender a diseñar
Más detallesRepetir el proceso para cada abstracción identificada hasta que el diseño este expresado en términos sencillos
I. INTRODUCCIÓN El reciente aumento de aplicaciones en donde se utiliza la computadora ha sido posible debido a un hardware de bajo costo, por lo cual la demanda de software ha crecido de forma exponencial.
Más detallesAnálisis y gestión de riesgo
Marco Dueñes Intriago María Cabrales Jaquez Resumen capitulo 6 Ingeniería del software Análisis y gestión de riesgo Estrategias de riesgo proactivas vs reactivas Una estrategia considerablemente más inteligente
Más detallesÍndice 1 Instalación de la herramienta 2 Descripción de la herramienta 2 Arranque de la aplicación 3 Proyecto 4 Diagrama de clases 5
Índice Índice 1 Instalación de la herramienta 2 Descripción de la herramienta 2 Arranque de la aplicación 3 Proyecto 4 Diagrama de clases 5 Crear diagrama de clases 5 Crear elementos 7 Editar elementos
Más detallesLENGUAJES DE CONSULTA ORIENTADOS A OBJETOS
LENGUAJES DE CONSULTA ORIENTADOS A OBJETOS Los lenguajes de consulta constituyen una funcionalidad importante de los SGBDOO. El usuario puede recuperar los datos especificando simplemente las condiciones
Más detallesIntroducción a la programación orientada a objetos
Introducción a la programación orientada a objetos 1. Introducción a la programación orientada a objetos 2. Las clases 3. El tipo Struct 4. Diferencias entre Class y Struct 5. Pilares de la Programación
Más detallesGuía Docente: EXPRESIÓN GRÁFICA APLICADA
EXPRESIÓN GRÁFICA APLICADA FACULTAD DE CIENCIAS QUÍMICAS UNIVERSIDAD COMPLUTENSE DE MADRID CURSO 2013-2014 I.- IDENTIFICACIÓN NOMBRE DE LA ASIGNATURA: NÚMERO DE CRÉDITOS: 6 CARÁCTER: Formación básica MATERIA:
Más detallesTema: GESTIÓN DE SESIONES EN PHP.
2 PHP Tema: GESTIÓN DE SESIONES EN PHP. Facultad: Ingeniería Escuela: Ingeniería en Computación Asignatura: PHP PHP. Guía 6 3 Contenido. En esta práctica se aborda el tema de sesiones. Se da a conocer
Más detallesTema 6. Reutilización de código. Programación 2015-2016. Programación - Tema 6: Reutilización de código
Tema 6 Reutilización de código Programación 2015-2016 Programación - Tema 6: Reutilización de código 1 Tema 6. Reutilización de código Modularidad. Implementación de métodos. Uso de métodos. Programación
Más detallesPráctica sobre compartición de instancias remotas.
Práctica sobre compartición de instancias remotas. Para esta práctica se ha construido un pequeño sistema cliente-servidor que permite la resolución de Sudokus entre varios jugadores. El servidor consta
Más detallesConstrucción de Escenarios
Construcción de Escenarios Consiste en observar los diferentes resultados de un modelo, cuando se introducen diferentes valores en las variables de entrada. Por ejemplo: Ventas, crecimiento de ventas,
Más detallesModelado arquitectónico con UML
Modelado arquitectónico con UML Qué es la arquitectura de software El modelo de 4+1 vistas arquitectónicas Cohesión y acoplamiento Cómo lograr una descomposición modular eficaz Criterios para la selección
Más detallesClases y Objetos. Informática II Ingeniería Electrónica
Clases y Objetos Informática II Ingeniería Electrónica Los Tipos de Datos Hasta ahora, en un programa podemos usar para representar variables a: Tipos fundamentales : enteros (int), caracteres (char),
Más detallesProcesadores de lenguaje Tema 5 Comprobación de tipos
Procesadores de lenguaje Tema 5 Comprobación de tipos Departamento de Ciencias de la Computación Universidad de Alcalá Resumen Sistemas de tipos. Expresiones de tipo. Equivalencia de tipos. Sobrecarga,
Más detallesUML, ejemplo sencillo sobre Modelado de un Proyecto
UML, ejemplo sencillo sobre Modelado de un Proyecto Normal &DOLILFDU 0L3DQRUDPD 626 (VFULEHSDUD1RVRWURV Por Armando Canchala Contenido Introducción Objetivo Requerimientos Casos de Uso Subcasos de Uso
Más detallesGUÍAS. Módulo de Diseño de software SABER PRO 2013-2
GUÍAS Módulo de Diseño de software SABER PRO 2013-2 GUÍAS Módulo de diseño en ingeniería El diseño de productos tecnológicos (artefactos, procesos, sistemas e infraestructura) está en el centro de la naturaleza
Más detallesFUNCIONAMIENTO DE LA UTILIDAD EXCEL EN ECOSOFT
FUNCIONAMIENTO DE LA UTILIDAD EXCEL EN ECOSOFT ÍNDICE REQUISITOS PRINCIPIOS BÁSICOS ESTRUCTURA DEL ARCHIVO EXCEL VALIDACIÓN DEL ARCHIVO EXCEL EXPORTACIÓN / IMPORTACIÓN DEL ARCHIVO EXCEL PREGUNTAS FRECUENTES
Más detallesTEMA 7: DIAGRAMAS EN UML
TEMA 7: DIAGRAMAS EN UML Diagramas en UML El bloque de construcción básico de UML es un Diagrama Introducción a UML 2 1 Modelo de Casos de Uso (MCU) Todos los casos de uso constituyen el MCU que describe
Más detallesFicheros Electrónicos
Última actualización: Marzo 11 Versión para Imprimir Ficheros Electrónicos Ver Índice Introducción A continuación detallamos los aspectos funcionales asociados a la gestión de ficheros electrónicos, herramienta
Más detallesIngeniería de Software I
Ingeniería de Software I Diagramas de Actividad 2 Cuatrimestre 1998 1. INTRODUCCIÓN 1 2. DIAGRAMA DE ACTIVIDAD 1 2.1. SEMÁNTICA 1 2.2. NOTACIÓN 1 2.3. EJEMPLO 2 3. ACCIÓN 3 3.1. SEMÁNTICA 3 3.2. NOTACIÓN
Más detallesFundamentos de la Programación
Fundamentos de la Programación El Software Las operaciones que debe realizar el hardware son especificadas con una lista de instrucciones, llamadas programas o software. Dos grandes grupos de software
Más detallesLos requisitos de accesibilidad en un proyecto software. Implicaciones de usuarios discapacitados en el proceso software
UNIVERSIDAD POLITECNICA DE MADRID Facultad de Informática Departamento de Lenguajes y Sistemas Informáticos e Ingeniería de Software Resumen del Trabajo tutelado: Los requisitos de accesibilidad en un
Más detallesGUÍA DE EVIDENCIA DE LA UNIDAD DE COMPETENCIA
MINISTERIO DE EDUCACIÓN, CULTURA Y DEPORTE SECRETARÍA DE ESTADO DE EDUCACIÓN, FORMACIÓN PROFESIONAL Y UNIVERSIDADES DIRECCIÓN GENERAL DE FORMACIÓN PROFESIONAL INSTITUTO NACIONAL DE LAS CUALIFICACIONES
Más detallesIAP 1003 - ENTORNOS INFORMATIZADOS CON SISTEMAS DE BASES DE DATOS
IAP 1003 - ENTORNOS INFORMATIZADOS CON SISTEMAS DE BASES DE DATOS Introducción 1. El propósito de esta Declaración es prestar apoyo al auditor a la implantación de la NIA 400, "Evaluación del Riesgo y
Más detallesDEFINICIÓN PROYECTO INTEGRADOR PROYECTO INTEGRADOR PRIMER SEMESTRE TECNOLOGÍA EN DESARROLLO DE SOFTWARE
DEFINICIÓN PROYECTO INTEGRADOR PROYECTO INTEGRADOR PRIMER SEMESTRE TECNOLOGÍA EN DESARROLLO DE SOFTWARE 1. TITULO: PLAN PROYECTO DE VIDA 2. DESCRIPCIÓN: El estudiante de todos los programas de formación
Más detallesCurso de Doctorado: Tecnologías de Objetos
Curso de Doctorado: Tecnologías de Objetos Grupo IMO Área de Lenguajes y Sistemas Informáticos Departamento de Informática J. Baltasar García Perez-Schofield http://webs.uvigo.es/jbgarcia/ Implementación
Más detallesCorrespondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech
Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech Resumen Todo documento XBRL contiene cierta información semántica que se representa
Más detallesProgramación orientada a objetos
Repaso Programación orientada a objetos Curso INEM. Programación en Java Santiago Muelas Pascual smuelas@fi.upm.es! Clase! Objeto! Atributo o variable de instancia! Método! Instanciar/crear un objeto!
Más detallesCAPÍTULO I. Sistemas de Control Distribuido (SCD).
1.1 Sistemas de Control. Un sistema es un ente cuya función es la de recibir acciones externas llamadas variables de entrada que a su vez provocan una o varias reacciones como respuesta llamadas variables
Más detallesInstructivo Planificación Curricular Parvularia. Configuración inicial
Versión 1.1 06 de noviembre de 2015 2 Índice de contenidos 1 Introducción... 4 2 Análisis de caso de su establecimiento... 5 2.1 A. Establecimientos que posean plan de estudio definido para Educación Parvularia...
Más detallesProf. Dr. Paul Bustamante
Prácticas de C++ Practica Nº 8 Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante ÍNDICE ÍNDICE... 1 1. INTRODUCCIÓN... 1 1.1 EJERCICIO 1: HERENCIA Y POLIMORFISMO I... 1 1.2 EJERCICIO
Más detallesProgramación Avanzada SOLUCIÓN EXAMEN FEBRERO 2011
Programación Avanzada SOLUCIÓN EXAMEN FEBRERO 2011 Por favor siga las siguientes indicaciones: Escriba con lápiz y de forma prolija. Escriba las hojas de un solo lado Escriba su nombre y número de documento
Más detallesIntroduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia
Introduccion al Lenguaje C Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Introducción C es un lenguaje de programación creado en 1972 por
Más detallesMANUAL DE USUARIOS DEL MODULO DE EVALUACIÓN DE DESEMPEÑO SISTEMA DE ADMINISTRACIÓN DE SERVIDORES PÚBLICOS (SASP)
MINISTERIO DE ADMINISTRACIÓN PÚBLICA (MAP) Dirección de Tecnología de la Información y Comunicación MANUAL DE USUARIOS DEL MODULO DE EVALUACIÓN DE DESEMPEÑO SISTEMA DE ADMINISTRACIÓN DE SERVIDORES PÚBLICOS
Más detallesProfesorado de Informática Ciencias de la Computación INET- DFPD Matemática I - Matemática Discreta usando el computador Ing. Prof.
Árboles Profesorado de Informática Ciencias de la Computación INET- DFPD Matemática I - Matemática Discreta usando el computador Ing. Prof. Paula Echenique Una de las estructuras de datos más importantes
Más detallesPROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.1 UML: Introducción
PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación II MODELOS y HERRAMIENTAS UML 1 1 Técnica de modelado de objetos (I) El modelado orientado a objetos es una técnica de especificación semiformal para
Más detallesOperación de Microsoft Excel. Guía del Usuario Página 79. Centro de Capacitación en Informática
Manejo básico de base de datos Unas de las capacidades de Excel es la de trabajar con listas o tablas de información: nombres, direcciones, teléfonos, etc. Excel puede trabajar con tablas de información
Más detallesCapítulo 4. Prueba de Adaptabilidad
Capítulo 4 Prueba de Adaptabilidad Capítulo 4. Prueba de Adaptabilidad Como se mencionó en el capítulo 2 actualmente no es válido que el software únicamente funcione bien y resuelva el problema que le
Más detalles