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.