User Tools

Site Tools


apuntes:uml

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
apuntes:uml [2021/03/07 19:19] – [Casos de uso y Diagramas de clases] Santiago Faciapuntes:uml [2021/03/08 08:45] (current) – [Gestión del servicio público de bicicletas] Santiago Faci
Line 20: Line 20:
     * [[apuntes:uml#diagramass_de_secuencia|Diagrama de secuencia]]*     * [[apuntes:uml#diagramass_de_secuencia|Diagrama de secuencia]]*
     * Diagrama de colaboración     * Diagrama de colaboración
 +
 +----
 +
 +===== Herramientas para el diseño de Diagramas UML =====
 +
 +  * [[https://www.diagrams.net/|diagrams]] diagrams.net (draw.io) //[windows|linux|osx]//
 +  * [[https://staruml.io/|StarUML]] StarUML //[windows|linux|osx]//
 +  * [[https://www.modelio.org/|Modelio]] Modelio //[windows|linux|osx]//
  
 ---- ----
Line 53: Line 61:
 {{ youtube>tKymPlJhO2s }}\\ {{ youtube>tKymPlJhO2s }}\\
  
 +----
  
 ===== Diagramas de clases ===== ===== Diagramas de clases =====
Line 125: Line 134:
 </figure> </figure>
  
 +{{ youtube>vSx30CDT4i4 }}\\
  
 ---- ----
 +===== Ejercicios resueltos =====
  
-===== Herramientas para el diseño de Diagramas UML =====+{{ ejercicio.png}}
  
-  * [[https://www.diagrams.net/|diagrams]] diagrams.net (draw.io//[windows|linux|osx]// +==== Gestión de una biblioteca ==== 
-  * [[https://staruml.io/|StarUML]] StarUML //[windows|linux|osx]// + 
-  * [[https://www.modelio.org/|Modelio]] Modelio //[windows|linux|osx]//+Se quiere diseñar una aplicación web para la gestión de una biblioteca que funciona de la siguiente manera: 
 +  * En algún momento los usuarios tendrán que registrarse en la aplicación (y se almacenarán algunos datos sobre ellos) 
 +  * Los bibliotecarios también la utilizan para realizar su trabajo, por lo que también debe ser registrados en ellas (con la información pertinente) 
 +  * Los usuarios podrán solicitar libros (son enviados a su domicilio) y devolverlos (la biblioteca envía un mensajero a su casa) 
 +  * Los usuarios podrán renovar el carnet (el bibliotecario confirmará más adeante dicha renovación desde la aplicación) 
 +  * Los usuarios pueden enviar sugerencias de libros que les gustaría que hubiera en el catálogo 
 +  * Los usuarios pueden enviar consultas sobre libros 
 +  * Los bibliotecarios podrán consultar los libros que un usuario tiene asi como consultar el stock de la biblioteca 
 +  * Los bibliotecarios también pueden responder a las consultas de los usuarios  
 +  * Los bibliotecarios pueden actualizar/renovar el stock de libros, para lo cual tendrán que hacer un pedido a través de la aplicación 
 + 
 +=== Diagrama de casos de uso === 
 + 
 +{{ Biblioteca - Casos de uso.png }} 
 + 
 +=== Diagrama de clases === 
 + 
 +{{ Biblioteca - Diagrama de clases.png }} 
 + 
 +=== Diagrama de secuencia (Bibliotecario solicita un pedido de libros=== 
 + 
 +{{ Biblioteca - Diagrama de secuencia.png }} 
 + 
 +---- 
 + 
 +==== Gestión del servicio público de bicicletas ==== 
 + 
 +El Ayuntamiento de Zaragoza quiere implantar un sistema de control para las estaciones de bicicletas públicas que ha instalado recientemente. El objetivo es conocer donde están las bicicletas en cada momento y saber qué usuarios las han usado y cuando lo han hecho. Además, cada bicicleta tiene instalado un módulo de autodiagnóstico que detecta las averías para que éstas quede registradas y puedan ser reparadas por los técnicos del Ayuntamiento. 
 + 
 +  * De cada bicicleta se almacenará su matrícula, cuantas marchas tiene, el color, si tiene o no cesta, la velocidad máxima y si está o no averiada. 
 +  * Por otra parte, a los usuarios se les obliga a darse de alta a través de una web, aportando su DNI, nombre, apellidos, email, teléfono móvil y un número de cuenta. 
 +  * Hay que tener en cuenta que habrá muchas estaciones repartidas por la ciudad y que los usuarios deben poder consultar información relativa a éstas desde una página webel número asignado a la estación, dirección donde se encuentra, si está o no operativa, su capacidad máxima y el horario de apertura de dicha estación
 +  * Cuando el módulo de diagnóstico detecta una avería, la envía al servidor central aportando un número de avería, una descripción breve de la misma y la fecha en la que tuvo lugar. Por supuesto, habrá que saber qué bicicleta está averiada. De esa manera los mecánicos del servicio podrán consultar el fichero de averías y repararlas.  
 +  * También es importante que quede guardado qué mecánico arregló una avería determinada (de ellos se guarda su código de empleado, nombre, apellidos y teléfono móvil) teniendo en cuenta que cada uno tiene asignadas dos estaciones de las que hacerse cargo, aunque las bicicletas pueden estar en cualquier estación. 
 +  * Además, es necesario conocer en cada momento qué usuario tiene una bicicleta determinada asi como las bicicletas que han sido utilizadas por los usuarios y durante cuánto tiempo las usaron. En el caso de las averías también tienen que quedar registradas cuál fue el último usuario que usó la bicicleta averiada por si hubiera que multarlo 
 +  * Es muy importante tener en cuenta cómo funciona el proceso de desanclaje de bici por la que un usuario puede disponer de una bicicleta al pasar su tarjeta de usuario por alguna de las estaciones: 
 +    * El usuario pasa la tarjeta por el lector, éste la lee y comprueba que el usuario existe, que tiene saldo en la cuenta y que no tiene ninguna bicicleta en uso actualmente 
 +    * Tras las comprobaciones iniciales deberá comprobar si tiene bicis ancladas y si alguna se encuentra disponible (a veces las bicis están estacionadas pero pendientes de ser reparadas) 
 +    * Si todo está bien, libera el anclaje de la primera bici libre y lo notifica al usuario en la pantallaÉste tendrá 40 segundos para hacerse con la bici antes de que la estación vuelva a dejar la bicicleta anclada (por seguridad) 
 +     
 +=== Diagrama de casos de uso === 
 + 
 +{{ Bicicletas - Casos de uso.png }} 
 + 
 +=== Diagrama de clases === 
 + 
 +{{ Bicicletas - Diagrama de clases.png }} 
 + 
 +=== Diagrama de secuencia === 
 + 
 +{{ Bicicletas - Diagrama de secuencia.png }}
  
 ---- ----
Line 138: Line 199:
 ===== Ejercicios ===== ===== Ejercicios =====
  
-==== Casos de uso y Diagramas de clases ====+{{ ejercicio.png}}
  
-{{ ejercicio.png?75}}+==== Casos de uso y Diagramas de clases ====
  
   - Se quiere diseñar aplicación para gestionar todos los datos de un campeonato de fútbol sala que se organiza este año en la ciudad. Aquellos que quieran participar deberán formar un equipo (nombre, patrocinador,        color de la 1ª camiseta, color de la 2ª camiseta, categoría, . . .) e inscribirse en el campeonato. A medida que transcurran los partidos se irán almacenando los resultados de éstos, así como qué equipos lo jugaron, en qué campo se jugó, quién lo arbitró y alguna incidencia que pudiera haber ocurrido (en caso de que no ocurran incidencias no se anotará nada. Además, los participantes deberán rellenar una ficha de suscripción con algunos datos personales (nombre, apellidos, edad, dirección, teléfono, . . .)\\ \\   - Se quiere diseñar aplicación para gestionar todos los datos de un campeonato de fútbol sala que se organiza este año en la ciudad. Aquellos que quieran participar deberán formar un equipo (nombre, patrocinador,        color de la 1ª camiseta, color de la 2ª camiseta, categoría, . . .) e inscribirse en el campeonato. A medida que transcurran los partidos se irán almacenando los resultados de éstos, así como qué equipos lo jugaron, en qué campo se jugó, quién lo arbitró y alguna incidencia que pudiera haber ocurrido (en caso de que no ocurran incidencias no se anotará nada. Además, los participantes deberán rellenar una ficha de suscripción con algunos datos personales (nombre, apellidos, edad, dirección, teléfono, . . .)\\ \\
Line 208: Line 269:
   - Realiza el diagrama de secuencia del proceso de baja de un usuario en una tienda online. Para que el proceso se complete se debe comprobar antes que no tiene pedidos pendientes de entrega ni de pagar. Tras la baja efectiva en base de datos se le enviará un email de confirmación al usuario\\ \\   - Realiza el diagrama de secuencia del proceso de baja de un usuario en una tienda online. Para que el proceso se complete se debe comprobar antes que no tiene pedidos pendientes de entrega ni de pagar. Tras la baja efectiva en base de datos se le enviará un email de confirmación al usuario\\ \\
   - Realiza el diagrama de secuencia del proceso de publicación de notas finales de una aplicación de gestión académica. El proceso de publicación debe comprobar si el alumno supera o no la asignatura (verificando el valor de la nota) para registrarlo asi en la base de datos. Además, si el alumno tiene ya superadas todas las asignaturas, deberá calcular su nota final para registrarla también en la base de datos. Finalmente, debe emitir un informe de evaluación, que también se registra.   - Realiza el diagrama de secuencia del proceso de publicación de notas finales de una aplicación de gestión académica. El proceso de publicación debe comprobar si el alumno supera o no la asignatura (verificando el valor de la nota) para registrarlo asi en la base de datos. Además, si el alumno tiene ya superadas todas las asignaturas, deberá calcular su nota final para registrarla también en la base de datos. Finalmente, debe emitir un informe de evaluación, que también se registra.
- 
----- 
- 
-===== Ejercicios resueltos ===== 
- 
-==== Gestión de una biblioteca ==== 
- 
-Se quiere diseñar una aplicación web para la gestión de una biblioteca que funciona de la siguiente manera: 
-  * En algún momento los usuarios tendrán que registrarse en la aplicación (y se almacenarán algunos datos sobre ellos) 
-  * Los bibliotecarios también la utilizan para realizar su trabajo, por lo que también debe ser registrados en ellas (con la información pertinente) 
-  * Los usuarios podrán solicitar libros (son enviados a su domicilio) y devolverlos (la biblioteca envía un mensajero a su casa) 
-  * Los usuarios podrán renovar el carnet (el bibliotecario confirmará más adeante dicha renovación desde la aplicación) 
-  * Los usuarios pueden enviar sugerencias de libros que les gustaría que hubiera en el catálogo 
-  * Los usuarios pueden enviar consultas sobre libros 
-  * Los bibliotecarios podrán consultar los libros que un usuario tiene asi como consultar el stock de la biblioteca 
-  * Los bibliotecarios también pueden responder a las consultas de los usuarios  
-  * Los bibliotecarios pueden actualizar/renovar el stock de libros, para lo cual tendrán que hacer un pedido a través de la aplicación 
- 
-=== Diagrama de casos de uso === 
- 
-{{ Biblioteca - Casos de uso.png }} 
- 
-=== Diagrama de clases === 
- 
-{{ Biblioteca - Diagrama de clases.png }} 
- 
-=== Diagrama de secuencia (Bibliotecario solicita un pedido de libros) === 
- 
-{{ Biblioteca - Diagrama de secuencia.png }} 
- 
----- 
- 
-==== Gestión del servicio público de bicicletas ==== 
- 
-El Ayuntamiento de Zaragoza quiere implantar un sistema de control para las estaciones de bicicletas públicas que ha instalado recientemente. El objetivo es conocer donde están las bicicletas en cada momento y saber qué usuarios las han usado y cuando lo han hecho. Además, cada bicicleta tiene instalado un módulo de autodiagnóstico que detecta las averías para que éstas quede registradas y puedan ser reparadas por los técnicos del Ayuntamiento. 
- 
-  * De cada bicicleta se almacenará su matrícula, cuantas marchas tiene, el color, si tiene o no cesta, la velocidad máxima y si está o no averiada. 
-  * Por otra parte, a los usuarios se les obliga a darse de alta a través de una web, aportando su DNI, nombre, apellidos, email, teléfono móvil y un número de cuenta. 
-  * Hay que tener en cuenta que habrá muchas estaciones repartidas por la ciudad y que los usuarios deben poder consultar información relativa a éstas desde una página web: el número asignado a la estación, dirección donde se encuentra, si está o no operativa, su capacidad máxima y el horario de apertura de dicha estación. 
-  * Cuando el módulo de diagnóstico detecta una avería, la envía al servidor central aportando un número de avería, una descripción breve de la misma y la fecha en la que tuvo lugar. Por supuesto, habrá que saber qué bicicleta está averiada. De esa manera los mecánicos del servicio podrán consultar el fichero de averías y repararlas.  
-  * También es importante que quede guardado qué mecánico arregló una avería determinada (de ellos se guarda su código de empleado, nombre, apellidos y teléfono móvil) teniendo en cuenta que cada uno tiene asignadas dos estaciones de las que hacerse cargo, aunque las bicicletas pueden estar en cualquier estación. 
-  * Además, es necesario conocer en cada momento qué usuario tiene una bicicleta determinada asi como las bicicletas que han sido utilizadas por los usuarios y durante cuánto tiempo las usaron. En el caso de las averías también tienen que quedar registradas cuál fue el último usuario que usó la bicicleta averiada por si hubiera que multarlo 
-  * Es muy importante tener en cuenta cómo funciona el proceso de desanclaje de bici por la que un usuario puede disponer de una bicicleta al pasar su tarjeta de usuario por alguna de las estaciones: 
-    * El usuario pasa la tarjeta por el lector, éste la lee y comprueba que el usuario existe, que tiene saldo en la cuenta y que no tiene ninguna bicicleta en uso actualmente 
-    * Tras las comprobaciones iniciales deberá comprobar si tiene bicis ancladas y si alguna se encuentra disponible (a veces las bicis están estacionadas pero pendientes de ser reparadas) 
-    * Si todo está bien, libera el anclaje de la primera bici libre y lo notifica al usuario en la pantalla. Éste tendrá 40 segundos para hacerse con la bici antes de que la estación vuelva a dejar la bicicleta anclada (por seguridad) 
-     
-=== Diagrama de casos de uso === 
- 
-{{ Bicicletas - Casos de uso.png }} 
- 
-=== Diagrama de clases === 
- 
-{{ Bicicletas - Diagrama de clases.png }} 
- 
-=== Diagrama de secuencia === 
- 
-{{ Bicicleta - Diagrama de secuencia.png }} 
  
 ---- ----
  
 (c) 2020-2021 Santiago Faci (c) 2020-2021 Santiago Faci
apuntes/uml.1615144779.txt.gz · Last modified: 2021/03/07 19:19 by Santiago Faci