SlideShare una empresa de Scribd logo
1 de 11
Es un SI donde una gran cantidad de datos volátiles,
altamente estructurados, van a ser consultados,
procesados y analizados mediante navegadores.
Una de las principales características va a ser su alto
grado de interacción con el usuario, y el diseño de su
interfaz debe ser claro, simple y debe estar estructurado de
tal manera que sea orientativo para cada tipo de usuarios.
Objetivos

   Evaluar la similitudes y diferencias entre el desarrollo de software
tradicional y de sistemas basados en web, así como entre Ingeniería del
Software tal y como la entendemos actualmente e Ingeniería del
Software orientada al Web.


   Promocionar el nuevo concepto y disciplina entre los diferentes
grupos de investigación españoles que están trabajando en este tema.
La Ingeniería del Software orientada al Web (Web Engineering) se ocupa del
establecimiento y uso de principios de ingeniería mediante la propuesta de
aproximaciones sistemáticas y disciplinadas para el abordar con éxito el
desarrollo implementación y mantenimiento de aplicaciones y sistemas basados
en web de alta calidad. Para ello, la disciplina aborda muchas actividades
relacionadas con el desarrollo de aplicaciones web tanto en el contexto de las
bases de datos como de la Ingeniería del Sofware, entre éstas se incluyen:
- Análisis y especificación de requisitos
- Metodologías y técnicas para el desarrollo de sistemas basados en web
- Integración con sistemas propietarios (legacy systems)
- Migración de sistemas propietarios a ambientes web
- Métricas de web, métricas para la estimación de los esfuerzos de desarrollo
- Actualización y mantenimiento
- Desarrollo centrado en el usuario, modelado de usuarios
- Aspectos de personalización y retroalimentación del sistema
- Desarrollo de aplicaciones web de manejo intensivo de datos (dataintensive)
- Sistemas Web Multiplataforma
.
Fases del Desarrollo Web.
Por lo que respecta al proceso de autoría de la aplicación, UWE hace un uso
exclusivo de estándares reconocidos como UML y el lenguaje de especificación de
restricciones asociado OCL. Para simplificar la captura de las necesidades de las
aplicaciones web, UWE propone una extensión que se utiliza a lo largo del
proceso de autoría. Este proceso de autoría está dividido en cuatro pasos o
actividades:
• Análisis de Requisitos: Fija los requisitos funcionales de la
aplicación Web para reflejarlos en un modelo de casos de uso.
• Diseño Conceptual: Materializado en un modelo de dominio,
considerando los requisitos reflejados en los casos de uso.
• Diseño Navegacional: Lo podemos subdividir en :
 􀂄 Modelo del Espacio de Navegacional.
 􀂄 Modelo de la Estructura de navegación: Muestra la forma de
navegar ante el espacio de navegación.
• Diseño de Presentación: Representa las vistas del interfaz del
usuario mediante modelos estándares de interacción UML.
La calidad del software
 La obtención de un software con calidad implica la utilización de
metodologías o procedimientos estándares para el análisis, diseño,
programación y prueba del software que permitan uniformar la filosofía de
trabajo, en aras de lograr una mayor confiabilidad, mantenibilidad y facilidad
de prueba, a la vez que eleven la productividad, tanto para la labor de
desarrollo como para el control de la calidad del software.
Los requisitos del software son la base de las medidas de calidad. La falta de
concordancia con los requisitos es una falta de calidad.
Los estándares o metodologías definen un conjunto de criterios de desarrollo
que guían la forma en que se aplica la ingeniería del software. Si no se sigue
ninguna metodología siempre habrá falta de calidad.

Características de la calidad del software
Las características generales de la calidad del software se aplican a las
aplicaciones Web y nos proporcionan una base útil para evaluar la calidad
delos sistemas Web.
El modelo de calidad ISO/IEC 9216 (Internacional Standard “Information
technology– Software Product Quality”) define 6 características de calidad
que debe de cumplir toda aplicación Web para que sea un producto de
calidad.
1.Funcionalidad :

Esla capacidad de un producto software de satisfacer los requisitos funcionales
prescriptos y las necesidades implícitas de los usuarios.

2.Fiabilidad :

Esla capacidad de un producto software de mantener su nivel de desempeño,
bajo condiciones establecidas, por un periodo de tiempo.

3.Usabilidad:

Esla capacidad de un producto software de ser comprendido, aprendido,
usado, atractivo y conforme con las reglamentaciones y guías de usabilidad.

4.Eficiencia:

Esla capacidad de un producto software de proporcionar un rendimiento
apropiado, de acuerdo a la cantidad de recursos usados bajo condiciones
establecidas.
5.Mantenibilidad:
Esla capacidad de un producto software para ser modificado. Las
modificaciones pueden incluir correcciones, mejoras o adaptación del software
a cambios en el entorno, en los requisitos o en las especificaciones
funcionales.

6.Portabilidad:
Esla capacidad de un producto software de ser transferido
De un ambiente a otro. Nota: El ambiente puede ser organizacional, de
software o de hardware.
Existen diferentes tipos de pruebas que se utilizan en cualquier
desarrollo informático y por lo tanto también son aptas para las
aplicaciones web. Sin embargo, dada la naturaleza particular de la web,
también existen herramientas que están orientadas a la prueba, tanto de
correcto funcionamiento como de carga/rendimiento, de las aplicaciones
web.




En el caso de las aplicaciones web, además de las pruebas
tradicionales, es necesario comprobar el funcionamiento del servidor
web, SGBD, red y el conjunto del sistema. Tanto de manera funcional
como realizando un test de carga para comprobar la capacidad del
mismo.
En este caso, algunas herramientas básicas para el desarrollador
son:
No conviene olvidar que en las aplicaciones web la comunicación entre el
servidor y el cliente se realiza mediante HTML/CSS. Una cuestión fundamental
para garantizar que el cliente va a poder representar la interfaz de la
aplicación de la manera correcta es que los datos que el servidor envía sean
válidos. Por ello, en cualquier aplicación web se deberá validar todo el
HTML/CSS transmitido al cliente.
Para ayudar en dicha tarea se pueden utilizar diferentes validadores como el
del W3C http://validator.w3.org/



En una aplicación web es vital conocer la capacidad del sistema en cuanto a
número de clientes y concurrencia de los mismos. Por ello resulta necesario
simular un enjambre de clientes que ponga a prueba la aplicación para poder
valorar su rendimiento, o que realice en ella ciertas operaciones que se quieren
poner a prueba.
ApacheBench (comando ab) es un pequeño programa que acompaña a la
distribución de Apache y permite realizar peticiones de forma repetida y
concurrente para valorar el rendimiento del mismo.
Otra opción más compleja es JMeter, en este caso es posible probar
aplicaciones web y también otros protocolos (ftp, ldap, jdbc, la aplicación es
extensible mediante plugins). No solo se puede generar carga para el servidor
y valorar el tiempo de respuesta, sino que se puede realizar un completo plan
de prueba que incluya pruebas unitarias (validando la respuesta del servidor) o
simulando determinado comportamiento de los usuarios.
Herramientas en el navegador




Por último, un desarrollador web también suele utilizar extensiones para el
navegador (como Firebug para Firefox) que permiten inspeccionar con detalle la
respuesta recibida por el agente de usuario. Mostrando todo tipo de información
relativa a la red, rendimiento y elementos de la respuesta.

Más contenido relacionado

La actualidad más candente

Metodologias para el desarrollo de aplicacones web
Metodologias para el desarrollo de aplicacones webMetodologias para el desarrollo de aplicacones web
Metodologias para el desarrollo de aplicacones web
Josafat Mtz
 
Unidad 1 ciclo de vida
Unidad 1 ciclo de vidaUnidad 1 ciclo de vida
Unidad 1 ciclo de vida
Isabel
 
Atributos de calidad en el desarrollo de software
Atributos de calidad en el desarrollo de software Atributos de calidad en el desarrollo de software
Atributos de calidad en el desarrollo de software
Joan Manuel Zabala
 

La actualidad más candente (17)

Calidad de software
Calidad de softwareCalidad de software
Calidad de software
 
Ingenieria web
Ingenieria webIngenieria web
Ingenieria web
 
Desarrollo del software
Desarrollo del softwareDesarrollo del software
Desarrollo del software
 
Presentation_1368477015714
Presentation_1368477015714Presentation_1368477015714
Presentation_1368477015714
 
Angie usabilidad
Angie usabilidadAngie usabilidad
Angie usabilidad
 
OOWS
OOWSOOWS
OOWS
 
Metodologias para el desarrollo de aplicacones web
Metodologias para el desarrollo de aplicacones webMetodologias para el desarrollo de aplicacones web
Metodologias para el desarrollo de aplicacones web
 
Ingenieria Web
Ingenieria WebIngenieria Web
Ingenieria Web
 
Metodologia oohdm
Metodologia oohdmMetodologia oohdm
Metodologia oohdm
 
Ingenieria de software basada en componentes -jeiner gonzalez blanco
Ingenieria de software basada en componentes  -jeiner gonzalez blancoIngenieria de software basada en componentes  -jeiner gonzalez blanco
Ingenieria de software basada en componentes -jeiner gonzalez blanco
 
Sistemas 2 Linea de productos de software y metodo watch
Sistemas 2   Linea de productos de software y metodo watchSistemas 2   Linea de productos de software y metodo watch
Sistemas 2 Linea de productos de software y metodo watch
 
Unidad 1 ciclo de vida
Unidad 1 ciclo de vidaUnidad 1 ciclo de vida
Unidad 1 ciclo de vida
 
Atributos de calidad en el desarrollo de software
Atributos de calidad en el desarrollo de software Atributos de calidad en el desarrollo de software
Atributos de calidad en el desarrollo de software
 
Metodología basada en componentes
Metodología basada en componentes Metodología basada en componentes
Metodología basada en componentes
 
Lp II clase02 - Modelo Vista Controlador
Lp II   clase02 - Modelo Vista ControladorLp II   clase02 - Modelo Vista Controlador
Lp II clase02 - Modelo Vista Controlador
 
Lp II clase01 - Desarrollo de software con RUP
Lp II   clase01 - Desarrollo de software con RUPLp II   clase01 - Desarrollo de software con RUP
Lp II clase01 - Desarrollo de software con RUP
 
DPSS U3 A2 FDCM
DPSS U3 A2 FDCMDPSS U3 A2 FDCM
DPSS U3 A2 FDCM
 

Similar a Software de tipo web

Similar a Software de tipo web (20)

Metodologias para el desarrollo de aplicaciones web
Metodologias para el desarrollo de aplicaciones webMetodologias para el desarrollo de aplicaciones web
Metodologias para el desarrollo de aplicaciones web
 
Desarrollo de proyectos
Desarrollo de proyectosDesarrollo de proyectos
Desarrollo de proyectos
 
Trabajo
TrabajoTrabajo
Trabajo
 
Trabajo
TrabajoTrabajo
Trabajo
 
366822968 paso-5-examen-final
366822968 paso-5-examen-final366822968 paso-5-examen-final
366822968 paso-5-examen-final
 
Iso 9126
Iso 9126Iso 9126
Iso 9126
 
Metodología para el desarrollo de software para web.pptx
Metodología para el desarrollo de software para web.pptxMetodología para el desarrollo de software para web.pptx
Metodología para el desarrollo de software para web.pptx
 
Chartprocesounificadoanalisis diseño
Chartprocesounificadoanalisis diseñoChartprocesounificadoanalisis diseño
Chartprocesounificadoanalisis diseño
 
Metodologías Ágiles para el Desarrollo de Software y Metodologias Para el de...
Metodologías Ágiles  para el Desarrollo de Software y Metodologias Para el de...Metodologías Ágiles  para el Desarrollo de Software y Metodologias Para el de...
Metodologías Ágiles para el Desarrollo de Software y Metodologias Para el de...
 
15-Unidad 4: Introducción a las Arquitecturas Web 4.1 DAO 4.2 MVC
15-Unidad 4: Introducción a las Arquitecturas Web 4.1 DAO 4.2 MVC15-Unidad 4: Introducción a las Arquitecturas Web 4.1 DAO 4.2 MVC
15-Unidad 4: Introducción a las Arquitecturas Web 4.1 DAO 4.2 MVC
 
15-TEMA: 4. INTRODUCCION A LAS ARQUITECTURASWEB Contenidos: 4.1 Dao 4.2 Mv...
15-TEMA: 4. INTRODUCCION A LAS ARQUITECTURASWEB  Contenidos:  4.1 Dao  4.2 Mv...15-TEMA: 4. INTRODUCCION A LAS ARQUITECTURASWEB  Contenidos:  4.1 Dao  4.2 Mv...
15-TEMA: 4. INTRODUCCION A LAS ARQUITECTURASWEB Contenidos: 4.1 Dao 4.2 Mv...
 
Heuristic evaluations.
Heuristic evaluations.Heuristic evaluations.
Heuristic evaluations.
 
Heuristic evaluations.
Heuristic evaluations.Heuristic evaluations.
Heuristic evaluations.
 
Heuristic evaluations.
Heuristic evaluations.Heuristic evaluations.
Heuristic evaluations.
 
Lps y mw
Lps y mwLps y mw
Lps y mw
 
Unidad 2 - Arquitectura.pptx
Unidad 2 - Arquitectura.pptxUnidad 2 - Arquitectura.pptx
Unidad 2 - Arquitectura.pptx
 
Desarrollo de aplicaciones web en el entorno servidor
Desarrollo de aplicaciones web en el entorno servidorDesarrollo de aplicaciones web en el entorno servidor
Desarrollo de aplicaciones web en el entorno servidor
 
Portafolio ingeniería de software II
Portafolio ingeniería de software IIPortafolio ingeniería de software II
Portafolio ingeniería de software II
 
Métodos de la ingeniería
Métodos de la ingenieríaMétodos de la ingeniería
Métodos de la ingeniería
 
Linea de productos software
Linea de productos softwareLinea de productos software
Linea de productos software
 

Software de tipo web

  • 1.
  • 2. Es un SI donde una gran cantidad de datos volátiles, altamente estructurados, van a ser consultados, procesados y analizados mediante navegadores. Una de las principales características va a ser su alto grado de interacción con el usuario, y el diseño de su interfaz debe ser claro, simple y debe estar estructurado de tal manera que sea orientativo para cada tipo de usuarios.
  • 3. Objetivos Evaluar la similitudes y diferencias entre el desarrollo de software tradicional y de sistemas basados en web, así como entre Ingeniería del Software tal y como la entendemos actualmente e Ingeniería del Software orientada al Web. Promocionar el nuevo concepto y disciplina entre los diferentes grupos de investigación españoles que están trabajando en este tema.
  • 4. La Ingeniería del Software orientada al Web (Web Engineering) se ocupa del establecimiento y uso de principios de ingeniería mediante la propuesta de aproximaciones sistemáticas y disciplinadas para el abordar con éxito el desarrollo implementación y mantenimiento de aplicaciones y sistemas basados en web de alta calidad. Para ello, la disciplina aborda muchas actividades relacionadas con el desarrollo de aplicaciones web tanto en el contexto de las bases de datos como de la Ingeniería del Sofware, entre éstas se incluyen: - Análisis y especificación de requisitos - Metodologías y técnicas para el desarrollo de sistemas basados en web - Integración con sistemas propietarios (legacy systems) - Migración de sistemas propietarios a ambientes web - Métricas de web, métricas para la estimación de los esfuerzos de desarrollo - Actualización y mantenimiento - Desarrollo centrado en el usuario, modelado de usuarios - Aspectos de personalización y retroalimentación del sistema - Desarrollo de aplicaciones web de manejo intensivo de datos (dataintensive) - Sistemas Web Multiplataforma
  • 5. . Fases del Desarrollo Web. Por lo que respecta al proceso de autoría de la aplicación, UWE hace un uso exclusivo de estándares reconocidos como UML y el lenguaje de especificación de restricciones asociado OCL. Para simplificar la captura de las necesidades de las aplicaciones web, UWE propone una extensión que se utiliza a lo largo del proceso de autoría. Este proceso de autoría está dividido en cuatro pasos o actividades: • Análisis de Requisitos: Fija los requisitos funcionales de la aplicación Web para reflejarlos en un modelo de casos de uso. • Diseño Conceptual: Materializado en un modelo de dominio, considerando los requisitos reflejados en los casos de uso. • Diseño Navegacional: Lo podemos subdividir en : 􀂄 Modelo del Espacio de Navegacional. 􀂄 Modelo de la Estructura de navegación: Muestra la forma de navegar ante el espacio de navegación. • Diseño de Presentación: Representa las vistas del interfaz del usuario mediante modelos estándares de interacción UML.
  • 6. La calidad del software La obtención de un software con calidad implica la utilización de metodologías o procedimientos estándares para el análisis, diseño, programación y prueba del software que permitan uniformar la filosofía de trabajo, en aras de lograr una mayor confiabilidad, mantenibilidad y facilidad de prueba, a la vez que eleven la productividad, tanto para la labor de desarrollo como para el control de la calidad del software. Los requisitos del software son la base de las medidas de calidad. La falta de concordancia con los requisitos es una falta de calidad. Los estándares o metodologías definen un conjunto de criterios de desarrollo que guían la forma en que se aplica la ingeniería del software. Si no se sigue ninguna metodología siempre habrá falta de calidad. Características de la calidad del software Las características generales de la calidad del software se aplican a las aplicaciones Web y nos proporcionan una base útil para evaluar la calidad delos sistemas Web. El modelo de calidad ISO/IEC 9216 (Internacional Standard “Information technology– Software Product Quality”) define 6 características de calidad que debe de cumplir toda aplicación Web para que sea un producto de calidad.
  • 7. 1.Funcionalidad : Esla capacidad de un producto software de satisfacer los requisitos funcionales prescriptos y las necesidades implícitas de los usuarios. 2.Fiabilidad : Esla capacidad de un producto software de mantener su nivel de desempeño, bajo condiciones establecidas, por un periodo de tiempo. 3.Usabilidad: Esla capacidad de un producto software de ser comprendido, aprendido, usado, atractivo y conforme con las reglamentaciones y guías de usabilidad. 4.Eficiencia: Esla capacidad de un producto software de proporcionar un rendimiento apropiado, de acuerdo a la cantidad de recursos usados bajo condiciones establecidas.
  • 8. 5.Mantenibilidad: Esla capacidad de un producto software para ser modificado. Las modificaciones pueden incluir correcciones, mejoras o adaptación del software a cambios en el entorno, en los requisitos o en las especificaciones funcionales. 6.Portabilidad: Esla capacidad de un producto software de ser transferido De un ambiente a otro. Nota: El ambiente puede ser organizacional, de software o de hardware.
  • 9. Existen diferentes tipos de pruebas que se utilizan en cualquier desarrollo informático y por lo tanto también son aptas para las aplicaciones web. Sin embargo, dada la naturaleza particular de la web, también existen herramientas que están orientadas a la prueba, tanto de correcto funcionamiento como de carga/rendimiento, de las aplicaciones web. En el caso de las aplicaciones web, además de las pruebas tradicionales, es necesario comprobar el funcionamiento del servidor web, SGBD, red y el conjunto del sistema. Tanto de manera funcional como realizando un test de carga para comprobar la capacidad del mismo. En este caso, algunas herramientas básicas para el desarrollador son:
  • 10. No conviene olvidar que en las aplicaciones web la comunicación entre el servidor y el cliente se realiza mediante HTML/CSS. Una cuestión fundamental para garantizar que el cliente va a poder representar la interfaz de la aplicación de la manera correcta es que los datos que el servidor envía sean válidos. Por ello, en cualquier aplicación web se deberá validar todo el HTML/CSS transmitido al cliente. Para ayudar en dicha tarea se pueden utilizar diferentes validadores como el del W3C http://validator.w3.org/ En una aplicación web es vital conocer la capacidad del sistema en cuanto a número de clientes y concurrencia de los mismos. Por ello resulta necesario simular un enjambre de clientes que ponga a prueba la aplicación para poder valorar su rendimiento, o que realice en ella ciertas operaciones que se quieren poner a prueba.
  • 11. ApacheBench (comando ab) es un pequeño programa que acompaña a la distribución de Apache y permite realizar peticiones de forma repetida y concurrente para valorar el rendimiento del mismo. Otra opción más compleja es JMeter, en este caso es posible probar aplicaciones web y también otros protocolos (ftp, ldap, jdbc, la aplicación es extensible mediante plugins). No solo se puede generar carga para el servidor y valorar el tiempo de respuesta, sino que se puede realizar un completo plan de prueba que incluya pruebas unitarias (validando la respuesta del servidor) o simulando determinado comportamiento de los usuarios. Herramientas en el navegador Por último, un desarrollador web también suele utilizar extensiones para el navegador (como Firebug para Firefox) que permiten inspeccionar con detalle la respuesta recibida por el agente de usuario. Mostrando todo tipo de información relativa a la red, rendimiento y elementos de la respuesta.