martes, 23 de agosto de 2011

Metodologías de Análisis y Diseño de software

Cada vez que se quiera realizar algo de calidad y que tenga satisfecho a nuestro cliente, debemos tomar en cuenta tener una Metodología

¿Qué es una metodología?

Podemos llamar como Metodología a una guía de pasos, procedimientos y técinas que tendremos en un proceso, con una serie de pasos que seguiremos para llevar a cabo satisfactoriamente lo que se quiere realizar.

Cuando queramos realizar los procedimientos, técnias o tareas descritas en nuestra metodología, debemos contar con Herramientas, las cuales sirven para apoyarnos cuando estemos contruyendo un software.



Si no se tiene una metodología, sucede algo muy parecido a la Crisis del Software que comenté en mi entrada pasada ya que no se sigue una serie de pasos los cuales te ayudan a tener un patrón, seguirlo y al final tener un producto de buena calidad.

Desde mi punto de vista muy personal, tener una metodología, es algo muy parecido a la hora de querer elaborar una receta. La receta viene siendo la metodología, las herramientas los moldes para cocinar, los procedimientos son cuánto tiempo se hornea, y el producto es el alimento preparado.

Al contar con metodologías se tienen reglas definidas para seguir, planificación y control, mantenimiento si es necesario, comunicación efectiva y sincera con los demás miembros del proyecto, y lo más importante de todo reutilización de software.

Hay diferentes tipos de metodologías:
- Estructuradas (datos jerárquicos)
- Orientadas a objetos
- Para sistemas de tiempo real

Estructuradas (Datos jerárquicos)
 Se definen primero los datos de entrada y salida y después se ordena lógicamente hasta ajustarlos a dicha estructura. Debe estar separado del diseño físico.



Orientados a Objetos
Son los revolucionarios o puros, y los sintetistas o evolutivos. Como sus nombres lo indican son metodologías que van evolucionando, porque no es lo mismo utilizar la misma metodología cuando se programaba perforando tarjetas, a como se programa ahora con el lenguaje ensamblador, o con lenguajes de alto nivel como es el Java, Python, C++, etc. Se tiene que ir cambiando de metodologías según las necesidades que se tengan.

Sistemas de tiempo real 
Como en estos sistemas se trabaja en un tiempo real, debe haber sincronía de tareas, saber qué hacer cuando se presente un problema, tener datos continuos, saber cómo manejar las interrupciones que haya.



Existen varios pasos para la metodología:
*Estudio Preliminar: En este paso debe saberse bien qué es lo que se hará, cómo manejarlo, en qué consiste y cuánto tiempo aproximadamente puede llevarse.
*Estudio Detallado: Aquí ya se ve más a fondo las herramientas que se utilizarán, el presupuesto que se tiene, las ganancias que tendrán al final, un tiempo más exacto del cual disponen, cómo comenzar el proyecto, qué hacer ante distintas situaciones como pueden ser: falta de personal para elaborar el proyecto y tener en cuenta las cosas que puedan llegar a fallar.
*Implementación: Ir elaborando lo que se tiene pensado, ya no es tanto de pensar qué se hará, sino hacerlo, ver cómo se va desenvolviendo el proyecto y si se está haciendo a como lo esperado.
*Realización e instalaión: Ya se instala el software elaborado en las máquinas que lo necesitan.






También debe tenerse en cuenta el mantenimiento del proyecto, por si llega a presentarse alguna falla poder tener contacto con la gente que lo elaboró y que lo puedan solucionar lo más rápido que se pueda.


Fuentes  http://alarcos.inf-cr.uclm.es/doc/ISOFTWAREI/Tema04.pdf
http://analisisydiseoiii.blogspot.com/2011/05/diagrama-de-interaccion-global.html
http://www.sistemasinformaticos.com.ve/about.html
http://sosmaveco.com/?page_id=25

No hay comentarios:

Publicar un comentario