Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Universidad del Valle de México Campus Hispano, Av. José López Portillo 222,
Coacalco de Berriozabal, Estado de México, 55700. México
ricardo.vargas@uvmnet.edu
RESUMEN
La Programación Orientada Objetos es una realidad que llegó para quedarse. Incluso nuevos modelos
como el cómputo distribuido, los componentes y otros más ya consideran al polimorfismo, la herencia y
el encapsulamiento como parte implícita a su diseño. Después de varios años y varias propuestas el UML
ha sido adoptado como lenguaje de modelado para este paradigma. Sin embargo, hay algunas cosas que el
UML no resuelve como es el modelado algorítmico en el cual, el Teorema de Böhem- Jacopini, también
conocido como Teorema de la Estructura,(propuesto en la segunda mitad de los 60’s del siglo pasado)
tiene vigencia total en cuanto a la necesidad de utilizarlo pero ausencia en cuanto a técnicas de modelado
que lo implementen.
Este trabajo hace una reseña de las implicaciones que diversas teorías de la programación han tenido a los
largo de la historia. Aborda la necesidad actual de poder modelar algoritmos utilizando el Teorema de
Jacopini y plantea que ante la ausencia de técnicas formales actuales de modelado hay una clara
necesidad de trabajar en este sentido.
1. Introducción.
• Paradigma Estructurado
Propone tres conceptos fundamentales:
Una metodología formal de diseño basada en la descomposición funcional
descendente (top-down).
Un conjunto de recursos abstractos basados en la modularidad y las
características de la misma (cohesión y acoplamiento)
Un conjunto de estructuras básicas de programación llamadas: Secuencia,
Condición y Repetición eliminando al salto incondicional y salto condicional.
3 Teorema de Jacopini
4. Conclusiones
El UML, que es el lenguaje de modelado más utilizado dentro del POO, cuenta
con diversos diagramas para modelar sistemas pero no para modelar
algoritmos. El diagrama más cercano es el Diagrama de Actividades pero no
tiene sintaxis para representar el teorema de Jacopini completo.
[1] Timothy Budd, Introducción a la Programación Orientada a Objetos. Addison Wesley, pp. 2, xiii. 1992.
[2] J. Glenn Brookshear. Introducción a las ciencias de la computación. Addison Wesley, pp. 149, 141.
1995.
[4] Donald Knuth. The Art of Computer Programming, Vol. 1: fundamental algorithms. Addison Wesley,
1997
[5] Conrado Böhm y Giuseppe Jacopini, Flow diagrams, Turing Machines and languages with only two
formation rules. ACM, vol. 9 num 5 mayo 1966.
[6] Eduardo Alcalde y Miguel Garcia, Metodología de la Programación. Aplicaciones en COBOL y Pascal,
MCGraw Hill, pp. 205, 219, 221, 224, xii, 1992
[7] Dahl, Ole, Edsger Dijkstra y Charles Hoare, Structured Programming, Academic Press, New Cork,
1972.
[8] C.M. Geschke y J.G. Mitchell, On the problem of uniform references to data structures, SIGPLAN
notices, vol. 10, No. 6 junio 1975, pp 31-42.
[9] David Lorge Parnas, A technique for software module specification with examples, Comunnications of
the ACM, vol. 15, No 5. Mayo 1972, pp.330-336.
[10] C.A.R. Hoare. Proof of correctness of data representations, Acta informática, Vol. 1, 1972, pp. 271-
281.
[11] Barbara H. Lizkov y Stephen N. Zilles. Programming with abstract data types, SIGPLAN notices, 9, 4
abril 1974 pp. 50-59.
[13] Jean D. Warnier. Entrainement a la programmation. Constriction des programmes. 1975
[14] M. A. Jackson, Principles of program design, Academic Press, Londres, 1975
[15] Luis Joyanes Aguilar, Metodología de la Programación.Diagramas de Flujo y programación
estructurada, McGraw Hill, pp 223, 39, 11 1987