pfc-prolog-cvs Mailing List for pfc-prolix (Page 2)
Status: Beta
Brought to you by:
ivanfrade
You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(77) |
Jun
(37) |
Jul
(152) |
Aug
(180) |
Sep
(45) |
Oct
|
Nov
|
Dec
|
---|
From: <iva...@us...> - 2003-09-04 18:19:41
|
Update of /cvsroot/pfc-prolog/prolix-doc/pfc-es In directory sc8-pr-cvs1:/tmp/cvs-serv30056 Modified Files: build.xml Log Message: Anyadido al clean el borrar todo el latex de codigo fuente generado Index: build.xml =================================================================== RCS file: /cvsroot/pfc-prolog/prolix-doc/pfc-es/build.xml,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** build.xml 3 Sep 2003 19:16:32 -0000 1.10 --- build.xml 4 Sep 2003 18:19:34 -0000 1.11 *************** *** 55,58 **** --- 55,62 ---- **/*.pdf" /> </delete> + <delete includeEmptyDirs="true"> + <fileset dir="${basedir}/codigo" excludes="convertir-codigo.sh, + convertir-no-java.sh" /> + </delete> <delete dir="${releasedir}" /> </target> |
From: <iva...@us...> - 2003-09-04 18:06:44
|
Update of /cvsroot/pfc-prolog/prolix-doc/pfc-es/diseno In directory sc8-pr-cvs1:/tmp/cvs-serv27226 Added Files: paquetes.tex Log Message: Anyadido fichero con el diagrama de paquetes --- NEW FILE: paquetes.tex --- (This appears to be a binary file; contents omitted.) |
From: <iva...@us...> - 2003-09-04 18:04:26
|
Update of /cvsroot/pfc-prolog/prolix-doc/pfc-es/codigo In directory sc8-pr-cvs1:/tmp/cvs-serv26640 Modified Files: convertir-codigo.sh Added Files: convertir-no-java.sh Log Message: Mejorado script para codigo java a latex - Anyadido otro para codigo no-java --- NEW FILE: convertir-no-java.sh --- #! /bin/bash # IMPORTANT: You must recreate the directory structure of source code # (excluding RUTA_JAVA) in directory where you execute de script PROJECTDIR=${HOME}/pfc/proyecto/prolix WEBDIR=${PROJECTDIR}/web FICHEROS_JSP=`find ${WEBDIR} -name "*.jsp"| cut -d "/" -f 8- | sort` init() { echo "Creando directorios..." mkdir jsp mkdir xdoclet } jsp() { SECTION_JSP=jsp/jsp.tex echo " " > ${SECTION_JSP} echo "Preparando paginas JSP..." for i in ${FICHEROS_JSP}; do ( echo -n "Procesando "; echo $i FICHERO_JSP_TEX=jsp/${i}.tex TITULO=`echo ${i}` echo "\\subsubsection{${TITULO}}" > ${FICHERO_JSP_TEX} echo "\\begin{verbatim}" >> ${FICHERO_JSP_TEX} cat ${WEBDIR}/${i} >> ${FICHERO_JSP_TEX} echo "\\end{verbatim}" >> ${FICHERO_JSP_TEX} echo "\\subsection{${TITULO}}" >> ${SECTION_JSP} echo "\\input{codigo/${FICHERO_JSP_TEX}}" >> ${SECTION_JSP} ); done } buildfile() { echo "Preparando buildfile..." # echo "\\subsection{Buildfile build.xml}" > buildxml.tex echo "\\begin{verbatim}" > buildxml.tex cat ${PROJECTDIR}/build.xml >> buildxml.tex echo "\\end{verbatim}" >> buildxml.tex } i18n() { echo "Preparando resources ..." echo "\\begin{verbatim}" > resources.tex cat ${PROJECTDIR}/etc/WebClientResources.properties >> resources.tex echo "\\end{verbatim}" >> resources.tex } xdoclet() { SECTION_XD=xdoclet/xdoclet.tex echo " " > ${SECTION_XD} echo "Preparando ficheros xdoclet...." FICHEROS_XDOCLET=`find ${PROJECTDIR}/etc -name "*.xml" | cut -d "/" -f 8-` for i in ${FICHEROS_XDOCLET}; do ( FICHERO_XD_TEX=xdoclet/${i}.tex TITULO=`echo ${i}` echo -n "Procesando "; echo $i # echo "\\subsubsection{${TITULO}}" > ${FICHERO_XD_TEX} echo "\\begin{verbatim}" > ${FICHERO_XD_TEX} cat ${PROJECTDIR}/etc/${i} >> ${FICHERO_XD_TEX} echo "\\end{verbatim}" >> ${FICHERO_XD_TEX} echo "\\subsection{${TITULO}}" >> ${SECTION_XD} echo "\\input{codigo/${FICHERO_XD_TEX}}" >> ${SECTION_XD} ); done } xslt() { echo "Hoja de transformacion..." echo "\\begin{verbatim}" > hoja-xsl.tex cat ${PROJECTDIR}/web/xsl/solution.xslt >> hoja-xsl.tex echo "\\end{verbatim}" >> hoja-xsl.tex } init jsp buildfile i18n xdoclet xslt Index: convertir-codigo.sh =================================================================== RCS file: /cvsroot/pfc-prolog/prolix-doc/pfc-es/codigo/convertir-codigo.sh,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** convertir-codigo.sh 3 Sep 2003 19:10:27 -0000 1.1 --- convertir-codigo.sh 4 Sep 2003 18:04:13 -0000 1.2 *************** *** 1,16 **** #! /bin/bash ! # IMPORTANT: You must recreate the directory structure of source code ! # (excluding RUTA_JAVA) in directory where you execute de script ! ! PROJECTDIR=${HOME}/pfc/proyecto/prolix/ ! BUILDFILE=${HOME}/pfc/proyecto/prolix/build.xml ! RUTA_JAVA=${HOME}/pfc/proyecto/prolix/src/org/asturlinux/frade/prolix/ FICHEROS_JAVA=`find ${RUTA_JAVA} -name "*.java" -print | cut -d "/" -f 12- | sort` java() { echo "Convirtiendo código Java..." ! echo "Listado ficheros Java:" > listado-java.txt for i in ${FICHEROS_JAVA}; do ( echo -n "Procesando "; --- 1,32 ---- #! /bin/bash ! PROJECTDIR=${HOME}/pfc/proyecto/prolix ! BUILDFILE=${PROJECTDIR}/build.xml ! RUTA_JAVA=${PROJECTDIR}/src/org/asturlinux/frade/prolix/ FICHEROS_JAVA=`find ${RUTA_JAVA} -name "*.java" -print | cut -d "/" -f 12- | sort` + init() + { + mkdir java + mkdir java/ejb + mkdir java/ejb/sessionjb + mkdir java/ejb/entityjb + mkdir java/web + mkdir java/web/actions + mkdir java/web/formbeans + mkdir java/web/beans + mkdir java/web/tags + mkdir java/web/servlets + mkdir java/exceptions + mkdir java/interpreter + mkdir java/interpreter/exceptions + mkdir java/interpreter/interfaces + } + + java() { echo "Convirtiendo código Java..." ! # echo "Listado ficheros Java:" > listado-java.txt for i in ${FICHEROS_JAVA}; do ( echo -n "Procesando "; *************** *** 19,23 **** TITULO=`echo ${i} | sed --expression "s+\\_+\\\\\\_+"` lgrind -i -ljava -c ${RUTA_JAVA}/${i} > java/${FICHERO_JAVA_TEX} ! echo ${i} >> listado-java.txt RAIZ_FICHERO_SECCION=`echo ${i} | cut -d "/" -f 1` FICHERO_SECCION=${RAIZ_FICHERO_SECCION}.java.tex --- 35,39 ---- TITULO=`echo ${i} | sed --expression "s+\\_+\\\\\\_+"` lgrind -i -ljava -c ${RUTA_JAVA}/${i} > java/${FICHERO_JAVA_TEX} ! # echo ${i} >> listado-java.txt RAIZ_FICHERO_SECCION=`echo ${i} | cut -d "/" -f 1` FICHERO_SECCION=${RAIZ_FICHERO_SECCION}.java.tex *************** *** 26,33 **** ); done - #echo "Convirtiendo buildfile..." - #lgrind -i -lsrc -c ${BUILDFILE} > java/build.xml.tex - } java --- 42,47 ---- ); done } + init java |
From: <iva...@us...> - 2003-09-04 17:44:01
|
Update of /cvsroot/pfc-prolog/prolix-doc/pfc-es/diseno In directory sc8-pr-cvs1:/tmp/cvs-serv22094 Modified Files: diseno.tex interprete.tex Log Message: Anyadido diagrama de paquetes Index: diseno.tex =================================================================== RCS file: /cvsroot/pfc-prolog/prolix-doc/pfc-es/diseno/diseno.tex,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** diseno.tex 3 Sep 2003 16:22:12 -0000 1.7 --- diseno.tex 4 Sep 2003 17:43:52 -0000 1.8 *************** *** 18,20 **** \input{diseno/dia-secuencia-web.tex} \clearpage ! %\input{diseno/paquetes.tex} --- 18,22 ---- \input{diseno/dia-secuencia-web.tex} \clearpage ! \section{Diagrama de paquetes} ! \input{diseno/paquetes.tex} ! \clearpage \ No newline at end of file Index: interprete.tex =================================================================== RCS file: /cvsroot/pfc-prolog/prolix-doc/pfc-es/diseno/interprete.tex,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** interprete.tex 31 Aug 2003 17:27:13 -0000 1.3 --- interprete.tex 4 Sep 2003 17:43:52 -0000 1.4 *************** *** 115,119 **** \begin{center} \begin{tabular}{|l|c|c|c|c|c|c|} \hline ! & \hspace{0pt}\textbf{Program NotLoaded} &\textbf{Create}&\hspace{0pt}\textbf{Query NotLoaded}&\hspace{0pt}\textbf{Program AlreadyLoaded}&\hspace{0pt}\textbf{Lexical}&\hspace{0pt}\textbf{Syntax} \\\hline PrologContext.load & & & & X & X & X \\\hline PrologContext.consult & X & & & & X & X \\\hline --- 115,125 ---- \begin{center} \begin{tabular}{|l|c|c|c|c|c|c|} \hline ! & \hspace{0pt}\textbf{Program} &\textbf{Create} ! &\hspace{0pt}\textbf{Query}&\hspace{0pt}\textbf{Program} ! &\hspace{0pt}\textbf{Lexical}&\hspace{0pt}\textbf{Syntax} \\ ! ! & \textbf{Not Loaded} & ! & \textbf{Not Loaded} & \textbf{Already Loaded} ! & & \\\hline PrologContext.load & & & & X & X & X \\\hline PrologContext.consult & X & & & & X & X \\\hline |
From: <iva...@us...> - 2003-09-03 19:16:35
|
Update of /cvsroot/pfc-prolog/prolix-doc/pfc-es In directory sc8-pr-cvs1:/tmp/cvs-serv12171 Modified Files: build.xml test.tex Added Files: libro.tex Log Message: Anyadido fichero definitivo para obtener el tomo del proyecto - Falta incluir algun codigo --- NEW FILE: libro.tex --- % % % Documento principal del tomo % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \documentclass [a4paper,10pt] {book} \usepackage[spanish]{babel} \usepackage[latin1]{inputenc} \usepackage{enumerate} %\usepackage[T1]{fontenc} \usepackage{pst-uml} \usepackage{rotating} \usepackage[norules,nolineno]{lgrind} \input{aux/escenarios.tex} \input{aux/estados.tex} \input{aux/casos_uso.tex} \input{aux/requisitos.tex} \begin{document} \title{Prolix : Intérprete Prolog Online} \author{Iván Frade Ortea} \date{Septiembre 2003} \maketitle \frontmatter \tableofcontents \listoffigures %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \mainmatter \chapter{Introducción} \input{introduccion/introduccion.tex} \clearpage \chapter{Análisis} \input{analisis/analisis.tex} \clearpage \chapter{Requisitos} \input{requisitos/formales.tex} \clearpage \chapter{Diseño} \input{diseno/diseno.tex} \clearpage \chapter{Proceso de desarrollo} \input{proceso/proceso.tex} \clearpage \chapter{Pruebas} \input{pruebas/pruebas.tex} \clearpage %Hay uno dentro de pruebas.tex \chapter{Manual de usuario} \input{manual/manual.tex} \clearpage \chapter{Conclusiones} \input{conclusiones/conclusiones.tex} \clearpage \chapter{Código Fuente (Servidor)} \section{Enterprise Java Beans y nucleo de la aplicación} \input{codigo/ejb.java.tex} \section{Interfaces y excepciones con el intérprete} \input{codigo/interpreter.java.tex} \section{Excepciones de la aplicación} \input{codigo/exceptions.java.tex} \clearpage \chapter{Código Fuente (Cliente)} \section{Clases para el cliente Web} \input{codigo/web.java.tex} \section{Páginas JSP} \clearpage \chapter{Ficheros auxiliares} \section{Buildfile \texttt{build.xml}} \section{Fichero de recursos (internacionalización)} \section{Información extra al XDoclet} \section{Hoja de transformación} \clearpage \backmatter \input{bibliografia.tex} \end{document} Index: build.xml =================================================================== RCS file: /cvsroot/pfc-prolog/prolix-doc/pfc-es/build.xml,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** build.xml 31 Aug 2003 17:32:05 -0000 1.9 --- build.xml 3 Sep 2003 19:16:32 -0000 1.10 *************** *** 16,20 **** <property name="version" value="0.0.1"/> <property name="releasedir" value="${basedir}/dist"/> ! <property name="latexfile" value="test"/> <property name="pdf" value="true"/> --- 16,20 ---- <property name="version" value="0.0.1"/> <property name="releasedir" value="${basedir}/dist"/> ! <property name="latexfile" value="libro"/> <property name="pdf" value="true"/> Index: test.tex =================================================================== RCS file: /cvsroot/pfc-prolog/prolix-doc/pfc-es/test.tex,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** test.tex 31 Aug 2003 17:32:05 -0000 1.8 --- test.tex 3 Sep 2003 19:16:32 -0000 1.9 *************** *** 8,12 **** %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! \documentclass [a4paper,10pt] {book} \usepackage[spanish]{babel} \usepackage[latin1]{inputenc} --- 8,12 ---- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! \documentclass [a4paper,11pt] {book} \usepackage[spanish]{babel} \usepackage[latin1]{inputenc} *************** *** 15,18 **** --- 15,19 ---- \usepackage{pst-uml} \usepackage{rotating} + \usepackage[norules,nolineno]{lgrind} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% *************** *** 35,41 **** %\clearpage ! \chapter{Diseño} ! \input{diseno/diseno.tex} ! \clearpage %\chapter{Proceso de desarrollo} --- 36,42 ---- %\clearpage ! %\chapter{Diseño} ! %\input{diseno/diseno.tex} ! %\clearpage %\chapter{Proceso de desarrollo} *************** *** 43,49 **** --- 44,80 ---- %\clearpage + %\chapter{Pruebas} + %\input{pruebas/pruebas.tex} + %\clearpage %Hay uno dentro de pruebas.tex + %\chapter{Manual de usuario} %\input{manual/manual.tex} %\clearpage + + \chapter{Conclusiones} + \input{conclusiones/conclusiones.tex} + \clearpage + + \chapter{Código Fuente (Servidor)} + \section{Enterprise Java Beans y nucleo de la aplicación} + \input{codigo/ejb.java.tex} + \section{Interfaces y excepciones con el intérprete} + \input{codigo/interpreter.java.tex} + \section{Excepciones de la aplicación} + \input{codigo/exceptions.java.tex} + \clearpage + + \chapter{Código Fuente (Cliente)} + \section{Clases para el cliente Web} + \input{codigo/web.java.tex} + \section{Páginas JSP} + \clearpage + + \chapter{Ficheros auxiliares} + \section{Buildfile \texttt{build.xml}} + \section{Fichero de recursos (internacionalización)} + \section{Información extra al XDoclet} + \section{Hoja de transformación} + \clearpage \input{bibliografia.tex} |
From: <iva...@us...> - 2003-09-03 19:14:12
|
Update of /cvsroot/pfc-prolog/prolix-doc/pfc-es/pruebas In directory sc8-pr-cvs1:/tmp/cvs-serv11517 Added Files: casosDeUso.tex pruebas.tex Log Message: Anyadido el capitulo de pruebas a la documentacion --- NEW FILE: casosDeUso.tex --- % Escenarios % \section{Pruebas orientadas por casos de uso} Siguiendo los casos de uso y escenarios de la seccion \ref{seccion:escenarios}, realizamos las pruebas del sistema, presentando en cada una la descripción de la misma, la salida esperada y la salida real obtenida. Usaremos el programa de prueba de la figura \ref{ejemploProlog} donde sea necesario. \begin{escenariosAnalisis} \begin{figure}[h] \begin{verbatim} buengrupo(X):-grupotoca(X,Y),buenamusica(Y). grupotoca(folsom,blues). grupotoca(uveocho,rock). buenamusica(soul). buenamusica(rock). buenamusica(blues). \end{verbatim} \caption{\label{ejemploProlog} Programa en prolog utilizado en las pruebas} \end{figure} %%% CASO DE USO 1 \subsection{Cargar Programa} %% Escenario 1.1 \subsubsection{Alumno carga programa} Se trata de comprobar que \texttt{Prolix} gestiona bien la carga de programas y la muestra de sus errores, no de la labor del intérprete (que además es facilmente reemplazable), por lo que no se realizan pruebas exhaustivas del lenguaje Prolog. \begin{prueba} \descripcion Carga correcta de un programa. Se utiliza como ejemplo el programa de la figura \ref{ejemploProlog}. \salidaEsperada Deberiamos avanzar a la página de introducir consultas, donde se mostrase el programa introducido. \salidaReal Se produce el efecto deseado, mostrandose la página adecuada. \end{prueba} \begin{prueba} \descripcion Carga de un programa con errores sintácticos. Se teclea el programa de ejemplo, quitanto en la linea 4 el paréntesis de cierre:\\ \begin{verbatim} buengrupo(X):-grupotoca(X,Y),buenamusica(Y). grupotoca(folsom,blues). grupotoca(uveocho,rock). buenamusica(soul. buenamusica(rock). buenamusica(blues). \end{verbatim} \salidaEsperada Deberia mostrarse un mensaje de error, y no permitir consultar el programa. \salidaReal Se muestra en pantalla el mensaje <<Error sintactico line 4:13: unexpected token: soul>>. El mensaje de error indica con acierto la linea y marca el token anterior al que da error. La diagnosticación de estos errores es parte del intérprete. \end{prueba} \begin{prueba} \descripcion Carga de un programa con errores léxicos. Introducimos el programa de ejemplo modificado con un signo que el intérprete no reconoce. En este caso <<\@>>, en la linea 2. \begin{verbatim} buengrupo(X):-grupotoca(X,Y),buenamusica(Y). grupotoca(fols@m,blues). grupotoca(uveocho,rock). buenamusica(soul). buenamusica(rock). buenamusica(blues). \end{verbatim} \salidaEsperada Deberia mostrarse un mensaje de error y el programa editable para corregir los errores. \salidaReal Aparece el programa editable, y el mensaje <<Error léxico line 2:15: unexpected char: @ >> \end{prueba} %% Escenario 1.2 \subsubsection{Alumno carga programa de biblioteca} \begin{prueba} \descripcion De toda la lista de programas de la biblioteca, el alumno escoge uno de ellos y ordena su carga en el sistema. Previamente se han cargado algunos programas en la biblioteca. \salidaEsperada El programa debe cargarse y el sistema mostrar la página de consultas, con el programa cargado (no editable). \salidaReal Llegamos a la página de consultas y se muestra el código del programa. \end{prueba} %%% CASO DE USO 2 \subsection{Ejecución de consultas y exploración de resultados} %% Escenario 2.1 \subsubsection{Alumno carga consulta} \begin{prueba} \descripcion Carga de una consulta correcta. Usando el programa de ejemplo, evaluamos \texttt{buengrupo(folsom)}. \salidaEsperada Deberia llegarse a la página de evaluar soluciones, donde se mostrase el programa y la consulta (ambos no editables), sin ninguna solución por el momento. \salidaReal Llegamos a la página esperada y se muestran tanto el programa como la consulta cargada, mientras se espera la orden de avanzar solución. \end{prueba} %% Escenario 2.2 \subsubsection{Alumno avanza hasta siguiente solución} Trataremos dos tipos de consulta: la que intenta devolver Si o No, y la que debe mostrar substituciones. \begin{prueba} \descripcion El alumno solicita avanzar hasta la siguiente solución despues de carga la consulta de la prueba anterior (\texttt{buengrupo(folsom)}). \salidaEsperada El sistema deberia devolver un \texttt{Si} la primera vez que se solicita la solución, y un \texttt{No hay mas soluciones} o mensaje equivalente las siguientes. \salidaReal Se muestra en la página de soluciones un mensaje de <<Solución 1: si>>. Al solicitar otra solución muestra el mensaje de <<No hay mas soluciones>> y desaparece la opción de mostrar soluciones. \end{prueba} \begin{prueba} \descripcion Añadimos la clausula \texttt{grupotoca(beth,pop)}. Y cargamos la consulta \texttt{buengrupo(beth)}. \salidaEsperada No deberia sorprendernos que el sistema contestase con un sonoro <<No>> a tan evidente pregunta. \salidaReal El sistema devuelve un <<No hay mas soluciones>> pues efectivamente intenta resolver la consulta, hasta explorar todas las posibilidades y no encuentra solución afirmativa. \end{prueba} \begin{prueba} \descripcion Se carga la consulta \texttt{buengrupo(X)}, para el programa ejemplo. \salidaEsperada Deberia mostrarse una solución << X = folsom >>. Si se solicita otra más << X = uveOcho >> y si se solicita una tercera, <<No hay mas soluciones>>. \salidaReal Aparecen los resultados esperados. \end{prueba} %% Escenario 2.3 \subsubsection{Alumno avanza un paso la ejecución} \begin{prueba} \descripcion Comprobaremos que el sistema, una vez cargado el programa y al consulta correctamente, es capaz de avanzar en la resolución paso a paso. Esta opción solo esta permitida en la resolución gráfica (en la resolución textual no tiene sentido). Cargamos una consulta que conlleve varios pasos como \texttt{buengrupo(X)}. \salidaEsperada El arbol de resolución deberia crear un nodo cada vez que seleccionemos avanzar un paso. \salidaReal. Efectivamente se añade un nodo en cada avance, desapareciendo la opción de avanzar un paso cuando se acaba de recorrer el arbol. \end{prueba} %% Escenario 2.4 \subsubsection{Alumno visualiza soluciones} Cuando el alumno cambia de resolución gráfica a texto, el servidor no realiza ninguna labor, se trata de visualizar los datos obtenidos en la parte cliente. Para comprobar la visualización de soluciones, cargamos programa ejemplo, consulta \texttt{buengrupo(X)} y ejecutamos distintas combinaciones de cambio entre el modo gráfico y texto, despues de realizar un paso o un avance hasta solución, o paso a paso hasta solución. \begin{prueba} \descripcion Cargada la consulta, vamos al modo gráfico y avanzamos un paso. \salidaEsperada Todavia no se ha encontrado ninguna solución, no deberia mostrarse ningun mensaje. \salidaReal Efectivamente, no se muestra ningun resultado. \end{prueba} \begin{prueba} \descripcion Cargada la consulta, vamos al modo gráfico y avanzamos hasta solución. \salidaEsperada Deberia mostrarnos un mensaje de <<solucion X = folsom>>. \salidaReal Se muestra el resultado deseado. \end{prueba} \begin{prueba} \descripcion Cargada la consulta, vamos al modo gráfico y avanzamos paso a paso hasta encontrar solución. \salidaEsperada Deberia mostrarnos las soluciones encontradas hasta el momento (continuando la prueba anterior, además de <<solución X = folsom>> deberia mostrar <<solución X = uveOcho >>). \salidaReal El resultado es el esperado. \end{prueba} %% Escenario 2.5 \subsubsection{Alumno visualiza arbol de representación de soluciones} Comprobamos al representación del arbol de resolución cuando cambiamos del modo texto al modo gráfico. \begin{prueba} \descripcion Cargamos el programa y consulta de las pruebas anteriores, y solicitamos la resolución gráfica antes de ejecutar ningun paso o avance. \salidaEsperada No debería mostrarse ningún arbol de resolución, pues no se realizó ninguna operación. \salidaReal No se muestra ninguna imagen, en la representación gráfica. \end{prueba} \begin{prueba} \descripcion Cargamos el programa y consulta de las pruebas anteriores, y solicitamos la resolución gráfica despues de ejecutar un <<avanzar hasta solución>>. \salidaEsperada Deberia mostrarse un arbol de resolución que incluyese la primera solución. \salidaReal Tal como se esperaba, aparece el arbol correcto. \end{prueba} %%% CASO DE USO 3 \subsection{Gestión de la biblioteca} %% Escenario 3.1 \subsubsection{Alumno guarda programa en biblioteca} \begin{prueba} \descripcion Se procede a guardar el programa ejemplo en la biblioteca, introduciendo todos los datos requeridos (titulo y descripcion). \salidaEsperada Si el alumno accede a la biblioteca deberia encontrarse el programa, no produciendose ningun efecto visual inmediato. \salidaReal Usandose otro escenario comprobamos que el programa esta guardado realmente. (Comprobable también en los registros del sistema). \end{prueba} \begin{prueba} \descripcion Se intenta guardar el programa en la biblioteca sin incluir el título. \salidaEsperada Deberia mostrarse un mensaje de error solicitando el dato, y no guardar nada en la biblioteca. \salidaReal Se muestra el mensaje <<Debe poner título a su programa>>, y la biblioteca no ha sufrido cambios. \end{prueba} \begin{prueba} \descripcion Se intenta guardar el programa en la biblioteca sin incluir descripción. \salidaEsperada Deberia mostrarse un mensaje de error solicitando descripción, y el programa no debe guardarse en la biblioteca. \salidaReal Se muestra el mensaje <<Debe escribir una breve descripción de su programa>> y la biblioteca no cambia. \end{prueba} \begin{prueba} \descripcion Se intenta guardar dos veces el mismo programa (el mismo título). (Se almacenan usando el título como clave). \salidaEsperada El sistema deberia informar de la coincidencia de claves. \salidaReal El sistema muestra un mensaje de <<Error guardando programa - puede que haya otro con ese titulo>>. \end{prueba} %%Escenario 3.2 \subsubsection{Alumno elimina programa propio de la biblioteca} \begin{prueba} \descripcion El alumno selecciona uno de sus programas y la opción borrar, cuando tiene 3 programas disponibles. \salidaEsperada Deberia de observar los 2 programas restantes. \salidaReal Efectivamente se muestra solo los 2 programas restantes. Y comprobando la base de datos del sistema, verificamos que le programa se ha eliminado. \end{prueba} \begin{prueba} \descripcion El alumno borra el último de sus programas. \salidaEsperada Su biblioteca deberia de mostrarse vacia. \salidaReal La biblioteca se muestra vacia. \end{prueba} %% Escenario 3.3 \subsubsection{Administrador suprime programa en la biblioteca} \begin{prueba} \descripcion Despues de hacer login como administrador, borramos un programa de la biblioteca, propiedad de otro usuario. \salidaEsperada Deberiamos visualizar la biblioteca sin el programa borrado, y el programa debe estar efectivamente eliminado. \salidaReal Comprobamos en la base de datos que el programa no está, y no se muestra en la página de biblioteca. \end{prueba} %% Escenario 3.4 \subsubsection{Alumno lista sus programas en biblioteca} \begin{prueba} \descripcion Introducimos utilizando un usuario un programa en la biblioteca. Usando un segundo usuario, introducimos otro programa en la biblioteca. Comprobamos que el segundo usuario cuando accede a sus propios programas solo puede ver el suyo. \salidaEsperada Aunque en la biblioteca haya dos programas, el usuario deberia acceder a su propia biblioteca y ver solo el suyo. \salidaReal Efectivamente se produce el efecto deseado. \end{prueba} %% Escenario 3.5 \subsubsection{Alumno lista todos los programas de la biblioteca} \begin{prueba} \descripcion El alumno debe observar todos los programas que hay disponibles en la biblioteca. \salidaEsperada Comprobamos en la base de datos los programas disponibles, hacemos login con un usuario con permisos de alumno y al acceder a la biblioteca deberia poder verlos todos. \salidaReal Se muestran todos los programas disponibles en la base de datos. \end{prueba} %% CASO DE USO 4 \subsection{Control de acceso} %% Escenario 4.1 \subsubsection{Usuario hace login en el sistema} \begin{prueba} \descripcion Alumno hace login con un usuario y clave correctos. \salidaEsperada El sistema deberia dejarnos acceder a la página de carga de programas. \salidaReal Se produce el efecto deseado. \end{prueba} \begin{prueba} \descripcion Usuario intenta entrar en el sistema sin introducir una clave. \salidaEsperada El sistema deberia mostrar un mensaje de error y permitir realizar el login correctamente. \salidaReal Se muestra la página de login con un mensaje <<debe teclear su password>>. \end{prueba} \begin{prueba} \descripcion Usuario intenta entrar en el sistema y su clave es incorrecta \salidaEsperada El sistema muestra de nuevo la página de acceso advirtiendo al usuario de su error. \salidaReal Se muestra la página de login con un mensaje <<No se pudo hacer login: nombre/clave incorrector>> \end{prueba} \begin{prueba} \descripcion Usuario con permisos de administrador introduce su nombre y clave. \salidaEsperada El sistema deberia mostrar la página de administrador. \salidaReal El sistema se dirige a la página apropiada. \end{prueba} %% Escenario 4.2 \subsubsection{Usuario hace logout en el sistema} \begin{prueba} \descripcion Desde alguna página el usuario actualmente en el sistema decide salir del mismo. \salidaEsperada Se debe mostrar la pantalla de login para que un nuevo usuario pueda utilizar el sistema. \salidaReal Se muestra la página de entrada al sistema. \end{prueba} %% Escenario 4.3 \subsubsection{Alumno se registra} \begin{prueba} \descripcion Un nuevo visitante decide registrarse e introduce sus datos correctamente en la página. \salidaEsperada El sistema deberia hacer login al mismo tiempo que registrar al usuario y almacenarlo en la base de datos. \salidaReal El usuario aparece logeado en el sistema y si comprobamos la base de datos confirmamos que sus datos han sido guardados. \end{prueba} \begin{prueba} \descripcion Un nuevo visitante decide registrarse pero introduce nombre de usuario ya registrado. \salidaEsperada El sistema deberia mostrar un mensaje de error apropiado y darle oportunidad de registrarse con otro nombre. \salidaReal El sistema vuelve a la página de registro mostrando un error <<El nombre de usuario ya esta ocupado>>. \end{prueba} \begin{prueba} \descripcion Un nuevo visitante decide registrarse pero introduce la clave y la confirmación de la clave distintas. \salidaEsperada El sistema deberia mostrar un mensaje de error apropiado y darle la oportunidad de registrarse correctamente. La base de datos no deberia almacenar ningun cambio. \salidaReal El sistema vuelve a la página de registro mostrando el mensaje de <<no coinciden el password y la confirmación>>, y la base de datos no se modifica. \end{prueba} %% Escenario 4.4. \subsubsection{Usuario cambia su clave de acceso} \begin{prueba} \descripcion El usuario que esta actualmente en el sistema decide cambiar su clave, e introduce correctamente la nueva clave y la confirmación. \salidaEsperada El usuario deberia volver a la página principal y su cambio de password quedar reflejado en la base de datos. \salidaReal El usuario aparece en la página principal y si comprobamos la base de datos podemos confirmar el cambio de clave. \end{prueba} %% CASO DE USO 5 \subsection{Gestión de usuarios} %% Escenario 5.1 \subsubsection{Administrador crea otro administrador} \begin{prueba} \descripcion Usuario con permisos de administrador, rellena correctamente los datos para crear un administrador. \salidaEsperada El sistema deberia dar de alta al nuevo administrador con los permisos adecuados en el sistema, y darle la oportunidad de hacer login. \salidaReal El sistema muestra la pantalla de login. En la base de datos comprobamos que el nuevo usuario ha sido creado y con los permisos apropiados. \end{prueba} \begin{prueba} \descripcion Usuario con permisos de adminsitrador intenta registrar un administrador con un nombre de usuario ya ocupado. \salidaEsperada Volviendo a mostrar el formulario, deberia indicarse el error. \salidaReal Se muestra en la pantalla del formulario el error <<El nombre de usuario esta ocupado>> \end{prueba} \begin{prueba} \descripcion Usuario con permisos de administrador intenta registrar otro administrador y la clave y confirmación no coinciden. \salidaEsperada Deberia mostrarse el error apropiado y dar oportunidad de corregir el dato erroneo. \salidaReal Se muestra el error <<No coincide el password y la confirmación>>. \end{prueba} %% Escenario 5.2 \subsubsection{Administrador elimina usuario de la aplicación} \begin{prueba} \descripcion Usuario con permisos de administrador escoge un usuario y seleccion la operación <<borrar>>. \salidaEsperada El usuario seleccionado no deberia aparecer en la nueva lista de usuarios, ni en la base de datos. \salidaReal Efectivamente el usuario desaparece en ambos lugares. \end{prueba} %% Escenario 5.3 %\subsubsection{Administrador cambia clave de usuario} \end{escenariosAnalisis} --- NEW FILE: pruebas.tex --- (This appears to be a binary file; contents omitted.) |
From: <iva...@us...> - 2003-09-03 19:13:12
|
Update of /cvsroot/pfc-prolog/prolix-doc/pfc-es/pruebas In directory sc8-pr-cvs1:/tmp/cvs-serv11372/pruebas Log Message: Directory /cvsroot/pfc-prolog/prolix-doc/pfc-es/pruebas added to the repository |
From: <iva...@us...> - 2003-09-03 19:12:02
|
Update of /cvsroot/pfc-prolog/prolix-doc/pfc-es/conclusiones In directory sc8-pr-cvs1:/tmp/cvs-serv11123 Added Files: conclusiones.tex Log Message: Anyadido fichero para completar con las conclusiones. Ultimo texto pendiente de escribir --- NEW FILE: conclusiones.tex --- \section{Conclusiones generales} \section{Conclusiones sobre las herramientas} \section{Conclusiones sobre la metodologia} |
From: <iva...@us...> - 2003-09-03 19:11:05
|
Update of /cvsroot/pfc-prolog/prolix-doc/pfc-es/conclusiones In directory sc8-pr-cvs1:/tmp/cvs-serv10951/conclusiones Log Message: Directory /cvsroot/pfc-prolog/prolix-doc/pfc-es/conclusiones added to the repository |
From: <iva...@us...> - 2003-09-03 19:10:30
|
Update of /cvsroot/pfc-prolog/prolix-doc/pfc-es/codigo In directory sc8-pr-cvs1:/tmp/cvs-serv10850 Added Files: convertir-codigo.sh Log Message: Anyadido script para convertir codigo fuente en java a tex usando lgrind --- NEW FILE: convertir-codigo.sh --- #! /bin/bash # IMPORTANT: You must recreate the directory structure of source code # (excluding RUTA_JAVA) in directory where you execute de script PROJECTDIR=${HOME}/pfc/proyecto/prolix/ BUILDFILE=${HOME}/pfc/proyecto/prolix/build.xml RUTA_JAVA=${HOME}/pfc/proyecto/prolix/src/org/asturlinux/frade/prolix/ FICHEROS_JAVA=`find ${RUTA_JAVA} -name "*.java" -print | cut -d "/" -f 12- | sort` java() { echo "Convirtiendo código Java..." echo "Listado ficheros Java:" > listado-java.txt for i in ${FICHEROS_JAVA}; do ( echo -n "Procesando "; echo $i FICHERO_JAVA_TEX=${i}.tex TITULO=`echo ${i} | sed --expression "s+\\_+\\\\\\_+"` lgrind -i -ljava -c ${RUTA_JAVA}/${i} > java/${FICHERO_JAVA_TEX} echo ${i} >> listado-java.txt RAIZ_FICHERO_SECCION=`echo ${i} | cut -d "/" -f 1` FICHERO_SECCION=${RAIZ_FICHERO_SECCION}.java.tex echo "\\subsection{${TITULO}}" >> ${FICHERO_SECCION} echo "\\lgrindfile{codigo/java/${FICHERO_JAVA_TEX}}" >> ${FICHERO_SECCION} ); done #echo "Convirtiendo buildfile..." #lgrind -i -lsrc -c ${BUILDFILE} > java/build.xml.tex } java |
From: <iva...@us...> - 2003-09-03 19:07:38
|
Update of /cvsroot/pfc-prolog/prolix-doc/pfc-es/codigo In directory sc8-pr-cvs1:/tmp/cvs-serv10107/codigo Log Message: Directory /cvsroot/pfc-prolog/prolix-doc/pfc-es/codigo added to the repository |
From: <iva...@us...> - 2003-09-03 16:30:05
|
Update of /cvsroot/pfc-prolog/prolix-doc/pfc-es/analisis In directory sc8-pr-cvs1:/tmp/cvs-serv11176 Modified Files: escenarios.tex Log Message: Corregidos pequenyos errores - descomentadas todas las lineas para generar documentacion completa Index: escenarios.tex =================================================================== RCS file: /cvsroot/pfc-prolog/prolix-doc/pfc-es/analisis/escenarios.tex,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** escenarios.tex 31 Aug 2003 17:20:21 -0000 1.6 --- escenarios.tex 3 Sep 2003 16:30:01 -0000 1.7 *************** *** 583,587 **** \end{figure} ! %% Caso de uso 4 \subsection{Control de acceso} %% Escenario 4.1 --- 583,587 ---- \end{figure} ! %% CASO DE USO 4 \subsection{Control de acceso} %% Escenario 4.1 |
From: <iva...@us...> - 2003-09-03 16:28:36
|
Update of /cvsroot/pfc-prolog/prolix-doc/pfc-es/proceso In directory sc8-pr-cvs1:/tmp/cvs-serv10899 Modified Files: proceso.tex Log Message: corregidos pequenyos errores Index: proceso.tex =================================================================== RCS file: /cvsroot/pfc-prolog/prolix-doc/pfc-es/proceso/proceso.tex,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** proceso.tex 26 Aug 2003 13:50:17 -0000 1.3 --- proceso.tex 3 Sep 2003 16:28:33 -0000 1.4 *************** *** 4,7 **** %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! %\input{proceso/herramientas.tex} \input{proceso/iteraciones.tex} --- 4,7 ---- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! \input{proceso/herramientas.tex} \input{proceso/iteraciones.tex} |
From: <iva...@us...> - 2003-09-03 16:27:11
|
Update of /cvsroot/pfc-prolog/prolix-doc/pfc-es/manual In directory sc8-pr-cvs1:/tmp/cvs-serv10635 Modified Files: requisitos.tex Log Message: corregidos pequenyos errores Index: requisitos.tex =================================================================== RCS file: /cvsroot/pfc-prolog/prolix-doc/pfc-es/manual/requisitos.tex,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** requisitos.tex 25 Aug 2003 20:58:48 -0000 1.1 --- requisitos.tex 3 Sep 2003 16:27:08 -0000 1.2 *************** *** 27,31 **** \subsubsection{Contenedor de aplicaciones: jBoss 3.2.1} ! Para su ejecución la aplicación se despliega en un contenedor de aplicaciones. En el caso de \textt{Prolix} se utiliza jBoss, que puede obtenerse en \cite{jboss-web}. Incluye el servidor web Tomcat. \subsubsection{Base de datos MySQL y conector Java-MySQL} --- 27,31 ---- \subsubsection{Contenedor de aplicaciones: jBoss 3.2.1} ! Para su ejecución la aplicación se despliega en un contenedor de aplicaciones. En el caso de \texttt{Prolix} se utiliza jBoss, que puede obtenerse en \cite{jboss-web}. Incluye el servidor web Tomcat. \subsubsection{Base de datos MySQL y conector Java-MySQL} |
From: <iva...@us...> - 2003-09-03 16:26:40
|
Update of /cvsroot/pfc-prolog/prolix-doc/pfc-es/introduccion In directory sc8-pr-cvs1:/tmp/cvs-serv10503 Modified Files: motivacion.tex objetivos.tex Log Message: Corregidos errores minimos Index: motivacion.tex =================================================================== RCS file: /cvsroot/pfc-prolog/prolix-doc/pfc-es/introduccion/motivacion.tex,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** motivacion.tex 19 Aug 2003 13:10:17 -0000 1.3 --- motivacion.tex 3 Sep 2003 16:26:35 -0000 1.4 *************** *** 6,10 **** \section{Motivación} ! El proyecto \Texttt{Prolix} nace bajo el amparo del proyecto Idefix, con el objetivo de proveer una herramienta de enseñanza a traves de la Web. Entre los objetivos de Idefix esta el facilitar la enseñanza a traves de internet. El auge de este medio que ya es de uso cotidiano, pone al alcanze del profesor y alumno una serie de herramientas de comunicación y consulta que sin duda pueden aprovecharse para replantear el concepto de enseñanza a distancia tradicional. Sin embargo las herramientas educativas no estan a la altura de la anteriores, teniendo que recurrir al material tradicional para realizar la labor de las asignaturas, reduciendose así el importante papel que Internet puede jugar en un canal de comunicación para el correo y la web, que si bien es un gran avance, no aprovecha ni un mínimo porcentaje de su potencial. \newline --- 6,10 ---- \section{Motivación} ! El proyecto \texttt{Prolix} nace bajo el amparo del proyecto Idefix, con el objetivo de proveer una herramienta de enseñanza a traves de la Web. Entre los objetivos de Idefix esta el facilitar la enseñanza a traves de internet. El auge de este medio que ya es de uso cotidiano, pone al alcanze del profesor y alumno una serie de herramientas de comunicación y consulta que sin duda pueden aprovecharse para replantear el concepto de enseñanza a distancia tradicional. Sin embargo las herramientas educativas no estan a la altura de la anteriores, teniendo que recurrir al material tradicional para realizar la labor de las asignaturas, reduciendose así el importante papel que Internet puede jugar en un canal de comunicación para el correo y la web, que si bien es un gran avance, no aprovecha ni un mínimo porcentaje de su potencial. \newline *************** *** 12,16 **** \newline ! \Texttt{Prolix} es una de estas herramientas: un intérprete de Prolog que funciona a traves de la Web. Enmarcandolo en el contexto anterior, los alumnos de la asignatura de Lógica o Programación Funcional, por usar un ejemplo de la facultad en la que se desarrolla este proyecto, pueden realizar sus prácticas online, en cualquier ordenador, sin requerir software adicional, mejorando así la facilidad de uso respecto a un intérprete tradicional. Pero no es esta la única ventaja que vamos a obtener de un intérprete online, pues a su alrededor pueden crearse una serie de servicios extra como una biblioteca de programas, en la que los usuarios (alumnos) pudiesen compartir programas, observando el código de ejemplos que el profesor pueda incluir o de aportaciones de otros alumnos. Desde el punto de vista de quien empieza a trabajar con Prolog (y podemos hacerlo extensible a cualquier lenguaje de programación), la observación de otro código es una ayuda considerable para su aprendizaje. Es sugerencia común entre programadores el leer código como forma de adquirir habilidad en el arte de la programación. Para el profesor, este sistema le aporta una imagen más próxima a la realidad de la evolución de sus alumnos: de un trabajo semanal (como suele ser habitual) se pasa a valorar el trabajo dia a dia, pudiendo plantear un ejercicio y resolverse en el tiempo que el alumno decida dedicarle (podria ser instantaneamente en un caso ideal). La aportación de los usuarios a la biblioteca también permite conocer el nivel de conocimiento y la evolución de los mismos. \newline --- 12,16 ---- \newline ! \texttt{Prolix} es una de estas herramientas: un intérprete de Prolog que funciona a traves de la Web. Enmarcandolo en el contexto anterior, los alumnos de la asignatura de Lógica o Programación Funcional, por usar un ejemplo de la facultad en la que se desarrolla este proyecto, pueden realizar sus prácticas online, en cualquier ordenador, sin requerir software adicional, mejorando así la facilidad de uso respecto a un intérprete tradicional. Pero no es esta la única ventaja que vamos a obtener de un intérprete online, pues a su alrededor pueden crearse una serie de servicios extra como una biblioteca de programas, en la que los usuarios (alumnos) pudiesen compartir programas, observando el código de ejemplos que el profesor pueda incluir o de aportaciones de otros alumnos. Desde el punto de vista de quien empieza a trabajar con Prolog (y podemos hacerlo extensible a cualquier lenguaje de programación), la observación de otro código es una ayuda considerable para su aprendizaje. Es sugerencia común entre programadores el leer código como forma de adquirir habilidad en el arte de la programación. Para el profesor, este sistema le aporta una imagen más próxima a la realidad de la evolución de sus alumnos: de un trabajo semanal (como suele ser habitual) se pasa a valorar el trabajo dia a dia, pudiendo plantear un ejercicio y resolverse en el tiempo que el alumno decida dedicarle (podria ser instantaneamente en un caso ideal). La aportación de los usuarios a la biblioteca también permite conocer el nivel de conocimiento y la evolución de los mismos. \newline Index: objetivos.tex =================================================================== RCS file: /cvsroot/pfc-prolog/prolix-doc/pfc-es/introduccion/objetivos.tex,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** objetivos.tex 20 Aug 2003 18:43:15 -0000 1.4 --- objetivos.tex 3 Sep 2003 16:26:35 -0000 1.5 *************** *** 10,14 **** Hablando del aspecto mas concreto del proyecto, se trata de desarrollar la interfaz Web que permita interactuar con un intérprete de Prolog existente de un Proyecto Fin de Carrera anterior. Deberia presentar el arbol de resolución del programa según avanza su ejecución, disponer de un sistema de usuarios, y una biblioteca de ejemplos donde los alumnos y profesores puedan poner sus programas a disposición de los demás. ! El proyecto, consecuente con sus intenciones educativas, se liberará como software libre. Aunque inicialmente, por ser Proyecto Fin de Carrera y por tanto trabajo individual, no resulta demasiado util esta característica, en el momento en que el programa quede liberado, cualquier programador puede modificarlo, mejorarlo y redistribuirlo. Esto permitira que con el paso del tiempo \Texttt{Prolix} se actualice por programadores que lo hayan utilizado, o lo esten utilizando y por lo tanto perciban sus carencias, evitando que el proyecto se quede obsoleto en un plazo relativamente breve de tiempo (hecho común en la informática). El objetivo de mantener vivo el proyecto, con la colaboración de los usuarios, conduce a la idea de lograr el mayor numero de usuarios posibles. Y una de las mayores trabas en la difusión de un trabajo suele ser el idioma. Por eso otro de los objetivos propuestos es lograr un sistema internacionalizable. El código fuente y la documentación de la página web estan en ingles, y todos los mensajes mostrados al usuario recogidos de tal manera que la internacionalización de la aplicación es rápida, sencilla, y asequible incluso para usuarios no programadores. --- 10,14 ---- Hablando del aspecto mas concreto del proyecto, se trata de desarrollar la interfaz Web que permita interactuar con un intérprete de Prolog existente de un Proyecto Fin de Carrera anterior. Deberia presentar el arbol de resolución del programa según avanza su ejecución, disponer de un sistema de usuarios, y una biblioteca de ejemplos donde los alumnos y profesores puedan poner sus programas a disposición de los demás. ! El proyecto, consecuente con sus intenciones educativas, se liberará como software libre. Aunque inicialmente, por ser Proyecto Fin de Carrera y por tanto trabajo individual, no resulta demasiado util esta característica, en el momento en que el programa quede liberado, cualquier programador puede modificarlo, mejorarlo y redistribuirlo. Esto permitira que con el paso del tiempo \texttt{Prolix} se actualice por programadores que lo hayan utilizado, o lo esten utilizando y por lo tanto perciban sus carencias, evitando que el proyecto se quede obsoleto en un plazo relativamente breve de tiempo (hecho común en la informática). El objetivo de mantener vivo el proyecto, con la colaboración de los usuarios, conduce a la idea de lograr el mayor numero de usuarios posibles. Y una de las mayores trabas en la difusión de un trabajo suele ser el idioma. Por eso otro de los objetivos propuestos es lograr un sistema internacionalizable. El código fuente y la documentación de la página web estan en ingles, y todos los mensajes mostrados al usuario recogidos de tal manera que la internacionalización de la aplicación es rápida, sencilla, y asequible incluso para usuarios no programadores. |
From: <iva...@us...> - 2003-09-03 16:23:45
|
Update of /cvsroot/pfc-prolog/prolix-doc/pfc-es/diseno In directory sc8-pr-cvs1:/tmp/cvs-serv9920 Added Files: secuenciac4-web.tex secuenciac5-web.tex Log Message: Anyadidas secuencas de los escenarios 4 y 5 --- NEW FILE: secuenciac4-web.tex --- %% Caso de uso 4 \subsubsection{Control de acceso} %% Escenario 4.1 \paragraph{Usuario hace login en el sistema} Dividimos la secuencia de este escenario en 2 diagramas: comenzando en la figura \ref{DSE41W} y continuando en la figura \ref{reset-beans}. La última llamada del primer diagrama, verifica si el usuario que hace login tiene permisos de administrador, para así dirigirlo a la página correspondiente. \begin{sidewaysfigure}[hpb] \begin{DiagramaSecuencia}{ [name=strutsc]\umlClass[umlShadow=false]{\underline{<<SC>>}}{} & [name=action]\umlClass[umlShadow=false]{\underline{:LoginAct}}{} & [name=formbean]\umlClass[umlShadow=false]{\underline{:LoginFB}}{} & [name=https]\umlClass[umlShadow=false]{\underline{:HttpSession}}{} & [name=accesscontrol]\umlClass[umlShadow=false]{\underline{:AccessControl}}{} & [name=loginb]\umlClass[umlShadow=false]{\underline{lb :LoginB}}{} \\[+0.5cm] %1 % \tablavacia{7}{6} % {} & {} & {} & {} & {} & {} \\ % 1 {} & {} & {} & {} & {} & {} \\ % {} & {} & {} & {} & {} & {} \\ % {} & {} & {} & {} & {} & {} \\ % {} & {} & {} & {} & {} & {} \\ %5 {} & {} & {} & {} & {} & {} \\ % {} & {} & {} & {} & {} & {} \\ % {} & {} & {} & {} & {} & {} \\ % {} & {} & {} & {} & {} & {} \\ % {} & {} & {} & {} & {} & {} \\ % {} & {} & {} & {} & {} & {} \\[0cm] % [name=strutscEnd]{} & [name=actionEnd]{} & [name=formbeanEnd]{} & [name=httpsEnd]{} & [name=accesscontrolEnd]{} & [name=loginbEnd]{} & \\[-0.5cm] % % \ncline[linestyle=dashed]{strutsc}{strutscEnd} \ncline[linestyle=dashed]{action}{actionEnd} \ncline[linestyle=dashed]{formbean}{formbeanEnd} \ncline[linestyle=dashed]{https}{httpsEnd} \ncline[linestyle=dashed]{accesscontrol}{accesscontrolEnd} \ncline[linestyle=dashed]{loginb}{loginbEnd} % \footnotesize\ttfamily% \psset{labelsep=1.5mm} \mensaje{1}{2}{<<execute>>} \mensaje{2}{3}{getUsername()} \mensaje{2}{3}{getPassword()} \mensaje{2}{4}{getAttribute(<<interpreter>>)} \mensaje{2}{5}{\simplifAntes{login(user,pass)}} \mensaje{2}{6}{<<create>>} \mensaje{2}{6}{setLoggedUser()} \mensaje{2}{5}{getLoggedUserPermissions()} \mensaje{2}{6}{setPermissions()} \mensaje{2}{5}{\simplifAntes{verifyPermissions(<<admin>>)}} \mensaje{2}{4}{setAttribute(<<login>>,lb)} }\end{DiagramaSecuencia} \caption{\label{DSE41W}Diagrama de secuencia del escenario E4.1 para el cliente Web (continua en \ref{reset-beans})} \end{sidewaysfigure} \begin{sidewaysfigure}[hpb] \begin{DiagramaSecuencia}{ [name=action]\umlClass[umlShadow=false]{\underline{:LoginAct}}{} & [name=https]\umlClass[umlShadow=false]{\underline{:HttpSession}}{} & [name=csbb]\umlClass[umlShadow=false]{\underline{cs :CurrentStateB}}{} & [name=lcb]\umlClass[umlShadow=false]{\underline{lc :LastConsultB}}{} \\[+0.5cm] %1 % {} & {} & {} & {} \\ % 1 {} & {} & {} & {} \\ % {} & {} & {} & {} \\ % {} & {} & {} & {} \\ % {} & {} & {} & {} \\ %5 {} & {} & {} & {} \\ % {} & {} & {} & {} \\ % {} & {} & {} & {} \\[0cm] % [name=actionEnd]{} & [name=httpsEnd]{} & [name=csbbEnd]{} & [name=lcbEnd]{} & \\[-0.5cm] % % \ncline[linestyle=dashed]{action}{actionEnd} \ncline[linestyle=dashed]{https}{httpsEnd} \ncline[linestyle=dashed]{csbb}{csbbEnd} \ncline[linestyle=dashed]{lcb}{lcbEnd} % \footnotesize\ttfamily% \psset{labelsep=1.5mm} \mensaje{1}{2}{getAttribute(<<prologData>>)} \mensaje{1}{3}{[SI cs == null] <<create>>} \mensaje{1}{3}{reset()} \mensaje{1}{2}{setAttribute(<<prologData>>,cs)} \mensaje{1}{2}{getAttribute(<<oldConsults>>)} \mensaje{1}{4}{[SI lc == null] <<create>>} \mensaje{1}{4}{reset()} \mensaje{1}{2}{setAttribute(<<oldConsults>>,lc)} }\end{DiagramaSecuencia} \caption{\label{reset-beans}Continuación del diagrama de secuencia del escenario E4.1 para el cliente Web} \end{sidewaysfigure} %% Escenario 4.2 \paragraph{Usuario hace logout en el sistema} \begin{sidewaysfigure}[hpb] \begin{DiagramaSecuencia}{ [name=strutsc]\umlClass[umlShadow=false]{\underline{<<SC>>}}{} & [name=action]\umlClass[umlShadow=false]{\underline{:LogoutAct}}{} & [name=https]\umlClass[umlShadow=false]{\underline{:HttpSession}}{} & [name=accesscontrol]\umlClass[umlShadow=false]{\underline{:AccessControl}}{} & [name=loginb]\umlClass[umlShadow=false]{\underline{lb :LoginB}}{} \\[+0.5cm] %1 % \tablavacia{7}{6} % {} & {} & {} & {} & {} \\ % 1 {} & {} & {} & {} & {} \\ % {} & {} & {} & {} & {} \\ % {} & {} & {} & {} & {} \\ % {} & {} & {} & {} & {} \\ %5 {} & {} & {} & {} & {} \\ % {} & {} & {} & {} & {} \\ % {} & {} & {} & {} & {} \\ % {} & {} & {} & {} & {} \\ % {} & {} & {} & {} & {} \\ % {} & {} & {} & {} & {} \\[0cm] % [name=strutscEnd]{} & [name=actionEnd]{} & [name=httpsEnd]{} & [name=accesscontrolEnd]{} & [name=loginbEnd]{} & \\[-0.5cm] % % \ncline[linestyle=dashed]{strutsc}{strutscEnd} \ncline[linestyle=dashed]{action}{actionEnd} \ncline[linestyle=dashed]{https}{httpsEnd} \ncline[linestyle=dashed]{accesscontrol}{accesscontrolEnd} \ncline[linestyle=dashed]{loginb}{loginbEnd} % \footnotesize\ttfamily% \psset{labelsep=1.5mm} \mensaje{1}{2}{<<execute>>} \mensaje{2}{3}{getAttribute(<<interpreter>>)} \mensaje{2}{4}{\simplifAntes{logout()}} \mensaje{2}{3}{getAttribute(<<login>>)} \mensaje{2}{5}{reset()} }\end{DiagramaSecuencia} \caption{\label{DSE42W}Diagrama de secuencia del escenario E4.2 para el cliente Web} \end{sidewaysfigure} %% Escenario 4.3 \paragraph{Alumno se registra} \begin{sidewaysfigure}[hpb] \begin{DiagramaSecuencia}{ [name=strutsc]\umlClass[umlShadow=false]{\underline{<<SC>>}}{} & [name=action]\umlClass[umlShadow=false]{\underline{:RegistryAct}}{} & [name=formbean]\umlClass[umlShadow=false]{\underline{:RegistryFB}}{} & [name=https]\umlClass[umlShadow=false]{\underline{:HttpSession}}{} & [name=accesscontrol]\umlClass[umlShadow=false]{\underline{:AccessControl}}{} \\[+0.5cm] %1 % \tablavacia{7}{6} % {} & {} & {} & {} & {} \\ % 1 {} & {} & {} & {} & {} \\ % {} & {} & {} & {} & {} \\ % {} & {} & {} & {} & {} \\ % {} & {} & {} & {} & {} \\ %5 {} & {} & {} & {} & {} \\[0cm] % [name=strutscEnd]{} & [name=actionEnd]{} & [name=formbeanEnd]{} & [name=httpsEnd]{} & [name=accesscontrolEnd]{} & \\[-0.5cm] % % \ncline[linestyle=dashed]{strutsc}{strutscEnd} \ncline[linestyle=dashed]{action}{actionEnd} \ncline[linestyle=dashed]{formbean}{formbeanEnd} % \ncline[linestyle=dashed]{https}{httpsEnd} \ncline[linestyle=dashed]{accesscontrol}{accesscontrolEnd} \footnotesize\ttfamily% \psset{labelsep=1.5mm} \mensaje{1}{2}{<<execute>>} \mensaje{2}{3}{getUsername()} \mensaje{2}{3}{getPassword()} \mensaje{2}{4}{getAttribute(<<interpreter>>)} \mensaje{2}{5}{\simplifAntes{signup()}} }\end{DiagramaSecuencia} \caption{\label{DSE43W}Diagrama de secuencia del escenario E4.3 para el cliente Web} \end{sidewaysfigure} %% Escenario 4.4. \paragraph{Usuario cambia su clave de acceso} \begin{sidewaysfigure}[hpb] \begin{DiagramaSecuencia}{ [name=strutsc]\umlClass[umlShadow=false]{\underline{<<SC>>}}{} & [name=action]\umlClass[umlShadow=false]{\underline{:ChangePasswordAct}}{} & [name=formbean]\umlClass[umlShadow=false]{\underline{:ChangePasswordFB}}{} & [name=https]\umlClass[umlShadow=false]{\underline{:HttpSession}}{} & [name=accesscontrol]\umlClass[umlShadow=false]{\underline{:AccessControl}}{} \\[+0.5cm] %1 % \tablavacia{7}{6} % {} & {} & {} & {} & {} \\ % 1 {} & {} & {} & {} & {} \\ % {} & {} & {} & {} & {} \\ % {} & {} & {} & {} & {} \\ %5 {} & {} & {} & {} & {} \\[0cm] % [name=strutscEnd]{} & [name=actionEnd]{} & [name=formbeanEnd]{} & [name=httpsEnd]{} & [name=accesscontrolEnd]{} & \\[-0.5cm] % % \ncline[linestyle=dashed]{strutsc}{strutscEnd} \ncline[linestyle=dashed]{action}{actionEnd} \ncline[linestyle=dashed]{formbean}{formbeanEnd} % \ncline[linestyle=dashed]{https}{httpsEnd} \ncline[linestyle=dashed]{accesscontrol}{accesscontrolEnd} \footnotesize\ttfamily% \psset{labelsep=1.5mm} \mensaje{1}{2}{<<execute>>} \mensaje{2}{3}{getNewPassword()} \mensaje{2}{4}{getAttribute(<<interpreter>>)} \mensaje{2}{5}{\simplifAntes{changePassword(<<new>>)}} }\end{DiagramaSecuencia} \caption{\label{DSE44W}Diagrama de secuencia del escenario E4.4 para el cliente Web} \end{sidewaysfigure} --- NEW FILE: secuenciac5-web.tex --- (This appears to be a binary file; contents omitted.) |
Update of /cvsroot/pfc-prolog/prolix-doc/pfc-es/diseno In directory sc8-pr-cvs1:/tmp/cvs-serv9465 Modified Files: dia-secuencia-web.tex diseno.tex secuenciac2-web.tex secuenciac2.tex secuenciac3-web.tex secuenciac3.tex Log Message: acabadas secuencias - descomentado todo para compilar la documentacion completa Index: dia-secuencia-web.tex =================================================================== RCS file: /cvsroot/pfc-prolog/prolix-doc/pfc-es/diseno/dia-secuencia-web.tex,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** dia-secuencia-web.tex 1 Sep 2003 20:26:04 -0000 1.2 --- dia-secuencia-web.tex 3 Sep 2003 16:22:12 -0000 1.3 *************** *** 7,11 **** \subsection{Diagramas de secuencia} ! \paragraph{Notación} \\ Debido al número de clases implicado y la longitud de sus nombres, estos diagramas resultan muy anchos. Para solventar este problema y facilitar su lectura, se abrevian \emph{en los nombres de las clases} los siguientes términos (además de los que se especifiquen en cada diagrama en concreto): \begin{itemize} --- 7,13 ---- \subsection{Diagramas de secuencia} ! \paragraph{Notación} ! ! Debido al número de clases implicado y la longitud de sus nombres, estos diagramas resultan muy anchos. Para solventar este problema y facilitar su lectura, se abrevian \emph{en los nombres de las clases} los siguientes términos (además de los que se especifiquen en cada diagrama en concreto): \begin{itemize} *************** *** 20,24 **** \clearpage \input{diseno/secuenciac3-web.tex} ! %\input{diseno/secuenciac4-web.tex} ! %\input{diseno/secuenciac5-web.tex} \clearpage --- 22,26 ---- \clearpage \input{diseno/secuenciac3-web.tex} ! \input{diseno/secuenciac4-web.tex} ! \input{diseno/secuenciac5-web.tex} \clearpage Index: diseno.tex =================================================================== RCS file: /cvsroot/pfc-prolog/prolix-doc/pfc-es/diseno/diseno.tex,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** diseno.tex 31 Aug 2003 22:24:07 -0000 1.6 --- diseno.tex 3 Sep 2003 16:22:12 -0000 1.7 *************** *** 4,16 **** %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! %\input{diseno/j2ee-uml.tex} ! %\clearpage ! %\input{diseno/general.tex} ! %\clearpage ! %\input{diseno/interprete.tex} ! %\clearpage ! %\section{Diseño de la aplicación en el lado del servidor} ! %\input{diseno/clases/clases.tex} ! %\clearpage \input{diseno/dia-secuencia.tex} \clearpage --- 4,16 ---- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! \input{diseno/j2ee-uml.tex} ! \clearpage ! \input{diseno/general.tex} ! \clearpage ! \input{diseno/interprete.tex} ! \clearpage ! \section{Diseño de la aplicación en el lado del servidor} ! \input{diseno/clases/clases.tex} ! \clearpage \input{diseno/dia-secuencia.tex} \clearpage Index: secuenciac2-web.tex =================================================================== RCS file: /cvsroot/pfc-prolog/prolix-doc/pfc-es/diseno/secuenciac2-web.tex,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** secuenciac2-web.tex 1 Sep 2003 20:26:04 -0000 1.1 --- secuenciac2-web.tex 3 Sep 2003 16:22:12 -0000 1.2 *************** *** 5,9 **** \paragraph{Alumno carga consulta} ! Diagrama de secuencia en la figura \ref{DSE21W}. Representamos \texttt{LoadProgram} como \texttt{LP}, tanto en el \texttt{action} como en el \textt{formbean}. \begin{sidewaysfigure}[hpb] --- 5,9 ---- \paragraph{Alumno carga consulta} ! Diagrama de secuencia en la figura \ref{DSE21W}. Representamos \texttt{LoadProgram} como \texttt{LP}, tanto en el \texttt{action} como en el \texttt{formbean}. \begin{sidewaysfigure}[hpb] *************** *** 257,261 **** \mensaje{2}{3}{createTransitionId()} }\end{DiagramaSecuencia} ! \caption{\label{transf-svg}Diagrama de secuencia de la operación \textttt{transform} de la clase \texttt{SvgGenerator}} \end{figure} --- 257,261 ---- \mensaje{2}{3}{createTransitionId()} }\end{DiagramaSecuencia} ! \caption{\label{transf-svg}Diagrama de secuencia de la operación \texttt{transform} de la clase \texttt{SvgGenerator}} \end{figure} Index: secuenciac2.tex =================================================================== RCS file: /cvsroot/pfc-prolog/prolix-doc/pfc-es/diseno/secuenciac2.tex,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** secuenciac2.tex 31 Aug 2003 22:24:07 -0000 1.3 --- secuenciac2.tex 3 Sep 2003 16:22:12 -0000 1.4 *************** *** 246,250 **** \mensaje{3}{6}{getParent()} }\end{DiagramaSecuencia} ! \caption{\label{transformToTreeXml}Diagrama de secuencia de la operación TransformationControl::transformToTreeXml()} \end{sidewaysfigure} --- 246,250 ---- \mensaje{3}{6}{getParent()} }\end{DiagramaSecuencia} ! \caption{\label{transformToTreeXml}Diagrama de secuencia de la operación TransformationControl :: transformToTreeXml()} \end{sidewaysfigure} *************** *** 254,258 **** \paragraph{Alumno avanza un paso la ejecución} ! El diagrama de este escenario (figura \ref{DSE23}) resulta bastante simple pues dos operaciones complejas están reflejadas en diagramas anteriores: \texttt{getStudentRole()} de \texttt{AccessControl} formando parte de la figura \ref{DSE11} y \texttt{TransformationControl::transformToTreeXml} en \ref{transformToTreeXml}. \begin{figure} --- 254,258 ---- \paragraph{Alumno avanza un paso la ejecución} ! El diagrama de este escenario (figura \ref{DSE23}) resulta bastante simple pues dos operaciones complejas están reflejadas en diagramas anteriores: \texttt{getStudentRole()} de \texttt{AccessControl} formando parte de la figura \ref{DSE11} y \texttt{TransformationControl :: transformToTreeXml} en \ref{transformToTreeXml}. \begin{figure} *************** *** 297,299 **** \end{figure} ! Los siguientes escenarios de este caso de uso implican solo operaciones en el lado del servidor. \ No newline at end of file --- 297,299 ---- \end{figure} ! Los siguientes escenarios de este caso de uso implican solo operaciones en el lado del cliente. \ No newline at end of file Index: secuenciac3-web.tex =================================================================== RCS file: /cvsroot/pfc-prolog/prolix-doc/pfc-es/diseno/secuenciac3-web.tex,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** secuenciac3-web.tex 1 Sep 2003 20:27:55 -0000 1.1 --- secuenciac3-web.tex 3 Sep 2003 16:22:12 -0000 1.2 *************** *** 3,7 **** %% Escenario 3.1 - %% Precondiciones: Haber cargado un porgrama con exito \paragraph{Alumno guarda programa en la biblioteca} --- 3,6 ---- *************** *** 58,60 **** --- 57,289 ---- }\end{DiagramaSecuencia} \caption{\label{DSE31W}Diagrama de secuencia del escenario E3.1 para el cliente Web} + \end{sidewaysfigure} + + %%Escenario 3.2 + \paragraph{Alumno elimina programa propio de la biblioteca} + + Diagrama de secuencia en la figura \ref{DSE32W}. + + \begin{sidewaysfigure}[hpb] + \begin{DiagramaSecuencia}{ + [name=strutsc]\umlClass[umlShadow=false]{\underline{<<SC>>}}{} + & [name=action]\umlClass[umlShadow=false]{\underline{:ManageProgramsAct}}{} + & [name=formbean]\umlClass[umlShadow=false]{\underline{:ManageProgramsFB}}{} + & [name=https]\umlClass[umlShadow=false]{\underline{:HttpSession}}{} + & [name=accesscontrol]\umlClass[umlShadow=false]{\underline{:AccessControl}}{} + & [name=lm]\umlClass[umlShadow=false]{\underline{:LibraryManagement}}{} + & [name=lb]\umlClass[umlShadow=false]{\underline{lb :LibraryBean}}{} + \\[+0.5cm] %1 + % \tablavacia{7}{6} + % + {} & {} & {} & {} & {} & {} & {} \\ % 1 + {} & {} & {} & {} & {} & {} & {} \\ % + {} & {} & {} & {} & {} & {} & {} \\ % + {} & {} & {} & {} & {} & {} & {} \\ % + {} & {} & {} & {} & {} & {} & {} \\ %5 + {} & {} & {} & {} & {} & {} & {} \\ % + {} & {} & {} & {} & {} & {} & {} \\ % + {} & {} & {} & {} & {} & {} & {} \\ % + {} & {} & {} & {} & {} & {} & {} \\ % + {} & {} & {} & {} & {} & {} & {} \\ %10 + {} & {} & {} & {} & {} & {} & {} \\ % + {} & {} & {} & {} & {} & {} & {} \\[0cm] % + [name=strutscEnd]{} + & [name=actionEnd]{} + & [name=formbeanEnd]{} + & [name=httpsEnd]{} + & [name=accesscontrolEnd]{} + & [name=lmEnd]{} + & [name=lbEnd]{} + & \\[-0.5cm] % + % + \ncline[linestyle=dashed]{strutsc}{strutscEnd} + \ncline[linestyle=dashed]{action}{actionEnd} + \ncline[linestyle=dashed]{formbean}{formbeanEnd} + \ncline[linestyle=dashed]{https}{httpsEnd} + \ncline[linestyle=dashed]{accesscontrol}{accesscontrolEnd} + \ncline[linestyle=dashed]{lm}{lmEnd} % + \ncline[linestyle=dashed]{lb}{lbEnd} % + \footnotesize\ttfamily% + \psset{labelsep=1.5mm} + \mensaje{1}{2}{<<execute>>} + \mensaje{2}{3}{getProgramKey()} + \mensaje{2}{3}{getActionToDo() [ == delete ]} + \mensaje{2}{3}{getOrigin() [ == my-library ]} + \mensaje{2}{4}{getAttribute(<<interpreter>>)} + \mensaje{2}{5}{\simplifAntes{getLibraryManagement()}} + \mensaje{2}{6}{\simplifAntes{removeProgram(programKey)}} + \mensaje{2}{6}{\simplifAntes{retrieveUserPrograms()}} + \mensaje{2}{4}{getAttribute(<<library>>)} + \mensaje{2}{7}{setPrograms()} + \mensaje{2}{4}{setAttribute(<<library>>,lb)} + + }\end{DiagramaSecuencia} + \caption{\label{DSE32W}Diagrama de secuencia del escenario E3.2 para el cliente Web} + \end{sidewaysfigure} + + %% Escenario 3.3 + \paragraph{Administrador suprime programa en la biblioteca} + + El diagrama de secuencia (figura \ref{DSE33W}) es similar al anterior, la diferencia esta en los programas disponibles para borrar (que se muestran en otros escenarios que suceden previamente) y el destino de la operación. + + \begin{sidewaysfigure}[hpb] + \begin{DiagramaSecuencia}{ + [name=strutsc]\umlClass[umlShadow=false]{\underline{<<SC>>}}{} + & [name=action]\umlClass[umlShadow=false]{\underline{:ManageProgramsAct}}{} + & [name=formbean]\umlClass[umlShadow=false]{\underline{:ManageProgramsFB}}{} + & [name=https]\umlClass[umlShadow=false]{\underline{:HttpSession}}{} + & [name=accesscontrol]\umlClass[umlShadow=false]{\underline{:AccessControl}}{} + & [name=lm]\umlClass[umlShadow=false]{\underline{:LibraryManagement}}{} + & [name=lb]\umlClass[umlShadow=false]{\underline{lb :LibraryBean}}{} + \\[+0.5cm] %1 + % \tablavacia{7}{6} + % + {} & {} & {} & {} & {} & {} & {} \\ % 1 + {} & {} & {} & {} & {} & {} & {} \\ % + {} & {} & {} & {} & {} & {} & {} \\ % + {} & {} & {} & {} & {} & {} & {} \\ % + {} & {} & {} & {} & {} & {} & {} \\ %5 + {} & {} & {} & {} & {} & {} & {} \\ % + {} & {} & {} & {} & {} & {} & {} \\ % + {} & {} & {} & {} & {} & {} & {} \\ % + {} & {} & {} & {} & {} & {} & {} \\ % + {} & {} & {} & {} & {} & {} & {} \\ %10 + {} & {} & {} & {} & {} & {} & {} \\ % + {} & {} & {} & {} & {} & {} & {} \\[0cm] % + [name=strutscEnd]{} + & [name=actionEnd]{} + & [name=formbeanEnd]{} + & [name=httpsEnd]{} + & [name=accesscontrolEnd]{} + & [name=lmEnd]{} + & [name=lbEnd]{} + & \\[-0.5cm] % + % + \ncline[linestyle=dashed]{strutsc}{strutscEnd} + \ncline[linestyle=dashed]{action}{actionEnd} + \ncline[linestyle=dashed]{formbean}{formbeanEnd} + \ncline[linestyle=dashed]{https}{httpsEnd} + \ncline[linestyle=dashed]{accesscontrol}{accesscontrolEnd} + \ncline[linestyle=dashed]{lm}{lmEnd} % + \ncline[linestyle=dashed]{lb}{lbEnd} % + \footnotesize\ttfamily% + \psset{labelsep=1.5mm} + \mensaje{1}{2}{<<execute>>} + \mensaje{2}{3}{getProgramKey()} + \mensaje{2}{3}{getActionToDo() [ == delete ]} + \mensaje{2}{3}{getOrigin() [ == admin-library ]} + \mensaje{2}{4}{getAttribute(<<interpreter>>)} + \mensaje{2}{5}{\simplifAntes{getLibraryManagement()}} + \mensaje{2}{6}{\simplifAntes{removeProgram(programKey)}} + \mensaje{2}{6}{\simplifAntes{retrieveUserPrograms()}} + \mensaje{2}{4}{getAttribute(<<library>>)} + \mensaje{2}{7}{setPrograms()} + \mensaje{2}{4}{setAttribute(<<library>>,lb)} + + }\end{DiagramaSecuencia} + \caption{\label{DSE33W}Diagrama de secuencia del escenario E3.3 para el cliente Web} + \end{sidewaysfigure} + + %% Escenario 3.4 + \paragraph{Alumno lista sus programas en biblioteca} + + Representación de su secuencia en la figura \ref{DSE34W} + + \begin{sidewaysfigure}[hpb] + \begin{DiagramaSecuencia}{ + [name=strutsc]\umlClass[umlShadow=false]{\underline{<<SC>>}}{} + & [name=action]\umlClass[umlShadow=false]{\underline{:LoadMyProgramsAct}}{} + & [name=https]\umlClass[umlShadow=false]{\underline{:HttpSession}}{} + & [name=accesscontrol]\umlClass[umlShadow=false]{\underline{:AccessControl}}{} + & [name=lm]\umlClass[umlShadow=false]{\underline{:LibraryManagement}}{} + & [name=lb]\umlClass[umlShadow=false]{\underline{lb :LibraryBean}}{} + \\[+0.5cm] %1 + % \tablavacia{7}{6} + % + {} & {} & {} & {} & {} & {} \\ % 1 + {} & {} & {} & {} & {} & {} \\ % + {} & {} & {} & {} & {} & {} \\ % + {} & {} & {} & {} & {} & {} \\ % + {} & {} & {} & {} & {} & {} \\ %5 + {} & {} & {} & {} & {} & {} \\ % + {} & {} & {} & {} & {} & {} \\ % + {} & {} & {} & {} & {} & {} \\[0cm] % + [name=strutscEnd]{} + & [name=actionEnd]{} + & [name=httpsEnd]{} + & [name=accesscontrolEnd]{} + & [name=lmEnd]{} + & [name=lbEnd]{} + & \\[-0.5cm] % + % + \ncline[linestyle=dashed]{strutsc}{strutscEnd} + \ncline[linestyle=dashed]{action}{actionEnd} + \ncline[linestyle=dashed]{https}{httpsEnd} + \ncline[linestyle=dashed]{accesscontrol}{accesscontrolEnd} + \ncline[linestyle=dashed]{lm}{lmEnd} % + \ncline[linestyle=dashed]{lb}{lbEnd} % + \footnotesize\ttfamily% + \psset{labelsep=1.5mm} + \mensaje{1}{2}{<<execute>>} + \mensaje{2}{3}{getAttribute(<<interpreter>>)} + \mensaje{2}{4}{\simplifAntes{getLibraryManagement()}} + \mensaje{2}{5}{\simplifAntes{retrieveUserPrograms()}} + \mensaje{2}{3}{getAttribute(<<library>>)} + \mensaje{2}{6}{setPrograms()} + \mensaje{2}{3}{setAttribute(<<library>>,lb)} + + }\end{DiagramaSecuencia} + \caption{\label{DSE34W}Diagrama de secuencia del escenario E3.4 para el cliente Web} + \end{sidewaysfigure} + + %% Escenario 3.5 + \paragraph{Alumno lista todos los programas de la biblioteca} + + Diagrama de secuencia representado en la figura \ref{DSE35W}. + + \begin{sidewaysfigure}[hpb] + \begin{DiagramaSecuencia}{ + [name=strutsc]\umlClass[umlShadow=false]{\underline{<<SC>>}}{} + & [name=action]\umlClass[umlShadow=false]{\underline{:VisitLibraryAct}}{} + & [name=https]\umlClass[umlShadow=false]{\underline{:HttpSession}}{} + & [name=accesscontrol]\umlClass[umlShadow=false]{\underline{:AccessControl}}{} + & [name=lm]\umlClass[umlShadow=false]{\underline{:LibraryManagement}}{} + & [name=lb]\umlClass[umlShadow=false]{\underline{lb :LibraryBean}}{} + \\[+0.5cm] %1 + % \tablavacia{7}{6} + % + {} & {} & {} & {} & {} & {} \\ % 1 + {} & {} & {} & {} & {} & {} \\ % + {} & {} & {} & {} & {} & {} \\ % + {} & {} & {} & {} & {} & {} \\ % + {} & {} & {} & {} & {} & {} \\ %5 + {} & {} & {} & {} & {} & {} \\ % + {} & {} & {} & {} & {} & {} \\ % + {} & {} & {} & {} & {} & {} \\[0cm] % + [name=strutscEnd]{} + & [name=actionEnd]{} + & [name=httpsEnd]{} + & [name=accesscontrolEnd]{} + & [name=lmEnd]{} + & [name=lbEnd]{} + & \\[-0.5cm] % + % + \ncline[linestyle=dashed]{strutsc}{strutscEnd} + \ncline[linestyle=dashed]{action}{actionEnd} + \ncline[linestyle=dashed]{https}{httpsEnd} + \ncline[linestyle=dashed]{accesscontrol}{accesscontrolEnd} + \ncline[linestyle=dashed]{lm}{lmEnd} % + \ncline[linestyle=dashed]{lb}{lbEnd} % + \footnotesize\ttfamily% + \psset{labelsep=1.5mm} + \mensaje{1}{2}{<<execute>>} + \mensaje{2}{3}{getAttribute(<<interpreter>>)} + \mensaje{2}{4}{\simplifAntes{getLibraryManagement()}} + \mensaje{2}{5}{\simplifAntes{retrieveAllPrograms()}} + \mensaje{2}{3}{getAttribute(<<library>>)} + \mensaje{2}{6}{setPrograms()} + \mensaje{2}{3}{setAttribute(<<library>>,lb)} + + }\end{DiagramaSecuencia} + \caption{\label{DSE35W}Diagrama de secuencia del escenario E3.5 para el cliente Web} \end{sidewaysfigure} Index: secuenciac3.tex =================================================================== RCS file: /cvsroot/pfc-prolog/prolix-doc/pfc-es/diseno/secuenciac3.tex,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** secuenciac3.tex 31 Aug 2003 22:24:07 -0000 1.2 --- secuenciac3.tex 3 Sep 2003 16:22:12 -0000 1.3 *************** *** 5,9 **** \paragraph{Alumno guarda programas en la biblioteca} ! La operación \texttt{AccessControl::getLibraryManagement()}, que será utilizada en varios escenarios se representa en la figura \ref{getLM}, mientras la secuencia de este escenario se muestra en la figura \ref{DSE31}. \begin{sidewaysfigure} --- 5,9 ---- \paragraph{Alumno guarda programas en la biblioteca} ! La operación \texttt{AccessControl :: getLibraryManagement()}, que será utilizada en varios escenarios se representa en la figura \ref{getLM}, mientras la secuencia de este escenario se muestra en la figura \ref{DSE31}. \begin{sidewaysfigure} |
From: <iva...@us...> - 2003-09-03 16:22:19
|
Update of /cvsroot/pfc-prolog/prolix-doc/pfc-es/diseno/clases In directory sc8-pr-cvs1:/tmp/cvs-serv9465/clases Modified Files: clases.tex Log Message: acabadas secuencias - descomentado todo para compilar la documentacion completa Index: clases.tex =================================================================== RCS file: /cvsroot/pfc-prolog/prolix-doc/pfc-es/diseno/clases/clases.tex,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** clases.tex 31 Aug 2003 22:24:07 -0000 1.3 --- clases.tex 3 Sep 2003 16:22:13 -0000 1.4 *************** *** 7,11 **** A continuación exponemos los diagramas y una explicación detallada de las clases que componen \texttt{Prolix}. El package común a todas ellas es \texttt{org.asturlinux.frade}, por lo que lo obviamos en el nombre de cada una. ! \paragraph{Nomenclatura} \\ Se ha optado por poner los atributos de las clases con todas sus propiedades (visibilidad tipo nombre-variable), y en los métodos marcar sólo los privados con el simbolo <<$-$>>, siendo públicos por defecto. \bgroup --- 7,12 ---- A continuación exponemos los diagramas y una explicación detallada de las clases que componen \texttt{Prolix}. El package común a todas ellas es \texttt{org.asturlinux.frade}, por lo que lo obviamos en el nombre de cada una. ! \paragraph{Nomenclatura} ! Se ha optado por poner los atributos de las clases con todas sus propiedades (visibilidad tipo nombre-variable), y en los métodos marcar sólo los privados con el simbolo <<$-$>>, siendo públicos por defecto. \bgroup |
From: <iva...@us...> - 2003-09-01 20:27:58
|
Update of /cvsroot/pfc-prolog/prolix-doc/pfc-es/diseno In directory sc8-pr-cvs1:/tmp/cvs-serv26350 Added Files: secuenciac3-web.tex Log Message: anyadido fichero con el principio de secuencias del caso uso 3 --- NEW FILE: secuenciac3-web.tex --- (This appears to be a binary file; contents omitted.) |
From: <iva...@us...> - 2003-09-01 20:26:34
|
Update of /cvsroot/pfc-prolog/prolix-doc/pfc-es/diseno In directory sc8-pr-cvs1:/tmp/cvs-serv26061 Modified Files: dia-secuencia-web.tex secuenciac1-web.tex Added Files: secuenciac2-web.tex Log Message: anyadidas secuencias del caso de uso 2 para el cliente web - Arreglos menores para el caso de uso 1 --- NEW FILE: secuenciac2-web.tex --- (This appears to be a binary file; contents omitted.) Index: dia-secuencia-web.tex =================================================================== RCS file: /cvsroot/pfc-prolog/prolix-doc/pfc-es/diseno/dia-secuencia-web.tex,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** dia-secuencia-web.tex 31 Aug 2003 23:17:32 -0000 1.1 --- dia-secuencia-web.tex 1 Sep 2003 20:26:04 -0000 1.2 *************** *** 7,11 **** \subsection{Diagramas de secuencia} ! \paragraph{Notación} \\ Debido al número de clases implicado y la longitud de sus nombres, estos diagramas resultan muy anchos. Para solventar este problema y facilitar su lectura, se abrevian \emph{en los nombres de las clases} los siguientes términos: \begin{itemize} --- 7,11 ---- \subsection{Diagramas de secuencia} ! \paragraph{Notación} \\ Debido al número de clases implicado y la longitud de sus nombres, estos diagramas resultan muy anchos. Para solventar este problema y facilitar su lectura, se abrevian \emph{en los nombres de las clases} los siguientes términos (además de los que se especifiquen en cada diagrama en concreto): \begin{itemize} *************** *** 17,24 **** \input{diseno/secuenciac1-web.tex} ! %\input{diseno/secuenciac2.tex} ! %\input{diseno/secuenciac3.tex} \clearpage ! %\input{diseno/secuenciac4.tex} ! %\input{diseno/secuenciac5.tex} \clearpage --- 17,24 ---- \input{diseno/secuenciac1-web.tex} ! \input{diseno/secuenciac2-web.tex} \clearpage ! \input{diseno/secuenciac3-web.tex} ! %\input{diseno/secuenciac4-web.tex} ! %\input{diseno/secuenciac5-web.tex} \clearpage Index: secuenciac1-web.tex =================================================================== RCS file: /cvsroot/pfc-prolog/prolix-doc/pfc-es/diseno/secuenciac1-web.tex,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** secuenciac1-web.tex 31 Aug 2003 23:17:32 -0000 1.1 --- secuenciac1-web.tex 1 Sep 2003 20:26:04 -0000 1.2 *************** *** 25,28 **** --- 25,29 ---- {} & {} & {} & {} & {} & {} & {}\\ % {} & {} & {} & {} & {} & {} & {}\\ % + {} & {} & {} & {} & {} & {} & {}\\ % {} & {} & {} & {} & {} & {} & {}\\[0cm] % [name=strutscEnd]{} *************** *** 75,78 **** --- 76,82 ---- % \tablavacia{7}{6} % + {} & {} & {} & {} & {} & {} & {} & {}\\ % + {} & {} & {} & {} & {} & {} & {} & {}\\ % + {} & {} & {} & {} & {} & {} & {} & {}\\ % {} & {} & {} & {} & {} & {} & {} & {}\\ % {} & {} & {} & {} & {} & {} & {} & {}\\ % |
From: <iva...@us...> - 2003-08-31 23:17:52
|
Update of /cvsroot/pfc-prolog/prolix-doc/pfc-es/diseno In directory sc8-pr-cvs1:/tmp/cvs-serv18250 Added Files: dia-secuencia-web.tex secuenciac1-web.tex Log Message: Anyadidos el fichero de coordinacion de los diagramas de secuencia del cliente web y los diagramas del primer caso de uso --- NEW FILE: dia-secuencia-web.tex --- % % Coordinacion de diagramas por Escenarios % % secuencia del cliente web %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Diagramas de secuencia} \paragraph{Notación} \\ Debido al número de clases implicado y la longitud de sus nombres, estos diagramas resultan muy anchos. Para solventar este problema y facilitar su lectura, se abrevian \emph{en los nombres de las clases} los siguientes términos: \begin{itemize} \item \textbf{xxxAction} como \textbf{xxxAct} \item \textbf{xxxFormBean} como \textbf{xxxFB} \item \textbf{xxxBean} como \textbf{xxxB} \item \textbf{<<Struts Controller>>} como \textbf{<<SC>>} \end{itemize} \input{diseno/secuenciac1-web.tex} %\input{diseno/secuenciac2.tex} %\input{diseno/secuenciac3.tex} \clearpage %\input{diseno/secuenciac4.tex} %\input{diseno/secuenciac5.tex} \clearpage --- NEW FILE: secuenciac1-web.tex --- %%% CASO DE USO 1 \subsubsection{Cargar Programa} %% Escenario 1.1 \paragraph{Alumno carga programa} Representado en la figura \ref{DSE11W}. Las operaciones relativas al servidor estan en la figura \ref{DSE11}, en la página \pageref{DSE11}. \begin{sidewaysfigure}[hpb] \begin{DiagramaSecuencia}{ [name=strutsc]\umlClass[umlShadow=false]{\underline{<<SC>>}}{} & [name=loadpa]\umlClass[umlShadow=false]{\underline{:LoadProgramAct}}{} & [name=loadpfb]\umlClass[umlShadow=false]{\underline{:LoadProgramFB}}{} & [name=https]\umlClass[umlShadow=false]{\underline{:HttpSession}}{} & [name=accesscontrol]\umlClass[umlShadow=false]{\underline{:AccessControl}}{} & [name=studentrole]\umlClass[umlShadow=false]{\underline{:StudentRole}}{} & [name=csb]\umlClass[umlShadow=false]{\underline{:CurrentStateB}}{} \\[+0.5cm] %1 % \tablavacia{7}{6} % {} & {} & {} & {} & {} & {} & {}\\ % {} & {} & {} & {} & {} & {} & {}\\ % {} & {} & {} & {} & {} & {} & {}\\ % {} & {} & {} & {} & {} & {} & {}\\ % {} & {} & {} & {} & {} & {} & {}\\ % {} & {} & {} & {} & {} & {} & {}\\ % {} & {} & {} & {} & {} & {} & {}\\[0cm] % [name=strutscEnd]{} & [name=loadpaEnd]{} & [name=loadpfbEnd]{} & [name=httpsEnd]{} & [name=accesscontrolEnd]{} & [name=studentroleEnd]{} & [name=csbEnd]{} & \\[-0.5cm] % % \ncline[linestyle=dashed]{strutsc}{strutscEnd} \ncline[linestyle=dashed]{loadpa}{loadpaEnd} \ncline[linestyle=dashed]{loadpfb}{loadpfbEnd} \ncline[linestyle=dashed]{https}{httpsEnd} \ncline[linestyle=dashed]{accesscontrol}{accesscontrolEnd} \ncline[linestyle=dashed]{studentrole}{studentroleEnd} \ncline[linestyle=dashed]{csb}{csbEnd} % \footnotesize\ttfamily% \psset{labelsep=1.5mm} \mensaje{1}{2}{<<execute>>} \mensaje{2}{3}{getProgram()} \mensaje{2}{4}{getAttribute(<<interpreter>>)} \mensaje{2}{5}{\simplifAntes{getStudentRole()}} \mensaje{2}{6}{\simplifAntes{loadProgram(...)}} \mensaje{2}{4}{getAttribute(<<prologData>>)} \mensaje{2}{7}{setCurrentProgram()} }\end{DiagramaSecuencia} \caption{\label{DSE11W}Diagrama de secuencia del escenario E1.1 para el cliente Web} \end{sidewaysfigure} %% Escenario 1.2 \paragraph{Alumno carga programa de biblioteca} Diagrama de secuencia en la figura \ref{DSE12W}. Para el servidor estos dos escenarios se unifican en la única operación de <<cargar programa>>. Se abrevia \texttt{LibraryManagement} como \texttt{LM}. \begin{sidewaysfigure}[hpb] \begin{DiagramaSecuencia}{ [name=strutsc]\umlClass[umlShadow=false]{\underline{<<SC>>}}{} & [name=action]\umlClass[umlShadow=false]{\underline{:LoadProgramFromLibraryAct}}{} & [name=formbean]\umlClass[umlShadow=false]{\underline{:LoadProgramFromLibraryFB}}{} & [name=https]\umlClass[umlShadow=false]{\underline{:HttpSession}}{} & [name=accesscontrol]\umlClass[umlShadow=false]{\underline{:AccessControl}}{} & [name=lm]\umlClass[umlShadow=false]{\underline{:LM}}{} & [name=studentrole]\umlClass[umlShadow=false]{\underline{:StudentRole}}{} & [name=csb]\umlClass[umlShadow=false]{\underline{:CurrentStateB}}{} \\[+0.5cm] %1 % \tablavacia{7}{6} % {} & {} & {} & {} & {} & {} & {} & {}\\ % {} & {} & {} & {} & {} & {} & {} & {}\\ % {} & {} & {} & {} & {} & {} & {} & {}\\ % {} & {} & {} & {} & {} & {} & {} & {}\\ % {} & {} & {} & {} & {} & {} & {} & {}\\ % {} & {} & {} & {} & {} & {} & {} & {}\\[0cm] % [name=strutscEnd]{} & [name=actionEnd]{} & [name=formbeanEnd]{} & [name=httpsEnd]{} & [name=accesscontrolEnd]{} & [name=lmEnd]{} & [name=studentroleEnd]{} & [name=csbEnd]{} & \\[-0.5cm] % % \ncline[linestyle=dashed]{strutsc}{strutscEnd} \ncline[linestyle=dashed]{action}{actionEnd} \ncline[linestyle=dashed]{formbean}{formbeanEnd} \ncline[linestyle=dashed]{https}{httpsEnd} \ncline[linestyle=dashed]{accesscontrol}{accesscontrolEnd} \ncline[linestyle=dashed]{lm}{lmEnd} \ncline[linestyle=dashed]{studentrole}{studentroleEnd} \ncline[linestyle=dashed]{csb}{csbEnd} % \footnotesize\ttfamily% \psset{labelsep=1.5mm} \mensaje{1}{2}{<<execute>>} \mensaje{2}{3}{getProgramKey()} \mensaje{2}{4}{getAttribute(<<interpreter>>)} \mensaje{2}{5}{\simplifAntes{getLibraryManagement()}} \mensaje{2}{6}{\simplifAntes{retrieveProgramByTitle()}} \mensaje{2}{5}{\simplifAntes{getStudentRole()}} \mensaje{2}{7}{\simplifAntes{loadProgram(...)}} \mensaje{2}{4}{getAttribute(<<prologData>>)} \mensaje{2}{8}{setCurrentProgram()} }\end{DiagramaSecuencia} \caption{\label{DSE12W}Diagrama de secuencia del escenario E1.2 para el cliente Web} \end{sidewaysfigure} |
Update of /cvsroot/pfc-prolog/prolix-doc/pfc-es/diseno In directory sc8-pr-cvs1:/tmp/cvs-serv7240/diseno Modified Files: dia-secuencia.tex diseno.tex secuenciac1.tex secuenciac2.tex secuenciac3.tex secuenciac4.tex secuenciac5.tex Log Message: Reestructurada la seccion de disenyo para separar la subseccion servidor de la subseccion cliente Index: dia-secuencia.tex =================================================================== RCS file: /cvsroot/pfc-prolog/prolix-doc/pfc-es/diseno/dia-secuencia.tex,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** dia-secuencia.tex 31 Aug 2003 17:27:13 -0000 1.4 --- dia-secuencia.tex 31 Aug 2003 22:24:07 -0000 1.5 *************** *** 4,8 **** %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! \section{Diagramas de secuencia del servidor} \input{diseno/secuenciac1.tex} \input{diseno/secuenciac2.tex} --- 4,8 ---- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! \subsection{Diagramas de secuencia} \input{diseno/secuenciac1.tex} \input{diseno/secuenciac2.tex} Index: diseno.tex =================================================================== RCS file: /cvsroot/pfc-prolog/prolix-doc/pfc-es/diseno/diseno.tex,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** diseno.tex 31 Aug 2003 17:27:13 -0000 1.5 --- diseno.tex 31 Aug 2003 22:24:07 -0000 1.6 *************** *** 4,15 **** %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! \input{diseno/j2ee-uml.tex} ! \clearpage ! \input{diseno/general.tex} ! \clearpage ! \input{diseno/interprete.tex} \clearpage ! \input{diseno/clases/clases.tex} \clearpage ! \input{diseno/dia-secuencia.tex} ! \input{diseno/paquetes.tex} --- 4,20 ---- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ! %\input{diseno/j2ee-uml.tex} ! %\clearpage ! %\input{diseno/general.tex} ! %\clearpage ! %\input{diseno/interprete.tex} ! %\clearpage ! %\section{Diseño de la aplicación en el lado del servidor} ! %\input{diseno/clases/clases.tex} ! %\clearpage ! \input{diseno/dia-secuencia.tex} \clearpage ! \section{Diseño de la aplicación en el lado del cliente Web} ! \input{diseno/dia-secuencia-web.tex} \clearpage ! %\input{diseno/paquetes.tex} Index: secuenciac1.tex =================================================================== RCS file: /cvsroot/pfc-prolog/prolix-doc/pfc-es/diseno/secuenciac1.tex,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** secuenciac1.tex 28 Aug 2003 23:08:07 -0000 1.2 --- secuenciac1.tex 31 Aug 2003 22:24:07 -0000 1.3 *************** *** 1,7 **** %%% CASO DE USO 1 ! \subsection{Cargar Programa} %% Escenario 1.1 ! \subsubsection{Alumno carga programa} En la figura \ref{DSE11} mostramos el diagrama de secuencia del escenario <<Alumno carga programa>>. El segundo caso de uso (<<cargar programa desde biblioteca>>) desde el punto de vista del servidor es igual que este, diferenciandose solo en la parte del cliente web. --- 1,7 ---- %%% CASO DE USO 1 ! \subsubsection{Cargar Programa} %% Escenario 1.1 ! \paragraph{Alumno carga programa} En la figura \ref{DSE11} mostramos el diagrama de secuencia del escenario <<Alumno carga programa>>. El segundo caso de uso (<<cargar programa desde biblioteca>>) desde el punto de vista del servidor es igual que este, diferenciandose solo en la parte del cliente web. Index: secuenciac2.tex =================================================================== RCS file: /cvsroot/pfc-prolog/prolix-doc/pfc-es/diseno/secuenciac2.tex,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** secuenciac2.tex 31 Aug 2003 10:35:10 -0000 1.2 --- secuenciac2.tex 31 Aug 2003 22:24:07 -0000 1.3 *************** *** 1,7 **** %%% CASO DE USO 2 ! \subsection{Ejecución de consultas y exploración de resultados} %%Escenario 2.1 ! \subsubsection{Alumno carga consulta} En la figura \ref{DSE21} se muestra el diagrama de secuencia del escenario 2.1, <<Alumno carga consulta>>. La operación \texttt{getStudentRole()} se muestra simplificada, pues ya fue tratada en la figura \ref{DSE11}. --- 1,7 ---- %%% CASO DE USO 2 ! \subsubsection{Ejecución de consultas y exploración de resultados} %%Escenario 2.1 ! \paragraph{Alumno carga consulta} En la figura \ref{DSE21} se muestra el diagrama de secuencia del escenario 2.1, <<Alumno carga consulta>>. La operación \texttt{getStudentRole()} se muestra simplificada, pues ya fue tratada en la figura \ref{DSE11}. *************** *** 45,49 **** %% Escenario 2.2 ! \subsubsection{Alumno avanza hasta siguiente solución} Se ha optado por representar las operaciónes \texttt{isSolution()} y \texttt{getCompletlyExplored()} de la clase \texttt{TreeOperations} y \texttt{transformToTreeXML()} de la clase \texttt{TransformationControl} en diagramas diferentes (figuras \ref{isSolution}, \ref{isCE} y \ref{transformToTreeXml} respectivamente), para obtener un diagrama de secuencia principal(figura \ref{DSE22}) más claro. --- 45,49 ---- %% Escenario 2.2 ! \paragraph{Alumno avanza hasta siguiente solución} Se ha optado por representar las operaciónes \texttt{isSolution()} y \texttt{getCompletlyExplored()} de la clase \texttt{TreeOperations} y \texttt{transformToTreeXML()} de la clase \texttt{TransformationControl} en diagramas diferentes (figuras \ref{isSolution}, \ref{isCE} y \ref{transformToTreeXml} respectivamente), para obtener un diagrama de secuencia principal(figura \ref{DSE22}) más claro. *************** *** 252,256 **** % Escenario 2.3 %%%%%%%%%%%%%%%%%%%%%%%%%%% ! \subsubsection{Alumno avanza un paso la ejecución} El diagrama de este escenario (figura \ref{DSE23}) resulta bastante simple pues dos operaciones complejas están reflejadas en diagramas anteriores: \texttt{getStudentRole()} de \texttt{AccessControl} formando parte de la figura \ref{DSE11} y \texttt{TransformationControl::transformToTreeXml} en \ref{transformToTreeXml}. --- 252,256 ---- % Escenario 2.3 %%%%%%%%%%%%%%%%%%%%%%%%%%% ! \paragraph{Alumno avanza un paso la ejecución} El diagrama de este escenario (figura \ref{DSE23}) resulta bastante simple pues dos operaciones complejas están reflejadas en diagramas anteriores: \texttt{getStudentRole()} de \texttt{AccessControl} formando parte de la figura \ref{DSE11} y \texttt{TransformationControl::transformToTreeXml} en \ref{transformToTreeXml}. Index: secuenciac3.tex =================================================================== RCS file: /cvsroot/pfc-prolog/prolix-doc/pfc-es/diseno/secuenciac3.tex,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** secuenciac3.tex 28 Aug 2003 23:08:07 -0000 1.1 --- secuenciac3.tex 31 Aug 2003 22:24:07 -0000 1.2 *************** *** 1,7 **** %%% CASO DE USO 3 ! \subsection{Gestión de la biblioteca} %%Escenario 3.1 ! \subsubsection{Alumno guarda programas en la biblioteca} La operación \texttt{AccessControl::getLibraryManagement()}, que será utilizada en varios escenarios se representa en la figura \ref{getLM}, mientras la secuencia de este escenario se muestra en la figura \ref{DSE31}. --- 1,7 ---- %%% CASO DE USO 3 ! \subsubsection{Gestión de la biblioteca} %%Escenario 3.1 ! \paragraph{Alumno guarda programas en la biblioteca} La operación \texttt{AccessControl::getLibraryManagement()}, que será utilizada en varios escenarios se representa en la figura \ref{getLM}, mientras la secuencia de este escenario se muestra en la figura \ref{DSE31}. *************** *** 98,102 **** %%Escenario 3.2 ! \subsubsection{Alumno elimina programa propio de la biblioteca} Desde el punto de vista del servidor, se trata de eliminar un programa identificado por una clave, como se observa en la figura \ref{DSE32} --- 98,102 ---- %%Escenario 3.2 ! \paragraph{Alumno elimina programa propio de la biblioteca} Desde el punto de vista del servidor, se trata de eliminar un programa identificado por una clave, como se observa en la figura \ref{DSE32} *************** *** 147,156 **** %% Escenario 3.3 ! \subsubsection{Administrador suprime programa en la biblioteca} Para el lado servidor de la aplicación este escenario es equivalente al anterior, representado en la figura \ref{DSE32}. %% Escenario 3.4 ! \subsubsection{Alumno lista sus programas en biblioteca} En la figura \ref{DSE34} se representa su diagrama. --- 147,156 ---- %% Escenario 3.3 ! \paragraph{Administrador suprime programa en la biblioteca} Para el lado servidor de la aplicación este escenario es equivalente al anterior, representado en la figura \ref{DSE32}. %% Escenario 3.4 ! \paragraph{Alumno lista sus programas en biblioteca} En la figura \ref{DSE34} se representa su diagrama. *************** *** 207,211 **** %% Escenario 3.5 ! \subsubsection{Alumno lista todos los programas de la biblioteca} Diagrama de secuencia en la figura \ref{DSE35}, con la operación \texttt{LibraryManagement} simplificada. --- 207,211 ---- %% Escenario 3.5 ! \paragraph{Alumno lista todos los programas de la biblioteca} Diagrama de secuencia en la figura \ref{DSE35}, con la operación \texttt{LibraryManagement} simplificada. Index: secuenciac4.tex =================================================================== RCS file: /cvsroot/pfc-prolog/prolix-doc/pfc-es/diseno/secuenciac4.tex,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** secuenciac4.tex 28 Aug 2003 23:08:07 -0000 1.1 --- secuenciac4.tex 31 Aug 2003 22:24:07 -0000 1.2 *************** *** 1,6 **** %% Caso de uso 4 ! \subsection{Control de acceso} %% Escenario 4.1 ! \subsubsection{Usuario hace login en el sistema} El sistema comprueba si el usuario que pretende hacer login es el administrador. Si es así se asegura de que haya un administrador creado (figura \ref{yaHayAdmin}) o crea uno si todavia o existe (figura \ref{noHayAdmin}). En cualquier caso (sea administrador o no), el sistema cierra la sesión anterior si la hubiese, y comienza una nueva con ese usuario y password solicitado, como representamos en la figura \ref{DSE41}, la secuencia principal. --- 1,6 ---- %% Caso de uso 4 ! \subsubsection{Control de acceso} %% Escenario 4.1 ! \paragraph{Usuario hace login en el sistema} El sistema comprueba si el usuario que pretende hacer login es el administrador. Si es así se asegura de que haya un administrador creado (figura \ref{yaHayAdmin}) o crea uno si todavia o existe (figura \ref{noHayAdmin}). En cualquier caso (sea administrador o no), el sistema cierra la sesión anterior si la hubiese, y comienza una nueva con ese usuario y password solicitado, como representamos en la figura \ref{DSE41}, la secuencia principal. *************** *** 119,123 **** %% Escenario 4.2 ! \subsubsection{Usuario hace logout en el sistema} Escenario representado en la figura \ref{DSE42}. --- 119,123 ---- %% Escenario 4.2 ! \paragraph{Usuario hace logout en el sistema} Escenario representado en la figura \ref{DSE42}. *************** *** 153,157 **** %% Escenario 4.3 ! \subsubsection{Alumno se registra} El diagrama principal lo presentamos en la figura \ref{DSE43}. La acción de login ya esta representada en la figura \ref{DSE41}, y la operación \texttt{createUser()} se presenta en dos esquemas separados, para el caso de que el usuario ya exista (\ref{crearUsuarioExiste}) o no (\ref{crearUsuarioNoExiste}) --- 153,157 ---- %% Escenario 4.3 ! \paragraph{Alumno se registra} El diagrama principal lo presentamos en la figura \ref{DSE43}. La acción de login ya esta representada en la figura \ref{DSE41}, y la operación \texttt{createUser()} se presenta en dos esquemas separados, para el caso de que el usuario ya exista (\ref{crearUsuarioExiste}) o no (\ref{crearUsuarioNoExiste}) *************** *** 261,265 **** %% Escenario 4.4. ! \subsubsection{Usuario cambia su clave de acceso} Representación de su secuencia en la figura \ref{DSE44}. --- 261,265 ---- %% Escenario 4.4. ! \paragraph{Usuario cambia su clave de acceso} Representación de su secuencia en la figura \ref{DSE44}. Index: secuenciac5.tex =================================================================== RCS file: /cvsroot/pfc-prolog/prolix-doc/pfc-es/diseno/secuenciac5.tex,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** secuenciac5.tex 28 Aug 2003 23:08:07 -0000 1.1 --- secuenciac5.tex 31 Aug 2003 22:24:07 -0000 1.2 *************** *** 1,6 **** %% Caso de uso 5 ! \subsection{Gestión de usuarios} %% Escenario 5.1 ! \subsubsection{Administrador crea otro administrador} La operación \texttt{createUser} ya se detalló en dos variantes (usuario ya existente o no) en las figuras \ref{crearUsuarioExiste} y \ref{crearUsuarioNoExiste}. Simplificando este método, el diagrama de secuencia de este escenario es el de la figura \ref{DSE51}. --- 1,6 ---- %% Caso de uso 5 ! \subsubsection{Gestión de usuarios} %% Escenario 5.1 ! \paragraph{Administrador crea otro administrador} La operación \texttt{createUser} ya se detalló en dos variantes (usuario ya existente o no) en las figuras \ref{crearUsuarioExiste} y \ref{crearUsuarioNoExiste}. Simplificando este método, el diagrama de secuencia de este escenario es el de la figura \ref{DSE51}. *************** *** 35,39 **** %% Escenario 5.2 ! \subsubsection{Administrador elimina usuario de la aplicación} Diagrama de secuencia en la figura \ref{DSE52}. --- 35,39 ---- %% Escenario 5.2 ! \paragraph{Administrador elimina usuario de la aplicación} Diagrama de secuencia en la figura \ref{DSE52}. *************** *** 83,85 **** %% Escenario 5.3 ! \subsubsection{Administrador cambia clave de usuario} --- 83,85 ---- %% Escenario 5.3 ! %\paragraph{Administrador cambia clave de usuario} |
From: <iva...@us...> - 2003-08-31 22:24:10
|
Update of /cvsroot/pfc-prolog/prolix-doc/pfc-es/diseno/clases In directory sc8-pr-cvs1:/tmp/cvs-serv7240/diseno/clases Modified Files: clases.tex Log Message: Reestructurada la seccion de disenyo para separar la subseccion servidor de la subseccion cliente Index: clases.tex =================================================================== RCS file: /cvsroot/pfc-prolog/prolix-doc/pfc-es/diseno/clases/clases.tex,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** clases.tex 31 Aug 2003 17:23:39 -0000 1.2 --- clases.tex 31 Aug 2003 22:24:07 -0000 1.3 *************** *** 5,10 **** %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \section{Diseño estático del sistema} - A continuación exponemos los diagramas y una explicación detallada de las clases que componen \texttt{Prolix}. El package común a todas ellas es \texttt{org.asturlinux.frade}, por lo que lo obviamos en el nombre de cada una. --- 5,8 ---- |
From: <iva...@us...> - 2003-08-31 17:32:09
|
Update of /cvsroot/pfc-prolog/prolix-doc/pfc-es/requisitos In directory sc8-pr-cvs1:/tmp/cvs-serv18122/requisitos Modified Files: formales.tex Log Message: Cambios menores Index: formales.tex =================================================================== RCS file: /cvsroot/pfc-prolog/prolix-doc/pfc-es/requisitos/formales.tex,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** formales.tex 20 Aug 2003 18:43:15 -0000 1.3 --- formales.tex 31 Aug 2003 17:32:05 -0000 1.4 *************** *** 7,12 **** \section{Especificación formal de requisitos funcionales} - \input{aux/requisitos.tex} - \begin{requisitos} --- 7,10 ---- |
From: <iva...@us...> - 2003-08-31 17:32:09
|
Update of /cvsroot/pfc-prolog/prolix-doc/pfc-es In directory sc8-pr-cvs1:/tmp/cvs-serv18122 Modified Files: build.xml test.tex transform.sh Log Message: Cambios menores Index: build.xml =================================================================== RCS file: /cvsroot/pfc-prolog/prolix-doc/pfc-es/build.xml,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** build.xml 25 Aug 2003 20:56:02 -0000 1.8 --- build.xml 31 Aug 2003 17:32:05 -0000 1.9 *************** *** 38,42 **** <target name="main" depends="latex-task"> ! <latex latexfile="${latexfile}.tex" verbose="true" pdf="${pdf}"/> </target> --- 38,43 ---- <target name="main" depends="latex-task"> ! <latex latexfile="${latexfile}.tex" verbose="true" pdf="${pdf}" ! bibtex="true"/> </target> *************** *** 46,50 **** <target name="clean"> <delete> ! <fileset dir="${basedir}" includes="**/*~, **/*.aux, **/*.dvi, --- 47,52 ---- <target name="clean"> <delete> ! <fileset dir="${basedir}" defaultexcludes="no" ! includes="**/*~, **/*.aux, **/*.dvi, Index: test.tex =================================================================== RCS file: /cvsroot/pfc-prolog/prolix-doc/pfc-es/test.tex,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** test.tex 26 Aug 2003 13:50:17 -0000 1.7 --- test.tex 31 Aug 2003 17:32:05 -0000 1.8 *************** *** 14,20 **** %\usepackage[T1]{fontenc} \usepackage{pst-uml} ! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \begin{document} --- 14,24 ---- %\usepackage[T1]{fontenc} \usepackage{pst-uml} ! \usepackage{rotating} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \input{aux/escenarios.tex} + \input{aux/estados.tex} + \input{aux/casos_uso.tex} + \input{aux/requisitos.tex} \begin{document} *************** *** 31,41 **** %\clearpage ! %\chapter{Diseño} ! %\input{diseno/diseno.tex} ! %\clearpage ! ! \chapter{Proceso de desarrollo} ! \input{proceso/proceso.tex} \clearpage %\chapter{Manual de usuario} --- 35,45 ---- %\clearpage ! \chapter{Diseño} ! \input{diseno/diseno.tex} \clearpage + + %\chapter{Proceso de desarrollo} + %\input{proceso/proceso.tex} + %\clearpage %\chapter{Manual de usuario} Index: transform.sh =================================================================== RCS file: /cvsroot/pfc-prolog/prolix-doc/pfc-es/transform.sh,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** transform.sh 25 Aug 2003 22:10:37 -0000 1.1 --- transform.sh 31 Aug 2003 17:32:05 -0000 1.2 *************** *** 1,4 **** --- 1,5 ---- #!/bin/sh + #Convert .dia files in img/dia to eps in img/ FICHEROS=`find img/dia/ -name "*.dia"` *************** *** 12,13 **** --- 13,15 ---- mv $i img/; done; + |