Sesion 1
Upcoming SlideShare
Loading in...5
×
 

Sesion 1

on

  • 2,619 views

En esta presentacion se tratan los temas del area Ingenieria del Software 3, en esta se presentan los siguientes temas: ...

En esta presentacion se tratan los temas del area Ingenieria del Software 3, en esta se presentan los siguientes temas:
- Ingenieria Web.
- Ingenieria de Software.
- Comnputacion en la Nube.
- Computacion en GRID.

Statistics

Views

Total Views
2,619
Views on SlideShare
2,597
Embed Views
22

Actions

Likes
0
Downloads
61
Comments
0

3 Embeds 22

http://ingsw3uca.blogspot.com 10
http://www.slideshare.net 10
http://www.ingsw3uca.blogspot.com 2

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Sesion 1 Sesion 1 Presentation Transcript

  • INGENIERIA DE SOFTWRE III
    SESION 1
    INGENIERIA WEB
    Jairo Iván Vélez Bedoya
  • CONTENIDOS
    INGENIERIA WEB
    Introducción
    Categorías
    NUEVOS PARADIGMAS DE INGENIERIA DE SOFTWARE
    Computación en la nube
    Programación orientada a aspectos
    ARQUITECTURA DE SOFTWARE
    Diseño arquitectónico
    Descripción de arquitecturas, notación y herramientas (estático y dinámico)
    Patrones y estilos arquitectónicos
    Especificación para activos reutilizables (RAS)
    Modelos de componentes para arquitecturas (EJB)
    Desarrollo de componentes con EJBs
  • CONTENIDOS
    METODOLOGÍAS ÁGILES, TÉCNICAS Y HERRAMIENTAS (SCRUM, XP o AUP)
    GESTION DE PROYECTOS DE SOFTWARE
    Calidad de procesos y ciclo de vida
    Calidad de productos
    Calendarización
    Peopleware
    TSP
    Introducción
    Lanzamiento
    Exposición de avance de proyecto de cada equipo de trabajo
    Roles
    Estrategia
    Metricas
    Calendarizacion
    Postmortem
    View slide
  • EVALUACIÓN
    Casos de estudio  5%
    Parcial 1  15%
    Parcial 2  20%
    Parcial 3  20%
    Proyecto  40%
    View slide
  • INGENIERIA WEB
    La ingeniería web es la aplicación de metodologías sistemáticas, disciplinadas y cuantificables al desarrollo eficiente, operación y evolución de aplicaciones de alta calidad en la www.
  • INGENIERIA WEB
    La ingeniería web se debe al crecimiento desenfrenado que está teniendo la Web y está ocasionando un impacto en la sociedad y el nuevo manejo que se le está dando a la información en las diferentes áreas en que se presenta y ha hecho que las personas tiendan a realizar todas sus actividades por esta vía.
  • INGENIERIA WEB
    Internet se volvió más que una diversión y empezó a ser tomado más en serio, ya que el aumento de publicaciones y de informaciones hizo que la Web se volviera como un desafío para los ingenieros de software, a raíz de esto se crearon enfoques disciplinados, sistemáticos y metodologías donde tuvieron en cuenta aspectos específicos de este nuevo medio.
  • INGENIERIA WEB
    Uno de los aspectos más tenidos en cuenta, en el desarrollo de sitios web es sin duda alguna el diseño gráfico y la organización estructural del contenido
  • INGENIERIA WEB
    En la actualidad la web está sufriendo grandes cambios, que han obligado a expertos en el tema a utilizar herramientas y técnicas basadas en la ingeniería del software, para poder garantizar el buen funcionamiento y administración de los sitios web.
  • INGENIERIA WEB
    Para garantizar el buen funcionamiento y mantenimiento de los sitios web, este debe contar con ciertos atributos y características que en conjunto forman un concepto muy importante, para alcanzar el éxito en cualquier organización, herramienta, y todo aquello que se pueda considerar como servicio.
  • INGENIERIA WEB
    Dicho concepto es la calidad, que con atributos como, usabilidad, navegabilidad, seguridad, mantenibilidad, entre otros, hace posible por un lado la eficiencia del sistema web y por ende la satisfacción del usuario final.
  • INGENIERIA WEB
    para tener artefactos de calidad, a esa misma se le debe planificar, programar y controlar, es decir la calidad no podrá ser agregada a un sistema web o a cualquier otro producto, al final del proceso de desarrollo, si no que se deberá implementar durante todo el ciclo de vida del desarrollo.
  • INGENIERIA WEB
    La ingeniería web hace una diferencia entre un sitio web y un aplicativo, ya que la ingeniería de la web no se dedica a la construcción de sitios web si no a la construcción de aplicativos web, la principal característica que los distingue (aplicativos de sitios web) es que los sitios web son sitios en la web en donde se publica contenido generalmente estático o un muy bajo nivel de interactividad con el usuario, mientras que los aplicativos son lugares con alto contenido de interactividad y funcionalidades que bien podrían ser de un software convencional.
  • INGENIERIA WEB
    la ingeniería de la Web hace referencia a las metodologías, técnicas y herramientas que se utilizan en el desarrollo de aplicaciones Webcomplejas y de gran dimensión en las que se apoya la evaluación, diseño, desarrollo, implementación y evolución de dichas aplicaciones.
  • INGENIERIA WEB
    Los principales aspectos de la ingeniería de la Web incluyen, entre otros, los siguientes temas:
    Diseño de procesos de negocio para aplicaciones web.
    Herramientas CASE para aplicaciones web.
    Generación de código para aplicaciones web.
    Desarrollo web colaborativo.
    Modelado conceptual de aplicaciones web.
    Entornos de desarrollo de aplicaciones web integrados.
    Herramientas de autor para contenido multimedia.
    Pruebas de rendimiento de aplicaciones basadas en web.
  • INGENIERIA WEB
    Control de calidad y pruebas de sistemas.
    Ingeniería de requisitos para aplicaciones web.
    Aplicaciones para la Web Semántica.
    Métodos, herramientas y automatización de pruebas para aplicaciones web.
    Aplicaciones web móviles y ubícuas.
    Usabilidad de aplicaciones web.
    Accesibilidad para la web.
    Formación en ingeniería de software.
    Diseño de interfaces de usuario.
    Métricas para la web, estimación de costes y medición.
    Gestión de proyectos web y gestión de riesgos.
    Desarrollo y despliegue de servicios web.
  • CATEGORIAS DE LA INGENIERIA WEB
    Los sitios web pueden ser categorizados de la siguiente forma:
    SÓLO ESTÁTICO que se enfoca en la organización de la estructura y el contenido, en la forma como se va a presentar la información y que sea fácil de manejar para cualquier usuario, pero debe tener en cuenta la eficiencia y la confiabilidad.
    SITIO ESTÁTICO CON FORMULARIOS DE ENTRADA este sitio tiene las mismas características que el anterior, adicionándole que el le permite a los usuarios la interacción por medio de cuestionarios, comentarios y sugerencias.
    SITIO CON ACCESO DE DATOS DINÁMICOS aquí, además de las características antes mencionadas, cuenta con bases de datos en las cuales el usuario puede realizar consultas y búsquedas.
  • CATEGORIAS DE LA INGENIERIA WEB
    SITIO CREADO DINÁMICAMENTE en este sitio los requerimientos son parecidos pero deben suplir con las necesidades de cada usuario; creando sitios dinámicos que sean compatibles con el entorno de navegación de cada usuario.
    APLICACIÓN DE SOFTWARE BASADA EN LA WEB este sitio puede tener todas las características antes mencionadas, pero logrando un parecido con una implementación cliente/servidor.
  • NATURALEZA MULTIDISCIPLINAR
    La ingeniería del software, incluye nuevas metodologías de desarrollo esenciales para la administración de proyectos.
    Actualmente la ingeniería web ha adoptado también metodologías de la ingeniería del software y ha creado muchas nuevas.
    Debido a que la información es publicada para conocimiento de todo el mundo, hay que tener muy en cuenta aspectos sociales, jurídicos y éticos que pueden influir a la hora de la publicación.
    De acuerdo con esto, la ingeniería Web puede utilizar una parte de cada una de estas disciplinas y no ser dominada por puntos de vista muy particulares, es una respuesta de carácter multidisciplinario para las aplicaciones Web.
  • NATURALEZA MULTIDISCIPLINAR
    Usualmente, las aplicaciones web son multidisciplinares, ya que son construidas en un medio constantemente cambiante, donde los requerimientos son inestables, los equipos de desarrollo generalmente son pequeños, las comunidades de usuarios son más amplias que antes y la competición ahora es a nivel mundial.
    En general, las aplicaciones web, necesitan ser funcionales, mantenibles, escalables y seguras. Como podemos ver, la actual demanda de las aplicaciones web es totalmente diferente de las aplicaciones convencionales y por lo tanto hay una gran necesidad de la ingeniería web.
  • INGENIERIA DE SOFTWARE
    Ingeniería de software es la disciplina o área de la informática que ofrece métodos y técnicas para desarrollar y mantener software de calidad.
    Esta ingeniería trata con áreas muy diversas de la informática y de las ciencias de la computación, tales como construcción de compiladores, sistemas operativos, o desarrollos Intranet/Internet, abordando todas las fases del ciclo de vida del desarrollo de cualquier tipo de sistemas de información y aplicables a infinidad de áreas: negocios, investigación científica, medicina, producción, logística, banca, control de tráfico, meteorología, derecho, Internet, Intranet, etc.
  • INGENIERIA DE SOFTWARE
    Una definición precisa aún no ha sido contemplada en los diccionarios, sin embargo se pueden citar las enunciadas por algunos de los más prestigiosos autores:
    Ingeniería de Software es el estudio de los principios y metodologías para el desarrollo y mantenimiento de sistemas software (Zelkovitz, 1978)
    Ingeniería de software es la aplicación práctica del conocimiento científico al diseño y construcción de programas de computadora y a la documentación asociada requerida para desarrollar, operar y mantenerlos. Se conoce también como Desarrollo de Software o Producción de Software ( Bohem, 1976).
  • INGENIERIA DE SOFTWARE
    Ingeniería de Software trata del establecimiento de los principios y métodos de la ingeniería a fin de obtener software de modo rentable, que sea fiable y trabaje en máquinas reales (Bauer, 1972).
    Es la aplicación de un enfoque sistemático, disciplinado y cuantificable al desarrollo, operación y mantenimiento del software; es decir, la aplicación de la ingeniería al software (IEEE, 1993).
  • INGENIERIA DE SOFTWARE
    Algunos autores consideran que Desarrollo de Software es un término más apropiado que Ingeniería de Software (IS) para el proceso de crear software. Personas como Pete McBreen (autor de "Software Craftmanship") cree que el término IS implica niveles de rigor y prueba de procesos que no son apropiados para todo tipo de desarrollo de software.
    Indistintamente se utilizan los términos Ingeniería de Software o Ingeniería del Software. En hispanoamérica el término usado normalmente es el primero de ellos.
  • NUEVOS PARADIGMAS DE LA INGENIERIA DE SOFTWARE
    COMPUTACION EN LA NUBE
  • COMPUTACION EN LA NUBE
    En este tipo de computación todo lo que puede ofrecer un sistema informático se ofrece como servicio, de modo que los usuarios puedan acceder a los servicios disponibles "en la nube de Internet" sin conocimientos (o, al menos sin ser expertos) en la gestión de los recursos que usan
  • COMPUTACION EN LA NUBE
    La computación en nube es un concepto que incorpora el software como servicio, tal como la Web 2.0 y otros recientes, también conocidos como tendencias tecnológicas, donde el tema en común es la confianza en Internet para satisfacer las necesidades de cómputo de los usuarios.
  • COMPUTACION EN LA NUBE
    Tanto las nubes como los gridsestan hechos para escalar horizontalmente muy eficientemente. Ambos están construidos para resistir fallas de los elementos o nodos individuales. Las nubes expanden los tipos de recursos disponibles — almacenamiento de archivos, bases de datos, y servicios Web — y extienden la aplicabilidad a la Web y a las aplicaciones de la empresa.
  • BENEFICIOS DE LA COMPUTACION EN LA NUBE
    Integración probada de servicios Web. Por su naturaleza, la tecnología de Cloud Computing se puede integrar con mucha mayor facilidad y rapidez con el resto de sus aplicaciones empresariales.
    Prestación de servicios de talla mundial. Las infraestructuras de Cloud Computing proporcionan mayor capacidad de adaptación, recuperación de desastres completa y reducción al mínimo de los tiempos de inactividad.
    No necesita instalar ningún tipo de hardware o software: La belleza de la tecnología de Cloud Computing es su simplicidad… y el hecho de que requiera mucha menor inversión para empezar a trabajar.
  • BENEFICIOS DE LA COMPUTACION EN LA NUBE
    Implementación más rápida y con menos riesgos. Podrá empezar a trabajar muy rápidamente gracias a una infraestructura de Cloud Computing.
    Gran capacidad de personalización. Algunos profesionales de TI creen equivocadamente que es muy difícil o casi imposible personalizar la tecnología de Cloud Computing, por lo que no es la elección adecuada para las empresas más complejas. La infraestructura de Cloud Computing no sólo proporciona útiles funciones de personalización y configuración de aplicaciones, sino que también conserva las personalizaciones incluso después de las actualizaciones
    Actualizaciones automáticas que no afectan negativamente a los recursos de TI
  • CAPAS DE LA COMPUTACION EN LA NUBE
    Software como un Servicio (SaaS). Se encuentra en la capa más alta y caracteriza una aplicación completa ofrecida como un servicio, lo que significa una sola instancia del software que corre en la infraestructura del proveedor y sirve a múltiples organizaciones de clientes.
    Plataforma como un Servicio (PaaS).La capa del medio, o PaaS, es la encapsulación de una abstracción de un ambiente de desarrollo y el empaquetamiento de una carga de servicios. Las ofertas de PaaS pueden proveer desarrollo y prueba para cada fase del software, o estas pueden estar especializadas alrededor de cualquier área en particular, tal como la administración del contenido.
  • CAPAS DE LA COMPUTACION EN LA NUBE
    Infraestructura como un Servicio (IaaS).Se encuentra en la capa inferior y es un medio de entregar almacenamiento básico y capacidades de cómputo como servicios estandarizados en la red.
  • TIPOS DE COMPUTACION EN LA NUBE
    LAS NUBES PÚBLICAS son manejadas por terceras partes, y los trabajos de muchos diferentes clientes pueden ser mezclados en los servidores, los sistemas de almacenamiento, y otra infraestructura dentro de la nube. Los usuarios finales no saben el trabajo de quién más pueda estar corriendo en el mismo servidor, red, discos como los suyos propios.
    LAS NUBES PRIVADAS son una buena opción para las compañías lidiando con protección de datos y ediciones a nivel de servicio. Las nubes privadas están en una infraestructura en demanda manejada por un sólo cliente quien controla que aplicaciones correr, y en dónde. Ellos son propietarios del servidor, red, y disco y pueden decidir que usuarios están permitidos para utilizar la infraestructura.
    LAS NUBES HÍBRIDAS combinan los modelos de nubes públicas y privadas. Usted es propietario de unas partes y comparte otras partes, aunque de una manera controlada. Las nubes híbridas añaden la complejidad de determinar cómo distribuir las aplicaciones a través de estos diferentes ambientes. Mientras que las empresas pueden sentir atracción por la promesa de una nube híbrida, esta opción, al menos inicialmente, probablemente estará reservada para simples aplicaciones incondicionadas que no requieren de ningúna compleja sincronización o base de datos.
  • COMPUTACION EN LA NUBE vs COMPUTACION EN GRID
    La computacion en la nube es confundida comunmente con la computacion en grid, la cual es una forma de computación distribuida por la que "un súper computador virtual" está compuesto de un cluster enlazado de ordenadores débilmente acoplados, actuando en concierto para realizar tareas muy grandes
  • COMPUTACION EN GRID
    Es una tecnología innovadora que permite utilizar de forma coordinada todo tipo de recursos (entre ellos cómputo, almacenamiento y aplicaciones específicas) que no están sujetos a un control centralizado. En este sentido es una nueva forma de computación distribuida, en la cual los recursos pueden ser heterogéneos (diferentes arquitecturas, supercomputadores, clusters...) y se encuentran conectados mediante redes de área extensa (por ejemplo Internet).
  • COMPUTACION EN GRID
    El término grid se refiere a una infraestructura que permite la integración y el uso colectivo de ordenadores de alto rendimiento, redes y bases de datos que son propiedad y están administrados por diferentes instituciones. Puesto que la colaboración entre instituciones envuelve un intercambio de datos, o de tiempo de computación, el propósito del grid es facilitar la integración de recursos computacionales.
  • COMPUTACION EN GRID
    P2P
    SETI
  • CARACTERISTICAS DE LA COMPUTACION EN GRID
    Capacidad de balanceo de sistemas: no habría necesidad de calcular la capacidad de los sistemas en función de los picos de trabajo, ya que la capacidad se puede reasignar desde la granja de recursos a donde se necesite.
    Alta disponibilidad: con la nueva funcionalidad, si un servidor falla, se reasignan los servicios en los servidores restantes.
    Reducción de costos:yano es necesario disponer de "grandes servidores" y podremos hacer uso de componentes de bajo coste