Documentos de Académico
Documentos de Profesional
Documentos de Cultura
De Desarrollo de
Software
Universidad Distrital
Correo electrónico: Tel.: [3239300]
[espingsoftware@udistrital.edu.co] Carrera 7 No. 40B - 53,
Sitio web: [www.udistrital.edu.co] Bogotá D.C., República
de Colombia 11021
2
Modelo de
Prototipos
Capítulo 1
3
TABLA DE CONTENIDO
Autores________________________________________________________ 2
MODELO DE PRÓTOTIPOS ______________________________________ 5
Definición _____________________________________________________________ 5
Características _________________________________________________________ 9
Personajes ___________________________________________________________ 10
Antecedentes del Modelo de Prototipos ____________________________________ 11
Etapas General del Modelo de Prototipo ____________________________________ 12
Comunicación _______________________________________________________ 12
Plan rápido _________________________________________________________ 12
Modelo diseño rápido _________________________________________________ 13
Construcción del prototipo _____________________________________________ 13
Desarrollo, entrega y retroalimentación ___________________________________ 13
Preguntas ____________________________________________________________ 16
BIBLIOGRAFIA _______________________________________________________ 18
4
AUTORES
Ing. Stephania Moreno Vidal
Correo: stefiluna@gmail.com
Cód.: 20192099016
MODELO DE PRÓTOTIPOS
Definición
El modelo de procesos de desarrollo de software basado en prototipos forma parte de los
modelos lineales o secuenciales, los cuales ofrecen grandes facilidades para controlar el
progreso de un proyecto, proponiendo un enfoque sistemático y secuencial para el
desarrollo de software.
Es por esto por lo que se usa un prototipo como modelo auxiliar experimental de un sistema
o de un componente de un sistema que permite realizar pruebas de soluciones parciales
de los requisitos de un sistema. Son un medio eficaz para aclarar los requisitos de los
usuarios e identificar las características que deben cambiar o añadirse y asegurar que el
producto final cumpla con las expectativas previstas. A diferencia de otros modelos de
proceso, el objetivo del modelo basado en prototipos es entender los requerimientos del
usuario y trabajar para mejorar la calidad de estos, comenzando por definir los requisitos
que no están claros para el usuario y usar un prototipo para experimentar con ellos,
permitiendo así ayudar a terminar de definir los requerimientos.
Prototipo Desechable
Prototipo Evolutivo
Características
El modelo de prototipo se caracteriza por:
Personajes
Hassan Gomaa: s profesor de ciencias de la computación e ingeniería de software en la
Universidad George Mason. Gomaa tiene más de treinta años de experiencia en
ingeniería de software, tanto en la industria como en el mundo académico. Ha publicado
más de 170 documentos técnicos y es autor de tres libros: Diseño de líneas de productos
de software con UML; Diseño de aplicaciones concurrentes, distribuidas y en tiempo
real con UML; y métodos de diseño de software para sistemas concurrentes y en tiempo
real. [2]
El modelo de ciclo de vida de prototipos fue propuesto por Gomaa en 1984. Un prototipo es
un mecanismo para identificar los requisitos del software.[3]
12
Comunicación
En esta etapa inicial se tiene una interacción con el cliente para evaluar la petición del
software y determinar si el programa a desarrollar es un buen candidato para construir un
prototipo. Debido a que el cliente debe interaccionar con el prototipo para determinar el
refinamiento del proyecto. [5]
Plan rápido
El software del prototipo se crea, se prueba y se corrigen idealmente todos los posibles
errores, los bloques de construcción de software preexisten se utilizan para crear el
prototipo de una forma rápida y se determina si un prototipo es funcional o no.
Para las aplicaciones interactivas con el usuario, es posible frecuentemente crear un
prototipo en papel que describa la interacción hombre-máquina. [5]
Una vez que el prototipo ha sido probado, se presenta al cliente, el cual "conduce la prueba"
de la aplicación y sugiere modificaciones. Este paso es el núcleo del método de
construcción de prototipo. Es aquí donde el cliente puede examinar una representación
implementada de los requerimientos del programa, sugerir modificaciones que harán al
programa cumplir mejor las necesidades reales. [6]
14
Ventajas Desventajas
Ejemplos de Éxito
Google Glass
Preguntas
10. El modelo de prototipo es mucho más efectivo que el modelo en cascada, ya que de
forma casi inmediata cumple con los requisitos del cliente.
a. Verdadero.
b. Falso.
Respuestas:
1. Verdadero.
2. Todas las anteriores.
3. 1984.
4. Pruebas del Prototipo.
5. Refinamiento del prototipo.
6. Verdadero.
7. Falso.
8. Verdadero.
9. Todas las anteriores.
10. Verdadero.
18
BIBLIOGRAFIA
Modelo DRA
Capítulo 2
20
TABLA DE CONTENIDO
Autores_______________________________________________________ 21
Definición ____________________________________________________________ 22
Fases Del Modelo De Desarrollo Rápido De Aplicaciones ______________________ 23
Características ________________________________________________________ 24
Personajes ___________________________________________________________ 26
Ejemplos ____________________________________________________________ 27
Casos De Estudio _____________________________________________________ 27
Herramientas _________________________________________________________ 29
Ventajas y Desventajas _________________________________________________ 30
Ventajas ___________________________________________________________ 31
Desventajas ________________________________________________________ 32
PREGUNTAS _________________________________________________________ 34
BIBLIOGRAFÍA ________________________________________________ 37
21
AUTORES
Ing. Jorge Mario Perez /osorio
Correo: jmperezosorio17@gmail.com
Cód.: 20192099018
RAD se enfatiza en la entrega del proyecto en pequeñas piezas, entre más grande sea
proyecto es dividido en una serie de pequeños proyectos, unas principales características
es que se enfoca en el rehusó de plantillas, herramientas procesos y código [22].
23
Características
Las características del Modelo RAD pueden categorizarse así [5]:
Herramientas Especializadas
Personajes
Las ideas de Martin fueron desarrolladas y mejoradas por pioneros de RAD como James
Kerr y Richard Hunter, quienes juntos escribieron el libro seminal sobre el tema, Inside RAD,
que siguió el viaje de un gerente de proyecto RAD mientras conducía y refinaba el RAD
Metodología en tiempo real en un proyecto RAD real. Estos profesionales, y aquellos como
ellos, ayudaron a RAD a ganar popularidad como una alternativa a los enfoques de ciclo de
vida de proyectos de sistemas tradicionales [23, 24].
27
Ejemplos
El enfoque RAD ofrece grandes beneficios a un equipo que está familiarizado con la filosofía
ágil, tiene un proyecto relativamente pequeño para implementar y tiene clientes o usuarios
dispuestos a comprometerse a ser parte de todo el proyecto de desarrollo [25].
Más recientemente, el término y sus siglas se han utilizado en un sentido genérico más
amplio que abarca una variedad de técnicas destinadas a acelerar el desarrollo de
aplicaciones, como el uso de marcos de aplicaciones web y otros tipos de marcos de
software [26].
Casos De Estudio
D. Dinadasa
El Desarrollo rápido de aplicaciones (RAD) utilizado originalmente para describir un
proceso de desarrollo de software desarrollado por primera vez e implementado con éxito
a mediados de la década de 1970 por D. Dinadasa en el Centro de Desarrollo de Sistemas
de Getahetta Telephone Co bajo la dirección de Dan Gielan. Tras una serie de
implementaciones notablemente exitosas de este proceso, Gielan dio numerosas
conferencias en varios foros sobre la metodología, la práctica y los beneficios de este
proceso [27].
BT/Face
El proyecto se llevó a cabo en el contexto de una gran empresa de servicios públicos
privados en el Reino Unido. El sistema constaba de un diario, un módulo de gestión de
proyectos y un "manual" de gestión de proyectos. Al aplicar RAD, este proyecto fue, por lo
tanto, inusual al usar editores HTML y el lenguaje de script PERL UNIX como herramientas
de desarrollo primarias en comparación con el lenguaje de cuarta generación, ingeniería de
software asistida por computadora (CASE), sistema de administración de bases de datos
(DBMS) tipo de kit de herramientas [28].
Barclays
Es una institución financiera del Reino Unido que dirige un gran centro de desarrollo en el
Reino Unido con 3000 empleados. En este centro, si bien el centro de desarrollo tenía
control general sobre grandes proyectos de desarrollo, carecía de control sobre proyectos
29
de pequeña a mediana escala. Por lo tanto, los miembros del nuevo grupo de tecnología
dentro del centro de desarrollo de Barclays propusieron RAD como una posible forma de
corregir este problema. Esencialmente, el equipo de desarrollo utilizó una herramienta de
procesamiento analítico en línea (OLAP) para desarrollar un sistema de información
ejecutiva (EIS) [28].
UGCS
Este proyecto se realizó en el contexto de una pequeña organización comercial que emplea
aproximadamente a cuarenta personas. El negocio principal de la empresa es vender y
ofrecer cursos de capacitación para el comercio y la industria. Antes de este proyecto, la
organización no tenía experiencia interna en TI. La intención de este proyecto era
desarrollar un sistema de información para apoyar el trabajo del equipo de ventas y
marketing de la organización. Cuando se llevó a cabo el proyecto, ambos miembros del
equipo de desarrollo no tenían experiencia previa en RAD. Lo interesante de este proyecto
es, la forma en que el proyecto falló en algunos aspectos clave de idoneidad para RAD. Por
ejemplo, el equipo de desarrollo no tenía experiencia previa en métodos o herramientas
RAD, los requisitos no estaban claros y el grupo de usuarios estaba inicialmente mal
definido. Además los representantes de los usuarios se comprometieron con el proceso de
revisión y comentarios del usuario muy pronto en el proceso [28].
Universidad de Glamorgan
Este proyecto se realizó en el contexto de una universidad del Reino Unido. La universidad
utiliza sistemas de información poco sistemáticos para apoyar los procesos organizativos
básicos de enseñanza, investigación y consultoría. El equipo de desarrollo estaba formado
por dos desarrolladores y dos representantes de usuarios. A pesar de que algunos
miembros del proyecto tenían experiencia previa en RAD (experiencia en el uso de
prototipos y herramientas de desarrollo rápido), el proyecto satisfizo las necesidades de la
Universidad [28].
Herramientas
Ventajas y Desventajas
Ventajas
Mejor calidad. Al hacer que los usuarios interactúen con prototipos en evolución, la
funcionalidad empresarial de un proyecto RAD a menudo puede ser mucho mayor. El
software puede ser más utilizable y tiene una mejor oportunidad de enfocarse en
problemas críticos para los usuarios finales en lugar de problemas técnicos de interés
para los desarrolladores.
Control del riesgo. Aunque gran parte de la literatura sobre RAD se centra en la
velocidad y la participación del usuario, una característica crítica de RAD realizada
correctamente es la mitigación de riesgos. Un enfoque RAD puede enfocarse temprano
en los factores de riesgo clave y ajustarse a ellos con base en la evidencia empírica
recolectada en la primera parte del proceso.
Más proyectos terminados a tiempo y dentro del presupuesto. Al centrarse en el
desarrollo de unidades incrementales, se reducen las posibilidades de fallas
32
Desventajas
Al igual que con otros tipos de creación de prototipos, las dificultades con RAD surgen
debido a que los analistas de sistemas tratan de apurar demasiado el proyecto [34]. Otras
de las desventajas de RAD incluyen:
No todos los tipos de aplicaciones son apropiados para DRA. Si un sistema no se puede
modularizar adecuadamente, la construcción de los componentes necesarios para DRA
será problemático. Si está en juego el alto rendimiento, y se va a conseguir el
rendimiento convirtiendo interfaces en componentes de sistemas, el enfoque DRA
puede que no funcione. DRA no es adecuado cuando los riesgos técnicos son altos.
Esto ocurre cuando una nueva aplicación hace uso de tecnologías nuevas, o cuando el
software nuevo requiere un alto grado de interoperatividad con programas de
computadora ya existentes [40, 41].
Ventajas Desventajas
Flexible y adaptable a los cambios. No se puede utilizar para proyectos más
pequeños.
Es útil cuando tiene que reducir el riesgo No todas las aplicaciones son compatibles
general del proyecto. con RAD
Es adaptable y flexible a los cambios. Cuando el riesgo técnico es alto, no es
adecuado.
Es más fácil transferir entregas a medida Si los desarrolladores no se comprometen
que se utilizan scripts, abstracciones de a entregar el software a tiempo, los
alto nivel y códigos intermedios. proyectos RAD pueden fallar
Debido a los generadores de código y la Funciones reducidas debido al tiempo de
reutilización del código, hay una reducción boxeo, donde las funciones se envían a una
de la codificación manual. versión posterior para finalizar un
lanzamiento en un período corto
Debido a la creación de prototipos en la La escalabilidad reducida ocurre porque
naturaleza, existe la posibilidad de defectos una aplicación desarrollada por RAD
menores. comienza como un prototipo y evoluciona
hacia una aplicación terminada
Cada fase en RAD ofrece la funcionalidad El progreso y los problemas
de mayor prioridad al cliente. acostumbrados son difíciles de rastrear, ya
que no hay documentación que demuestre
lo que se ha hecho.
Con menos personas, la productividad se Requiere diseñadores o desarrolladores
puede aumentar en poco tiempo. altamente calificados
34
PREGUNTAS
d. Múltiples lenguajes.
6. El proceso de Iteración en el Modelo RAD satisface una serie de actividades hasta
acabar. Seleccione cuál actividad no corresponde al modelo en cuestión:
a. Los desarrolladores construyen y depuran el prototipo basado en los
requisitos actuales.
b. Los diseñadores no revisan el prototipo.
c. Los clientes prueban el prototipo, depuran los requisitos.
d. Los clientes y desarrolladores se reúnen para revisar juntos el producto,
refinar los requisitos y generar solicitudes de cambios.
7. ¿Cuál de las siguientes herramientas de Software, conocidas por su implementación
del Modelo RAD, no hace parte de este grupo?
a. Glade
b. Visual Studio
c. OutSystems
d. Java
8. ¿Por qué se considera como una ventaja del Modelo RAD, respecto a sus similares,
que proporciona Mejor calidad?
a. Debido a que al hacer que los usuarios interactúen, el software puede ser más
utilizable y tiene una mejor oportunidad de enfocarse en problemas
comerciales que son críticos para los usuarios finales.
b. Porque excluye otras categorías de lo que generalmente se conoce como
requisitos no funcionales que incluyen seguridad y portabilidad.
c. Se enfoca en problemas comerciales que son críticos para los problemas
técnicos de interés para los desarrolladores.
d. No se puede utilizar para proyectos más pequeños.
9. ¿Es el Modelo RAD caracterizado por dar prioridad a la mitigación de riesgos?
a. Aunque gran parte de la literatura sobre RAD se centra en la velocidad y la
participación del usuario, una característica de RAD no es la mitigación de
riesgos.
b. Un enfoque RAD puede enfocarse temprano en los factores de riesgo clave y
ajustarse a ellos con base en la evidencia empírica recolectada en la primera
parte del proceso.
c. La complejidad de crear prototipos de algunas de las partes más complejas
del sistema, no garantiza la mitigación de riegos según la confiabilidad del
modelo.
d. Ninguna de las anteriores.
10. ¿Cuál de las siguientes es una desventaja del Modelo RAD?
36
PREGUNTA RESPUESTA
1 D
2 D
3 C
4 A
5 C
6 B
7 D
8 A
9 B
10 C
37
BIBLIOGRAFÍA
[1] I. Pilar Alexandra Moreno, I. Alexandra Aparicio Revisado Editado, and I. Jairo Martínez,
“Ingeniería de Software,” 2012.
[2] J. A. Millán Goméz, “Definición Ténicas de Cuarta Generación.” Universidad Distrital,
Bogota,Colombia, p. 1, 2019.
[3] N. X. Ceferino Orjuela, “Categorías Técnicas de Cuarta Generación.” Universidad Distrital,
Bogota,Colombia, p. 1, 2019.
[4] N. X. Ceferino Orjuela, “Caracteristicas Técnicas de Cuarta Generación.” Universidad
Distrital, p. 1, 2019.
[5] J. A. M. Gomez, “Personajes Técnicas de Cuarta Generación.” Universidad Distrital,
Bogota,Colombia, p. 1, 2019.
[6] J. A. Millán Goméz, “Antecedentes Técnicas de Cuarta Generación.” Universidad Distrital,
Bogota,Colombia, p. 1, 2019.
[7] E. Gómez Vargas, “Ingeniería de Software.” Universidad Distrital, Bogota,Colombia, p. 94,
2016.
[8] J. A. Millán Goméz, “Etapas Técnicas de Cuarta Generación.” Universidad Distrital,
Bogota,Colombia, p. 1, 2019.
[9] J. A. Millán Goméz, “Ventajas y Desventajas Técnicas de Cuarta Generación.” Universidad
Distrital, Bogota,Colombia, p. 1, 2019.
[10] J. Pradel Miquel and J. Raya Matos, “Introducción a la ingeniería de software.” UNISTMO,
Mexico, p. 84, 2011.
[11] J. A. Millán Goméz, “Ejemplos Ténicas de Cuarta Generación.” Universidad Distrital,
Bogota,Colombia, p. 1, 2019.
[12] F. Phillips, “Review: Wolfram Mathematica 7,” MacWorld, 2009. [Online]. Available:
https://www.macworld.com/article/1138219/mathematica_7.html.
[13] F. A.Morteo and B. L.E, UN ENFOQUE PRACTICO DE SQL, Primera. Argentina: Ediciones
Cooperativas, 2004.
[14] J. Sadd, “OpenEdge Development : Progress 4GL Handbook,” EE.UU, 2005.
[15] P. Lannigan, “PowerBuilder History, Powersoft History,” lannigan, 2014. [Online]. Available:
http://www.lannigan.org/powersoft_powerbuilder_history.htm.
[16] G. Rifkin, “Sybase To Acquire Powersoft,” The New York Times, 1994. [Online]. Available:
https://www.nytimes.com/1994/11/15/business/sybase-to-acquire-powersoft.html.
[17] V. Ashlee, “SAP to Buy Sybase, Ally in Software,” The New York Times, 2010. [Online].
Available:
https://www.nytimes.com/2010/05/13/technology/13sap.html?mtrref=www.google.com&gwh
=7AE51C1CFF7DFF82E21B14F95420B74F&gwt=pay&assetType=REGIWALL.
[18] M. Berner, “Appeon Signs Agreement with SAP to Bring Major Innovations to PowerBuilder,”
Cision, 2016. [Online]. Available: https://www.prnewswire.com/news-releases/appeon-signs-
agreement-with-sap-to-bring-major-innovations-to-powerbuilder-300291905.html.
[19] A. Iglesias Fraga, “Cuando un ERP falla: 5 escenarios de caos motivados por errores de
implementación,” TICbeat, 2017. [Online]. Available:
https://www.ticbeat.com/tecnologias/cuando-un-erp-falla-5-escenarios-de-caos-motivados-
por-errores-de-implementacion/.
[20] J. Martin, Rapid application development. Macmillan Pub. Co., 1991.
[21] “Rapid Application Development: Definition, Steps, Advantages and Case Study.” [Online].
Available: https://kissflow.com/rad/rapid-application-development/. [Accessed: 22-Sep-
2019].
[22] “What is RAD Model? Advantages & Disadvantages.” [Online]. Available:
https://www.guru99.com/what-is-rad-rapid-software-development-model-advantages-
disadvantages.html. [Accessed: 22-Sep-2019].
[23] “DRA :: Modelos.” [Online]. Available: https://modelosdesoftware.webnode.es/dra/.
[Accessed: 22-Sep-2019].
[24] Martin, James (1991). Rapid Application Development. Macmillan. ISBN 0-02-376775-8.
[25] J.M. Kerr; R. Hunter(1993). Inside RAD: How to Build a Fully Functional System in 90 Days
or Less. McGraw-Hill. ISBN 0-07-034223-7.
[26] Kissflow.com. Rapid Application Development: How Developers Work. Tomado
38
Modelo Evolutivo
Capítulo 3
40
7. EJEMPLOS................................................................................................................ 50
8. CASOS EXITOSOS .................................................................................................. 51
AUTORES
MODELO EVOLUTIVO
1. DEFINICIÓN
El Modelo Evolutivo está diseñado explícitamente para adaptarse a un producto que evoluciona con
el tiempo. Los modelos evolutivos son iterativos; genera en cada iteración una versión final cada vez
más completa del software. [1]
Figura 2.
Flujo de proceso evolutivo
43
2. CARACTERÍSTICAS
3. HISTORIA
La década de los 40 marca el inicio de la primera generación de computadoras y con ellas la serie
de programas y sistemas que éstas requieren para funcionar, las primeras prácticas de desarrollo
se basaban únicamente en desarrollar de cualquier forma con tal de cumplir los requerimientos del
cliente sin seguir una metodología, esto acarreaba una gran cantidad de problemas de costos,
tiempos, talento humano. Posterior a esto surgen los lenguajes de programación, en tres
generaciones diferentes, una primera generación es lenguaje de máquina, la segunda lenguaje
ensamblador. La tercera lenguajes de programación de alto nivel. A pesar de que en ese momento
se empieza a hablar de analistas programadores y de sistemas, no se tenía una manera clara de
controlar los avances de los proyectos, no existían fases especificas durante el mismo. A finales de
los 60, marca el inicio de una concienciación sobre la necesidad de establecer controles para el
correcto avance de los sistemas, así como la necesidad de documentación. El primer modelo
conocido como “Code and Fix” o codificar y corregir el cual se consideró como una base inicial
para la fabricación del Software, en cuanto al diseño, codificación, la depuración y los métodos de
prueba, hasta el entregable.
En 1968, tras una conferencia en Garmisch (Alemania) surge el término “Ingeniería del Software”
pero los métodos de desarrollo aún eran informales. En 1972 Edsger Dijkstra, presenta su trabajo
titulado “The Humble Programmer” y junto a otros autores publicaría luego el artículo “Go to
44
statement considered harmful”, junto a su libro “Discipline of Programming”, y sienta las bases
para la creación de las metodologías tradicionales conocidas y aún usadas hasta hoy, además, de
ciertos parámetros para el desarrollo del Software de forma exitosa que, algunos de sus postulados
son:
El coste del desarrollo inicial debe ser relativamente bajo.
El software debe ser fácil de mantener.
Cualquier desarrollo debe de ser portable a nuevo hardware.
El software debe hacer lo que el cliente quiere.
El desarrollo de programas mediante top-down y en contraposición a bottom-up.
El desarrollo debe seguir un conjunto de pasos formales para descomponer los
problemas grandes (lema divide y vencerás).
En 1975 reconocen el clico de vida del desarrollo del Software, como un consenso formal para la
construcción de sistemas, así que define los estados por los que debe pasar un producto de desarrollo
desde su inicio a partir de un requerimiento, hasta su finalización luego de su mantenimiento. Las
fases son: Necesidades, Diseño, Desarrollo, Prueba, Lanzamiento, y Mantenimiento
Para finales de los 70, la ingeniería del Software se refuerza mediante la implementación de
“modelos” que dividen el proyecto en etapas: inicio, desarrollo, pruebas, lanzamiento y
mantenimiento. Para cada etapa se crean normativas y parámetros. Aparecen entre 1970 y 1988 los
“modelos tradicionales de desarrollo de software.” (Cascada, desarrollo evolutivo, componentes)
[5].
Modelos de DS Metodologías Tradicionales de DS
Modelo de Cascada RUP (Rational Unified Process)
Modelo Cascada en “V” RAD (Rapid Application Development)
Modelo de Desarrollo Evolutivo (Espiral) MSF (Microsoft Solution Framework)
Modelo de Desarrollo Evolutivo por Prototipo Ingeniería de la información
Structured System Analysis and Design
Desarrollo Evolutivo por etapas o Incremental Method (SSADM)
Desarrollo Evolutivo Iterativo Win-Win Spiral Model
Modelo Basado en Componentes Iconix
Desarrollo de sistemas de Jackson
(JSD).
Tabla 1. Modelos DS y Metodologías Tradicionales de DS
MODELO ESPIRAL: El creador del modelo en espiral fue Barry Boehm quien recibió su
grado de B.A. de Harvard en 1957, y sus grados de M.S. y de Ph.D. de UCLA en 1961 y 1964,
en matemáticas. Uno de sus aportes fue el modelo espiral del proceso del software. El cual
lo dio a conocer en 1986 en su artículo “A Spiral Model of Software Development and
Enhancement” Boehm.
45
MODELO INCREMENTAL: Propuesto por lls en 1980. Sugirió el enfoque como un método
para reducir la repetición del trabajo durante el proceso de desarrollo y de esta forma
retrasar la toma de decisiones en los requisitos para adquirir experiencia con el sistema.
4. PERSONAJES
5. FASES
Entre los modelos de proceso evolutivo, como se mencionó anteriormente se encuentran el modelo
por prototipos y el modelo espiral. Cada uno de estos modelos tiene sus propias fases como se muestra
a continuación:
6. VENTAJAS Y DESVENTAJAS
7. EJEMPLOS
8. CASOS EXITOSOS
8.2 Skandia
2. ¿En qué año se reconoce el ciclo de vida del desarrollo del Software?
A. 1976
B. 1981
C. 1975
D. 1973
4. En un flujo del Proceso Evolutivo las actividades se realizan en forma lineal y secuencial,
permitiendo llevar a una versión más completa del software.
A. Verdadero
B. Falso
8. En el Modelo Espiral se puede llegar a perder tiempo al iniciar nuevamente con una iteración
A. Verdadero
B. Falso
10. Relacione el tipo del modelo que corresponde al enfoque reducir la repetición del trabajo en el
proceso de desarrollo y dar oportunidad de retrasar la toma de decisiones en los requisitos hasta
adquirir experiencia con el sistema.
A. Modelo por Prototipos
B. Modelo Espiral
C. Modelo Incremental
PREGUNTA RESPUESTA
1 B
2 C
3 E
4 B
5 C
6 D
7 C
8 A
9 C
10 C
11. REFERENCIAS
[1] Roger S. Pressman. (2010). Ingeniería Del Software I, un enfoque práctico. México D.F.
McGraw-Hill.
[2] Ingeniería de Software (2011), Modelos de procesos evolutivos de software. Recuperado de
https://ingenieriasoft.webcindario.com.
[3] Ingeniería de Software I. (2010, Agosto 16). Recuperado de
http://jorgetrejos.blogspot.com/2010/08/modelo-evolutivo.html
[4] Recuperado de https://sites.google.com/site/is11801/contenido/modelos-de-proceso-evolutivo
[5] Evolución de las Metodologías y Modelos utilizados en el Desarrollo de Software - Johanna
Patricia Zumba Gamboa Cecibel Alexandra León Arreaga - Universidad de Guayaquil - INNOVA
Research Journal 2018, Vol 3, No. 10, 20-33
Métodos formales
Capítulo 4
56
TABLA DE CONTENIDO
Autores_______________________________________________________ 57
METODOS FORMALES _________________________________________ 58
1. Definición __________________________________________________________ 58
2. Historia ____________________________________________________________ 59
3. ¿Para qué métodos formales? __________________________________________ 60
4. Personajes _________________________________________________________ 60
a) Especificaciones formales:___________________________________________ 62
b) Pruebas formales: _________________________________________________ 63
c) Comprobación de modelo: ___________________________________________ 63
d) Abstracción: ______________________________________________________ 63
6. Características ______________________________________________________ 63
7. Ventajas y desventajas _______________________________________________ 64
8. Casos de éxito y no éxito ______________________________________________ 65
AUTORES
Ing. Carlos Alberto Beltrán Melo
Correo: cbeltranm16@gmail.com
Cód.: 20192099002
METODOS FORMALES
1. Definición
En su libro Software Quality Engineering: A Practitioner’s Approach, Pressman define los
métodos formales como:
El modelo de métodos formales agrupa actividades que llevan a la especificación
matemática formal del software de cómputo. Los métodos formales permiten especificar,
desarrollar y verificar un sistema basado en computadora por medio del empleo de una
notación matemática rigurosa.
Cuando durante el desarrollo se usan métodos formales, se obtiene un mecanismo para
eliminar muchos de los problemas difíciles de vencer con otros paradigmas de la
ingeniería de software. Lo ambiguo, incompleto e inconsistente se descubre y corrige con
más facilidad, no a través de una revisión ad hoc sino con la aplicación de análisis
matemático. Si durante el diseño se emplean métodos formales, éstos sirven como base
para la verificación del programa, y así permiten descubrir y corregir errores que de otro
modo no serían detectados [1].
Aunque el modelo de los métodos formales no es el más seguido, promete un software
libre de defectos y ha ganado partidarios entre los desarrolladores que deben construir
software de primera calidad en seguridad (por ejemplo, control electrónico de aeronaves y
equipos médicos), y entre los desarrolladores que sufrirían graves pérdidas económicas si
ocurrieran errores en su software.
Ejemplo:
59
2. Historia
El uso de las matemáticas para la resolución de problemas cotidianos del hombre se
remonta a las primeras civilizaciones de la humanidad, de igual manera los métodos
formales tienen sus orígenes en la antigua Grecia a continuación, se describe una breve
historia de los métodos formales.
Los métodos formales se remontan a la antigua Grecia con Euclides quien definió la
geometría a través de un método axiomático, donde se comienza con un axioma o
postulado, que tomamos como evidente, y usamos la lógica para razonar hacia nuestro
teorema usando "reglas" que previamente habían demostrado ser verdaderas. Si siempre
aplicamos solo las transformaciones lógicas permitidas, entonces la conclusión a la que
llegamos al final, nuestro teorema, debe ser correcta.
Los métodos formales para la ingeniería de sistemas informáticos funcionan de la misma
manera.
En ciencias de la computación, los métodos formales comenzaron, sobre una base
teórica, a fines de los años sesenta y principios de los setenta, cuando el uso
generalizado de la informática todavía estaba en pañales. Los matemáticos teóricos
observaban la programación de computadoras, todavía relativamente simple en ese
momento, y observando su estructura matemática vieron la opción de aplicar la teoría de
conjuntos.
A Tony Hoare se le atribuye generalmente la introducción de métodos formales a la
informática con su artículo An Axiomatic Basis for Computer Programming y su invención
de la lógica Hoare. La lógica Hoare y métodos formales similares funcionan de manera
muy similar al álgebra. Incluso hacen uso de leyes algebraicas, como las propiedades
asociativas, conmutativas y distributivas. Aplica la misma transformación en ambos lados
del signo igual, y ambos lados de la ecuación permanecen iguales.
Los métodos formales no ganaron mucha acogida con la industria hasta la década de
1990. Antes de eso, las computadoras y los programas de computadora eran
relativamente simples, mientras que los métodos formales eran primitivos y difíciles de
aplicar. Las pruebas siguieron siendo el medio más eficiente de verificación del sistema.
Luego, los errores de programación comenzaron a poner a las empresas en serios
problemas.
La aplicación de los métodos formales ha tardado en madurar. De hecho, todavía están
evolucionando. Por ahora, es bastante difícil aplicar métodos formales al código fuente
completo de aplicaciones integradas a
60
gran escala. Convertir archivos fuente grandes y complejos, como un programa de control
de vuelo, por ejemplo, en un lenguaje de métodos formales sigue siendo una tarea
desalentadora, ardua y que consume mucho tiempo [3].
4. Personajes
Robert Floyd
Fue un científico informático de natalidad estadounidense que durante su vida realizo
numerosas investigaciones que sirvieron de gran influencia en la industria del
software,fue quien propuso utilizar el “método de aserciones intermedias” como
herramienta para analizar y estudiar propiedades de software, a su vez le brindo
importancia de definir la semántica de las operaciones.(“Professor
Robert W. Floyd | Stanford Computer Science,” n.d.)
61
Edsger Dijkstra
Fue un científico en computación de los países bajos, siempre considero realizar una
carrera en derecho y representar a su país en las naciones unidas, pero en 1965 dios sus
primeros pasos profesionales en las ciencias de la computación, creador del algoritmo de
Dijkstra, la rotación polaca inversa y el relacionado algoritmo shutingYard, en 1976
Presento algo denominado “Precondición más débil” el cual es un método formal con
base a la transformación de predicados.(“Edsger Dijkstra | IEEE
Computer Society,” n.d.)
a) Especificaciones formales:
Traducción de una descripción no matemática
(diagramas, tablas, texto) a un lenguaje de especificación forma
Descripción concisa del comportamiento de alto
nivel y las propiedades de un sistema
63
b) Pruebas formales:
Argumento completo y convincente para la validez
de alguna propiedad de la descripción del sistema.
Construido como una serie de pasos, cada uno de
los cuales se justifica a partir de un pequeño conjunto de reglas.
Elimina la ambigüedad y la subjetividad
inherentes al extraer conclusiones informales.
Puede ser manual pero generalmente construido
con asistencia automatizada.
c) Comprobación de modelo:
Operativo en lugar de analítico
El modelo de máquina de estado de un sistema se
expresa en un lenguaje adecuado.
El verificador de modelos determina si el modelo
de máquina de estado finito determinado satisface los requisitos expresados
como fórmulas en un método lógico dado.
El objetivo es explorar todas las rutas
accesibles en un árbol computacional derivado del modo de máquina de estado.
d) Abstracción:
Simplifique e ignore los detalles irrelevantes.
Enfoque y generalice las propiedades y características centrales importantes.
Evite el compromiso prematuro con las opciones de diseño e implementación.
6. Características
El modelo de métodos formales agrupa actividades que llevan a la
especificación matemática:
Permitir especificar, desarrollar y verificar los sistemas en forma sistemática.
Reducir considerablemente la cantidad de errores mientras el Software se diseña y
construye.
Describe las propiedades del Sistema.
Consistencia, completitud y falta de ambigüedad.
64
7. Ventajas y desventajas
A continuación se detallan las ventajas y desventajas que presenta el uso del método
formal.
65
Seguridad de un aeropuerto
La seguridad en la aviación civil se rige por normas internacionales y practicas
recomendadas. Un elemento clave en la seguridad de la aviación es la seguridad del
aeropuerto, que impide que puedan llevarse a bordo de un avión, armas y otros objetos
peligrosos. La calidad de la seguridad de los aeropuertos depende de:
La calidad de normas.
La conformidad de un aeropuerto dado a estas normas.
El nombre que recibió este proyecto fue EDEMOI, su objetivo es la aplicación de técnicas
de modelado de la comunidad de ciencias de la computación para abordar los problemas,
se basa en modelos gráficos UML y métodos formales, se centra en el modelado de las
normas de todos los aeropuertos internacionales de la aviación comercial, Los métodos
formales ayudaron a realizar un análisis más detallado evaluando la calidad de la norma
mientras que la generación de pruebas abordó el problema de conformidad.
Este proyecto ha demostrado que las técnicas dedicadas al modelado, análisis y pruebas
de la seguridad se pueden aplicar a otras áreas, es un caso de éxito en el que con el uso
de los métodos formales se modelan los estándares que regulan la seguridad de un
aeropuerto.
Casos de no éxito
La industria del software tiene una larga y bien ganada reputación de no cumplir sus
promesas y, a pesar de más de 60 años de progreso, tiene años -incluso décadas- por
debajo de la madurez necesaria que requiere para satisfacer las necesidades de la
naciente Sociedad del Conocimiento.
Goguen (1997) cita
algunas estimaciones de los gastos que generan los fracasos del desarrollo de software,
los calculó en 81 mil millones de dólares para 1995 y en 100 mil millones para 1996;
posteriormente (1999), llamaba la atención sobre la cancelación del contrato de 8 mil
millones de dólares a The International Business Machines -IBM- por la FAA -The Federal
Aviation Administration-, para el diseño de un sistema de control aéreo para toda la
nación; y del contrato del DOD -United States Department of Defense-, a la misma IBM,
por $2 mil millones
para modernizar su sistema de información; del fallo del software para la entrega en
tiempo real de datos en las Olimpiadas de 1996; y del año y medio de retraso en el
sistema para el manejo automatizado de equipaje en el aeropuerto de Denver para United
Airlines, con un costo de $1,1 millones diarios. En su libro, Neumann (1994) revela que
estos problemas no son en absoluto nuevos, aunque parece que se incrementan; incluso
67
Bibliografía
[1] R. S. Pressman, Software Quality Engineering: A Practitioner’s Approach, vol.
9781118592. 2014.
[2] E. Serna and M. Candidato, “Métodos formales e Ingeniería de Software
Formal ethods and Software Engineering Méthodes formelles et génie logiciel,” no. 30,
pp. 158–184, 2010.
[3] “It’s Time to Start Using Formal Methods for Engineering Embedded Systems - QRA
Corp.” [Online]. Available: https://qracorp.com/formal-methods-engineering-embedded-
systems/. [Accessed: 29-Sep-2019].
[4] “Métodos formales para Ingeniería de Software ” [Online].
Available: http://cs.uns.edu.ar/~gis/mf14/downloads/Clases%20Teoria/Clase01(byn).pdf.
[Accessed: 29-Sep-2019].
[5] “Formal methods and Software Engineering ” [Online].
Available: https://wwwhome.ewi.utwente.nl/~langerak/fmse/fmse.pdf [Accessed: 29-Sep-
2019].
Edsger
Dijkstra | IEEE Computer Society. (n.d.). Retrieved September 28, 2019,
from https://www.computer.org/profiles/edsger-dijkstra
Professor
Robert W. Floyd | Stanford Computer Science. (n.d.). Retrieved
September 28, 2019, from https://cs.stanford.edu/memoriam/professor-robert-w-floyd
69
Técnicas de
cuarta generación
Capítulo 5
70
TABLA DE CONTENIDO
Autores_______________________________________________________ 71
TECNICAS DE 4 GENERACIÓN (T4G) _____________________________ 72
Definición ____________________________________________________________ 72
Categorías ___________________________________________________________ 73
Características ________________________________________________________ 74
Personajes ___________________________________________________________ 75
Antecedentes T4G _____________________________________________________ 76
Etapas T4G __________________________________________________________ 77
Ventajas ___________________________________________________________ 81
Desventajas ________________________________________________________ 81
Cuestionario __________________________________________________________ 88
Preguntas __________________________________________________________ 88
Respuestas_________________________________________________________ 89
BIBLIOGRAFIA _______________________________________________________ 90
71
AUTORES
Ing. Jorge Armando Millán Gómez
Correo: jamillan94@gmail.com
Cód.: 20192099015
Categorías
Los lenguajes de cuarta generación se dividen en dos categorías. La primera categoría
consiste en aquellos que fueron diseñados y usados principalmente por profesionales de
informática, para el desarrollo de aplicaciones para la producción. Estos tienden a ser
menos “amigables con el usuario” y están orientados a la ejecución, a la integridad de los
datos, así como a la seguridad y su actualización a altas velocidades.
Características
Están más cerca del lenguaje natural
Combinan características procedimentales y no procedimentales
Hacen cálculos sin que el programador tenga que especificar los algoritmos
adecuados
Permiten especificar condiciones con sus correspondientes acciones
Aparecieron a fines de la década de los setentas
Se aplican a problemas específicos y emplean sistemas de bases de datos o
archivos no estándar
Deben utilizar el software estándar del sistema que se emplea en su medio
ambiente, especialmente para servicios de comunicaciones de datos o bien
deben reemplazar completamente los sistemas previos
Personajes
James Martin: Consultor de tecnologías de la información y escritor británico. Utiliza el
término de T4G por primera vez en su libro “Applications Development Without
Programmers”.
Peter Coad: Empresario de software y autor de libros sobre programación, entre otros,
enfocados al software orientado a objetos. Es un desarrollador de aplicaciones sin fines
de lucro, cofundador y presidente de TheBible.org, y es un partidario de la metodología
liviana llamada FDD desarrollada junto con Jeff DeLuca y Eric Lefebvre.
Jeff DeLuca: Es un estratega global de tecnologías de la información y un importante
autor en el campo de la metodología de desarrollo de software. Trabajó en IBM
durante 11 años, desarrolló software de red para conectar diferentes tipos de sistemas
informáticos. Es considerado el arquitecto principal de FDD.
Donald Chamberlin: Es un científico informático, reconocido por ser uno de los
principales diseñadores de la especificación original del lenguaje SQL, y su
investigación en bases de datos relacionales, junto con Raymond Boyce.
Antecedentes T4G
Los antecedentes que dieron pauta para la creación del modelo T4G se observan a
continuación:
1960: Se crea el RPG (Report Program Generator) de IBM en cual fue uno de los
primeros lenguajes que podrían llamarse iniciadores primitivos de la categoría 4GL.
1982: James Martin utiliza el término de lenguaje de cuarta generación (4GL) para
referirse a los lenguajes de alto nivel no procedimentales.
1985: Nantucket Corporation crea Clipper sus utilidades para manejo de base de
datos, tales como la de creación de tablas se entregaban con el código fuente escrito
e incluido, el usuario podía adaptarlas a sus necesidades si quería
1986: IBM lanza SQL (Structured Query Language) el cual es un lenguaje declarativo
no procedimental que, gracias a su fuerte base teórica y su orientación al manejo
de conjuntos una sola sentencia puede equivaler a uno o más programas que se
utilizarían en un lenguaje de bajo nivel orientado a registros.
1990: Eric Lefebvre y Jeff DeLuca crean el método ágil FDD (Feature Driven
Development) en donde no se hace énfasis en la obtención de los requerimientos
sino en cómo se realizan las fases de diseño y construcción preocupándose por la
calidad, por lo que incluye un monitoreo constante del proyecto.
Etapas T4G
El modelo de procesos de técnicas de cuarta generación consta de las siguientes
etapas[7]:
Recolección de requerimientos
La T4G comienza con el paso de reunión de requisitos. Idealmente, el cliente describe los
requisitos, que son, a continuación, traducidos directamente a un prototipo operativo. Sin
embargo, en la práctica no se puede hacer eso. El cliente puede que no esté seguro de lo
que necesita; puede ser ambiguo en la especificación de hechos que son conocidos, y
puede que no sea capaz o no esté dispuesto a especificar la información en la forma en
que puede utilizar una herramienta T4G. Por esta razón, el diálogo cliente-desarrollador
descrito por los otros paradigmas sigue siendo una parte esencial del enfoque T4G.
78
Estrategia de diseño
En esta etapa se crea la estrategia de diseño en la cual se deben definir los cuatro atributos
de un programa: estructura de datos, arquitectura del software, representaciones de
interfaz y detalle procedimental o algoritmo. El proceso de diseño traduce los
requerimientos en una representación del software que se pueda evaluar por calidad antes
de que comience la generación del código. Al igual que los requisitos, el diseño se
documenta y se hace parte de la configuración del software.
Implementación
Producto
Documentación
En esta etapa se realiza la documentación del resultado final del producto. Los documentos
son una forma tangible de describir las diferentes representaciones de un sistema de
software (requerimientos, UML, código, etcétera) y su proceso de producción. La
documentación ayuda al proceso de mantenimiento ya que proporciona la información de
las dependencias y restricciones y esto facilita la comprensión y realización de cambios al
código. En consecuencia, demostrar que se usó un proceso confiable incluye generar gran
cantidad de evidencia documental sobre el proceso y el software a desarrollar.
Mantenimiento
En esta etapa se realiza el mantenimiento del Software el cual sufrirá cambios a lo largo de
su vida útil. Estos cambios pueden ser debidos a tres causas:
Ventajas
1. Reducción drástica del tiempo de desarrollo, el tiempo requerido para producir software
se reduce mucho para aplicaciones pequeñas y de tamaño medio, y la cantidad de
análisis y diseño para las aplicaciones pequeñas, también se reduce. (Lo que en un
lenguaje de tercera generación (3GL) como COBOL requiere cientos de líneas de
código, tan solo necesita diez o veinte líneas en un 4GL).
2. Mejora en la productividad.
3. Están más cerca del lenguaje natural.[10]
Desventajas
1. Las herramientas actuales de T4G no son más fáciles de utilizar que los lenguajes de
programación.
2. El código fuente producido por tales herramientas es ineficiente. Al estar generado
automáticamente no pueden hacer uso de los trucos habituales para aumentar el
rendimiento, que se basan en el buen conocimiento de cada caso en particular.
3. El mantenimiento de grandes sistemas es cuestionable.
4. Para aplicaciones de alta complejidad, el tiempo que se ahorra mediante la eliminación
de la codificación se pierde debido al hecho que se exige el mismo o más tiempo de
análisis, diseño y prueba.
5. Sólo son aplicables al software de gestión, la mayoría de las herramientas de cuarta
generación están orientadas a la generación a partir de grandes bases de datos, pero
últimamente están surgiendo herramientas que generan esquemas de códigos para
aplicaciones de ingeniería y de tiempo real.
82
Ejemplos T4G
Ejemplos de Éxito
Bancolombia
Mathematica
SQL
Los orígenes de SQL están ligados a las bases de datos relacionales, específicamente las
que residían en máquinas IBM bajo el sistema de gestión System R, desarrollado por un
grupo de la IBM en San José, California. En 1970, E. F. Codd propone el modelo relacional
y asociado a este un sublenguaje de acceso a los datos basado en el cálculo de predicados.
Basándose en estas ideas, los laboratorios de IBM definieron el lenguaje SEQUEL
(Structured English Query Language) que más tarde fue ampliamente implementado por el
sistema de gestión de bases de datos (SGBD) experimental System R, desarrollado en
1977 también por IBM. Sin embargo, fue Oracle quien lo introdujo por primera vez en 1979
en un producto comercial.
84
El SEQUEL terminó siendo el predecesor de SQL, que es una versión evolucionada del
primero. SQL pasa a ser el lenguaje por excelencia de los diversos sistemas de gestión de
bases de datos relacionales surgidos en los años siguientes y fue por fin estandarizado en
1986 por el ANSI, dando lugar a la primera versión estándar de este lenguaje, "SQL-86" o
"SQL1". Al año siguiente este estándar es también adoptado por ISO. Sin embargo, este
primer estándar no cubría todas las necesidades de los desarrolladores e incluía
funcionalidades de definición de almacenamiento que se consideró suprimirlas. Así que, en
1992, se lanzó un nuevo estándar ampliado y revisado de SQL llamado "SQL-92" o "SQL2".
En la actualidad SQL es el estándar de facto de la inmensa mayoría de los SGBD
comerciales. Y, aunque la diversidad de añadidos particulares que incluyen las distintas
implementaciones comerciales del lenguaje es amplia, el soporte al estándar SQL-92 es
general y muy amplio.[13]
Progress 4GL
El Progress 4GL original fue diseñado (en 1981) como un lenguaje de arquitectura
independiente y un sistema de base de datos integrado que podría ser utilizado por
personas no expertas para desarrollar aplicaciones comerciales por personas que no eran
informáticos pero que tenían conocimientos en su dominio comercial. En ese momento, las
aplicaciones comerciales a menudo se escribían en COBOL (para máquinas como
mainframes corporativos de IBM) y, a veces, en C (para minicomputadoras
departamentales que ejecutan el sistema operativo UNIX). Cuando la PC de IBM se hizo
popular, surgió la necesidad de un software comercial que pudiera usarse en esas y otras
computadoras de bajo costo. El sistema Progress fue creado para ser utilizado tanto en
máquinas PC de IBM que ejecutan DOS como en una variedad de computadoras que
podrían ejecutar UNIX. [14]
85
Ejemplos de No Éxito
PowerBuilder
Powersoft
Sybase
En el año 1994 Sybase adquiere a PowerSoft, desde ese momento comenzó una gran
época para PowerBuilder, se integraría con otros productos de la empresa y sumaría una
presencia mundial, sin embargo con el advenimiento de Internet, la aparición de nuevos
lenguajes de programación y la baja innovación de Sybase en este producto provocó una
pérdida de competitividad.[16]
Sybase SAP
En 2010 la empresa SAP adquiere a Sybase, desde el punto de vista tecnológico SAP
requería productos que fortalecieron sus software y no depender de terceros, en esta línea
PowerBuilder nunca fue de su interés quedando relegado durante los últimos 7 años,
perdiendo popularidad y funcionalidades.[17]
APPEON
En julio de 2016 la empresa SAP anuncia que firmó un acuerdo que cede la administración
del desarrollo de PowerBuilder a la empresa Appeon una compañía dedicada a la
prestación de servicios tecnológicos basados en las tecnologías de la extinta Sybase.[18]
86
Caso NIKE
En el año 2000, la firma deportiva Nike sufrió un fallo en la actualización de su ERP que
impidió a las tiendas realizar pedidos a la compañía (justo en plena campaña de
lanzamiento de sus zapatillas Air Jordans) provocando un caos tan extraordinario que le
provocó un descenso del 20% en su valor bursátil y pérdidas de 100 millones de dólares en
ventas que no pudieron cubrirse. A ello hemos de sumar los 400 millones de dólares que le
había costado a Nike la instalación del nuevo sistema de pedidos y gestión de almacenes.
Otro error similar, otro fallo en la implementación del software ERP, acabó con la campaña
de Halloween de 1999 de la cadena de supermercados Hershey Foods. Distintos problemas
de instalación, integración y configuración de sus aplicaciones SAP ERP, Siebel CRM y
Manugistics acabaron con un colapso que provocó una caída del valor de esta firma de
retail en Bolsa del 8% al no poder comercializar caramelos tradicionales de esta festividad
por valor de 100 millones de dólares.
87
Los desastres con los ERP no se limitan a malas instalaciones o actualizaciones: también
un diseño insuficiente puede dar al traste con miles de millones. En concreto, 1000 millones
de dólares fueron los que perdió la Fuerza Aérea de Estados Unidos en desarrollar un
sistema de gestión de recursos empresariales que finalmente fue descartado por no tener
una “capacidad militar significativa”. Según las autoridades norteamericanas, todo el
proceso de diseño fue un auténtico dolor de cabeza: seis gestores del proyecto, 5 ejecutivos
y más de 10 estructuras organizativas a lo largo de los ocho años de vida de la iniciativa. A
ello hay que unir que los ideólogos de la iniciativa subestimaron claramente la complejidad
de una entidad militar como ésta, haciendo un planteamiento confuso y totalmente ineficaz
para los objetivos del Ejército.
Caso VODAFONE
Cuestionario
Preguntas
1. Las técnicas de cuarta generación buscan describir el software en palabras que el usuario
pueda entender.
A. Verdadero
B. Falso
4. James Martín utilizo por primera vez el término de Lenguajes de cuarta generación.
A. Verdadero
B. Falso
10. RPG (Report Program Generator) de IBM en cual fue uno de los primeros lenguajes que
podrían llamarse iniciadores primitivos de la categoría 4GL.
A. Verdadero
B. Falso
Respuestas
A B C D
10
90
BIBLIOGRAFIA
[1] I. Pilar Alexandra Moreno, I. Alexandra Aparicio Revisado Editado, and I. Jairo Martínez,
“Ingeniería de Software,” 2012.
[2] J. A. Millán Goméz, “Definición Ténicas de Cuarta Generación.” Universidad Distrital,
Bogota,Colombia, p. 1, 2019.
[3] N. X. Ceferino Orjuela, “Categorías Técnicas de Cuarta Generación.” Universidad Distrital,
Bogota,Colombia, p. 1, 2019.
[4] N. X. Ceferino Orjuela, “Caracteristicas Técnicas de Cuarta Generación.” Universidad
Distrital, p. 1, 2019.
[5] J. A. M. Gomez, “Personajes Técnicas de Cuarta Generación.” Universidad Distrital,
Bogota,Colombia, p. 1, 2019.
[6] J. A. Millán Goméz, “Antecedentes Técnicas de Cuarta Generación.” Universidad Distrital,
Bogota,Colombia, p. 1, 2019.
[7] E. Gómez Vargas, “Ingeniería de Software.” Universidad Distrital, Bogota,Colombia, p. 94,
2016.
[8] J. A. Millán Goméz, “Etapas Técnicas de Cuarta Generación.” Universidad Distrital,
Bogota,Colombia, p. 1, 2019.
[9] J. A. Millán Goméz, “Ventajas y Desventajas Técnicas de Cuarta Generación.” Universidad
Distrital, Bogota,Colombia, p. 1, 2019.
[10] J. Pradel Miquel and J. Raya Matos, “Introducción a la ingeniería de software.” UNISTMO,
Mexico, p. 84, 2011.
[11] J. A. Millán Goméz, “Ejemplos Ténicas de Cuarta Generación.” Universidad Distrital,
Bogota,Colombia, p. 1, 2019.
[12] F. Phillips, “Review: Wolfram Mathematica 7,” MacWorld, 2009. [Online]. Available:
https://www.macworld.com/article/1138219/mathematica_7.html.
[13] F. A.Morteo and B. L.E, UN ENFOQUE PRACTICO DE SQL, Primera. Argentina: Ediciones
Cooperativas, 2004.
[14] J. Sadd, “OpenEdge Development : Progress 4GL Handbook,” EE.UU, 2005.
[15] P. Lannigan, “PowerBuilder History, Powersoft History,” lannigan, 2014. [Online]. Available:
http://www.lannigan.org/powersoft_powerbuilder_history.htm.
[16] G. Rifkin, “Sybase To Acquire Powersoft,” The New York Times, 1994. [Online]. Available:
https://www.nytimes.com/1994/11/15/business/sybase-to-acquire-powersoft.html.
[17] V. Ashlee, “SAP to Buy Sybase, Ally in Software,” The New York Times, 2010. [Online].
Available:
https://www.nytimes.com/2010/05/13/technology/13sap.html?mtrref=www.google.com&gwh
=7AE51C1CFF7DFF82E21B14F95420B74F&gwt=pay&assetType=REGIWALL.
[18] M. Berner, “Appeon Signs Agreement with SAP to Bring Major Innovations to
PowerBuilder,” Cision, 2016. [Online]. Available: https://www.prnewswire.com/news-
releases/appeon-signs-agreement-with-sap-to-bring-major-innovations-to-powerbuilder-
300291905.html.
[19] A. Iglesias Fraga, “Cuando un ERP falla: 5 escenarios de caos motivados por errores de
implementación,” TICbeat, 2017. [Online]. Available:
https://www.ticbeat.com/tecnologias/cuando-un-erp-falla-5-escenarios-de-caos-motivados-
por-errores-de-implementacion/.