1 00:00:01,389 --> 00:00:16,210 En este ejemplo vamos a ver cómo se desarrolla una pequeña aplicación, que sería un juego de mesa como el 3 en raya, haciendo hincapié tanto en el diseño como en la implementación. 2 00:00:17,250 --> 00:00:28,570 Vemos aquí arriba un diagrama de clases reducido, donde aparecen las clases y la relación entre las clases, por ejemplo la clase partida, aquí vemos una relación de composición. 3 00:00:28,570 --> 00:00:44,750 Y aquí abajo vemos un diagrama de clases miembros, donde aparecen las clases y los miembros de esas clases, los atributos, las operaciones que luego se traducirán a métodos en la implementación y en el cuarto cajón las responsabilidades. 4 00:00:44,750 --> 00:00:53,670 este entorno didáctico es sencillo de usar y es eficiente 5 00:00:53,670 --> 00:00:58,509 porque si queremos por ejemplo modificar una clase, queremos añadir un atributo 6 00:00:58,509 --> 00:01:04,349 simplemente editaríamos aquí en esta subventana de propiedades 7 00:01:04,349 --> 00:01:09,640 y añadimos un atributo por ejemplo de tipo entero 8 00:01:09,640 --> 00:01:14,480 si quisiéramos cambiar el color de una clase por ejemplo 9 00:01:14,480 --> 00:01:23,420 Nos vamos aquí a la propiedad BG, Background, y podemos poner Red, que sea rojo, y automáticamente el color cambia a rojo. 10 00:01:24,200 --> 00:01:37,400 Eliminar un atributo es simplemente aquí borrar una línea, de tal manera que podemos crear un diagrama o modificar un diagrama de una manera muy rápida y sencilla. 11 00:01:37,400 --> 00:02:01,049 Bien, este diagrama es el diagrama de clases, que muestra la estructura estática del programa, pero tenemos también un diagrama de actividades, bueno, una serie de diagramas de actividades aquí desde A1 hasta A5, donde se muestra el comportamiento del programa. 12 00:02:01,049 --> 00:02:08,289 Se describe cuál es el comportamiento de cada operación que aparece en el diagrama de clases, 13 00:02:08,409 --> 00:02:12,750 más bien de las operaciones más importantes que requieren ser descritas. 14 00:02:13,849 --> 00:02:21,090 Aquí vemos, por ejemplo, estas notas UML que relacionan las clases con los diagramas de actividades que acabamos de ver. 15 00:02:21,789 --> 00:02:28,930 A continuación vamos a ver la implementación, que sería la traducción de este diagrama a código en Java. 16 00:02:28,930 --> 00:02:46,789 La implementación la vemos en IntelliJ. Aquí vemos la subventana de proyectos, donde aparecen las distintas clases que forman el proyecto. 17 00:02:48,050 --> 00:03:03,750 Esta es la subventana de estructura, donde si cambiamos de una clase a otra, de un fichero .java a otro, vemos cómo aquí van apareciendo los distintos miembros de esas clases, de la clase seleccionada. 18 00:03:03,750 --> 00:03:11,349 Y si marcamos en cualquier miembro, pues automáticamente nos lleva a su definición. 19 00:03:12,650 --> 00:03:21,509 Si pulsamos un atajo de teclado, vemos como abajo en verde se sobreimpresiona cuál es el atajo de teclado que estamos usando. 20 00:03:22,310 --> 00:03:31,250 Esto es de cara al alumno, pues es muy didáctico porque lógicamente el alumno ve el atajo de teclado que está usando el profesor en cada momento. 21 00:03:31,250 --> 00:03:33,650 sin tener ni siquiera que decirlo 22 00:03:33,650 --> 00:03:35,150 si pulso aquí por ejemplo 23 00:03:35,150 --> 00:03:37,169 control y también lo vemos 24 00:03:37,169 --> 00:03:39,210 control z etc 25 00:03:39,210 --> 00:03:41,509 podemos 26 00:03:41,509 --> 00:03:42,810 ejecutar el programa 27 00:03:42,810 --> 00:03:48,360 es un programa en modo texto 28 00:03:48,360 --> 00:03:51,099 vamos a jugar un poco 29 00:03:51,099 --> 00:03:54,539 empieza Juan 30 00:03:54,539 --> 00:03:55,860 María 31 00:03:55,860 --> 00:03:58,800 vemos como el programa detecta 32 00:03:58,800 --> 00:04:00,259 que ya está ocupado una casilla 33 00:04:00,259 --> 00:04:04,139 y bueno únicamente 34 00:04:04,139 --> 00:04:05,319 efecto de demostración 35 00:04:05,319 --> 00:04:07,919 vamos a finalizar 36 00:04:07,919 --> 00:04:34,959 la intenta finalizar la partida juega juan en este caso y bueno en este caso el ganador es 37 00:04:34,959 --> 00:04:42,560 es maría lo que se ha pretendido es demostrar cómo se puede desarrollar una aplicación orientada 38 00:04:42,560 --> 00:04:49,279 objeto en este caso de un juego sencillo de mesa como el tren en raya y se hace hincapié tanto en 39 00:04:49,279 --> 00:04:56,199 el diseño realizado con diagramas en un ml en un lenguaje de modelado estándar como en la 40 00:04:56,199 --> 00:05:04,540 implementación en Java, haciendo una traducción de esos diagramas a código Java. Esto se haría 41 00:05:04,540 --> 00:05:11,560 aplicando una metodología iterativa e incremental como MDS, que es una simplificación de RUQ. 42 00:05:12,579 --> 00:05:18,500 De cara al alumno, también ve una serie de herramientas CASE, como es UMLet, para dibujar 43 00:05:18,500 --> 00:05:25,420 los diagramas en UML, y también un entorno de desarrollo profesional como es Intellijota, 44 00:05:25,420 --> 00:05:41,720 Al principio de curso se utiliza BlueJ, que es un entorno de desarrollo didáctico con unos menús mucho más sencillos y luego se pasa a entornos de desarrollo más complicados, más profesionales y más completos como es IntelliJ. 45 00:05:42,480 --> 00:05:45,540 Con esto terminamos la demostración.