1) Modelo RAD: Es un proceso de desarrollo de software, desarrollado inicialmente por James Martín en 1980. El método comprende el desarrollo iterativo, la construcción de prototipos y el uso de utilidades CASE. Tradicionalmente, el desarrollo rápido de aplicaciones tiende a englobar también la usabilidad, utilidad y la rapidez de ejecución.
El Desarrollo Rápido de Aplicaciones (DRA) (Rapid Application Development RAD) es un modelo de proceso del desarrollo del software lineal secuencial que enfatiza un ciclo de desarrollo extremadamente corto. DRA es una adaptación a "Alta velocidad" en el que se logra el desarrollo rápido utilizando un enfoque de construcción basado en componentes. Si se comprenden bien los requisitos y se limita el ámbito del proyecto, el proceso DRA permite al equipo de desarrollo crear un "sistema completamente funcional" dentro de periodos cortos de tiempo. Cuando se utiliza principalmente para aplicaciones de sistemas de información.
El enfoque DRA comprende las siguientes fases:
A) Modelo de Gestión
B) Modelos de Datos
C) Modelos de Proceso
D) Generación de Aplicaciones
E) Prueba de Entrega.
Fuentes:
http://es.wikipedia.org/wiki/Desarrollo_r%C3%A1pido_de_aplicaciones
http://www.mena.com.mx/gonzalo/maestria/ingsoft/presenta/rad/
2) Modelos Evolutivos: Los evolutivos son modelos iterativos, permiten desarrollar versiones cada vez más completas y complejas, hasta llegar al objetivo final deseado; incluso evolucionar más allá, durante la fase de operación.
Existen dos tipos de desarrollo evolutivo:
A) Desarrollo Exploratorio: El objetivo de este enfoque es explorar con el usuario los requisitos hasta llegar a un sistema final. El desarrollo comienza con las partes que se tiene más claras. El sistema evoluciona conforme se añaden nuevas características propuestas por el usuario.
B) Enfoque utilizando prototipos: El objetivo es entender los requisitos del usuario y trabajar para mejorar la calidad de los requisitos. A diferencia del desarrollo exploratorio, se comienza por definir los requisitos que no están claros para el usuario y se utiliza un prototipo para experimentar con ellos. El prototipo ayuda a terminar de definir estos requisitos.
Fuentes
http://uxmcc1.iimas.unam.mx/~cursos/Objetos/clases3_4.html
3) Metodos Formales: La denominación métodos formales se usa para referirse a cualquier actividad relacionada con representaciones matemáticas del software, incluyendo la especificación formal de sistemas, análisis y demostración de la especificación, el desarrollo transformacional y la verificación de programas. Todas estas actividades dependen de una especificación formal del software. Una especificación formal del software es una especificación expresada en un lenguaje cuyo vocabulario, sintaxis y semántica están formalmente definidos. Esta necesidad de una definición formal significa que los lenguajes de especificación deben basarse en conceptos matemáticos cuyas propiedades se comprendan bien. La rama de las matemáticas usada es la de matemática discreta, y los conceptos matemáticos provienen de la teoría de conjuntos, la lógica y el álgebra.
En la década de los 80, muchos investigadores de ingeniería del software propusieron que el uso de métodos formales de desarrollo era la mejor forma de mejorar la calidad del software. Argumentaban que el rigor y el análisis detallado, que son una parte esencial de los métodos formales, podrían dar lugar a programas con menos errores y más adecuados a las necesidades de los usuarios. Predijeron que, en el siglo XXI, una gran proporción del software estaría desarrollado usando métodos formales. Claramente, esta predicción no se ha hecho realidad. Existen cuatro razones principales para esto:
3) Metodos Formales: La denominación métodos formales se usa para referirse a cualquier actividad relacionada con representaciones matemáticas del software, incluyendo la especificación formal de sistemas, análisis y demostración de la especificación, el desarrollo transformacional y la verificación de programas. Todas estas actividades dependen de una especificación formal del software. Una especificación formal del software es una especificación expresada en un lenguaje cuyo vocabulario, sintaxis y semántica están formalmente definidos. Esta necesidad de una definición formal significa que los lenguajes de especificación deben basarse en conceptos matemáticos cuyas propiedades se comprendan bien. La rama de las matemáticas usada es la de matemática discreta, y los conceptos matemáticos provienen de la teoría de conjuntos, la lógica y el álgebra.
En la década de los 80, muchos investigadores de ingeniería del software propusieron que el uso de métodos formales de desarrollo era la mejor forma de mejorar la calidad del software. Argumentaban que el rigor y el análisis detallado, que son una parte esencial de los métodos formales, podrían dar lugar a programas con menos errores y más adecuados a las necesidades de los usuarios. Predijeron que, en el siglo XXI, una gran proporción del software estaría desarrollado usando métodos formales. Claramente, esta predicción no se ha hecho realidad. Existen cuatro razones principales para esto:
1) una ingeneria del software exitosa
2) cambios en el mercados
3) Ámbito limitado de los métodos formales.
4) Escalabilidad limitada de los métodos formales.
Fuentes:
http://www.rodolfoquispe.org/blog/que-son-los-metodos-formales.php
4) Técnicas de cuarta generación: El termino de técnicas de cuarta generación (T4G) abarca un amplio espectro de herramientas de software ha especificar algunas características de alto nivel. Luego la herramienta genera automáticamente el código fuente basándose en la especificación del técnico. Existe cierto debate sobre cuanto ha de elevarse el nivel en el que se especifique el software para una maquina. El paradigma de T4G para la ingeniería de software se orienta hacia la habilidad de especificar software a un nivel que sea más próximo al lenguaje natural o a una notación que proporcione funciones significativas.
Actualmente un entorno para el desarrollo del software que soporte el paradigma de T4G incluye algunas o todas las siguientes herramientas: lenguajes no procedimentales para consulta a base de datos, generación de informes, manipulación de datos, interacción y definición de pantallas y generación de códigos, capacidades gráficas de alto nivel y capacidad de hojas de calculo. Cada una de estas herramientas existen, pero solo son para dominios de aplicación muy específicos. No existe hoy disponible un entorno de T4G que pueda aplicarse con igual facilidad a todas las categorías de aplicaciones de software. Los tipos mas comunes de generadores de codigo cubren unos o varios de los siguientes aspectos:
4) Técnicas de cuarta generación: El termino de técnicas de cuarta generación (T4G) abarca un amplio espectro de herramientas de software ha especificar algunas características de alto nivel. Luego la herramienta genera automáticamente el código fuente basándose en la especificación del técnico. Existe cierto debate sobre cuanto ha de elevarse el nivel en el que se especifique el software para una maquina. El paradigma de T4G para la ingeniería de software se orienta hacia la habilidad de especificar software a un nivel que sea más próximo al lenguaje natural o a una notación que proporcione funciones significativas.
Actualmente un entorno para el desarrollo del software que soporte el paradigma de T4G incluye algunas o todas las siguientes herramientas: lenguajes no procedimentales para consulta a base de datos, generación de informes, manipulación de datos, interacción y definición de pantallas y generación de códigos, capacidades gráficas de alto nivel y capacidad de hojas de calculo. Cada una de estas herramientas existen, pero solo son para dominios de aplicación muy específicos. No existe hoy disponible un entorno de T4G que pueda aplicarse con igual facilidad a todas las categorías de aplicaciones de software. Los tipos mas comunes de generadores de codigo cubren unos o varios de los siguientes aspectos:
1.-Acceso a base de datos:
2.-Generación de pantallas:
3.-Gestión de entornos gráficos.
4.-Generación de informes.
Fuentes:
http://www.itpuebla.edu.mx/Alumnos/Cursos_Tutoriales/Ana_Sosa_Pintle/SISTEMAS/ARCHIVOS_FUNDAMENTOS/ARCHIVOS/U5_8.htm
http://es.scribd.com/doc/16755657/14/Modelo-de-metodos-formales-y-Tecnicas-de-cuarta-generacion
5) programación externa: La programación extrema es una metodología de desarrollo ligera (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 al rededor 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 como 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.
Fuentes:
6) Nuevas Tendencias: En la actualidad, ya existen software usados por las más importantes mineras del mundo que logran mejores y mayores resultados en el modelamiento geológico, las actividades de planificación minera y la programación completa de la producción con valores agregados, como la colaboración entre diversas soluciones. Por ejemplo, ahora se vinculan en forma directa los equipos mineros en el campo con las oficinas de la mina, permitiendo el control en tiempo real de su estado, producción y asignación dinámica.
Asi mismo, existen soluciones tecnológicas para el negocio minero que atienden e integran procesos relacionados que van desde la extracción del mineral hasta la entrega del producto al cliente; es decir, un software plural de gestión diseñado específicamente para abordar diferentes áreas operacionales del manejo empresarial y que integra sus tres procesos fundamentales:
- Logística: La gestión de la logística de la cadena de suministro, monitoreando la carga y avances del mineral desde la mina hasta al puerto.
- Laboratorio: La administración de la información de laboratorio, reduciendo significativamente los costos de éste y asegurando un cumplimiento concreto a normas y estándares de calidad superior.
- Ventas: El manejo de la documentación contractual del negocio minero; es decir, entrega a los usuarios información actualizada y precisa de documentos, facturas y contratos de clientes, proveyéndoles una visión general de todo el proceso de ventas y marketing de la empresa.
Fuentes