This video lesson discusses object-oriented technology, focusing on modeling techniques using UML (Unified Modeling Language). The speaker explains how UML aids in efficient diagramming for software development, ensuring clarity for both developers and end-users.
[Música] buen día vamos a continuar nuestras lecciones sobre tecnología orientada a objetos en esta ocasión vamos a hablar un poco sobre el modelado y todos esos artefactos que me provee el ml para nosotros poder diagramar de una manera eficiente y que nuestra contraparte el usuario final entienda de qué es lo que estamos hablando y qué es lo que se va a desarrollar el modelado es importante independiente del tamaño del artefacto de software que se vaya a crear como ustedes pueden ver en esta lámina pues hay dos casas las dos para la misma utilidad para proteger a alguien de la intemperie sin embargo ambas han llevado un proceso bastante parecido para su construcción aunque una es más sencilla que la otra pero siempre ha requerido de un pequeño modelado las herramientas probablemente para construir la casa de el perro han sido mínimas mientras que las herramientas que nosotros hemos utilizado para construir una casa del tamaño que vemos son mucho más complicadas y en una cantidad mucho mayor que las de la casa para el perro qué quiere decir esto que independiente del tamaño del proyecto de software que nosotros vayamos a desarrollar siempre hay una serie de pasos hay una modelamiento de la realidad para poder plasmar esos requerimientos discutirlos tanto el desarrollador como el usuario final de el artefacto de software o de la solución que vamos a brindar para que todos estemos en sintonía y hablemos el mismo lenguaje y sepamos hacia dónde vamos normalmente para trabajar con modelados nosotros necesitamos una anotación esa notación nos la da el ml y luego necesitamos un proceso es decir que artefactos vamos a colocar en qué parte del proceso o en qué actividad del proceso de desarrollo de software y por último pues una serie de herramientas que me permiten tomar esa anotación tomar esos dibujos para plasmar los y discutir con los usuarios finales lo que se está desarrollando o lo que se va a desarrollar para qué me sirve el ml el ml pues sirve para varios propósitos actualmente se utiliza mucho para el modelado orientado a objetos que como ya hemos dicho en clases anteriores es la forma de ver el mundo y como los objetos interactúan entre sí para resolver un problema también ml me permite modelar datos es decir a partir de los diagramas de clase que nosotros generamos vamos a poder obtener un diagrama o un modelado de los datos ya sea para una base de datos orientada a objetos o para una base de datos relacional también nosotros podemos moderar componentes es decir cuáles son los componentes que este sistema de software va a contener los servidores software personas etcétera adicionalmente el ml también me permite a mí definir flujos de trabajo hay ciertas características del lenguaje que me permiten modelar cómo es la interacción que se da entre los diversos actores que hemos descubierto dentro del problema para que solucionarlo el ml como ustedes pueden observar realmente es una función de un montón de tecnologías que pues han venido evolucionando actualmente el vm la versión que tenemos es la 2.5 que pasó a sustituir la versión 2.0 de hace aproximadamente unos 4 años entonces pero él vml ustedes pueden ver que pues contiene muchas facetas de un montón de metodologías como vogue rumba jack thompson etcétera estos tres quizás son los más importantes y los que más han contribuido a que el vml sea lo que es ahora una de las mejores herramientas que me permiten modelar sistemas de información en software bien que son los modelos pues los modelos es una captura de una vista de un sistema del mundo real es una abstracción de dicho sistema considerando un cierto propósito es decir un fin describe aspectos del sistema que son relevantes para el nivel apropiado esto lo discutíamos anteriormente cuando nosotros decíamos que si vamos a desarrollar un sistema para un veterinario y un sistema para un modisto de mascotas pues la abstracción que hace el desarrollador es diferente en ambos casos pero para poder generar estos diagramas nosotros necesitamos modelos diagramas perdón que es como la representación gráfica del mundo y aquí es donde el vl nos provee una riqueza de figuras que me permiten hacer este modelo y que ese modelo sea rico tanto para el usuario final como para el desarrollador como para el analista y como para la persona que ha contratado en los servicios para desarrollar el software dentro de los elementos que el mlm provee tenemos el diagrama de caso de usos que quizás es con el que se comienza un análisis orientado a objetos en posteriores vídeos vamos a entrar en más detalle en cada uno de estos diagramas que nosotros tenemos acá luego en importancia quizás le seguiría el orden en el orden el diagrama de clases juntos los dos son los que más se utilizan para el modelamiento de sistemas también hay existen diagramas de comportamiento es decir aquellos que me van a visualizar cómo es la interacción que existe entre varios actores también hay diagramas de interacción donde nosotros podemos ver claramente si una clase interactúa con otra clase y cuáles son los mensajes que cada una de ellas recibe o envía para que una clase determinada haga cierto trabajo también tenemos diagramas de implementación entonces nosotros decimos ok el servidor va a estar acá va a contener estas tecnologías dentro del servidor va a estar instalado este sistema o este componente del sistema en este otro servidor está instalado el otro componente del sistema vamos a utilizar una topología tal etcétera entonces los diagramas de implementación le permiten a los desarrolladores y a los que implementan el sistema conocer de primera mano ósea dónde va a estar cada cosa que nosotros vamos a estar desarrollando o que el equipo va a estar desarrollando normalmente cuando nosotros vamos a desarrollar diagramas ml como hemos visto son una cantidad bastante grande hay ciertos modelos que definen que colocar y para quién colocar esto quizás el modelo que más se utiliza es este que ustedes ven acá el modelo de las cuatro más un vista en donde ustedes colocan una pista lógica del sistema es decir todo aquello que ustedes han abstraído de la realidad las clases por ejemplo que me dice o sea cuáles son las que intervienen para solucionar el problema el diagrama de caso de uso por ejemplo también se utiliza en la vista lógica también la vista de realización en donde nosotros tenemos diagramas de iteración verdad entre las diversas clases vista de procesos en la cual nosotros también podemos incluir los casos de uso las vistas de distribución o las de despliegue tal y como lo habíamos mencionado anteriormente en la cual pues nosotros tenemos en qué lugar va a estar cada componente y la vista de caso de usos que como ustedes pueden observar quizás de la que más se utiliza para poder diagramar las otras cuatro vistas que ustedes tienen ahí este modelo es utilizado por muchas empresas de desarrollo de software muy fuertes entre ella y hewlett packard que es que básicamente pues presentó este modelo como un estándar para que se utilice dentro de lo que es la industria vean el modelo conceptual del ml como ustedes pueden ver pues tiene ciertos bloques básicos que nosotros los debemos de conocer para comenzar a diagramar tiene las reglas o la sintaxis que me permite utilizar cada uno de esos de esas figuras y en el orden en el cual van a ser colocadas y luego algunos mecanismos comunes o sea que tenemos para posiblemente agrandar los el conjunto de figuras que nosotros tenemos o para colocar comentarios etcétera etcétera entonces el modelo conceptual del vml básicamente tiene esto no las figuras la forma en sintaxis de como nosotros vamos a trabajar con esas figuras y cómo extendemos estos diagramas de ml veamos estos elementos las partes estructurales de lml básicamente son lo que me dice los modelos o sea que tenemos la vista de clases la vista de caso de uso la vista de paquetes etcétera existe una diversidad de vistas que nosotros podemos crear cada vista por supuesto está diseñada para un usuario en particular por ejemplo la vista de caso de usos difícilmente se la podemos dar a un desarrollador porque él no sabría qué hacer con ésta en cambio la vista de caso de uso si se utiliza para tratar con el usuario final los requerimientos osea del sistema es decir ese me va a entender qué es lo que el sistema quiere hacer y yo le estoy diciendo que es esto realmente lo que quiere hacer entonces con un modelo de caso de usos trabajamos con el usuario final pero difícilmente podemos trabajar con el desarrollador de la aplicación probablemente el desarrollador si necesite un diagrama de comportamiento verdad como un elemento de comportamiento donde él vea cuáles son las clases que están interactuando también para crear anotaciones anotaciones es la explicación para como los comentarios que utilizamos en los programas se utilizan también y también elementos para agrupar es decir para crear paquetes sí pues vamos a crear una librería que va a servir para toda la organización una librería que me permite autenticar me contra los servidores por ejemplo entonces es la misma para toda la empresa entonces la podemos agrupar entonces estos elementos son los que normalmente verdad están interviniendo dentro de lo que son la mayoría de los elementos del ml ya sé agregando los tenemos que los elementos estructurales son las clases las interfaces y los nodos es decir servidores por ejemplo comunicaciones entre las personas o entre los artefactos de software los casos de uso clases activas objetos normalmente el diagrama de objetos ya no se utiliza solamente se utiliza diagramas de clase también nosotros tenemos la parte de los comportamientos verdad es decir los mensajes que cada una de las clases se envía para poder interactuar y para poder realizar cierto trabajo el paquete o las agrupaciones este es el diagrama que nosotros vamos a utilizar para decir que estamos generando un paquete y todo lo que está contenido dentro de ese diagrama se considera parte de una librería o sea que va a ser utilizada por todos dentro de la organización y las anotaciones que son para pues describir un poco más cada una de las clases o cada uno de los casos de uso etcétera entonces comentarios básicamente que se añaden a cada uno de los diagramas que nosotros vamos a estar diseñando también hemos dicho que existen relaciones quizás de las relaciones más que más importan son las estas que aparecen acabará la de dependencia la de asociación ya cuando nosotros asociamos una clase con otra clase es decir por ejemplo un alumno pues está asociado con una clase que se llama materias o con una clase que se llama carreras en una universidad también la de dependencia es cuando pues por ejemplo nosotros tenemos una clase trabajadora pero hay un seguro por ejemplo no y la empresa lo asume y vamos a modelar también eso entonces si el trabajador no existe entonces los dependientes o las personas que están aseguradas por el trabajador tampoco van a existir entonces a eso se refiere una relación de dependencia la generalización y la de realización normalmente estas son las que más se utilizan en especial la de asociación y la de generalización verdad son las que más se utilizan en la generalización es cuando nosotros pues creamos una clase y luego otra subclase data para poder hacer la herencia veamos este ejemplo un diagrama de clases en el cual ustedes tienen en este caso a un vendedor un vendedor puede realizar una o muchas ventas esa venta puede tener uno o muchos detalles es decir en una venta no solamente se da un producto sino que se van varios productos probablemente a no ser que el modelo de negocios de la empresa solo sea vender un producto en ese caso la relación debería de estar de 1 a 1 entonces esto es una forma de representar un diagrama de clases que nosotros se lo damos al desarrollador para que éste comience a programar o a digitar verdad la solución que se le está pidiendo también ustedes pueden observar que tiene métodos como calcular el iba a calcular el importe etcétera asignar alguna cuota al vendedor calcular sus comisiones que son ciertos métodos verdad o ciertos verbos que cada uno de ellos realiza para los diagramas de caso de uso pues utilizamos esta anotación un muñequito que representa el actor d una tarea que se va a realizar dentro de lo que es el sistema verdad círculo que representa el caso de uso verdad es decir si el caso de uso por ejemplo se llama realizar ventas entonces colocamos realizar ventas y además los límites del sistema guardar se colocan en un rectángulo también existen algunas reglas verdad de asociación entre los actores y algunos casos de usos por ejemplo los extend y los include que son formas de decir que hay en el caso del extreme que un caso de uso puede extenderse a por ejemplo yo puedo estar en una tienda virtual revisando y productos y si un producto me gusta y lo quiero adquirir entonces el caso de uso es revisar productos en la tienda entonces yo puedo extender el caso de uso realizar productos en la tienda a adquirir producto es decir no debería de irme a otra opción para poder hacer la compra sino que desde ese mismo caso de uso yo puedo llamar al otro caso de uso para que se pueda realizar en club es algo que se debe de hacer forzosamente por ejemplo para realizar y la impresión de un cheque podríamos decir que el usuario debe de estar siempre registrado dentro de lo que es el sistema entonces se incluye el módulo de autentificación del sistema para que pueda imprimir cheques este es un ejemplo de diagrama de colaboración en el cual pues nosotros tenemos diferentes actores de diferentes clases o sea que hemos identificado dentro de lo que es el problema y en un diagrama de colaboración si ustedes observan hay una secuencia que comienza desde el 1 donde arranca la aplicación 2 se digita el tipo de movimiento que se quiere hacer verdadero con el cajero el número de cuenta el tipo de documento que está presentando verdad el número de cheque probablemente verdad etcétera si es con cheque entonces viene y ejecuta estas opciones que ustedes tienen aquí abajo verdad validamos que el cheque no se haya sido robado verificamos que el cheque no haya sido cancelado también verdad etcétera y hay un montón de actividades que se pueden ver dentro de que es un diagrama de colaboración y nosotros podemos observar como cada uno de los actores tanto clases como actores están colaborando para que se desarrolle esta actividad dentro de lo que es el sistema esto es importante para un desarrollador por ejemplo este es un diagrama de componentes en el cual nosotros metemos en cajón amos dentro de ciertas máquinas verdad dentro de cierto el lenguaje de programación algunas rutinas y decimos verdad en la parte de reserva listado y agencia de viajes' va a estar la parte de reservaciones y la interfaz va a estar en la parte de cuando yo estoy actualizando verdad o sea cada uno de los compras o devoluciones por ejemplo de los y paquetes turísticos que han sido vendidos por ejemplo no el diagrama de despliegue como su nombre lo indica es indica en dónde están desplegadas ciertas características del sistema en este caso pues nosotros tenemos un servidor verdad donde ese servidor tiene instalado una base de datos y ahí está instalado el sistema de reservaciones dentro de lo que es el servidor esto ya sirve para el momento de cuando yo voy a implementar la solución él implementador de la solución toma este diagrama y sabe dónde debe de ir a instalar qué lo mismo pasa con la agencia de viajes en la agencia de viajes se instala un cliente de la aplicación para que pueda acceder a nuestra aplicación de venta de boletos o paquetes vacacionales lo que sea que estamos vendiendo gracias por su atención les espero ver en el próximo vídeo [Música] y [Música]