Está en la página 1de 53

PRINCIPIOS DE LA

INGENIERIA WEB
GARCIA CABRERA KARINA
PEREZ GONZALEZ OSCAR
1.1  Diferencias entre el software tradicional y las aplicaciones Web
1.1 Diferencias
entre el software  La Ingeniería de Software, es una disciplina que ha estudiado
tradicional y las propuestas diferentes que permiten apoyar el proceso de
desarrollo y construcción de software desde hace muchos años
aplicaciones Web
 Sin embargo, algunos de los proyectos de desarrollo
fracasan o el resultado final no es el esperado, para el
cliente o usuario final, inclusive para los propios
desarrolladores, debido a la complejidad inherente del
programa que impacta en la calidad y retraso del tiempo
esperado o peor aún
 En los primeros días de la
informática, se pensó que el
principal motivo por el que los
proyectos sufrían retraso y costes
excesivos era el hecho de que la
programación no se llevaba a cabo
adecuadamente.
 La solución a esto fue la
introducción de la
Programación Estructurada.
Este fue sin duda un salto
importante, pero pronto se
comprobó que los proyectos
seguían experimentando
retrasos y altos costos.
 Sin embargo, en la actualidad se han encontrado varios
factores que pueden conllevar al fracaso de un proyecto
de desarrollo de software. Actualmente, se distinguen 2
grandes grupos: las metodologías tradicionales y las
ágiles
 Generalmente, estas distintas
metodologías se han basado en un
conjunto de actividades
básicamente técnicas,
perfectamente diferenciadas y
relacionadas con: análisis, diseño,
programación y prueba
 Lo que diferencia a las distintas
metodologías es el grado de
énfasis que ponen en las distintas
actividades.
 Durante mucho tiempo, se ha utilizado el
tradicional modelo de cascada, el cual, ha
demostrado que no refleja adecuadamente, la
naturaleza compleja del proceso de desarrollo
de software.
INGENIERIA  Esta metodología, es muy práctica para proyectos pequeños y con
muy bajos niveles de riesgo, tales como proyectos de nuevas
DE versiones de algún software existente donde haya requerimientos
claros y cuya arquitectura e infraestructura de software y
SOFTWARE hardware no van a cambiar mucho respeto a la versión anterior.
INGENIERIA  Pero una metodología tan inflexible a cambios, como lo fue el
modelo tradicional, rápidamente resultó ser impráctica para el
DE desarrollo de nuevos programas de cómputo, que demandan una
SOFTWARE alta complejidad en su estructura y funcionalidad.
INGENIERIA  Para solucionar este problema, se definieron posteriormente los
métodos iterativos o incrementales, que unidos a otras prácticas
DE claves, como la orientación al manejo de riesgos y la planeación
adaptable, permiten de forma natural guiar adecuadamente el
SOFTWARE proceso de desarrollo de software.
 Los problemas que presenta este modelo
nacen de su propia estructura, al ser una
secuencia de grandes etapas que requieren
como hitos la documentación completa
antes de continuar con la siguiente etapa.
 Actualmente se ha adoptado como
estándar en algunas empresas de
software la estructura metodológica
del RUP de IBM, que organiza el
desarrollo de un proyecto
informático en iteraciones guiadas
en etapas y fases para obtener una
arquitectura de software más sólida,
robusta, clara y ajustable a las
necesidades particulares de cada
organización.
 El proceso Unificado, es un
proceso de software genérico
que puede ser utilizado para
una gran cantidad de tipos de
sistemas de software, para
diferentes áreas de
competencia y diferentes
tamaños de proyectos en los
que el factor de riesgo
tecnológico es muy alto, y los
requerimientos son inestables
 Provee un enfoque disciplinado en la
asignación de tareas y responsabilidades
dentro de una organización de desarrollo.
 Su meta es asegurar la producción
de software de muy alta calidad de
los usuarios finales dentro de un
calendario y presupuesto
predecible.
 Sin embargo, el proceso unificado no ha sido aplicado en
muchas empresas por su complejidad de administración y
el tiempo que requiere ser invertido en la documentación,
desaprovechado sus considerables ventajas.
 Es así, como aparecen los
defensores del desarrollo ágil
del software, que resaltan la
importancia de los talentos y
habilidades de los individuos,
más que las metodologías y
documentación.
 Las metodologías ágiles que se centran especialmente en
el factor humano o el producto de software dan mayor
valor al individuo, a la colaboración con el cliente y al
desarrollo incremental del software con interacciones
muy cortas.
 Este enfoque está mostrando su
efectividad en proyectos con
requisitos muy cambiantes y
cuando se exige reducir
drásticamente los tiempos de
desarrollo manteniendo una alta
calidad
 Las metodologías ágiles, están
INGENIERIA revolucionando la manera de
producir software, y a la vez
DE generan un amplio debate
entre sus seguidores, quienes
SOFTWARE por escepticismo apoyan las
metodologías tradicionales.
 Su objetivo es esbozar los valores y principios que deberían
INGENIERIA permitir a los equipos desarrollar software rápidamente y
respondiendo a los cambios que puedan surgir a lo largo del
DE proyecto, pretendiendo ofrecer una alternativa a los procesos de
desarrollo de software tradicionales, caracterizados por ser rígidos
SOFTWARE y dirigidos por la documentación que se genera en cada una de las
actividades desarrolladas.
 Según Carmen de Pablos Heredero, el software es un
“conjunto de elementos en interacción dinámica
organizados para la consecución de un objetivo” y en
complemento con el hardware permiten la realización de
diversas tareas de manera ágil.
INGENIERIA  . Por ello, el desarrollo de software ha aumentado notablemente
en diferentes ámbitos de aplicación, es por ello por lo que antes de
DE crear una nueva aplicación debe tomarse en cuenta un sin
números de aspectos, características y funciones que contendrá el
SOFTWARE nuevo producto.
 Según Pressman “se concluye que
debe hacerse un esfuerzo
concentrado para entender el
problema antes de desarrollar una
aplicación de software.
 “Las aplicaciones Web no son más que herramientas de ofimática
INGENIERIA de la Web 2.0 que se manejan simplemente con una conexión a
internet, y en estos casos cabe la opción de utilizar el ordenador
WEB solo como forma de procesos de la aplicación remota”.
 Una aplicación Web (Web based application) es una
aplicación cliente/servidor, donde tanto el cliente (el
navegador, explorador o visualizador) como el servidor (el
servidor Web) y el protocolo mediante el que se
comunican (HTTP) están estandarizados y no han de ser
creados por el programador de aplicaciones.
 En la actualidad, las aplicaciones Web son cada vez más populares
1.2 INGENIERIA y su uso ha acaparado los ámbitos científico, cultural, académico,
empresarial entre otros, y esto es debido a las múltiples ventajas
WEB que el usuario tiene respecto a los programas de escritorio.
INGENIERIA WEB
 Aplicación web. En la Ingeniería de
software se denomina aplicación web a
aquellas aplicaciones que los usuarios
pueden utilizar accediendo a un Servidor
web a través de Internet o de una intranet
mediante un navegador.
APLICACIONES  En otras palabras, es una aplicación (Software) que se codifica en
un lenguaje soportado por los navegadores web en la que se
WEB confía la ejecución al navegador.
APLICACIONES WEB
 Las aplicaciones web son populares debido a lo práctico
del navegador web como Cliente ligero, a la
independencia del Sistema operativo, así como a la
facilidad para actualizar y mantener aplicaciones web sin
distribuir e instalar software a miles de usuarios
potenciales.
APLICACIONES  Es importante mencionar que una Página Web puede contener
elementos que permiten una comunicación activa entre el usuario
WEB y la información.
APLICACIONES WEB
 Esto permite que el usuario
acceda a los datos de modo
interactivo, gracias a que la
página responderá a cada una
de sus acciones, como por
ejemplo rellenar y enviar
formularios, participar en
juegos diversos y acceder a
gestores de base de datos de
todo tipo.
APLICACIONES WEB
 En un principio la Web era sencillamente
una colección de páginas estáticas,
documentos, etc., para su consulta o
descarga.
 El paso inmediatamente posterior en su evolución fue la inclusión
APLICACIONES de un método para elaborar páginas dinámicas que permitieran
WEB que lo mostrado tuviese carácter dinámico (es decir, generado a
partir de los datos de la petición).
1.2.1 PRINCIPIOS
DE LA
INGENIERÍA
 El desarrollo de aplicaciones web es una tarea compleja que
APLICADOS A requiere del uso de una amplia variedad de conocimientos de
tecnología, organización y comunicación.
LAS
APLICACIONES
WEB
 Los sistemas de información basados en web son mucho más
INGENIERIA complejos que las aplicaciones tradicionales debido a que han de
construirse sobre componentes tecnológicos que se encuentran
WEB en continua evolución, han de encajar en la infraestructura
existente en la empresa y la interfaz de usuario debe de ofrecer un
nivel de calidad hasta ahora no exigido.
INGENIERIA WEB
 Las aplicaciones web y la ejecución
de estas se realizan de forma
remota a través de la conexión a
Internet; el procesamiento de los
datos lo lleva a cabo el servidor
web y el usuario solo recibe los
resultados en su terminal.
INGENIERIA WEB
 . El desarrollo de WebApps llegó para quedarse y se prevé
un largo ciclo de vida, por lo que se puede afirmar que
aquellas aplicaciones que no se desarrollen de forma
apropiada, tienen alta probabilidad de fallos y bajo
rendimiento.
 El desarrollo de aplicaciones Web posee determinadas
INGENIERIA características que lo hacen diferente del desarrollo de
aplicaciones o software tradicional y sistemas de información. La
WEB ingeniería de la Web es multidisciplinar y aglutina contribuciones
de diferentes áreas:
Arquitectura de la información.
Ingeniería de hipermedia/hipertexto.
Ingeniería de requisitos.
Diseño de interfaz de usuario.
Usabilidad.
Diseño gráfico y de presentación.
INGENIERIA Diseño y análisis de sistemas.

WEB Ingeniería de software.


Ingeniería de datos.
indexada recuperación de información.
Testeo.
Modelado y simulación.
Despliegue de aplicaciones.
Operación de sistemas y gestión de proyectos.
 La ingeniería de la Web no es un clon o subconjunto de la
ingeniería de software aunque ambas incluyen desarrollo de
INGENIERIA software y programación, pues a pesar de que la ingeniería de la
WEB Web utiliza principios de ingeniería de software, incluye nuevos
enfoques, metodologías, herramientas, técnicas, guías y patrones
para cubrir los requisitos únicos de las aplicaciones web.
INGENIERIA  . Sin embargo el término de ingeniería de la web ha sido un
término muy controvertido especialmente para profesionales en
WEB disciplinas tales como la ingeniería del software ya que no la
consideran como un campo dentro de la ingeniería.
 Los principales aspectos de la ingeniería de la Web incluyen, entre
INGENIERIA otros, los siguientes temas:
WEB
Diseño de procesos de Generación Diseño de Modelos de
Herramientas CASE para Desarrollo web Modelado conceptual de
negocio para de código para datos para sistemas de Ingeniería web empírica.
aplicaciones web. colaborativo. aplicaciones web.
aplicaciones web. aplicaciones web. información web.

Entornos de desarrollo Herramientas de autor Pruebas de rendimiento Personalización y


Herramientas y métodos Control de calidad y Ingeniería de requisitos
de aplicaciones web para contenido de aplicaciones basadas adaptación de
de prototipado. pruebas de sistemas. para aplicaciones web.
integrados. multimedia. en web. aplicaciones web.

Métodos, herramientas y
Aplicaciones para la Web Factorías automatización de Aplicaciones web móviles Usabilidad de Accesibilidad para la Metodologías de diseño
Semántica. de software para la web. pruebas para y ubicuas. aplicaciones web. web. web.
aplicaciones web.

Métricas para la web,


Formación en ingeniería Diseño de interfaces de Gestión de proyectos Desarrollo y despliegue
estimación de costes y
de la web. usuario. web y gestión de riesgos. de servicios web.
medición.

INGENIERIA WEB
1.2.2MODELOS
DE PROCESOS
APLICABLES  Los métodos de Ingeniería Web dirigidos por modelos han
mejorado tanto la calidad como la eficiencia, a la hora de
EN LA desarrollar aplicaciones Web.

INGENIERÍA
WEB
INGENIERIA WEB
 Estos métodos utilizan modelos
conceptuales para capturar, de
manera abstracta, una
representación detallada de la
aplicación Web a desarrollar.
INGENIERIA WEB
 La ventaja más destacada de esta
aproximación es que a partir de estos
modelos, ampliamente validados en
entornos industriales, es factible la
generación sistemática del código que
implementa la aplicación Web.
INGENIERIA WEB

 En esta línea de investigación se ha abordado el desarrollo de sistemas software


para la Web, a partir de la construcción de modelos conceptuales.
INGENIERIA  Para aplicaciones Web en general y para aplicaciones adaptativas
en particular. La metodología consta de seis modelos:
WEB
 Modelo de casos de uso para capturar los requisitos
del sistema.
 Modelo conceptual para el contenido (modelo del
dominio).
 Modelo de usuario: modelo de navegación que
INGENIERIA incluye modelos estáticos y dinámicos.
WEB  Modelo de estructura de presentación, modelo de
flujo de presentación. o Modelo abstracto de interfaz
de usuario y modelo de ciclo de vida del objeto.
 Modelo de adaptación.

También podría gustarte