Vous êtes sur la page 1sur 16

Documento bajado de http://www.desarrollos-mecame.com/.

La propiedad
intelectual de cada documento pertenece al creador del mismo, no a
Desarrollos Mecame

INGENIERÍA WEB

Gerardo Liceras Romaniega


INGENIERIA DE TELECOMUNICACIÓN
INGENIERIA DEL SOFTWARE 2

1.- Características.................................................................................3
2.- Categorías mas frecuentes de las WebApps:..................................3
3.- Atributos de calidad........................................................................3
4.- Tecnologías.....................................................................................4
5.- Proceso de IWeb..............................................................................6
6.- Modelo del proceso IWeb................................................................6
6.1.- Formulación...............................................................................6
6.2.- Análisis......................................................................................7
6.3.- Diseño.......................................................................................7
6.3.1.- Diseño Arquitectónico.........................................................8
6.3.2.- Diseño de navegación.........................................................9
6.3.3.-Diseño de la interfaz............................................................9
6.4.- Pruebas...................................................................................10
7.- Problemas de Gestión....................................................................12
7.1.- El equipo IWeb........................................................................12
7.2.- Gestión del Proyecto...............................................................13
7.3.- Problemas GCS para la IWeb ..................................................14
8.- BIBLIOGRAFÍA................................................................................15

INGENIERIA WEB GERARDO LICERAS ROMANIEGA


INGENIERIA DEL SOFTWARE 3

1.- Características
1.- Intensivas de Red: Están y operan en redes (Internet, intranets,
extranets)
2.- Controladas por el contenido: Muchas veces son solo objeto de
difundir ciertos contenidos a través de hipermedia (gráficos, sonidos,
textos, video...)
3.- Evolución continua: Tanto las WebApps como los medios para
desarrollarlas cambian a un ritmo vertiginoso (contenidos que se
actualizan cada hora, técnicas nuevas de desarrollo, etc)
4.- Inmediatez: Distintamente a como ocurre con otros tipos de
software, el desarrollo y comercialización de las “WebApps” puede
ser de días o semanas.
5.- Seguridad: Son altamente inseguras y se hace necesario
implementar mecanismos de seguridad.
6.- Estética: Cada vez mas relacionada con el diseño de WebApps.
Nuevas técnicas de animación e interacción hacen que se compita
también por la estética de la aplicación.

2.- Categorías mas frecuentes de las


WebApps:
- Informativa: solo lectura o navegación.
- Descarga de información.
- Personalizable según las necesidades
- Interacción: con chats, mensajería instantánea, o foros
- Entrada del usuario: mediante formularios.
- Orientada a transacciones: compra de productos vía Internet
- Orientada a Servicios:
- Portal: Índice de servicios y contenidos fuera de la aplicación
del portal
- Acceso a Base de datos: consulta y recopilación de info
contenida en una BBDD
- Almacenes de datos: Igual que la anterior pero con conjuntos de
BBDD.

3.- Atributos de calidad


Desde el punto de vista del usuario, la “calidad” es completamente
subjetiva. Algunos prefieren WebApps vistosas, otros muy simples,
unos prefieren que se actualicen cada poco tiempo, otros que se
mantenga una imagen constante... Pero intentando objetivizar dicha
calidad para conseguir compaginar una buena apariencia para el
usuario y unas buenas características técnicas para el ingeniero web,

INGENIERIA WEB GERARDO LICERAS ROMANIEGA


INGENIERIA DEL SOFTWARE 4

se le acaban aplicando los criterios de calidad del software “típicos”,


haciendo hincapié en

- Usabilidad:
 Capacidad de comprensión del sitio global
 Servicios de ayuda y realimentación en línea
 Capacidades estéticas y de interfaz
 Servicios especiales
- Funcionalidad:
 Capacidad de recuperación y de búsqueda
 Servicios de búsqueda y navegación
 Servicios relacionados con el dominio de
aplicación
- Fiabilidad:
 Proceso correcto de enlace
 Recuperación de errores
 Validación y recuperación de la entrada del
usuario (formularios)
- Eficiencia:
 Rendimiento del tiempo de respuesta
 Velocidad de generación de páginas
 Velocidad de generación de gráficos
- Mantenimiento:
 Facilidad de corrección
 Adaptabilidad
 Extensibilidad

4.- Tecnologías
Para construir WebApps de calidad, un ingeniero web, debe estar
familiarizado con:

- Desarrollo basado en componentes:


o Gracias a los sistemas basados en web, han avanzado
bastante
o Tres estándares:
 CORBA
 COM/DCOM
 JavaBeans
o Permiten usar y personalizar componentes de terceras
partes.
- Seguridad:
o Es necesario evitar intrusiones de ajenos y propios a
zonas a las que se les restringe el acceso dentro de la
WebApp (zona admin., zona solo propio, etc.)
o Medios:
 Firewalls, Encriptación, Protocolos Seguros

INGENIERIA WEB GERARDO LICERAS ROMANIEGA


INGENIERIA DEL SOFTWARE 5

- Estándares de Internet.
o Los navegadores entienden protocolos HTML derivado del
SGML
o También XML, lenguajes interpretados PHP, ASP, Cold
Fusion, Javascript,... compilados Perl, C, Java ...
o Futuro: XHTML: HTML mas estricto que el actual.

INGENIERIA WEB GERARDO LICERAS ROMANIEGA


INGENIERIA DEL SOFTWARE 6

5.- Proceso de IWeb


Es claramente incremental y evolutivo.
Por la naturaleza intensiva, tendremos:
- Amplia y diversa población de usuarios (obtención y modelado
de requisitos)
- Arquitectura altamente especializada (exigencias en el diseño)

6.- Modelo del proceso IWeb


A grandes rasgos:

- Formulación: Se identifican las metas y objetivos


- Planificación: Estimación del coste global del proyecto, riesgos,
etapas y subetapas.
- Análisis: Establecimiento de los requisitos técnicos y de diseño
(estéticos) e identificación de los elementos de contenido.
- Ingeniería: Dos tareas paralelas:
o Diseño del contenido y producción: echas por personal NO
técnico. Recopilación de información, medios
audiovisuales, a integrar en la App.
o Diseño arquitectónico, de navegación y del interfaz:
hecho por técnicos
- Generación de paginas: Se adecua al diseño arquitectónico, de
navegación y de interfaz, el contenido provisto para sacar las
paginas HTML, XML, etc. Es en esta fase donde se integra la
WebApp con el software intermedio (CORBA, DCOM, JavaBeans.
- Pruebas: Se hace una navegación intensiva sobre la aplicación
para descubrir errores, visualizarla en otros navegadores y ser
consciente cuanto menos de las limitaciones y posibles “bugs”.
- Evaluación del cliente: No es la ultima fase. Es una fase a
ejecutar cada vez que se termina alguna de las anteriores. Los
cambios se hacen efectivos por el flujo incremental del proceso.

6.1.- Formulación

Para hacer una correcta formulación, debemos preguntarnos, entre


otras cosas:

- Por que y para que hacer la WebApp?


- Como es de necesaria?
- Quien la va a usar?

Las respuestas serán muy generales, y no entraran en detalles.


Podemos clasificar las metas especificas en:

- Metas Informativas: Definen los objetivos sobre el contenido e


información que se dará al usuario.

INGENIERIA WEB GERARDO LICERAS ROMANIEGA


INGENIERIA DEL SOFTWARE 7

- Metas Aplicables: Son los servicios o tareas que puede realizar


la WebApp.

Después de las metas, haremos el Perfil del Usuario, determinando


las principales características de los potenciales navegadores y
clientes.

Mas adelante, se hace la Afirmación del Ámbito, con la que vemos la


posible integración con sistemas ya existentes, como pueden ser
bases de datos.

6.2.- Análisis

Identifica los datos y requisitos funcionales y de comportamiento para


la WebApp.
Durante la IWeb, se realizan 4 tipos de análisis:

- Análisis del contenido: Se puede utilizar el modelado de datos, y


en esta etapa se identifica todo el contenido que se va a
proporcionar. (texto, gráficos, imágenes, video y sonido)
- Análisis de la interacción: Se realizan casos prácticos y sus
casos de uso para la descripción detallada de la interacción
usuario-WebApp.
- Análisis funcional: Se detallan las funciones y operaciones de
procesamiento adicionales que se aplicaran en el contenido de
la WebApp
- Análisis de la configuración: Se detalla y describe el lugar
donde va a residir la App. (Intranet, Internet o Extranet).
También se tiene que identificar la infraestructura de los
componentes y el grado de utilización de la base de datos para
generar el contenido.

En todo caso es recomendable hacer un documento que recoja la


información de todo el proceso de análisis y que será revisado y
modificado para hacer otro documento que pasarle a los diseñadores
de la WebApp. En el caso de una App grande no es recomendable
hacer un documento muy extenso, porque los requisitos estarán
cambiando continuamente, y quedaría obsoleto antes de terminarlo.

6.3.- Diseño

La característica de inmediatez obliga a que los diseños se hagan


rápidamente y a que sean evolucionables. Muchas veces la rapidez o
precipitación en el diseño nos cierra puertas a la evolución de la
aplicación.

Los ingenieros Web, trabajan bajo los siguientes elementos técnicos:

INGENIERIA WEB GERARDO LICERAS ROMANIEGA


INGENIERIA DEL SOFTWARE 8

- Principios y métodos de diseño: Facilitaran la adaptación,


pruebas, mejoras y uso.
o Modularidad eficaz (cohesión alta y acoplamiento bajo)
o Elaboración paso a paso
o Diseño orientado a objetos y diagramas UML
- Reglas de oro: que se han ido construyendo desde los inicios de
Internet
- Configuraciones de diseño: Aplicables a los elementos
funcionales y a los documentos, gráficos y estética general.
- Plantillas: Dotan de una estructura similar cada elemento,
configuración de diseño, o documento a utilizar dentro de la
WebApp. Se hace posible pasando como parámetros a esa
plantilla, los datos relevantes, que darán cuerpo al esquema.

6.3.1.- Diseño Arquitectónico

Se encarga de la definición de la estructura global hipermedia y en la


aplicacion de las configuraciones de diseño y plantillas. Dicha
estructura depende de las metas establecidas, del contenido y de la
filosofía de navegación. Típicamente hay:

- Estructuras lineales: cuando es predecible la sucesión de


interacciones. Por ejemplo en la entrada, y validación de datos,
hay una estructura lineal. También existen lineales con flujo
opcional, y lineal con desviaciones.
- Estructuras reticulares: Solo si el contenido de la Web puede ser
organizado en dos o mas dimensiones. Para ellos el contenido
debe ser muy regular. Por ejemplo, marcas de
electrodomésticos y tipos de electrodomésticos.
- Estructuras jerárquicas: Son las mas comunes. En las jerarquías
de software tradicionales se fomentan el flujo de control solo a
lo largo de las ramas verticales. En una WebApp se pueden
enlazar por hipertexto ramas verticales de la misma estructura.
Es el “Acoplamiento”.
- Estructura en red (o de web pura): Es como la arquitectura “en
evolución” de los sistemas OO. Se enlaza todo con todo. Da
mucha flexibilidad de navegación, aunque a veces es confusa
para el usuario.

Es común combinar varias de las estructuras, dando lugar a


estructuras híbridas.

Los patrones de diseño pueden aplicarse en el nivel de


componente (cuando se requiere la funcionalidad del proceso de
datos), jerárquico, y de navegación (que tratan sobre como el usuario
podrá moverse por el contenido de la aplicación) Entre estos últimos,
están:

INGENIERIA WEB GERARDO LICERAS ROMANIEGA


INGENIERIA DEL SOFTWARE 9

- Ciclo: Se devuelve al usuario al nodo de contenido visitado


anteriormente.
- Anillo de Web: Se enlazan paginas de un mismo tema.
- Contorno: Cuando varios ciclos inciden en otro
- Contrapunto: durante la narración se añaden comentarios de
hipertexto.
- Mundo de espejo: Varias narraciones desde puntos de vista
distintos
- Tamiz: Se presentan opciones que el usuario va eligiendo, hasta
llegar a un punto que el mismo habrá provocado con sus
decisiones.
- Vecindario: Marco de navegación uniforme por todas las
paginas web

6.3.2.- Diseño de navegación

Una vez establecida la arquitectura se define la ruta que permitirá


acceder al contenido y a los servicios. Se deberá identificar una
semántica para según que usuarios y definir una sintaxis
(mecánica) para la navegación.

Se tendrán, habitualmente, varios papeles: visitante, cliente, cliente


registrado, cliente privilegiado, administrador, etc. La semántica para
cada rol será distinta.

El diseñador crea una USN (Unidad Semántica de Navegación) para


cada meta asociada a cada rol de usuario. Cada USN tiene unas
“formas de navegación” (WoN) para que cada usuario llegue a cada
meta que se proponga.

Entre las opciones de enlaces (texto, iconos, botones, interruptores,


metáforas gráficas, etc) deberemos elegir la que mas se adecuen al
interfaz de nuestra web.
Desde el punto de vista de los buscadores hoy por hoy es mejor un
enlace texto con la palabra con la que nos gustaría dotar de
importancia a la pagina web enlazada que cualquier otra cosa.
Sin embargo, desde nuestra visión de diseño, los botones, imágenes e
iconos que usemos deberán tener un aspecto clickable. Los enlaces
de texto deberán tener un color característico, diferenciador del resto
del documento.

También se harán necesarias ayudas a la navegación por el sitio: una


vista de esquema, un mapa web, tabla de contenidos, mecanismos de
búsqueda y servicios dinámicos de ayuda.

6.3.3.-Diseño de la interfaz

INGENIERIA WEB GERARDO LICERAS ROMANIEGA


INGENIERIA DEL SOFTWARE 10

Además de las consideraciones de diseño de interfaces de cualquier


otro software, en WebApps es necesario considerar nuevos factores,
todos ellos, bastante subjetivos.

Algunas sugerencias uy generalizadas son:

- Los errores de servidor deben ser mínimos. El usuario tiene


poca paciencia, y generalmente muchos otros recursos en la
Web.
- No se debe obligar a hacer leer grandes cantidades de texto,
sobre todo si estamos en alguna de las secciones de Ayuda de
nuestra App.
- Evitar poner “En construcción”. Crea expectativas
decepcionantes.
- Evitar el scroll. Un usuario poco experto “no sabe que existe el
scroll”. Todo lo que se le pueda dar en un “pantallazo” sera
mejor entendido por la mayoría.
- Los menús de navegación estarán disponibles en todas las
paginas. Las funciones de navegación no deberán depender del
navegador que se este usando.
- LA ESTETICA NUNCA DEBERA SUSTITUIR LA FUNCIONALIDAD.
- Las opciones de navegación y el resto de funcionalidades
deberán ser obvias.

6.4.- Pruebas

Son el proceso de ejercitar el software con el fin de encontrar y


corregir los errores. En las WebApps, es un reto, debido a la variedad
de navegadores, sistemas operativos, plataformas hardware y
protocolos de comunicación.

Las estrategias y tácticas a seguir son:

1. El modelo de contenido es revisado para descubrir errores:


similar a un corrector ortográfico.
2. El modelo de diseño es revisado para descubrir errores de
navegación: Se revisan los posibles errores 404 de navegación,
y vemos si cada enlace lleva a la correspondiente USN de la
meta del rol de usuario a la que pertenece.
3. Se aplican pruebas de unidad a los componentes de proceso
seleccionado y las paginas Web: en muchos casos la unidad
comprobable mas pequeña es la propia pagina web. Muchas
veces no es posible o practico comprobar elementos mas
pequeños como formularios, objetos, mapas de imágenes, etc.
4. Se construye la arquitectura y se realizan las pruebas de
integración: La estrategia para la prueba de integración
depende de la arquitectura que se haya elegido. En estructuras
jerárquicas lineales, reticulares o sencillas, es muy similar a
como se integran los módulos del software convencional. En

INGENIERIA WEB GERARDO LICERAS ROMANIEGA


INGENIERIA DEL SOFTWARE 11

jerarquías mezcladas o arquitecturas de red, es similar a los


sistemas OO.
5. La WebApp ensamblada se prueba para conseguir un a
funcionalidad global y un contenido: Se hace una prueba de
acciones visibles y de salidas reconocibles para el usuario.
6. Se implementa la WebApp en una variedad de configuraciones
diferentes de entornos y comprobar así la compatibilidad con
cada configuración: Se lleva hace una matriz de referencias
cruzadas con sistemas operativos, plataformas de hardware,
navegadores y protocolos de comunicación. Se hacen pruebas
para cubrir los errores asociados con todas y cada una de las
configuraciones posibles.
7. La WebApp se comprueba con una población de usuarios finales
controlada y monitorizada: Se hacen grupos de usuarios según
los posibles roles, se hace un uso intensivo y se evalúan los
resultados, para ver errores de contenido y navegación,
usabilidad, compatibilidad, fiabilidad y rendimiento.

INGENIERIA WEB GERARDO LICERAS ROMANIEGA


INGENIERIA DEL SOFTWARE 12

7.- Problemas de Gestión


El trabajo en paralelo, las numerosas personas implicadas en un
proyecto IWeb, la combinación de tareas técnicas y no técnicas,
hacen necesario una buena planificación y gestión del proyecto.

7.1.- El equipo IWeb

Para la creación de una WebApp se hace necesario un amplio abanico


de conocimientos. Nace la figura del “renacentista”, que es el que se
encuentra cómodo trabajando en varias disciplinas.

Los equipos IWeb se pueden organizar similarmente a como se


organizan otros equipos de software. Entre los miembros deben
repartirse conocimientos de ingeniería del software basada en
componentes, realización de redes, diseño arquitectónico y de
navegación, lenguajes y estándares, diseño de interfaces, diseño
grafico, disposición de contenido y pruebas de la WebApp, y
legislación al respecto de la aplicación y de Internet. Para ello, surgen
las siguientes “personalidades”:

- Desarrolladores y proveedores de contenido: Gente que se


encargue de proveer de aquello que el usuario vera o usara.
Ellos y los diseñadores pueden ser personas ajenas al software.
- Editores de Web: Son los que organizan el contenido. También
son intermediarios entre los proveedores de contenido,
diseñadores y personal técnico, y tiene conocimientos técnicos
y no técnicos sobre su aplicación.
- Ingeniero de Web: Cada vez se ve mas involucrado en cada una
de las actividades de la WebApp. (obtención de requisitos,
modelado de análisis, diseño arquitectónico, de navegación y
de interfaces, implementación y pruebas. También tiene
conocimientos técnicos: tecnologías de componentes,
arquitecturas cliente/servidor, HTML/XML, bases de datos,
multimedia, plataformas hw/sw, seguridad de redes, soporte
web, etc.
- Especialistas de soporte: Es el responsable de las correcciones,
adaptaciones y mejoras del sitio web, entre ellas las
actualizaciones de contenido, implementación de productos,
formularios nuevos y cambios de patron de navegación.
- Administrador :Webmaster, es el responsable del
funcionamiento diario:
o Normas para el buen funcionamiento
o Procedimientos de soporte y realimentación
o Derechos de acceso
o Medición y análisis del trafico
o Coordinación de los procedimientos de control de cambios
o Coordinación con especialistas de soporte
o Ayuda a ingenieros web y especialistas de soporte

INGENIERIA WEB GERARDO LICERAS ROMANIEGA


INGENIERIA DEL SOFTWARE 13

7.2.- Gestión del Proyecto

Las métricas de procesos y proyectos, la planificación de proyectos, el


análisis y gestión de riesgos, la planificación temporal y el rastreo
SQA y CGS se aplican también en IWeb

Sin embargo hay diferencias:

- Se subcontratan servicios partes de las WebApps a especialistas


en el desarrollo de sistemas y aplicaciones basados en Web.
Encontrar un precio fijo como exige el cliente, suele ser una
labor difícil.
o ¿cómo determinar la competencia de un proveedor?
o ¿cómo saber si un precio es razonable?
o ¿qué grado de planificación se puede esperar?
- Hasta ahora no se ha publicado ninguna métrica para IWeb y es
difícil la estimación, que se suele hacer por comparación con
proyectos anteriores. Pero como casi todas las WebApps tienen
que ser innovadoras, sigue haciéndose difícil dicha estimación.
o ¿cómo se derivan estimaciones fiables?
o ¿con que grado de seguridad se pueden cumplir los
programas temporales definidos?
- El análisis de riesgos y la programación temporal
o ¿cómo puede controlar los costes la organización
contratista y el proveedor subcontratado?
o ¿cómo planificar el momento en que los requisitos
cambien drásticamente?
o ¿cómo controlar el cambio de ámbito?

Líneas generales en la planificación de proyectos:

- Inicio de un proyecto: Antes de buscar una subcontratación (lo


típico) se hará:
o Actividades de análisis realizadas interiormente:
 Se identifica el publico, los intereses internos,
metas globales, información y servicios a
proporcionar
 Se identifican sitios web rivales y se definen las
medidas para obtener éxito sobre ellos.
o Desarrollo de un diseño interiormente:
o Planificación temporal apropiada
 Fechas finales
 Fechas HITO
o Identificar el grado de supervisión entre contratista y
proveedor
 Nombre de contacto
 Responsabilidades

INGENIERIA WEB GERARDO LICERAS ROMANIEGA


INGENIERIA DEL SOFTWARE 14

 Puntos de revisión de calidad


o Todo esto se tramita en solicitud de opciones que se
transmite a los proveedores candidatos
- Selección entre los proveedores de subcontratación candidatos
o Se deberán consultar con antiguos clientes
o Determinar el nombre del ingeniero web jefe
o Examinar productos similares hechos por el proveedor
o Realizar una reunión cara a cara
- Evaluación de la validez, ofertas, precios y fiabilidad de
estimaciones
o Se suelen incorporar márgenes sustanciales de seguridad.
o ¿es el coste una buena oferta en relación al beneficio
esperado?
o ¿es el proveedor de la oferta una muestra clara de la
profesionalidad y experiencia requeridos?
- Grado de gestión del proyecto que se puede esperar o realizar
o Tanto mayor cuanto mas grande sea el proyecto.
o Evaluación de riesgos, hitos, fechas y métodos de
comunicación entre proveedor y contratista
- Evaluación de la planificación temporal del desarrollo:
o Periodo corto de tiempo (uno o dos meses) => alto grado
de granularidad => los hitos menores se planifican día a
día.
- Gestión del ámbito:
o El modelo de proceso es incremental por la alta
probabilidad de que el ámbito cambie.
o Lo típico: hacer una “instantánea” del ámbito en el
momento del análisis

7.3.- Problemas GCS para la IWeb

Para la Gestión de la Configuración del Software, se consideraran:

- Contenido: El elevado numero de componentes de contenido,


obliga a una correcta gestión y disposición de los mismos. Se
usan técnicas convencionales del modelado de datos
clasificándolos según ciertas propiedades (existencia temporal
o fija, etc) A los objetos permanentes se les aplicaran
mecanismos de control distintos
- Personas: “Cualquiera” puede crear el contenido de la WebApp.
Para que la aplicación no crezca de forma incontrolada, se hace
necesario un control.
- Escalabilidad: Una WebApp sencilla tiene peor escalabilidad que
una grande. Y los mecanismos de control de la configuración
deben ser directamente proporcionales a la escalabilidad del la
aplicación
- Política:
o ¿Quién es el propietario de la web?

INGENIERIA WEB GERARDO LICERAS ROMANIEGA


INGENIERIA DEL SOFTWARE 15

o ¿Quién asume la responsabilidad de la información del


sitio web?
o ¿Quién asegura los procesos de control de calidad se han
llevado a cabo?
o ¿Quién es el responsable de hacer los cambios?
o ¿Quién asume el coste del cambio?

La mayoría de las herramientas convencionales GCS no son


apropiadas para aplicarlas a la IWeb. Existen las siguientes
necesidades:

- Proceso de gestión de la configuración que contemple la


inmediatez y evolución continua de las WebApps
- Para los que no están familiarizados con la tecnología,
aplicación de mejores conceptos y herramientas de gestión.
- Soporte para los equipos distribuidos de desarrollo de WebApps
- Suministro de control en un entorno de continuo cambio.
- Gestión de cambios en objetos que tienen enlaces con otros
objetos.

8.- BIBLIOGRAFÍA
Fuente del documento:

- R. S. PRESSMAN, Ingeniería del software. Un enfoque práctico,


Madrid, McGraw-Hill / Interamericana de España, 1997

Consultas adicionales:

- http://www.informandote.com/jornadasIngWEB/articulos/jiw01.p
df

Lista de enlaces relacionados:

- http://www.rspa.com/spi/webe.html

Curso de doctorado sobre Ingenieria Web:

- http://www.geocities.com/rcascos/

Unas de las pocas métricas existentes:

- http://gidis.ing.unlpam.edu.ar/personas/olsinal/olsinal.html

Ejemplo de Proyecto IWeb siguiendo el libro de Pressman:

- http://www5.ulpgc.es/servidores/bib-inge/indices/647441.htm

INGENIERIA WEB GERARDO LICERAS ROMANIEGA


INGENIERIA DEL SOFTWARE 16

INGENIERIA WEB GERARDO LICERAS ROMANIEGA

Vous aimerez peut-être aussi