POO_SE

download POO_SE

of 169

Transcript of POO_SE

  • 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