1. INSTITUTO TECNOLOGICO SUPERIOR
DE PANUCO
INGENIERIA EN SISTEMAS COMPUTACIONALES
FUNDAMENTOS DE INGENIERIA DE SOFTWARE
UNIDAD 1
FUNDAMENTOS DE INGENIERIA DE SOFTWARE
“PARADIGMAS DE PROGRAMACIÓN (ESTRUCTURADA Y ORIENTADA A
OBJETOS)”
ISC GIL SANTANA ESPARZA, MCA
INTEGRANTES:
HERNANDEZ MEDINA JOSUE
SOSA MEJIA ANEL VERONICA
VIZCAINO NUÑEZ JOSE ALFONSO
S401
4 JULIO 2016
2. Contenido
INTRODUCCION....................................................................................................................3
PROGRAMACION ESTRUCTURADA...................................................................................4
ESTRUCTURAS DE CONTROL DE LA PROGRAMACION ESTRUCTURADA..............5
1. Estructura Secuencial: ................................................................................................5
2. Estructura Selectiva: ...................................................................................................5
3. Estructura Repetitiva (Iterativa): .................................................................................5
VENTAJAS .............................................................................................................................6
DESVENTAJA ........................................................................................................................6
EJEMPLO ...............................................................................................................................6
CARACTERISTICAS DE LA PROGRAMACION ORIENTADA A OBJETOS...................7
Abstracción......................................................................................................................7
Encapsulamiento:............................................................................................................7
Modularidad:....................................................................................................................8
Polimorfismo:...................................................................................................................8
Herencia ..........................................................................................................................8
VENTAJAS .............................................................................................................................8
DESVENTAJAS......................................................................................................................8
EJEMPLO ...............................................................................................................................9
CONCLUSION......................................................................................................................10
REFERENCIAS ....................................................................................................................11
3. INTRODUCCION
En la presente investigación se abordaran dos temas de los paradigmas de
programación el de la programación estructurada y el paradigma de programación
orientado a objetos (POO o OOP por sus siglas en ingles), haciendo una breve
mención de los temas en los que se desglosa esta investigación mencionaremos
que el paradigma de programación estructurada se subdivide en tres estructuras la
programación la estructura secuencial esta consta de instrucciones que se
ejecutan una después de la otra, en el mismo orden en el cual aparecen en el
programa, la estructura selectiva tiene este nombre ya que su programación
consiste en decisiones como verdadero o falso equivale a la instrucción IF, Por
ultimo tenemos la estructura Iterativa su nombre debido a que es una es una
estructura repetitiva ya que se repite determinada instrucción mientras que se
cumple una condición (ciclos). Así mismo se procederá a analizar sus ventajas y
desventajas
Como segundo tema tenemos el paradigma orientado objetos que tiene tres
propiedades básicas: Debe estar basado en objetos, estar basado en clases y
debe de ser capaz de mantener una herencia entre clases, se analizaran sus
propiedades que son abstracción, polimorfismo, Herencia, Modularidad y
Encapsulamiento por solo mencionarlas, también veremos sus ventajas y
desventajas. Por ultimo anexamos ejemplos de estos dos paradigmas.
4. PROGRAMACION ESTRUCTURADA
La programación estructurada es un paradigma de programación orientado a
mejorar la claridad, calidad y tiempo de desarrollo de un programa de
computadora, utilizando únicamente subrutinas y tres estructuras: secuencia,
selección (if y switch) e iteración (bucles for y while), considerando innecesario y
contraproducente el uso de la instrucción de transferencia incondicional (GOTO),
que podría conducir a código espagueti, que es mucho más difícil de seguir y de
mantener, y era la causa de muchos errores de programación.
La programación estructurada es un método disciplinado de escribir programas
que sean claros, que se demuestre que sean correctos y fáciles de modificar. Para
la solución de un problema en particular, se inicia considerando las funciones que
tiene que cumplir el programa en general y después se van dividiendo estas
funciones en subfunciones más pequeñas hasta llegar al caso último o más
particular y que ya no se pueda subdividir en casos más pequeños. Una vez que
ya se tiene el programa dividido en de lo general a lo particular, se empieza a
programar estas funciones pequeñas, particulares o módulos, de esta manera,
siempre podremos construir nuevos módulos o unidades insertando el nombre del
módulo donde corresponda y desarrollándolo a parte.
La modificación de los módulos es más fácil y se pueden referenciar cuantas
veces se requiera, con lo que se ahorra tiempo en la programación, un programa
tiene un diseño estructurado si cumple las dos siguientes condiciones:
El teorema de Estructura.
Está debidamente documentado
El teorema de Estructura dice que un programa cumple el teorema de estructura si
y sólo si es propio y contiene únicamente las tres estructuras básicas de control
que son la secuencial, la alternativa y la repetitiva, un programa es propio si y sólo
si cumple: que tenga un solo punto de entrada y un solo punto de salida y que
entre dos puntos de control del programa exista al menos un camino.
5. ESTRUCTURAS DE CONTROL DE LA PROGRAMACION
ESTRUCTURADA
1. Estructura Secuencial: Indica que las instrucciones de un programa se ejecutan
una después de la otra, en el mismo orden en el cual aparecen en el programa. Se
representa gráficamente como una caja después de otra, ambas con una sola
entrada y una única salida. (ilustracion1)
Ilustración 1 Ejemplo estructura secuencial
2. Estructura Selectiva: También conocida como la estructura si verdadero - falso,
plantea la selección entre dos alternativas con base en el resultado de la
evaluación de una condición; equivale a la instrucción IF de todos los lenguajes de
programación (ilustracion2).
Ilustración 2 Ejemplo estructura selectiva
3. Estructura Repetitiva (Iterativa): También llamada la estructura hacer – mientras
- que, corresponde a la ejecución repetida de una instrucción mientras que se
cumple una determinada condición. (ilustracion3)
Ilustración 3Ejemplo
estructura iterativa
6. VENTAJAS
Los programas son más fáciles de entender.
La estructura de los programas es clara, puesto que las instrucciones están
más ligadas o relacionadas entre sí.
Reducción del esfuerzo en las pruebas y depuración.
Reducción de los costos de mantenimiento.
Los programas son más sencillos y más rápidos de confeccionar.
Se incrementa el rendimiento de los programadores.
DESVENTAJA
El principal inconveniente de este paradigma de programación es que se
obtiene un único bloque de programa, que cuando se hace demasiado
grande puede resultar problemático el manejo de su código fuente.
EJEMPLO 1
Ilustración 4 Ejemplo estructura de un programa en pascal
Es muy importante saber
identificar la programación
estructurada porque es fácil
confundir con otros lenguajes
como java que están basados
en este tipo de programación.
7. PROGRAMACION ORIENTADA A OBJETOS
Es un paradigma de programación que usa objetos y sus interacciones para
diseñar aplicaciones y programas de computadora vienen a innovar la forma de
obtener resultados. Los objetos manipulan los datos de entrada para la obtención
de datos de salida específicos, donde cada objeto ofrece una funcionalidad
especial.
Este tipo de programación permite solventar algunos de los problemas que ha
tenido el desarrollo del software desde sus comienzos, como por ejemplo la falta
de portabilidad y baja reusabilidad del código, junto con la dificultad en la
modificación y desarrollo del mismo. Además es una técnica de codificación
bastante más intuitiva que el resto.
La programación orientada a objetos tiene tres propiedades básicas: Debe estar
basado en objetos, estar basado en clases y debe de ser capaz de mantener una
herencia entre clases. La mayoría de los lenguajes cumplen una o dos de estas
propiedades pero pocos logran cumplir las tres. En particular, la herencia.
CARACTERISTICAS DE LA PROGRAMACION ORIENTADA A OBJETOS
Existe un acuerdo acerca de qué características contempla la programación
orientación a objetos. Las características siguientes son las más importantes:
Abstracción: denota las características esenciales de un
objeto, donde se capturan sus comportamientos. Cada objeto
en el sistema sirve como modelo de un agente abstracto que
puede realizar trabajo, informar y cambiar su estado, y
comunicarse con otros objetos en el sistema sin revelar cómo
se implementan estas características.
Encapsulamiento: significa reunir todos los elementos que pueden considerarse
pertenecientes a una misma entidad, al mismo nivel de abstracción. Esto permite
aumentar la cohesión de los componentes del sistema.
Para comprender mejor este
concepto tenemos el ejemplo
pelota, en la abstracción
identificamos sus características
como color y sus propiedades como
rebotar. (Atributos y métodos)
8. Modularidad: se denomina modularidad a la propiedad que permite subdividir una
aplicación en partes más pequeñas (llamadas módulos), cada una de las cuales
debe ser tan independiente como sea posible de la aplicación en sí y de las
restantes partes.
Polimorfismo: comportamientos diferentes, asociados a objetos distintos, pueden
compartir el mismo nombre; al llamarlos por ese nombre se utilizará el
comportamiento correspondiente al objeto que se esté usando.
Herencia: las clases no están aisladas, sino que se relacionan entre sí, formando
una jerarquía de clasificación. Los objetos heredan las propiedades y el
comportamiento de todas las clases a las que pertenecen.
VENTAJAS
Datos separados del Diseño.
Reutilización del código.
Entendimiento del programa en el mundo real.
Fácil entendimiento de la lógica del programa.
Fácil documentación y diseño del programa.
Dinamismo en el manejo de los datos.
Facilidad en el mantenimiento y expansión.
DESVENTAJAS
Complejidad para adaptarse
Mayor cantidad de código
Para poder entender estos
conceptos consideremos
importante aplicar ejemplos
como el de una familia:
padre, madres e hijos ya que
es la manera más fácil de
abstraer para poder
comprender y aplicar a la
programación.
9. EJEMPLO 2
Ilustración 5 Ejemplo de programación orientada a objetos en java
Ilustración 6 Uso de objetos en java
10. CONCLUSION
Concluimos que se logró el aprendizaje esperado ya que podemos identificar los
diferentes paradigmas de programación en este caso el estructurado y el orientado
a objetos, como vimos los dos son diferentes, el orientado a objetos es un poco
más complejo y por lo tanto se podría decir que es para un nivel más avanzado,
podemos concluir que el paradigma estructurado es adecuado para las personas
que quieren adentrarse a el mundo de la programación ya que es más fácil de
entender y con instrucciones más simples, es adecuado para principiantes,
lenguajes como pascal o C que fueron desarrollados ya hace algunos años para
ser un poco precisos Pascal entre 1968 y 1969 y C entre 1969 y 1972 y aún
siguen vigentes.
Así mismo mencionamos algunas ventajas y desventajas de cada paradigma pero
es más de acuerdo a las necesidades o gustos del programador. Algunos
programadores novatos pueden estar más familiarizados con el lenguaje orientado
a objetos como los es java que es el más popular, por su funcionalidad
multiplataforma además que engloba la programación, secuencial, estructurada y
de selección. Pero para algunos programadores lo que es ventaja para ellos es
desventaja para otros, es cuestión de comodidad o necesidades que ocupa el
programador.
11. REFERENCIAS
Sommerville, Ian. Ingenieria del software. Pearson Educacion, S.A. España
Pressman, R.S. Ingeniería del Software, McGraw Hill, España
Sánchez Andrés, María Ángeles (1996). Programación estructurada y
fundamentos de programación (1. ª edición). McGraw-Hill / Interamericana
de España, S.A.