Está en la página 1de 9

METODOLOGIAS DE DESAROLLO DE SOFTWARE E INGENIERÍA WEB

EL SOFTWARE

El software, según Roger Pressman:

“El software de computadora es el producto que construyen los programadores


profesionales y al que después le dan mantenimiento durante un largo tiempo. Incluye
programas que se ejecutan en una computadora de cualquier tamaño y arquitectura,
contenido que se presenta a medida que se ejecutan los programas de cómputo e
información descriptiva tanto en una copia dura como en formatos virtuales que
engloban virtualmente a cualesquiera medios electrónicos.” [Pressman, 2010]

LA INGENIERÍA DE SOFTWARE

La Ingeniería de software, según Pressman:

La ingeniería de software está formada por un proceso, un conjunto de métodos


(prácticas) y un arreglo de herramientas que permite a los profesionales elaborar
software de cómputo de alta calidad.

La ingeniería de software es: 1) La aplicación de un enfoque sistemático, disciplinado


y cuantificable al desarrollo, operación y mantenimiento de software; es decir, la
aplicación de la ingeniería al software.

2) El estudio de enfoques (ingeniería de software) : es ese enfoque “sistemático,


disciplinado y cuantificable” aplicado por un equipo de software que podría ser algo
burdo para otro. Se necesita disciplina, pero también adaptabilidad y agilidad.

La ingeniería de software es una tecnología con varias capas. Y cualquier enfoque de


la IS debe basarse en un compromiso organizacional con la calidad y la total
administración de la calidad. [Pressman, 2010]
CICLOS DE VIDA DEL DESARROLLO DE UN PRODUCTO DE SOFTWARE

CICLOS DE VIDA DEL SISTEMA INFORMÁTICO

Los ciclos de vida del sistema informático más conocidos son:

Ciclo de vida Lineal


Ciclo de vida en cascada
Ciclo de vida iterativo
Ciclo de vida en prototipos
Ciclo de vida evolutivo
Ciclo de vida incremental
Ciclo de vida en espiral
Ciclo de vida en V
Ciclo de vida Sashimi
Ciclo de vida orientado a objetos

CICLO DE VIDA LINEAL CICLO DE VIDA EN CASCADA

CICLO DE VIDA ITERATIVO CICLO DE VIDA EN PROTOTIPOS

CICLO DE VIDA EVOLUTIVO CICLO DE VIDA INCREMENTAL


CICLO DE VIDA EN ESPIRAL CICLO DE VIDA EN V

METODOLOGÍAS TRADICIONALES: conjunto de fases que aplican métodos, técnicas y


estándares como parte del ciclo de vida del sistema informático.

El enfoque de documentación exhaustivo es una característica importante de las metodologías


tradicionales y el aseguramiento de la calidad.

METODOLOGÍA FASES DESCRIPCION


RUP Concepción, Elaboración Proceso Unificado Racional) es un proceso de ingeniería de software que suministra un
Construcción, Transición enfoque para asignar tareas y responsabilidades dentro de una organización de desarrollo
MSF Visión, Alcances, MICROSOFT SOLUTION FRAMEWORK (MSF) : MSF es un compendio de las mejores prácticas
Desarrollo, Estabilización en cuanto a administración de proyectos se refiere. Más que una metodología rígida de
e Implantación administración de proyectos, MSF es una serie de modelos que puede adaptarse a cualquier
proyecto de tecnología de información
ICONIX Revisión de requisitos, El proceso de ICONIX maneja casos de uso, como el RUP, pero le falta mucho para llegar al
Revisión del diseño nivel del RUP. También es relativamente pequeño y firme, como XP, pero no desecha el
preliminar, Revisión análisis y diseño que hace XP. Este proceso también hace uso aerodinámico del UML mientras
crítica del Diseño, guarda un enfoque afilado en el seguimiento de requisitos.
Implementación.
MOF Cambios , Operaciones MICROSOFT OPERATION FRAMEWORK MOF: El modelo de proceso MOF está formado por
Soporte técnico, cuadrantes, revisiones de la administración de las operaciones y revisiones de la
Optimización administración de los servicios. En la figura 1 se muestra el funcionamiento del ciclo de MOF.
En el siguiente esquema gráfico se representan las metodologías tradicionales con sus
respectivas fases:

RUP MSF

ICONIX MOF

3.2 INGENIERÍA WEB Y METODOLOGÍAS WEB

ANTECEDENTES DE LA WEB: Entre 1990 y 1995 los sitios web eran un conjunto de archivos de
hipertexto vinculados con contenido de texto y grafico limitado. Con el pasar del tiempo
surgieron nuevas tecnologías que permitió a los desarrolladores de software programar
sistemas complejos del lado del servidor, que eran accedidos a través de la Web. Fue cuando
nacieron las aplicaciones basadas en Web. Las aplicaciones basadas en Web se popularizaron,
sin embargo, surgieron necesidades que los métodos tradicionales no eran capaces de
resolver, tales como el diseño y la navegación para acceder a la información. Esto llevó a
desarrollar y a diseñar métodos de diseño de hipermedia y modelo de navegación. Este
modelo se basó en la estructura jerárquica para acceder en varios sentidos al árbol de
contenido de una Web. [Pinzon, 2017]

"El uso de principios científicos, de ingeniería y de gestión con enfoques sistemáticos con el
objetivo de desarrollar, desplegar con éxito el mantenimiento de alta calidad de los sistemas
basados en la Web y aplicaciones" [Murugessan, 2016].

“Los diferentes aspectos incluido a la Ingeniería de Software, trajo el surgimiento de la


Ingeniería Web, disciplina que propuso adecuaciones a los métodos y modelos tradicionales.
El futuro del desarrollo de las aplicaciones Web aún es largo, los usuarios son cada vez más
exigente, sin embargo, no hay que dejar a un lado la definición clara de los requerimientos, la
calidad y la escalabilidad para futuros mantenimiento de la aplicación.”
INGENIERIA DE SOFTWARE VS INGENIERÍA WEB: El desarrollo de software tradicional y el
desarrollo web difieren en algunos aspectos. Los profesionales de desarrollo de software
necesitan tener un conocimiento sólido de programación, diseño de base de datos y gestión de
proyectos. Sin embargo, los desarrolladores web abarcan una variedad mucho más amplia
como personas sin habilidades de programación, diseñadores gráficos, escritores, expertos en
bases de datos entre otros. Las páginas web pueden ser creadas por cualquier persona sin la
necesidad de tener conocimiento avanzado de programación.

En el desarrollo de aplicaciones basadas en Web, se aplican herramientas de Ingeniería de


Software, sin tener en cuenta que contienen características especiales, tales como la usabilidad,
navegabilidad, seguridad, mantenimiento y escalabilidad. El uso de soluciones de Ingeniería de
Software puede crear una probabilidad de fallo considerablemente alta [3]. Por lo tanto, para
lograr un mayor éxito en el desarrollo de aplicaciones Web complejas y a gran escala es
necesario enfocarse en la ingeniería Web como una disciplina.

En la Ingeniería de Software tradicional, hay tareas que forman parte en el proceso como lo es el control
y garantía de la calidad, que implican actividades como: supervisión de estándares, revisiones técnicas,
análisis, seguimiento, entre otras, estas pueden ser igualmente aplicadas a la Ingeniería Web. Sin
embargo, en la Ingeniería Web tiene otros aspectos para valorar la calidad como la usabilidad,
accesibilidad, seguridad, eficiencia y mantenibilidad [3]. Las aplicaciones Web están dirigida
frecuentemente a grupo de usuarios desconocidos haciendo que el desarrollo sea más desafiante a
diferencia de, Aplicaciones de software convencionales que se desarrollan generalmente para un grupo
de usuarios previamente conocido.
[Pinzon, 2017]

ACTIVIDADES Y ETAPAS DE LA INGENIERÍA WEB

Las Actividades de la Ingeniería Web, según: Rogger Pressman:

Forman parte del proceso de la Ingeniería Web y que son aplicables a cualquier aplicación Web
independientemente de su tamaño y complejidad.
1. La Formulación identifica objetivos y establece el alcance de la primera entrega.
2. La Planificación genera estimación de costo, la evaluación de riesgo y el calendario del desarrollo y
fechas de entrega.
3. El Análisis especifica los requerimientos e identifica el contenido.
4. La Modelización Consta de dos partes:
5. Diseño y producción del contenido.
6. Diseño de la arquitectura, navegación e interfaz del usuario.
7. En la Generación de Páginas se integran arquitectura, navegación e interfaz para la creación más
visible del proyecto, que son las páginas.
8. El Test son pruebas en busca de errores en todos los niveles: contenido, funcional, navegación, etc.
9. El resultado final es sometido a Evaluación del Cliente.

ETAPAS DE LA INGENIERÍA WEB:

El desarrollo web exige adaptación, estrategias y cambios continuos. Los usuarios se preocupan por una
aplicación Web sea entregada cuando lo necesitan y no sobre el trabajo que se lleva a cabo para crear
una aplicación, por lo tanto, el equipo de desarrollo de un proyecto Web debe enfatizar la agilidad. El
quipo debe ser capaz de responder adecuadamente a los cambios, tales como, en el software,
desarrollo, recurso humano, tecnología entre otros. El éxito del proyecto dependerá de la habilidad del
equipo y la capacidad de colaboración.

Según Roger S. Pressman existen patrones de diseño en la Ingeniería Web para el desarrollo de software
con calidad, también denominados Frameworks. Un framewok establece las bases para un proceso de
Ingeniería Web mediante un número de actividades que son aplicables, independientemente de su
tamaño o complejidad.

Forma de Ver de los procesos generales de la IW

METODOLOGÍAS WEB

El tratamiento de requisitos es el proceso mediante el cual se especifican y validan los servicios


que debe proporcionar el sistema así como las restricciones sobre las que se deberá operar.

Consiste en un proceso iterativo y cooperativo de análisis del problema, documentando los


resultados en una variedad de formatos y probando la exactitud del conocimiento adquirido
[Ferreira & Loucopoulos, 2001]

En el siguiente esquema se relacionan las diferentes metodologías web desde su contexto histórico
lógico de evolución y aparecimiento en el mercado de la ingeniería de software y la importancia e n
relación a las fases comunes que incluyen desde los Requerimientos, Análisis y Diseño, hasta la
Implementación y sus Pruebas.
Mapa de las metodologías Web [Escalona, 2008]

En nuestro escenario didáctico incluiremos las siguientes metodologías:

- OOHDM
- UWE
- WEBML
- NTD

METODOLOGÍAS WEB
METODOLOGÍA FASES DESCRIPCION
OOHDM Diseño conceptual, Diseño navegacional, OOHDM Método de Diseño de Desarrollo en Hipermedia Orientado a Objetos, es una
Diseño de interfaces abstractas, extensión de HDM con orientación a objetos, hoy en día es uno de los métodos más
Implementación usados por los diseñadores de aplicaciones WEB
UWE Análisis de Requisitos, Modelo de UWE es una metodología que permite especificar de mejor manera una aplicación
contenido, Modelo Navegacional, Modelo Web en su proceso de creación mantiene una notación estándar basada en el uso
de Presentación de UML (Unified Modeling Language) para sus modelos y sus métodos, lo que
facilita la transición. La metodología define claramente la construcción de cada uno
de los elementos del modelo.
WEBML ERS, Diseño de Datos, Hipertexto, • Conocido como Web Modeling Language es un modelado orientado al
Implementación, Implementación de diseño de aplicaciones web con un uso intensivo y gran cantidad de datos. Éste
datos, Implementación de hipertexto, proporciona especificaciones gráficas incorporadas en un proceso de diseño
Pruebas y Evaluación, Despliegue completo.
mantenimiento y evolución. • Permite a los diseñadores expresar las características principales de un
sitio web a un alto nivel. Sus conceptos son fácilmente soportados por las
herramientas CASE.
NDT Obtener información sobre el entorno y Navigational Development Tecniques NTD: NDT es un proceso metodológico para
definir objetivos, Identificar y definir los especificar, analizar y diseñar sistemas web.
requisitos de almacenamiento de Ofrece además una herramienta, NDT-Tool, que sirve como soporte en la aplicación
información, Identificar y definir los actors de sus técnicas.
Comparativamente sus esquemas gráficos son los siguientes:

OOHDM UWE

NTD WEBML

METODOLOGÍAS ÁGILES:

Son métodos, técnicas, estándares cuyas fases simplifican de forma ágil el proceso de la
ingeniería de software y dan vital importancia en la capacidad de respuesta a los cambios, la
confianza en las habilidades del equipo y al mantener una buena relación con el cliente.

Surgen como respuesta a los problemas principales de tiempo, producto final, satisfacción e
interacción con el usuario final y se basa en dos aspectos puntuales:

- el retrasar las decisiones y


- la planificación adaptativa;
METODOLOGÍA FASES DESCRIPCION
Xp Desarrollo iterativo e incremental, pone más énfasis en la adaptabilidad que en la previsibilidad, en la adaptabilidad.
pruebas unitarias continuas, consideran que los cambios de requisitos sobre la marcha son un aspecto natural, inevitable
programación por parejas, e incluso deseable del desarrollo de proyectos
iteraciones, corrección,
refactorización.
SCRUM Tiene 5 etapas y 16 procesos: Scrum se focaliza en priorizar el trabajo en función del valor que tenga para el negocio,
Inicio, maximizando la utilidad de lo que se construye y el retorno de inversión
Planificación Balcklog y estimación, proceso ágil y liviano que sirve para administrar y controlar el desarrollo de software. El
Implementación, desarrollo se realiza en forma iterativa e incremental (una iteración es un ciclo corto de
Revisión del Sprint y retrospectiva, construcción repetitivo). Cada ciclo o iteración termina con una pieza de software
Lanzamiento ejecutable que incorpora nueva funcionalidad.
AUP Modelado , Implementación El AUP es un acercamiento aerodinámico a desarrollo del software basado en el Proceso
Prueba, Despliegue , Unificado Rational de IBM (RUP), basado en disciplinas y entregables incrementales con el
Administración de la configuración tiempo. El ciclo de vida en proyectos grandes es serial mientras que en los pequeños es
Administración o gerencia del iterativo
Proyecto ,Entorno
KANBAN Señales visuales (normalmente son Kanban es un flujo de trabajo visual, por lo que utiliza un tablero físico o digital para planear
tarjetas) , Columnas o listas, y hacer el seguimiento de tareas. En un tablero Kanban se utilizan tarjetas, columnas y lo más
Límites de tiempo para los trabajos importante, el concepto de progreso constante. Esto permite cierto control sobre el equipo y
pendientes , Un compromiso final lo obliga a comprometerse a terminar el trabajo de manera continua
de entrega, y Una entrega final

A continuación, un esquema gráfico comparativo de las metodologías ágiles

SCRUM XP

KANBAN AUP

También podría gustarte