SlideShare una empresa de Scribd logo
1 de 6
Descargar para leer sin conexión
Imagen: http://co.fotolia.com
Clara Patricia Avella Ibáñez
cpavella@gmail.com
Curso de programación orientada a objetos en Java
Clara Patricia Avella Ibáñez – cpavella@gmail.com
Presentación
Damos inicio a nuestro curso de programación orientada a objetos en java, tratando el tema de solución de problemas
computacionales y el proceso requerido para llevar a cabo esta solución.
Para complementar este curso, los invitamos a conocer el proyecto Cupi2 de la Universidad de Los Andes (Colombia), el cual propone
una metodología de enseñanza – aprendizaje para la Programación Orientada a Objetos. Este proyecto ha sido compartido por la
Universidad de Los Andes (Colombia) a las diferentes Universidades del País y su sitio oficial es http://cupi2.uniandes.edu.co
Los líderes de este proyecto son los Ingenieros Jorge Villalobos y Rubby Casallas, quienes son autores del libro “Fundamentos de
programación. Aprendizaje activo basado en casos”, de la editorial Pearson Prentice Hall.
La mayoría de los contenidos de este material han sido tomados de este proyecto (sitio oficial y libro).
1. Solución de problemas
El programador de sistemas debe enfrentarse a la solución de problemas que se le presentan a una persona, o una empresa de
cualquier tamaño, con el fin de agilizar los procesos que estos realizan a diario.
Una manera de solucionar estos procesos es mediante una aplicación de software, de manera tal, que la solución de problemas
parte de un cliente (que puede ser el futuro usuario de la aplicación) quien contrata a un programador para que produzca una
solución a su problema y para ello éste último debe seguir un proceso que se apoya en herramientas. Estas herramientas pueden ser
modelos o software.
Clara Patricia Avella Ibáñez – cpavella@gmail.com
El mapa mental sobre solución de procesos se puede observar en:
http://cupi2.uniandes.edu.co/sitio/images/cursosCupi2/apo1/mapasMentales/N1-Problema.jpg
2. El proceso para solucionar el problema
El programador debe seguir un proceso para llegar a la solución que entregará al cliente, el cual se puede observar en el siguiente
diagrama.
Dominio del
problema
Requerimientos del cliente
Alcances del proyecto
Identificación de clases y
objetos
Modelo de diseño
UML
Código
Clara Patricia Avella Ibáñez – cpavella@gmail.com
• Fuente: Academia SAI de Sun Microsystems (actualmente no existe).
En el proyecto Cupi2 también existe un mapa mental relacionado con el proceso de construcción de una aplicación de software. Este
se puede ver en: http://cupi2.uniandes.edu.co/sitio/images/cursosCupi2/apo1/mapasMentales/N1-Proceso.jpg
Si se analizan estas dos imágenes, se puede concluir que el análisis que se observa en el mapa mental de cupi2 corresponde a los
alcances del proyecto o Dominio del problema y a la identificación de clases y objetos, es decir, conocer muy bien el problema que se
va a solucionar.
2.1 Etapa de análisis
El primer paso para tener éxito en el desarrollo de una aplicación de software es tener claridad acerca de lo que quiere el cliente y
para ello se identifican los requerimientos de la aplicación, los cuales pueden ser funcionales y no funcionales.
Los requerimientos funcionales corresponden a las acciones que realiza la aplicación de software. Para tomar un ejemplo, piense en
el procesador de texto de Office (Word), que corresponde una aplicación de software y mire toda la funcionalidad que ofrece a los
usuarios. Algunas de las funcionalidades son: Abrir un archivo, guardar un archivo, imprimir un archivo, cambiar el tipo de letra,
adicionar imágenes de archivo y prediseñadas, adicionar tablas, justificar un párrafo, cambiar las márgenes del documento, etc.
Los requerimientos no funcionales corresponden más a condiciones de calidad que debe tener una aplicación o restricciones que el
cliente define para que se desarrolle su aplicación. Como ejemplo podemos pensar en que el cliente puede solicitar que su
aplicación se construya con cierto lenguaje de programación o programa administrador de base de datos, o si se trata de una
Clara Patricia Avella Ibáñez – cpavella@gmail.com
aplicación web, puede solicitar que se elabore en algunos idiomas específicos o con los colores de su organización. También pueden
ser requerimientos no funcionales la seguridad al acceso de ciertas opciones dentro de la aplicación o los tiempos de respuesta.
En cupi2 existen unos videos muy concretos sobre el concepto de requerimientos no funcionales y de clases y objetos, los podemos
ver en: http://cupi2.uniandes.edu.co/sitio/index.php/cursos/apo1/nivel-1?start=5
En este curso nos centraremos en la identificación de requerimientos funcionales y para ello es necesario ver el material sobre
“Requerimientos y casos de uso”.
Además de identificar los requerimientos también se deben identificar las Entidades del problema, que hace referencia a quién o
quienes están intervienen en el problema y forman parte de su solución. Por ejemplo, si se quiere construir una aplicación de
software para automatizar el proceso de registro de notas que un profesor realiza sobre sus cursos, las entidades involucradas son:
cursos (que orienta el profesor) y estudiantes (inscritos en cada curso). Pero si ya se desea llevar el registro de notas de todos los
cursos de un colegio, las entidades involucradas son: profesores, cursos y estudiantes.
Esta primera etapa de identificación de los requerimientos y las entidades se conoce como ANÁLISIS, que se resume en tener un
excelente dominio del problema a resolver e identificar las entidades involucradas para resolver el mismo.
2.2 Etapa de diseño
Una vez se tiene claridad sobre el problema a solucionar, se debe proponer un diseño con la solución. Haciendo una similitud a un
proyecto de construcción de una casa, pensemos que el diseño son los diferentes planos que el arquitecto y el ingeniero civil nos
elaboran sobre la casa: plano estructural, plano arquitectónico, plano de instalaciones hidráulicas, plano de instalaciones eléctricas,
etc. Estos planos son la base para construir la casa.
Clara Patricia Avella Ibáñez – cpavella@gmail.com
El diseño se expresa a través de varios modelos (representación del mundo real), los cuales se representan a través de diagramas.
Existen varias herramientas de uso libre y comercial, para elaborar los modelos de los diseños de una aplicación de software. En este
curso trabajaremos con algunos diagramas básicos de modelado que ofrece UML (Unified Modeling Language).
Los diagramas que manejaremos son: diagrama de casos de uso y diagrama de clases. Cada uno de estos diagramas se presenta en
otro material de apoyo del curso.
Los diagramas que se obtienen en el diseño son la base para la siguiente etapa.
2.3 Etapa de construcción
En esta etapa se escribe el código fuente de la aplicación que se diseñó en la etapa anterior. Para realizar una buena programación
orientada a objetos se debe partir de los modelos diseñados para generar el código a partir de los mismos.
Los programas por lo general se elaboran sobre IDE (Integrated Development Environment) Entornos de Desarrollo Integrado.
El lenguaje de programación que utilizaremos es Java, un lenguaje orientado a objetos, así que es primordial partir de la concepción
del problema y el diseño orientado a objetos antes de pasar al código fuente de la aplicación.
Si el problema a solucionar se modela correctamente, el lenguaje de programación utilizado no implica muchos cambios, lo
importante es realizar un buen modelado orientado a objetos.
El IDE que utilizaremos en este curso es ECLIPSE, así que para familiarizarnos con este entorno los invito a revisar el material
relacionado con el mismo.

Más contenido relacionado

La actualidad más candente

Métodos POO
Métodos POOMétodos POO
Métodos POO1da4
 
10 Curso de POO en java - métodos modificadores y analizadores
10 Curso de POO en java - métodos modificadores y analizadores10 Curso de POO en java - métodos modificadores y analizadores
10 Curso de POO en java - métodos modificadores y analizadoresClara Patricia Avella Ibañez
 
Clases y objetos de java
Clases y objetos de javaClases y objetos de java
Clases y objetos de javainnovalabcun
 
Programación Orientada a Objetos (POO) y UML
Programación Orientada a Objetos (POO) y UMLProgramación Orientada a Objetos (POO) y UML
Programación Orientada a Objetos (POO) y UMLGabriel Cortez
 
Metodología de la programación orientada a objetos con c++ prev
Metodología de la programación orientada a objetos con c++ prevMetodología de la programación orientada a objetos con c++ prev
Metodología de la programación orientada a objetos con c++ prevjtk1
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetosale8819
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetoschutas666
 
Programacion Orientada a Objetos IE
Programacion Orientada a Objetos IEProgramacion Orientada a Objetos IE
Programacion Orientada a Objetos IEKaren Olan
 
Conceptos poo progra visual
Conceptos poo progra visualConceptos poo progra visual
Conceptos poo progra visualLibertad25
 
Diapositiva estructura de datos unidad 1
Diapositiva estructura de datos unidad 1Diapositiva estructura de datos unidad 1
Diapositiva estructura de datos unidad 1Ezer Ayala Mutul
 
PROGRAMACION ORIENTADA A OBJETO
PROGRAMACION ORIENTADA A OBJETOPROGRAMACION ORIENTADA A OBJETO
PROGRAMACION ORIENTADA A OBJETOAnabel Jaramillo
 
9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetos9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetosClara Patricia Avella Ibañez
 
1.1.objetos y clases
1.1.objetos y clases1.1.objetos y clases
1.1.objetos y clasesUancv Uancv
 
ProgramacióN Orientada A Objetos
ProgramacióN Orientada A ObjetosProgramacióN Orientada A Objetos
ProgramacióN Orientada A ObjetosPatricio Abad
 
Programacion Orientada a Obejtos C++
Programacion Orientada a Obejtos C++Programacion Orientada a Obejtos C++
Programacion Orientada a Obejtos C++Christian Castro
 

La actualidad más candente (20)

6 Curso de POO en Java - clases y objetos
6  Curso de POO en Java - clases y objetos6  Curso de POO en Java - clases y objetos
6 Curso de POO en Java - clases y objetos
 
Métodos POO
Métodos POOMétodos POO
Métodos POO
 
10 Curso de POO en java - métodos modificadores y analizadores
10 Curso de POO en java - métodos modificadores y analizadores10 Curso de POO en java - métodos modificadores y analizadores
10 Curso de POO en java - métodos modificadores y analizadores
 
Clases y objetos de java
Clases y objetos de javaClases y objetos de java
Clases y objetos de java
 
Programación Orientada a Objetos (POO) y UML
Programación Orientada a Objetos (POO) y UMLProgramación Orientada a Objetos (POO) y UML
Programación Orientada a Objetos (POO) y UML
 
Metodología de la programación orientada a objetos con c++ prev
Metodología de la programación orientada a objetos con c++ prevMetodología de la programación orientada a objetos con c++ prev
Metodología de la programación orientada a objetos con c++ prev
 
UML traducción código PHP
UML traducción código PHPUML traducción código PHP
UML traducción código PHP
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetos
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetos
 
Programacion Orientada a Objetos IE
Programacion Orientada a Objetos IEProgramacion Orientada a Objetos IE
Programacion Orientada a Objetos IE
 
Conceptos poo progra visual
Conceptos poo progra visualConceptos poo progra visual
Conceptos poo progra visual
 
Diapositiva estructura de datos unidad 1
Diapositiva estructura de datos unidad 1Diapositiva estructura de datos unidad 1
Diapositiva estructura de datos unidad 1
 
PROGRAMACION ORIENTADA A OBJETO
PROGRAMACION ORIENTADA A OBJETOPROGRAMACION ORIENTADA A OBJETO
PROGRAMACION ORIENTADA A OBJETO
 
9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetos9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetos
 
Clase4 poo-uml
Clase4 poo-umlClase4 poo-uml
Clase4 poo-uml
 
1.1.objetos y clases
1.1.objetos y clases1.1.objetos y clases
1.1.objetos y clases
 
Guía interfaces
Guía interfacesGuía interfaces
Guía interfaces
 
ProgramacióN Orientada A Objetos
ProgramacióN Orientada A ObjetosProgramacióN Orientada A Objetos
ProgramacióN Orientada A Objetos
 
Programacion Orientada a Obejtos C++
Programacion Orientada a Obejtos C++Programacion Orientada a Obejtos C++
Programacion Orientada a Obejtos C++
 
Programación Orientada Objetos Java Unidad 1
Programación Orientada Objetos Java Unidad 1Programación Orientada Objetos Java Unidad 1
Programación Orientada Objetos Java Unidad 1
 

Similar a Curso POO Java: Solución problemas y proceso

Metodologia de desarrollo
Metodologia de desarrolloMetodologia de desarrollo
Metodologia de desarrolloDiego
 
1 ingeniería de software
1 ingeniería de software1 ingeniería de software
1 ingeniería de softwareUVM
 
Algunas Prioridades en la Enseñanza e Investigación en Ingeniería del Software
Algunas Prioridades en la Enseñanza e Investigación en Ingeniería del SoftwareAlgunas Prioridades en la Enseñanza e Investigación en Ingeniería del Software
Algunas Prioridades en la Enseñanza e Investigación en Ingeniería del SoftwareSteelmood
 
Analisis de codigo abierto
Analisis de codigo abiertoAnalisis de codigo abierto
Analisis de codigo abiertoMaestros Online
 
2 f004 p006 gfpi guìa de aprendizaje-3_v2
2 f004 p006 gfpi guìa de aprendizaje-3_v22 f004 p006 gfpi guìa de aprendizaje-3_v2
2 f004 p006 gfpi guìa de aprendizaje-3_v2brayanfp
 
Guia deaprendizaje3 v2
Guia deaprendizaje3 v2Guia deaprendizaje3 v2
Guia deaprendizaje3 v2Aleja Andrade
 
F004 p006 gfpi guìa de aprendizaje 3-v2
F004 p006 gfpi guìa de aprendizaje 3-v2F004 p006 gfpi guìa de aprendizaje 3-v2
F004 p006 gfpi guìa de aprendizaje 3-v2MarceliTha Cardozzo
 
F004 p006 gfpi guìa de aprendizaje 3-v2
F004 p006 gfpi guìa de aprendizaje 3-v2F004 p006 gfpi guìa de aprendizaje 3-v2
F004 p006 gfpi guìa de aprendizaje 3-v2Yeison Smith
 
Proyecto integrador de software basico
Proyecto integrador de software basicoProyecto integrador de software basico
Proyecto integrador de software basicoMaestros Online
 

Similar a Curso POO Java: Solución problemas y proceso (20)

Tarea 1 con tarea 4
Tarea 1 con tarea 4Tarea 1 con tarea 4
Tarea 1 con tarea 4
 
Metodologia de desarrollo
Metodologia de desarrolloMetodologia de desarrollo
Metodologia de desarrollo
 
Programacion web se
Programacion web seProgramacion web se
Programacion web se
 
1 ingeniería de software
1 ingeniería de software1 ingeniería de software
1 ingeniería de software
 
Algunas Prioridades en la Enseñanza e Investigación en Ingeniería del Software
Algunas Prioridades en la Enseñanza e Investigación en Ingeniería del SoftwareAlgunas Prioridades en la Enseñanza e Investigación en Ingeniería del Software
Algunas Prioridades en la Enseñanza e Investigación en Ingeniería del Software
 
Analisis de codigo abierto
Analisis de codigo abiertoAnalisis de codigo abierto
Analisis de codigo abierto
 
Analisis de codigo abierto
Analisis de codigo abiertoAnalisis de codigo abierto
Analisis de codigo abierto
 
Esis
EsisEsis
Esis
 
F004 p006 gfpi guìa de aprendizaje 3-v2
F004 p006 gfpi guìa de aprendizaje 3-v2F004 p006 gfpi guìa de aprendizaje 3-v2
F004 p006 gfpi guìa de aprendizaje 3-v2
 
F004 p006 gfpi guìa de aprendizaje 3-v2
F004 p006 gfpi guìa de aprendizaje 3-v2F004 p006 gfpi guìa de aprendizaje 3-v2
F004 p006 gfpi guìa de aprendizaje 3-v2
 
2 f004 p006 gfpi guìa de aprendizaje-3_v2
2 f004 p006 gfpi guìa de aprendizaje-3_v22 f004 p006 gfpi guìa de aprendizaje-3_v2
2 f004 p006 gfpi guìa de aprendizaje-3_v2
 
Guia deaprendizaje3 v2
Guia deaprendizaje3 v2Guia deaprendizaje3 v2
Guia deaprendizaje3 v2
 
F004 p006 gfpi guìa de aprendizaje 3-v2
F004 p006 gfpi guìa de aprendizaje 3-v2F004 p006 gfpi guìa de aprendizaje 3-v2
F004 p006 gfpi guìa de aprendizaje 3-v2
 
F004 p006 gfpi guìa de aprendizaje 3-v2
F004 p006 gfpi guìa de aprendizaje 3-v2F004 p006 gfpi guìa de aprendizaje 3-v2
F004 p006 gfpi guìa de aprendizaje 3-v2
 
S4 tarea4 sihig
S4 tarea4 sihigS4 tarea4 sihig
S4 tarea4 sihig
 
Didáctica crítica.
Didáctica crítica.Didáctica crítica.
Didáctica crítica.
 
Curso de Planificación de Proyectos de Software
Curso de Planificación de Proyectos de SoftwareCurso de Planificación de Proyectos de Software
Curso de Planificación de Proyectos de Software
 
Proyecto integrador de software basico
Proyecto integrador de software basicoProyecto integrador de software basico
Proyecto integrador de software basico
 
Poa Borrador
Poa BorradorPoa Borrador
Poa Borrador
 
Proyecto kenia gisse miguel aby
Proyecto kenia gisse miguel abyProyecto kenia gisse miguel aby
Proyecto kenia gisse miguel aby
 

Más de Clara Patricia Avella Ibañez

11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()Clara Patricia Avella Ibañez
 
Taller Evaluación por competencias. Universidad de Boyacá
Taller Evaluación por competencias. Universidad de BoyacáTaller Evaluación por competencias. Universidad de Boyacá
Taller Evaluación por competencias. Universidad de BoyacáClara Patricia Avella Ibañez
 

Más de Clara Patricia Avella Ibañez (16)

17 arreglos bidimensionales java
17 arreglos bidimensionales java17 arreglos bidimensionales java
17 arreglos bidimensionales java
 
18 Curso POO en java - contenedores
18 Curso POO en java - contenedores18 Curso POO en java - contenedores
18 Curso POO en java - contenedores
 
8a Curso de POO en Java - crear proyecto eclipse
8a Curso de POO en Java - crear proyecto eclipse8a Curso de POO en Java - crear proyecto eclipse
8a Curso de POO en Java - crear proyecto eclipse
 
7 Curso de POO en java - diagrama de clases
7 Curso de POO en java - diagrama de clases7 Curso de POO en java - diagrama de clases
7 Curso de POO en java - diagrama de clases
 
16 Curso de POO en java - arreglos unidimensionales
16 Curso de POO en java - arreglos unidimensionales16 Curso de POO en java - arreglos unidimensionales
16 Curso de POO en java - arreglos unidimensionales
 
15 Curso de POO en java - estructuras repetitivas
15 Curso de POO en java - estructuras repetitivas15 Curso de POO en java - estructuras repetitivas
15 Curso de POO en java - estructuras repetitivas
 
14 Curso de POO en java - estructuras condicionales
14 Curso de POO en java - estructuras condicionales14 Curso de POO en java - estructuras condicionales
14 Curso de POO en java - estructuras condicionales
 
12 Curso de POO en java - entrada y salida de datos
12 Curso de POO en java - entrada y salida de datos12 Curso de POO en java - entrada y salida de datos
12 Curso de POO en java - entrada y salida de datos
 
11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()
 
5 Curso de POO en java - ejecución eclipse
5 Curso de POO en java - ejecución eclipse5 Curso de POO en java - ejecución eclipse
5 Curso de POO en java - ejecución eclipse
 
4 Curso de POO en java - instalación Eclipse
4 Curso de POO en java - instalación Eclipse4 Curso de POO en java - instalación Eclipse
4 Curso de POO en java - instalación Eclipse
 
2 Curso de POO en java - modelamiento casos de uso
2 Curso de POO en java - modelamiento casos de uso2 Curso de POO en java - modelamiento casos de uso
2 Curso de POO en java - modelamiento casos de uso
 
Prestentacion parapentismoextremo
Prestentacion parapentismoextremoPrestentacion parapentismoextremo
Prestentacion parapentismoextremo
 
Netiqueta
NetiquetaNetiqueta
Netiqueta
 
Modelo pedagógico Universidad de Boyacá
Modelo pedagógico Universidad de BoyacáModelo pedagógico Universidad de Boyacá
Modelo pedagógico Universidad de Boyacá
 
Taller Evaluación por competencias. Universidad de Boyacá
Taller Evaluación por competencias. Universidad de BoyacáTaller Evaluación por competencias. Universidad de Boyacá
Taller Evaluación por competencias. Universidad de Boyacá
 

Último

NUEVO PLAN Y PROGRAMAS DE ESTUDIO 2022.pdf
NUEVO PLAN Y PROGRAMAS DE ESTUDIO  2022.pdfNUEVO PLAN Y PROGRAMAS DE ESTUDIO  2022.pdf
NUEVO PLAN Y PROGRAMAS DE ESTUDIO 2022.pdfEDNAMONICARUIZNIETO
 
LOS AMBIENTALISTAS todo por un mundo mejor
LOS AMBIENTALISTAS todo por un mundo mejorLOS AMBIENTALISTAS todo por un mundo mejor
LOS AMBIENTALISTAS todo por un mundo mejormrcrmnrojasgarcia
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...YobanaZevallosSantil1
 
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADOPLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADOMARIBEL DIAZ
 
Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024Rosabel UA
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Angélica Soledad Vega Ramírez
 
SESIÓN DE APRENDIZAJE Leemos un texto para identificar los sinónimos y los an...
SESIÓN DE APRENDIZAJE Leemos un texto para identificar los sinónimos y los an...SESIÓN DE APRENDIZAJE Leemos un texto para identificar los sinónimos y los an...
SESIÓN DE APRENDIZAJE Leemos un texto para identificar los sinónimos y los an...GIANCARLOORDINOLAORD
 
4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE 9-4-24 (1).docx
4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE     9-4-24 (1).docx4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE     9-4-24 (1).docx
4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE 9-4-24 (1).docxMagalyDacostaPea
 
DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...
DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...
DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...Martin M Flynn
 
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...MagalyDacostaPea
 
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfFichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfssuser50d1252
 
Fichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdfFichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdfssuser50d1252
 
5° Proyecto 13 Cuadernillo para proyectos
5° Proyecto 13 Cuadernillo para proyectos5° Proyecto 13 Cuadernillo para proyectos
5° Proyecto 13 Cuadernillo para proyectosTrishGutirrez
 
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfFichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfssuser50d1252
 
Abregú, Podestá. Directores.Líderes en Acción.
Abregú, Podestá. Directores.Líderes en Acción.Abregú, Podestá. Directores.Líderes en Acción.
Abregú, Podestá. Directores.Líderes en Acción.profandrearivero
 
Cuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdfCuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdflizcortes48
 
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxSecuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxNataliaGonzalez619348
 
HISPANIDAD - La cultura común de la HISPANOAMERICA
HISPANIDAD - La cultura común de la HISPANOAMERICAHISPANIDAD - La cultura común de la HISPANOAMERICA
HISPANIDAD - La cultura común de la HISPANOAMERICAJesus Gonzalez Losada
 

Último (20)

NUEVO PLAN Y PROGRAMAS DE ESTUDIO 2022.pdf
NUEVO PLAN Y PROGRAMAS DE ESTUDIO  2022.pdfNUEVO PLAN Y PROGRAMAS DE ESTUDIO  2022.pdf
NUEVO PLAN Y PROGRAMAS DE ESTUDIO 2022.pdf
 
LOS AMBIENTALISTAS todo por un mundo mejor
LOS AMBIENTALISTAS todo por un mundo mejorLOS AMBIENTALISTAS todo por un mundo mejor
LOS AMBIENTALISTAS todo por un mundo mejor
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
 
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADOPLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
 
Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...
 
SESIÓN DE APRENDIZAJE Leemos un texto para identificar los sinónimos y los an...
SESIÓN DE APRENDIZAJE Leemos un texto para identificar los sinónimos y los an...SESIÓN DE APRENDIZAJE Leemos un texto para identificar los sinónimos y los an...
SESIÓN DE APRENDIZAJE Leemos un texto para identificar los sinónimos y los an...
 
4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE 9-4-24 (1).docx
4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE     9-4-24 (1).docx4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE     9-4-24 (1).docx
4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE 9-4-24 (1).docx
 
DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...
DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...
DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...
 
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
 
¿Amor o egoísmo? Esa es la cuestión.pptx
¿Amor o egoísmo? Esa es la cuestión.pptx¿Amor o egoísmo? Esa es la cuestión.pptx
¿Amor o egoísmo? Esa es la cuestión.pptx
 
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfFichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
 
Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 
Fichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdfFichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdf
 
5° Proyecto 13 Cuadernillo para proyectos
5° Proyecto 13 Cuadernillo para proyectos5° Proyecto 13 Cuadernillo para proyectos
5° Proyecto 13 Cuadernillo para proyectos
 
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfFichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
 
Abregú, Podestá. Directores.Líderes en Acción.
Abregú, Podestá. Directores.Líderes en Acción.Abregú, Podestá. Directores.Líderes en Acción.
Abregú, Podestá. Directores.Líderes en Acción.
 
Cuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdfCuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdf
 
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxSecuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
 
HISPANIDAD - La cultura común de la HISPANOAMERICA
HISPANIDAD - La cultura común de la HISPANOAMERICAHISPANIDAD - La cultura común de la HISPANOAMERICA
HISPANIDAD - La cultura común de la HISPANOAMERICA
 

Curso POO Java: Solución problemas y proceso

  • 1. Imagen: http://co.fotolia.com Clara Patricia Avella Ibáñez cpavella@gmail.com Curso de programación orientada a objetos en Java
  • 2. Clara Patricia Avella Ibáñez – cpavella@gmail.com Presentación Damos inicio a nuestro curso de programación orientada a objetos en java, tratando el tema de solución de problemas computacionales y el proceso requerido para llevar a cabo esta solución. Para complementar este curso, los invitamos a conocer el proyecto Cupi2 de la Universidad de Los Andes (Colombia), el cual propone una metodología de enseñanza – aprendizaje para la Programación Orientada a Objetos. Este proyecto ha sido compartido por la Universidad de Los Andes (Colombia) a las diferentes Universidades del País y su sitio oficial es http://cupi2.uniandes.edu.co Los líderes de este proyecto son los Ingenieros Jorge Villalobos y Rubby Casallas, quienes son autores del libro “Fundamentos de programación. Aprendizaje activo basado en casos”, de la editorial Pearson Prentice Hall. La mayoría de los contenidos de este material han sido tomados de este proyecto (sitio oficial y libro). 1. Solución de problemas El programador de sistemas debe enfrentarse a la solución de problemas que se le presentan a una persona, o una empresa de cualquier tamaño, con el fin de agilizar los procesos que estos realizan a diario. Una manera de solucionar estos procesos es mediante una aplicación de software, de manera tal, que la solución de problemas parte de un cliente (que puede ser el futuro usuario de la aplicación) quien contrata a un programador para que produzca una solución a su problema y para ello éste último debe seguir un proceso que se apoya en herramientas. Estas herramientas pueden ser modelos o software.
  • 3. Clara Patricia Avella Ibáñez – cpavella@gmail.com El mapa mental sobre solución de procesos se puede observar en: http://cupi2.uniandes.edu.co/sitio/images/cursosCupi2/apo1/mapasMentales/N1-Problema.jpg 2. El proceso para solucionar el problema El programador debe seguir un proceso para llegar a la solución que entregará al cliente, el cual se puede observar en el siguiente diagrama. Dominio del problema Requerimientos del cliente Alcances del proyecto Identificación de clases y objetos Modelo de diseño UML Código
  • 4. Clara Patricia Avella Ibáñez – cpavella@gmail.com • Fuente: Academia SAI de Sun Microsystems (actualmente no existe). En el proyecto Cupi2 también existe un mapa mental relacionado con el proceso de construcción de una aplicación de software. Este se puede ver en: http://cupi2.uniandes.edu.co/sitio/images/cursosCupi2/apo1/mapasMentales/N1-Proceso.jpg Si se analizan estas dos imágenes, se puede concluir que el análisis que se observa en el mapa mental de cupi2 corresponde a los alcances del proyecto o Dominio del problema y a la identificación de clases y objetos, es decir, conocer muy bien el problema que se va a solucionar. 2.1 Etapa de análisis El primer paso para tener éxito en el desarrollo de una aplicación de software es tener claridad acerca de lo que quiere el cliente y para ello se identifican los requerimientos de la aplicación, los cuales pueden ser funcionales y no funcionales. Los requerimientos funcionales corresponden a las acciones que realiza la aplicación de software. Para tomar un ejemplo, piense en el procesador de texto de Office (Word), que corresponde una aplicación de software y mire toda la funcionalidad que ofrece a los usuarios. Algunas de las funcionalidades son: Abrir un archivo, guardar un archivo, imprimir un archivo, cambiar el tipo de letra, adicionar imágenes de archivo y prediseñadas, adicionar tablas, justificar un párrafo, cambiar las márgenes del documento, etc. Los requerimientos no funcionales corresponden más a condiciones de calidad que debe tener una aplicación o restricciones que el cliente define para que se desarrolle su aplicación. Como ejemplo podemos pensar en que el cliente puede solicitar que su aplicación se construya con cierto lenguaje de programación o programa administrador de base de datos, o si se trata de una
  • 5. Clara Patricia Avella Ibáñez – cpavella@gmail.com aplicación web, puede solicitar que se elabore en algunos idiomas específicos o con los colores de su organización. También pueden ser requerimientos no funcionales la seguridad al acceso de ciertas opciones dentro de la aplicación o los tiempos de respuesta. En cupi2 existen unos videos muy concretos sobre el concepto de requerimientos no funcionales y de clases y objetos, los podemos ver en: http://cupi2.uniandes.edu.co/sitio/index.php/cursos/apo1/nivel-1?start=5 En este curso nos centraremos en la identificación de requerimientos funcionales y para ello es necesario ver el material sobre “Requerimientos y casos de uso”. Además de identificar los requerimientos también se deben identificar las Entidades del problema, que hace referencia a quién o quienes están intervienen en el problema y forman parte de su solución. Por ejemplo, si se quiere construir una aplicación de software para automatizar el proceso de registro de notas que un profesor realiza sobre sus cursos, las entidades involucradas son: cursos (que orienta el profesor) y estudiantes (inscritos en cada curso). Pero si ya se desea llevar el registro de notas de todos los cursos de un colegio, las entidades involucradas son: profesores, cursos y estudiantes. Esta primera etapa de identificación de los requerimientos y las entidades se conoce como ANÁLISIS, que se resume en tener un excelente dominio del problema a resolver e identificar las entidades involucradas para resolver el mismo. 2.2 Etapa de diseño Una vez se tiene claridad sobre el problema a solucionar, se debe proponer un diseño con la solución. Haciendo una similitud a un proyecto de construcción de una casa, pensemos que el diseño son los diferentes planos que el arquitecto y el ingeniero civil nos elaboran sobre la casa: plano estructural, plano arquitectónico, plano de instalaciones hidráulicas, plano de instalaciones eléctricas, etc. Estos planos son la base para construir la casa.
  • 6. Clara Patricia Avella Ibáñez – cpavella@gmail.com El diseño se expresa a través de varios modelos (representación del mundo real), los cuales se representan a través de diagramas. Existen varias herramientas de uso libre y comercial, para elaborar los modelos de los diseños de una aplicación de software. En este curso trabajaremos con algunos diagramas básicos de modelado que ofrece UML (Unified Modeling Language). Los diagramas que manejaremos son: diagrama de casos de uso y diagrama de clases. Cada uno de estos diagramas se presenta en otro material de apoyo del curso. Los diagramas que se obtienen en el diseño son la base para la siguiente etapa. 2.3 Etapa de construcción En esta etapa se escribe el código fuente de la aplicación que se diseñó en la etapa anterior. Para realizar una buena programación orientada a objetos se debe partir de los modelos diseñados para generar el código a partir de los mismos. Los programas por lo general se elaboran sobre IDE (Integrated Development Environment) Entornos de Desarrollo Integrado. El lenguaje de programación que utilizaremos es Java, un lenguaje orientado a objetos, así que es primordial partir de la concepción del problema y el diseño orientado a objetos antes de pasar al código fuente de la aplicación. Si el problema a solucionar se modela correctamente, el lenguaje de programación utilizado no implica muchos cambios, lo importante es realizar un buen modelado orientado a objetos. El IDE que utilizaremos en este curso es ECLIPSE, así que para familiarizarnos con este entorno los invito a revisar el material relacionado con el mismo.