Universidad ORT Uruguay Facultad de Ingeniería

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

Download "Universidad ORT Uruguay Facultad de Ingeniería"

Transcripción

1 Facultad de Ingeniería Metodología XP. Docente Responsable: Gastón Mousques. Autores: Luis Calabria Pablo Píriz

2 Índice General Índice General 1 Resumen 3 La filosofía de XP 4 Valores en XP 5 Comunicación 5 Simplicidad 5 Feedback 5 Coraje 6 Principios de XP 7 Rápida retroalimentación 7 Asumir la simplicidad 7 Cambios incrementales 7 Aceptar el cambio 7 Trabajo de calidad 7 Otros principios 7 Principales conceptos 9 Story Cards 9 Iteración 9 Refactoring 10 Release 10 Test de aceptación 10 Test unitario 10 El ciclo de vida 11 Exploración 12 Planificación 12 Iteraciones por entregas 12 Producción 13 Mantenimiento 13 Muerte 13 Ciclo de vida del programador 14 Roles y responsabilidades. 16 Cliente 16 Coach 16 Consultant 16 Manager 16 Programador 16 Tester 16 Tracker 16 Prácticas horas semanales 17 Luis Calabria Pablo Píriz Página 1

3 Cliente On-Site 17 Diseño simple 17 El juego de la planificación 18 Estándares de codificación 18 Integración continua 18 Metáfora 19 Pequeños release 19 Programación por pares 19 Propiedad colectiva 19 Testing 19 Refactoring 20 Herramientas para el testeo automático 21 JUnit 21 Conclusiones 23 Palabras Claves 24 Glosario 25 Bibliografía 26 Luis Calabria Pablo Píriz Página 2

4 Resumen El objetivo principal de este documento, es resumir los principales aspectos de la metodología de Extreme Programming. Entre otros puntos se mencionarán cuales son los valores y principios que se siguen en XP, así como también, los principales conceptos que se deben tener en cuenta a la hora de llevarla a la práctica. Luego se hará un análisis del ciclo de vida que se utiliza, en el cual se verá cuales son las etapas y las actividades más importantes. También se menciona cuales son los principales roles dentro de esta metodología, así como también, sus responsabilidades, y además, analizaremos las prácticas más importantes que se deben seguir. Por último haremos referencia a las herramientas de testeo automático, haciendo hincapié en la herramienta JUnit. Luis Calabria Pablo Píriz Página 3

5 La filosofía de XP XP es una metodología ágil para pequeños y medianos equipos, desarrollando software cuando los requerimientos son ambiguos o rápidamente cambiantes. A diferencia de los procesos tradicionales para desarrollar software, XP asume el cambio como algo natural, y que, indefectiblemente, en alguna etapa de un proyecto sucede. En XP se realiza el software que el cliente solicita y necesita, en el momento que lo precisa, alentando a los programadores a responder a los requerimientos cambiantes que plantea el cliente en cualquier momento. Esto es posible porque está diseñado para adaptarse en forma inmediata a los cambios, con bajos costos asociados, en cualquier etapa del ciclo de vida. En pocas palabras, XP abraza el cambio. Luis Calabria Pablo Píriz Página 4

6 Valores en XP Para poder implementar las prácticas que presenta XP hay que conocer cuales son los valores principales que hacen a esta mitología. Estos valores son: Comunicación Simplicidad Feedback Coraje Comunicación Uno de los valores más importantes en XP es la comunicación. La mala comunicación no surge por casualidad en un proyecto y pueden aparecer muchas circunstancias que hagan que esta falle; un programador le da malas noticias al gerente y este lo castiga, un cliente le dice al programador algo importante y este no le presta atención. En cualquiera de los casos la comunicación es un factor importante en cualquier tipo de proyecto. En XP se trata de mantener una buena comunicación mediante un conjunto de prácticas que no se pueden realizar sin tener una buena comunicación en el equipo. Muchas de estas prácticas hacen corto circuito si no hay buena comunicación como en el caso de los testing unitarios, programación por pares, el uso de estándares o la estimación de las tareas. Trabajar en espacios abiertos hace que la comunicación mejore al contrario de otras metodologías en las cuales los programadores trabajan en espacios reducidos. La comunicación con el cliente es de vital importancia en XP y es por este motivo que el cliente es integrado al equipo. De esta forma, cualquier duda sobre los requerimientos puede ser evacuada inmediatamente. Además, se planifica con el cliente y este puede estar al tanto del avance del proyecto. (Extreme Programming explined. Capítulo 7. Four Values. Pág. 15) XP ha sido diseñada para minimizar el grado de documentación como forma de comunicación, haciendo énfasis en la interacción personal. De esta manera se puede avanzar rápidamente y de forma efectiva, realizando solo la documentación necesaria. Simplicidad La simplicidad es el segundo valor que se utiliza en esta metodología. XP apuesta a realizar algo simple hoy y destinar un poco más de esfuerzo para realizar un cambio en el futuro, a realizar algo más complicado hoy y no utilizarlo nunca. XP propone una regla muy simple: hacer algo que funcione de la manera más sencilla. En el caso de tener que añadir nueva funcionalidad al sistema se deben examinar todas las posibles alternativas y seleccionar la más sencilla. En otras ocasiones se hace uso del refactoring 1 que permite mantener el código en funcionamiento pero mucho más simple y organizado. (Prácticas Extremas en ORTsf. Valores. Pag - 27) Otra regla muy importante es: realizar solo lo necesario. Con esto se pretende agregar nueva funcionalidad que cumpla con los objetivos actuales sin necesidad de preocuparse por futuros requerimientos. Esto hace que se progrese de manera más segura y rápida en el proyecto. Feedback Brindar un feedback correcto y preciso hace que se pueda mantener una buena comunicación y conocer el estado actual del proyecto. 1 Refactoring: Un cambio al sistema que mantiene el mismo comportamiento del sistema, pero aumenta algunos atributos de calidad, como ser: simplicidad, flexibilidad, mantenibilidad, etc. Luis Calabria Pablo Píriz Página 5

7 El feedback trabaja a diferentes escalas de tiempo. Uno es el feedback que se realiza minuto a minuto. Cuando un cliente escribe sus stories 1 los programadores realizan la estimación de cada una de ellas y el cliente puede obtener inmediatamente el feedback sobre la calidad de dichas stories. El otro tipo de feedback que se realiza es a través de pequeñas entregas del sistema. De esta manera, el cliente está al tanto del avance del proyecto. Además, el sistema es puesto en producción en menor tiempo, con lo cual los programadores saben si realizaron un buen trabajo y si sus decisiones fueron acertadas. Coraje Obviamente cada uno de los valores antes mencionados tiene una gran interacción entre ellos. Como se ve en la siguiente figura la comunicación, la simplicidad y el feedback forman el coraje, el cual se convierte en el objetivo de XP. Uno de los lemas de XP menciona: Si no trabajas al tope de tu capacidad, alguien más lo está haciendo y si no llegas a tiempo se comerá tu almuerzo. (Prácticas Extremas en ORTsf. Valores. Pag - 27) Esto hace, a que por ejemplo, se tenga el coraje de modificar el código en cualquier momento por cualquier miembro del equipo sabiendo que no se afectará el correcto funcionamiento del sistema. Comunicación Simplicidad Feedback Coraje Figura 1 valores de XP El coraje también es poder realizar cambios cuando algo no funciona del todo bien, diseñar e implementar solo lo necesario para el presente, pedir ayuda o reducir el alcance de una entrega si el tiempo no alcanza. Si no hay coraje en un proyecto no se puede clasificar como extremo y es necesario que los otros tres valores estén presentes. Referencias KENT, Beck Extreme Programming explined. 1ra edición ARRIETA, Sebastian. Prácticas Extremas en ORTsf Universidad ORT Uruguay 1 Storie: Funcionalidad que el cliente quiere que haga el sistema. Luis Calabria Pablo Píriz Página 6

8 Principios de XP Los cuatro valores mencionados anteriormente comunicación, simplicidad, feedback y coraje nos brindan un estándar para obtener buenos resultados. Sin embargo, los valores son muy vagos a la hora de ayudarnos a decidir que prácticas utilizar. Para ello se necesita destilar estos valores en principios que puedan ser utilizados. A continuación se detallan los principios más importantes de XP. Rápida retroalimentación Asumir la simplicidad Cambios incrementales Aceptar el cambio Trabajo de calidad Rápida retroalimentación En la práctica el tiempo transcurrido entre una acción y su feedback es crítico. Tener una rápida retroalimentación nos permite interpretarla, aprender de ella y poner en práctica lo asimilado lo antes posible. Asumir la simplicidad Este es uno de los principios más difíciles de llevar a la práctica. Casi siempre se planifica para el futuro y se diseña para poder rehusar. En lugar de esto XP dice que hay que hacer un buen trabajo para las necesidades actuales y confiar en nuestra habilidad para solucionar problemas futuros. Cambios incrementales Realizar grandes cambios en una sola oportunidad no es una buena solución. Cada problema debe ser resuelto con una serie de cambios pequeños para poder atacar dicho problema mucho más en profundidad. Aceptar el cambio En XP el cambio es asimilado como algo habitual e inevitable. La mejor estrategia es aquella que preserva la mayor cantidad de opciones mientras resuelve los problemas más precisos. Trabajo de calidad Uno de los objetivos más importantes en XP es realizar un producto de buena calidad. Si cada integrante realiza su trabajo de la mejor manera posible se puede asegurar la calidad del producto. Otros principios Además de los principios antes mencionados surgen algunos otros de menor trascendencia que pueden ayudar a tomar buenas decisiones en situaciones específicas. Aceptar la responsabilidad Adaptación local Comunicación abierta y honesta Enseñar conocimientos Experimentos concretos Jugar para ganar Mediciones honestas Pequeña inversión inicial Trabajar con los instintos de las personas Viajar liviano Luis Calabria Pablo Píriz Página 7

9 Aceptar la responsabilidad: Es bueno permitir que cada uno de los integrantes se ofrezca de forma voluntaria para poder realizar una tarea determinada y que esta se comprometa ante el resto del equipo. Imponer una tarea hace que el miembro del equipo haga algo que pueda no cumplir más adelante y pierda su motivación. (Extreme Programming explined. Capítulo 8. Basic Principies. Pág. 37) Adaptación local: Para que XP funcione de la mejor manera posible es necesario que se adapte a las condiciones particulares de cada proyecto. Comunicación abierta y honesta: La comunicación es uno de los pilares fundamentales en XP. Es necesario que cada uno de los integrantes sepa exponer las consecuencias de sus propias decisiones y de las tomadas por los demás, así como también, comunicar los problemas sin miedo de anunciar malas noticias. (Extreme Programming explined. Capítulo 8. Basic Principies. Pág. 37) Enseñar conocimientos: XP se concentra en enseñar distintas estrategias para saber como adoptar esta metodología sin tratar de imponer ninguna de estas. Experimentos concretos: Toda decisión que se tome a lo largo del proyecto debe ser analizada y probada para evitar así cualquier tipo de errores. Jugar para ganar: Todos los integrantes deben trabajar en equipo de manera agresiva y con mucho coraje para lograr el objetivo común que es el éxito de todo el proyecto. Mediciones honestas: Toda estimación o métrica realizada debe ser lo más lógica posible ya que no tiene sentido dar algo tan exacto que quizás nunca se cumpla. Pequeña inversión inicial: Al igual que la realización de un sistema en pequeñas entregas, es bueno realizar inversiones de igual manera e ir avanzando de forma progresiva. Trabajar con los instintos de las personas: XP está a favor de trabajar con los instintos de las personas y no en contra de ellos. Los instintos de las personas, aquello que los incentiva, son principalmente, hacer bien su trabajo y realizar las tareas en grupo, interactuando con el resto del equipo. (Extreme Programming explined. Capítulo 8. Basic Principies. Pág. 37) Viajar liviano: Para poder adaptarse rápidamente a los cambios constantes es bueno llevar solo lo indispensable. Referencias KENT, Beck Extreme Programming explined. 1ra edición ARRIETA, Sebastian. Prácticas Extremas en ORTsf Universidad ORT Uruguay Luis Calabria Pablo Píriz Página 8

10 Principales conceptos Antes de comenzar a profundizar sobre la forma de trabajo de XP es bueno tener en claro algunos conceptos que son básicos en esta metodología. A continuación se detallan los más importantes. Story cards Iteración Refactoring Release Test de aceptación Test unitario Story Cards Las story cards sirven para registrar los requerimientos de los clientes y son utilizadas para poder realizar la estimación de cada una de las iteraciones durante la fase de planificación. Las story cards son escritas por los clientes en base a lo que se estima es necesario para el sistema. Están escritas en un formato de oraciones en la terminología del cliente, sin necesidad de sintaxis técnicas. También son utilizadas para poder crear los test de aceptación. Por lo general se necesitan uno o más test de aceptación para verificar que la story ha sido implementada correctamente. (Extreme Programming. Story Cards) Una de las malas impresiones que generan las story cards es su diferencia con la especificación de requerimientos tradicional. La mayor diferencia es su nivel de detalle. Las story cards solo proveen suficiente detalle para poder realizar la estimación de cuando tardará en ser implementada dicha funcionalidad. Cuando el tiempo es calculado el programador se encarga de solicitarle al cliente una descripción más detallada de los requerimientos. Otra diferencia entre las stories y los documentos tradicionales es que se centran en lo que el cliente necesita. Hay que tratar de evitar en detallar la tecnología o los algoritmos. Se deben mantener las stories focalizadas en las necesidades y los beneficios que le pueden brindar al cliente. (Extreme Programming. Story Cards) Cada story puede llevar entre 1 a 3 semanas en ser desarrollada en un desarrollo ideal. Este desarrollo ideal es cuanto tiempo se tarda en implementar una story si no hay distracciones, no hay otras asignaciones y se sabe exactamente que hacer. Más de tres semanas significa que la story debe ser dividida para ser implementada. Si toma menos de una semana se pueden combinar con otras stories. Entre 20 y 80 stories es el número ideal para poder crear un plan de entregas. Iteración Consta de un período de una a dos semanas en las cuales el cliente selecciona las stories en ser desarrolladas. Luego de ser implementadas este cliente corre sus test funcionales para ver si la iteración puede terminar de manera exitosa. Otro punto que no debe ser pasado por alto es el tema de la duración de cada iteración. Con iteraciones cortas se pretende que el equipo tenga objetivos a corto plazo y pueda ver el resultado de su trabajo cada cierto tiempo y no esperar varios meses para ver si lo que se hizo estuvo bien o no. El poder tener un reconocimiento de que se están haciendo bien las cosas cada cierto tiempo, hace que la persona se mantenga motivada. Además, el poder tener retroalimentación constante con el cliente permite tener un mejor nivel en el trabajo. También debemos considerar que las iteraciones cortas permiten hacer un diagnóstico prematuro de la situación del proyecto, con lo cual no se debe esperar mucho tiempo en detectar posibles problemas. Luis Calabria Pablo Píriz Página 9

11 Refactoring Otro concepto muy importante es el refactoring. Consiste en realizar cambios al sistema sin modificar la funcionalidad del mismo para poder hacer el sistema más simple, para aumentar la eficiencia o para que el código sea mucho más entendible. Sea cual sea el objetivo del refactoring, no hay que olvidar que en XP el código es la documentación más importante del proyecto y por ende debe estar bien desarrollado. Release Un release puede ser definido como un conjunto de funcionalidad que es integrada para realizar un programa ejecutable. La idea de cada release es poder tener un producto intermedio al final de cada iteración en la cual el cliente pueda testear la funcionalidad pedida. Con esto los clientes pueden, además, ver el avance del proyecto y poder realizar comentarios a los programadores y no esperar hasta el final del mismo cuando esté todo integrado. Test de aceptación Los test de aceptación representan algún tipo de resultado por parte del sistema. Los clientes son los responsables de verificar la exactitud de estos test y de revisar los resultados para poder así priorizar los test que fracasaron. También son utilizados como test regresivos antes de entrar a la fase de producción. (Extreme Programming. Acceptance test) Una story no es aceptada hasta que haya pasado su test de aceptación. Esto significa que en cada iteración se deben realizar nuevos test de aceptación o de lo contrario el equipo tendrá una avance de cero. Estos test suelen ser automatizados para que puedan ser ejecutados frecuentemente. El resultado de cada test es publicado para el resto del equipo. El nombre de test de aceptación refleja la verdadera intención, la cual es garantizar a los clientes que los requerimientos han sido realizados y el sistema es aceptable. Test unitario Los testing unitarios son tan importantes como los test de aceptación. Son realizados desde el punto de vista del programador y sirven, además de testear el código, para poder realizar el refactoring del mismo. Cada programador, antes de comenzar a programar, debe preparar los test unitarios. Esto hace que dichos test estén preparados para ser corridos durante la codificación y además, hace que al programador le surjan dudas y pueda evacuarlas con el cliente antes de empezar con la codificación. Referencias Extreme Programming < Luis Calabria Pablo Píriz Página 10

12 El ciclo de vida El ciclo de vida de XP consiste básicamente de seis fases: Exploración, Planificación, Iterations to Release, Producción, Mantenimiento y Muerte. 1- Exploración En esta fase los clientes realizan las story cards que desean que estén para la primera entrega. Cada story describe una de las funcionalidades que el programa tendrá. Al mismo tiempo el equipo de desarrollo se familiariza con las herramientas, la tecnología y las prácticas a ser utilizadas durante el proyecto. En algunos casos se utiliza un prototipo para testear la nueva tecnología y explorar algunos aspectos de la arquitectura a ser implementada. La duración de esta fase puede extenderse desde unas pocas semanas a varios meses dependiendo de la adaptación del equipo de desarrollo. 2- Planificación El objetivo de esta fase es fijar la prioridad de cada una de las stories y se establece cual va a ser el contenido de la primera entrega. Los programadores estiman cuanto esfuerzo requiere cada story y se establece el cronograma. La duración del calendario para la entrega del primer release no suele superar los dos meses. Duración de la fase de planificación en sí no toma más de dos días. 3- Iteraciones por entregas Esta fase incluye varias iteraciones del sistema antes de la entrega del primer release. El calendario es dividido en un número iteraciones de tal manera de que cada iteración tome de una a cuatro semanas de implementación. En la primera iteración se crea un sistema que abarca los aspectos más importantes de la arquitectura global. Esto se logra seleccionando las stories que hagan referencia a la construcción de la estructura de todo el sistema. El cliente decide que stories van a ser implementadas para cada iteración. Además, se realizan los test funcionales, realizados por el cliente, al final de cada iteración. Al final de la última iteración el sistema está listo para ser puesto en producción. 4- Producción La fase de producción requiere realizar muchos más chequeos y testing antes que el sistema sea entregado al cliente. En esta fase aparecen nuevos cambios y se tiene que decidir si serán incorporados o no en dicha entrega. Durante esta fase suele suceder que las iteraciones se aceleren de tres a una semana. Las ideas pospuestas y las sugerencias son documentadas para luego ser implementadas más adelante, por ejemplo, en la fase de mantenimiento. Luego que el primer release es creado, el proyecto debe mantener el sistema en producción corriendo mientas se trabaja en las nuevas iteraciones. 5- Mantenimiento En esta fase por lo general se necesita un esfuerzo extra de los programadores para satisfacer los requerimientos del cliente. Por este motivo la velocidad de desarrollo suele disminuir una vez que el sistema es puesto en producción. A raíz de esto se requiere incorporar nuevos integrantes al equipo y cambiar la estructura del equipo. 6- Muerte Esta última fase se acerca una vez que el cliente no tiene ninguna story a ser implementada. Los requerimientos del sistema deben ser satisfechos en otros aspectos como ser la performance o la confiabilidad del mismo. Esta es la etapa en la cual no hay más cambios en la arquitectura, el diseño o el código y aquí es cuando se realiza la documentación correspondiente. Esta fase aparece también, cuando el sistema no da los resultados deseados o se vuelve demasiado caro para seguir siendo desarrollado. Luis Calabria Pablo Píriz Página 11

13 Exploración Figura 2 Ciclo de vida de XP Durantes esta fase los programadores utilizan cada parte de la tecnología a ser usada durante el proyecto. Se exploran todas las posibilidades que puede tener la arquitectura del sistema. Se utilizan una o dos semanas para construir prototipos que implementen la funcionalidad básica pero de dos o tres formas distintas. (Agile softwar development methods. Reviews and analysis. Extreme Programming/Process. Pag - 19) Si una semana no alcanza para explorar una parte de la tecnología esto puede clasificarse como un riesgo. Esto no significa que no se pueda utilizar pero sí sería bueno explorarla con más detalle y considerar alternativas. Los programadores suelen estimar la duración de cada tarea realizada durante esta fase. Cuando finaliza una tarea se reporta en el calendario el tiempo requerido. Mientras los programadores trabajan con la tecnología, los clientes escriben las stories. Al principio las stories no son las que se esperan. La clave es darle rápidamente al cliente una feedback de las primeras stories para que aprendan en seguida a como especificar lo que los programadores necesitan. Planificación El propósito de esta fase es el de llegar a un acuerdo entre los clientes y los programadores en cuales serán las stories a ser implementadas durante cada iteración. Si se hace una buena preparación durante la fase de exploración esta actividad no suele llevar más de un día o dos. La entrega del primer release debe tomar entre dos a seis meses de duración. Si se planifica realizarla en menos tiempo es probable que no se tengan los elementos necesarios para solucionar los problemas más significativos. Pero si se tarda más de este período se corre el riesgo que el cliente no quede satisfecho. Iteraciones por entregas Una vez elegido el orden en el cual se implementarán las stories se procede a definir cuantas iteraciones serán necesarias para el proyecto. Cada iteración tiene una duración de una a cuatro semanas, en las cuales se realizan los test funcionales para cada una de las stories a ser implementadas. (Agile softwar development methods. Reviews and analysis. Extreme Programming/Process. Pag - 19) Luis Calabria Pablo Píriz Página 12

14 La primera iteración suele servir para definir la arquitectura de todo el sistema. Es por este motivo que se seleccionan las stories que definen la arquitectura aunque solo formen una base del mismo. La selección de las stories para las siguientes iteraciones suele quedar al criterio del cliente. El cliente debe seleccionar las stories que tengan más interés para él de las que falten ser implementadas. Además de la implementación, se debe llevar un control con respecto a las desviaciones del calendario. Cuando se detectan desviaciones es necesario tomar medidas. Quizás se deba agregar o remover stories o quizás deba encontrar una mejor manera para utilizar la tecnología e incluso para utilizar XP. Al final de cada iteración el cliente debe analizar que todas las stories estén implementadas. Debe también correr todos los test funcionales y que estos resulten ser exitosos. Producción En esta fase es donde el producto se pone en producción y se realizan todas las pruebas de preformase del sistema. Este es el momento en donde se afinan los detalles del sistema debido a que se tiene un gran conocimiento del diseño y además, se dispone del hardware en donde se va a correr el sistema. Durante esta fase se debe ir más despacio a medida que se desarrollando el software. Esto no significa que el desarrollo se detenga pero si es de considerar, que el riesgo se vuelve más importante a medida que los cambios afecten al release. Mantenimiento En esta fase se debe agregar nueva funcionalidad, mantener el sistema corriendo e incorporar nuevos integrantes al equipo. Se hacen los refactoring que no se pudieron realizar anteriormente. Además, se prueba la nueva tecnología que se va a utilizar en el próximo release o migrar a nuevas versiones de la tecnología que se está utilizando. También se suele experimentar con nuevas ideas para la arquitectura actual y el cliente suele escribir nuevas stories que puedan mejorar el sistema. (Agile softwar development methods. Reviews and analysis. Extreme Programming/Process. Pag - 19) El trabajar sobre un sistema que está en producción no es lo mismo que hacerlo sobre un sistema que aún está siendo desarrollado. Hay que ser muy cuidadoso sobre los cambios a ser realizados. Otros de los puntos que se debe considerar en esta fase es la incorporación de nuevos integrantes al equipo de desarrollo. Es bueno darle dos o tres iteraciones donde ellos hagan muchas preguntas, trabajen en parejas y lean mucho código y casos de prueba. Cuando ellos se sientan listos, pueden ser puestos a trabajar en algunas tareas de programación y así hasta que queden completamente integrados. Si el equipo va cambiando gradualmente durante un año se puede reemplazar sin desestabilizar la forma de trabajo que se lleva. (Extreme Programming explined. Capítulo 21. Lifecycle of an ideal XP Proyect. Pág. 131) Muerte Hay dos buenas razones por la cual el sistema entre en esta fase. La primera puede ser debido a que el cliente esté muy satisfecho con el sistema y no tenga ninguna otra funcionalidad que agregar en el futuro. La otra razón suele ser que el sistema no termina de ser liberado. El cliente necesita más funcionalidades y es imposible costearlas. Otro motivo puede ser que los defectos detectados alcancen un nivel intolerable. Referencias ABRAHAMSSON, Pekka; SALO, Outi; JUSSI. Agile softwar development methods. Reviews and analysis [online]. Disponible en Internet: < KENT, Beck Extreme Programming explined. 1ra edición Luis Calabria Pablo Píriz Página 13

15 Ciclo de vida del programador Además del ciclo de vida común de XP podemos encontrar otro ciclo de vida dentro de este que indica como trabajan los programadores para poder codificar. ELECCIÓN DE PARES TESTING Q & A CODIFICACIÓN REFACTORING INTEGRACIÓN Figura 3 Ciclo de vida del programador El triángulo que se encuentra en el medio de la figura 3 es la clave principal en la idea de XP. En ellas se muestra la forma de trabajo: Testing, codificación y luego refactoring. Esto es lo opuesto a la programación tradicional en donde primero se diseña, luego se codifica y por último se testea. (Extreme Programming. XP Programmer's Cube - A Day in the Life) Veamos en detalle cada una de las actividades: Elección de pares o Toda la producción se realiza en pares. o El encargado de escribir piensa tácticamente, su pareja piensa estratégicamente. o Se rotan los roles periódicamente. Testing o o o Se escriben los testing unitarios. Se verifica que los test fallen antes de codificar. Se testea todo lo que posiblemente puede fallar. Codificación o Hacer algo que funcione de la manera más sencilla o Implementar lo suficiente para hacer que el test pase. o Seguir el estándar de codificación. Refactoring o Quitar toda porción de código que no parezcan estar bien y luego verificar si el código aún pasa los test unitarios. o El código debe ser claro, no tener partes duplicadas y tener la menor cantidad de clases y métodos posibles. o Realizar cambios pequeños y luego realizar los test unitarios. Luis Calabria Pablo Píriz Página 14

16 Q & A o o o El cliente puede proveer rápidamente cualquier respuesta on-site. Muchas preguntas requieren decisiones y el cliente debe estar preparado para poder hacerlas. El cliente suele escribir una story o un test de aceptación que captura sus preguntas. Integración o Llevar el código a la máquina donde se realiza la integración, unir el sistema y correr todos los test. o Arreglar todos los errores para que pasen todos los test unitarios. o Si no es fácil la integración es mejor tirar todo y comenzar nuevamente al día siguiente. Retornar al inicio. o Si resta tiempo, se puede elegir otra pareja o cambiar de roles y comenzar con otra actividad. Referencias Extreme Programming < Luis Calabria Pablo Píriz Página 15

17 Roles y responsabilidades. Dentro de la mitología de XP existen variados roles. A continuación se detallan cuales son los roles más importantes. Cliente Es quien establece que es lo que debe realizar el sistema, tomando la decisión de cuando se debe implementar determinada funcionalidad, así como también en el orden a ser implementadas. Además, el cliente escribe las story cards y los test funcionales y decide cuando cada requerimiento está satisfecho. Los clientes también priorizan cada uno de los requerimientos. (Prácticas Extremas en ORTsf. Roles. Pág. 57) Coach Es el encargado de asegurar el cumplimiento de todas las prácticas, transmitiendo sus conocimientos y experiencia al resto del equipo. Consultant Es una persona externa al equipo que posee el conocimiento técnico necesario para poder ayudar al equipo con determinados problemas. Manager Toma las decisiones más importantes del proyecto. Es el encargado de comunicarse con el equipo para determinar cual es la situación actual y distinguir cualquier dificultad o deficiencia en el proceso y poder solucionarlo. Programador Es el responsable de escribir los testing del sistema y mantener el código lo más simple y definitivo posible. El primer aspecto a tener en cuenta para que XP sea exitoso es la coordinación entre los programadores y el resto del equipo. Tester Los tester ayudan a los clientes a escribir los test funcionales del sistema. Además, corren dichos testing regularmente, envían los informes con los resultados y realizan el mantenimiento a las herramientas de testing. Tracker Tiene como principal responsabilidad realizar las mediciones y la recolección de métricas. Mide el progreso del proyecto y lo compara con lo estimado. También observa el desempeño del equipo, haciendo énfasis en el cumplimiento de los plazos y aconsejando al equipo si deben realizar cambios para lograr los objetivos. Además de todo esto, mantiene los registros de los casos de prueba ejecutados, los defectos encontrados y sus responsables. (Agile softwar development methods. Reviews and analysis. Extreme Programming/Roles and Responsabilities. Pág - 21) Referencias ABRAHAMSSON, Pekka; SALO, Outi; JUSSI. Agile softwar development methods. Reviews and analysis [online]. Disponible en Internet: < ARRIETA, Sebastian. Prácticas Extremas en ORTsf Universidad ORT Uruguay Luis Calabria Pablo Píriz Página 16

18 Prácticas Uno de los factores que hacen que XP sea tan utilizado y efectivo son las prácticas que se realizan durante el proyecto. XP es un conjunto de ideas y prácticas de metodologías ya existente y por eso deben ser muy tenidas en cuenta a la hora de su implementación. A continuación se presentan las prácticas más utilizadas. 40 Horas semanales Cliente on-site Diseño simple El juego de la planificación Estándares de codificación Integración continua Metáfora Pequeñas entregas Programación por pares Propiedad colectiva Testing Refactoring 40 horas semanales Como máximo se puede trabajar un promedio de 40 horas semanales. No se permite trabajar tiempo extra durante dos semanas seguidas. Si esto ocurre, se trata de un problema a ser solucionado. El no tener que realizar horas extras hace que los integrantes puedan disponer de tiempo libre para poder descansar y realizar otras actividades. De esta forma la productividad del equipo se mantiene alta y se reducen los problemas por falta de descanso. Como en los proyectos suelen haber retrasos se está permitido poder realizar, en una semana, una mayor cantidad de horas que las establecidas. Pero solamente durante una semana, ya que si sigue el atraso, es un indicador de que algo malo sucede con el proyecto y el tener mayor carga horaria a la larga no es la solución. El realizar horas extras más de una semana seguida hace que se comentan más errores tanto en el código como en el diseño. Esto hace que la calidad del producto realizado sea menor y a largo plazo ese tiempo supuestamente recuperado se pierde debido a estos problemas. (Agile softwar development methods. Reviews and analysis. Extreme Programming/Practices. Pág. - 22) Cliente On-Site El cliente debe estar presente y disponible en todo momento para el equipo. El contar con el cliente on-site permite al equipo poder evacuar cualquier tipo de duda que pueda surgir. Además de esto, el cliente puede observar cual el grado de avance del proyecto mientras se construye el sistema. La mayor ventaja de todas es que se puede crear una comunicación fluida con el cliente sin necesidad de gastar tiempo en documentación formal. Esta comunicación constante reduce el tiempo de desarrollo al reducir las esperas por respuesta y los malentendidos entre ambas partes. (Agile softwar development methods. Reviews and analysis. Extreme Programming/Practices. Pág. - 22) Diseño simple Se hace mucho énfasis en el diseño de una solución lo más simple posible que pueda ser implementada en el momento. El código complejo o innecesario es eliminado inmediatamente. En XP el diseño se hace en forma progresiva lo cual evita que se cree un diseño altamente complejo por querer abarcar todos los aspectos posibles de una sola vez. Un buen diseño debe cumplir los siguientes puntos: Corre todo los casos de prueba Luis Calabria Pablo Píriz Página 17

19 Enuncia todas las ideas que se quieren exhibir. No tiene código duplicado Posee el menor número de clases y métodos posibles. Para poder obtener un diseño simple se descartan todos aquellos elementos innecesarios mientras que los tres primeros puntos se cumplan. El juego de la planificación Para poder realizar una buena planificación se necesita una buena interacción entre los clientes y los programadores. Los programadores estiman el esfuerzo necesario para cada una de las stories y los clientes deciden sobre el alcance y el momento en el que debe realizar cada entrega. En el plan de entregas, el cliente elige aquellas stories que crea son más importantes para implementar. Cada entrega debe tener una duración máxima de dos meses y se estima la duración suponiendo que no hay retrasos o imprevistos. Cada entrega consta de varias iteraciones, cuya duración no debe superar las dos semanas. En el plan de iteraciones, el cliente selecciona las stories a ser implementadas, y se detallan las pruebas de aceptación para cada story. Los programadores dividen cada story en tareas, que luego son aceptadas por cada programador, estimadas, implementadas y por último integradas al sistema. (Prácticas Extremas en ORTsf. Roles. Pág. 40) Las tareas tienen una duración promedio de uno a dos días. En ellas los programadores establecen todos los casos de prueba posibles antes de comenzar con la implementación. Luego se pasa a la implementación en el cual el cliente está disponible para poder evacuar cualquier duda que surja. Estándares de codificación El código es la mejor documentación que tiene el sistema. Es por este motivo que se deben establecer reglas para los programadores y estas deben ser seguidas estrictamente. En un equipo de desarrollo los programadores acuerdan un estándar para el código, dejando de lado estilos de programación particulares. Todos deben conocer y seguir el estándar de manera tal que al final el sistema parezca ser programado por una sola persona. Algunos de los puntos a tener en cuenta son los siguientes: Mantener métodos pequeños (el código puede ser visto en una sola pantalla) Ser coherentes en el uso de mayúsculas. Solo comentar el código cuando sea realmente es necesario. Usar formatos de nombres consistentes y similares. Utilizar siempre el mismo formato de sangría. Integración continua Una nueva pieza de código debe ser integrada al resto del sistema tan pronto como sea posible. De ese modo, el sistema es integrado y reconstruido varias veces por día. Para poder realizar esta integración se selecciona una computadora determinada. Luego, al finalizar cada pareja de programadores se dirige a dicha máquina para integrar sus cambios al sistema existente. Posteriormente se ejecutan todos los casos de prueba establecidos, hasta que cada uno de ellos sea aprobado. (Prácticas Extremas en ORTsf. Roles. Pág. 40) Lo bueno de este sistema es que no ocurren problemas de integración ya que los errores se encuentran y se solucionan al momento de ser integrados por los mismos programadores que tienen en la cabeza en código implementado. Esto evita que se pasen meses para la integración y tener que solucionar estos problemas más adelante. Luis Calabria Pablo Píriz Página 18

20 Metáfora El sistema es definido en base a una metáfora o conjuntos de metáforas entre el cliente y los programadores. Para XP la metáfora equivale a la arquitectura en otras metodologías, pero es más formal y sencilla. Es utilizada por los programadores para describir a grandes rasgos la estructura del sistema de manera tal que pueda ser comprendida por todos los integrantes. Una vez que la metáfora es creada, se pasa al establecimiento de clases, métodos y relaciones primordiales del sistema. Además, de servir como fuente de comunicación entre los clientes y los programadores sirve para poder mantener el diseño del sistema lo más simple posible. También se utiliza para comunicar las bases del sistema a los nuevos integrantes. Pequeños release Los release deben ser los más pequeños posibles con una duración no mayor a dos meses. Esto permite que los clientes puedan ver el avance del proyecto y los programadores puedan retroalimentarse de las opiniones de los clientes. Por lo general estos release comienzan implementando las características primordiales del sistema. Luego a medida que avanza el proyecto se van agregando el resto de las funcionalidades. El poder tener un producto terminado cada cierto tiempo hace que el cliente vea como va tomando forma su producto y además hace que los programadores mantengan su nivel de motivación ya que lo más agradable de programar es poder entregar un producto terminado. (Prácticas Extremas en ORTsf. Roles. Pág. 40) Programación por pares Uno de los pilares de XP es la programación en pareja o programación por pares. Básicamente lo que se quiere con esto es poder eliminar posibles errores debido a distracciones o errores conceptuales. Al tener dos personas concentradas sobre el mismo código se evitan estos errores y se ahorra tiempo en futuras correcciones. Una de las dos personas es el conductor, que es el encargado de escribir el código. La otra persona, el copiloto, participa verbalmente. El conductor tiene una visión de cómo implementar el código de la mejor manera mientras que el copiloto tiene una visión global del sistema y se encarga de sugerir posibles alternativas y nuevos casos de prueba. Es bueno que los dos integrantes se turnen en la conducción. (Prácticas Extremas en ORTsf. Roles. Pág. 40) Propiedad colectiva Cualquier persona está en condiciones de cambiar cualquier parte del código en cualquier momento. En XP nadie tiene propiedad sobre ningún módulo o clase. Cada uno de los integrantes puede realizar cambios o mejoras a cualquier parte del código en cualquier momento. Esto hace que el sistema cuente con una menor cantidad de defectos y por ende una mejor calidad. Testing Otro de los puntos importantes de XP son los testing, los cuales se realizan continuamente. Existen dos tipos de testing; testing unitario y testing funcionales o de aceptación. Los testing unitarios son implementados por los programadores antes de comenzar con la implementación. Se establecen todos los casos en el que el código puede fallar. Una vez que se termina con la implementación se corren dichas pruebas y se verifica que no haya ningún test que falle. Hasta que pasen todos los test el programador debe seguir mejorando el código. Estas pruebas son automatizadas e implementadas por el propio programador, lo cual hace que la prueba pueda ser más rápida y efectiva. Luis Calabria Pablo Píriz Página 19

21 Los testing funcionales o de aceptación son definidos y escritos por el cliente al inicio de cada iteración para cada una de las stories establecidas. El objetivo es demostrar al cliente que el requerimiento implementado realmente funciona como el cliente lo desea. Refactoring El refactoring del código hace que este sea fácil de entender y de mantener sin modificar su comportamiento. En XP el refactoring se realiza permanentemente en base a estar respaldados por efectivos casos de prueba. Como resultados, la cantidad de errores disminuye, lo cual mejora la calidad del software. El diseño se mantiene simple y permite a los programadores desarrollar más rápido. Referencias ABRAHAMSSON, Pekka; SALO, Outi; JUSSI. Agile softwar development methods. Reviews and analysis [online]. Disponible en Internet: < ARRIETA, Sebastian. Prácticas Extremas en ORTsf Universidad ORT Uruguay Luis Calabria Pablo Píriz Página 20

22 Herramientas para el testeo automático Debido a que el testing es una de las actividades más importantes en la programación de XP es necesario poseer una buena herramienta de testeo automático según el tipo de lenguaje en el cual se desarrolle. Una de las herramientas más conocida para realizar el testing automático es JUnit. Esta herramienta sirve para los programadores que desarrollan en JAVA pero en el mercado hay otros tipo de JUnit para los distintos lenguajes. El objetivo de esta sección no es mostrar el funcionamiento de JUnit, sino que se desea ejemplificar como se puede implementar el testeo automático. JUnit Caso simple Para poder realizar un test simple en algún método simplemente se debe hacer lo siguiente: Crear una instancia de TestCase Crear un constructor el cual acepte un String como parámetro y pasar este como superclase. Reescribir el método runtest() Cuando se quiere chequear un valor, llamar al método asserttrue() y pasarle un boolean que sea verdadero cuando el test sea correcto. Por ejemplo, para poder testear el funcionamiento del método concatenar de la clase Cadena se puede implementar el siguiente método. Public void testconcatenar() { Cadena cadena1 = new Cadena ( Hola ); Cadena cadena2 = new Cadena ( Juan ); Cadena resultado = cadena1.concatenar(cadena2); Cadena valoresperado = new Cadena( Hola Juan ); } assertrue(valoresperado.equals(resultado)); Suite A medida que se avanza con la implementación es lógico que aparezca la necesidad de realizar varios test y es bueno poder correrlos todos a la vez si necesidad de correrlos uno por uno. Para ello JUnit provee un objeto llamado TestSuite el cual permite correr cualquier cantidad de test al mismo tiempo. Por ejemplo, para correr un test simple, se ejecuta: TestResult resultado = (new CadenaTest ( testconcatenar() )).run(); Pero para poder realizar el testeo de dos casos al mismo tiempo se debe realizar lo siguiente: TestSuite suite = new TestSuite(); suite.addtest(new CadenaTest( testequals ); suite.addtest(new CadenaTest( testconcatenar ); TestResult resultado = suite.run(); TestRunner Una vez que los test suite están implementados es hora de recolectar la información de cada uno de dichos test. Para esto es necesario implementar un método estático llamado suite que retorna un test suite. (JUnit. JUnit CookBook ) Luis Calabria Pablo Píriz Página 21

23 Por ejemplo, para el caso de la Cadena es necesario implementar lo siguiente: Public static Test suite() { TestSuite suite = new TestSuite(); suite.addtest(new CadenaTest( testequals ); suite.addtest(new CadenaTest( testconcatenar ); TestResult resultado = suite.run(); } JUnit provee distintos tipos de testing (TestRunner): Textual TestRunner: Este es mucho más rápido de ejecutar y puede ser utilizado cuando no es necesario tener información gráfica de los resultados del testing. Graphical TestRunner: Este muestra un simple diálogo en el cual se elige el test a ejecutar y provee una gráfica de progresión de los test realizados. El Graphical TesRunner muestra una ventana con la siguiente información: Un campo donde se indica el nombre de la clase con el método suite. Un botón Run que comienza el testeo. Una barra de progreso la cual se torna de roja a verde en el caso que un test falle. Una lista de los test fallados. En el caso que un test falle se reporta este caso en la lista de abajo. Con este tipo de herramientas el testing es mucho más fácil de implementar y se obtienen los beneficios que hemos explicado anteriormente, como por ejemplo, el refactoring. Referencias JUnit < Luis Calabria Pablo Píriz Página 22

24 Conclusiones Como hemos visto en este documento hay aspectos en XP que lo hacen diferente a otras metodologías. Comenzamos con sus valores (Comunicación, Simplicidad, Feedback y Coraje). En XP la comunicación es vital tanto entre el grupo de desarrollo como con el cliente, el cual debe formar parte del equipo para mantener una comunicación fluida y poder de esta forma, evacuar cualquier tipo de duda que surja con los requerimientos. La simplicidad apuesta a realizar algo simple hoy y destinar un poco más de esfuerzo para realizar un cambio en el futuro, a realizar algo más complicado hoy y no utilizarlo nunca. El feedback constante entre el equipo y el cliente hace que se pueda conocer el estado actual del proyecto y poder así tomar decisiones mucho más acertadas. Por último, la comunicación, la simplicidad y el feedback forman el coraje, el cual se convierte en el objetivo de XP. El coraje también es poder realizar cambios cuando algo no funciona del todo bien, diseñar e implementar solo lo necesario para el presente, pedir ayuda o reducir el alcance de una entrega si el tiempo no alcanza. Los cuatro valores mencionados anteriormente nos brindan un estándar para obtener buenos resultados. Sin embargo, los valores son muy vagos a la hora de ayudarnos a decidir que prácticas utilizar. Para ello se necesita destilar estos valores en principios que puedan ser utilizados, como ser, una rápida retroalimentación, asumir la simplicidad, realizar cambios incrementales, aceptar el cambio y realizar un trabajo de calidad. Por último debemos mencionar las prácticas que se utilizan, las cuales hacen que XP sea tan utilizado y efectivo. XP es un conjunto de ideas y prácticas de metodologías ya existente y por eso deben ser muy tenidas en cuenta a la hora de su implementación. De la gran cantidad de prácticas destacamos: 40 Horas semanales Cliente on-site Diseño simple El juego de la planificación Estándares de codificación Integración continua Metáfora Pequeñas entregas Programación por pares Propiedad colectiva Testing Refactoring Todos estos puntos antes mencionados hacen permiten que se realice el software que el cliente solicita y necesita, en el momento que lo precisa, alentando a los programadores a responder a los requerimientos cambiantes que plantea dicho cliente en cualquier momento. No debemos olvidar que la base de XP es que el proceso se mantenga ágil en todo momento, lo cual significa que se pueda adaptar al cambio sin mayores complicaciones. Por este motivo los conceptos antes mencionados no deben ser impuestos bajo ningún tipo de concepto sino que al contrario deben servir como una guía según el tipo de proyecto que se quiera realizar. Luis Calabria Pablo Píriz Página 23

25 Palabras Claves 40 Horas semanales Aceptar el cambio Aceptar la responsabilidad Adaptación local Asumir la simplicidad Cambios incrementales Cliente Cliente on-site Coach Comunicación Comunicación abierta y honesta Consultant Coraje Diseño simple El juego de la planificación Enseñar conocimientos Entrega Estándares de codificación Fase de exploración Fase de iteraciones por entregas Fase de mantenimiento Fase de muerte Fase de planificación Fase de producción Feedback Integración continua Jugar para ganar Manager Mediciones honestas Metáfora Pequeña inversión inicial Pequeñas entregas Programación por pares Programación por pares Programador Propiedad colectiva Rápida retroalimentación Refactoring Simplicidad Sotries Story cards Test funcional Tester Testing unitarios Trabajar con los instintos de las personas Trabajo de calidad Tracker Viajar liviano Luis Calabria Pablo Píriz Página 24

26 Glosario Refactoring: Un cambio al sistema que mantiene el mismo comportamiento del sistema, pero aumenta algunos atributos de calidad, como ser: simplicidad, flexibilidad, mantenibilidad, etc. Release: Conjunto de funcionalidad que es integrada para realizar un programa ejecutable. Story cards: Ficha en la cual el cliente especifica una funcionalidad en particular. Story: Funcionalidad que el cliente quiere que haga el sistema. Test de aceptación: Test escrito desde la perspectiva del cliente. Test unitario: Test escrito desde la perspectiva del programador. Luis Calabria Pablo Píriz Página 25

XP- EXTREME PROGRAMMING

XP- EXTREME PROGRAMMING XP- EXTREME PROGRAMMING RUBBY CASALLAS DEPARTAMENTO DE SISTEMAS Y COMPUTACIÓN FACULTAD DE INGENIERÍA UNIVERSIDAD DE LOS ANDES Agenda Qué es XP? 12 Prácticas Actividades Principales: Planeación Diseño Codificación

Más detalles

http://www.informatizate.net

http://www.informatizate.net http://www.informatizate.net Metodologías De Desarrollo De Software María A. Mendoza Sanchez Ing. Informático - UNT Microsoft Certified Professional - MCP Analísta y Desarrolladora - TeamSoft Perú S.A.C.

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

Procesos Críticos en el Desarrollo de Software

Procesos Críticos en el Desarrollo de Software Metodología Procesos Críticos en el Desarrollo de Software Pablo Straub AgileShift Imagine una organización de desarrollo de software que consistentemente cumple los compromisos con sus clientes. Imagine

Más detalles

Gestión y Desarrollo de Requisitos en Proyectos Software

Gestión y Desarrollo de Requisitos en Proyectos Software Gestión y Desarrollo de Requisitos en Proyectos Software Ponente: María Jesús Anciano Martín Objetivo Objetivo Definir un conjunto articulado y bien balanceado de métodos para el flujo de trabajo de Ingeniería

Más detalles

Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología

Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología La metodología para el desarrollo de software es un modo sistemático de realizar, gestionar y administrar un proyecto

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

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON)

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON) 3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON) 3.1.1 Introducción Este método proporciona un soporte para el diseño creativo de productos de software, inclusive a escala industrial.

Más detalles

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes:

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes: PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes: 1. Proporcionar una guía de actividades para el trabajo en equipo. (Guía detallada para el desarrollo

Más detalles

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere.

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere. UNIVERSIDAD DE CARABOBO FACULTAD DE CIENCIA Y TECNOLOGÍA DIRECCION DE EXTENSION COORDINACION DE PASANTIAS Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere. Pasante:

Más detalles

Cómo las herramientas en línea están revolucionando la implementación de ITIL e ISO 20000

Cómo las herramientas en línea están revolucionando la implementación de ITIL e ISO 20000 Cómo las herramientas en línea están revolucionando la implementación de ITIL e ISO 20000 Informe 14 de marzo de 2014 Copyright 2014 20000Academy. Todos los derechos reservados. 1 Resumen ejecutivo Antes

Más detalles

El modelo de ciclo de vida cascada, captura algunos principios básicos:

El modelo de ciclo de vida cascada, captura algunos principios básicos: Ciclo de Vida del Software Un modelo de ciclo de vida define el estado de las fases a través de las cuales se mueve un proyecto de desarrollo de software. El primer ciclo de vida del software, "Cascada",

Más detalles

Funcionalidades Software PROYECTOS GotelGest.Net Software para la gestión de Proyectos GotelGest.Net

Funcionalidades Software PROYECTOS GotelGest.Net Software para la gestión de Proyectos GotelGest.Net 2012 Funcionalidades Software PROYECTOS GotelGest.Net Software para la gestión de Proyectos GotelGest.Net Servinet Sistemas y Comunicación S.L. www.softwaregestionproyectos.com Última Revisión: Febrero

Más detalles

Mesa de Ayuda Interna

Mesa de Ayuda Interna Mesa de Ayuda Interna Bizagi Suite Mesa de Ayuda Interna 1 Tabla de Contenido Mesa de Ayuda Interna... 3 Elementos del proceso... 5 Apertura del Caso... 5 Inicio... 5 Abrir Caso... 5 Habilitar Cierre del

Más detalles

Planeación del Proyecto de Software:

Planeación del Proyecto de Software: Apéndice A. Cuestionarios del Sistema Evaluador Nivel2. Requerimientos de Administración: Goal 1: Los requerimientos del sistema asociados a software están bien controlados y existe un estándar para los

Más detalles

Implementando un ERP La Gestión del Cambio

Implementando un ERP La Gestión del Cambio Artículos> Implementando un ERP - La Gestión del Cambio Artículo Implementando un ERP La Gestión del Cambio 1 Contenido Sumario Ejecutivo 3 Los sistemas ERP flexibilizan la gestión de la empresa y su cadena

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

SÍNTESIS Y PERSPECTIVAS

SÍNTESIS Y PERSPECTIVAS SÍNTESIS Y PERSPECTIVAS Los invitamos a observar, a identificar problemas, pero al mismo tiempo a buscar oportunidades de mejoras en sus empresas. REVISIÓN DE CONCEPTOS. Esta es la última clase del curso.

Más detalles

K2BIM Plan de Investigación - Comparación de herramientas para la parametrización asistida de ERP Versión 1.2

K2BIM Plan de Investigación - Comparación de herramientas para la parametrización asistida de ERP Versión 1.2 K2BIM Plan de Investigación - Comparación de herramientas para la parametrización asistida de ERP Versión 1.2 Historia de revisiones Fecha VersiónDescripción Autor 08/10/2009 1.0 Creación del documento.

Más detalles

1 http://www.sencilloyrapido.com/

1 http://www.sencilloyrapido.com/ 1 Contenido Introducción 3 Que son las encuestas pagadas por internet?. 5 Como ganar dinero con las encuestas pagadas por internet. 7 Pueden las encuestas pagadas generarte un ingreso decente?.. 9 Conclusión.

Más detalles

Guía de uso del Cloud Datacenter de acens

Guía de uso del Cloud Datacenter de acens guíasdeuso Guía de uso del Cloud Datacenter de Calle San Rafael, 14 28108 Alcobendas (Madrid) 902 90 10 20 www..com Introducción Un Data Center o centro de datos físico es un espacio utilizado para alojar

Más detalles

Introducción En los años 60 s y 70 s cuando se comenzaron a utilizar recursos de tecnología de información, no existía la computación personal, sino que en grandes centros de cómputo se realizaban todas

Más detalles

PERFIL DEL PUESTO POR COMPETENCIAS Sepa cómo construirlo y evitar bajos desempeños posteriores

PERFIL DEL PUESTO POR COMPETENCIAS Sepa cómo construirlo y evitar bajos desempeños posteriores PERFIL DEL PUESTO POR COMPETENCIAS Sepa cómo construirlo y evitar bajos desempeños posteriores Martha Alicia Alles Es contadora pública nacional, doctora por la Universidad de Buenos Aires en la especialidad

Más detalles

REPORTE REGIONAL ARGENTINA Tendencias en Argentina Tercerización del Project Management Por: Ana María Rodríguez, Corresponsal Internacional PMWT

REPORTE REGIONAL ARGENTINA Tendencias en Argentina Tercerización del Project Management Por: Ana María Rodríguez, Corresponsal Internacional PMWT REPORTE REGIONAL ARGENTINA Tendencias en Argentina Tercerización del Project Management Por: Ana María Rodríguez, Corresponsal Internacional PMWT Siguiendo el crecimiento de la economía en Argentina, el

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

Resumen. Funcionamiento. Advertencia

Resumen. Funcionamiento. Advertencia Resumen Módulo: Librería: IMPEXP.DLL Acoplable a: FactuCont 5, versiones monopuesto y red Descripción: Permite exportar datos de documentos, clientes, proveedores y artículos en un solo fichero para poder

Más detalles

DE VIDA PARA EL DESARROLLO DE SISTEMAS

DE VIDA PARA EL DESARROLLO DE SISTEMAS MÉTODO DEL CICLO DE VIDA PARA EL DESARROLLO DE SISTEMAS 1. METODO DEL CICLO DE VIDA PARA EL DESARROLLO DE SISTEMAS CICLO DE VIDA CLÁSICO DEL DESARROLLO DE SISTEMAS. El desarrollo de Sistemas, un proceso

Más detalles

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos 2.1. Principios básicos del Modelado de Objetos UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos Hoy en día muchos de los procesos que intervienen en un negocio o empresa y que resuelven

Más detalles

Propiedad Colectiva del Código y Estándares de Codificación.

Propiedad Colectiva del Código y Estándares de Codificación. Propiedad Colectiva del Código y Estándares de Codificación. Carlos R. Becerra Castro. Ing. Civil Informática UTFSM. Introducción. n. En este trabajo se presentan específicamente dos prácticas de XP: Collective

Más detalles

Análisis y Diseño de Aplicaciones

Análisis y Diseño de Aplicaciones Análisis y Diseño de Aplicaciones Ciclo de Vida Docente: T/RT Gonzalo Martínez CETP EMT Informática 3er Año Introducción En el desarrollo de sistemas, el ciclo de vida son las etapas por las que pasa un

Más detalles

App para realizar consultas al Sistema de Información Estadística de Castilla y León

App para realizar consultas al Sistema de Información Estadística de Castilla y León App para realizar consultas al Sistema de Información Estadística de Castilla y León Jesús M. Rodríguez Rodríguez rodrodje@jcyl.es Dirección General de Presupuestos y Estadística Consejería de Hacienda

Más detalles

1.4.1.2. Resumen... 1.4.2. ÁREA DE FACTURACIÓN::INFORMES::Pedidos...27 1.4.2.1. Detalle... 1.4.2.2. Resumen... 1.4.3. ÁREA DE

1.4.1.2. Resumen... 1.4.2. ÁREA DE FACTURACIÓN::INFORMES::Pedidos...27 1.4.2.1. Detalle... 1.4.2.2. Resumen... 1.4.3. ÁREA DE MANUAL DE USUARIO DE ABANQ 1 Índice de contenido 1 ÁREA DE FACTURACIÓN......4 1.1 ÁREA DE FACTURACIÓN::PRINCIPAL...4 1.1.1. ÁREA DE FACTURACIÓN::PRINCIPAL::EMPRESA...4 1.1.1.1. ÁREA DE FACTURACIÓN::PRINCIPAL::EMPRESA::General...4

Más detalles

[Guía N 1 Introducción al Portal WEB de la Universidad Simón Bolívar]

[Guía N 1 Introducción al Portal WEB de la Universidad Simón Bolívar] AULA EXTENDIDA El aula extendida es el espacio que ofrece el portal de la universidad para que, a través de la plataforma MOODLE, los docentes mantengan una comunicación online en el proceso enseñanza

Más detalles

DESARROLLO DE SOFTWARE DEFINICIÓN GENERAL DEL PROCESO GABY LORENA GUERRERO LEYDI ROCIO ERAZO PABLO FELIPE MIRANDA WALTER ALEXIS ANTE

DESARROLLO DE SOFTWARE DEFINICIÓN GENERAL DEL PROCESO GABY LORENA GUERRERO LEYDI ROCIO ERAZO PABLO FELIPE MIRANDA WALTER ALEXIS ANTE DESARROLLO DE SOFTWARE DEFINICIÓN GENERAL DEL PROCESO GABY LORENA GUERRERO LEYDI ROCIO ERAZO PABLO FELIPE MIRANDA WALTER ALEXIS ANTE UNIVERSIDAD DEL CAUCA FACULTAD DE INGENIERÍA ELECTRÓNICA Y TELECOMUNICACIONES

Más detalles

Gestión de Permisos. Bizagi Suite. Copyright 2014 Bizagi

Gestión de Permisos. Bizagi Suite. Copyright 2014 Bizagi Gestión de Permisos Bizagi Suite Gestión de Permisos 1 Tabla de Contenido Gestión de Permisos... 3 Definiciones... 3 Rol... 3 Perfil... 3 Permiso... 3 Módulo... 3 Privilegio... 3 Elementos del Proceso...

Más detalles

En este ebook te vamos a contar todo lo que necesitas saber para descubrir las claves para detectar si tu empresa necesita innovar y escalar.

En este ebook te vamos a contar todo lo que necesitas saber para descubrir las claves para detectar si tu empresa necesita innovar y escalar. En este ebook te vamos a contar todo lo que necesitas saber para descubrir las claves para detectar si tu empresa necesita innovar y escalar. Este ebook va dirigido a personas que tengan una empresa constituida

Más detalles

AHORRACOM SOLUCIONES AVANZADAS S.L. Avda. de la Industria 13, Oficina 25. 28108 Alcobendas, Madrid. www.ahorracom.com

AHORRACOM SOLUCIONES AVANZADAS S.L. Avda. de la Industria 13, Oficina 25. 28108 Alcobendas, Madrid. www.ahorracom.com PAGTE Plan de Ahorro y Gestión de Telecomunicaciones para Empresas En Ahorracom nos ponemos de su parte. Por eso nos interesa que usted, nuestro cliente, esté al tanto de todos los procesos que llevamos

Más detalles

Para optimizar este proceso lo dividiremos en etapas y deberemos tener bien claro el objetivo que debemos alcanzar en cada una de ellas:

Para optimizar este proceso lo dividiremos en etapas y deberemos tener bien claro el objetivo que debemos alcanzar en cada una de ellas: ETAPAS DEL PROCESO DE SELECCIÓN DE PERSONAL EN LAS EMPRESAS FAMILIARES En la actualidad muchas empresas familiares han evolucionado intentando aplicar técnicas adecuadas para el proceso de Selección de

Más detalles

REGISTRO DE PEDIDOS DE CLIENTES MÓDULO DE TOMA DE PEDIDOS E INTEGRACIÓN CON ERP

REGISTRO DE PEDIDOS DE CLIENTES MÓDULO DE TOMA DE PEDIDOS E INTEGRACIÓN CON ERP REGISTRO DE PEDIDOS DE CLIENTES MÓDULO DE TOMA DE PEDIDOS E INTEGRACIÓN CON ERP Visual Sale posee módulos especializados para el método de ventas transaccional, donde el pedido de parte de un nuevo cliente

Más detalles

Introducción. Definición de los presupuestos

Introducción. Definición de los presupuestos P o r q u é e l p r e s u p u e s t o d e b e s e r e l c a m i n o a s e g u i r p a r a g a r a n t i z a r e l é x i t o d e s u e m p r e s a? Luis Muñiz Economista Introducción El aumento de la incertidumbre

Más detalles

Traducción del. Our ref:

Traducción del. Our ref: Traducción del Documento: Our ref: Secretaría del ISO/TC 176/SC 2 Fecha: 15 de octubre de 2008 A los Miembros del ISO/TC 176/SC 2 - Gestión de la Calidad y Aseguramiento de la Calidad/ Sistemas de la Calidad

Más detalles

MANTENIMIENTO Y SOPORTE

MANTENIMIENTO Y SOPORTE MANTENIMIENTO Y SOPORTE Copyright 2014 Magalink SA Todos los derechos reservados. Este documento no puede ser reproducido de ninguna manera sin el consentimiento explícito de Magalink S.A. La información

Más detalles

Norma ISO 14001: 2015

Norma ISO 14001: 2015 Norma ISO 14001: 2015 Sistema de Gestión Medioambiental El presente documento es la versión impresa de la página www.grupoacms.com Si desea más información sobre la Norma ISO 14001 u otras normas relacionadas

Más detalles

ANÁLISIS Y DISEÑO DE SISTEMAS DEPARTAMENTO DE CIENCIAS E INGENIERÍA DE LA COMPUTACIÓN

ANÁLISIS Y DISEÑO DE SISTEMAS DEPARTAMENTO DE CIENCIAS E INGENIERÍA DE LA COMPUTACIÓN ANÁLISIS Y DISEÑO DE SISTEMAS DEPARTAMENTO DE CIENCIAS E INGENIERÍA DE LA COMPUTACIÓN Clase 6: Ingeniería de Requerimientos Metododología y Ejemplo Primer Cuatrimestre 2015 Mg. María Mercedes Vitturini

Más detalles

Servicio de administración de pautas publicitarias en Internet

Servicio de administración de pautas publicitarias en Internet Servicio de administración de pautas publicitarias en Internet Resumen Ejecutivo Es habitual que la publicidad en Internet sea un apéndice de la publicidad en otros medios. Como no se conocen los resultados,

Más detalles

Proyecto MONO. Juantomás García. 1. Introducción. GNOME Hispano juantomas@lared.es

Proyecto MONO. Juantomás García. 1. Introducción. GNOME Hispano juantomas@lared.es Juantomás García GNOME Hispano juantomas@lared.es Qué es el proyecto MONO?. Estado actual del proyecto. Por qué es interesante para el software libre disponer de la tecnología relacionado con el proyecto

Más detalles

Manejo de versiones 392

Manejo de versiones 392 Manejo de versiones 392 El desarrollo de software es un trabajo en equipo y cierto grado de confusión es inevitable. No puedo reproducir el error en esta versión! Qué pasó con el arreglo de la semana pasada?

Más detalles

Curso Online de Microsoft Project

Curso Online de Microsoft Project Curso Online de Microsoft Project Presentación El curso a distancia estudia conceptos generales sobre las tecnologías relacionadas con Internet. Conceptos que cualquier usuario de ordenadores debe conocer

Más detalles

Prácticas ITIL para un mejor flujo de trabajo en el helpdesk

Prácticas ITIL para un mejor flujo de trabajo en el helpdesk Prácticas ITIL para un mejor flujo de trabajo en el helpdesk Se diferencia tres partes de gestión para mejorar la resolución de las incidencias de soporte técnico según el marco ITIL: 1. Gestión de Incidencias

Más detalles

Capítulo 2. Metodologías de selección de personal

Capítulo 2. Metodologías de selección de personal Capítulo 2. Metodologías de selección de personal 2.1 Introducción La selección de personal es una actividad en la cual toda empresa invierte parte de sus recursos, debido a que es una tarea de vital importancia.

Más detalles

CMM - Capability Maturity Model. Estructura de CMM... Componentes de CMM. Estructura de CMM

CMM - Capability Maturity Model. Estructura de CMM... Componentes de CMM. Estructura de CMM CMM - Capability Maturity Model Estructura de CMM... Es un marco que describe los elementos claves de un proceso de software efectivo. Describe un camino de mejora evolutivo desde un proceso ad hoc inmaduro

Más detalles

Capítulo VI. Diagramas de Entidad Relación

Capítulo VI. Diagramas de Entidad Relación Diagramas de Entidad Relación Diagramas de entidad relación Tabla de contenido 1.- Concepto de entidad... 91 1.1.- Entidad del negocio... 91 1.2.- Atributos y datos... 91 2.- Asociación de entidades...

Más detalles

Gestión de Oportunidades

Gestión de Oportunidades Gestión de Oportunidades Bizagi Suite Gestión de Oportunidades 1 Tabla de Contenido CRM Gestión de Oportunidades de Negocio... 4 Elementos del Proceso... 5 Registrar Oportunidad... 5 Habilitar Alarma y

Más detalles

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD Fecha última revisión: Diciembre 2010 Tareas Programadas TAREAS PROGRAMADAS... 3 LAS TAREAS PROGRAMADAS EN GOTELGEST.NET... 4 A) DAR DE ALTA UN USUARIO...

Más detalles

Cómo sistematizar una experiencia?

Cómo sistematizar una experiencia? Cómo sistematizar una experiencia? Una sistematización puede llevarse a cabo de múltiples formas, y además puede ser llevada a cabo por cualquier persona sin necesidad de ser especialista en la materia.

Más detalles

+ Cómo ahorrar dinero con Software Quality

+ Cómo ahorrar dinero con Software Quality + Cómo ahorrar dinero con Software Quality Qué es Software Quality Assurance? Porqué facilita el ahorro de dinero? Introducción El objetivo de este documento es explicar qué es Software Quality Assurance,

Más detalles

Seguimiento y evaluación

Seguimiento y evaluación Seguimiento y evaluación Por qué es necesario contar con herramientas para el seguimiento y la evaluación? Es la manera en que se puede evaluar la calidad e impacto del trabajo en relación con el plan

Más detalles

IMPLANTACIONES DE ERP. CÓMO CONSEGUIR EL ÉXITO? MasEmpresa

IMPLANTACIONES DE ERP. CÓMO CONSEGUIR EL ÉXITO? MasEmpresa IMPLANTACIONES DE ERP. CÓMO CONSEGUIR EL ÉXITO? MasEmpresa Implantaciones de ERP. Cómo conseguir el éxito?. Parte I Aunque los sistemas de información para la gestión ERPs tienen muchos años de historia,

Más detalles

Mejora Ágil de Procesos

Mejora Ágil de Procesos Mejora Ágil de Procesos Introducción Después de haber implementado por muchos años modelos de mejora, de dirección de proyectos y diferentes marcos ágiles, llegué a la conclusión de que el camino hacia

Más detalles

CUESTIONARIO DE AUTOEVALUACIÓN DE LOS HÁBITOS EMPRENDEDORES

CUESTIONARIO DE AUTOEVALUACIÓN DE LOS HÁBITOS EMPRENDEDORES CUESTIONARIO DE AUTOEVALUACIÓN DE LOS HÁBITOS EMPRENDEDORES INSTRUCCIONES:. Este cuestionario consta de 55 declaraciones breves. Lee cuidadosamente cada declaración y decide cuál te describe de forma más

Más detalles

INTRODUCCIÓN: Una Visión Global del Proceso de Creación de Empresas

INTRODUCCIÓN: Una Visión Global del Proceso de Creación de Empresas INTRODUCCIÓN: Una Visión Global del Proceso de Creación de Empresas 1 INTRODUCCIÓN. Una visión global del proceso de creación de empresas Cuando se analiza desde una perspectiva integral el proceso de

Más detalles

Archivo de correo con Microsoft Outlook contra Exchange Server

Archivo de correo con Microsoft Outlook contra Exchange Server Archivo de correo con Microsoft Outlook contra Exchange Server Resumen Con este proceso de archivado, lo que pretendemos es guardar nuestro correo en un archivo de datos, para así poder realizar una copia

Más detalles

TABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse.

TABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse. TABLA DE DECISION La tabla de decisión es una herramienta que sintetiza procesos en los cuales se dan un conjunto de condiciones y un conjunto de acciones a tomar según el valor que toman las condiciones.

Más detalles

Las Relaciones Públicas en el Marketing social

Las Relaciones Públicas en el Marketing social Las Relaciones Públicas en el Marketing social El marketing social es el marketing que busca cambiar una idea, actitud o práctica en la sociedad en la que se encuentra, y que intenta satisfacer una necesidad

Más detalles

4.1.1_Reunión de Planificación de Sprint (Sprint Planning Meeting) 4.1.2_Objetivo del Sprint (Sprint Goal) 4.1.4_Revisión de Sprint (Sprint Review)

4.1.1_Reunión de Planificación de Sprint (Sprint Planning Meeting) 4.1.2_Objetivo del Sprint (Sprint Goal) 4.1.4_Revisión de Sprint (Sprint Review) 1_Visión general de SCRUM 2_Teoría de Scrum 3_El Equipo Scrum (Scrum Team) 3.1_El Dueño de Producto (Product Owner) 3.2_El Equipo de Desarrollo (Development Team) 3.3_El Scrum Master 4_Eventos de Scrum

Más detalles

Seis Sigma. Nueva filosofía Administrativa.

Seis Sigma. Nueva filosofía Administrativa. Seis Sigma. Nueva filosofía Administrativa. GIN. Filosofía de Calidad. El Seis Sigma es un parámetro cuya base principal es la desviación estándar y su enfoque es reducir la variación y/o defectos en lo

Más detalles

Adaptación al NPGC. Introducción. NPGC.doc. Qué cambios hay en el NPGC? Telf.: 93.410.92.92 Fax.: 93.419.86.49 e-mail:atcliente@websie.

Adaptación al NPGC. Introducción. NPGC.doc. Qué cambios hay en el NPGC? Telf.: 93.410.92.92 Fax.: 93.419.86.49 e-mail:atcliente@websie. Adaptación al NPGC Introducción Nexus 620, ya recoge el Nuevo Plan General Contable, que entrará en vigor el 1 de Enero de 2008. Este documento mostrará que debemos hacer a partir de esa fecha, según nuestra

Más detalles

Trabajo lean (1): A que podemos llamar trabajo lean?

Trabajo lean (1): A que podemos llamar trabajo lean? Trabajo lean (1): A que podemos llamar trabajo lean? Jordi Olivella Nadal Director de Comunicación del Instituto Lean Management Este escrito inicia una serie de artículos sobre la organización en trabajo

Más detalles

Para qué XP_CRYPT y SQL Shield?

Para qué XP_CRYPT y SQL Shield? Para qué XP_CRYPT y SQL Shield? Desde la Perspectiva del Gerente de Proyectos. PARTE I: DEFINICIÓN DE LA NECESIDAD. Dónde falla la Protección de SQL Server? En la Protección de Datos a Nivel de Campo En

Más detalles

Unicenter Service Desk r11.1. Guía para el Usuario Final de Service Desk

Unicenter Service Desk r11.1. Guía para el Usuario Final de Service Desk Unicenter Service Desk r11.1 Guía para el Usuario Final de Service Desk Índice Página Tema 3...Guía Para Usuario Final 3 Ingreso al Sistema 4.....Ventana de Inicio 4... Anuncios de Soporte Técnico 5...

Más detalles

Ingeniería de Software. Procesos. Proyecto de Ingeniería. Metodologías. Metodologías. Metodologías. Metodologías de desarrollo

Ingeniería de Software. Procesos. Proyecto de Ingeniería. Metodologías. Metodologías. Metodologías. Metodologías de desarrollo Ingeniería de Software Procesos Laboratorio de Ingeniería de Software 2004 La ingeniería de software trata sobre la aplicación de practicas y métodos para construir productos de software que cumplan las

Más detalles

Análisis de los datos

Análisis de los datos Universidad Complutense de Madrid CURSOS DE FORMACIÓN EN INFORMÁTICA Análisis de los datos Hojas de cálculo Tema 6 Análisis de los datos Una de las capacidades más interesantes de Excel es la actualización

Más detalles

Tiene dudas respecto a su embarazo?

Tiene dudas respecto a su embarazo? Tiene dudas respecto a su embarazo? Una guía para tomar la mejor decisión para usted Qué debo hacer? Hemos preparado este folleto para las muchas mujeres, adolescentes y adultas, que quedan embarazadas

Más detalles

Metodología básica de gestión de proyectos. Octubre de 2003

Metodología básica de gestión de proyectos. Octubre de 2003 Metodología básica de gestión de proyectos Octubre de 2003 Dentro de la metodología utilizada en la gestión de proyectos el desarrollo de éstos se estructura en tres fases diferenciadas: Fase de Éjecución

Más detalles

Curso Excel Básico - Intermedio

Curso Excel Básico - Intermedio Curso Excel Básico - Intermedio Clase 4 Relator: Miguel Rivera Adonis Introducción Base de Datos: Definición de Base de Datos Ordenar datos Formulario Filtros Trabajar con Sub-Totales Validación de Datos

Más detalles

MANUAL DE AYUDA MODULO TALLAS Y COLORES

MANUAL DE AYUDA MODULO TALLAS Y COLORES MANUAL DE AYUDA MODULO TALLAS Y COLORES Fecha última revisión: Enero 2010 Índice TALLAS Y COLORES... 3 1. Introducción... 3 CONFIGURACIÓN PARÁMETROS TC (Tallas y Colores)... 3 2. Módulos Visibles... 3

Más detalles

Bechtle Solutions Servicios Profesionales

Bechtle Solutions Servicios Profesionales Soluciones Tecnología Bechtle Solutions Servicios Profesionales Fin del servicio de soporte técnico de Windows Server 2003 No hacer nada puede ser un riesgo BECHTLE Su especialista en informática Ahora

Más detalles

Análisis de Resultados

Análisis de Resultados Análisis de Resultados Encuesta Web OnLine Buses: www.encuesta-webonlinebuses.tk Grupo10 1 Datos Generales Técnica: Encuesta Web Medio: Google Forms Unidad de muestreo: Usuarios y potenciales usuarios

Más detalles

MACROS. Automatizar tareas a través del uso de las macros.

MACROS. Automatizar tareas a través del uso de las macros. OBJETIVOS MACROS Definiciones Automatizar tareas a través del uso de las macros. Grabar Ejecutar Manipular macros. Tipos de Macros en Excel Introducción Las operaciones tradicionales que se pueden realizar

Más detalles

Idea general: Comienzo de la partida:

Idea general: Comienzo de la partida: Idea general: El Estratega es un juego de estrategia y conquista. Se desarrolla en un planisferio que consta de 42 territorios. Las dimensiones y divisiones políticas fueron modificadas para facilitar

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

Cumpliendo con las Necesidades de la Salud Sexual y Reproductiva de Jóvenes Vulnerables: Una Caja de Herramientas para Monitoreo y Evaluación

Cumpliendo con las Necesidades de la Salud Sexual y Reproductiva de Jóvenes Vulnerables: Una Caja de Herramientas para Monitoreo y Evaluación Cumpliendo con las Necesidades de la Salud Sexual y Reproductiva de Jóvenes Vulnerables: Una Caja de Herramientas para Monitoreo y Evaluación 3A. Pasos Claves para la Implementación de una Encuesta Este

Más detalles

Práctica del paso de generación de Leads

Práctica del paso de generación de Leads Práctica del paso de generación de Leads La parte práctica de este módulo consiste en poner en marcha y tener en funcionamiento los mecanismos mediante los cuales vamos a generar un flujo de interesados

Más detalles

BPMN Business Process Modeling Notation

BPMN Business Process Modeling Notation BPMN (BPMN) es una notación gráfica que describe la lógica de los pasos de un proceso de Negocio. Esta notación ha sido especialmente diseñada para coordinar la secuencia de los procesos y los mensajes

Más detalles

Guías _SGO. Gestione administradores, usuarios y grupos de su empresa. Sistema de Gestión Online

Guías _SGO. Gestione administradores, usuarios y grupos de su empresa. Sistema de Gestión Online Guías _SGO Gestione administradores, usuarios y grupos de su empresa Sistema de Gestión Online Índice General 1. Parámetros Generales... 4 1.1 Qué es?... 4 1.2 Consumo por Cuentas... 6 1.3 Días Feriados...

Más detalles

Guía de los cursos. Equipo docente:

Guía de los cursos. Equipo docente: Guía de los cursos Equipo docente: Dra. Bertha Patricia Legorreta Cortés Dr. Eduardo Habacúc López Acevedo Introducción Las organizaciones internacionales, las administraciones públicas y privadas así

Más detalles

2 EL DOCUMENTO DE ESPECIFICACIONES

2 EL DOCUMENTO DE ESPECIFICACIONES Ingeniería Informática Tecnología de la Programación TEMA 1 Documentación de programas. 1 LA DOCUMENTACIÓN DE PROGRAMAS En la ejecución de un proyecto informático o un programa software se deben de seguir

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: Junio 2011 INDICE DE CONTENIDOS HERRAMIENTA DE APROVISIONAMIENTO... 3 1. QUÉ ES LA HERRAMIENTA DE APROVISIONAMIENTO... 3 HERRAMIENTA

Más detalles

LA LOGÍSTICA COMO FUENTE DE VENTAJAS COMPETITIVAS

LA LOGÍSTICA COMO FUENTE DE VENTAJAS COMPETITIVAS LA LOGÍSTICA COMO FUENTE DE VENTAJAS COMPETITIVAS Los clientes compran un servicio basandose en el valor que reciben en comparacion con el coste en el que incurren. Por, lo tanto, el objetivo a largo plazo

Más detalles

Licencia. Todos los derechos reservados. Este reporte puede ser distribuido libremente pero queda

Licencia. Todos los derechos reservados. Este reporte puede ser distribuido libremente pero queda Licencia copyright www.segurodevidaparapadres.com Todos los derechos reservados. Este reporte puede ser distribuido libremente pero queda estrictamente prohibida cualquier modificación del mismo. El contenido

Más detalles

Figura 1. Símbolo que representa una ALU. El sentido y la funcionalidad de las señales de la ALU de la Figura 1 es el siguiente:

Figura 1. Símbolo que representa una ALU. El sentido y la funcionalidad de las señales de la ALU de la Figura 1 es el siguiente: Departamento de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Antioquia Arquitectura de Computadores y Laboratorio ISI355 (2011 2) Práctica No. 1 Diseño e implementación de una unidad aritmético

Más detalles

CAPITULO 4. Requerimientos, Análisis y Diseño. El presente capítulo explica los pasos que se realizaron antes de implementar

CAPITULO 4. Requerimientos, Análisis y Diseño. El presente capítulo explica los pasos que se realizaron antes de implementar CAPITULO 4 Requerimientos, Análisis y Diseño El presente capítulo explica los pasos que se realizaron antes de implementar el sistema. Para esto, primero se explicarán los requerimientos que fueron solicitados

Más detalles

Las 10 preguntas más habituales sobre los Sistemas de Captación de Datos en planta

Las 10 preguntas más habituales sobre los Sistemas de Captación de Datos en planta Las 10 preguntas más habituales sobre los Sistemas de Captación de Datos en planta 1. Que son los sistemas de captación de datos en planta? Los sistemas de captación de planta permiten simplificar y automatizar

Más detalles

Qué es Scrum? Basado en el texto Explicando Scrum a mi abuela de Jorge Serrano - MVP Visual Developer - Visual Basic

Qué es Scrum? Basado en el texto Explicando Scrum a mi abuela de Jorge Serrano - MVP Visual Developer - Visual Basic Qué es Scrum? Basado en el texto Explicando Scrum a mi abuela de Jorge Serrano - MVP Visual Developer - Visual Basic http://geeks.ms/blogs/jorge/archive/2007/05/09/explicando-scrum-a-mi-abuela.aspx Por

Más detalles

Plan de estudios ISTQB: Nivel Fundamentos

Plan de estudios ISTQB: Nivel Fundamentos Plan de estudios ISTQB: Nivel Fundamentos Temario 1. INTRODUCCIÓN 2. FUNDAMENTOS DE PRUEBAS 3. PRUEBAS A TRAVÉS DEL CICLO DE VIDA DEL 4. TÉCNICAS ESTÁTICAS 5. TÉCNICAS DE DISEÑO DE PRUEBAS 6. GESTIÓN DE

Más detalles

Módulo I - Word. Iniciar Word... 2. Finalizar Word... 3. Definición de elementos de pantalla... 4. Escribir texto en un documento... 5. El cursor...

Módulo I - Word. Iniciar Word... 2. Finalizar Word... 3. Definición de elementos de pantalla... 4. Escribir texto en un documento... 5. El cursor... Módulo I - Word Índice Iniciar Word... 2 Finalizar Word... 3 Definición de elementos de pantalla... 4 Escribir texto en un documento... 5 El cursor... 5 Control de párrafos... 5 Nuevos párrafos... 5 Abrir

Más detalles

UNIVERSIDAD TECNICA DE MANABI Facultad de Ciencias Informáticas Ingeniería en sistemas. SEGURIDAD INFORMATICA Tema:

UNIVERSIDAD TECNICA DE MANABI Facultad de Ciencias Informáticas Ingeniería en sistemas. SEGURIDAD INFORMATICA Tema: UNIVERSIDAD TECNICA DE MANABI Facultad de Ciencias Informáticas Ingeniería en sistemas SEGURIDAD INFORMATICA Tema: CATEGORÍAS DE BENEFICIOS DE ESTANDARES Y PROCEDIMIENTOS Integrantes Doris María Mera Mero

Más detalles

Mantenimiento Limpieza

Mantenimiento Limpieza Mantenimiento Limpieza El programa nos permite decidir qué tipo de limpieza queremos hacer. Si queremos una limpieza diaria, tipo Hotel, en el que se realizan todos los servicios en la habitación cada

Más detalles