jueves, 29 de noviembre de 2012



PARADIGMAS DE LA INGENIERIA EN SOFTWARE




La Ingeniería de Software es reconocida como una disciplina legítima, digna de tener una investigación seria, un estudio cuidadoso y ha generando una gran controversia. En la industria el Ingeniero del software ha sustituido al programador como titulo de trabajo preferente. Los modelos de procesos de software, métodos de ingeniería de software y herramientas se han adoptado con éxito en el amplio espectro de las aplicaciones industriales. Los gestores y usuarios reconocen la necesidad de un enfoque más disciplinado del software.

Un paradigma de programación es un modelo básico de diseño y desarrollo de programas, que permite producir programas con una directriz específica, tales como: estructura modular, fuerte cohesión, alta rentabilidad, etc.

Existen tres categorías de paradigmas de programación:
a)    Los que soportan técnicas de programación de bajo nivel (ejemplo: copia de ficheros frente estructuras de datos compartidos)
b)    Los que soportan métodos de diseño de algoritmos (ejemplo: divide y vencerás, programación dinámica, etc.)
c)    Los que soportan soluciones de programación de alto nivel, como los descritos en el punto anterior

Los paradigmas relacionados con la programación de alto nivel se agrupan en tres categorías de acuerdo con la solución que aportan para resolver el problema:
a)    Solución procedimental u operacional. Describe etapa a etapa el modo de construir la solución. Es decir señala la forma de obtener la solución.
b)    Solución demostrativa. Es una variante de la procedimental. Especifica la solución describiendo ejemplos y permitiendo que el sistema generalice la solución de estos ejemplos para otros casos. Aunque es fundamentalmente procedimental, el hecho de producir resultados muy diferentes a ésta, hace que sea tratada como una categoría separada.
c)    Solución declarativa. Señala las características que debe tener la solución, sin describir cómo procesarla. Es decir señala qué se desea obtener pero no cómo obtenerlo.






La ingeniería de software tiene varios modelos o paradigmas de desarrollo en los cuales se puede apoyar para la realización de software, de los cuales podemos destacar a éstos por ser los más utilizados y los más completos:


Modelo en cascada o Clásico (modelo tradicional) 
Modelo en espiral (modelo evolutivo) 
Modelo de prototipos 
Desarrollo por etapas 







En Ingeniería de software el desarrollo en cascada, también llamado modelo en cascada, es el enfoque metodológico que ordena rigurosamente las etapas del ciclo de vida del software, de forma tal que el inicio de cada etapa debe esperar a la finalización de la inmediatamente anterior.

Un ejemplo de una metodología de desarrollo en cascada es:
1. Análisis de requisitos 
2. Diseño del Sistema 
3. Diseño del Programa 
4. Codificación 
5. Pruebas 
6. Implantación 
7. Mantenimiento

 
 

El Desarrollo en Espiral es un modelo de ciclo de vida desarrollado por Barry Boehm en 1985, utilizado generalmente en la Ingeniería de software. Las actividades de este modelo se conforman en una espiral, cada bucle epresenta un conjunto de actividades. Las actividades no están fijadas a priori, sino que las siguientes se eligen en función del análisis de riesgo, comenzando por el bucle interior
Determinar o fijar objetivos 

Fijar también los productos definidos a obtener: requerimientos, especificación, manual de usuario. 
Fijar las restricciones. 
Identificación de riesgos del proyecto y estrategias alternativas para evitarlos. 
Hay una cosa que solo se hace una vez: planificación inicial o previa. 
Análisis del riesgo 
Se estudian todos los riesgos potenciales y se seleccionan una o varias alternativas propuestas para reducir o eliminar los riesgos. 
Desarrollar, verificar y validar (probar) 
Tareas de la actividad propia y de prueba. 
Análisis de alternativas e identificación resolución de riesgos.
Planificar 
Revisamos todo lo hecho, evaluándolo, y con ello decidimos si continuamos con las fases siguientes y planificamos la próxima actividad. 






Modelo de prototipos
En Ingeniería de software el desarrollo con prototipación, también llamado modelo de prototipos que pertenece a los modelos de desarrollo evolutivo, se inicia con la definición de los objetivos globales para el software, luego se identifican los requisitos conocidos y las áreas del esquema en donde es necesaria más definición. Entonces se plantea con rapidez una iteración de construcción de prototipos y se presenta el modelado (en forma de un diseño rápido).








Desarrollo por etapas
El modelo de desarrollo de software por etapas es similar al Modelo de prototipos ya que se muestra al cliente el software en diferentes estados sucesivos de desarrollo, se diferencia en que las especificaciones no son conocidas en detalle al inicio del proyecto y por tanto se van desarrollando simultáneamente con las diferentes versiones del código.
Pueden distinguirse las siguientes fases:
Especificación conceptual 
Análisis de requerimientos 
Diseño inicial 
Diseño detallado, codificación, depuración y liberación 
Estas diferentes fases se van repitiendo en cada etapa del diseño.

 



No hay comentarios:

Publicar un comentario