Closed jalcaldea closed 10 years ago
Que os parece si seguimos por aquí @baos99 y @AdrianGJ en lugar de #14 va?
Y lo dicho, después de comer voy a buscar cómo hacer los diseño.
@KekoAlk , vale seguimos por aquí. Yo despues de comer también buscaré a ver como se hacen los diseños ya que no tengo ni idea.
He encontrado un trabajo fin de carrera donde se diseña e implementa un framework. Y aunque lo diseñe con la arquitectura MVC, puede ser interesante.
@jiep Un framework, no deja de ser una clase o conjunto de clases que da funcionalidad pero que por sí sola no hace nada.
En java existen muchos, el paquete utils mismamente, así que, el que sea un framework, librería o interfaz (da igual como lo llamemos) nos es indiferente, el proceso va a ser el mismo que si diseñásemos una aplicación.
Lo verdaderamente importante es cómo realizamos el diseño a partir de una arquitectura previa.
@KekoAlk si en lo qué es un framework estamos de acuerdo.
Lo que quería destacar es justo lo que has puesto en la última línea, y ver qué pasos se han seguido para obtener el diseño.
En ese caso, mi querido @jiep en vez de colgar el pdf entero y ponerlo tal cual, podrías haber dicho que has encontrado algo y especificar que parte nos puede valer, son 175 páginas de las cuales nos valen como mucho 20 (entre la 99 y la 121 ) y ni eso..
Llevo un buen rato buscando con la esperanza de encontrar una especie de método o metodología que seguir y nada de nada. He tenido que ponerme a pensar en cómo se haría...
Lo más parecido a una conclusión ha sido al darme cuenta que en el requisito en el que "La plataforma se implementará siguiendo la arquitectura de pizarra" en realidad se descompone en muchos más requisitos, y se me ha ocurrido que podemos separar esos requisitos (ya lo he hecho: Requisitos Separados ) y a la hora de diseñar, seguir los procesos que ya conocíamos para la parte de la arquitectura sólo y más adelante completar ese diseño con los otros requisitos.
Mirad Requisitos Separados y decidme que os parece la organización así de los requisitos y la manera de diseñar.
@KekoAlk, la separación la veo bien, pero no entiendo como dices de diseñarlo
Pues primero haríamos la parte correspondiente al diseño a la arquitectura (Estos requisitos) y luego añadiriamos las funcionalidades correspondientes los otros.
"La comunicación entre la pizarra y el agente (modelo cliente-servidor) será a través del protocolo HTTP" sería mas bien organizacional ¿no?
Yo solo he copiado y pegado de antes... Y estaba puesto así, en realidad creo que es más externo que organizacional, es algo que va implicito en la arquitectura, no es algo que se imponga desde nosotros ( si queremos hacer un cliente-servidor tiene que ser por HTTP o por uno definido por nosotros) en el segundo caso si lo pondría como organizacional.
PD: Tenéis alguna herramienta para hacer UMLs? Para poder pasarlos por aqui.
EDITO: Aquí vienen unos cuantos: http://www.devcurry.com/2010/06/free-open-source-uml-tools.html
Yo creo que el de HTTP es externo ya que pienso que es un requisito de interoperabilidad.
Ya he hecho un primer diagrama de Casos de Uso, pero sólo de la parte correspondiente a la pizarra:
Tiene un aspecto raro, pero con los requisitos que tenemos es lo que ha salido, no he podido incluir el RF 2 (Requisitos separados) porque no sabia como plantearlo, aunque creo que se incluye en el caso "Comprobar nivel".
Aquí tenéis el archivo fuente.
PD: He usado Violet UML Editor, es bastante ligero y multiplataforma ya que esta implementado en Java.
He modificado ligeramente el diagrama anterior añadiendo en caso de uso "Gestionar Permisos" dando así una mejor cabida a tener distintos niveles de agentes: Por otra parte he añadido lo elementos de la plataforma, que básicamente eliminan el actor agente para dar lugar a los usuarios y la plataforma en sí. Lo he dejado de esta manera: No me acaba de convencer el papel del "Usuario" pues en realidad debería ser el de "Plataforma" pero pensándolo un poco "Plataforma" es un superusuario, el usuario con todos los permisos, así que creo que se podría reestructurar de alguna manera, pero no se exactamente cómo (si no lo habria hecho ya :stuck_out_tongue_winking_eye: ). Lo dejo para ver si se os ocurre algo a vosotros.
Aquí tenéis el archivo fuente :package: .
PD: @AdrianGJ Te lo dedico :octocat: :octocat: :octocat: :octocat: // :grin:
Feliz Año a todos!!
Le he estado dando vueltas esta noche, y he llegado a esta conclusión:
Creo que ahora, aun representando la misma idea, es mucho más conciso.
He hecho 3 diagramas de actividad, pero como no me acuerdo mucho, y dado que es una libreria y eso, no estoy muuy seguro de que estén bien. Echadles un vistazo y me decis algo para continuar y hacer los demás. [El de Comprobar Nivel] [El de Crear Usuario] [El de Iniciar Sesion]
Cómo no me digas de qué es cada uno, no me entero. :tongue:
Vale ya lo has puesto =D
Le falta la BD por algún lado, en plan conectar a la BD buscar información, obtener información, comprobar información.
P.E: El el primero entre los dos estados, yo le metería, conectar con la BD y buscar información usuario.
Vale, pero entonces la actividad de Obtener datos sobraria no?
no, tiene que obtener los datos de usuario, despues comprobar en la BD esos dato y luego mostrarlos.
mm ok, es verdad. Pero para los diagramas de leer, escribir y demás, no hace falta poner todo lo de iniciar sesion y demás no?
Hace falta hacer una llamada a "comprobar usuario" o algo asi le puse, lo que comprueba los permisos.
Aquí los diagramas corregidos y 2 o 3 más que he hecho, los demás los termino esta noche (los de actividad).
[Iniciar sesion] [Crear usuario] [comprobar nivel] [actualizar pizarra] [estadisticas] [configurar pizarra]
El de configurar pizarra quiero cambiar lo de configurar pizarra y dividirlo en un par de estados, pero no se que poner
Estan genial!! Lo único que en el 2do has cambiado Nivel válido e invalido, estan al reves! =D
EDITO: En alguno más lo has liado, pero se entiende.
Es verdad jaja, ahora lo cambio. Entonces esta noche termino todos los de actividad
Bueno, subo los diagramas de actividad y me contais que os parecen y si tengo que cambiar algo. [actualizar pizarra]
[buscar]
[comparar]
[configurar pizarra]
[crear carpeta]
[comprobar nivel]
[crear usuario]
[escribir (in)]
[escritura/lectura (rd)]
[estadisticas]
[gestionar permisos]
[iniciar sesion]
[leer (out)]
[mostrar estado]
Bueno, ya tenemos el primer diagrama de clases, éste se corresponde con la parte de requisitos (al igua que todos los anteriores) y por lo tanto no dispone de ningún método.
La idea es, el agente se conecta a la pizarra mediante una URL o IP con los datos de un usuario (userid y pass) y la pizarra o servidor le devuelve el usuario (con todos sus datos ) en caso de que la conexión se realice bien y que los datos del usuario sean correctos.
En cuanto a la clase Estado es un mecanismo simple, tiene una lista con carpetas y archivos, y cada carpeta se puede componer de mas carpetas o archivos, de forma que si yo llamase al método:
leer("/home/jesus/Documentos/memoria.tex");
Los pasos que seguiría serían:
Lo que viene siendo un sistema de archivos.
Y ya esta el de diseño, falta hacer añadir algún método mas, pero a grandes rasgos, ya está.
PD: Tan solo falta por hacer los diagramas de secuencia. ¿Quien se encarga de ir pasándolos a LaTeX?
Yo los paso
:+1: "Supervisor" !!
No se muy bien como hacer los de secuencia, ya que en internet cada uno los hace de una forma, me he guiado en estos 3 con los apuntes de MP del año pasado, pro no se seguir con escribir en la pizarra y demás. Voy a seguir mirando como se hacen.
[iniciarsesion]
[mostrarestadisticas]
[mostrarestadisticasGenerales]
EDITO: Los 2 de mostrar estadisticas están mal, falta que estabezcan conexión, y ya los hago todos así, que creo que estan bien de esa forma
Bueno estos son los diagramas que he hecho, comentad si os parecen bien y tal, o que fallos hay.
[buscar]
[configurarpizarra]
[comparar]
[crearcarpeta]
[crearusuario]
[escribir]
[escrituralectura]
[gestionarpermisos]
[iniciarsesion]
[leer]
[mostarestado]
![mostrarestadisticas]
[mostrarestadisticasgenerales]
NOTA 1: Ficheros Fuente: https://dl.dropboxusercontent.com/u/50718367/Diagramas.rar
Estan hechos con el violetUML que dijo anteriormente @KekoAlk .
NOTA 2: El diagrama de actividad de Crear Usuario estaba mal, ya que si no tiene permiso, no se crea usuario y, por tanto, no se actualiza la BD
NOTA 3 En el primer objeto de los diagramas, que pone I:, al pasarlo a la memoria hay que poner L: de Library, que me he confundido.
El correcto sería así:
EDITO: He hecho los dos diagramas de secuencia que me faltaban, aquí estan:
[comprobarnivel]
[actualizarestado]
Parecen estar bien en contenido. Lo único que se te ha colado una mayúscula al final "EStadísticas".
Y lo de establecer conexión en todas las operaciones quizás se podría explicar al principio y no sería necesario repetirlo tantas veces. Aunque es cierto que así queda más visible.
Acabado
Hay que hacer el diseño correspondiente a la segunda parte de la práctica. En cuanto estén los UMLs se puede actualizar esto para colgarlos aquí.