Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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.
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.
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