Testing Unitario. Laboratorio de Testing y Aseguramiento de la Calidad del Software

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

Download "Testing Unitario. Laboratorio de Testing y Aseguramiento de la Calidad del Software"

Transcripción

1 Testing Unitario Laboratorio de Testing y Aseguramiento de la Calidad del Software

2 Introducción Testing ad hoc Automatización de testing Testing unitario Unidad y Suite de test GoogleTest Fixture e independencia Test parametrizados por datos

3 Testing ad hoc (no sistemático) Todo programador está habituado al testing. En muchos casos, la forma en la que hacemos testing es ad hoc, es decir, no sistemática. Ej: supongamos que queremos testear la siguiente función: #include <stdio.h> int main(int argc, char **argv) { int a,b,res; } if (argc!= 3) printf("uso: max <int> <int>\n\n"); else { a = atoi(argv[1]); b = atoi(argv[2]); if (a < b) res = b; else res = a; printf("resultado: %i\n\n", res); }

4 Testing ad hoc (cont.) En este caso, podemos testear la aplicación directamente desde la línea de comandos: $ gcc max.c -o max $ $./max 2 3 Resultado: 3 $./max Resultado: $./max Resultado: -3 $./max Uso: max <int> <int> $

5 Testing ad hoc (cont.) Ej: En caso que lo que tengamos no sea una aplicación, sino una funcionalidad interna: int max(int x, int y) { if (x < y) return y; else return x; } el testing ad hoc se vuelve más difícil: tenemos que programar un arnés para la rutina (i.e., un main que la invoque).

6 Dificultades del Testing ad hoc Es simple para testear aplicaciones, pero no almacena los tests para pruebas futuras. Requiere la construcción manual de arneses para la prueba de funcionalidades internas (no directamente invocables desde la interfaz de la aplicación). Requiere la inspección humana de la salida de los tests: se decide manualmente si el test pasó o no.

7 Automatización de testing Cuando el testing se vuelve complejo y caro como el testing es opcional, hay una tendencia a abandonarlo; o se lo intenta simplificar a través de su automatización. El costo de realizar y mantener un testing automatizado debe ser menor que el costo ahorrado por la reparación de defectos encontrados tardíamente.

8 Economía del Testing Esfuerzo en testing Incremento del esfuerzo Esfuerzo reducido Esfuerzo en desarrollo Esfuerzo inicial Esfuerzo ahorrado

9 Economía del Testing Esfuerzo en testing Incremento del esfuerzo Esfuerzo creciente Esfuerzo en desarrollo Esfuerzo inicial Esfuerzo ahorrado

10 Automatización de testing: objetivos Aumentar la calidad: utilizando tests como especificaciones; previniendo la reintroducción de defectos (en lugar de repararlos); localizando los defectos (ubicación y causa). Comprender el SUT: utilizando los tests como documentación. Reducir (y no introducir) riesgos: utilizando los tests como red de seguridad ; sin introducir cambios en el SUT.

11 Automatización de testing: objetivos Ser sencillos de ejecutar: completamente automáticos. self-checking. repetibles. Ser sencillos de escribir y mantener: simplicidad. expresividad. separación de incumbencias. Requerir mantenimiento mínimo: robustez.

12 Automatización de testing: problemas Muchas herramientas ofrecen automatizar test que interactuan con el SUT a través de su interfaz de usuario (metáfora record and playback) Estos test acarrean los siguientes problemas Sensibilidad al comportamiento Sensibilidad a la interfaz Sensibilidad a los datos Sensibilidad al contexto

13 Pruebas unitarias Testing unitario Unidad y Suite de test GoogleTest Fixture e independecia Test parametrizados por datos

14 Testing unitario Es una metodología para testear unidades individuales de código (SUT: Software under test), preferentemente de forma aislada de sus dependencias (DOC: Depend-on component). Las unidades pueden ser de distinta granularidad: porción de código, método, clase, librería, etc. Normalmente las pruebas son creadas por los mismos programadores durante el proceso de desarrollo. Normalmente se utiliza uno o mas frameworks para su sistematización y automatización.

15 Testing unitario (cont.) Normalmente las unidades son las partes mas pequeñas de un sistema: funciones o procedimientos, clases, etc. pero la granularidad es variable. Test unitario 1 ejercita alp unidad 1 Test unitario 2 ejercita Test unitario 3 ejercita unidad 2 usa Test unitario 4 ejercita componente 2 usa Test unitario 5 ejercita aplicación

16 Testing unitario: sistematización y automatización Una librería (framework) de apoyo al testing unitario ayuda a sistematizar y automatizar parte de las tareas manuales asociadas al testing: Define la estructura básica de un test: Inicialización Ejercitación Verificación Demolición Permite almacenar los tests como scripts. Permite definir la salida esperada como parte del script.

17 Testing unitario: sistematización y automatización Una librería (framework) de apoyo al testing unitario ayuda a sistematizar y automatizar parte de las tareas manuales asociadas al testing: Permite organizar tests en suites: Algunas librerías encuentran todos los test definidos y construyen la suite automáticamente. Otras requieren una construcción explícita. Las suites suelen organizarse jerárquicamente.

18 Testing unitario: sistematización y automatización Una librería (framework) de apoyo al testing unitario ayuda a sistematizar y automatizar parte de las tareas manuales asociadas al testing: Ofrece entornos para la ejecución de tests y suites: El test runner permite ejecutar automaticamente todos los test o subconjunto de ellos, de manera independiente. El test runner permite repetir un test con diferentes datos de entrada.

19 Testing unitario: sistematización y automatización Una librería (framework) de apoyo al testing unitario ayuda a sistematizar y automatizar parte de las tareas manuales asociadas al testing: Reporta información detallada sobre las pruebas: El test runner genera un reporte estadístico de la ejecución de las suites, El resultado puede incluir datos de benchmarking y cobertura.

20 Testing unitario con Google Test Google Test Framework es una librería de apoyo al testing unitario para C/C++ que incluye: descubrimiento automático de tests, amplio conjunto de aserciones (y aserciones definidas por el usuario), test negativos, fallas fatales y no fatales, test paramétricos, etc.

21 Estructura de un test arrange: se preparan los datos para alimentar al programa. #include <limits.h> #include "staticroutines.h" #include "gtest/gtest.h" TEST(MaxTest, Positive) { int a = 19; int b = 4; act: se ejecuta el programa con los datos construidos. int res = max(a,b); } EXPECT_TRUE(res == a); assert: se evalúa si los resultados obtenidos se corresponden con lo esperado.

22 Ejecución de tests Google Test necesita un runner explícito, que detecta automáticamente todos los test, y puede ser común a todos los test de un proyecto. se inicializa el framework int main(int argc, char **argv) { ::testing::initgoogletest(&argc, argv); } return RUN_ALL_TESTS(); se ejecutan todos los test

23 Demo Max

24 Algunas aserciones ASSERT_TRUE(<expr>): verifica que <expr> evalúe a true, parando la ejecución en caso de falla. ASSERT_FALSE(<expr>): verifica que <expr> evalúe a false, parando la ejecución en caso de falla. EXPECT_TRUE(<expr>): verifica que <expr> evalúe a true. EXPECT_FALSE(<expr>): verifica que <expr> evalúe a false. ASSERT_EQ(<expected>, <actual>): verifica que <actual> y <expected> evalúen al mismo valor. Sobre punteros verifica que sean la misma dirección y no que tengan el mismo valor! NE, LT, LE, GT, GE, para verificar desigualdad, menor, menor igual, mayor, y mayor igual respectivamente.

25 Algunas aserciones (cont.) ASSERT_STREQ(<expected>, <actual>): verifica que los strings <actual> y <expected> tengan el mismo contenido. STRNE: verifica que tengan diferente contenido. ASSERT_STRCASEEQ(<expected>, <actual>): verifica que los strings <actual> y <expected> tengan el mismo contenido, ignorando mayúsculas/minúsculas. STRCASENE: verifica que tengan diferente contenido ignorando mayúsculas/minúsculas. ASSERT_PREDn(<pred>, <val1>,..., <valn>): verifica que la función <pred> (de n parámetros) aplicada a <val1>,...,<valn> devuelva true.

26 Algunas aserciones (cont. 2) ASSERT_FLOAT_EQ(<expected>, <actual>): verifica los valores float <expected> y <actual> sean casi iguales. DOUBLE: para doubles ASSERT_NEAR(<val1>, <val2>, <error>): verifica que la diferencia entre <val1> y <val2> no supere el valor <error>. ASSERT_THROW(<prog>, <exception>): verifica que el programa <prog> lance la expeción <exception>. ASSERT_ANY_THROW(<prog>,): verifica que el programa <prog> lance cualquier excepción. ASSERT_NO_THROW(<prog>,): verifica que el programa <prog> no lance ninguna excepción. También tienen sus versiones EXPECT

27 Test negativos en Google Test Los tests negativos son aquellos en los que probamos que el SUT falla al ejecutar cierta porción de código bajo ciertas entradas. Con Google Test, podemos capturar los tests negativos con aserciones especiales: TEST(DeathTest, SegmentationFault) { ASSERT_DEATH({ int *n = NULL; int x = *n;}, "Segmentation fault:.*"); } TEST(DeathTest, NormalExit) { EXPECT_EXIT(NormalExit(), ::testing::exitedwithcode(0), "Success"); } TEST(DeathTest, SigKill) { EXPECT_EXIT(KillMyself(), ::testing::killedbysignal(sigkill), "Sending..."); }

28 Ejercicio Utilizando la clase Point: 1.Implementá el método equals. 2.Construí una suite de test para la clase, incluyendo al menos un test por método. 3. Descubriste algún bug? Corregilo.

29 Suites de test Cuando el SUT está compuesto por varias clases, o simplemente varios métodos de una clase, resulta claro que debemos organizar los tests. Los tests se organizan en test suites: una test suite es simplemente un conjunto de tests. Con Google Test, varios test lógicamente relacionados se puede agrupar en bajo un mismo nombre de Test Case. Una Suite (Fixture) es un conjunto de test bajo un mismo nombre de Test Case, definidos en una misma clase.

30 Suites de test y datos compartidos En muchos casos, los tests de una suite comparten los datos que manipulan. En estos contextos, suele ser útil organizar los tests definiendo procesos comunes de inicialización (o arrangement, o setup) para todos los tests. Similarmente, se pueden definir procesos comunes de destrucción (o teardown), que se ejecuten luego de cada test.

31 Suites de test y datos compartidos: un ejemplo Consideremos un ejemplo de testing de una clase Minefield, que representa el estado de un campo minado en el juego Buscaminas : class Mine { #include bool mined; "Mine.h" bool marked; class bool Minefield opened; { public: Mine field[8][8];! Mine(); public: void void setmined(bool open(int x, ismined); int y); bool void ismined(); close(int x, int y); void void setmarked(bool mark(int x, ismarked); int y); bool void ismarked(); unmark(int x, int y); void void setopened(bool putmine(int isopened); x, int y); bool void isopened(); removemine(int x, int y);! int minedneighbours(int x, int y);! }; }; Para poder testear minedneighbours, debemos crear el minefield, y ubicar minas en lugares específicos.

32 Suites de test y datos compartido: x un ejemplo x El proceso setup xen el siguiente ejemplo crea el escenario x x adecuado x para la ejecución de tests de minedneighbours. Se ejecuta antes de cada xtest. #include "Minefield.h" #include "gtest/gtest.h" class MinefieldTest : public ::testing::test {! protected:! Minefield testingfield;!! void SetUp() {!! testingfield.putmine(0, 0);!! testingfield.putmine(3, 4);!! testingfield.putmine(4, 3);!! testingfield.putmine(2, 2); TEST_F(MinefieldTest, NoOfMinedNeighbours01) { int number = testingfield.minedneighbours(1,!! 0); testingfield.putmine(0, 7); ASSERT_EQ(1, number);!! testingfield.putmine(7, 7); };!! testingfield.putmine(5, 1);!! testingfield.putmine(4, 7); TEST_F(MinefieldTest, NoOfMinedNeighbours02) {! } }; int number = testingfield.minedneighbours(7, }; 7); ASSERT_EQ(0, number); x

33 Sobre setup y teardown Es importante que no haya dependencias entre tests diferentes. No hay ninguna garantía sobre el orden en el que se ejecutan los tests GoogleTest construye un fixture fresco para cada test. testingfield = new Minefield(); testingfield.setup(); Las rutinas SetUp y TearDown ayudan NoOfMinedNeighbours01; a setear el contexto entre diferentes tests. testingfield.teardown(); free(testingfield); El método SetUp se ejecuta antes de cada test de la suite. testingfield.setup(); testingfield = new Minefield(); NoOfMinedNeighbours02; El método TearDown se ejecuta después de cada test testingfield.teardown(); de la suite. free(testingfield);

34 Independencia entre Tests GoogleTest asegura la independencia entre test (aunque class MineTest : public ::testing::test { se debe tener cuidado! con datos persistentes). protected: static void SetUpTestCase() { mine = new Mine(); } class MineTest : public ::testing::test {! static Mine* mine; class MineTest : protected: public ::testing::test }; {! Mine *mine; protected: }; Mine* MineTest::mine = NULL; Mine mine; }; TEST_F(MineTest, TEST_F(MineTest, Marked) { Marked) { mine = new Mine(); mine->setmarked(true); TEST_F(MineTest, mine->setmarked(true); Marked) { ASSERT_TRUE(mine->isMarked() &&!mine->isopened()); mine.setmarked(true); ASSERT_TRUE(mine->isMarked() }; &&!mine->isopened()); ASSERT_TRUE(mine.isMarked() }; &&!mine.isopened()); }; TEST_F(MineTest, Opened) { TEST_F(MineTest, Opened) mine->setopened(true); { TEST_F(MineTest, mine->setopened(true); Opened) { ASSERT_TRUE(!mine->isMarked() && mine->isopened()); mine.setopened(true); ASSERT_TRUE(!mine->isMarked() }; && mine->isopened()); ASSERT_TRUE(!mine.isMarked() }; && mine.isopened()); };

35 Demo Minefield

36 Ejercicio Utilizando las clases Minefield y Minefield_Test: 1.Agregá a Minefield_Test más casos de prueba para testear todos los métodos de Minefield. 2.Implementá el método minedneighbours en la clase Minefield y extendé el test correspondiente.

37 Tests parametrizados por los datos que manipulan Ya hemos visto varios casos en los cuales varios tests poseen exactamente la misma estructura, pero difieren en los datos que se utilizan para realizar el arrange del test. Para estos casos, Google Test ofrece una forma conveniente de organizar los tests, separando su estructura de los datos que manipulan. La clave es: definir un test como paramétrico. definir un generador de parámetros para la suite, que se usará para instanciar los datos para los tests.

38 Test parametrizados: un ejemplo Consideremos nuevamente el método max. El siguiente test parametrizado lo prueba con varios datos diferentes: using namespace std; using ::testing::testwithparam; using ::testing::values; Indica que la suite está formada por tests parametrizados. typedef ::tr1::tuple<int, int> mytuple; class MaxTest : public TestWithParam< mytuple > { }; TEST_P(MaxTest, Test) { mytuple row; int maxval, minval; } row = GetParam(); maxval = ::tr1::get<0>(row); minval = ::tr1::get<1>(row); ASSERT_EQ(maxVal, max(minval,maxval)); INSTANTIATE_TEST_CASE_P(MaxOnLeft, MaxTest, Values( mytuple (2,1), mytuple (45,-2), mytuple (-12,-90) )); Test paramétrico (TEST_P) Datos de los test

39 Test parametrizados Generador Descripción El runner genera una el conjunto instancia de valores de cada en el rango test por comenzando cada dato: en Range(begin, MaxOnLeft/MaxTest.Test/0 end, step) begin, terminando para (2,1) en end (no incluido) de a step incrementos. MaxOnLeft/MaxTest.Test/1 para (42,2) Values(v1,v2,...,vn) MaxOnLeft/MaxTest.Test/2 el conjunto para de valores (-12,-90) {v1, v2,..., vn}. Puede además haber más de una generador de datos (entonces ValuesIn(container) se genera el conjunto una instancia de valores por del contenedor cada test, container. por cada dato de cada generador). GoogleTest Bool define una el conjunto serie de de valores funciones {true, false}. para definir generadores de datos: Combine(g1,g2,...,gn) el producto cartesiano (tuple< >) de g1, g2,..., gn.

40 Demo Max Parametrizado Largest Parametrizado

41 Testing unitario: beneficios El testing unitario sistematizado: Facilita los cambios: los test permiten comprobar que la unidad continúa funcionando correctamente a pesar de cualquier tipo de cambio (refactoring o nuevas funcionalidades); su sistematización facilita el testing de regresión. Simplifica la integración: los test reducen la incertidumbre sobre las componentes individuales, facilitando la integración y su verificación, ya sea bottom-up o top-down (con la integración de mocks)

42 Testing unitario: beneficios El testing unitario sistematizado: Sirve como documentación: los test especifican las partes criticas del comportamiento de la unidad, ya sea su uso apropiado o inapropiado; sirven como ejemplo y descripción siempre actualizada de la API. Contribuye al diseño: los test sirven como ejemplo de uso y dan feedback temprano; fuerzan a enforcarse en el qué y en el cómo, encontrando defectos de diseño y aportando a su replanteamiento.

43 Testing unitario: principios Primero escribir los test. Diseñar pensando en la testeabilidad. Utilizar la puerta principal. Documentar los test fixtures. No modificar el SUT. Mantener la independencia de los test. Aislar el SUT. Minimizar el solapamiento. Minimizar el código inestable. Mantener la lógica de testing fuera del código de producción. Verificar sólo una condición por test. Probar diferentes incumbencias de forma separada.

44 Ejercicio Considerando los métodos definidos en staticroutines: 1.Extendé el test de largest para incluir más casos. 2.Construí una suite paramétrica para testear bubblesort. 3.Si encontrás bugs, corregilos.

45 Referencias Google Test: code.google.com/p/googletest/

Técnicas Avanzadas de Testing Automatizado

Técnicas Avanzadas de Testing Automatizado Técnicas Avanzadas de Testing Automatizado Introducción: Testing ad hoc Testing sistemático Testing unitario Unidad y Suite de tests Frameworks xunit Fixtures compartidos e independecia Tests parametrizados

Más detalles

Modulo 1 El lenguaje Java

Modulo 1 El lenguaje Java Modulo 1 El lenguaje Java 13 - Codificación en Java Una de las grandes diferencias entre Java y Pascal en cuando a la codificación es que Java se trata de un lenguaje de los llamados case sensitive Esto

Más detalles

Pruebas de unidad con JUnit

Pruebas de unidad con JUnit Pruebas de unidad con JUnit Cuando se implementa software, resulta recomendable comprobar que el código que hemos escrito funciona correctamente. Para ello, implementamos pruebas que verifican que nuestro

Más detalles

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

Centro de Capacitación en Informática

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

Testing. Tipos, Planificación y Ejecución de Pruebas

Testing. Tipos, Planificación y Ejecución de Pruebas Testing Tipos, Planificación y Ejecución de Pruebas Contenido Definiciones del Testing de Software Objetivos, conceptos Tipos de Test Testing a-la RUP Rol del Testing en el proceso Artefactos Trabajadores

Más detalles

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL OBJETIVO Mejorar el nivel de comprensión y el manejo de las destrezas del estudiante para utilizar formulas en Microsoft Excel 2010. 1) DEFINICIÓN Una fórmula de Excel es un código especial que introducimos

Más detalles

Elementos requeridos para crearlos (ejemplo: el compilador)

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

Más detalles

IAP 1003 - ENTORNOS INFORMATIZADOS CON SISTEMAS DE BASES DE DATOS

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

Tema: Arreglos de Objetos en C++.

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 detalles

Tecnólogo Informático- Estructuras de Datos y Algoritmos- 2009

Tecnólogo Informático- Estructuras de Datos y Algoritmos- 2009 Árboles Ejemplos de estructuras arborescentes: con forma de árbol Regla de Alcance: los objetos visibles en un procedimiento son aquellos declarados en él mismo o en cualquier ancestro de él (cualquier

Más detalles

Programación Orientada a Objetos en JAVA

Programación Orientada a Objetos en JAVA Programación Orientada a Objetos en JAVA Jorge Pérez Introducción a la Computación Jorge Pérez Programación Orientada a Objetos en JAVA 1 / 36 Orientación a Objetos OO es un paradigma de modelación y programación

Más detalles

Fundamentos de Investigación de Operaciones Investigación de Operaciones 1

Fundamentos de Investigación de Operaciones Investigación de Operaciones 1 Fundamentos de Investigación de Operaciones Investigación de Operaciones 1 1 de agosto de 2003 1. Introducción Cualquier modelo de una situación es una simplificación de la situación real. Por lo tanto,

Más detalles

Tema: Sobrecarga de Operadores.

Tema: 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 detalles

Capitulo 3. Test Driven Development

Capitulo 3. Test Driven Development Capitulo 3. Test Driven Development 3.1 Uso de JUnit como framework para realizar pruebas unitarias Como ya se mencionó en el marco teórico Test Driven Development es una técnica de programación extrema

Más detalles

Programación I: Funciones y módulos

Programación I: Funciones y módulos Programación I: Funciones y módulos Esteban De La Fuente Rubio 2 de abril de 23 Índice. Funciones.. Definición y llamado de funciones............................................. 2.2. Parámetros por omisión..................................................

Más detalles

Técnicas Avanzadas de Testing Automatizado

Técnicas Avanzadas de Testing Automatizado Técnicas Avanzadas de Testing Automatizado Criterios de cobertura: Caja blanca/caja negra Clases de Equivalencia Valores de borde Cobertura basada en flujo de control CodeCover Mutación Jumble Criterios

Más detalles

UML, ejemplo sencillo sobre Modelado de un Proyecto

UML, ejemplo sencillo sobre Modelado de un Proyecto UML, ejemplo sencillo sobre Modelado de un Proyecto Normal &DOLILFDU 0L3DQRUDPD 626 (VFULEHSDUD1RVRWURV Por Armando Canchala Contenido Introducción Objetivo Requerimientos Casos de Uso Subcasos de Uso

Más detalles

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

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

Más detalles

En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.

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

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA UNED Centro Asociado de Cádiz RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA 1. OBJETOS Cualquier elemento del programa es un objeto. Un programa es un conjunto de objetos que se comunican entre sí

Más detalles

Baires. Design - Test - Automate

Baires. Design - Test - Automate SERVICIOS DE CONTROL DE CALIDAD Y TESTING DE SOFTWARE Áreas con falta de Calidad y Testing La falta de control de calidad orgánico en una empresa tiene impactos que van más allá de la aparición de errores

Más detalles

Base de datos en la Enseñanza. Open Office

Base de datos en la Enseñanza. Open Office 1 Ministerio de Educación Base de datos en la Enseñanza. Open Office Módulo 1: Introducción Instituto de Tecnologías Educativas 2011 Introducción Pero qué es una base de datos? Simplificando mucho, podemos

Más detalles

TEMA 7: DIAGRAMAS EN UML

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

INSTITUTO TECNOLOGICO de la laguna Programación Orientada a Objetos en C++

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

Capacitación Rational Funcional Tester

Capacitación Rational Funcional Tester Capacitación Rational Funcional Tester Clínica Alemana Santiago, 28 de abril de 2009 Introducción La presente exposición es sobre las principales características de Rational Functional Tester Describiendo

Más detalles

Introducción a la programación orientada a objetos

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

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

Introducción al Proceso de Pruebas.

Introducción al Proceso de Pruebas. Introducción al Proceso de Pruebas. Javier Gutiérrez / javierj@us.es Introducción al proceso de pruebas Objetivo: repasar las ideas principales sobre las pruebas del software y, en concreto, las que usaremos

Más detalles

ISTP CIDET COMPUTACION E INFORMATICA ARREGLOS EN JAVA

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

Introducción a Visual Studio.Net

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

Más detalles

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

Conceptos. ELO329: Diseño y Programación Orientados a Objetos. ELO 329: Diseño y Programación Orientados a Objetos Conceptos ELO329: Diseño y Programación Orientados a Objetos 1 Paradigmas de Programación Historia: Los computadores parten cableados por hardware, Luego se introduce la programación en binario, Se desarrolla

Más detalles

MANUAL DE USUARIOS DEL MODULO DE EVALUACIÓN DE DESEMPEÑO SISTEMA DE ADMINISTRACIÓN DE SERVIDORES PÚBLICOS (SASP)

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

INSTRUCTIVO DEL COMANDO MAKE

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

Más detalles

PRÁCTICA DE LABORATORIO 3 Tipo Abstrato de Dato

PRÁCTICA DE LABORATORIO 3 Tipo Abstrato de Dato ESCUELA DE INGENIERÍA DE SISTEMAS DEPARTAMENTO DE COMPUTACIÓN PROGRAMACIÓN 2 PRÁCTICA DE LABORATORIO 3 Tipo Abstrato de Dato Contenido Introducción...1 Dato...1 Valor...1 Tipo de Dato...2 Tipo Abstracto

Más detalles

Apuntes de Matemática Discreta 1. Conjuntos y Subconjuntos

Apuntes de Matemática Discreta 1. Conjuntos y Subconjuntos Apuntes de Matemática Discreta 1. Conjuntos y Subconjuntos Francisco José González Gutiérrez Cádiz, Octubre de 2004 Universidad de Cádiz Departamento de Matemáticas ii Lección 1 Conjuntos y Subconjuntos

Más detalles

ALGORITMICA Y PROGRAMACION POR OBJETOS I

ALGORITMICA Y PROGRAMACION POR OBJETOS I ALGORITMICA Y PROGRAMACION POR OBJETOS I Nivel 2 Definiendo situaciones y manejando casos Marcela Hernández Hoyos Qué vamos a aprender en este nivel: Diferencia entre clase y objeto Modelar características

Más detalles

Arreglos. // Incluir E/S y Librerías Standard #include <stdlib.h> #include <stdio.h>

Arreglos. // Incluir E/S y Librerías Standard #include <stdlib.h> #include <stdio.h> Arreglos Introducción. En los temas anteriores se han estudiado los diferentes tipos de datos simples de C++, usados para representar valores simples como enteros, reales o caracteres. Sin embargo, en

Más detalles

MATERIAL 2 EXCEL 2007

MATERIAL 2 EXCEL 2007 INTRODUCCIÓN A EXCEL 2007 MATERIAL 2 EXCEL 2007 Excel 2007 es una planilla de cálculo, un programa que permite manejar datos de diferente tipo, realizar cálculos, hacer gráficos y tablas; una herramienta

Más detalles

LEER Y ESCRIBIR ARCHIVOS O FICHEROS EN C. FOPEN, FCLOSE, MODOS DE ACCESO READ, WRITE Y APPEND (CU00536F)

LEER Y ESCRIBIR ARCHIVOS O FICHEROS EN C. FOPEN, FCLOSE, MODOS DE ACCESO READ, WRITE Y APPEND (CU00536F) APRENDERAPROGRAMAR.COM LEER Y ESCRIBIR ARCHIVOS O FICHEROS EN C. FOPEN, FCLOSE, MODOS DE ACCESO READ, WRITE Y APPEND (CU00536F) Sección: Cursos Categoría: Curso básico de programación en lenguaje C desde

Más detalles

EDICIÓN Y FORMATO (II)

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

Más detalles

CASO PRÁCTICO DISTRIBUCIÓN DE COSTES

CASO PRÁCTICO DISTRIBUCIÓN DE COSTES CASO PRÁCTICO DISTRIBUCIÓN DE COSTES Nuestra empresa tiene centros de distribución en tres ciudades europeas: Zaragoza, Milán y Burdeos. Hemos solicitado a los responsables de cada uno de los centros que

Más detalles

OBTENER DATOS EXTERNOS

OBTENER DATOS EXTERNOS La herramienta Obtener datos externos nos va a permitir llevar a Excel datos que proceden de otras fuentes de datos, como archivos de texto o bases de datos, para su posterior tratamiento y análisis con

Más detalles

Capítulo 6. Introducción a la POO

Capí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 detalles

Diseño e implementación 15% Instalación y comisionamiento 6% Operación y mantenimiento 15%

Diseño e implementación 15% Instalación y comisionamiento 6% Operación y mantenimiento 15% SIS 202 Diseño funcional 15 minutos O Generalidades 1 Tipos de software 2 Ciclo de vida de desarrollo 3 Módulos de software certificados 4 Herramientas de utilidad de software 5 Sumario Generalidades En

Más detalles

2. Estructura de un programa en Java

2. Estructura de un programa en Java 24 A. García-Beltrán y J.M. Arranz 2. Estructura de un programa en Java Objetivos: a) Describir la estructura del código fuente de una aplicación Java b) Presentar los conceptos de comentario y de identificador

Más detalles

GUÍA TÉCNICA PARA LA DEFINICIÓN DE COMPROMISOS DE CALIDAD Y SUS INDICADORES

GUÍA TÉCNICA PARA LA DEFINICIÓN DE COMPROMISOS DE CALIDAD Y SUS INDICADORES GUÍA TÉCNICA PARA LA DEFINICIÓN DE COMPROMISOS DE CALIDAD Y SUS INDICADORES Tema: Cartas de Servicios Primera versión: 2008 Datos de contacto: Evaluación y Calidad. Gobierno de Navarra. evaluacionycalidad@navarra.es

Más detalles

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

Universidad Católica del Maule. Fundamentos de Computación Especificación de tipos de datos ESPECIFICACIÓN ALGEBRAICA DE TIPOS DE DATOS

Universidad Católica del Maule. Fundamentos de Computación Especificación de tipos de datos ESPECIFICACIÓN ALGEBRAICA DE TIPOS DE DATOS Especificación algebraica ESPECIFICACIÓN ALGEBRAICA DE TIPOS DE DATOS Un tipo abstracto de datos se determina por las operaciones asociadas, incluyendo constantes que se consideran como operaciones sin

Más detalles

Programación Orientada a Objetos con Java

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

Curso de Doctorado: Tecnologías de Objetos

Curso de Doctorado: Tecnologías de Objetos Curso de Doctorado: Tecnologías de Objetos Grupo IMO Área de Lenguajes y Sistemas Informáticos Departamento de Informática J. Baltasar García Perez-Schofield http://webs.uvigo.es/jbgarcia/ Implementación

Más detalles

11. Algunas clases estándar de Java (II)

11. 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 detalles

Examen escrito de Programación 1

Examen escrito de Programación 1 Examen escrito de Programación 1 Escuela de Ingeniería y Arquitectura Departamento de Informática e Ingeniería de Sistemas 2 de septiembre de 2015 Se debe disponer sobre la mesa en lugar visible un documento

Más detalles

PROBLEMAS DE PROBABILIDADES Y ESTADÍSTICA

PROBLEMAS DE PROBABILIDADES Y ESTADÍSTICA Problema 1 PROBLEMAS DE PROBABILIDADES Y ESTADÍSTICA Hoja 2 Una población de 20 animales insectívoros se introduce en una zona donde el 14% de los insectos que le sirven de alimento son venenosos. Cada

Más detalles

Práctica 2: Simón dice

Práctica 2: Simón dice Práctica 2: Simón dice Fecha de entrega: 31 de enero de 2016 0.- Descripción del juego (Wikipedia.org) Simon dice es un juego electrónico, creado por Ralph Baer, que consiste en reproducir una secuencia

Más detalles

Orígenes y descripción de la Automatización 'Inteligente'

Orígenes y descripción de la Automatización 'Inteligente' Orígenes y descripción de la Automatización 'Inteligente' Orígenes La automatización, como hoy la propone Agile, nace del concepto Jidoka; también llamado: Autonomation. Automation with a human touch.

Más detalles

Actividades para mejoras. Actividades donde se evalúa constantemente todo el proceso del proyecto para evitar errores y eficientar los procesos.

Actividades para mejoras. Actividades donde se evalúa constantemente todo el proceso del proyecto para evitar errores y eficientar los procesos. Apéndice C. Glosario A Actividades de coordinación entre grupos. Son dinámicas y canales de comunicación cuyo objetivo es facilitar el trabajo entre los distintos equipos del proyecto. Actividades integradas

Más detalles

Programa Presupuestos de Sevillana de Informática.

Programa Presupuestos de Sevillana de Informática. Programa Presupuestos de Sevillana de Informática. Introducción. En sus inicios, el programa Presupuestos estaba pensado únicamente para escribir e imprimir presupuestos, facilitando el trabajo con un

Más detalles

Técnicas Avanzadas de Testing Automático

Técnicas Avanzadas de Testing Automático Técnicas Avanzadas de Testing Automático Marcelo Frias ITBA - Buenos Aires, Argentina CONICET Preliminares: Calidad Validación y Verificación Especificaciones y V&V Análisis estático y dinámico Inspecciones

Más detalles

Tema 1: Fundamentos de lógica, teoría de conjuntos y estructuras algebraicas: Apéndice

Tema 1: Fundamentos de lógica, teoría de conjuntos y estructuras algebraicas: Apéndice Tema 1: Fundamentos de lógica, teoría de conjuntos y estructuras algebraicas: Apéndice 1 Polinomios Dedicaremos este apartado al repaso de los polinomios. Se define R[x] ={a 0 + a 1 x + a 2 x 2 +... +

Más detalles

LOGÍSTICA DE SALIDA: Métodos de Despacho de Mercadería. Sistema. IWMS MKR Systems

LOGÍSTICA DE SALIDA: Métodos de Despacho de Mercadería. Sistema. IWMS MKR Systems LOGÍSTICA DE SALIDA: Métodos de Despacho de Mercadería Sistema IWMS MKR Systems 1 Contenidos del Documento: Introducción. Pedidos de Cliente. Preparación de Cargas. o Concepto de Carga en IWMS. o Preparación

Más detalles

GERENCIA DE INTEGRACIÓN

GERENCIA DE INTEGRACIÓN GERENCIA DE INTEGRACIÓN CONTENIDO Desarrollo del plan Ejecución del plan Control de cambios INTRODUCCIÓN La gerencia de integración del proyecto incluye los procesos requeridos para asegurar que los diversos

Más detalles

Parte 1 Múltiple Opción

Parte 1 Múltiple Opción Cada pregunta de la parte múltiple opción contestada correctamente tiene un valor de 1,5 puntos. Cada pregunta incorrecta de la múltiple opción resta 0,5 puntos. Esta parte consta de 25 preguntas por lo

Más detalles

Operación 8 Claves para la ISO 9001-2015

Operación 8 Claves para la ISO 9001-2015 Operación 8Claves para la ISO 9001-2015 BLOQUE 8: Operación A grandes rasgos, se puede decir que este bloque se corresponde con el capítulo 7 de la antigua norma ISO 9001:2008 de Realización del Producto,

Más detalles

II. Relación con Terceros

II. Relación con Terceros II. Relación con Terceros Introducción a la Relación con Terceros Los terceros se refieren a las entidades con las cuales se realizan transacciones en la organización. Hay tres tipos de terceros, están:

Más detalles

PROYECTO MIS IMÁGENES,

PROYECTO MIS IMÁGENES, Jose Ignacio González Gómez. Departamento de Economía Financiera y Contabilidad Universidad de La Laguna www.jggomez.eu Tema: Script para subir ficheros a través de un formulario y almacenar otros campos

Más detalles

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

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

Más detalles

DCU Diagramas de casos de uso

DCU Diagramas de casos de uso DCU Diagramas de casos de uso Universidad de Oviedo Departamento de Informática Contenidos Introducción Elementos básicos Más sobre los actores Más sobre los casos de uso Más sobre las asociaciones Otros

Más detalles

Inter American Accreditation Cooperation. Grupo de prácticas de auditoría de acreditación Directriz sobre:

Inter American Accreditation Cooperation. Grupo de prácticas de auditoría de acreditación Directriz sobre: Grupo de prácticas de auditoría de acreditación Directriz sobre: Auditando la competencia de los auditores y equipos de auditores de organismos de certificación / registro de Sistemas de Gestión de Calidad

Más detalles

2.2.- Paradigmas de la POO

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

Más detalles

IV. CARGUE DE SOPORTES

IV. CARGUE DE SOPORTES IV. CARGUE DE SOPORTES Esta opción de cargue de soportes se ha realizado para efectuar las correcciones necesarias en cuanto a cargue de servicio se refiere, como anulación, modificación de RIPS de algún

Más detalles

MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO

MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO Fecha última revisión: Marzo 2016 INDICE DE CONTENIDOS HERRAMIENTA DE APROVISIONAMIENTO... 2 1. QUÉ ES LA HERRAMIENTA DE APROVISIONAMIENTO... 2 HERRAMIENTA

Más detalles

Ejercicio Nº 3: Realizar aumentos en una Tabla de Sueldos

Ejercicio Nº 3: Realizar aumentos en una Tabla de Sueldos SESION5: BASE DE DATOS PLANILLAS Ejercicio Nº : Realizar aumentos en una Tabla de Sueldos Veamos pues. En la hoja de calculo se tiene la Tabla de Sueldos de varios empleados (aquí ahora vemos solo empleados,

Más detalles

Organización de Computadoras

Organización de Computadoras Organización de Computadoras Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Segundo Cuatrimestre de 2015 Proyecto N 1 Programación en Lenguaje C El objetivo principal

Más detalles

Tema 3. Test Driven Development

Tema 3. Test Driven Development Tema 3. Test Driven Development Ejercicios Resueltos Ejercicio 01. Desarrolle mediante TDD una implementación del algoritmo de la Criba de Eratóstenes para calcular la lista de los números primos desde

Más detalles

PRU. Fundamento Institucional. Objetivos. Alcance

PRU. Fundamento Institucional. Objetivos. Alcance PRU INSTRUCCIONES: a continuación se describe el flujo de trabajo correspondiente al área de procesos de PRUEBAS para el desarrollo de software, en el cual se debe apoyar para la ejecución de sus actividades;

Más detalles

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

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

Más detalles

Estimado usuario. Tabla de Contenidos

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

Más detalles

9. Objetos y clases. 9.1. Clases

9. Objetos y clases. 9.1. Clases Programación orientada a objetos con Java 103 9. Objetos y clases Objetivos: a) Presentar el concepto de objeto, clase, atributo, método e instancia b) Interpretar el código fuente de una aplicación Java

Más detalles

Sesión 3 - Movimiento Diferencial

Sesión 3 - Movimiento Diferencial Sesión 3 - Movimiento Diferencial Qué aprenderemos en esta sesión? Para entender como nuestro robot se va a desplazar por cualquier superficie, debemos aprender la manera en que lo hace, por eso, en esta

Más detalles

4. EVALUACIÓN DEL PROGRAMA DE CAPACITACIÓN

4. EVALUACIÓN DEL PROGRAMA DE CAPACITACIÓN 4. EVALUACIÓN DEL PROGRAMA DE CAPACITACIÓN La etapa final del proceso de capacitación es la evaluación de los resultados obtenidos, mediante este proceso se puede responder a las siguientes preguntas:

Más detalles

Jornada informativa Nueva ISO 9001:2008

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

Más detalles

Informática I Notas del curso

Informática I Notas del curso EXCEL Objetivo: Identificar la funcionalidad general de Excel, sus herramientas y recursos Excel Objetivo Particular: Conocer los métodos básicos de trabajo de Excel, para el manejo de registros, datos

Más detalles

Creación de Funciones de Conducción

Creación de Funciones de Conducción Creación de Funciones de Conducción Requerimientos Para el desarrollo de esta actividad se requiere que: Contemos con un robot BoeBot armado con placa Arduino. Repetición En estos momentos habremos notado

Más detalles

Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática

Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática Fundamentos de la informática 2. Algoritmos, diagramas de flujo y pseudocódigo Contenido Algoritmos Diagramas de flujo

Más detalles

CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES, BILIB RECETA TECNOLÓGICA REALIZACIÓN DE COPIAS DE SEGURIDAD CON GSYNC

CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES, BILIB RECETA TECNOLÓGICA REALIZACIÓN DE COPIAS DE SEGURIDAD CON GSYNC CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES, BILIB RECETA TECNOLÓGICA REALIZACIÓN DE COPIAS DE SEGURIDAD CON GSYNC Fecha: 11 de Abril de 2012 Licencia Autor del documento: Centro de Apoyo Tecnológico a

Más detalles

WinHIPE: edición, compilación y ejecución de programas; y generación de animaciones web. Manual de usuario.

WinHIPE: edición, compilación y ejecución de programas; y generación de animaciones web. Manual de usuario. WinHIPE: edición, compilación y ejecución de programas; y generación de animaciones web. Manual de usuario. Índice contenido. INTRODUCCIÓN... 1-2 1. ENTORNO DE TRABAJO... 1-2 2. EDICIÓN DE PROGRAMAS...

Más detalles

Software para Seguimiento de Clientes. Descripción del Producto

Software para Seguimiento de Clientes. Descripción del Producto Software para Seguimiento de Clientes Descripción del Producto Descripción del Sistema Es un completo sistema que permite tener un mejor control y manejo sobre clientes antiguos y nuevos, ya que permite

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

Proceso Unificado de Rational

Proceso Unificado de Rational RUP: El Proceso Unificado de Rational XP: Programacion Extrema EAP: Computación Científica Ciencia de la Computación V Prof. Oscar Brnito Pacheco Proceso Unificado de Rational Orígenes Modelo original

Más detalles

CAPITULO VI ESTRATEGIAS DE OUTSOURCING

CAPITULO VI ESTRATEGIAS DE OUTSOURCING CAPITULO VI ESTRATEGIAS DE OUTSOURCING Cuando una compañía decide llevar a cabo un proceso de outsourcing debe definir una estrategia que guíe todo el proceso. Hay dos tipos genéricos de estrategia de

Más detalles

Estándares para planes de calidad de software. Escuela de Ingeniería de Sistemas y Computación Desarrollo de Software II Agosto Diciembre 2008

Estándares para planes de calidad de software. Escuela de Ingeniería de Sistemas y Computación Desarrollo de Software II Agosto Diciembre 2008 Estándares para planes de calidad de software Escuela de Ingeniería de Sistemas y Computación Desarrollo de Software II Agosto Diciembre 2008 DIFERENCIA ENTRE PRODUCIR UNA FUNCION Y PRODUCIR UNA FUNCION

Más detalles

Metodología Orientada a Objetos Clave 43100007 Maestría en Sistemas Computacionales

Metodología Orientada a Objetos Clave 43100007 Maestría en Sistemas Computacionales Metodología Orientada a Objetos Clave 43100007 Maestría en Sistemas Computacionales Modulo 03 UML: Vista de Casos de Uso Artefacto: Actores Catedrático MSC. Jose Juan Aviña Grimaldo e-mail josejuan_avina@gmail.com

Más detalles

Beatriz Pérez. Jornada de Testing en Vivo - 1, 2, 3 probando!

Beatriz Pérez. Jornada de Testing en Vivo - 1, 2, 3 probando! Beatriz Pérez Proceso de Testing Funcional Principales características Etapas Actividades y Entregables Roles Principales características Independiente del proceso de desarrollo Testing funcional de productos

Más detalles

INVENTARIO INTRODUCCIÓN RESUMEN DE PASOS

INVENTARIO INTRODUCCIÓN RESUMEN DE PASOS INVENTARIO INTRODUCCIÓN Es habitual que en las empresas realicen a final de año un Inventario. Con este proceso se pretende controlar el nivel de stock existente, para iniciar el nuevo ejercicio, conociendo

Más detalles

1.2 Qué es un Sistemas de Información Geográfica?

1.2 Qué es un Sistemas de Información Geográfica? 1.1 Introducción En los últimos años, se ha desarrollado software especializado que permite el manejo de cartografía por computadora, favoreciendo a diferentes áreas, en el proceso de toma de decisiones.

Más detalles

Catoira Fernando Fullana Pablo Rodriguez Federico [MINERIA DE LA WEB] Proyecto Final - Informe Final

Catoira Fernando Fullana Pablo Rodriguez Federico [MINERIA DE LA WEB] Proyecto Final - Informe Final Catoira Fernando Fullana Pablo Rodriguez Federico [MINERIA DE LA WEB] Proyecto Final - Informe Final INTRODUCCION En principio surgió la idea de un buscador que brinde los resultados en agrupaciones de

Más detalles

Los números racionales

Los números racionales Los números racionales Los números racionales Los números fraccionarios o fracciones permiten representar aquellas situaciones en las que se obtiene o se debe una parte de un objeto. Todas las fracciones

Más detalles

Mesa de Ayuda Interna

Mesa de Ayuda Interna Mesa de Ayuda Interna Documento de Construcción Mesa de Ayuda Interna 1 Tabla de Contenido Proceso De Mesa De Ayuda Interna... 2 Diagrama Del Proceso... 3 Modelo De Datos... 4 Entidades Del Sistema...

Más detalles

EDWIN KÄMMERER ORCASITA INGENIERO ELECTRÓNICO

EDWIN KÄMMERER ORCASITA INGENIERO ELECTRÓNICO Identifica los tipos de datos y funciones - Tipos de Datos: Excel soporta 5 tipos de datos, estos son: a) Numéricos: Están formados por cualquiera de los 10 dígitos (del 0 al 9) y pueden estar acompañados

Más detalles