La mayoría de los métodos y propuestas metodológicas que existen para desarrollar aplicaciones web guían al grupo de desarrollo a través de un conjunto de fases y pasos predefinidos sin tomar en cuenta la situación particular, como por ejemplo: elementos del contexto de desarrollo, tipo de aplicación, usuarios, herramientas, tecnología, experiencia de desarrollo, etc. de cada proyecto. Por tal razón, en este artículo se presenta una caracterización de cuatro métodos (seleccionados de veinticinco que fueron revisados) con el fin de determinar cual es su flexibilidad y su capacidad de adaptación a situaciones particulares o contextos de modelado dentro de un dominio de aplicación, atendiendo los principios de la ingeniería de métodos e ingeniería web.
Palabras claves: Aplicaciones Web, Métodos de Desarrollo de aplicaciones web, métodos orientados al contexto.
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Evaluación de Propuestas Metodológicas para el Desarrollo de Aplicaciones Web
1.
2. Agenda
1. Introducción
2. Aspectos Metodológicos del Desarrollo de Software
3. Aplicación Web (Modelo del Producto)
4. Modelo del proceso
5. Dos enfoques Metodológicos
6. Métodos Seleccionados
7. Evaluación de los Métodos
8. Aspectos Comunes y Diferentes de los Métodos para
Desarrolla Aplicaciones Web
9. Conclusiones
10. Presentación de una Experiencia Real de Adaptación de
RUP a la Organización.
3. Desarrollo de software COM
NET DESARROLLO DE SITIOS
OOWS RMM
Watch RNA WEB INSTRUCCIONALES
HFPM
DSDM SCRUM
UML Marco de Referencia Basado en
Componentes para e-commerce
VBSCRIPT KANBAN JSP
TWIM
MEDSI OOHDM
MODELO ESPIRAL DE BOEHM JAVASCRIPT CGI
RUP HTML ENFOQUE DE INGENIERÍA
MIDAS
ASP DE LOWE-HALL’S BROWSER
XP SWM
J2EE SERVLETS
MODELLING WEB-
OPEN SOURCE HTML METODO PARA BASED
DESARROLLAR SIW INSTRUCTIONAL
WSDM SYSTEMS
UWE XML
APPLETS DE JAVA
4. Aspectos Metodológicos de Desarrollo de software
Los tres elementos esenciales de un proyecto de desarrollo de
software:
el producto que se desarrolla
el proceso utilizado para desarrollar el producto
los recursos humanos requeridos para desarrollar el producto
determinan los tres componentes fundamentales de un método:
El modelo del producto
El modelo del proceso Modelo del
Producto
¿Qué propiedades tiene
El modelo del grupo de desarrollo Qué producto
elaborar el producto?
Quién ejecuta
Modelo del Modelo del
Proceso Grupo
Qué y Cómo hacer el producto
5. Aplicación Web (Modelo del Producto)
Características
1. Intensivas de red
2. Controlada por el contenido
3. Evolución continua
4. Inmediatez Atributos de Calidad
5. Operatividad en Internet
Capacidad de comprensión del sitio global.
Usabilidad Servicios de ayuda y retroalimentación en línea.
Capacidades estéticas y de interfaz
Servicios especiales
Capacidad de recuperación y búsqueda
Funcionalidad Servicios de búsqueda y navegación
Servicios relacionados con el dominio de aplicación
Calidad de una
aplicación web
Proceso correcto de enlace
Fiabilidad Recuperación de errores
Validación y recuperación de la entrada del usuario
Rendimiento del tiempo de respuesta
Eficiencia Velocidad de generación de paginas
Velocidad de generación de gráficos
Facilidad de corrección
Capacidad de Mantenimiento
Adaptabilidad
Extensibilidad
6. Modelo de Producto
Solicita
Lógica del Negocio
Despliega Datos
Presentación
Páginas HTML
JavaScript
Navegador Programas Objetos del Negocio
VBScript Repositorio de
Intérpretes
datos
Programas Applets de JAVA
HTTPW Compilados Objetos Web
ML XML Bases de Datos
Control Active
Datos XML
X
Servidor Web Servidor de Páginas COM
dinámicas
J2EE
.NET
Servlets CGI JSP ASP
Capa de Lógica del
Negocio Capa de Datos
Capa de Presentación
7. Modelo de Proceso
Representación gráfica de las fases, pasos, actividades o tareas
que el método propone para desarrollar software
Existe una gran variedad de modelos de procesos que
podemos clasificar en función del enfoque o paradigma
utilizado por el modelo:
Enfoque de ingeniería
Enfoque evolutivo
Enfoque formal o disciplinado
Enfoque orientado a objetos
Enfoque ágil
Enfoque de reutilización de software
8. DOS ENFOQUES METODOLOGICOS
METODOS AGILES METODOS DISCIPLINADOS
Basados en el Manifiesto Basados en la Calidad Total que
Ágil que da mayor valor a: da mayor valor a:
◦Individuos y su interacción ◦El proceso de desarrollo
◦Código que funcione ◦Los productos incluyendo el
código
◦Colaboración con el cliente ◦Contrato con el cliente
◦Respuesta al cambio ◦Seguimiento de un plan
9. DOS ENFOQUES METODOLOGICOS
METODOS AGILES METODOS DISCIPLINADOS
Centrados en las personas Centrados en los procesos
*Énfasis en el código y la *Énfasis en los productos y la
cooperación organización
*Procesos mínimos con poca *Procesos bien definidos y
documentación documentados
*Formalidad del proceso reducida *Alta formalidad en el proceso
a un mínimo de desarrollo
*Procesos no repetibles *Procesos repetibles
*Resultados dependen del equipo *Resultados predecibles
de trabajo
*Conocimiento tácito *Conocimiento explícito
10. Métodos Seleccionados
1. Método Basado en Componentes para el Desarrollo
de Aplicaciones Web (Montiva Jonas y Barrios
Judith) (Enfoque Balanceado)
2. Marco de Referencia Basado en componentes para
e-commerce de Fingar Peter (Enfoque Balanceado)
3. Rational Unified Process (RUP) (Enfoque Disciplinado)
4. Métodos Agiles (SCRUM y XP) (Enfoque Ágil)
11. Descripción de Método Basado en Componentes para
el Desarrollo de Aplicaciones Web (Montilva Jonas y
Barrios Judith)
12. Marco de Referencia Basado en componentes para e-
commerce de Fingar Peter
Estrategia del Negocio e-commerce
Fortalezas, Oportunidades, Debilidades, Amenazas
METAS, REQUERIMIENTOS, RESTRUCCIONES
Repositorio Procesos del Negocio Inter-Empresarial
Interno y Externo
Negocios Modelo de objetos Casos de Uso
MODELOS DE DATOS, PROCESOS Y ORGANIZACIONALES
Repositorio de Componentes Aplicaciones Basadas en Componentes
Gestión del Vendedor
Cadena de Suministro Extendida
I-Market, Atención al Cliente
Infraestructura Tecnológica
Infraestructura de Objetos Distribuidos
Sistemas Legados y Activos
14. Rational Unified Process (RUP)
Core RUP Customizar Configurar Personalizar
Large
J2EE
Project
Small
Team
Plug-In Project
for
Plug-In .NET
Plug-In
for .NET
for
J2EE Project
XP
Desarrollo de la Ingenieros de Procesos
Gerentes de proyecto
organización Miembros del
equipo
Metodología Común Autoría Configuración Producción
15. Rational Unified Process (RUP)
• RUP pretende implementar las mejores prácticas
en ingeniería de software:
– Desarrollo iterativo del software
– Administración de requerimientos
– Uso de arquitecturas basadas en componentes
– Modelamiento visual del software
– Verificación de la calidad del software
– Control de cambios
17. Evaluación de los métodos
El marco de referencia diseñado está basado en los trabajos de Jarke
Mathias y Barrios Judith.
Este marco considera cuatro aspectos fundamentales para evaluar un
método:
1. La vista del dominio
2. La vista de uso
3. La vista del producto
4. La vista del proceso.
Dentro de estas vistas se consideran a su vez las facetas y los atributos
que las describen.
Cada faceta representa un aspecto a evaluar dentro de una vista. La
misma está compuesta por un conjunto de atributos y sus valores
correspondientes, los cuales fueron adaptados con el fin de caracterizar
los métodos para el desarrollo de aplicaciones web.
18. Vista de Dominio ¿Para qué sirve? ¿Para qué es concebido?
Faceta Atributos Valores 1) 2) 3) 4)
Alcance Área de aplicación Publicidad
Educativo
e-commerce
e-business
Portales
Sistemas de Información web
e-goverment
Aspectos Técnicos
Gerenciales
Inherentes al área de Aplicación.
19. Vista de Uso (objetivos del que los Usa)
Faceta Atributos Valores 1) 2) 3) 4)
Aplicabilidad Ciclo de vida Análisis
Diseño
Desarrollo
Evaluación
Mantenimiento
Orientación Académico
Comercial
Publicitario
Servicios
Uso Visibilidad Siempre muestra qué hacer
Siempre muestra cómo
hacerlo
Estandarización Uso de técnicas estándares
Uso de notaciones estándares
Eficiencia de uso Adaptable y expandible
Simple y fácil de usar
Bien documentado
Participación del usuario Tipo de usuario Desarrolladores de software
Diseñadores de páginas web
Publicistas
Personal directivo de grandes
organizaciones
Grado de Participación Total
Parcial
Ninguno
20. Vista del producto (Resultado de Aplicar el Método)
Faceta Atributos Valores 1) 2) 3) 4)
Descripción del producto Modelo del producto Explicito
Implícito
No existe
Notación del modelo Formal (Fórmulas
matemática)
Semiformal (Gráficos,
imágenes)
Informal (Textual)
Orientación del modelo Orientado a objetos
Orientado a procesos
Basado en ejemplos
Indefinido
Perspectiva del producto Perspectiva funcional
Perspectiva tecnológica
Perspectiva estructural
Descripción Conceptual Conceptos usados por el Conceptos Técnicos
modelo Conceptos estéticos
21. Vista del Proceso (Desarrollo del Producto)
Faceta Atributos Valores 1) 2) 3) 4)
Modelo de Orientación Orientada al producto
proceso de Orientada a la actividad
desarrollo Orientada a la decisión
Enfoque Ad-hoc
Predictivo (cascada)
Evolutivo (adaptativo)
Características Claridad Estructura del proceso bien
del proceso definido
Estructura del proceso (qué Fases/pasos/tareas
hacer)
Modo de ejecución del proceso Iterativo
Secuencial estricto
Incremental
Visibilidad Definición clara del flujo de trabajo
Progreso visible externamente
Dependencia tecnológica Independiente de las
herramientas
Adaptabilidad Modularidad
Procesos modificables
Guía explícita
Completa
Implícita
Gerencia de Planificación y control Definición del plan del proyecto
proyecto Estimación de recursos
Monitoreo y evaluación del
progreso
Equipo de trabajo Estructura del equipo
Tamaño del equipo Individual
Equipos pequeños (<= 5
personas)
Equipos Grandes (> 5 personas)
Aseguramiento de calidad Calidad en la planificación y
control
Calidad del equipo
Revisión de técnicas de validación
y verificación
Gestión de la configuración Planificación y ejecución de la
gestión de configuración del
software
Documentación Documentación de plantillas
Entrenamiento Entrenamiento equipo
Entrenamiento de usuario
22. Vista del Proceso (Desarrollo del Producto)
Cobertura del Análisis Representación del conocimiento
ciclo de del dominio
desarrollo Análisis de objetos del dominio.
Definición de requerimientos Definición de requerimientos
informal
Técnicas de especificación
Diseño Diseño de arquitecturas
Diseño de interfaces
Implementación Producción de multimedia
Creación del sitio web
Construcción de la Base de Datos
Implementación de las reglas del
negocio
Programación del lado del cliente
Programación del lado del
servidor
Implementación de políticas de
seguridad (SSL,etc).
Comunicación de objetos
distribuidos.
Pruebas Prueba de cada uno de los
componentes
Pruebas de integración
Prueba de la aplicación web.
Validación y verificación de la
aplicación web.
Proceso de Instalación Implantación de la aplicación web
post-desarrollo Mantenimiento Soporte de mantenimiento
23. Aspectos Comunes y Diferentes entre los Métodos para
Desarrollar Aplicaciones Web
Modelado del Diseño de la Aplicación
Requerimientos Implementación
Negocio web
Planificación Validación y
Verificación Pruebas
Lanzamiento
Nuevos Requerimientos
Mantenimiento
24. Concluciones
Contemplan la fase de análisis de requerimientos (con diferentes denominaciones).
Contemplan un estudio detallado de la organización donde se desarrollará la
aplicación web
El método para el desarrollo de e-commerce no contempla la construcción
de un prototipo.
Plantean actividades orientadas a cumplir con los atributos de calidad del producto
desarrollado.
25. Conclusiones
Los métodos para el desarrollo de e-commerce no presentan actividades orientadas al
mantenimiento de la aplicación web.
El método para desarrollo de e-commerce contempla el reuso de componentes y de
modelos de objetos de negocio y casos de uso en las fases de diseño e implementación.
Son un conjunto de pasos secuenciales que indican explícitamente las actividades a
ejecutar, más no indican en qué situaciones particulares se debe hacer.
No relacionan las actividades a ejecutar en el ciclo de desarrollo con los modelos de
producto asociados a cada una de las aplicaciones web.
Todos los métodos deben ser adaptados al contexto, dependiendo siempre de la
experiencia del Grupo de Desarrollo