Introducción a la Ingeniería del Software

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

Download "Introducción a la Ingeniería del Software"

Transcripción

1 Introducción a la Ingeniería del Software Ingeniería de Sistemas de Información! Grado en Ingeniería en Tecnologías de Telecomunicación" GSyC"

2 2012 Departamento GSyC, URJC" Algunos derechos reservados. Este trabajo se distribuye bajo la licencia Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License" 2012 Armando Armando Fox & David Patterson" Licensed under Creative Commons Attribution- NonCommercial-ShareAlike 3.0 Unported License" 2"

3 Libro de texto" Beta edition (0.9.0)" Ebook ($10) en formatos:" Kindle" Nook" Apple ibook" Impreso: $20" 3"

4 Contenidos" La ingeniería de SW es diferente de la ingeniería de HW (Libro Engineering Long Lasting Software Secciones )" Procesos de desarrollo de SW: Cascada vs. Espiral vs. Ágil ( 1.3)" Garantía de calidad (Assurance) ( 1.4)" Productividad ( 1.5)" Software as a Service (SaaS) ( 1.6)" Service Oriented Architecture ( 1.7)" Cloud Computing ( )" Pair Programming ( 9.3)" 4"

5 La Ingeniería de Software es distinta a la ingeniería de Hardware (Libro Engineering Long Lasting Software )"

6 Ingeniería de SW!= Ing de HW" Pregunta: Por qué tantos desastres debidos al SW y tan pocos HW?" Explosión del cohete Ariane 5" Sobredosis mortal de radiacción del Therac-25" Desintegración del Mars Climate Orbiter" Abandono del proyecto FBI Virtual Case" " Respuesta: " Naturaleza del sustrato tecnológico, más maleable en el caso del SW" Culturas de las comunidades de ingenieros HW / SW: mejora continua en el caso del SW => se acepta que es peor al principio" 6"

7 Producto independiente vs. Mejoras continuas" Coste de las actualizaciones" HW " Los diseños de HW tienen que estar terminados antes de que se pase a producción y distribución" Si ocurren errores: se devuelve el HW (pérdidas si hay devoluciones masivas)" SW 0" Usuarios esperan que el SW mejore con el paso del tiempo" Si ocurren errores: se espera a que se actualice" El HW queda obsoleto, el SW se actualiza" 7"

8 SW heredado vs. SW elegante" Código heredado (legacy code): SW antiguo que sigue satisfaciendo las necesidades de los usuarios pero que es difícil de actualizar y evolucionar debido a su diseño poco elegante o al uso de tecnología anticuada" 60% del coste de mantenimiento del SW: añadir nueva funcionalidad a código heredado" 17% del coste es para arreglar fallos" Código elegante: SW que sigue satisfaciendo los requisitos de los usuarios y que es fácil de actualizar y evolucionar" Código muerto: el código que deja de ser usado al cabo de poco tiempo" 8"

9 SW heredado/legado: es vital pero no se le presta atención" Los problemas que plantea no suelen ser estudiados en los cursos y libros de texto de Ingeniería de SW" Sin embargo es algo que reclaman los expertos de la industria" En este curso abordaremos más adelante cómo abordar los problemas del código heredado/legado" 9"

10 Contenidos" La ingeniería de SW es diferente de la ingeniería de HW (Libro Engineering Long Lasting Software Secciones )" Procesos de desarrollo de SW: Cascada vs. Espiral vs. Ágil ( 1.3)" Garantía de calidad (Assurance) ( 1.4)" Productividad ( 1.5)" Software as a Service (SaaS) ( 1.6)" Service Oriented Architecture ( 1.7)" Cloud Computing ( )" Pair Programming ( 9.3)" 10"

11 Metodologías de desarrollo de SW: Cascada vs. Espiral vs. Ágil (Libro Engineering Long Lasting Software 1.3)"

12 Ciclo de vida en cascada" Conocido por precisar un diseño detallado por adelantado ( Big Design Up Front BDUF)" 1. Especificación y análisis de requisitos" 2. Diseño de la arquitectura" 3. Implementación e integración" 4. Verificación" 5. Operación y mantenimiento" Se termina una fase antes de empezar la siguiente" Justificación: cuanto antes se detecte un error más barato será eliminarlo" Para facilitar la incorporación de nuevos miembros a un equipo se hace hincapié en la generación de documentación en cada fase" 12"

13 Cuál ha sido el resultado?" Sólo funciona bien con SW que tiene especificaciones que no cambian: naves sector aeroespacial, " En el resto de SW los usuarios sugieren cambios en cuanto empiezan a usarlo" También los desarrolladores, al terminar de construirlo tienen ideas sobre cómo mejorarlo ya que han aprendido." 13"

14 Cuál ha sido la experiencia?" Prevé tirar una [implementación]; en cualquier caso lo acabarás haciendo. " - Fred Brooks, Jr. (recibió el ACM Turing Award en 1999 por sus contribuciones a la arquitectura de ordenadores, sistemas operativos e ing. SW)" (Foto de Carola Lauber of SD&M CC-BY-SA-3.0.) 14"

15 Ciclo de vida en espiral" Combina el diseño detallado por adelantado con prototipos! En lugar de documentar todos los requisitos al principio se van documentando incrementalmente en varias iteraciones del prototipo según se va desarrollando éste" 15"

16 Ciclo de vida en espiral" (Figure 1.1, Engineering Long Lasting Software por Armando Fox and David Patterson, Beta edition, 2012.) 16"

17 Análisis del ciclo de v. en espiral" Las iteraciones incluyen al cliente antes de que el producto esté acabado, lo que reduce malinterpretaciones de lo que quiere" Pero las iteraciones son largas, de 6 a 24 meses, lo que deja mucho tiempo para que los clientes cambien de idea y modifiquen los requisitos" Es lo que habíamos pedido, pero no lo que queremos! 17"

18 2001: Manifiesto Ágil" Estamos descubriendo formas mejores de desarrollar software tanto por nuestra propia experiencia como ayudando a terceros. A través de este trabajo hemos aprendido a valorar: " Individuos e interacciones sobre procesos y herramientas" Software funcionando sobre documentación extensiva" Colaboración con el cliente sobre negociación contractual" Respuesta ante el cambio sobre seguir un plan" Esto es, aunque valoramos los elementos de la derecha, valoramos más los de la izquierda. " 18"

19 Ciclo de vida ágil" Acepta el cambio como algo inevitable: mejora continua en lugar de fases" Los desarrolladores mejoran continuamente un prototipo funcional pero incompleto hasta que los clientes están contentos, con realimentación de los usuarios en cada iteración (más o menos cada 2 semanas) " Usa Test-Driven Development (TDD) para verificar ausencia errores, User Stories para validar requisitos de los usuarios, Velocity para medir progreso" 19"

20 Contenidos" La ingeniería de SW es diferente de la ingeniería de HW (Libro Engineering Long Lasting Software Secciones )" Procesos de desarrollo de SW: Cascada vs. Espiral vs. Ágil ( 1.3)" Garantía de calidad (Assurance) ( 1.4)" Productividad ( 1.5)" Software as a Service (SaaS) ( 1.6)" Service Oriented Architecture ( 1.7)" Cloud Computing ( )" Pair Programming ( 9.3)" 20"

21 Garantía de calidad (assurance): Pruebas y Métodos formales (Engineering Long Lasting Software 1.4)"

22 Garantías de calidad" Verificación: Lo has construído correctamente?" Cumple las especificaciones?" Validación: Has construído lo que te habían pedido? " Es lo que quería el cliente? " Es la especificación correcta?" El HW se centra en " El SW se centra en " 2 opciones: Pruebas y Métodos formales" 22"

23 Garantías de calidad" Verificación: Lo has construído correctamente?" Cumple las especificaciones?" Validación: Has construído lo que te habían pedido? " Es lo que quería el cliente? " Es la especificación correcta?" El HW se centra en Verificación! El SW se centra en Validación! 2 opciones: Pruebas y Métodos formales" 23"

24 Pruebas (Testing)" Es inviable realizar pruebas exhaustivas" Divide y vencerás: pruebas distintas en fases de desarrollo distintas" Un nivel superior no repite pruebas de uno inferior" Pruebas de sistema o de aceptación: el programa integrado satisface la especificación Pruebas de integración: las interfaces entre subsistemas son consistentes, se comunican correctamente (varios módulos) Pruebas de módulo o funcionales: varias unidades funcionan bien en conjunto (varias clases, un módulo) Pruebas unitarias: método/función/clase hace lo esperado 24"

25 Pruebas (Testing)" Cobertura: % de caminos probados" Pruebas de regresión: asegurarnos de no se ha estropeado lo que funcionaba corriendo pruebas antiguas cuando se añaden modificaciones" Pruebas de integración continuas: pruebas de regresión inmediatas, no en fases posteriores" Test Driven Design (TDD): asociado a Ágil: escribir las pruebas antes de escribir el código a probar (tests drive coding)" 25"

26 Límites de las pruebas" Las pruebas de programas pueden usarse para mostrar la presencia de errores, pero no para mostrar su ausencia!! Edsger W. Dijkstra" (recibió el ACM Turing Award de 1972 por sus" contribuciones fundamentales al desarrollo" de lenguajes de programación)" (Foto: Hamilton Richards. CC-BY- SA-3.0.) 26"

27 Métodos formales" Se parte de una especificación formal y se prueba que el código satisface la especificación. Opciones:" 1. Un humano realiza el análisis formal del código" 2. Prueba de teoremas automatizada (authomatic theorem proving)" Programa que usa inferencia + axiomas lógicos para producir pruebas" 3. Model checking! Programa Verifica algunas propiedades buscando exhaustivamente todos los estados que podría alcanzar el sistema durante su ejecución" 27"

28 Métodos formales" Es costoso computacionalmente por lo que sólo se usa para:" Pocas líneas de código" Cuando es muy costoso reparar o muy difícil de realizar pruebas" Ejemplo: protocolos de comunicaciones, SW con requisitos críticos de confiabilidad (aeroespacial)" Los ejemplos más grandes: " kernel de un SO: 10K $500/LOC (Line Of Code) " SW NASA para space shuttle: K $80/LOC anuales" En este curso nos centraremos en SW que cambia rápidamente, fácil de reparar, fácil de realizar pruebas => no estudiaremos métodos formales" 28"

29 Contenidos" La ingeniería de SW es diferente de la ingeniería de HW (Libro Engineering Long Lasting Software Secciones )" Procesos de desarrollo de SW: Cascada vs. Espiral vs. Ágil ( 1.3)" Garantía de calidad (Assurance) ( 1.4)" Productividad ( 1.5)" Software as a Service (SaaS) ( 1.6)" Service Oriented Architecture ( 1.7)" Cloud Computing ( )" Pair Programming ( 9.3)" 29"

30 Productividad: Concisión, Síntesis, Reutilización, y Herramientas (Libro Engineering Long Lasting Software 1.5)"

31 Productividad" Ley de Moore: los recursos mejoran 2x cada 1ʼ5 años, lo que implica" diseños HW son cada vez más complejos" procesadores más rápidos y memorias más grandes" diseños de SW se hacen cada vez mayores" Surge la necesidad de mejorar la productividad de HW y SW! 4 técnicas" 1. Simplicidad mediante concisión" 2. Síntesis" 3. Reutilización" 4. Automatización y herramientas" 31"

32 Simplicidad mediante concisión" 1. Sintaxis: legibilidad del código assert_greater_than_or_equal_to(a,7) vs. a.should be 7 2. Elevar el nivel de abstracción: " Lenguajes de programación de alto nivel vs ensamblador" Gestión automática de memoria (Java vs.c)" Lenguajes de scripting: reflexión/instrospección, metaprogramación" 32"

33 Síntesis" Ej: Metaprogramación en Ruby: method_missing, attr_writer, attr_reader, attr_accessor Ej: Síntesis de SW" BitBlt: primitiva gráfica para combinar dos mapas de bit mediante operaciones lógicas: ahorra programar SW par calcular pixel a pixel" Ej: Programación basada en ejemplos" Aún en fase de investigación" 33"

34 Reutilización" Reusar código existente vs. escribir código nuevo" Técnicas en orden histórico y cantidad de código que permiten reutilizar:" 1. Procedimientos y funciones" 2. Bibliotecas estándar de los lenguajes" 3. Programación Orientada a Objetos" 4. Patrones de diseño: reutiliza estrategias incluso si cambia la implementación" 34"

35 Automatización y herramientas" Se trata de automatizar tareas manuales tediosas para ahorrar tiempo y evitar fallos:" Las herramientas pueden ayudar (ej. scripts en general, make, apt-get, git, )" Problemas de las nuevas herramientas: hay que conocer su confiabilidad, no siempre tienen la mejor interfaz de usuario (aprendizaje), elegir la mejor de las existentes " Hay que aprender constantemente nuevas herramientas para trabajar menos y mejor" En este curso: Cucumber, RSpec, Pivotal Tracker, git, " 35"

36 Principio DRY" Don't Repeat Yourself (DRY)" Cuando haya que reparar algo no hay que ir a múltiples lugares" Cada pieza de conocimiento debe tener una única representación dentro del sistema que sea simple, con autoridad y no ambigua. " Andy Hunt and Dave Thomas, 1999" Hay que refactorizar el código para que sólo se hagan una misma función en un único lugar" Cut & Paste de código? No: funciones/procedimientos" Constantes" 36"

37 Contenidos" La ingeniería de SW es diferente de la ingeniería de HW (Libro Engineering Long Lasting Software Secciones )" Procesos de desarrollo de SW: Cascada vs. Espiral vs. Ágil ( 1.3)" Garantía de calidad (Assurance) ( 1.4)" Productividad ( 1.5)" Software as a Service (SaaS) ( 1.6)" Service Oriented Architecture ( 1.7)" Cloud Computing ( )" Pair Programming ( 9.3)" 37"

38 Software as a Service (SaaS) (Libro Engineering Long Lasting Software 1.6)

39 Software as a Service: SaaS" SW tradicional: código binario que instalan y operan los clientes en sus dispositivos" SaaS ofrece SW y datos como un servicio a través de Internet mediante un cliente ligero (p.ej., navegador) que corre en el dispositivo del cliente" Tradicionalmente para búsqueda, redes sociales, vídeo" Ahora también ofimática: Microsoft Office 365, TurboTax Online, Google Docs" Visión de hace más de 40 años: General Electric con Multics y John McCarthy (creador de Lisp)" Entre medias: mainframes, minis, PCs, Internet" 39"

40 6 razones a favor de SaaS" 1. Elimina preocupaciones al instalar (requisitos HW capability, SO, )" 2. Elimina preocupaciones respecto a la pérdida de datos (en el servidor, no backups por parte del usuario)" 3. Facilita colaboración entre usuarios que usan unos mismos datos " 4. Si la cantidad de datos es grande o cambia frecuentemente se simplifica su gestión si están en un solo sitio" 5. 1 única copia del SW y un entorno controlado de HW => facilita tarea de desarrolladores: no hay problemas de compatibilidad" 6. 1 única copia => simplifica distribución de actualizaciones a los desarrolladores y usuarios tienen siempre actualizado el SW" Y en contra?" Quién controla el servicio? Proveedor, gobierno de proveedor " Disponibilidad dependiente de la red" " 40"

41 Relación entre SaaS, Agil, RoR" Las actualizaciones frecuentes de SaaS cuadran con Agile" Hay muchos frameworks para Agile/SaaS" Python Django, Ruby Rails, Ruby Sinatra, CLR ASP.NET, Java EJB, Java JSP, Java Sprint, PHP Zend" Nosotros usaremos Ruby on Rails" Ruby ya lo dominas: lenguaje de scripting OO, functional, garbage collection, tipado dinámico, reutilización via mix-ins, síntesis de SW mediante metaprogramación" Alguien usa Rails? Twitter!, " 41"

42 Contenidos" La ingeniería de SW es diferente de la ingeniería de HW (Libro Engineering Long Lasting Software Secciones )" Procesos de desarrollo de SW: Cascada vs. Espiral vs. Ágil ( 1.3)" Garantía de calidad (Assurance) ( 1.4)" Productividad ( 1.5)" Software as a Service (SaaS) ( 1.6)" Service Oriented Architecture ( 1.7)" Cloud Computing ( )" Pair Programming ( 9.3)" 42"

43 Service Oriented Architecture (SOA) (Libro Engineering Long Lasting Software 1.7)

44 Service Oriented Architecture" SOA: Arquitectura SW en la que todos los componentes se diseñan como servicios" Las aplicaciones están compuestas de servicios interoperables" Es más fácil generar una nueva versión adaptada para un subconjunto de usuarios" Esta modularidad hace que sea más fácil recuperarse de fallos en el diseño reemplazando componentes " La alternativa a SOA: SW silo, código sin APIs internas bien definidas entre los módulos, impide reutilización de componentes" 44"

45 El CEO de Amazon " 1. Todos los equipos expondrán en adelantes sus datos y funcionalidad a través de interfaces de servicio. " 2. Los equipos deben comunicarse entre sí a través de estas interfaces." 3. No se permitirán otras formas de comunicación entre procesos: ni enlazar directamente, ni leer bases datos de otros equipos, ni memoria compartida, ni puertas traseras de ningún tipo. La única comunicación permitida es a través de llamadas a las interfaces a través de la red." 45"

46 El CEO de Amazon " 4. No importa qué [protocolo de API, CORBA, SOA, REST] tecnología uses. (CORBA, SOA, REST, ) " 5. Las interfaces de servicios, sin excepción, deben diseñarse de principio a fin para que sean externalizables. Es decir, el equipo debe planear y diseñar para que se pueda exponer la interfaz a desarrolladores de fuera de la compañía. No hay excepciones. " 6. El que no haga esto será despedido. " 7. Gracias, que pases un buen día " Amazon, Facebook siguen estos principios, Google no" 46"

47 Ejemplo: librería como silo" Los subsistemas internos pueden compartir datos directamente" Una única API para todos los subsistemas, que permanecen ocultos" (Figura 1.3 de llibro Engineering Long Lasting Software, Armando Fox and David Patterson, Beta edition, 2012.) 47"

48 Libreríacon SOA" Subsistemas independientes que podrían estar en lugares distintos" Se pueden generar nuevos servicios fácilmente ( Favorite Books )" (Figura 1.4 de llibro Engineering Long Lasting Software, Armando Fox and David Patterson, Beta edition, 2012.) 48"

49 Contenidos" La ingeniería de SW es diferente de la ingeniería de HW (Libro Engineering Long Lasting Software Secciones )" Procesos de desarrollo de SW: Cascada vs. Espiral vs. Ágil ( 1.3)" Garantía de calidad (Assurance) ( 1.4)" Productividad ( 1.5)" Software as a Service (SaaS) ( 1.6)" Service Oriented Architecture ( 1.7)" Cloud Computing ( )" Pair Programming ( 9.3)" 49"

50 Cloud Computing (Libro Engineering Long Lasting Software 1.8, 1.9, 1.12)

51 Qué infraestructura para SaaS?" SaaS impone 3 requisitos a la infraestructura:" 1. Comunicación: para permitir que los usuarios interaccionen con el servicio" 2. Escalabilidad: " 1. según el día, la hora del día, varía el número de usuarios" 2. servicios exitosos atraen aluviones de usuarios en cortos espacios de tiempo" 3. Confiabilidad: el servicio y la red deben estar disponibles 24x7" 51"

52 Clusters" Clusters: HW estándar (PCs) conectados con switches Ethernet estándar" 1. PCs más escalables que los servidores especializados (Sun, IBM, )" 2. Mucho más baratos" 20X para servidores equivalentes" 3. Necesitan pocos operadores para mantener miles de servidores" Para ello todo el HW/SW ha de ser idéntico" Máquinas virtuales simplifican la operación (flexibilidad para arrancar/mover máquinas con estado)" 4. Redundancia masiva aporta confiabilidad" 52"

53 Computadores-edificio (warehouse scale computer)" La demanda de aplicaciones SaaS (Facebook, ) ha hecho que los clusters pasen de los miles de PCs a cientos de miles en un único CPD (Centro de proceso" Las economías de escala (1K -> 100K) han reducido costes entre 1/3 y 1/8" Un centro de datos tradicional utiliza 10% - 20% de la capacidad" Amazon, Google, Microsoft comenzaron a externalizar la capacidad sobrante" Y acabaron encontrando nuevo modelo de negocio" 53"

54 Utility Computing / Public Cloud Computing" Ofrece computación, almacenamiento y comunicación al precio de céntimos/hora" Ilusión de escalabilidad infinita para el usuario:" Tantos ordenadores como te puedas permitir" Proveedores: Amazon Web Services, Google App Engine, Microsoft Azure" Puede beneficiarse una compañía montando su Private Cloud?" No: la escalabilidad es lo que reduce costes!" 54"

55 2012 AWS: precios de instancias" Instance Per Hour Ratio to Small Compute Units Virtual Cores Compute Unit/ Core Memory (GB) Disk (GB) Address Standard Small $ bit Standard Large $ bit Standard Extra Large $ bit High-Memory Extra Large $ bit High-Memory Double Extra Large $ bit High-Memory Quadruple Extra Large $ bit High-CPU Medium $ bit High-CPU Extra Large $ bit Cluster Quadruple Extra Large $ bit Eight Extra Large $ bit 55"

56 Usos actuales" Competición de los 500 mayores supercomputadores" Puesto 72 de 500 a ~$1300 por hora" Disponible para cualquiera con una tarjeta de crédito" FarmVille, juego disponible en Facebook, alojado en AWS" Fue el mayor juego online: 5 Millones" Reducción de costes: no tienen ordenadores (en AWS): no compras, no admin, no CPD, " Escalabilidad: a los 4 days 1M, a los 2 meses 10M, a los 9 meses 75M" Piensa en el impacto para la innovación que puede tener este nuevo paradigma" Es SaaS/Cloud sólo marketing o está cambiando algo como lo cambiaron los PCs, Internet, los móviles?" 56"

57 Contenidos" La ingeniería de SW es diferente de la ingeniería de HW (Libro Engineering Long Lasting Software Secciones )" Procesos de desarrollo de SW: Cascada vs. Espiral vs. Ágil ( 1.3)" Garantía de calidad (Assurance) ( 1.4)" Productividad ( 1.5)" Software as a Service (SaaS) ( 1.6)" Service Oriented Architecture ( 1.7)" Cloud Computing ( )" Pair Programming ( 9.3)" 57"

58 Programación en pareja (pair programming) (Libro Engineering Long Lasting Software 9.3)!

59 Programación en pareja" Objetivo: mejorar la calidad del software, y reducir el tiempo de desarrollo poniendo a dos programadores a trabajar juntos" Programación en pareja < Programación Extrema < Agil" 59"

60 Programación en pareja" Se se ponen al lado con dos ordenadores" Para evitar distracciones: ni correo ni navegador web" 60"

61 Programación en pareja" Conductor (driver): va escribiendo el código, piensa en tácticas para realizar la tarea que tiene entre manos, y va explicando lo que hace al copiloto" Copiloto (observer): revisa cada línea de código escrita por el conductor según la va tecleando y le indica correcciones" El copiloto está pensando en estrategias para resolver futuros problemas, va haciendo sugerencias al conductor" Hablan continuamente entre ellos" Van alternando los papeles entre la pareja" 61"

62 Vale para algo la programación en pareja?" Parece que terminan antes cuando la tarea tiene baja complejidad" Cuando tiene mayor complejidad se obtiene un SW de mayor calidad" Además se obtiene código más legible" Implica más gasto que si se usan programadores individuales? " Pivotal Labs (San Francisco) dice que no" Bueno para ecualizar conocimientos en la pareja" Usos idiomáticos, trucos de herramientas, procesos de la compañía, nuevas tecnologías, " Algunos equipos rehacen las parejas => todos se emparejan con todos" 62"

63 Consejos para la pareja" NO te despistes: el copiloto no se pone a usar el teléfono mientras el conductor teclea" Emparéjate con gente de diferente experiencia para ecualizar" Cambia de papel el aprendizaje se produce en ambos sentidos, conductor copiloto" El copiloto aprende cómo explicar sus pensamientos al conductor" 63"

Organización de Equipos de desarrollo de SW!

Organización de Equipos de desarrollo de SW! Organización de Equipos de desarrollo de SW! Ingeniería de Sistemas de Información! Grado en Ingeniería en Tecnologías de Telecomunicación! GSyC! 1! 2012 Departamento GSyC, URJC! Algunos derechos reservados.

Más detalles

CENTRO DE RESGUARDO ARQUITECTURA AVANZADA PROF.: JUAN JOSÉ MUÑOZ BUSSI AUTOR: MARIANA FERRETTO

CENTRO DE RESGUARDO ARQUITECTURA AVANZADA PROF.: JUAN JOSÉ MUÑOZ BUSSI AUTOR: MARIANA FERRETTO CENTRO DE RESGUARDO ARQUITECTURA AVANZADA PROF.: JUAN JOSÉ MUÑOZ BUSSI AUTOR: MARIANA FERRETTO CENTRO DE RESGUARDO Centro de Cómputos de Resguardo Sitio para reubicarse luego de un desastre Sitio manejado

Más detalles

CICLO DE VIDA DEL SOFTWARE

CICLO DE VIDA DEL SOFTWARE CICLO DE VIDA DEL SOFTWARE 1. Concepto de Ciclo de Vida 2. Procesos del Ciclo de Vida del Software 3. Modelo en cascada 4. Modelo incremental 5. Modelo en espiral 6. Prototipado 7. La reutilización en

Más detalles

Tema 2. Ingeniería del Software I feliu.trias@urjc.es

Tema 2. Ingeniería del Software I feliu.trias@urjc.es Tema 2 Ciclo de vida del software Ingeniería del Software I feliu.trias@urjc.es Índice Qué es el ciclo de vida del Software? El Estándar 12207 Modelos de proceso Qué es el Ciclo de Vida del SW? Definición

Más detalles

Ciclo de vida del Software

Ciclo de vida del Software Tema 2: Ciclo de vida del Software Marcos López Sanz Índice Qué es el ciclo de vida del Software? La norma 12207-2008 Modelos de desarrollo Qué es el Ciclo de Vida del SW? Es una sucesión de etapas por

Más detalles

Cloud Computing. Rodrigo Moreno Rosales DN-11

Cloud Computing. Rodrigo Moreno Rosales DN-11 Cloud Computing Rodrigo Moreno Rosales DN-11 Cloud Computing La computación en la nube,conocido también como servicios en la nube, informática en la nube, nube de cómputo o nube de conceptos, es un paradigma

Más detalles

INTRODUCCIÓN A LA COMPUTACION EN LA NUBE Y BIG DATA (1) Ing. Carlos Ormella Meyer

INTRODUCCIÓN A LA COMPUTACION EN LA NUBE Y BIG DATA (1) Ing. Carlos Ormella Meyer INTRODUCCIÓN A LA COMPUTACION EN LA NUBE Y BIG DATA (1) Ing. Carlos Ormella Meyer En los últimos años, el interés por la Computación en la Nube (Cloud Computing), tanto para uso personal como para negocios,

Más detalles

Medellín, martes 27 de octubre del 2015

Medellín, martes 27 de octubre del 2015 Medellín, martes 27 de octubre del 2015 José Flavio Guerra Gerente de Innovación OasisCom Introducción Administre con eficiencia sus recursos Servicios En la nube? ERP? Nada? Contenido ERP Definición Características

Más detalles

Historia de revisiones

Historia de revisiones Binary Rain Glosario Versión 1.1 Historia de revisiones Fecha Versión Descripción Autor 17/08/2012 1.0 Creación del documento Carolina Trias 18/08/2012 1.1 Revisado y corregido por SQA Mercedes Marzoa

Más detalles

III. INTRODUCCIÓN AL CLOUD COMPUTING

III. INTRODUCCIÓN AL CLOUD COMPUTING III. INTRODUCCIÓN AL CLOUD COMPUTING Definición (I) Qué es el cloud computing? Nuevo paradigma de computación distribuida Provee un servicio de acceso a recursos computacionales: servidores, almacenamiento,

Más detalles

CICLO DE VIDA DEL SOFTWARE. Una aproximación lógica a la adquisición, el suministro, el desarrollo, la explotación y el mantenimiento del software

CICLO DE VIDA DEL SOFTWARE. Una aproximación lógica a la adquisición, el suministro, el desarrollo, la explotación y el mantenimiento del software 3.010 CONCEPTO DE CICLO DE VIDA Una aproximación lógica a la adquisición, el suministro, el desarrollo, la explotación y el mantenimiento del software IEEE 1074 Un marco de referencia que contiene los

Más detalles

Servicios de infraestructura. Aplicaciones web

Servicios de infraestructura. Aplicaciones web 10 Julio 2013 Servicios de infraestructura Compílela o tráigala y nosotros la ejecutamos Windows Azure proporciona infraestructura a petición que se escala y se adapta a las necesidades cambiantes de cada

Más detalles

Principales beneficios para una pyme del uso de la plataforma Microsoft Office 365

Principales beneficios para una pyme del uso de la plataforma Microsoft Office 365 Portal de la competitividad - Office 365. Escenario Necesito movilidad y colaboración: estar fuera de la oficina y tener acceso a la información Hoja de Producto Técnica (para Pymes). Todas las empresas

Más detalles

Los 6 beneficios del Cloud para los profesionales de RRHH

Los 6 beneficios del Cloud para los profesionales de RRHH Los 6 beneficios del Cloud para los profesionales de RRHH Copyright 2013, Meta4 Spain, S.A. All rights reserved Copyright 2014, Meta4 Spain, S.A. All rights reserved Agenda Introducción al Cloud Beneficios

Más detalles

Capítulo 4. Requisitos del modelo para la mejora de la calidad de código fuente

Capítulo 4. Requisitos del modelo para la mejora de la calidad de código fuente Capítulo 4. Requisitos del modelo para la mejora de la calidad de código fuente En este capítulo definimos los requisitos del modelo para un sistema centrado en la mejora de la calidad del código fuente.

Más detalles

Modelos de Proceso Tradicionales

Modelos de Proceso Tradicionales Modelos de Proceso Tradicionales Capitulo 2,QJHQLHUtDGHO6RIWZDUH (VSHFLDOL]DFLyQHQ*HUHQFLDGH6LVWHPDVGH,QIRUPDFLyQ 8QLYHUVLGDG6DQWLDJRGH&DOL Profesor: MSc. MIGUEL ANGEL NIÑO ZAMBRANO Programación: Tiempo

Más detalles

Cloud Computing. Octubre 2011 / White paper

Cloud Computing. Octubre 2011 / White paper Cloud Computing Octubre 2011 / White paper Cloud Computing El modelo de Computación en la Nube está reemplazando el modelo tradicional de TI para numerosas organizaciones que no han podido seguir el ritmo

Más detalles

Framework para el desarrollo ágil de aplicaciones

Framework para el desarrollo ágil de aplicaciones Framework para el desarrollo ágil de aplicaciones 1 Índice INTRODUCCIÓN... 3 QUÉ ES UN FRAMEWORK?... 3 VENTAJAS DE UTILIZAR UN FRAMEWORK... 4 DESVENTAJAS DE UTILIZAR UN FRAMEWORK... 5 CARACTERÍSTICAS DE

Más detalles

Metodología AGIL para el desarrollo SaaS

Metodología AGIL para el desarrollo SaaS WICC 2012 577 Metodología AGIL para el desarrollo SaaS Susana Chavez1, Adriana Martín2, Nelson Rodríguez3, María Murazzo4, Adriana Valenzuela5 Departamento e Instituto de Informática - F.C.E.F. y N. -

Más detalles

Subir o no subir al Cloud, esa es la cuestión.

Subir o no subir al Cloud, esa es la cuestión. Subir o no subir al Cloud, esa es la cuestión. Conoce los conceptos clave y toma tú la decisión! Para empezar conoce el primer concepto qué es el Cloud o la Nube? Significa Computación en la Nube y no

Más detalles

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

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

Más detalles

Fundamentos de Ingeniería de Software

Fundamentos de Ingeniería de Software Fundamentos de Ingeniería de Software Marcello Visconti y Hernán Astudillo Departamento de Informática Universidad Técnica Federico Santa María {visconti,hernan} at inf.utfsm.cl Fundamentos de Ingeniería

Más detalles

RAID (Redundant Array of Independents Disk) Presentado por: María Veloz

RAID (Redundant Array of Independents Disk) Presentado por: María Veloz RAID (Redundant Array of Independents Disk) Presentado por: María Veloz 1 Contenido 1) Términos RAID 2) Que es RAID? 3) Historia 4) Niveles RAID estándard RAID 0 RAID 1 RAID 2 RAID 3 RAID 4 RAID 5 RAID

Más detalles

PROYECTO REALIZADO POR: ENTIDAD GESTORA: COFINANCIADO POR:

PROYECTO REALIZADO POR: ENTIDAD GESTORA: COFINANCIADO POR: CLOUD COMPUTING PROYECTO REALIZADO POR: ENTIDAD GESTORA: COFINANCIADO POR: 1. Introducción 1. Qué es el Cloud Computing? La computación en nube es un sistema informático basado en Internet y centros de

Más detalles

Ingeniería de Software

Ingeniería de Software Ingeniería de Software Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de: http://www.dsic.upv.es/~uml http://inst.eecs.berkeley.edu/~cs169/ entre otras fuentes. Definiciones

Más detalles

Historia de revisiones

Historia de revisiones Binary-Rain Glosario Versión 1.2 Historia de revisiones Fecha Versión Descripción Autor 18/08/2012 1.0 Versión inicial Paul Green 18/08/2012 1.1 Revisión de calidad Camilo Servetti 25/08/2012 1.2 Se agregaron

Más detalles

Virtualización del puesto de trabajo como servicio de movilidad en las nuevas infraestructuras de red

Virtualización del puesto de trabajo como servicio de movilidad en las nuevas infraestructuras de red Virtualización del puesto de trabajo como servicio de movilidad en las nuevas infraestructuras de red Presentación basada en el foro de la virtualizacion del puesto de trabajo www.ibm.zitralia.com Zaragoza

Más detalles

Tema 1 Introducción a la Ingeniería de Software

Tema 1 Introducción a la Ingeniería de Software Tema 1 Introducción a la Ingeniería de Software Curso Ingeniería de Software UMCA Profesor Luis Gmo. Zúñiga Mendoza 1. Software En la actualidad todo país depende de complejos sistemas informáticos. Podemos

Más detalles

TEMA 2: CAPACIDAD: Diseño del Servicio TI Anexo II: Amazon EC2

TEMA 2: CAPACIDAD: Diseño del Servicio TI Anexo II: Amazon EC2 CIMSI Configuración, Implementación y Mantenimiento de Sistemas Informáticos TEMA 2: CAPACIDAD: Diseño del Servicio TI Anexo II: Amazon EC2 Daniel Cascado Caballero Rosa Yáñez Gómez Mª José Morón Fernández

Más detalles

JAVA EE 5. Arquitectura, conceptos y ejemplos.

JAVA EE 5. Arquitectura, conceptos y ejemplos. JAVA EE 5. Arquitectura, conceptos y ejemplos. INTRODUCCIÓN. MODELO DE LA APLICACIÓN JEE5. El modelo de aplicación Java EE define una arquitectura para implementar servicios como lo hacen las aplicaciones

Más detalles

Redes de Almacenamiento

Redes de Almacenamiento Redes de Almacenamiento Las redes de respaldo o backend se utilizan para interconectar grandes sistemas tales como computadores centrales y dispositivos de almacenamiento masivo, el requisito principal

Más detalles

UNIVERSIDAD PONTIFICIA DE SALAMANCA. Faculta de Informática

UNIVERSIDAD PONTIFICIA DE SALAMANCA. Faculta de Informática UNIVERSIDAD PONTIFICIA DE SALAMANCA Faculta de Informática Sistemas de Información y Auditoría de Sistemas de Información Modelos de servicio en Cloud Computing (SaaS, PaaS, IaaS) Alumno:!!! Alberto Balado

Más detalles

Novedades de Microsoft Dynamics 2011

Novedades de Microsoft Dynamics 2011 Novedades de Microsoft Dynamics 2011 Microsoft Dynamics CRM 2011 ofrece características nuevas y mejoradas que le ayudarán a aumentar la eficacia y la productividad de su organización. Interfaz de Microsoft

Más detalles

Introducción. http://www.microsoft.com/spanish/msdn/comunidad/mtj.net/voices/art143.asp - Gráfica tomada del Artículo de José David Parra

Introducción. http://www.microsoft.com/spanish/msdn/comunidad/mtj.net/voices/art143.asp - Gráfica tomada del Artículo de José David Parra Si en otros tiempos el factor decisivo de la producción era la tierra y luego lo fue el capital... hoy día el factor decisivo es cada vez más el hombre mismo, es decir, su conocimiento... Juan Pablo II

Más detalles

Arquitectura completa de almacenamiento y protección de datos de VMware vsphere

Arquitectura completa de almacenamiento y protección de datos de VMware vsphere Arquitectura completa de almacenamiento y protección de datos de VMware vsphere Resumen ejecutivo Las ventajas que suponen el ahorro de costes y la agilidad de la virtualización de servidores están más

Más detalles

Programación orientada a

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

Más detalles

Ingeniería de Software Dr. Marcello Visconti Z. Ingeniería de Software

Ingeniería de Software Dr. Marcello Visconti Z. Ingeniería de Software Universidad Técnica Federico Santa María Departamento de Informática Ingeniería de Software Dr. Marcello Visconti Z. Programa Proceso de Software y Paradigmas de Desarrollo Gestión de Proyectos Fases del

Más detalles

EXIN Cloud Computing Foundation

EXIN Cloud Computing Foundation Examen tipo EXIN Cloud Computing Foundation Edición Abril 2014 Copyright 2014 EXIN All rights reserved. No part of this publication may be published, reproduced, copied or stored in a data processing system

Más detalles

Indice 1. Introducción a la computación en nube (cloud computing)

Indice 1. Introducción a la computación en nube (cloud computing) Tema 9. Centros de datos: computación en nube y organización física Indice 1. Introducción a la computación en nube (cloud computing) 2. Virtualización de recursos: consolidación de servidores 3. Arquitectura

Más detalles

Instituto Nacional de Tecnología Industrial TESTING DE SOFTWARE

Instituto Nacional de Tecnología Industrial TESTING DE SOFTWARE Instituto Nacional de Tecnología Industrial TESTING DE SOFTWARE Laboratorio de Testing y Aseguramiento de Calidad de Software Disertante: A.C. Gabriel Miretti Agenda Presentación del Laboratorio de Testing

Más detalles

Bienvenidos a la presentación: Introducción a conceptos básicos de programación.

Bienvenidos a la presentación: Introducción a conceptos básicos de programación. Bienvenidos a la presentación: Introducción a conceptos básicos de programación. 1 Los programas de computadora son una serie de instrucciones que le dicen a una computadora qué hacer exactamente. Los

Más detalles

Alumno: Jorge Sordo Balbín Profesor: Luis Joyanes Aguilar Nº Expediente: 126013 Correo Electrónico: jorge_sordo@hotmail.com

Alumno: Jorge Sordo Balbín Profesor: Luis Joyanes Aguilar Nº Expediente: 126013 Correo Electrónico: jorge_sordo@hotmail.com UNIVERSIDAD PONTIFICIA DE SALAMANCA CAMPUS MADRID INGENIERÍA DE ORGANIZACIÓN INDUSTRIAL TRABAJO ACADÉMICO I Modelos de despliegue y Modelos de servicio Noviembre 2012 Alumno: Jorge Sordo Balbín Profesor:

Más detalles

Cómo Dar a Conocer TÚ Negocio/Empresa para Generar Más Ventas. http://www.negocioredondo.biz/ Melitón Barrera

Cómo Dar a Conocer TÚ Negocio/Empresa para Generar Más Ventas. http://www.negocioredondo.biz/ Melitón Barrera Cómo Dar a Conocer TÚ Negocio/Empresa para Generar Más Ventas http://www.negocioredondo.biz/ Cómo Dar a Conocer TÚ Negocio/Empresa para Generar Más Ventas Índice Para Quien Está Dirigido... 4 Internet:

Más detalles

Ofrezca la nueva tendencia de innovación empresarial con un entorno de red abierta

Ofrezca la nueva tendencia de innovación empresarial con un entorno de red abierta Descripción general de la solución Ofrezca la nueva tendencia de innovación empresarial con un entorno de red abierta Lo que aprenderá A medida que tecnologías como la nube, la movilidad, los medios sociales

Más detalles

Software Libre. Software Libre. Coordinación de Estudios Interactivos a Distancia (CEIDIS), Mérida - Venezuela

Software Libre. Software Libre. Coordinación de Estudios Interactivos a Distancia (CEIDIS), Mérida - Venezuela Introducción. Entre los años 1960 y 1970, el software no era considerado un producto sino un añadido, que los vendedores de grandes computadores de la época (los mainframes) aportaban a sus clientes para

Más detalles

Capítulo I. Marco Teórico

Capítulo I. Marco Teórico 1 Capítulo I. Marco Teórico 1. Justificación Hoy en día existe una gran diversidad de aplicaciones que corren sobre la World Wide Web (WWW o Web), y cada una orientada a un fin en particular, el cuál depende

Más detalles

Administración de puestos de trabajo y servidores

Administración de puestos de trabajo y servidores Administración de puestos de trabajo y servidores Escuela Tec. Sup. Ingeniería de Telecomunicación gsyc-profes (arroba) gsyc.es Abril de 2015 GSyC - 2015 Administración de puestos de trabajo y servidores

Más detalles

Tú negocio siempre contigo

Tú negocio siempre contigo Tú negocio siempre contigo EL ERP CLOUD QUE CUBRE TODAS TUS NECESIDADES Toda la potencia de un ERP en la nube accesible desde cualquier dispositivo. QuartUp es un completo ERP en la nube que te proporciona

Más detalles

No se requiere que los discos sean del mismo tamaño ya que el objetivo es solamente adjuntar discos.

No se requiere que los discos sean del mismo tamaño ya que el objetivo es solamente adjuntar discos. RAIDS MODO LINEAL Es un tipo de raid que muestra lógicamente un disco pero se compone de 2 o más discos. Solamente llena el disco 0 y cuando este está lleno sigue con el disco 1 y así sucesivamente. Este

Más detalles

Gestión automatizada de la infraestructura (IaaS Infraestructure as a Service)

Gestión automatizada de la infraestructura (IaaS Infraestructure as a Service) Universidad de Extremadura (Observatorio Tecnológico HP) Escuela Politécnica de Cáceres Gestión automatizada de la infraestructura (IaaS Infraestructure as a Service) Autores: Emilio José Muñoz Fernández

Más detalles

La Arquitectura de las Máquinas Virtuales.

La Arquitectura de las Máquinas Virtuales. La Arquitectura de las Máquinas Virtuales. La virtualización se ha convertido en una importante herramienta en el diseño de sistemas de computación, las máquinas virtuales (VMs) son usadas en varias subdiciplinas,

Más detalles

Mejor Framework PythonOO + SOLID. Vivir sin Frameworks

Mejor Framework PythonOO + SOLID. Vivir sin Frameworks Mejor Framework PythonOO + SOLID Vivir sin Frameworks Presentaciones Alea Soluciones Bifer Team @eferro @pasku1 @apa42 @nestorsalceda Un placer... Qué es un framework? Django Rails Grails Spring AppEngine

Más detalles

LA COLABORACIÓN, UNA REALIDAD GRACIAS A LA ARQUITECTURA TECNOLÓGICA HP EGOVERNMENT FRAMEWORK

LA COLABORACIÓN, UNA REALIDAD GRACIAS A LA ARQUITECTURA TECNOLÓGICA HP EGOVERNMENT FRAMEWORK 1 LA COLABORACIÓN, UNA REALIDAD GRACIAS A LA ARQUITECTURA TECNOLÓGICA HP EGOVERNMENT FRAMEWORK Miguel Angel Abellán Juliá Gerente de Soluciones para Administraciones Públicas. Hewlett-Packard Española,

Más detalles

Gestionando Agile/Scrum con Sciforma

Gestionando Agile/Scrum con Sciforma agile Gestionando Agile/Scrum con Sciforma El desarrollo ágil de software son métodos de ingeniería del software basados en el desarrollo iterativo e incremental, donde los requerimientos y soluciones

Más detalles

Modelos de Negocio sobre Java, Software Libre y Cloud Computing

Modelos de Negocio sobre Java, Software Libre y Cloud Computing Modelos de Negocio sobre Java, Software Libre y Cloud Computing Sergio Montoro Ten KnowGate Objetivos de la sesión 1 Porqué escribir un proyecto en Java? 2 Porqué escribir un proyecto en absoluto? 3 Qué

Más detalles

Qué es Record Keeper?

Qué es Record Keeper? Cada día, empezamos nuestras labores bajando los e-mails, algunos con adjuntos de documentos que tienen que ser revisados; en fin, todo el día los documentos nos llegan ya sea físicamente o por el correo

Más detalles

Cloud Computing o Computo en la Nube. Cuestiones Emergentes

Cloud Computing o Computo en la Nube. Cuestiones Emergentes Cloud Computing o Computo en la Nube Cuestiones Emergentes Que es el Cómputo en la Nube? Cloud Computing = El Cómputo en la Nube Es un cambio de paradigma en la forma que se realiza el procesamiento computacional.

Más detalles

IaaS en los estudios de informática

IaaS en los estudios de informática IaaS en los estudios de informática Proyecto de Innovación. Implantación y puesta a punto de la infraestructura de un cloud computing privado para el despliegue de servicios en la nube IES Gonzalo Nazareno

Más detalles

Almacenamiento en la nube: SkyDrive, Google Drive, Dropbox. Cuál elegir?

Almacenamiento en la nube: SkyDrive, Google Drive, Dropbox. Cuál elegir? Almacenamiento en la nube: SkyDrive, Google Drive, Dropbox. Cuál elegir? Ya no caben dudas, hay que mudarse a la nube. Este es un buen momento para comparar los tres servicios más populares para almacenar

Más detalles

Fundamentos de EXIN Cloud Computing

Fundamentos de EXIN Cloud Computing Preguntas de muestra Fundamentos de EXIN Cloud Computing Edición de octubre de 2012 Copyright 2012 EXIN All rights reserved. No part of this publication may be published, reproduced, copied or stored in

Más detalles

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE PRUEBAS DE SOFTWARE La prueba del software es un elemento crítico para la garantía de la calidad del software. El objetivo de la etapa de pruebas es garantizar la calidad del producto desarrollado. Además,

Más detalles

De la Integración Continua a la Entrega Continua

De la Integración Continua a la Entrega Continua Febrero 2014 Eder Castro Lucas Arquitecto de soluciones en atsistemas De la Integración Entrega Continua Qué es la? La es una disciplina de desarrollo de software que hace uso de un conjunto de patrones

Más detalles

CURSOS DE VERANO 2014

CURSOS DE VERANO 2014 CURSOS DE VERANO 2014 CLOUD COMPUTING: LA INFORMÁTICA COMO SERVICIO EN INTERNET LA PLATAFORMA GOOGLE CLOUD PLATFORM. GOOGLE APP ENGINE Pedro A. Castillo Valdivieso Universidad de Granada http://bit.ly/unia2014

Más detalles

Capítulo 5. Cliente-Servidor.

Capítulo 5. Cliente-Servidor. Capítulo 5. Cliente-Servidor. 5.1 Introducción En este capítulo hablaremos acerca de la arquitectura Cliente-Servidor, ya que para nuestra aplicación utilizamos ésta arquitectura al convertir en un servidor

Más detalles

SISTEMAS DE INFORMACIÓN II TEORÍA

SISTEMAS DE INFORMACIÓN II TEORÍA CONTENIDO: EL PROCESO DE DISEÑO DE SISTEMAS DISTRIBUIDOS MANEJANDO LOS DATOS EN LOS SISTEMAS DISTRIBUIDOS DISEÑANDO SISTEMAS PARA REDES DE ÁREA LOCAL DISEÑANDO SISTEMAS PARA ARQUITECTURAS CLIENTE/SERVIDOR

Más detalles

Especificación de la secuencia de mensajes que se han de intercambiar. Especificación del formato de los datos en los mensajes.

Especificación de la secuencia de mensajes que se han de intercambiar. Especificación del formato de los datos en los mensajes. SISTEMAS DISTRIBUIDOS DE REDES 2.- MODELOS ORIENTADOS A OBJETOS DISTRIBUIDOS 2.1. Tecnologías de sistemas distribuidos Para la implementación de sistemas distribuidos se requiere de tener bien identificados

Más detalles

PRESENTACIÓN PRODUCTO. Más que un software, el método más eficaz de conciliar.

PRESENTACIÓN PRODUCTO. Más que un software, el método más eficaz de conciliar. PRESENTACIÓN PRODUCTO Más que un software, el método más eficaz de conciliar. Automatizar las conciliaciones significa ahorrar recursos y generar mayor rentabilidad en su negocio. Eligiendo Conciliac su

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación II MODELOS y HERRAMIENTAS UML 1 1 Modelado de casos de uso (I) Un caso de uso es una técnica de modelado usada para describir lo que debería hacer

Más detalles

Cloud Computing. Huibert Aalbers Senior Certified Executive IT Architect

Cloud Computing. Huibert Aalbers Senior Certified Executive IT Architect Cloud Computing Huibert Aalbers Senior Certified Executive IT Architect Cloud Computing Orígenes y Visión Soluciones actuales Grid interno Soluciones de infraestructura App engines Utility Computing Este

Más detalles

Sistema de gestión de tareas y proyectos

Sistema de gestión de tareas y proyectos Sistema de gestión de tareas y proyectos Propuesta de proyecto Seminario de Informática I Luis Muñoz Enrique Viard Contenido Introducción... 3 Descripción general... 3 Arquitectura propuesta... 5 Requisitos...

Más detalles

12/07/2010. INGENIERIA DE SOFTWARE Tema 7: Mantenimiento del software. Contenido. 1. Aspectos Generales. 1. Aspectos Generales. 1. Aspectos Generales

12/07/2010. INGENIERIA DE SOFTWARE Tema 7: Mantenimiento del software. Contenido. 1. Aspectos Generales. 1. Aspectos Generales. 1. Aspectos Generales Contenido INGENIERIA DE SOFTWARE Tema 7: Mantenimiento del software Presenta: David Martínez Torres Universidad Tecnológica de la Mixteca dtorres@mixteco.utm.mx Cubo 37 1. Aspectos generales 2. Características

Más detalles

Arquitectura: Clusters

Arquitectura: Clusters Universidad Simón Bolívar Arquitectura: Clusters Integrantes: - Aquilino Pinto - Alejandra Preciado Definición Conjuntos o conglomerados de computadoras construidos mediante la utilización de hardware

Más detalles

TFM Comunicación, Redes y Gestión de Contenidos

TFM Comunicación, Redes y Gestión de Contenidos TFM Comunicación, Redes y Gestión de Contenidos Aplicación móvil hibrida para control de asistencia y servicio técnico a domicilio y gestión de partes de trabajo Autor: Patricia Paguay Lara Tutorizado

Más detalles

Alternativas en El Mercado de software de Recursos Humanos en Chile. Miguel Collado Yantén

Alternativas en El Mercado de software de Recursos Humanos en Chile. Miguel Collado Yantén Alternativas en El Mercado de software de Recursos Humanos en Chile Miguel Collado Yantén 1 Miguel Collado Yantén 30 años de experiencia en soluciones informáticas. Ingeniero Ejecución Informático. Universidad

Más detalles

Qué es la nube? Manuel García-Elorz

Qué es la nube? Manuel García-Elorz Qué es la nube? Manuel García-Elorz Qué es la nube?: Siete puntos importantes. 1.- Infraestructura dinámica. 2.- Un enfoque de IT centrado en el servicio. 3.- Soluciones Time-to-Market. 4.- Plataforma

Más detalles

Preguntas y respuestas (rebatibles) sobre metodologías de desarrollo de software

Preguntas y respuestas (rebatibles) sobre metodologías de desarrollo de software Preguntas y respuestas (rebatibles) sobre metodologías de desarrollo de software Introducción Este documento recopila las preguntas, opiniones y respuestas que se produjeron en un pequeño curso sobre las

Más detalles

Sistemas de Información para la Gestión

Sistemas de Información para la Gestión Sistemas de Información para la Gestión UNIDAD 2: RECURSOS DE TI Bases de Datos UNIDAD 2: RECURSOS DE TECNOLOGÍA DE INFORMACIÓN Información 1. La Información: Propiedades de la Información. Sistemas de

Más detalles

Construcción y Pruebas de Software

Construcción y Pruebas de Software UNIVERSIDAD DE CARABOBO Facultad Experimental de Ciencias y Tecnología Departamento de Computación Construcción y Pruebas de Software Elaborado por: Gustavo Bazán Francisco Rosas Bárbula, Junio de 2012

Más detalles

MADS 1.2- Introducción a la asignatura. Metodologías Ágiles de Desarrollo de Software Domingo Gallardo, DCCIA, Univ.

MADS 1.2- Introducción a la asignatura. Metodologías Ágiles de Desarrollo de Software Domingo Gallardo, DCCIA, Univ. MADS 1.2- Introducción a la asignatura Datos de la asignatura Grado en Ingeniería Informática (4º curso) Especialidad: Ingeniería del Software Ficha de la asignatura Departamento de Ciencia de la Computación

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

Arquitectura de Aplicaciones

Arquitectura de Aplicaciones 1 Capítulo 13: Arquitectura de aplicaciones. - Sommerville Contenidos del capítulo 13.1 Sistemas de procesamiento de datos 13.2 Sistemas de procesamiento de transacciones 13.3 Sistemas de procesamiento

Más detalles

Perspectiva de Tech-Clarity: consolidación CAD. Ventajas de una estrategia CAD unificada

Perspectiva de Tech-Clarity: consolidación CAD. Ventajas de una estrategia CAD unificada Perspectiva de Tech-Clarity: consolidación CAD Ventajas de una estrategia CAD unificada Tech-Clarity, Inc. 2013 Tabla de contenido Resumen general... 3 Optimización de los gastos de TI... 4 Reutilización...

Más detalles

SOFTWARE PROPIETARIO Salinas Güicho Diego Eduardo Obregón León Nancy Marever

SOFTWARE PROPIETARIO Salinas Güicho Diego Eduardo Obregón León Nancy Marever SOFTWARE PROPIETARIO Salinas Güicho Diego Eduardo Obregón León Nancy Marever ÍNDICE* I. Software II. Estructura de Software III. Software propietario IV. Su historia V. Ventajas & Desventajas VI. Características

Más detalles

Unidad 1: Conceptos generales de Sistemas Operativos.

Unidad 1: Conceptos generales de Sistemas Operativos. Unidad 1: Conceptos generales de Sistemas Operativos. Tema 3: Estructura del sistema operativo. 3.1 Componentes del sistema. 3.2 Servicios del sistema operativo. 3.3 Llamadas al sistema. 3.4 Programas

Más detalles

Arquitectura de Aplicaciones Web

Arquitectura de Aplicaciones Web Servicios y Aplicaciones Telemáticas gsyc-profes@gsyc.escet.urjc.es 5 de noviembre de 2008 c 2008 Grupo de Sistemas y Comunicaciones. Algunos derechos reservados. Este trabajo se distribuye bajo la licencia

Más detalles

SMART FLEXIBILITY CONSENSUS. Group. www.consensusgroup.net

SMART FLEXIBILITY CONSENSUS. Group. www.consensusgroup.net SMART FLEXIBILITY www.consensusgroup.net Aportamos Soluciones y Servicios Tecnológicos innovadores basados en modelos de negocio flexibles SOBRE NOSOTROS QUIENES SOMOS? Somos una empresa de Servicios Integrales

Más detalles

Un modelo de proceso es una representación abstracta de un proceso. Presenta una descripción de un proceso desde una perspectiva particular.

Un modelo de proceso es una representación abstracta de un proceso. Presenta una descripción de un proceso desde una perspectiva particular. El proceso software Un conjunto estructurado de actividades y resultados asociados que conducen a la creación de un producto de software Especificación: Definir la funcionalidad y las restricciones en

Más detalles

Tema 2. El Ciclo de Vida del Software (ISG1-ITIG)

Tema 2. El Ciclo de Vida del Software (ISG1-ITIG) Tema 2. El Ciclo de Vida del Software (ISG1-ITIG) Grupo de Ingeniería del Software Antonio José Sáenz Albanés (C.T.O) Reconocimiento No Comercial Compartir Igual - 3.0 - España 1 Objetivos del Tema Qué

Más detalles

Oportunidades de negocio asociadas al modelo Cloud Computing

Oportunidades de negocio asociadas al modelo Cloud Computing Oportunidades de negocio asociadas al modelo Cloud Computing ESIC, Mayo de 2011 Dr. Fernando Sevillano fsevillano@ucjc.edu 1 CONTENIDOS 1. Cómo se hace negocio en un entorno Cloud. 2. Proveedores Cloud

Más detalles

Software Reutilizable. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 18 Slide 1

Software Reutilizable. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reutilizable Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 18 Slide 1 Objetivos Para explicar los beneficios del software reutilizable y algunos de sus problemas Para discutir

Más detalles

Nuevas tendencias: Virtualización de computadores / servidores

Nuevas tendencias: Virtualización de computadores / servidores Nuevas tendencias: Virtualización de computadores / servidores Expositor: Ing. José Wu Chong Laboratorio de Internetworking FIA DATA Agenda Qué es un servidor? Qué servicios hay en la red? Qué es Virtualización?

Más detalles

PROPUESTA COMERCIAL SERESCO, S.A.

PROPUESTA COMERCIAL SERESCO, S.A. PROPUESTA COMERCIAL SERESCO, S.A. Estimado Federado: Desde SERESCO, S.A. nos han hecho llegar una oferta para todos los federados la cual consideramos importante comunicar: Sus datos en un lugar seguro...con

Más detalles

NUEVAS TENDENCIAS EN LA CALIDAD DEL SOFTWARE IGNACIO BAYUGAR

NUEVAS TENDENCIAS EN LA CALIDAD DEL SOFTWARE IGNACIO BAYUGAR NUEVAS TENDENCIAS EN LA CALIDAD DEL SOFTWARE IGNACIO BAYUGAR Ignacio.bayugar@mercadolibre.com, i id nachobayugar@gmail.com NUEVAS TENDENCIAS EN LA CALIDAD DEL SOFTWARE El desarrollo ágil El nuevo rol de

Más detalles

Figura 1. Fuente: elaborada en el MSLab

Figura 1. Fuente: elaborada en el MSLab PLATAFORMA TECNOLÓGICA DEL LABORATORIO DE MODELACIÓN Y SIMULACIÓN Centro de Estudios Empresariales para la Perdurabilidad CEEP Facultad de Administración Universidad Colegio Mayor de Nuestra Señora del

Más detalles

Estándares para el Uso de Herramientas de Desarrollo y Plataformas de Aplicaciones Web

Estándares para el Uso de Herramientas de Desarrollo y Plataformas de Aplicaciones Web Secretaría de Planificación Estratégica Oficina de Informática Estándares para el Uso de Herramientas de Desarrollo y Plataformas de Aplicaciones Web VERSIÓN 4 Julio 2009 Índice 1. Generalidades... 3 1.1

Más detalles

StaaS: almacenamiento como servicio

StaaS: almacenamiento como servicio Murcia, 1-2 de junio de 2012 Licencia Niveles estándar de Ejemplo de en Linux c 2012 FLOSSystems S.L. This work is licensed under a Creative Commons Attribution 3.0 License http://creativecommons.org/licenses/by/3.0/es

Más detalles

Construcción de sistemas de soporte a la toma de decisiones

Construcción de sistemas de soporte a la toma de decisiones INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÓMPUTO Construcción de sistemas de soporte a la toma de decisiones M. En C. Eduardo Bustos Farías 1 Desarrolla en Sistemas de Apoyo de Decisión Como

Más detalles

Tema 5. Tecnologías web. Antonio Sanz ansanz@unizar.es. Comercio Electrónico

Tema 5. Tecnologías web. Antonio Sanz ansanz@unizar.es. Comercio Electrónico Tema 5 Tecnologías web Antonio Sanz ansanz@unizar.es Comercio Electrónico Índice Gestión de un proyecto web Historia i de Internet t y la WWW Arquitecturas cliente/servidor Gestión de un proyecto web Introducción

Más detalles