poo_se
Post on 03-Jun-2018
219 Views
Preview:
TRANSCRIPT
-
8/12/2019 POO_SE
1/169
Programacin Orientada a Objetos
Modelo Paracurricular Desarrollador de Software 2004 V.1.0.0. I
CURSO
PROGRAMACIN ORIENTADAAOBJETOS
-
8/12/2019 POO_SE
2/169
Programacin Orientada a Objetos
Modelo Paracurricular Desarrollador de Software 2004 V.1.0.0. II
PrlogoLa necesidad de reducir la brecha existente entre las etapas de aprendizaje enuna institucin educativa del nivel tcnico, tcnico superior universitario y superiory la de aplicacin productiva en el mercado laboral, llev a la ANIEI y al ILCE adisear el Modelo Paracurricular, en el que se procura la actualizacin inmediata ypermanente de los profesionistas de las reas de informtica y computacin.Motivo por el cual la tarea de Formacin de Entrenadores en Tecnologas deInformacin, se sustenta en el Modelo Paracurricular.
El modelo paracurricular es producto de diversos anlisis y consultas, de las
cuales surgieron las reas de conocimiento a ser consideradas en la formacin oentrenamiento del capital humano en nuestro pas: Programacin, Calidad,Sistemas Distribuidos y Desarrollo Empresarial, dichas reas estn incluidas enlos cuatro perfiles del capital humano para la Industria de Software, definidos en elmodelo paracurricular: Emprendedor y Administrador de Proyectos de Software,
Arquitecto de Software, Ingeniero de Software y Desarrollador de Software.
Para la generacin de contenidos de los cursos se capacit a los docentes paragenerar y revisar los contenidos de los cursos del modelo paracurricular y tutoresde los mismos, en la modalidad e- learning.
En la primera fase de este subproyecto se inici con el perfil bsico de laestructura de la industria del software, el Desarrollador de Software , y se atendiel rea de programacin con el curso Programacin Orientada a Objetos.
El presente material, ha sido diseado para aprender Programacin Orientada aObjetos; se abordarn tres temas fundamentales que conforman el paradigmaorientado a objetos, los cuales son: abstraccin, herencia y polimorfismo. Lacomprensin de estos temas proporcionar las bases para la generacin ydesarrollo de software con diferentes perspectivas, que permitir la solucin oatencin de servicios demandados por diferentes sectores de la sociedad.
Las etapas que se cubrirn en este curso corresponden al desarrollo de software eimplementacin de proyectos, apoyndose en tcnicas de modelado que utilizan elLenguaje Unificado de Modelado (Unified Model Language UML).
Agradecimiento y Reconocimiento
Despus de una ardua tarea de investigacin se ha logrado la creacin de unaobra vasta en conocimiento en el desarrollo de las Tecnologas de la Informacin yComunicacin.
-
8/12/2019 POO_SE
3/169
Programacin Orientada a Objetos
Modelo Paracurricular Desarrollador de Software 2004 V.1.0.0. III
La presente obra no hubiera sido posible sin la valiosa aportacin de destacadosautores y especialistas en la materia. Es por ello que a manera de reconocimientoqueremos agradecer su participacin:
PROGRAMACIN ORIENTADA A OBJETOS
M. en C. Eiso Jorge Kashiwamoto YabutaInstituto Latinoamericano de la Comunicacin Educativa,
Universidad La Salle
Lic. Martn Ibarra RomeroCECYT No.9 Juan de Dios Btiz Paredes IPN
Mtro. Alejandro Canales CruzCentro de Investigacin en Computacin IPN
Introduccin al curso
Este material fue estructurado con la finalidad de ensear programacin orientadaa objetos y sus conceptos, basndose en los tres temas del paradigma orientada a
objetos: abstraccin, herencia y polimorfismo.
Estos tres temas conformarn una base slida para estructuracin, generacin ydesarrollo de software; dando soluciones y/o servicios que cumplan lasperspectivas de diversos segmentos de la sociedad actual.
A lo largo de este curso quedarn cubiertas, a travs de tcnicas de modelado queusan Lenguaje Unificado de Modelado UML (Unified Model Language), lasetapas de desarrollo de software e implementacin de proyectos.
En el tema 1 se trata el contexto de desarrollo de software as como los lenguajes
de programacin orientada a objetos.
Para el tema 2 estudiaremos los conceptos fundamentales de la POO.
El tema 3 estudiar los elementos adicionales del lenguaje.
En el tema 4 revisaremos los fundamentos de UML y sus vistas.
Para el tema 5 examinaremos la vista lgica que comprende el modelado deldiseo y el proceso.
-
8/12/2019 POO_SE
4/169
Programacin Orientada a Objetos
Modelo Paracurricular Desarrollador de Software 2004 V.1.0.0. IV
En el tema 6 se examinar la vista de implantacin o distribucin.
Para que realmente obtengas todos los beneficios de este curso, es muyimportante tu compromiso y participacin en las distintas actividades que loconforman.
Intencin educativa:
La importancia de este curso radica principalmente en que permite conocer,
aplicar y desarrollar el paradigma de la POO en el desarrollo de aplicacionesprofesionales para la resolucin de problemas en el campo laboral, utilizando lasltimas herramientas de software, lo cual facilitar la insercin de los profesionalesen el mercado laboral de desarrollo de software.
Objetivos Generales
Al terminar el curso, el alumno ser capaz de:
Conocer algunas tcnicas de ingeniera de software usadas en el diseo yla implementacin de programas en lenguaje de programacin C#
Aplicar las estructuras de datos ms convenientes para solucionarproblemas especficos.
Aplicar tcnicas de programacin usando estructuras y recursividad. Implantar estructuras de datos usando memoria esttica y memoria
dinmica. Utilizar las clases contenedoras de un lenguaje orientado a objetos.
Metodologa
Se utilizarn distintos mtodos de aprendizaje para cubrir los contenidos. Acontinuacin se describirn dichos mtodos. Adicionalmente, en las actividades deaprendizaje se encontrarn las indicaciones especficas en relacin con la tcnicautilizada en cada una de ellas.
Aprendizaje Basado en Problemas (ABP)
La tcnica de Aprendizaje Basado en Problemas (ABP, del ingls PBL-ProblemBased Learning) es una tcnica didctica constructivista, la cual consta de lossiguientes pasos:
-
8/12/2019 POO_SE
5/169
Programacin Orientada a Objetos
Modelo Paracurricular Desarrollador de Software 2004 V.1.0.0. V
1. El docente formar grupos de alumnos que trabajarn en equipo pararesolver el problema del escenario propuesto. Se nombrar un secretariopor equipo, el cual organizar el funcionamiento del mismo y se encargarde enviar los resultados de las actividades realizadas al profesor.
2. El docente presentar el material del escenario, asignar roles y unificarcriterios.
3. Los estudiantes elaborarn una serie de preguntas respecto al escenario;posteriormente, procurarn resumir el problema del escenario plantendolo(de ser posible) en forma de una sola pregunta. El docente verificar que talpregunta sea la apropiada.
4. Una vez establecida la pregunta principal y las preguntas particulares, losestudiantes analizarn y seleccionarn en equipo las preguntas msrelevantes a investigar.
5. La primera tarea de cada estudiante ser la entrega de un reporte individualcorrespondiente a una investigacin hecha por l mismo.
6. Posteriormente los integrantes discutirn en equipo los resultados de suinvestigacin para establecer en comn las respuestas a las preguntasplanteadas.
7. En la segunda y ltima tarea, cada integrante entregar un reporteindividual, sin embargo, ste deber reflejar los aspectos puestos en comnen la discusin en grupo. Adicionalmente, en algunos casos deprogramacin, se solicitar la entrega de programas.
-
8/12/2019 POO_SE
6/169
Programacin Orientada a Objetos
Modelo Paracurricular Desarrollador de Software 2004 V.1.0.0. VI
Mtodo de Casos
El mtodo de casos difiere de los sistemas de enseanza tradicionales porqueexige que el alumno tome parte activa en el anlisis de los problemas y en la toma
de decisiones para la solucin a situaciones reales muy especficas.Un aspecto muy importante del mtodo de casos, es el aprender de la experienciade otros casos similares para la toma de decisiones en el momento de solucionarun problema. La solucin de un mayor nmero de casos incrementar la habilidadpara identificar problemas y formular soluciones a problemas reales.En el mtodo de casos, el proceso que se siga para tomar decisiones y lasdecisiones mismas, sustentadas en un anlisis adecuado, son la clave. Este tipode ejercicios nos permite aprender a comunicar criterios, defender hechos yopiniones en debates.
-
8/12/2019 POO_SE
7/169
Programacin Orientada a Objetos
Modelo Paracurricular Desarrollador de Software 2004 V.1.0.0. VII
Los pasos a seguir en el mtodo de casos se muestran en el siguiente diagrama:
Comprobacin de Lectura
La tcnica de comprobacin de lectura tiene como finalidad fomentar en el alumnola habilidad de leer, analizar y comprender. La comprensin se comprobar al finalde cada leccin, ya que se presenta una evaluacin por medio de preguntas muypuntuales acerca de la lectura.
Los materiales que se utilizarn en este mtodo son una recopilacin de diferentesautores de un tema, para homogenizar los conceptos e ideas referentes al tema.
La tcnica de comprobacin de lectura es una de las ms empleadas en losprocesos de enseanza-aprendizaje y tiene como finalidad conformar conceptos eideas propias al alumno, por lo que no pretende que se memoricen los temastratados.
-
8/12/2019 POO_SE
8/169
Programacin Orientada a Objetos
Modelo Paracurricular Desarrollador de Software 2004 V.1.0.0. VIII
Fuentes de InformacinAPRENDIENDO PROGRAMACION ORIENTADA A OBJETOS EN 21LECCIONES AVANZADAS.Sintes, AnthonyPearson
C++ PROGRAMACION ORIENTADA A OBJETOSRuiz DiegoMega Punto
C++ PROGRAMACION ORIENTADA A OBJETOS
Smith, Jo AnnParaninfo
DESARROLLO DE PROYECTOS CON PROGRAMACION ORIENTADA AOBJETOS CON C++Smith, Jo AnnThomson
JAVA CON PROGRAMACION ORIENTADA A OBJETOS Y APLICACIONES ENLA WWWWang, PaulThomson
PROGRAMACION ORIENTADA A OBJETOS CON C++Ceballos Sierra, Francisco Javier
Alfaomega
UNIFIED MODELING LANGUAGE. USER GUIDE.Jacobson, Rumbaugh, Booch
Addison WesleyTraduccin al Espaol: Lenguaje de Modelado Unificado, Pearson.
Forma de Evaluacin
El alumno deber cumplir con el 100% de asistencia y deber completar todos losejercicios y tareas descritos en cada una de las unidades.
La forma de evaluacin de este curso es por medio de las rbricas descritas paracada una de las unidades, siendo 3 el puntaje ms alto que se pueda alcanzar, loscriterios que se toman para evaluar cada uno de los ejercicios vienen descritos enlas tablas de ls rbricas.
-
8/12/2019 POO_SE
9/169
Programacin Orientada a Objetos
Modelo Paracurricular Desarrollador de Software 2004 V.1.0.0. IX
ContenidoPRLOGO ..........................................................................................................................................................................II
INTRODUCCIN AL CURS O ...................................................................................................................................III
INTENCIN EDUCATIVA:........................................................................................................................................ IV
OBJETIVOS GENERALES ......................................................................................................................................... IV
METODOLOGA ............................................................................................................................................................ IV
FUENTES DE INFORMACIN..............................................................................................................................VIII
FORMA DE EVALUACIN ....................................................................................................................................VIII
CONTENIDO.................................................................................................................................................................... IX1.1 CONCEPTO DEL DESARROLL O DE SOFTWARE................................................................................ 1
Ejercicio ......................................................................................................................................................................1Gua Tutorial del Profesor........................................................................................................................................4
1.2 LENGUAJES DEPROGRAMACIN ORIENTADO A OBJETOS..............................................................................6Ejercicio ......................................................................................................................................................................6Pginas Electrnicas de Referencia ...................................................................................................................... 7Ejemplos de la Programacin Orientada a Objetos aplicada en la Tecnologa Moderna..........................8
2. CONCEPTOS DE LA ORIENTACIN A OBJETOS ............................................................................... 11
2.1.ORIENTACIN A OBJETOS......................................................................................................................................12 Ejercicio ....................................................................................................................................................................12
Gua Tutorial del Profesor......................................................................................................................................152.2.CLASE,OBJETO E IDENTIDAD...............................................................................................................................17
Ejercicio ....................................................................................................................................................................17Pgina Electrnica de Referencia...........................................................................................................................17Gua Tutorial del Profesor......................................................................................................................................20
2.3.ENCAPSULAMIENTO................................................................................................................................................23 Ejercicio ....................................................................................................................................................................23
Pginas Electrnicas de Referencia........................................................................................................................23Gua Tutorial del Profesor......................................................................................................................................27
2.4.HERENCIA ................................................................................................................................................................32 Ejercicio ....................................................................................................................................................................32
Gua Tutorial del Profesor......................................................................................................................................352.5.POLIMORFISMO........................................................................................................................................................38
Ejercicio..................................................................................................................................................................38 2.6.RELACIN.................................................................................................................................................................43
Ejercicio ....................................................................................................................................................................432.7.PERSISTENCIA ..........................................................................................................................................................48
Ejercicio ....................................................................................................................................................................48Gua Tutorial del Profesor......................................................................................................................................49
3. ELEMENTOS ADICIONALES DEL LENGUAJE.................................................................................... 53
3.1ESTRUCTURA TIPO ARREGLOS................................................................................................................................53 Ejercicio..................................................................................................................................................................53
3.2ESTRUCTURA DE DATOS ESPECIALES ....................................................................................................................56 Ejercicio..................................................................................................................................................................56 Ejercicio..................................................................................................................................................................59 Ejercicio..................................................................................................................................................................63
-
8/12/2019 POO_SE
10/169
Programacin Orientada a Objetos
Modelo Paracurricular Desarrollador de Software 2004 V.1.0.0. X
Ejercicio..................................................................................................................................................................64 3.6EVENTOS...................................................................................................................................................................67
Ejercicio ....................................................................................................................................................................67Material 3.6. ...........................................................................................................................................................68Creacin y Utilizacin de Delegados .....................................................................................................................68Programacin de Eventos.......................................................................................................................................76Definir un Evento...................................................................................................................................................76Suscribir a un evento..............................................................................................................................................76
Notificar a Suscriptores de un Evento....................................................................................................................77Ejercicio ....................................................................................................................................................................78
3.8MULTIHILADO...........................................................................................................................................................78 Ejercicio ....................................................................................................................................................................78
4. FUNDAMENTOS DE UML...............................................................................................................................80
EJERCICIO ........................................................................................................................................................................80Material 1 .................................................................................................................................................................81
Preguntas I ...............................................................................................................................................................95 Material II.................................................................................................................................................................96
DOCUMENTACIN...........................................................................................................................................................99 Preguntas II............................................................................................................................................................111Material III .............................................................................................................................................................113Preguntas III...........................................................................................................................................................123
5. MODELO DE DISEO.....................................................................................................................................128
5.1.DIAGRAMA DE CLASES........................................................................................................................................128Ejercicio ..................................................................................................................................................................128
5.2.DIAGRAMA DE SECUENCIA .................................................................................................................................130Ejercicio ..................................................................................................................................................................130
5.3.DIAGRAMA DE ESTADO.......................................................................................................................................133Ejercicio ..................................................................................................................................................................1335.4.DIAGRAMA DE COLABORACIN.........................................................................................................................135
Ejercicio ..................................................................................................................................................................1355.5.DIAGRAMA DE ACTIVIDAD.................................................................................................................................138
Ejercicio ..................................................................................................................................................................138
6. MODELO DE IMPLANTACIN O DISTRIBUCIN...........................................................................139
6.1.DIAGRAMA DE COMPONENTES (VISTA DE IMPLEMENTACIN)......................................................................1396.2.DIAGRAMA DE DISTRIBUCIN (VISTA DE DISTRIBUCIN)..............................................................................152
-
8/12/2019 POO_SE
11/169
Programacin Orientada a Objetos
Modelo Paracurricular Desarrollador de Software 2004 V.1.0.0. 1
1 .1 Co n c e p t o d e l D e s a r r o l l o d e So f t w a r e
El alumno entender el concepto de Desarrollo de Software mediante el siguienteejercicio aplicando la tcnica de aprendizaje basado en problemas.
Objetivos Especficos
Reconocer el contexto del desarrollo de software que recurre alparadigma de la orientacin a objetos.
Reconocer y evaluar lenguajes de programacin orientada a objetos.
Reconocer las necesidades actuales de la industria del software.
Comprender la importancia de la orientacin a objetos para eldesarrollo de sistemas complejos.
Identificar los beneficios de las tecnologas emergentes.
Reconocer los paradigmas ms importantes en la historia de laorientacin a objetos.
Evaluar las caractersticas de los lenguajes orientados a objetos.
Preparar ambientes de compilacin y ejecucin de lenguajesorientados a objetos.
Ejercicio
1. Observen detalladamente el siguiente video:
2. Con base en el video, y trabajando en equipo, elaboren una serie depreguntas sobre cmo podran construir algo as. No olviden que laspreguntas deben colocarse en el foro de discusin 1.1.
Al final de la serie de preguntas, elijan las 10 que consideren msrelevantes y el secretario del equipo deber colocarlas en el foro bajo elttulo "metas de aprendizaje". Una vez que tengan el visto bueno del
-
8/12/2019 POO_SE
12/169
Programacin Orientada a Objetos
Modelo Paracurricular Desarrollador de Software 2004 V.1.0.0. 2
profesor sobre sus preguntas, lleven a cabo la investigacin necesaria pararesponderlas.
3. A continuacin, se enuncian una serie de ligas que pueden brindarlesinformacin acerca de este tema. Cabe aclarar que se puede consultarcualquier otra fuente de informacin que les pudiera ayudar.
4. Recuerden que, como primera tarea, deben elaborar un reporte individualque incluya las respuestas a sus preguntas individuales hechas en el foro(metas de aprendizaje). El contenido del reporte debe cumplir con lasiguiente rbrica (Liga rbrica 1).
Rbrica para evaluar el reporte de investigacin individual (mximo 9puntos).
Contenidodel reporte 0 1 2 3 Total
Metas deaprendizaje No lasincluye
Las incluye,pero no
coinciden conlas del resto del
equipo
Las incluye,pero difierenen algunospuntos de
las del restodel equipo
Las incluye ycoinciden conel resto del
equipo.
Respuestasa las metas
deaprendizaje
Noresponde
de maneracompletatodas lasmetas de
aprendizaje
Respondesuperficialmente
y/o sinfundamentos.
Respondecon cierto
detalle, perono
fundamentatodas sus
respuestas.
Les da unarespuesta
clara yfundamentada
en labibliografaconsultada.
Referenciasbibliogrficas
y ligas deInternet
No lasincluye
Las incluye,pero de maneraincompleta, yasea en datos o
en cantidad.
Las incluye
de maneracompleta,pero no conel formatosolicitado
Las incluye demaneracompleta ycorrecta.
TOTAL5. Como segunda tarea, y con base en los reportes individuales de los
integrantes de cada equipo, debern elaborar una propuesta de solucin a
-
8/12/2019 POO_SE
13/169
Programacin Orientada a Objetos
Modelo Paracurricular Desarrollador de Software 2004 V.1.0.0. 3
la pregunta "cmo podran construir algo as", as como su reporte, endonde se incluir dicha propuesta y una sntesis de las respuestas a suspreguntas relevantes finales hechas en el foro (metas de aprendizaje). Elcontenido del reporte debe cumplir con la siguiente rbrica (Liga rbrica 2).
Rbrica para evaluar el reporte final de ABP (en equipo) por parte deltutor. Mximo 9 puntos.
Contenido delreporte 0 1 2 3 Total
Solucin oexplicacin al
problemaEl equipo no
proporciona unasolucin/explicacin
al problema.
Lasolucin/explicacin
del problema esvaga y sin
fundamentos.
Dan unasolucin/explicacin
detallada alproblema, pero nola fundamentan demanera completa.
Dan unasolucin/explicacin
detallada alproblema y confundamentos
slidos.Sntesis de la
informacin con lacual fundamentan la
solucin/explicacinNo la incluyen.
nicamentepresentan listas dedatos y/o copia delo que cada quien
investig, sin darlecoherencia.
Presentan unresumen lgico de
la informacinrecopilada por
todos.
Sintetizan demanera lgica y
coherente lainformacin
investigada portodos.Referencias
bibliogrficas y ligasde Internet No las incluyen.
Las incluyen, perode manera
incompleta, ya seaen datos o en
cantidad.
Las incluyen demanera completa,
pero no con elformato solicitado.
Las incluyen demanera completa y
correcta.TOTAL
-
8/12/2019 POO_SE
14/169
Programacin Orientada a Objetos
Modelo Paracurricular Desarrollador de Software 2004 V.1.0.0. 4
Gua Tutorial del Profesor1. Materia:Programacin Orientada a Objetos
2. Tema:Contexto del desarrollo del software.
3. Objetivo de aprendizaje:
Que el alumno identifique la importancia que la POO tiene dentro delas necesidades de la industria, la complejidad de los sistemas y laconvergencia de la tecnologa.
4. Escenario:Ver video de Microsoft.
5. Posibles trminos que deban clarificarse:
MSN
6. Definicin del problema esperado:
Cmo podra construir esto?
En que se basan este tipo de aplicaciones?
7. Preguntas esperadas en el anlisis del problema:
Qu otras aplicaciones se podrn hacer?
Quin construir esto en Mxico?
Ser factible hacerlo en Mxico?
Ser posible hacerlo hoy?
Podr mi plancha, refrigerador, etc., funcionar algn da enla red?
Ser caro este tipo de aplicaciones?
Perder mi individualidad?
Qu rumbo seguirn las tecnologas?
-
8/12/2019 POO_SE
15/169
Programacin Orientada a Objetos
Modelo Paracurricular Desarrollador de Software 2004 V.1.0.0. 5
Cmo se cobra el dinero por internet? Cunta seguridad habr en los cobros del dinero?
Los hackers podrn tirar con facilidad este tipo deaplicaciones?
8. Metas de aprendizaje:
Con que se hace estas aplicaciones?
Qu caractersticas tendrn ese tipo de aplicaciones?
Ser difcil construir ese tipo de aplicaciones?
Lo har una persona o un grupo de personas?
Qu tipos de dispositivos se podrn utilizar con estatecnologa?
Cules son los fundamentos de los lenguajes deprogramacin que se requiere para generar estasaplicaciones?
9. Enviar documentos con ejemplos de clases en cada tipo de aplicacin:
Ejemplo de un web services
Diagrama de objetos de Excel
Ejemplo de un formulario tipo windows
Ejemplo de una clase de una aplicacin web
-
8/12/2019 POO_SE
16/169
Programacin Orientada a Objetos
Modelo Paracurricular Desarrollador de Software 2004 V.1.0.0. 6
1.2 Lenguajes de Programacin Orientado a Objetos
El alumno aprender la forma de instalacin de los lenguajes de programacin queutilizarn en este curso y comprender el ambiente de trabajo de cada uno deellos mediante el siguiente ejercicio.
Ejercicio
1. Antes de empezar con las actividades de est seccin, es importante queelijas la tecnologa sobre la que quieres trabajar (Java - NetBeans o C# -Visual Studio).
Es posible cursar los dos temas, pero habr que realizar tambinambas tareas. Se recomienda elegir slo una tecnologa para trabajardurante el curso.
2. Observa detalladamente el siguiente video sobre la instalacin de NetBeansIDE o Visual Studio.
3. Con base en el video, contesta de manera individual las siguientespreguntas (Preguntas Java - Preguntas C#). No olvides colocar tusrespuestas en la seccin de Tarea 1.2.
Tarea 1.2
Contesta las siguientes preguntas y entrgalas en un plazo no mayor de 24horas, a partir de que observaste el video.
1. Cules son los comandos que utiliza el J2SE y para qu sirven?
2. Describa la funcin del compilador del J2SE?
3. Cul es la funcin del JVM (Java Virtual Machine)?
4. Describe cmo se desarrolla y ejecuta un programa en JAVA conel J2SE?
5. De dnde se obtiene la documentacin del J2SE, qu contiene ydnde se instala?
-
8/12/2019 POO_SE
17/169
Programacin Orientada a Objetos
Modelo Paracurricular Desarrollador de Software 2004 V.1.0.0. 7
6. Crear un programa en JAVA, ejecutarlo y utilizar el comandoJAVADOC. Entregar en papel el cdigo fuente y archivo generadopor el JAVADOC.
7. Describa los 4opciones (pasos) para la instalacin de VisualStudio.Net.
La Tarea debe cumplir con la siguiente rbrica.
Rbrica para evaluar el cuestionario de investigacin individual Mximo 9puntos.
Contenidodel reporte
0 1 2 3 Total
Respuestasa las
preguntas
No respondede maneracompleta atodas las
preguntas.
Respondesuperficialmente
y/o sinfundamentos.
Responde concierto detalle,
pero nofundamentatodas sus
respuestas.
Les da unarespuesta claray fundamentadaen la bibliografa
consultada.
Referenciasbibliogrficas
y ligas deInternet
No lasincluye.
Las incluye,pero de maneraincompleta, yasea en datos o
en cantidad.
Las incluye demanera
completa, perono con elformato
solicitado.
Las incluye demanera
completa ycorrecta.
TOTAL
4. A continuacin, se enuncian una serie de ligas que te pueden brindarinformacin acerca de este tema. Cabe aclarar que se puede consultarcualquier otra fuente de informacin que te pueda ayudar.
Pginas Electrnicas de Referencia
Ligas sobre la tecnologa Java:
http://www.programacion.com/java/ http://acm.escet.urjc.es/~rocapal/acmlux-doc/index.html http://www.netbeans.org/index_es.html
-
8/12/2019 POO_SE
18/169
Programacin Orientada a Objetos
Modelo Paracurricular Desarrollador de Software 2004 V.1.0.0. 8
Ejemplos de la Programacin Orientada a Objetos aplicada en laTecnologa ModernaComo podemos apreciar la POO esta contenida en la mayora de las tecnologas,en el caso de los Web Services en la POO nos ayuda para exponer en el Web losmtodos que consideramos necesarios.
Las clases van en color ROJO
Las propiedades en AZUL
Los mtodos en VERDE
WEB SERVICES
using System;
using System.Web.Services;
using System.Xml.Serialization;
public class Calc {[WebMethod]
public int Multiplicacion(int a, int b) {
return a * b;
}
[WebMethod]
public int Resta(int a, int b) {
return a - b;}
} //end class
-
8/12/2019 POO_SE
19/169
Programacin Orientada a Objetos
Modelo Paracurricular Desarrollador de Software 2004 V.1.0.0. 9
EN APLICACIONES DE OFICINA
Las Aplicaciones de oficina estn repletas de objetos que generalmente son vistoscuando se hace su programacin (generalmente de macros)
OBJETO APPLICATION
Representa la aplicacin completa Microsoft Excel. El objeto Application contiene:Valores y opciones de toda la aplicacin (por ejemplo, muchas de las opciones delcuadro de dilogo Opciones, en el men Herramientas).
Mtodos que devuelven objetos de nivel superior, como ActiveCell, ActiveSheet,etc.
Uso del objeto Application
El ejemplo siguiente crea un objeto libro de Microsoft Excel en otra aplicacin y, acontinuacin, abre un libro en Microsoft Excel y coloca el valor de (3.14159) enla celda A1.
Set xl = CreateObject("Excel.Application")
xl.Workbooks.add()Rem muestra la pantalla del excelx1.visible=truex1.Range("A1").Value = 3.14159set x1 = nothing
EJEMPLO DE UNA APLICACIN WEB QUE SE PUEDE EJECUTAR ENCUALQUIER NAVEGADOR (PC, PALM, WEBTV, ETC.)
En este ejemplo podemos aprecia el cdigo (clases mtodos y atributos) de lapantalla que se muestra a continuacin.
publicclassWebForm1 : System.Web.UI.Page{ protectedSystem.Web.UI.HtmlControls.HtmlInputText txtUsuario;
protectedSystem.Web.UI.WebControls.RequiredFieldValidatorRequiredFieldValidator1;
protectedSystem.Web.UI.WebControls.RequiredFieldValidatorRequiredFieldValidator2;
protectedSystem.Web.UI.WebControls.ValidationSummaryValidationSummary1;
protectedSystem.Web.UI.HtmlControls.HtmlInputText txtPassword;
-
8/12/2019 POO_SE
20/169
Programacin Orientada a Objetos
Modelo Paracurricular Desarrollador de Software 2004 V.1.0.0. 10
protectedSystem.Web.UI.HtmlControls.HtmlInputButton Button1;privatevoidPage_Load(objectsender,System.EventArgs e){
// Introducir aqu el cdigo de usuariopara inicializar la pgina}#regionWeb Form Designer generated codeoverrideprotectedvoidOnInit(EventArgs e){
//// CODEGEN: llamada requerida por el
Diseador de Web Forms ASP.NET.//InitializeComponent();base.OnInit(e);
}/////Mtodo necesario para admitir el Diseador,no se puede modificar///el contenido del mtodo con el editor decdigo.///privatevoidInitializeComponent(){
this.Button1.ServerClick += newSystem.EventHandler( this.Button1_ServerClick);
this.Load += newSystem.EventHandler(this.Page_Load);}#endregion}}
-
8/12/2019 POO_SE
21/169
Programacin Orientada a Objetos
Modelo Paracurricular Desarrollador de Software 2004 V.1.0.0. 11
2.Conceptos de la Orientacin a ObjetosEl alumno entender el concepto de clase y objeto y aplicar las formas
Objetivos Especficos
Definir los conceptos de orientacin a objetos, clase, objeto,encapsulamiento, herencia, identidad y persistencia.
Programar y evaluar algunos conceptos de la orientacin a objetos.
Reconocer los elementos generales implicados en la orientada aobjetos.
Definir el concepto de Clases considerando los conceptos deabstraccin y modularidad.
Programar objetos considerando s us atributos y mtodos.
Programar el encapsulamiento en objetos considerando los permisosde acceso.
Programar aplicando el concepto de herencia considerando elpolimorfismo.
Programar aplicando el concepto de identidad y referencias.
Programar el encapsulamiento en objetos considerando los permisosde acceso.
-
8/12/2019 POO_SE
22/169
Programacin Orientada a Objetos
Modelo Paracurricular Desarrollador de Software 2004 V.1.0.0. 12
2.1. Orientacin a Objetos
Ejercicio1. Lee detalladamente el siguiente escenario 2.1.
2. Con base en el escenario, realicen una serie de preguntas en equipo sobrequ fundamentos de Programacin Orientada a Objetos se necesitan paradesarrollar la aplicacin citada. No olviden que las preguntas debenhacerse en el foro de discusin.
Al final de la serie de preguntas, elijan las 10 que consideren msrelevantes y el secretario del equipo deber colocarlas en el foro bajo elttulo "metas de aprendizaje". Una vez que tengan el visto bueno delprofesor sobre sus preguntas, lleven a cabo la investigacin necesaria pararesponderlas.
3. A continuacin, se enuncian una serie de ligas que pueden brindarlesinformacin acerca de este tema. Cabe aclarar que se puede consultarcualquier otra fuente de informacin que les pudiera ayudar.
Ligas sobre la Orientacin a Objetos
http://paidoteca.dgsca.unam.mx/neopaidoteca/cursos/becas-java/apuntes.html
Ligas sobre la tecnologa MicroSoft
http://support.microsoft.com/default.aspx?scid=kb;es;307368
Ligas sobre la tecnologa Java
http://www.itapizaco.edu.mx/paginas/JavaTut/froufe/parteA/capa-1.htmlhttp://paidoteca.dgsca.unam.mx/neopaidoteca/cursos/becas-java/Java2a.htmlhttp://www.programacion.com/java/tutorial/java_basico/
4. Recuerden que como primera tarea, se debe elaborar un reporte individualque deber incluir las respuestas a sus preguntas individuales hechas en elforo (metas de aprendizaje). El contenido del reporte debe cumplir con lasiguiente rbrica (Liga rbrica 1).
-
8/12/2019 POO_SE
23/169
Programacin Orientada a Objetos
Modelo Paracurricular Desarrollador de Software 2004 V.1.0.0. 13
Rbrica para evaluar el reporte de investigacin individual Mximo 9puntos.
Contenido delreporte 0 1 2 3 Total
Metas deaprendizaje No las incluye
Las incluye, pero nocoinciden con las
del resto del equipo
Las incluye,pero difierenen algunos
puntos de lasdel resto del
equipo
Las incluye ycoinciden con elresto del equipo.
Respuestas alas metas deaprendizaje
No respondede maneracompletatodas lasmetas de
aprendizaje
Respondesuperficialmente y/o
sin fundamentos.
Responde concierto detalle,
pero nofundamentatodas sus
respuestas.
Les da unarespuesta clara yfundamentada en
la bibliografaconsultada.
Referenciasbibliogrficas
y ligas deInternet
No las incluyeLas incluye, pero demanera incompleta,ya sea en datos o
en cantidad.
Las incluye demanera
completa, perono con elformato
solicitado
Las incluye demanera completay correcta.
TOTAL
No olviden que deben colocar su reporte en la seccin de Tarea 2.1.
5. Como segunda tarea, y con base en los reportes individuales de losintegrantes de cada equipo, debern elaborar una propuesta de solucin ala pregunta "qu fundamentos de POO se necesitan para desarrollar laaplicacin citada", as como su reporte en donde se incluir dicha propuestay una sntesis de las respuestas a sus preguntas relevantes finales hechasen el foro (metas de aprendizaje). El contenido del reporte debe cumplir conla siguiente rbrica (Liga rbrica 2).Rbrica para evaluar el reporte final de ABP (en equipo) por parte del tutor.Mximo 9 puntos.
-
8/12/2019 POO_SE
24/169
Programacin Orientada a Objetos
Modelo Paracurricular Desarrollador de Software 2004 V.1.0.0. 14
Contenido delreporte 0 1 2 3 Tota
Solucin oexplicacin al
problemaEl equipo no
proporciona unasolucin/explicacin
al problema.
Lasolucin/explicacin
del problema esvaga y sin
fundamentos.
Dan unasolucin/explicacin
detallada alproblema, pero no la
fundamentan demanera completa.
Dan unasolucin/explicacin
detallada alproblema y confundamentos
slidos.Sntesis de la
informacin con lacual fundamentan lasolucin/explicacin No la incluyen.
nicamentepresentan listas de
datos y/o copia de loque cada quien
investig, sin darlecoherencia.
Presentan unresumen lgico de la
informacinrecopilada portodos.
Sintetizan demanera lgica y
coherente lainformacin
investigada portodos.
Referenciasbibliogrficas y ligas
de Internet No las incluyen.Las incluyen, pero
de maneraincompleta, ya sea
en datos o encantidad.
Las incluyen demanera completa,
pero no con elformato solicitado.
Las incluyen demanera completa y
correcta.TOTAL
No olviden que deben colocar su reporte final en la seccin de Tarea 2.1.
Escenario
Se requiere desarrollar una aplicacin que registre las ventas y realice lafacturacin de una empresa. Se trata de un sistema de tipo personal que debeincluir las siguientes caractersticas: calidad, reusabilidad, estabilidad,escalabilidad, etc. T eres un desarrollador de software y has visto la potencialidadde la POO para el desarrollo de sistemas,qufundam en tos de POO crees que
deberan tener aquel las personas que p retenden desarrol lar esta apl icacin?
-
8/12/2019 POO_SE
25/169
Programacin Orientada a Objetos
Modelo Paracurricular Desarrollador de Software 2004 V.1.0.0. 15
Gua Tutorial del Profesor
1. Materia: Programacin Orientada a Objetos
2. Tema: Contexto Desarrollo del Software.
3. Objetivos de aprendizaje:
Que el alumno identifique la importancia que la OOP tiene dentro de lasnecesidades de la industria, la complejidad de los sistemas y la convergencia de la
tecnologa.4. Escenario:
Ver video de Microsoft.
5. Posibles trminos que deban clarificarse:
MSN
6. Definicin del problema esperada:
Cmo podra construir esto? En que se basan este tipo de aplicaciones?
7. Preguntas esperadas en el anlisis del problema:
Qu otras aplicaciones se podrn hacer? Quin construir esto en Mxico? Ser factible hacerlo en Mxico?
Ser posible hacerlo hoy? Podr mi plancha, refrigerador, etc. funcionar algn da en lared?
Ser caro este tipo de aplicaciones? Perder mi individualidad? Qu rumbo seguirn las tecnologas? Cmo se cobra el dinero por internet? Cunta seguridad habr en los cobros del dinero? Los hacker podrn tirar con facilidad este tipo de
aplicaciones?
-
8/12/2019 POO_SE
26/169
Programacin Orientada a Objetos
Modelo Paracurricular Desarrollador de Software 2004 V.1.0.0. 16
8. Metas de aprendizaje: Con que se hace estas aplicaciones? Qu caractersticas tendrn ese tipo de aplicaciones? Ser difcil construir ese tipo de aplicaciones? Lo har una persona o un grupo de personas? Qu tipos de dispositivos se podrn utilizar con esta
tecnologa? Cules son los fundamentos de los lenguajes de
programacin que se requiere para generar estasaplicaciones?
9. Enviar documentos con ejemplos de clases con los siguientes tipos deaplicacin:
Ejemplo de un web services Diagrama de objetos de Excel Ejemplo de un formulario tipo windows Ejemplo de una clase de una aplicacin web
-
8/12/2019 POO_SE
27/169
Programacin Orientada a Objetos
Modelo Paracurricular Desarrollador de Software 2004 V.1.0.0. 17
2.2. Clase, Objeto e Identidad
El alumno entender y aplicar los conceptos de clase, objeto e identidad pormedio de la tcnica de aprendizaje basado en problemas.
Ejercicio
1. Lee detalladamente el siguiente escenario 2.2.
2. Con base en el escenario 2.2, realicen una serie de preguntas en equipo
sobre qu fundamentos de POO se necesitan para desarrollar la aplicacincitada. No olviden que las preguntas deben hacerse en el foro de discusin.
Al final de la serie de preguntas, elijan las 10 que consideren msrelevantes y el secretario del equipo deber colocarlas en el foro bajo elttulo "metas de aprendizaje". Una vez que tengan el visto bueno delprofesor sobre sus preguntas, lleven a cabo la investigacin necesaria pararesponderlas.
3. Recuerden que como primera tarea, se debe elaborar un reporte individualque deber incluir las respuestas a sus preguntas individuales hechas en el
foro (metas de aprendizaje). El contenido del reporte debe cumplir con lasiguiente rbrica (Liga rbrica 1).
Pgina Electrnica de Referencia
A continuacin, se enuncia una liga que puede brindarle informacin acerca deeste tema. Cabe aclarar que se puede consultar cualquier otra fuente deinformacin que les pudiera ayudar.
http://www.programacion.com/articulo/dondo_poo/
-
8/12/2019 POO_SE
28/169
Programacin Orientada a Objetos
Modelo Paracurricular Desarrollador de Software 2004 V.1.0.0. 18
Rbrica 1 para evaluar el reporte de investigacin individual Mximo 15puntos.
Contenidodel reporte 0 1 2 3 Total
Definicindel problema No laincluye
La incluye, perono coincide conla del resto del
equipo
La incluye,pero difiereen algunospuntos de
las del restodel equipo
La incluye ycoincide conel resto del
equipo.
Metas deaprendizaje No lasincluye
Las incluye,pero no
coinciden conlas del resto del
equipo
Las incluye,pero difierenen algunospuntos de
las del restodel equipo
Las incluye ycoinciden con
el resto delequipo.
Cdigo Esqueleto Con lgica ycompila Funciona
Hace lo quetiene que
hacer
Respuestasa las metas
deaprendizaje
Noresponde de
maneracompletatodas lasmetas de
aprendizaje
Respondesuperficialmente
y/o sinfundamentos.
Respondecon cierto
detalle, perono
fundamentatodas sus
respuestas.
Les da unarespuesta
clara yfundamentada
en labibliografaconsultada.Entregar un
cdigo
Referenciasbibliogrficas No lasincluye
Las incluye,pero de maneraincompleta, yasea en datos o
en cantidad.
Las incluyede maneracompleta,
pero no conel formatosolicitado
Las incluye demanera
completa ycorrecta.
TOTALNo olviden que deben colocar su reporte en la seccin de Tarea individual 2.2.
-
8/12/2019 POO_SE
29/169
Programacin Orientada a Objetos
Modelo Paracurricular Desarrollador de Software 2004 V.1.0.0. 19
4. Como segunda tarea, y con base en los reportes individuales de losintegrantes de cada equipo, debern elaborar una propuesta de solucin ala pregunta "qu fundamentos de POO se necesitan para desarrollar laaplicacin citada", as como su reporte en donde se incluir dicha propuestay una sntesis de las respuestas a sus preguntas relevantes finales hechasen el foro (metas de aprendizaje). El contenido del reporte debe cumplir conla siguiente rbrica (Liga rbrica 2).
Rbrica 2 para evaluar el reporte final de ABP (en equipo) por parte deltutor. Mximo 15 puntos.
Contenido delreporte 0 1 2 3 Total
Definicin delproblema No la incluyen.
La incluyen, perono corresponde alas de los reportes
individuales.
La incluyen, perodifiere ligeramente
de las de losreportes
individuales.
La incluyen ycoincide al 100%
con las de losreportes
individuales.
Solucin oexplicacin al
problemaEl equipo no
proporciona una
solucin/explicacinal problema.
Lasolucin/explicacin
del problema es
vaga y sinfundamentos.
Dan unasolucin/explicacin
detallada al
problema, pero nola fundamentan demanera completa.
Dan unasolucin/explicacin
detallada al
problema y confundamentosslidos.
Sntesis de lainformacin con lacual fundamentan
lasolucin/explicacin
No la incluyen. nicamente
presentan listas dedatos y/o copia delo que cada quieninvestig, sin darle
coherencia.
Presentan unresumen lgico de
la informacinrecopilada por
todos.
Sintetizan demanera lgica y
coherente lainformacin
investigada portodos.
Cdigo Esqueleto Con lgica ycompila Funciona Hace lo que tieneque hacer
Referenciasbibliogrficas No las incluyen.
Las incluyen, perode manera
incompleta, ya seaen datos o en
cantidad.
Las incluyen demanera completa,
pero no con elformato solicitado.
Las incluyen demanera completa y
correcta.
TOTAL
No olviden que deben colocar su reporte final en la seccin de Tarea enequipo 2.2.
-
8/12/2019 POO_SE
30/169
Programacin Orientada a Objetos
Modelo Paracurricular Desarrollador de Software 2004 V.1.0.0. 20
Escenario
A un programador su jefe le entrega los diagramas de una aplicacin de unacalculadora que tiene bsicamente 4 operaciones (suma, resta, multiplicacin ydivisin) y los operandos de estas operaciones; Por otro lado, la calculadorapuede con la que se est trabajando puede variar en el nmero de dgitos y deteclas. El jefe le dice al programador que una primera fase debe de codificar estosdiagramas utilizando clases. La segunda fase consiste en que debe de instanciar 1objeto utilizando esta clase y que resuelva la suma (10+20), y la multiplicacin(30*10). La tercera fase consiste en utilizar una sola referencia para manejar losobjetos e imprimir los resultados de cada uno de los objetos. Todo esto debe estarlisto para maana en la maana sin excusa ni pretexto.
Gua Tutorial del Profesor
1.- Materia: Programacin Orientada a Objetos
2.-Tema: clase, objeto e identidad
3.- Objetivos de aprendizaje:
Al finalizar el tema, el alumno ser capaz de:
Escribir la sintaxis e implementacin de:
o una claseo los permisos de acceso en una claseo los atributos en una claseo el mtodo en una claseo la instanciacin de un objetoo la referencia de un objeto
Definir instanciacin, objeto, identidad de un objeto y referencias de un objeto
Accesar algunos atributos y mtodos de un objeto
4.- Escenario:
A un programador su jefe le entrega los diagramas de una aplicacin de unacalculadora que tiene bsicamente 4 operaciones (suma, resta, multiplicacin ydivisin) y los operandos de estas operaciones. El jefe le dice al programador queuna primera fase debe de codificar estos diagramas utilizando clases. La segunda
-
8/12/2019 POO_SE
31/169
Programacin Orientada a Objetos
Modelo Paracurricular Desarrollador de Software 2004 V.1.0.0. 21
fase consiste en que debe de instanciar 1 objeto utilizando esta clase y queresuelvan la suma (10+20), y la multiplicacin (30*10). La tercera fase consiste enutilizar una sola referencia para manejar los objetos e imprimir los resultados decada uno de los objetos. Todo esto debe estar listo para maana en la maana sinexcusa ni pretexto.
5.- Posibles trminos que deban clarificarse:
Operandos
6.- Definicin del problema esperado:
Cmo codificar la aplicacin utilizando clases?
Cmo instanciar objetos de clases?
Cmo referenciar a dos objetos utilizando una solareferencia?
7.- Preguntas esperadas en el anlisis del problema:
Qu es un permiso de acceso?
Qu es la sintaxis de una clase?
Qu es la sintaxis de un atributo?
Qu es la sintaxis de un mtodo?
Qu es la sintaxis de un permiso de acceso?
Qu es la Implementacin de una clase?
Qu es la Implementacin de un atributo?
Qu es la Implementacin de un mtodo?
Qu es la Implementacin de un permiso de acceso?
Cmo instanciar un obje to?
Cmo accesar a un atributo de un objeto?
-
8/12/2019 POO_SE
32/169
Programacin Orientada a Objetos
Modelo Paracurricular Desarrollador de Software 2004 V.1.0.0. 22
Cmo accesar a un mtodo de un objeto? Cul es la diferencia entre una clase y un objeto?
No se necesitan dos referencias para manipular cada uno delos objetos?
8.- Metas de aprendizaje:
Definir qu es un permiso de acceso
Declarar la sintaxis de una clase
Declarar la sintaxis de un atributo
Declarar la sintaxis de un mtodo
Declarar la sintaxis de un permiso de acceso
Implementar una clase
Implementar un atributo
Implementar un mtodo
Implementar un permiso de acceso
Cmo puede representarse una clase a travs de uml?
Definir que es una instanciacin
Definir que es un objeto
Instanciacin de un objeto
Acceso a atributos de un objeto
Acceso a mtodos de un objeto
Definir la identidad de cada objeto instanciado
Explicar como una variable referencial puede manipular 2objetos
-
8/12/2019 POO_SE
33/169
Programacin Orientada a Objetos
Modelo Paracurricular Desarrollador de Software 2004 V.1.0.0. 23
2.3. Encapsulamiento
El alumno entender el concepto de encapsulamiento, tambin conocido comoocultamiento de datos, es decir, limita el acceso a los atributos y mtodos de losobjetos que implemente en este captulo, utilizando la tcnica de aprendizajebasado en problemas.
Ejercicio
1. Lee detalladamente el siguiente escenario 2.3.
2. Con base en el escenario 2.3, realicen una serie de preguntas en equiposobre la situacin que en l se presenta. No olviden que las preguntasdeben hacerse en el foro 2.3 de discusin, al final de la serie de preguntas:
a) De todas ellas, elijan la que consideren que mejor representa lasituacin a resolver y colquenla bajo el titulo "definicin delproblema".
b) A partir de dicha definicin, elijan las 10 preguntas que considerenms relevantes para poder resolver el problema y colquenlas en elforo bajo el ttulo "metas de aprendizaje".
Una vez que tengan el visto bueno del profesor sobre sus preguntas, llevena cabo la investigacin necesaria para responderlas. Recuerden que staes individual.
3. Recuerden que como primera tarea, se debe elaborar un reporte individualque deber incluir las respuestas a sus preguntas individuales hechas en elforo (metas de aprendizaje). El contenido del reporte debe cumplir con lasiguiente rbrica (Liga rbrica 1).
Pginas Electrnicas de Referencia
A continuacin, se enuncian una serie de ligas que pueden brindarlesinformacin acerca de este tema. Cabe aclarar que se puede consultarcualquier otra fuente de informacin que les pudiera ayudar.
http://www.monografias.com/trabajos/objetos/objetos.shtml
http://www.dcc.uchile.cl/~psalinas/uml/modelo.html#relacion
http://www.inf.udec.cl/~mvaras/estprog/cap41.html#4.4
-
8/12/2019 POO_SE
34/169
Programacin Orientada a Objetos
Modelo Paracurricular Desarrollador de Software 2004 V.1.0.0. 24
Rbrica 1 para evaluar el reporte de investigacin individual Mximo 15puntos.
Contenidodel reporte 0 1 2 3 Total
Definicindel problema No laincluye
La incluye, perono coincide conla del resto del
equipo
La incluye,pero difiereen algunospuntos de
las del restodel equipo
La incluye ycoincide conel resto del
equipo.
Metas deaprendizaje No lasincluye
Las incluye,pero no
coinciden conlas del resto del
equipo
Las incluye,pero difierenen algunospuntos de
las del restodel equipo
Las incluye ycoinciden con
el resto delequipo.
Cdigo Esqueleto Con lgica ycompila Funciona
Hace lo quetiene que
hacer
Respuestasa las metas
deaprendizaje
Noresponde de
maneracompletatodas lasmetas de
aprendizaje
Respondesuperficialmente
y/o sinfundamentos.
Respondecon cierto
detalle, perono
fundamentatodas sus
respuestas.
Les da unarespuesta
clara yfundamentada
en labibliografaconsultada.Entregar un
cdigo
Referenciasbibliogrficas No lasincluye
Las incluye,pero de maneraincompleta, yasea en datos o
en cantidad.
Las incluyede maneracompleta,
pero no conel formatosolicitado
Las incluye demanera
completa ycorrecta.
TOTAL
-
8/12/2019 POO_SE
35/169
Programacin Orientada a Objetos
Modelo Paracurricular Desarrollador de Software 2004 V.1.0.0. 25
No olviden que deben colocar su reporte en la seccin de Tareaindividual 2.3.
4. Como segunda tarea, y con base en los reportes individuales de losintegrantes de cada equipo, debern elaborar una propuesta de solucin asu pregunta de definicin del problema, as como su reporte en donde seincluir dicha propuesta y una sntesis de las respuestas a sus preguntasrelevantes finales hechas en el foro (metas de aprendizaje). El contenidodel reporte debe cumplir con la siguiente rbrica (Liga rbrica 2).
Rbrica 2 para evaluar el reporte final de ABP (en equipo) por parte deltutor. Mximo 15 puntos.
Contenido delreporte 0 1 2 3 Total
Definicin delproblema No la incluyen.
La incluyen, perono corresponde alas de los reportes
individuales.
La incluyen, perodifiere ligeramente
de las de losreportes
individuales.
La incluyen ycoincide al 100%
con las de losreportes
individuales.
Solucin oexplicacin al
problemaEl equipo no
proporciona unasolucin/explicacin
al problema.
Lasolucin/explicacin
del problema esvaga y sin
fundamentos.
Dan unasolucin/explicacindetallada al
problema, pero nola fundamentan demanera completa.
Dan unasolucin/explicacindetallada al
problema y confundamentos
slidos.Sntesis de la
informacin con lacual fundamentan
lasolucin/explicacin
No la incluyen. nicamente
presentan listas dedatos y/o copia delo que cada quieninvestig, sin darle
coherencia.
Presentan unresumen lgico de
la informacinrecopilada por
todos.
Sintetizan demanera lgica y
coherente lainformacin
investigada portodos.
Cdigo Esqueleto Con lgica ycompila Funciona Hace lo que tieneque hacer
Referenciasbibliogrficas No las incluyen.
Las incluyen, perode manera
incompleta, ya seaen datos o en
cantidad.
Las incluyen demanera completa,
pero no con elformato solicitado.
Las incluyen demanera completa y
correcta.
TOTAL
-
8/12/2019 POO_SE
36/169
Programacin Orientada a Objetos
Modelo Paracurricular Desarrollador de Software 2004 V.1.0.0. 26
No olviden que deben colocar su reporte final en la seccin de Tareaen Equipo 2.3.
ESCENARIO
Ser explicado por el tutor.
Realice sus anotaciones necesarias en el siguiente recuadro:
-
8/12/2019 POO_SE
37/169
Programacin Orientada a Objetos
Modelo Paracurricular Desarrollador de Software 2004 V.1.0.0. 27
Gua Tutorial del ProfesorMateria:Programacin Orientada a Objetos
Tema:Encapsulamiento
Objetivos de aprendizaje:
Programar el encapsulamiento en objetos considerando los permisos (niveles) deacceso.
Escenario:El personal de ventas se ha quejado de que las cifras y el estado de lasfacturas no son las correctas, debido a que no es posible tener unnmero de factura en un estado de pedido, pues dicho nmero seasigna en el momento en que el pedido se coloca en el transporte,porque al cliente se le entregan factura y productosimultneamente. Por otra parte, no es posible tener una factura ennmeros negativos debido a que, para hacer una cancelacin odevolucin, se utiliza una nota de crdito. Las unidades vendidas de pz(piezas) no pueden llevar decimales.
CIA NACIONAL DE COBRE, S.A. DE C.V.SISTEMA DE FACTURACION(listado de ventas por producto)Del 5/abr/04 al 11/abr/04
Producto Factura Unidades (UM) Estado Importe
Cobre 15 mm 10250 2 Kg Pagada 300.00Cobre 15 mm 10447 3 Kg Pagada 450.00Cobre 15 mm 10268 3 Kg Pedido 450.00
Cobre 15 mm 10943 3 Kg Pedido 450.00Subtotal 11 1,650.00
Carrete 150 mm 10264 2 pz Pagada 200.00Carrete 150 mm 10565 3.34 pz Pagada -300.00Carrete 150 mm 10746 5 pz Pedido 500.00Carrete 150 mm 10847 3 pz Pagada 300.00
Subtotal 13.34 700.00
-
8/12/2019 POO_SE
38/169
Programacin Orientada a Objetos
Modelo Paracurricular Desarrollador de Software 2004 V.1.0.0. 28
Al analizar el sistema nos encontramos con lo siguiente: este sistemacuenta con aproximadamente 50 clases; los errores que hay se debenprincipalmente a errores que realizan algunos componentes, ya que alutilizar las clases pasan informacin errnea de otros sistemas; tambinexisten fallas cuando los programadores hacen cambios y por algunasituacin en la nueva programacin queda la informacin mal; otros sonproblemas en la captura de informacin.
Al revisar la clase nos encontramos con los siguientes mtodos ypropiedades: Aqu vienen dos clases de uml (factura y detalle)
FacturaClienteRenglones
RenglonProducto
UMUnidades
Precio
Despus de analizar la situacin, te solicitan que elabores y entregues
la programacin necesaria para resolverla.
5. Posibles trminos que deban clarificarse:
Informe de facturacin.- Es un listado (generalmente en papel) quemuestra las ventas que se han tenido en laempresa en un periodo de tiempo el cual semuestra por diferentes agrupaciones.
Estado.- Son los posibles estados por los que puedepasar una factura
Nota de crdito.- Documento fiscal que permite hacer cancelaciones y/omodificaciones a una factura.
-
8/12/2019 POO_SE
39/169
Programacin Orientada a Objetos
Modelo Paracurricular Desarrollador de Software 2004 V.1.0.0. 29
6.
Definicin del problema esperado:Cmo solucionamos esto?
7. Preguntas esperadas en el anlisis del problema:
Qu debo hacer?
Cmo se hacen las restricciones/permisos/niveles deacceso?
Cul es la manera de validar/verificar la informacin?
Qu cambios debemos hacer en el cdigo de laclase?
8. Metas de aprendizaje:
Cmo se hacen las restricciones?
Cul es la manera recomendada de validar lainformacin?
-
8/12/2019 POO_SE
40/169
Programacin Orientada a Objetos
Modelo Paracurricular Desarrollador de Software 2004 V.1.0.0. 30
Rbrica para evaluar el reporte de investigacin individual Mximo 12puntos.
Contenidodel reporte
0 1 2 3 Total
Definicin delproblema
No la incluye
La incluye, perono coincide conla del resto del
equipo
La incluye,pero difiereen algunos
puntos de lasdel resto del
equipo
La incluye ycoincide conel resto del
equipo.
Metas deaprendizaje
No lasincluye
Las incluye,pero no
coinciden conlas del resto del
equipo
Las incluye,pero difierenen algunos
puntos de lasdel resto del
equipo
Las incluye ycoinciden con
el resto delequipo.
Cdigo Esqueleto Con lgica y
compilaFunciona
Funciona,estructuracin
legible ydocumentados
Respuestasa las metasdeaprendizaje
No respondede maneracompletatodas lasmetas deaprendizaje
Respondesuperficialmentey/o sinfundamentos.
Respondecon ciertodetalle, peronofundamentatodas susrespuestas.
Les da unarespuestaclara yfundamentadaen labibliografaconsultada.Entregar un
cdigo
Referenciasbibliogrficas
No lasincluye
Las incluye,pero de maneraincompleta, yasea en datos oen cantidad.
Las incluyede maneracompleta,pero no conel formatosolicitado
Las incluye demaneracompleta ycorrecta.
TOTAL
-
8/12/2019 POO_SE
41/169
Programacin Orientada a Objetos
Modelo Paracurricular Desarrollador de Software 2004 V.1.0.0. 31
Rbrica para evaluar el reporte final de ABP (en equipo) por parte del tutor.Mximo 12 puntos.
Contenido delreporte 0 1 2 3 Tot
Definicin delproblema
No la incluyen.
La incluyen, perono corresponde alas de los reportes
individuales.
La incluyen, perodifiere ligeramentede las de los
reportesindividuales.
La incluyen ycoincide al 100%con las de los
reportesindividuales.
Solucin oexplicacin alproblema
El equipo noproporciona unasolucin/explicacinal problema.
Lasolucin/explicacindel problema esvaga y sinfundamentos.
Dan unasolucin/explicacindetallada alproblema, pero nola fundamentan demanera completa.
Dan unasolucin/explicacindetallada alproblema y confundamentosslidos.
Sntesis de la
informacin con lacual fundamentanlasolucin/explicacin
No la incluyen.
nicamentepresentan listas de
datos y/o copia delo que cada quieninvestig, sin darlecoherencia.
Presentan un
resumen lgico dela informacinrecopilada portodos.
Sintetizan demanera lgica y
coherente lainformacininvestigada portodos.
Cdigo Esqueleto Con lgica ycompila
Funciona Hace lo que tieneque hacer
Referenciasbibliogrficas
No las incluyen.
Las incluyen, perode maneraincompleta, ya sea
en datos o encantidad.
Las incluyen demanera completa,pero no con el
formato solicitado.
Las incluyen demanera completa y
correcta.
TOTAL
-
8/12/2019 POO_SE
42/169
Programacin Orientada a Objetos
Modelo Paracurricular Desarrollador de Software 2004 V.1.0.0. 32
2.4. HerenciaEl alumno entender el concepto de herencia y como una clase puede pasar aotra clase algunas de sus caractersticas a otra mediante la tcnica de aprendizajebasado en problemas.
Ejercicio
1. Lee detalladamente el siguiente escenario 2.4.
2. Con base en el escenario 2.4. realicen una serie de preguntas en equiposobre la situacin que en l se presenta. No olviden que las preguntasdeben hacerse en el foro 2.4. al final de la serie de preguntas:
a) De todas ellas, elijan la que consideren que mejor representa lasituacin a resolver y colquenla bajo el titulo "definicion delproblema".
b) A partir de dicha definicin, elijan las 10 preguntas que considerenms relevantes para poder resolver el problema y colquenlas en elforo bajo el ttulo "metas de aprendizaje".
Una vez que tengan el visto bueno del profesor sobre sus preguntas, llevena cabo la investigacin necesaria para responderlas. Recuerden que staes individual.
3. Recuerden que como primera tarea, se debe elaborar un reporte individualque deber incluir las respuestas a sus preguntas individuales hechas en elforo (metas de aprendizaje). El contenido del reporte debe cumplir con lasiguiente rbrica (Liga rbrica 1).
-
8/12/2019 POO_SE
43/169
Programacin Orientada a Objetos
Modelo Paracurricular Desarrollador de Software 2004 V.1.0.0. 33
Rbrica 1 para evaluar el reporte de investigacin individual Mximo 15puntos.
Contenidodel reporte 0 1 2 3 Total
Definicindel problema No laincluye
La incluye, perono coincide conla del resto del
equipo
La incluye,pero difiereen algunospuntos de
las del restodel equipo
La incluye ycoincide conel resto del
equipo.
Metas deaprendizaje No lasincluye
Las incluye,pero no
coinciden conlas del resto del
equipo
Las incluye,pero difierenen algunospuntos de
las del restodel equipo
Las incluye ycoinciden con
el resto delequipo.
Cdigo Esqueleto Con lgica ycompila Funciona
Hace lo quetiene que
hacer
Respuestasa las metas
deaprendizaje
Noresponde de
maneracompletatodas lasmetas de
aprendizaje
Respondesuperficialmente
y/o sinfundamentos.
Respondecon cierto
detalle, perono
fundamentatodas sus
respuestas.
Les da unarespuesta
clara yfundamentada
en labibliografaconsultada.Entregar un
cdigo
Referenciasbibliogrficas No lasincluye
Las incluye,pero de maneraincompleta, yasea en datos o
en cantidad.
Las incluye
de maneracompleta,
pero no conel formatosolicitado
Las incluye demanera
completa ycorrecta.
TOTALNo olviden que deben colocar su reporte en la seccin de Tarea Individual 2.4.
-
8/12/2019 POO_SE
44/169
Programacin Orientada a Objetos
Modelo Paracurricular Desarrollador de Software 2004 V.1.0.0. 34
4. Como segunda tarea, y con base en los reportes individuales de losintegrantes de cada equipo, debern elaborar una propuesta de solucin asu pregunta de definicin del problema, as como su reporte en donde seincluir dicha propuesta y una sntesis de las respuestas a sus preguntasrelevantes finales hechas en el foro (metas de aprendizaje). El contenidodel reporte debe cumplir con la siguiente rbrica (Liga rbrica 2).
Rbrica 2 para evaluar el reporte final de ABP (en equipo) por parte del tutor.Mximo 15 puntos.
Contenido delreporte 0 1 2 3 Total
Definicin delproblema No la incluyen.
La incluyen, perono corresponde alas de los reportes
indivi duales.
La incluyen, perodifiere ligeramente
de las de losreportes
individuales.
La incluyen ycoincide al 100%
con las de losreportes
individuales.
Solucin o
explicacin alproblema
El equipo noproporciona una
solucin/explicacinal problema.
Lasolucin/explicacin
del problema esvaga y sin
fundamentos.
Dan unasolucin/explicacin
detallada alproblema, pero nola fundamentan demanera completa.
Dan unasolucin/explicacin
detallada alproblema y confundamentos
slidos.Sntesis de la
informacin con lacual fundamentan
lasolucin/explicacin
No la incluyen. nicamente
presentan listas dedatos y/o copia delo que cada quieninvestig, sin darle
coherencia.
Presentan unresumen lgico de
la informacinrecopilada por
todos.
Sintetizan demanera lgica y
coherente lainformacin
investigada portodos.
Cdigo Esqueleto Con lgica ycompila Funciona Hace lo que tieneque hacer
Referenciasbibliogrficas No las incluyen.
Las incluyen, perode manera
incompleta, ya seaen datos o en
cantidad.
Las incluyen demanera completa,
pero no con elformato solicitado.
Las incluyen demanera completa y
correcta.
TOTAL
No olviden que deben colocar su reporte final en la seccin de Tarea enEquipo 2.4.
-
8/12/2019 POO_SE
45/169
Programacin Orientada a Objetos
Modelo Paracurricular Desarrollador de Software 2004 V.1.0.0. 35
Escenario 2.4.Programadores distintos modelaron una clase de una figura geomtrica cada uno.Las figuras geomtricas fueron cuadrado, crculo, rectngulo y tringulo. Suspropuestas se tomaran como ideas iniciales para comenzar el anlisis de uneditor grfico que utiliza figuras geomtricas bajo un criterio uniforme. Al reunirsese dieron cuenta de una situacin a nivel de atributos y mtodos que podasolucionarse al crear una nueva clase llamada Figura Geomtrica. Qusituacin descubrieron? Cmo la solucionaron?
Gua Tutorial del Profesor
Materia: Programacin Orientada a Objetos
Tema : Herencia
Objetivos de aprendizaje
El Alumno: Programar aplicando el concepto de herencia Reconocer los tipos de herencia y los problemas de diseo
con la misma.
Tcnica Didctica:Aprendizaje Basado en Problemas (ABP)
-
8/12/2019 POO_SE
46/169
Programacin Orientada a Objetos
Modelo Paracurricular Desarrollador de Software 2004 V.1.0.0. 36
Escenario AProgramadores distintos modelaron una clase de una figura geomtrica cada uno.Las figuras geomtricas fueron cuadrado, crculo, rectngulo y tringulo. Suspropuestas se tomaran como ideas iniciales para comenzar el anlisis de uneditor grfico que utiliza figuras geomtricas bajo un criterio uniforme. Al reunirsese dieron cuenta de una situacin a nivel de atributos y mtodos que podasolucionarse al crear una nueva clase llamada Figura Geomtrica. Qusituacin descubrieron? Cmo la solucionaron?
Posibles trminos que deban clarificarse
Definicin esperada del problema
Qu es la herencia en la programacin orientada a objetos?
Puedo a travs de la herencia optimizar la utilizacin deatributos y mtodos?
Es la herencia una estrategia de reutilizacin y una solucinpoderosa a travs de objetos para programar comportamientogenrico de varias clases?
Preguntas esperadas en el anlisis del problema
Por qu se repiten atributos y operaciones?
Puede abstraerse en una clase base los atributos yoperaciones comunes?
Puede aplicarse la herencia?
Puede el cuadrado heredar del rectngulo?
Evidencias de Aprendizaje
Heredar atributos y mtodos entre clases
Puede avanzarse progresivamente en el modelado
o Objetos concretos y tangibles de la vida ordinaria
-
8/12/2019 POO_SE
47/169
Programacin Orientada a Objetos
Modelo Paracurricular Desarrollador de Software 2004 V.1.0.0. 37
o Objetos que requieren un nivel mayor de abstraccin
Utilizar la palabra reservada extends
Utilizar un diagrama de clases de UML
Simular una interfaz, pero aclarar que tiene su manejo particular
o No usar la palabra interface
o Crear una situacin que se complique al utilizar herencia en vez deinterfaces
Utilizar lenguaje de programacin
o C#
Heredar de clases localmente en cdigo
Heredar de clases en namespaces
o Java
Heredar de clases localmente en cdigo
Heredar de clases en packages
Metas de aprendizaje
Cmo se programa la herencia en un lenguaje OO?
Cmo se administran los permisos de acceso para heredar atributos ymtodos?
Qu relacin tiene la herencia con las interfaces de clase?
Qu tipos de herencia existen?
Cmo se representa la herencia en UML?
Por qu los lenguajes ms recientes slo incorporan la herencia simple?
Cmo se utiliza la herencia selectiva?
-
8/12/2019 POO_SE
48/169
Programacin Orientada a Objetos
Modelo Paracurricular Desarrollador de Software 2004 V.1.0.0. 38
2.5. Polimorfismo
El alumno comprender que este concepto se refiere a cuando dentro de unaclase pueden contener mtodos con el mismo nombre pero se diferencian entreellos por medio de su definicin dentro de la clase por medio de la tcnica deaprendizaje basado en problemas.
Ejercicio
1. Lee detalladamente el siguiente escenario 2.5.
2. Con base en el escenario 2.5, realicen una serie de preguntas en equiposobre el problema a resolver. No olviden que las preguntas deben hacerseen el foro de discusin.
Al final de la serie de preguntas, elijan las 10 que consideren msrelevantes y el secretario del equipo deber colocarlas en el foro bajo elttulo "metas de aprendizaje". Una vez que tengan el visto bueno delprofesor sobre sus preguntas, lleven a cabo la investigacin necesaria pararesponderlas.
3. Recuerden que como primera tarea, se debe elaborar un reporte individualque deber incluir las respuestas a sus preguntas individuales hechas en elforo (metas de aprendizaje). El contenido del reporte debe cumplir con lasiguiente rbrica (Liga rbrica 1 Misma del tema 2.4).
No olviden que deben colocar su reporte en la seccin de Tarea individual2.5.
4. Como segunda tarea, y con base en los reportes individuales de losintegrantes de cada equipo, debern elaborar una propuesta de solucin alproblema, adems de incluir en su reporte una sntesis de las respuestas a
sus preguntas relevantes finales hechas en el foro (metas de aprendizaje).El contenido del reporte debe cumplir con la siguiente rbrica (Liga rbrica 2 Misma del tema 2.4).
No olviden que deben colocar su reporte final en la seccin de Tarea enequipo 2.5.
-
8/12/2019 POO_SE
49/169
Programacin Orientada a Objetos
Modelo Paracurricular Desarrollador de Software 2004 V.1.0.0. 39
ESCENARIO
La programacin de un editor grfico que maneja figuras geomtricas (cuadrado,crculo, rectngulo, tringulo) se ha complicado ya que la clase base a todas ellasFiguraGeomtrica tiene mtodos que se heredan (redibujar, posicionar,redimensionar, rotar, calcularArea); sin embargo cada vez que se agrega unafigura geomtrica distinta, como por ejemplo rombo, tiene que modificarse elcontenido de estos mtodos conforme al tipo de figura, ya que varias de ellas sedibujan en forma distinta. El problema se agrav cuando la clase AreaGraficacuenta con un mtodo que requiere redibujar las figuras geomtricas de un dibujoindependientemente del tipo de figura geomtrica de que se trate en particular ypara tal efecto no se desea estar modificando el cdigo dentro de los mtodos deAreaGrafica y FiguraGeometrica cada vez que se agrega una nueva claserepresentando a un nuevo tipo de figura geomtrica. El editor grfico trabaja tantocon pixeles como con centmetros; y en cuanto a ngulos, tanto con grados comocon radianes. Se cuenta con un diagrama de clases. Son conscientes que msadelante incluirn otro tipo de figuras geomtricas.
Se proporciona el cdigo fuente ineficiente; que tiene a nivel base una cadena decondicionantes por tipo de clase.(LIGA A CODIGO FUENTE)
-
8/12/2019 POO_SE
50/169
Programacin Orientada a Objetos
Modelo Paracurricular Desarrollador de Software 2004 V.1.0.0. 40
Gua Tutorial del Profesor
Materia:Programacin Orientada a Objetos
Tema:Polimorfismo
Objetivos de Aprendizaje
El Alumno:
Describir los conceptos de polimorfismo Comprender su representacin en UML Programar en distintos lenguajes de programacin Evaluar tales implementaciones cmo?
Tcnica Didctica:Aprendizaje Basado en Problemas (ABP)
Escenario A
La programacin de un editor grfico que maneja figuras geomtricas (cuadrado,crculo, rectngulo, tringulo) se ha complicado ya que la clase base a todas ellasFiguraGeomtrica tiene mtodos que se heredan (redibujar, posicionar,redimensionar, rotar, calcularArea); sin embargo cada vez que se agrega unafigura geomtrica distinta, como por ejemplo rombo, tiene que modificarse elcontenido de estos mtodos conforme al tipo de figura, ya que varias de ellas sedibujan en forma distinta. El problema se agrav cuando la clase AreaGraficacuenta con un mtodo que requiere redibujar las figuras geomtricas de un dibujoindependientemente del tipo de figura geomtrica de que se trate en particular ypara tal efecto no se desea estar modificando el cdigo dentro de los mtodos deAreaGrafica y FiguraGeometrica cada vez que se agrega una nueva claserepresentando a un nuevo tipo de figura geomtrica. El editor grfico trabaja tantocon pixeles como con centmetros; y en cuanto a ngulos, tanto con grados comocon radianes. Se cuenta con un diagrama de clases. Son conscientes que msadelante incluirn otro tipo de figuras geomtricas.
Se proporciona el cdigo fuente ineficiente; que tiene a nivel base una cadena decondicionantes por tipo de clase (Codigo)
Posibles trminos que deban clarificarseDefinicin esperada del problema
-
8/12/2019 POO_SE
51/169
Programacin Orientada a Objetos
Modelo Paracurricular Desarrollador de Software 2004 V.1.0.0. 41
Puedo programar mtodos genricos a partir de las clasesbase y ser a su vez tiles a clases derivadas?
Preguntas esperadas en el anlisis del problema
Es posible utilizar el polimorfismo para alterar elcomportamiento en clases derivadas?
Por qu se estn programando las mismas funcionesgrficas en cada figura geomtrica?
Si por el concepto de herencia, las clases derivadas heredanlos mtodos de las clases base; Por qu no se definieron losmtodos en la clase FiguraGeometrica?
Por qu se cuentan con unidades de medida distintas para lamisma caracterstica?
Evidencias de aprendizaje
Mtodos que puedan utilizar clases actuales y futuras que heredan caractersticasy comportamiento.
Al utilizar clases que se definen en el futuro, se comprenderla reutilizacin.
Crear mtodos que utilicen referencias de clases base y quesean instanciadas por clases derivadas
o Dentro de un mtodo
o Pasando las instancias de clases derivadas comoparmetros de tipo clase base
o Crear referencias de clases base que manejeninstancias de objetos derivados y que accesen a losmtodos de las clases derivadas
Las operaciones son parecidas pero varan ligeramente
Utilizar los mismos nombres de mtodo tanto en
o Clases distintas relacionadas a travs de la herencia
-
8/12/2019 POO_SE
52/169
Programacin Orientada a Objetos
Modelo Paracurricular Desarrollador de Software 2004 V.1.0.0. 42
o
La misma clase Utilizar diagramas de UML
Utilizar la palabra reservada (permiso de acceso) protected
Utilizar lenguaje de programacin
o C#
o Java
Metas de aprendizaje
El polimorfismo es la solucin al problema?
Por qu no hay conflicto al tener mtodos con el mismonombre?
Por qu puede haber mtodos con el mismo nombremientras la firma del mtodo cambie ligeramente?
Por qu puede haber nombres idnticos de mtodos entreclases bajo una jerarqua de herencia y dentro de la mismaclase?
Cul es la ventaja de aplicar la sobrecarga de mtodosdentro de la misma clase?
Cmo se interpreta el diagrama de clases proporcionado?
Cmo se visualiza el polimorfismo en un diagrama de clasesde UML?
Por qu puede instanciarse una clase base con una clasederivada?
Cmo encuentro el polimorfismo en el cdigo fuenteproporcionado?
-
8/12/2019 POO_SE
53/169
Programacin Orientada a Objetos
Modelo Paracurricular Desarrollador de Software 2004 V.1.0.0. 43
2.6. RelacinEl alumno comprender el concepto de relacin e identificar las partes de unarelacin de clases, tales como nombre, roles, multiplicidad.
Ejercicio1. Trabaje con el siguiente ejercicio 2.6 interactivo.
NOTA: La aplicacin interactiva arroja una evaluacin como resultadode los datos que se introduzcan. Se puede realizar el ejerciciointeractivo el nmero de veces que se desee. Realcelo hasta obtener
una calificacin aceptable.
2. Utilice el foro 2.6 de discusin para intercambiar impresiones y comentarios.
3. Complete el recuadro del ejercicio 2.6.
Nombre de Relacin Dibujo Descripcin
-
8/12/2019 POO_SE
54/169
Programacin Orientada a Objetos
Modelo Paracurricular Desarrollador de Software 2004 V.1.0.0. 44
Guia Tutorial del ProfesorMateria:Programacin Orientada a Objetos
Tema:Relaciones
Objetivos de Aprendizaje
El alumno:
Comprender el concepto de relacin y sus tipos
Evaluar situaciones de aplicacin de los tipos de relacionesentre clases
Tcnica Didctica:Simulador
Escenario
Se utilizar una herramienta grfica que presenta 4 secciones:
Una situacin
Un diagrama con 2 clases
Tipos de relacin
Comentarios
Se tendrn 8 reactivos. Para cada reactivo se dar una explicacin en la primeraseccin, se pondrn 2 clases en la segunda seccin para las que posteriormentese indicar la forma de relacionarse conforme a la explicacin de la seccinanterior; la tercera seccin tendr un listado grfico con las posibles relaciones a
utilizar, de la cual se podr seleccionar una de ellas como opcin; y la cuartaseccin expresar un puntaje conforme a la relacin seleccionada y dar unaexplicacin adicional conforme a sta. Se le indicar en qu casos es correcta yen cules no.
-
8/12/2019 POO_SE
55/169
Programacin Orientada a Objetos
Modelo Paracurricular Desarrollador de Software 2004 V.1.0.0. 45
Posibles trminos que deban clarificarseInterfaz (de clase)
Realizacin
Definicin esperada del problema
Para qu son y como se representan las relaciones entreclases?
Preguntas esperadas en el anlisis del problema
Cuntos tipos de relaciones existen?
Puede tenerse un objeto como atributo a otra clase, o sercontenido dentro de otro objeto?
Qu informacin se le puede poner a la representacin deuna relacin?
Qu condiciones debe cumplir la clase cuando se usadeterminado tipo de relacin?
Puede ponrsele nombre a la relacin?
Requerimientos para cumplir las metas de aprendizaje
Agregacin
o Declarar atributos o variables miembro como objetos
Dependencia
o Utilizar referencias a clases a travs de parmetros yvariables locales
o Vislumbrar al alumno que es necesario, en ciertasocasiones, crear un atributo que almacene la clave delobjeto
-
8/12/2019 POO_SE
56/169
Programacin Orientada a Objetos
Modelo Paracurricular Desarrollador de Software 2004 V.1.0.0. 46
Forzar a la multiplicidad de relacioneso1
on
o0...n
o1...n
om...n
Realizacin
o A travs de la simulacin de interfaces por medio deherencia
Recordar que la relacin de generalizacin se realiza a travsde la herencia
Presentar situaciones en las que es conveniente utilizar elnombre en la relacin
Presentar situaciones en las que es necesario utilizar los roles
o Situaciones comunes
o En la autorelacin (una clase se relaciona consigomisma pero el nombre de rol cambia)
Presentar situaciones en las que es necesario indicar ladireccionalidad de la relacin
Utilizar lenguaje de programacin
o C#
o Java
-
8/12/2019 POO_SE
57/169
Programacin Orientada a Objetos
Modelo Paracurricular Desarrollador de Software 2004 V.1.0.0. 47
Metas de aprendizaje
Cules son los tipos de relaciones de clases en UML?
Cmo se representan las relaciones en UML?
Qu es la multiplicidad y cmo se representa?
Existe le direccionalidad de una relacin?
En qu situaciones es conveniente utilizar las relacionesbidireccionales?
Qu son los estereotipos en las relaciones?
Para qu sirven los roles y cmo se representan?
Qu es, cmo se repres