miércoles, 23 de mayo de 2012

Métodos Agiles

Estas metodologías proponen una nueva estrategia en el desarrollo de software, y se basa en realizar desarrollos mucho mas acordes a los requerimientos del cliente, con un mejor aprovechamiento de los recursos y un modelo más fléxible.

Los métodos ágiles buscan adquirir una mayor adaptación al cambio, y no ser tan estrictos en los objetivos que se plantearon al inicio del proyecto. Esto se puede realizar generando objetivos a corto plazo, muy diferente a como pasa en las metodologías tradicionales, que generan objetivos al inicio del proyecto y estos deben ser seguidos hasta el final del mismo. Esto es una desventaja, ya que al realizar un cambio en alguno de estos objetivos, se generarian sobre costos y mal aprovechamiento de los recuros, en cambio, las metodologías ágiles buscan tener mas contacto con el cliente y sus requerimientos, y como sus objetivos van por temporadas, estos pueden cambiar con mayor facilidad.

El que los objetivos se distribuyan de esta manera genera un ambiente mucho mas positivo tanto para el cliente como para el desarrollador, ya que de esta manera las entregas se pueden planear y realizar periódicamente, y asi poder realizar una retroalimentación de lo que se lleva hasta el momento, ver lo que funciona y lo que hay que corregirse. De esta forma la presión se distribuye a lo largo del proyecto, y no solo al final, como sucede en los métodos tradicionales, ya que solo se realiza la entrega hasta el final.

Otro punto a favor de los métodos ágiles es que la elaboración de la documentación detallada no es tan importante, y pasa a un segundo plano, dandole mucha más prioridad al desarrollo de las soluciones.

En conclusió los métodos ágiles se convierten en una muy buena alternativa para el desarrollo de software de una forma mas eficiente, generando de esta manera más facilidades para los desarrolladores, mejor aprovechamiento de los recursos tanto humanos como materiales y generando mayor progreso para el cliente.







martes, 22 de mayo de 2012

Metodologías de Desarrollo de Software

El desarrollo de software de calidad es el objetivo principal de la ingenieria de software, a través del tiempo y la experiencia se han ido implementando modelos que aportan procedimientos, tecnicas y herramientas para el desarrollo de software.

El desarrollo de software se divide en cuatro fases:

Análisis:

En esta etapa se debe comprender el problema del cual el software va a solucionar. En esta fase se realiza el estudio, el levantamieto de la información, la definición del problema, los requisitos a considerar y el estudio de factibilidad.

Diseño:

Se establece cómo se debe construir el software.

Implementación:

En esta fase se realiza el desarrollo del software acorde al diseño, se realizan las pruebas y vailidaciones necesarias y luego se entrega al cliente para que empiece a funcionar.


Mantenimiento:

Aunque el software no es suceptible a deterioros o modificaciones por factores externos, como los ambientales, es necesario hacerle un seguimiento una vez implementado, para ver que fallas se pueden presentar, ya sea debido a la implementación de otras aplicaciones, algunos defectos que no se hayan probado correctamente o simplemente alguna mejora que se deba realizar.

Para poder llevar a cabo estas fases se necesita seguir una metodología, la cual se puede crear desde cero, sin embargo ya existen diversas metodologías que nos proporcionan un estandar para nuestros procedimientos.


Las metodologías de desarrollo se pueden clasificar en:

Estructuradas:

Estas tecnologías descomponen cada uno de los procesos que realizará el sistema en modulos individuales para asi abordar un problema con mayor facilidad. Estas tecnologías se conocen tambien como métodos tradicionales.

Las siguientes son metodologías estructuradas:

  • Modelo lineal o en cascada
  • Modelo Incremental
  • Modelo prototipado
  • Modelo Espiral

No estructuradas

  • Orientadas a Objetos: Esta metodología es mucho mas flexible que las demas en cuanto a la definición de requerimientos se  refiere, ya que a través de ella se puede lograr la abstacción de los requerimientos del usuario.
  • Sistemas de Tiempo Real


Indice de Contenidos


  •  Metodologías de Desarrollo de Software
  •  Métodos Agiles
  • Análisis de Requerimientos
  • Tecnicas de Actividades para la Obtencion de Requerimientos
  • Estándares para el Desarolo de Software