viernes, 24 de mayo de 2013

Metodologías para el desarrollo de software


Metodologías para el desarrollo de software

CONCEPTOS GENERALES

Metodología: Conjunto de procedimientos, técnicas, herramientas y un soporte documental que ayuda a los desarrolladores a realizar nuevo software.

Tarea: Actividades elementales en que se dividen los procesos.

Procedimiento: Definición de la forma de ejecutar la tarea.

Técnica: Herramienta utilizada para aplicar un procedimiento. 
Se pueden utilizar una o varias.

Herramienta: Para realizar una técnica, podemos apoyarnos en las herramientas software que automatizan su aplicación.

Producto: Resultado de cada etapa.

METODOLOGÍA Vs CICLO DE VIDA

El ciclo de vida indica qué es lo que hay que obtener a lo largo del desarrollo del proyecto pero no cómo hacerlo. La metodología indica cómo hay que  obtener los distintos productos parciales y finales.

GENERACIONES DE METODOLOGÍA 
  • Desarrollo Convencional (Sin Metodología) .
  • Desarrollo Estructurado.
  • Desarrollo Orientado a Objetos.

CARACTERÍSTICAS DESEABLES DE UNA METODOLOGÍA
  • Existencia de reglas predefinidas
  •  Cobertura total del ciclo de desarrollo
  •  Verificaciones intermedias
  •  Planificación y control
  •  Comunicación efectiva
  •  Utilización sobre un abanico amplio de proyectos
  •  Fácil formación
  •  Herramientas CASE
  •  Actividades que mejoren el proceso de desarrollo
  •  Soporte al mantenimiento
  •  Soporte de la reutilización de software


El Proceso Unificado de Desarrollo de Software (RUP)


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 aplicación, diferentes tipos de organizaciones, diferentes niveles de competencia y diferentes tamaños de proyectos.

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 que satisfaga las necesidades de los usuarios finales, dentro de un calendario y presupuesto predecible.

Los conceptos anteriormente tratados dirigido por casos de uso, centrado en arquitectura, desarrollo iterativo e incremental son igualmente importantes. 
La arquitectura provee la estructura sobre la cual guiar el trabajo en interacciones  mientras que los casos de uso definen las metas y dirigen el trabajo en cada interacción. 
Remover cualquiera de estos conceptos reducirá severamente el valor del Proceso Unificado. Es como una mesa de tres patas, sin alguna de ellas, la mesa se caerá.


METODOLOGIA XP

La programación extrema es una metodología de desarrollo ligero (o ágil) basada en una serie de valores y de prácticas de buenas maneras que persigue el objetivo de aumentar la productividad a la hora de desarrollar programas.
Este modelo de programación se basa en una serie de metodologías de desarrollo de software en la que se da prioridad a los trabajos que dan un resultado directo y que reducen la burocracia que hay alrededor de la programación.
Una de las características principales de este método de programación, es que sus ingredientes son conocidos desde el principio de la informática. Los autores de XP han seleccionado aquellos que han considerado mejores y han profundizado en sus relaciones y en cómo se refuerzan los unos con los otros. El resultado de esta selección ha sido esta metodología única y compacta. Por esto, aunque no está basada en principios nuevos, sí que el resultado es una nueva manera de ver el desarrollo de software.
El objetivo que se perseguía en el momento de crear esta metodología era la búsqueda de un método que hiciera que los desarrollos fueran más sencillos. Aplicando el sentido común.










No hay comentarios:

Publicar un comentario