Que
es una metodología
Una metodología es aquella guía que se sigue
a fin realizar las acciones propias de una investigación.
En términos más sencillos se trata de la guía
que nos va indicando qué hacer y cómo actuar cuando se quiere obtener algún
tipo de investigación.
Metodología de desarrollo de software en
ingeniería de software es un marco de trabajo usado para estructurar,
planificar y controlar el proceso de desarrollo en sistemas de información.
Una Metodología
de desarrollo de software consiste en: Una
filosofía de desarrollo de software con una base de procesos de desarrollo de
software Múltiples herramientas, modelos y métodos, para asistir en el proceso
de desarrollo de software.
Suele estar documentada y alguna clase de
documentación formal.
Suele
estar promovida por algún tipo de organización ya sea esta pública o privada
que es la que se encarga de promover esta metodología.
Metodologías de desarrollo Diferentes enfoques
sobre desarrollo de Software Cada metodología de desarrollo tiene más o menos
su propio enfoque de en lo que debería de consistir un proyecto de desarrollo
de software. Pero todas ellas se basan en una serie de enfoques generalistas
como son:
Waterfall Model - cascada
Lineal Prototipado
Iterativo Incremental
Lineal Espiral
(RAD) lineal Rapid
Application Development
RUP
El
Waterfall Model o modelo en cascada en el
cual el desarrollo se ve como una serie de escalones descendentes (como si se
tratara de una cascada de agua) a través de las distintas fases. Análisis
Diseño Desarrollo Pruebas Integración Mantenimiento Creada en 1970 por Winston
W. Royce.
Principios
básicos de este modelo son: El proyecto se divide en
fases secuenciales , se permite algún tipo de solapamiento entre las distintas
fases. Hace énfasis en la planificación, los tiempos, fechas objetivo,
presupuestos y en la implantación del sistema completo al mismo tiempo.
Se
mantiene un férreo control durante la duración del proyecto a través del uso
extensivo de documentación así como a través de revisiones y aprobaciones por
los usuarios y gestores del proyecto, al final de cada fase antes de comenzar
la siguiente.
Metodología
de Prototipos Se conoce así a las actividades de
creación de prototipos durante el desarrollo de software, los prototipos son
versiones incompletas del producto que va a ser desarrollado.
Los principios básicos son: No es una
metodología que funcione por sí sola, es más una vía para manejar determinadas
fases de una metodología más tradicional y amplia (Incremental, Espiral o RAD)
Intenta reducir el riesgo inherente al proyecto dividiendo el proyecto en
partes más pequeñas.
El usuario está más involucrado a través del
proyecto, y eso hace que se incremente la aceptación final del producto por los
usuarios.
Se van realizando maquetas a menor escala
siguiendo una política de modificaciones hasta culminar los requerimientos de
los usuarios.
La mayoría de los prototipos se desarrollan
con la expectativa de ser deshechos, es posible en algunos casos evolucionar
los prototipos hacia el sistema final.
Incremental
Es combinación de metodologías iterativas y
lineales con el objetivo primario de reducir los riesgos del proyecto.
Los
proyectos se dividen en partes más pequeñas, de esta manera también se
facilitan los cambios durante el proceso de desarrollo.
Los principios fundamentales son: Se
realizan una serie de donde todas las fases del desarrollo en cascada se
completan para una pequeña parte del sistema, antes de abordar la siguiente
parte.
Los
conceptos iniciales del sistema, análisis de requerimientos, diseño de
arquitectura, etc. Del sistema completo se definen usando también la técnica de
Cascada.
Después de esto mediante prototipos se van
desarrollando las distintas partes en las que ha sido dividido el proyecto.
Finalmente el proceso culmina con la implantación del sistema en su conjunto.
Espiral (Boehm 1988) Básicamente
consiste en una serie de ciclos que se repiten en forma de espiral, comenzando
desde el centro. Se suele interpretar como que dentro de cada ciclo de la
espiral se sigue un Modelo Cascada, pero no necesariamente debe ser así.
Aunque
el Espiral puede verse como un modelo evolutivo que conjuga la naturaleza
iterativa con los aspectos controlados y sistemáticos del Modelo Cascada, con
el agregado de gestión de riegos. Este sistema está indicado en grandes
proyectos.
Espiral
En cada vuelta o iteración hay que tener en cuenta:
Los
Objetivos: Que necesidad debe cubrir el producto.
Alternativas:
Las diferentes formas de conseguir los objetivos de forma exitosa, desde
diferentes puntos de vista como pueden ser:
Características: experiencia del
personal, requisitos a cumplir, etc. Formas de gestión del sistema. Riesgo
asumido con cada alternativa.
Desarrollar
y Verificar: Programar y probar el software
Si el
resultado no es el adecuado o se necesitan mejoras: Se planifican los
siguientes pasos y se comienza un nuevo ciclo de la espiral, la espiral tiene
dos dimensiones, la radial y la angular. Angular Indica el avance del proyecto
dentro de un ciclo Radial Indica el aumento del coste del proyecto, ya que con
cada nueva iteración se pasa más tiempo desarrollado
Al ser un modelo de ciclo de vida orientado a
la gestión del riesgo, se dice que uno de los aspectos fundamentales de su
éxito radica en que el equipo que lo aplique tenga la necesaria experiencia y
habilidad para detectar y catalogar correctamente los riesgos.
RAD
RAD (James Martin 1980) Este método comprende el
desarrollo iterativo, la construcción de prototipos y el uso de herramientas.
Aporta
la velocidad del desarrollo, principalmente por el uso de las herramientas
CASE. La Calidad es otra de sus características, mediante la implicación del
usuario en las etapas de análisis y diseño Apropiado para proyectos de pequeña envergadura
Al igual que con los anteriores divide un proyecto en piezas más pequeñas Pone
énfasis en el cumplimiento de las expectativas del negocio, mientras que las
caráctristicas tecnicas o la excelencia del desarrollo tiene menos importancia.
El control del proyecto da prioridad a las
fases de desarrollo y define “deadlines”. Si el proyecto empieza a excederse en
tiempos, se considera reducir los requerimientos, no aumentar los tiempos.
Los usuarios están especialmente involucrados
en las fases de diseño mediante el uso de sesiones de trabajo.
RUP
Constituye la metodología estándar más utilizada para el análisis,
implementación y documentación de sistemas orientados a objetos.
RUP no es un sistema cerrado, es un conjunto
de metodologías adaptables al contexto y necesidades de cada organización. Su
ciclo de vida es una implementación del Desarrollo en espiral.
Las Principales características Forma disciplinada de asignar tareas y
responsabilidades (quien hace que, cuándo y cómo) Pretende implementar las
mejores prácticas en Ingeniería de software.
Desarrollo Iterativo Administración de
requisitos Uso de arquitectura basada en componentes Control de cambios
Modelado visual de software Verificación de la calidad del software
Se caracteriza por ser iterativo e
incremental, estar centrado en la arquitectura y guiado por los casos de uso.
Incluye artefactos (que son los productos tangibles del proceso.
como
por ej.: El modelo de casos de uso, El modelo de clases, El código fuente Etc..
Incluye también roles que desempeñan acciones en un determinado momento. Una
persona puede desempeñar distintos roles a lo largo del proceso.
Ciclo de vida Fase de Construcción Se lleva a
cabo la construcción del producto mediante series de iteraciones. Para cada
iteración se seleccionan algunos casos de uso, se refina su análisis y diseño y
se procede a su implementación y pruebas.
Artefactos Fase de construcción Trabaja desde
cuatro vistas: Vista lógica Diagrama de clases Modelo ER Vista de
implementación Diagrama de Secuencia Diagrama de estados Diagrama de
colaboración Vista conceptual Modelo de dominio Vista física Mapa de
comportamiento HARDWARE
No hay comentarios:
Publicar un comentario