PDF de programación - Programación orientada a objetos con C++ y Java

Imágen de pdf Programación orientada a objetos con C++ y Java

Programación orientada a objetos con C++ y Javagráfica de visualizaciones

Publicado el 26 de Enero del 2019
2.168 visualizaciones desde el 26 de Enero del 2019
951,0 KB
34 paginas
Creado hace 4a (22/02/2015)
Programación orientada

a objetos C++ y Java

Un acercamiento interdisciplinario

PRIMERA EDICIÓN EBOOK
MÉXICO, 2014

GRUPO EDITORIAL PATRIA

Programación orientada

a objetos C++ y Java

Un acercamiento interdisciplinario

José Luis López Goytia

Ángel Gutiérrez González

Instituto Politécnico Nacional

info editorialpatria.com.mx

www.editorialpatria.com.mx

Dirección editorial: Javier Enrique Callejas
Coordinadora editorial: Estela Delfín Ramírez
Supervisor de preprensa: Gerardo Briones González
Diseño de portada: Juan Bernardo Rosado Solís/Signx
Ilustraciones: Adrian Zamorategui Berber
Fotografías: © Thinkstockphoto

Revisión Técnica:
Fabiola Ocampo Botello
Instituto Politécnico Nacional-ESCOM
Roberto de Luna Caballero
Instituto Politécnico Nacional-ESCOM

Programación orientada a objetos con C++ y Java.
Un acercamiento interdiciplinario
Derechos reservados:
© 2014, José Luis López Goytia/Ángel Gutiérrez González
© 2014, Grupo Editorial Patria, S.A. de C.V.
Renacimiento 180, Colonia San Juan Tlihuaca
Azcapotzalco, México D. F.

Miembro de la Cámara Nacional de la Industrial Editorial Mexicana
Registro Núm. 43

ISBN ebook: 978-607-438-933-3

Queda prohibida la reproducción o transmisión total o parcial del contenido de la presenta
obra en cualesquiera formas, sean electrónicas o mecánicas, sin el consentimiento previo y
por escrito del editor.

Impreso en México
Printed in Mexico

Primera edición ebook: 2014

Dedicatoria

A mi hija Ameyalli, la más tierna fabricante de lunas.

A mi esposa Claudia Aidee, por su valentía para reconstruir los sueños.

José Luis López Goytia

Tengan fe en sus propósitos y perseveren en ellos con la confianza de
hacerlos realidad. Cualquier éxito súmenlo al estímulo de sus esfuerzos,
cualquier fracaso anótenlo en el catálogo de sus experiencias; más nunca
abandonen sus tareas ni las empobrezcan con su desaliento (I. P. p.36).

A mis amados hijos: José Ángel y Mario Ángel.

A ti, Paty, por tu inagotable paciencia y amor para mantener unida
nuestra familia.

El hombre superior está centrado en la justicia, el hombre vulgar
en el beneficio (Confucio).

A ti…. Grecia, como una pequeña luz que brilla en la oscuridad.

Ángel Gutiérrez González

Agradecimientos


No quisiéramos dejar pasar la oportunidad de agradecer a los estudiantes y
maestros de la Unidad Profesional Interdisciplinaria de Ingeniería y Ciencias
Sociales y Administrativas (UPIICSA), del Instituto Politécnico Nacional (IPN),
por todas las conversaciones y polémicas que hemos tenido acerca de cómo
aprender y enseñar desarrollo de software. Algo vamos avanzando, pero
estamos lejos de finalizar la labor.



También a Grupo Editorial Patria, por un trabajo tan amable y profesional,
entre ellos al corrector de estilo y al revisor técnico, cuyos nombres
desconocemos. Pero de manera muy particular a Estela Delfín, nuestra editora,
siempre cortés y asertiva; un gusto tratar con personas como ella.

V

Introducción

¿Por qué otro libro sobre programación estructurada y programación orientada a objetos, si existen
varios de excelente calidad? Todos los trabajos que hasta hoy hemos encontrado se dirigen hacia las
instrucciones de código y los algoritmos: se explican las sentencias y las soluciones, para luego dar uno
o varios ejemplos de uso (el inicio típico es un programa que despliega la frase “Hola, mundo”). En
términos generales, este método puede formar buenos codificadores. Sin embargo, se pierden varios
puntos esenciales en el camino de formar un verdadero profesional en las áreas de desarrollo de software
y sistemas de información, cuyas bases se encuentran dispersas entre libros de programación, ingeniería
de software, bases de datos y pedagogía, en unidades de aprendizaje y documentación que rara vez se
relacionan explícitamente entre sí.

Esta situación fue detectada desde hace algún tiempo en las asignaturas de Lógica de Programación
y Programación Orientada a Objetos de la Unidad Profesional Interdisciplinaria de Ingeniería y Ciencias
Sociales y Administrativas (UPIICSA) del Instituto Politécnico Nacional (IPN), lugar en donde hemos
buscado dar un enfoque integral a la enseñanza de la programación y de donde surge la presente obra.
Aunque debemos aclarar que no es un problema local: existen indicios de que es una necesidad nacional
e internacional.

Por ello, este libro trata de la programación estructurada y programación orientada a objetos, pero
al mismo tiempo reflexiona sobre cómo aprender y enseñar programación. Lo que intentamos es una
obra que aborde aspectos básicos de programación, pero que muestre las ligas indispensables hacia la
ingeniería de software y señale recomendaciones —siempre expuestas a verificación y crítica— sobre
aspectos de enseñanza y aprendizaje. Seamos honestos en este sentido: hay más dudas que certezas.
Debemos reconocer que aunque son opiniones con un sustento relativamente firme, pueden coincidir
o no con la situación concreta de cada escuela. Nuestra pretensión no es tener una realidad universal,
sino mover a la reflexión sobre la enseñanza de la programación, un aspecto por lo común descuidado.
La programación estructurada abarca los capítulos 1 a 3 con base en el lenguaje de programación
C. En ellos se establece una metodología de trabajo básica para programación estructurada a fin de que
el estudiante codifique de manera disciplinada. La adaptación del método de cascada que proponemos
tiene como aspectos principales:



1. Partir de una petición explícita de un usuario final, la cual incluye un ejemplo de cálculo en caso
necesario. Esto evita que el estudiante resuelva ambigüedades en los requerimientos. Desde
nuestro punto de vista, este es uno de los “pecados capitales” que se suelen cometer en la
enseñanza cotidiana de los cursos de programación: el estudiante suele ser su propio usuario,
“suplantando” al usuario final, costumbre que suele llevar después al campo profesional.

VI

SUBRUTINAS Y ESTRUCTURAS BÁSICAS PARA EL MANEJO DE DATOS

3



2. Diseñar un lote de pruebas antes de elaborar el algoritmo, el cual debe considerar tanto las
situaciones normales como los casos excepcionales. En este punto se reitera la importancia de las
pruebas de escritorio antes de llevar el programa a la codificación y al equipo de cómputo. No
es trivial el asunto: la mayoría de los estudiantes reprueba un examen de prueba de escritorio en
la primera oportunidad.

3. Conformar la documentación “sobre la marcha”, la cual debe entregarse de manera completa:
desde el requerimiento hasta la pantalla final. De esta manera se pretende disminuir, aunque sea
de manera muy modesta, uno de los problemas más fuertes en el área de sistemas de información:
la falta de una documentación completa y actualizada que facilite la operación y el mantenimiento
del software.

También es conveniente señalar las mejoras que necesitaría el programa para “crecer” hacia una
aplicación profesional, acercándose intuitivamente a temas como portabilidad del código, robustez,
eficiencia y facilidad de mantenimiento.

Con este propósito se proporcionan ejemplos diversos y programas completos para cada tema,
además de actividades de interpretación de código o seudocódigo para que el estudiante practique las
pruebas de escritorio. Una novedad más: a lo largo del libro hay ejercicios de "clínica de programación",
en los cuales se parte de la mayor parte del programa para que el alumno lo complete o corrija. Esto
tiene la intención de acostumbrarlo a trabajar con la lógica y el estilo de otro programador, situación
por demás común en el mercado laboral cuando se le da mantenimiento a sistemas elaborados por otro
desarrollador (la refactorización de código).

En los capítulos 4 a 6 se pretende abordar los aspectos principales de la programación orientada a
objetos (POO) a través de C++ y Java. Nos atrevimos a entremezclar la parte conceptual —la misma en
términos generales—, con programas mostrados en ambos lenguajes.

Aquí se propone que el estudiante perciba que el requerimiento en POO se refiere a la creación
de componentes de software (clases) que deben ser probadas de manera independiente (a través de su
TestClase) para que se integren en forma posterior al sistema integral. Hacemos "focos" con su respectivo
"probador de focos"; la instalación eléctrica completa y la casa vendrán luego. Los diagramas de clase
sustituyen en gran parte al seudocódigo o los diagramas de flujo de la programación estructurada.

Por último, en el capítulo 7 se abordan aspectos básicos sobre el desarrollo de software desde el
punto de vista metodológico, ejemplificando con casos prácticos que vivimos en nuestra experiencia
profesional (como actores o como testigos cercanos). La intención es que el estudiante pueda relacionar
de manera natural la ingeniería de software con la programación: no son mundos separados.

Conviene aclarar que este libro puede ser empleado por dos tipos de estudiantes: en primer lugar,
quienes comienzan su carrera en informática o disciplinas afines y en un futuro se harán profesionales del
área. En segundo término, puede servir para alumnos de otras carreras que llevan un curso introductorio de
programación y desean realizar después trabajos interdisciplinarios con el área de desarrollo de sistemas.
En cualquier caso, parte del supuesto de que no tienen antecedentes en el área de programación.

Por otra parte, esta obra no está dirigida únicamente a estudiantes; pretendemos que sea un
material interesante para egresados y docentes, quienes sin duda encontrarán afirmaciones coincidentes
o polémicas que los retarán a reflexionar sobre su campo profesional. Porque es necesario hacer hincapié
en que difícilmente se puede fomentar una forma de trabajo disciplinada si el propio do
  • Links de descarga
http://lwp-l.com/pdf14987

Comentarios de: Programación orientada a objetos con C++ y Java (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad