Beruflich Dokumente
Kultur Dokumente
Dirigido por
David Benavides Cuevas
Realizado en el departamento de
LENGUAJES Y SISTEMAS INFORMTICOS
PARTE I: INTRODUCCIN
1 Introduccin
1.1 Motivacin
1.2 Objetivos del proyecto
1.2.1 Conocimientos
1.2.2 Formacin
1.3 Desarrollo del proyecto
1.4 Estructura del documento
6
7
8
8
9
9
13
16
2. Conceptos
17
3. Software
19
4. Herramientas
23
27
28
28
29
30
30
30
33
33
36
37
37
37
38
39
39
40
41
42
42
48
51
54
58
67
68
70
72
72
72
72
73
74
75
76
76
76
78
84
89
92
92
96
99
107
108
113
113
117
119
125
127
131
131
138
139
141
148
153
153
154
157
161
161
161
162
162
171
171
174
176
179
179
179
181
181
182
182
182
184
185
185
186
186
187
187
188
188
188
189
189
190
190
191
192
193
193
193
194
195
195
195
196
196
197
197
200
202
202
203
204
205
206
206
206
16 Bibliografa y referencias
211
PARTE I: INTRODUCCIN
INTRODUCCIN
1 Introduccin
Actualmente, el entorno de la enseanza esta sufriendo grandes
trasformaciones con el fin de automatizar numerosos procesos que se llevan a
cabo en los distintos centros educativos. Esta transformacin se esta
desarrollando en los distintos niveles educativos de nuestra sociedad y esta
permitiendo tanto a empleados como a usuarios interactuar de forma mas
cmoda, sencilla y eficiente. As, actualmente es posible realizar la matricula
de la universidad a travs de Internet o seleccionar un grupo de practicas para
una determinada asignatura.
Pero, aunque actualmente la informatizacin en el mundo de la enseanza ha
avanzado considerablemente, existen aun muchos procedimientos que se
llevan a cabo de forma manual con la consiguiente repercusin para los
usuarios. As, actualmente la informacin entre alumnos y profesores se
intercambia de forma manual a partir de fichas personales en formato papel.
Con el fin de informatizar este proceso, naci nuestro proyecto inicial Gestin
de Fichas que permite intercambiar a profesores y alumnos su informacin
personal a partir de un portal Web. Posteriormente se reconsidero la idea
inicial y se replanteo abarcando ms objetivos, tales como la gestin de las
noticias de las asignaturas y las citas entre profesores y alumnos.
INTRODUCCIN
1.1 Motivacin
El principal objetivo de nuestra aplicacin es facilitar la tarea tanto a
alumnos, como a profesores. Actualmente, el intercambio de informacin entre
profesores y alumnos se produce de manera manual. Esto conlleva las
siguientes consecuencias:
-
INTRODUCCIN
-
Consultar las fichas de todos los alumnos que cursan sus asignaturas
de forma ordenada y rpida.
Consultar las fichas personales de los alumnos en cualquier momento,
desde cualquier lugar, sin la necesidad de transportar ningn tipo de
documentos.
Responder a todas las peticiones recibidas de manera ordenada,
cmoda y rpida.
Consultar sus tutoras actuales aceptadas y cancelarlas en el caso de
que surgiera una emergencia
1.2.1 Conocimientos
El proyecto debe desarrollarse a partir de los conocimientos adquiridos a lo
largo de la carrera. Debemos aplicar estos conocimientos tanto en el aspecto
ms tcnico, como a la hora de enfrentarnos a los problemas que vayan
surgiendo. As, en nuestro proyecto hemos intentado reflejar y aplicar el mayor
nmero de conocimientos adquiridos. Ejemplo de tales aplicaciones son el uso
de patrones a la hora de desarrollar (Singleton,DAO), el desarrollo correcto
de la documentacin
INTRODUCCIN
1.2.2 Formacin
En nuestro proyecto hemos querido dar un paso ms y no utilizar solo los
conocimientos adquiridos a lo largo de la carrera. Hemos pretendido
complementar nuestra formacin, haciendo uso de tecnologas ms actuales
con el fin de obtener un proyecto de mayor consideracin. As, en nuestro
proyecto han intervenido tecnologas tales como STRUTS, HIBERNATE o
AJAX. La integracin de estas tecnologas en nuestro proyecto se ha llevado a
cabo en distintas fases.
1. Recogida de informacin: Hemos recogido informacin en forma de
manuales, principalmente a travs de Internet.
2. Estudio de la informacin: Hemos llevado acabo un profundo estudio de
la informacin recogida con el fin de comprender mejor el
funcionamiento de las distintas tecnologas.
3. Practicas: Hemos llevado a cabo diferentes practicas con distintos
grados de dificultad con el fin de familiarizarnos con la tecnologa y de
conocer sus limitaciones
4. Integracin: Hemos realizado un estudio para determinar como se
integraran las distintas tecnologas en nuestra idea de proyecto y como
interaccionaran entre si.
5. Desarrollo: Finalmente, hemos realizado el proyecto mediante el uso de
estas tecnologas y de los conocimientos adquiridos a lo largo de la
carrera.
El proyecto debe presentarse como una prueba final que nos permita adquirir
experiencia a la hora de enfrentarnos a proyectos en la vida real.
Trac
INTRODUCCIN
En el hemos ido anotando las distintas tareas ha realizar. Cada vez que
se finalizaba una tarea se acceda al track y se asignaba una nueva
tarea. La asignacin de tareas evitaba el solapamiento de trabajo, ya
que cuando el otro componente acceda, comprobaba que la tarea ya se
estaba realizando y pasaba a realizar una tarea diferente. El ir
determinando las tareas pendientes, realizadas o en proceso nos ha
permitido trabajar de forma individual sin que existan conflictos, no era
necesario que el otro componente estuviese trabajando en el proyecto
para poder llevar a cabo su desarrollo.
Tambin destacar, que el Trac permite establecer prioridad a las tareas,
con el fin de su correcta ejecucin.
Trac
Este mtodo nos ha permitido trabajar de manera coordinada y
eficiente.
El Trac se ha utilizado principalmente en el control de las tareas de
desarrollo de la documentacin
Repositorio Web
En l, hemos almacenado el cdigo de nuestra aplicacin, as como la
documentacin realizada y la informacin necesaria para el desarrollo
del mismo.
El repositorio Web ha presentado la siguiente estructura:
10
INTRODUCCIN
Repositorio
TortoiseSVN
Es la herramienta utilizada para acceder al repositorio enfocada al manejo de
la documentacin del proyecto. Nos permita compartir la informacin entre
nosotros y combinar nuestros archivos.
Adems, ha sido la herramienta encargada de detectar los distintos conflictos
que se han ido produciendo. Para resolver estos conflictos nos permite
11
INTRODUCCIN
mantener el control de versiones de todos los documentos indicando la fecha y
persona que los ha modificado.
TortoiseSVN
Plugin SubClipse de Eclipse
Herramienta encargada de acceder al repositorio, para obtener y contrastar el
cdigo de nuestra aplicacin. El uso de esta herramienta ha sido fundamental
ya que nos ha permitido reducir considerablemente el nmero de conflictos
producidos. Destacar, que durante la implementacin es cuando se producen
el mayor numero de conflictos y que estos son los ms difciles de resolver.
Pese que al reparto de tareas se ha realizado de la manera ms independiente
posible con el fin de permitir el trabajo en paralelo y de reducir los conflictos,
existen archivos con alto riesgo de conflicto.
Estos
archivos
son:
struts-config.xml,
estilo.css,
men.jsp,
Messages.properties, as como todos los Archivos Manager.
Para su correctas modificaciones ha sido indispensable est herramienta que
nos ha permitido reducir los conflictos y actualizar los archivos de manera
eficaz.
12
INTRODUCCIN
13
INTRODUCCIN
BLOQUE 1. Introduccin
Es el bloque actual y contendr los siguientes subapartados:
1.1
1.2
1.3
1.4
1.5
Introduccin
Motivacin
Objetivos del proyecto
Desarrollo del proyecto
Estructura del documento
Requisitos de informacin
Reglas de negocio/restricciones
Requisitos funcionales/casos de uso
Requisitos de interfaz con otros sistemas
Requisitos no funcionales
Rastreabilidad requisitos objetivos
14
INTRODUCCIN
Aspectos ms relevantes de la implementacin del sistema
10.1 Entorno de desarrollo
10.2 Componentes ms relevantes
11 Pruebas del sistema
Distintas pruebas realizadas al sistema para evaluar su
funcionamiento, y rendimiento
12 Instalacin del sistema
Manual de instalacin explicando como realizar la instalacin
13 Manual de usuario del sistema
Gua de las distintas acciones que puede realizar un usuario
BLOQUE 4. Conclusiones
En este bloque se estudiaran si se han alcanzado los objetivos previstos y se
determinara el esfuerzo empleado en el proyecto a partir de estimaciones de
temporales y de coste.
14 Cumplimiento de los objetivos del proyecto
15 Esfuerzo empleado en el proyecto
BLOQUE 5. Bibliografa consultada
En este bloque se indicaran las fuentes de informacin que se han utilizado
para llevar a cabo el proyecto.
15
16
CONCEPTOS
2. Conceptos
Framework
Es una estructura de soporte definida en la cual otro proyecto de software
puede ser organizado y desarrollado.
Un framework esta orientado a facilitar el desarrollo de software, permitiendo a
los diseadores y programadores dedicar ms tiempo en la lgica de negocio del
sistema que en detalles tediosos de bajo nivel.
Wikipedia http://en.wikipedia.org/wiki/Framework
Patrn MVC.
Modelo Vista Controlador (MVC) es un patrn de arquitectura de software que
separa los datos de una aplicacin, la interfaz de usuario, y la lgica de control
en tres componentes distintos. El patrn MVC se ve frecuentemente en
aplicaciones Web, donde la vista es la pgina HTML y el cdigo que provee de
datos dinmicos a la pgina.
AJAX
Noel Guilln Montilla, Fernando Lpez Iglesias
17
CONCEPTOS
AJAX, acrnimo de Asynchronous JavaScript And XML (JavaScript y XML
asncronos, donde XML es un acrnimo de eXtensible Markup Language), es
una tcnica de desarrollo Web para crear aplicaciones interactivas. stas se
ejecutan en el cliente, es decir, en el navegador del usuario, y mantiene
comunicacin asncrona con el servidor en segundo plano. De esta forma es
posible realizar cambios sobre la misma pgina sin necesidad de recargarla.
Esto significa aumentar la interactividad, velocidad y usabilidad en la misma.
AJAX es una combinacin de tres tecnologas ya existentes:
Servlet
Los Servlets son componentes del servidor. Estos componentes pueden ser
ejecutados en cualquier plataforma o en cualquier servidor debido a la
tecnologa Java que se usa para implementarlos. Los Servlets incrementan la
funcionalidad de una aplicacin web. Se cargan de forma dinmica por el
entorno de ejecucin Java del servidor cuando se necesitan.
18
CONCEPTOS
Arquitectura de componentes
Ventajas que ofrece la tecnologa Servlet
Otra de las ventajas que ofrece JSP al estar desarrolado en java es que
es portable.
3. Software
STRUTS (versin 1.3.5)
Struts es un framework
para el desarrollo de aplicaciones Web que
implementa el patrn MVC, el cual se utiliza ampliamente y es considerado de
gran solidez. Funciona bajo la plataforma J2EE.
Funcionalidades
19
SOFTWARE
-
HIBERNATE
Hibernate es un ORM para la plataforma Java (aunque tambin hay un
proyecto para c++) que ayuda en el mapeo de atributos entre una base de
datos relacional y el modelo de objetos de una aplicacin, mediante archivos
declarativos (XML) que permiten establecer estas relaciones. Hibernate no solo
realiza esta transformacin sino que nos proporciona capacidades para la
obtencin y almacenamiento de datos de la base de datos que nos reducen el
tiempo de desarrollo.
20
SOFTWARE
Ventajas de su uso:
Productividad: El cdigo relacionado con la persistencia resulta tedioso para
las aplicaciones de Java. Hibernate elimina la mayor parte de este y permite
concentrarse principalmente en el problema, con lo cual aumenta la
productividad. Segn algunos estudios reduce aproximadamente el 95% de
las tareas que un programador tena que hacer para realizar tareas comunes
de acceso a datos.
Mantenimiento: Menor nmero de lneas de cdigo hacen un sistema ms
comprensible, haciendo ms fcil su mantenimiento. Automatizando la
persistencia de los objetos se reduce sustancialmente las lneas de cdigo y de
est manera se reduce la complejidad de la aplicacin
Independencia del gestor de BD: Hibernate facilita la migracin de sistemas
entre diferentes motores de base de datos.
Bases de datos soportadas por Hibernate:
MYSQL
Sistema de gestin de base de datos, multihilo y multiusuario.
Por qu MySQL y no otros?
Dado que usamos Hibernate podramos haber escogido cualquiera de los
gestores de bases de datos mencionados en la lista de soportados. Pero nos
decantamos por MySQL debido a los siguientes puntos:
21
SOFTWARE
22
HERRAMIENTAS
4. Herramientas
REM 1.2.2
Herramienta para el desarrollo de la elicitacin de requisitos y anlisis del
sistema. Desarrollado en nuestra escuela de informtica por el profesor
Amador Durn del Toro.
MYSQL Administrador
MySQL Administrador es una herramienta que permite realizar tareas
administrativas sobre servidores de MySQL incluyendo:
ArgoUML
Es herramienta para realizar los diagramas de UML escrita en Java y
publicada bajo la Licencia BSD open source que adems est traducida en
espaol. Dado que es una aplicacin Java, est disponible en cualquier
plataforma soportada por Java. Entre sus caractersticas principales est la de
generacin de cdigo a travs del diagrama de clases, y opciones de ingeniera
inversa.
23
HERRAMIENTAS
JMeter
Aplicacin realizada 100% en Java con una interfaz grafica intuitiva, y adems
traducido al espaol. Esta aplicacin nos permite definir comportamientos
para casos de test y medir su rendimiento. Adems es valido tanto para
contenido esttico como dinmico. Puede simular una gran carga en el
servidor mediante multihilos y permite registrar los sucesos con completas
graficas e informes.
Plugins de Eclipse:
Subversion (http://subversion.tigris.org/ )
24
HERRAMIENTAS
Permite la conexin entre el servidor SVN y eclipse, para llevar un control de
versiones. Es simple y fcil de usar.
Amateras StrutsIDE 2.0.2
Plugin para eclipse que permite trabajar de manera grfica con Struts. Entre
sus funciones ms destacables est la de modificar el fichero de configuracin
de Struts (struts-config.xml) de forma grafica, mediante flujos, lo cual permite
llevar un mejor control de las acciones, adems sirve en cierto modo de
diagrama de navegacin.
25
HERRAMIENTAS
Hibernate Tools (http://tools.hibernate.org/ )
Herramienta desarrollada por Hibernate, que permite generar tanto el cdigo
necesario, como el script SQL, a partir del mapeo en XML de la base de datos,
lo
cual
supone
un
ahorro
sustancial
de
tiempo.
26
27
DOMINIO DE PROBLEMA
5.1 Introduccin
El proyecto consistir en una aplicacin Web relacionado con la enseanza
y los servicios ofrecidos por el proyecto se detallan ms concretamente a
continuacin:
Llevar acabo la gestin de los datos de los alumnos por fichas para que el
profesor pueda contactar con sus alumnos. Tambin los datos referentes a
un profesor para que el alumno a su vez pueda contactar con los
profesores.
28
DOMINIO DE PROBLEMA
29
Organizacin
Rol
Desarrollador
Es desarrollador S
Es cliente
No
Es usuario
No
Participante
Organizacin
Rol
Desarrollador
Es desarrollador S
Es cliente
No
Es usuario
No
Telfono
Fax
Participante
Organizacin
Rol
Tutor
Es desarrollador No
Es cliente
Es usuario
Versin
1.0 ( 01/08/2006 )
Autores
Descripcin
Subobjetivos
Ninguno
Importancia
vital
30
inmediatamente
Estado
validado
Estabilidad
alta
OBJ-0005
Versin
1.0 ( 01/08/2006 )
Autores
Descripcin
Subobjetivos
Ninguno
Importancia
vital
Urgencia
inmediatamente
Estado
validado
Estabilidad
alta
OBJ-0009
Versin
1.0 ( 07/08/2006 )
Autores
Descripcin
Subobjetivos
Importancia
vital
Urgencia
inmediatamente
Estado
validado
Estabilidad
alta
OBJ-0011
Versin
1.0 ( 09/08/2006 )
Autores
31
Subobjetivos
Importancia
vital
Urgencia
inmediatamente
Estado
validado
Estabilidad
alta
OBJ-0014
Versin
1.0 ( 09/08/2006 )
Autores
Descripcin
Subobjetivos
Ninguno
Importancia
vital
Urgencia
inmediatamente
Estado
validado
Estabilidad
alta
32
Versin
1.0 ( 01/08/2006 )
Autores
Dependencias
Descripcin
Datos
especficos
Importancia
vital
Urgencia
hay presin
Estado
validado
Estabilidad
alta
IRQ-0002
Versin
1.0 ( 01/08/2006 )
Autores
Dependencias
Descripcin
Datos
especficos
Importancia
vital
Urgencia
inmediatamente
Estado
validado
Estabilidad
alta
Comentarios
Ninguno
33
Versin
1.0 ( 01/08/2006 )
Autores
Dependencias
Descripcin
Datos
especficos
Mximo
5 da(s)
10 da(s)
Importancia
importante
Urgencia
hay presin
Estado
validado
Estabilidad
alta
IRQ-0004
Versin
1.0 ( 01/08/2006 )
Autores
Dependencias
Descripcin
Datos
especficos
Importancia
vital
Urgencia
inmediatamente
Estado
validado
Estabilidad
alta
IRQ-0005
Versin
1.0 ( 01/08/2006 )
Autores
34
Descripcin
Datos
especficos
Importancia
importante
Urgencia
hay presin
Estado
pendiente de validacin
Estabilidad
alta
IRQ-0006
Versin
1.0 ( 13/09/2006 )
Autores
Dependencias
Descripcin
Datos
especficos
Importancia
quedara bien
Urgencia
puede esperar
Estado
pendiente de validacin
Estabilidad
media
IRQ-0007
Versin
1.0 ( 15/09/2006 )
Autores
Dependencias
Descripcin
Datos
especficos
Importancia
importante
Urgencia
inmediatamente
35
pendiente de validacin
Estabilidad
alta
Versin
1.0 ( 09/08/2006 )
Autores
Dependencias
Ninguno
Descripcin
Importancia
vital
Urgencia
inmediatamente
Estado
validado
Estabilidad
alta
CRQ-0002
Unicidad de perfiles
Versin
1.0 ( 09/08/2006 )
Autores
Dependencias
Ninguno
Descripcin
Importancia
vital
Urgencia
inmediatamente
Estado
validado
Estabilidad
alta
36
Figura 1: Sistema
37
38
39
40
Administrador
Versin
1.0 ( 01/08/2006 )
Autores
Descripcin
Comentarios Este usuario tiene derechos ilimitados, aunque no participa en el portal Web
41
ACT-0002
Alumno
Versin
1.0 ( 01/08/2006 )
Autores
Descripcin
Comentarios Estos usuarios tienen derechos restringidos, solo pueden modificar su ficha,
visualizar los datos referentes a las asignaturas y los profesores que las
imparten. Participan activamente en la Web.
ACT-0003
Profesor
Versin
1.0 ( 01/08/2006 )
Autores
Descripcin
ACT-0004
Usuario
Versin
1.0 ( 09/08/2006 )
Autores
Versin
1.0 ( 10/08/2006 )
Autores
Dependencias
42
Precondicin
Ninguna
Postcondicin
Excepciones
Paso Accin
4
Importancia
importante
Urgencia
hay presin
Estado
validado
Estabilidad
alta
UC-0005
Versin
1.0 ( 10/08/2006 )
Autores
Dependencias
Descripcin
Precondicin
Ninguna
Secuencia
normal
Paso Accin
1
43
Postcondicin
Ninguna
Importancia
importante
Urgencia
hay presin
Estado
validado
Estabilidad
media
UC-0006
Versin
1.0 ( 10/08/2006 )
Autores
Dependencias
Descripcin
Precondicin
Ninguna
Secuencia
normal
Paso Accin
1
Postcondicin
Excepciones
Paso Accin
2
Importancia
importante
Urgencia
hay presin
Estado
validado
Estabilidad
alta
44
Versin
1.0 ( 10/08/2006 )
Autores
Dependencias
Descripcin
Precondicin
Secuencia
normal
Paso Accin
1
Postcondicin
Excepciones
Paso Accin
8
Importancia
quedara bien
Urgencia
puede esperar
Estado
validado
Estabilidad
media
UC-0009
Versin
1.0 ( 11/08/2006 )
Autores
Dependencias
Descripcin
Precondicin
Secuencia
Paso Accin
45
Postcondicin
Excepciones
Paso Accin
4
Importancia
quedara bien
Urgencia
puede esperar
Estado
validado
Estabilidad
media
UC-0016
Versin
1.0 ( 16/09/2006 )
Autores
Dependencias
Descripcin
Precondicin
Secuencia
normal
Paso Accin
1
Postcondicin
Excepciones
Paso Accin
4
Importancia
quedara bien
Urgencia
puede esperar
Estado
pendiente de validacin
Estabilidad
media
46
Activar tutoras
Versin
1.0 ( 16/09/2006 )
Autores
Dependencias
Descripcin
Precondicin
Secuencia
normal
Paso Accin
1
Postcondicin
Excepciones
Paso Accin
4
Importancia
quedara bien
Urgencia
puede esperar
Estado
pendiente de validacin
Estabilidad
media
UC-0018
Versin
1.0 ( 16/09/2006 )
Autores
Dependencias
Descripcin
Precondicin
Hay peticiones
Secuencia
normal
Paso Accin
1
Postcondicin
Excepciones
Paso Accin
47
Importancia
importante
Urgencia
hay presin
Estado
pendiente de validacin
Estabilidad
alta
UC-0019
Versin
1.0 ( 16/09/2006 )
Autores
Dependencias
Descripcin
Precondicin
Secuencia
normal
Paso Accin
1
Postcondicin
Importancia
importante
Urgencia
inmediatamente
Estado
pendiente de validacin
Estabilidad
alta
Identificacin de usuario
Versin
1.0 ( 09/08/2006 )
Autores
48
Descripcin
Precondicin
Ninguna
Secuencia
normal
Paso Accin
1
Postcondicin
Excepciones
Paso Accin
3
Importancia
vital
Urgencia
inmediatamente
Estado
validado
Estabilidad
alta
UC-0002
Modificar contrasea
Versin
1.0 ( 09/08/2006 )
49
Dependencias
Descripcin
Precondicin
Ninguna
Secuencia
normal
Paso Accin
1
Postcondicin
Excepciones
Paso Accin
4
Importancia
importante
Urgencia
inmediatamente
Estado
validado
Estabilidad
alta
UC-0014
Versin
1.0 ( 13/09/2006 )
Autores
Dependencias
Descripcin
Precondicin
Ninguno
Secuencia
normal
Paso Accin
Postcondicin
Ninguna
50
importante
Urgencia
hay presin
Estado
pendiente de validacin
Estabilidad
alta
Introducir noticias
Versin
1.0 ( 13/09/2006 )
Autores
Dependencias
Descripcin
Precondicin
Ninguna
Secuencia
normal
Paso Accin
1
Postcondicin
Se ha almacenado la noticia.
Excepciones
Paso Accin
8
Importancia
quedara bien
Urgencia
puede esperar
Estado
pendiente de validacin
Estabilidad
media
51
Modificar noticias
Versin
1.0 ( 13/09/2006 )
Autores
Dependencias
Descripcin
Precondicin
Ninguna
Secuencia
normal
Paso Accin
1
Postcondicin
Excepciones
Paso Accin
8
Importancia
quedara bien
Urgencia
puede esperar
Estado
pendiente de validacin
Estabilidad
media
UC-0012
Consultar noticias
Versin
1.0 ( 13/09/2006 )
Autores
Dependencias
Descripcin
Precondicin
Secuencia
Paso Accin
52
Postcondicin
Excepciones
Paso Accin
2
Importancia
quedara bien
Urgencia
hay presin
Estado
pendiente de validacin
Estabilidad
media
UC-0013
Versin
1.0 ( 13/09/2006 )
Autores
Dependencias
Descripcin
Precondicin
Ninguna
Secuencia
normal
Paso Accin
1
Postcondicin
Excepciones
Paso Accin
2
Importancia
quedara bien
Urgencia
puede esperar
Estado
pendiente de validacin
Estabilidad
media
53
UC-0015
Eliminar noticia
Versin
1.0 ( 16/09/2006 )
Autores
Dependencias
Descripcin
Precondicin
Ninguna
Secuencia
normal
Paso Accin
1
Postcondicin
Excepciones
Paso Accin
6
Importancia
quedara bien
Urgencia
puede esperar
Estado
pendiente de validacin
Estabilidad
media
Versin
1.0 ( 10/08/2006 )
Autores
Dependencias
Descripcin
Precondicin
Ninguna
Secuencia
normal
Paso Accin
1
54
Postcondicin
Importancia
importante
Urgencia
hay presin
Estado
validado
Estabilidad
alta
UC-0040
Versin
1.0 ( 29/09/2006 )
Autores
Dependencias
Descripcin
Precondicin
Secuencia
normal
Paso Accin
1
Postcondicin
Importancia
importante
Urgencia
hay presin
Estado
validado
Estabilidad
media
UC-0041
Versin
1.0 ( 29/09/2006 )
Autores
Dependencias
55
Precondicin
Secuencia
normal
Paso Accin
1
Postcondicin
Se ha modificado la ficha
Importancia
importante
Urgencia
hay presin
Estado
validado
Estabilidad
alta
UC-0042
Versin
1.0 ( 29/09/2006 )
Autores
Dependencias
Descripcin
Precondicin
Secuencia
normal
Paso Accin
1
Postcondicin
Importancia
importante
Urgencia
hay presin
Estado
validado
Estabilidad
media
56
Versin
1.0 ( 29/09/2006 )
Autores
Dependencias
Descripcin
Precondicin
Secuencia
normal
Paso Accin
1
Postcondicin
Se ha modificado la informacin
Importancia
importante
Urgencia
hay presin
Estado
validado
Estabilidad
media
UC-0044
Versin
1.0 ( 05/10/2006 )
Autores
Dependencias
Descripcin
Precondicin
Secuencia
normal
Paso Accin
1
57
Postcondicin
Importancia
quedara bien
Urgencia
puede esperar
Estado
validado
Estabilidad
alta
Aadir titulacin
Versin
1.0 ( 28/09/2006 )
Autores
Dependencias
Descripcin
Precondicin
Secuencia
normal
Paso Accin
1
Postcondicin
Excepciones
Paso Accin
4
Importancia
importante
Urgencia
hay presin
Estado
validado
Estabilidad
alta
UC-0036
Eliminar titulacin
58
1.0 ( 29/09/2006 )
Autores
Dependencias
Descripcin
Precondicin
Secuencia
normal
Paso Accin
1
Postcondicin
Importancia
importante
Urgencia
hay presin
Estado
validado
Estabilidad
alta
UC-0028
Versin
1.0 ( 28/09/2006 )
Autores
Dependencias
Descripcin
Precondicin
Ninguna
Secuencia
normal
Paso Accin
1
Postcondicin
Excepciones
Paso Accin
5
59
importante
Urgencia
hay presin
Estado
validado
Estabilidad
alta
UC-0032
Aadir asignatura
Versin
1.0 ( 28/09/2006 )
Autores
Dependencias
Descripcin
Precondicin
Ninguna
Secuencia
normal
Paso Accin
1
Postcondicin
Excepciones
Paso Accin
4
Importancia
importante
Urgencia
hay presin
Estado
validado
Estabilidad
alta
UC-0038
Versin
1.0 ( 29/09/2006 )
Autores
60
Descripcin
Precondicin
Secuencia
normal
Paso Accin
1
Postcondicin
Excepciones
Paso Accin
6
Importancia
importante
Urgencia
hay presin
Estado
validado
Estabilidad
alta
UC-0031
Versin
1.0 ( 28/09/2006 )
Autores
Dependencias
Descripcin
Precondicin
Secuencia
normal
Paso Accin
1
61
Postcondicin
Se ha eliminado el usuario
Excepciones
Paso Accin
6
Importancia
importante
Urgencia
hay presin
Estado
validado
Estabilidad
alta
UC-0026
Eliminar asignaturas
Versin
1.0 ( 28/09/2006 )
Autores
Dependencias
Descripcin
Precondicin
Secuencia
normal
Paso Accin
1
Postcondicin
Se ha eliminado la asignatura
Excepciones
Paso Accin
4
Importancia
importante
Urgencia
hay presin
Estado
validado
Estabilidad
alta
UC-0023
Versin
1.0 ( 28/09/2006 )
Autores
62
Descripcin
Precondicin
Secuencia
normal
Paso Accin
1
Postcondicin
Excepciones
Paso Accin
8
Importancia
importante
Urgencia
hay presin
Estado
validado
Estabilidad
alta
UC-0020
Versin
1.0 ( 28/09/2006 )
Autores
Dependencias
Descripcin
Precondicin
Secuencia
normal
Paso Accin
1
63
Postcondicin
Excepciones
Paso Accin
8
Importancia
importante
Urgencia
hay presin
Estado
pendiente de validacin
Estabilidad
alta
UC-0030
Versin
1.0 ( 28/09/2006 )
Autores
Dependencias
Descripcin
Precondicin
Ninguna
Secuencia
normal
Paso Accin
1
64
Postcondicin
Importancia
importante
Urgencia
hay presin
Estado
validado
Estabilidad
alta
UC-0034
Versin
1.0 ( 28/09/2006 )
Autores
Dependencias
Descripcin
Precondicin
Ninguna
Secuencia
normal
Paso Accin
1
Postcondicin
Importancia
importante
Urgencia
hay presin
Estado
validado
Estabilidad
alta
UC-0027
Versin
1.0 ( 28/09/2006 )
65
Dependencias
Descripcin
Precondicin
Secuencia
normal
Paso Accin
1
Postcondicin
Excepciones
Paso Accin
6
Importancia
importante
Urgencia
hay presin
Estado
validado
Estabilidad
alta
UC-0039
Versin
1.0 ( 29/09/2006 )
Autores
Dependencias
Descripcin
Precondicin
Secuencia
normal
Paso Accin
1
66
El sistema muestra una lista con todas las asignaturas del sistema
precedidas con una casilla que indica si la asignatura pertenece
actualmente a la titulacin
Postcondicin
Importancia
importante
Urgencia
hay presin
Estado
validado
Estabilidad
alta
Versin
1.0 ( 29/09/2006 )
Autores
Dependencias
Descripcin
Importancia
quedara bien
Urgencia
puede esperar
Estado
validado
Estabilidad
media
FRQ-0002
Versin
1.0 ( 29/09/2006 )
Autores
Dependencias
Descripcin
El sistema deber elaborar un calendario con todas las citas previstas para
una determinada semana de forma que se pueda imprimir a peticin del
profesor.
Importancia
quedara bien
Urgencia
puede esperar
67
pendiente de validacin
Estabilidad
media
FRQ-0003
Versin
1.0 ( 29/09/2006 )
Autores
Dependencias
Descripcin
Importancia
quedara bien
Urgencia
puede esperar
Estado
pendiente de validacin
Estabilidad
alta
FRQ-0004
Versin
1.0 ( 29/09/2006 )
Autores
Dependencias
Descripcin
Importancia
quedara bien
Urgencia
puede esperar
Estado
validado
Estabilidad
media
Seguridad
Versin
1.0 ( 04/08/2006 )
Autores
68
Importancia
vital
Urgencia
hay presin
Estado
validado
Estabilidad
alta
Comentarios
NFR-0002
Portabilidad
Versin
1.0 ( 04/08/2006 )
Autores
Dependencias
Ninguno
Descripcin
Importancia
importante
Urgencia
hay presin
Estado
validado
Estabilidad
alta
NFR-0003
Internacionalizacin
Versin
1.0 ( 04/08/2006 )
Autores
Dependencias
Ninguno
Descripcin
Importancia
quedara bien
Urgencia
puede esperar
Estado
pendiente de validacin
Estabilidad
media
69
Escalabilidad
Versin
1.0 ( 04/08/2006 )
Autores
Dependencias
Ninguno
Descripcin
Importancia
importante
Urgencia
hay presin
Estado
validado
Estabilidad
media
IRQ-0001
IRQ-0002
IRQ-0003
IRQ-0004
IRQ-0005
IRQ-0006
IRQ-0007
70
UC-0002
UC-0004
UC-0005
UC-0006
UC-0007
UC-0008
UC-0009
UC-0010
UC-0011
UC-0012
UC-0013
UC-0014
UC-0015
UC-0016
UC-0017
UC-0018
UC-0019
UC-0020
UC-0023
UC-0026
UC-0027
UC-0028
UC-0030
UC-0031
UC-0032
UC-0034
UC-0035
UC-0036
UC-0038
UC-0039
UC-0040
UC-0041
UC-0042
UC-0043
UC-0044
71
8.1.1 Diagramas
8.1.1.1 Subsistema gestin de usuarios y perfiles
72
73
74
75
8.1.2 Tipos
8.1.2.1 Subsistema gestin de usuarios y perfiles
TYP-0002
Usuario
Versin
1.0 ( 04/10/2006 )
Autores
Dependencias
Descripcin
Subtipos
(disjuntos)
[TYP-0004] Profesor
[TYP-0007] Alumno
76
String
Comentarios
Este atributo representa clave que permite entrar con el perfil de usuario
Tipo
String
Comentarios
Ninguno
Tipo
String
Comentarios
Ninguno
Tipo
String
Comentarios
Ninguno
TYP-0004
Profesor
Versin
1.0 ( 04/10/2006 )
Autores
Dependencias
Descripcin
Supertipo
[TYP-0002] Usuario
Tipo
String
Tipo
String
Tipo
String
77
Tipo
String
Tipo
String
Tipo
Natural
Tipo
String
TYP-0007
Alumno
Versin
1.0 ( 04/10/2006 )
Autores
Dependencias
Descripcin
Supertipo
[TYP-0002] Usuario
Tipo
String
Asignatura
Versin
1.0 ( 04/10/2006 )
Autores
78
TipoAsignatura
Multiplicidad
1
Atributo variable
Asignatura:: codigo
Descripcin
Tipo
Integer
Tipo
String
Tipo
Natural
Tipo
Natural
Tipo
Real
Descripcin
Expresin OCL
el codigo es la clave
Comentarios
TYP-0003
Noticia
Versin
1.0 ( 04/10/2006 )
Autores
Tipo
Integer
79
Tipo
Integer
Tipo
String
Tipo
Date
Tipo
Date
Comentarios
es la clave
TYP-0008
Titulacin
Versin
1.0 ( 04/10/2006 )
Autores
Dependencias
Descripcin
Tipo
String
Tipo
Integer
TYP-0012
TipoAsignatura
80
Versin
Autores
Dependencias
Descripcin
Este tipo de objetos representa a los distintos tipos de asignaturas que hay
TYP-0013
Departamento
Versin
1.0 ( 10/10/2006 )
Autores
Descripcin
Tipo
String
Tipo
String
Tipo
String
ASO-0001
Versin
1.0 ( 04/10/2006 )
Autores
Descripcin
Rol variable
Descripcin
Tipo
Asignatura
Multiplicidad 1
81
Descripcin
Tipo
Set( Noticia )
Multiplicidad 0.. *
ASO-0002
Versin
1.0 ( 04/10/2006 )
Autores
Descripcin
Rol variable
Descripcin
Tipo
Profesor
Multiplicidad 1
Rol variable
Descripcin
Tipo
Set( Noticia )
Multiplicidad 0.. *
ASO-0006
Versin
1.0 ( 04/10/2006 )
Autores
Rol variable
Descripcin
Tipo
Set( Profesor )
Multiplicidad 1.. *
Rol variable
Descripcin
82
Asignatura
Multiplicidad 1
Tipo
String
ASO-0013
Versin
1.0 ( 05/10/2006 )
Autores
Descripcin
Rol variable
Descripcin
Tipo
Asignatura
Multiplicidad 1
Rol variable
Descripcin
Tipo
Titulacin
Multiplicidad 1
ASO-0014
Versin
1.0 ( 10/10/2006 )
Autores
Descripcin
Rol variable
Descripcin
Tipo
Asignatura
Multiplicidad 1
Rol variable
83
Tipo
Departamento
Multiplicidad 1
Direccin
Versin
1.0 ( 05/10/2006 )
Autores
Tipo
String
Tipo
String
Tipo
String
Tipo
String
Tipo
String
Tipo
Integer
84
Descripcin
TYP-0010
Ficha
Versin
1.0 ( 05/10/2006 )
Autores
Dependencias
Descripcin
Este tipo de objetos representa la ficha que recoge los datos personales del
alumno
Tipo
Date
Tipo
String
Tipo
String
Tipo
String
Tipo
Integer
Comentarios
Tipo
Date
85
Integer
Descripcin
TYP-0011
Observacin
Versin
1.0 ( 05/10/2006 )
Autores
Dependencias
Descripcin
Tipo
String
Tipo
Date
Tipo
Integer
Descripcin
ASO-0007
Versin
1.0 ( 05/10/2006 )
Autores
Este tipo de asociacin representa el hecho de que una ficha puede tener
registrada una direccin y una direccin de residencia de un alumno
Rol variable
Descripcin
Tipo
Ficha
86
Rol variable
Descripcin
Tipo
Set( Direccin )
Multiplicidad 1.. 2
ASO-0008
Versin
1.0 ( 05/10/2006 )
Autores
Descripcin
Rol variable
Descripcin
Tipo
Set( Ficha )
Multiplicidad 0.. *
Rol variable
Descripcin
Este rol representa las asignaturas aprobadas que se recogen en las fichas
Tipo
Set( Asignatura )
Multiplicidad 0.. *
ASO-0009
Versin
1.0 ( 05/10/2006 )
Autores
Descripcin
Rol variable
Descripcin
Tipo
Alumno
Multiplicidad 1
87
Descripcin
Tipo
Set( Ficha )
Multiplicidad 0.. 1
ASO-0010
Versin
1.0 ( 05/10/2006 )
Autores
Descripcin
Rol variable
Descripcin
Tipo
Alumno
Multiplicidad 1
Rol variable
Descripcin
Tipo
Set( Observacin )
Multiplicidad 0.. *
ASO-0011
Versin
1.0 ( 05/10/2006 )
Autores
Descripcin
Rol variable
Descripcin
Tipo
Profesor
Multiplicidad 1
Rol variable
Descripcin
88
Set( Observacin )
Multiplicidad 0.. *
ASO-0012
Versin
1.0 ( 05/10/2006 )
Autores
Descripcin
Rol variable
Descripcin
Tipo
Asignatura
Multiplicidad 1
Rol variable
Descripcin
Tipo
Set( Observacin )
Multiplicidad 0.. *
PeticionCita
Versin
1.0 ( 04/10/2006 )
Autores
Dependencias
Descripcin
Tipo
String
Tipo
Date
89
Tipo
String
Tipo
String
Comentarios
Tipo
Integer
Tipo
Natural
Tipo
Natural
Expresin de invariante
PeticionCita::Unicidad en el atributo id
Descripcin
TYP-0006
Tutoria
Versin
1.0 ( 04/10/2006 )
Autores
Dependencias
Descripcin
Tipo
Integer
90
Tipo
String
Tipo
Time
Tipo
Time
Descripcin
ASO-0003
Versin
1.0 ( 04/10/2006 )
Autores
Descripcin
Rol variable
Descripcin
Tipo
Profesor
Multiplicidad 1
Rol variable
Descripcin
Tipo
Set( Tutoria )
Multiplicidad 0.. *
ASO-0004
Versin
1.0 ( 04/10/2006 )
Autores
91
Rol variable
Descripcin
Tipo
Alumno
Multiplicidad 1
Rol variable
Descripcin
Tipo
Set( PeticionCita )
Multiplicidad 0.. *
ASO-0005
Versin
1.0 ( 04/10/2006 )
Autores
Descripcin
Rol variable
Descripcin
Tipo
Profesor
Multiplicidad 1
Rol variable
Descripcin
Tipo
PeticionCita
Multiplicidad 1
92
Figura 1:
modificarInformacionProfesor(user,password,categoria,despacho,nombre,web)
Figura 2: incluirObservaciones(alumno,profesor,descripcion,asignatura)
93
Figura 3: consultarProfesor(alumno,profesor)
94
Figura 4: modificarFicha()
95
Figura 6: consultarDatosAlumno(alumno,profesor)
Figura 1: consultarDatosAsignatura(asignatura,usuario)
96
Figura 3: eliminarNoticia(profesor,asignatura,titulo)
Figura 4: introducirNoticia(profesor,asignatura,noticia)
97
Figura 5: modificarNoticia(profesor,asignatura,noticia)
98
Figura 1: aadirTitulacion(nombre,codigo)
99
Figura 2:
AadirAsignatura(nombre,codigo,descripcion,departamento,creditos,duracion,tipo)
100
Figura 3: eliminarTitulacion(codigo)
Figura 4: eliminarAsignatura(codigo)
101
Figura 5: aadirUsuario(dni,clave,tipo,correo)
Figura 6: eliminarAsignaturaTitulacion(asignatura,titulacion)
102
Figura 7: eliminarUsuario(dni,tipo)
Figura 8: eliminarUsuarioAsignatura(usuario,asignatura)
103
Figura 9: importarAsignaturaFichero(url,titulacin)
104
105
106
Figura 1: identificarUsuario(usuario,contrasea)
Figura 2: modificarContrasea(usuario,contrasea)
107
Figura 3: modificarDatosUsuario(Usuario,correo,contrasea)
Figura 1: desactivarTutorias(profesor,motivo)
108
Figura 2: activarTutoria(profesor)
Figura 3: realizarPeticionCita(alumno,motivo,fecha,profesor)
109
Figura 4: cancelarCitasActuales(profesor,peticiones,motivoCancelacion)
Figura 5: consultarEstadoPeticiones(alumno)
110
Figura 6: revisarPeticionCita(profesor,peticionCita)
111
Figura 8: consultarHorarioTutorias(alumno,profesor)
112
Figura 9: modificarHorarioTutorias(profesor)
modificarInformacionProfesor
Tipo del
resultado
Versin
1.0 ( 05/10/2006 )
Autores
Dependencias
Descripcin
Parmetros
113
Excepcin
modificarInformacionProfesor::excep1
Condicin
Expresin
SOP-0018
incluirObservaciones
Versin
1.0 ( 05/10/2006 )
Autores
Dependencias
Descripcin
Parmetros
observacin
profesor : Profesor -- profesor identificado que desea realizar
la observacin al alumno
descripcion : String -- texto de la observacin
asignatura : Asignatura -- asignatura en la que se le desea
incluir una observacin al alumno
Expresiones de pre1: El usuario est registrado en el sistema
precondicin
Expresiones de post1: Se ha creado una observacin con los datos de entrada, con la fecha
postcondicin actual y se le ha asignado un id
post2: Se ha asociado la observacin al alumno, a una asignatura y a un
profesor
post3: Se ha notificado al usuario que se ha realizado correctamente
SOP-0019
consultarProfesor
Tipo del
114
Versin
1.0 ( 05/10/2006 )
Autores
Dependencias
Descripcin
Parmetros
informacin
alumno : Alumno -- alumno que desea consultar la informacin del
profesor
Expresiones de pre1: El usuario esta identificado
precondicin
Expresiones de post1: Se ha mostrado la informacin del profesor
postcondicin
SOP-0020
modificarFicha
1.0 ( 05/10/2006 )
Autores
Dependencias
Descripcin
Parmetros
estudia
localizacin1 : String -- localizacin de su domicilio
mientras estudia
pais1 : String -- pais de residencia mientras estudia
codigoPostal1 : String -- codigo postal de su residencia
mientras estudia
115
estudia
Expresiones de
precondicin
Expresiones de
postcondicin
Excepcin
modificarFicha::excep1
Condicin
Expresin
Excepcin
modificarFicha::excep2
Condicin
Expresin
SOP-0021
consultarFicha
Tipo del
resultado
Versin
1.0 ( 05/10/2006 )
Autores
Dependencias
Descripcin
Parmetros
SOP-0022
consultarDatosAlumno
Tipo del
resultado
Versin
1.0 ( 05/10/2006 )
Autores
Dependencias
116
Parmetros
registrarNoticia
Tipo del
resultado
Versin
1.0 ( 04/10/2006 )
Autores
Dependencias
Descripcin
Ell profesor desea aadir una noticia a una asignatura que imparte
Parmetros
noticia
titulo : String -- ttulo deseado para la noticia
texto : String -- descripcin de la noticia
Expresiones de pre1: El usuario se ha registrado y su rol es profesor
precondicin
Expresiones de post1: Existe una nueva noticia con los parmetros dados asiada a una
postcondicin asignatura
post2: El sistema notifica que se ha realizado correctamente
Excepcin
registrarNoticia::excep1
Condicin
Expresin
SOP-0005
eliminarNoticia
Versin
1.0 ( 04/10/2006 )
Autores
117
Descripcin
Parmetros
SOP-0006
modificarNoticia
Tipo del
resultado
Versin
1.0 ( 04/10/2006 )
Autores
Dependencias
Descripcin
Parmetros
cambiar la noticia
titulo : String -- al titulo de la noticia
texto : String -- a la descripcin de la noticia
Expresiones de pre1: El usuario profesor se ha identificado correctamente
pre2: La noticia existe previamente en el sistema
precondicin
Expresiones de post1: Slo se han modificado los datos introducidos por el usuario
postcondicin post2: El sistema informa de que la operacin se ha realizado correctamente
post3: Se ha modificado la fecha de modificacin por la actual
SOP-0007
consultarNoticias
Tipo del
resultado
Versin
1.0 ( 04/10/2006 )
Autores
Dependencias
118
ver la noticia
asignatura : Asignatura -- asignatura a la que corresponde la
noticia
Expresiones de pre1: El usuario se ha identificado
precondicin
Expresiones de post1: Se han mostrado las noticias
postcondicin
aadirAsignatura
Versin
1.0 ( 09/10/2006 )
Autores
Dependencias
Descripcin
Parmetros
aadir
administrador : Usuario -- al usuario, que se ha registrado como
administrador y desea aadir una asignatura
Expresiones de pre1: El usuario se ha identificado como administrador
precondicin
Expresiones de pos1: Se ha aadido una nueva asignatura
postcondicin
Excepcin
aadirAsignatura::excep1
Condicin
Expresin
SOP-0024
aadirTitulacion
Versin
1.0 ( 09/10/2006 )
Autores
Dependencias
Descripcin
119
aadir
Expresiones de pre1: El usuario se ha identificado como administrador
precondicin
Expresiones de pos1: Se ha aadido una nueva titulacin
postcondicin
Excepcin
aadirTitulacion::excep1
Condicin
Expresin
SOP-0025
aadirUsuario
Versin
1.0 ( 09/10/2006 )
Autores
Dependencias
Descripcin
Parmetros
Excepcin
aadirUsuario::excep1
Condicin
Expresin
SOP-0026
eliminarAsignaturaTitulacin
Versin
1.0 ( 09/10/2006 )
Autores
120
Descripcin
Parmetros
la titulacin
Administrador : Usuario -- al usuario, identificado como
administrador que desea eliminar una asignatura de una titulacin
Expresiones de pre1: El usuario se ha identificado como administrador
pre2: Existen asignaturas asociadas a la titulacin
precondicin
Expresiones de pos1: Se ha eliminado la asignatura de la titulacin
postcondicin
SOP-0027
eliminarAsignatura
Versin
1.0 ( 09/10/2006 )
Autores
Dependencias
Descripcin
Parmetros
SOP-0028
eliminarTitulacion
Versin
1.0 ( 09/10/2006 )
Autores
Dependencias
Descripcin
Parmetros
121
SOP-0029
eliminarUsuario
Versin
1.0 ( 09/10/2006 )
Autores
Dependencias
Descripcin
Parmetros
SOP-0030
eliminarUsuarioAsignatura
Versin
1.0 ( 09/10/2006 )
Autores
Dependencias
Descripcin
Parmetros
SOP-0031
importarAsignaturaFichero
Versin
1.0 ( 09/10/2006 )
Autores
Dependencias
Descripcin
122
SOP-0032
importarUsuarioFichero
Versin
1.0 ( 09/10/2006 )
Autores
Dependencias
Descripcin
Parmetros
usuarios a importar
Asignatura : Asignatura -- la asignatura a la que se desea
SOP-0033
InscribirUsuarioAsignatura
Versin
1.0 ( 09/10/2006 )
Autores
Dependencias
Descripcin
Parmetros
aadir alumnos
Administrador : Usuario -- al usuario, identificado como
administrador que desea aadir un alumno a una asignatura
123
Excepcin
InscribirUsuarioAsignatura::excep1
Condicin
Expresin
Excepcin
InscribirUsuarioAsignatura::excep2
Condicin
Expresin
SOP-0034
ModificarAsignaturasTitulacin
Versin
1.0 ( 09/10/2006 )
Autores
Dependencias
Descripcin
Parmetros
titulacin
Asignaturas : Set( Asignatura ) -- las asignaturas que se
SOP-0035
VincularAsignaturaTitulacin
Versin
1.0 ( 09/10/2006 )
Autores
124
Descripcin
Parmetros
titulacin
Administrador : Usuario -- al usuario, identificado como
administrador que desea aadir una asignatura a una titulacin
Titulacin : Titulacin -- la titulacin a la que se desea aadir
una asignatura
Expresiones de pre1: El usuario se ha identificado como administrador
pre2: Existen asignaturas en el sistema
precondicin
pre3: existen titulaciones en el sistema
Expresiones de pos1: Se ha aadido la asignatura a la titulacin
postcondicin
Excepcin
VincularAsignaturaTitulacin::excep1
Condicin
La asignatura no existe
Expresin
Excepcin
VincularAsignaturaTitulacin::excep2
Condicin
Expresin
modificarContrasea
Versin
1.0 ( 04/10/2006 )
Autores
Dependencias
Descripcin
Parmetros
cambiar la contrasea
usuario : String -- usuarios que quiere cambiar la contrasea
nuevaContrasea : String -- nueva contrasea del usuarios
Expresiones de pre1: el usuario esta identificado en el sistema
125
Excepcin
modificarContrasea::excep1
Condicin
Expresin
SOP-0002
modificarDatosUsuario
Versin
1.0 ( 04/10/2006 )
Autores
Dependencias
Descripcin
Parmetros
la anterior
Expresiones de pre1: el usuario est identificado
precondicin
Expresiones de post1: se han modificados los datos del usuario
postcondicin post2: se ha notificado al usuario que se ha realizado correctamente
Excepcin
modificarDatosUsuario::excep1
Condicin
Expresin
SOP-0003
identificarUsuario
Tipo del
resultado
Versin
1.0 ( 04/10/2006 )
Autores
126
Descripcin
Parmetros
Excepcin
identificarUsuario::excep1
Condicin
Expresin
desactivarTutorias
Versin
1.0 ( 04/10/2006 )
Autores
Dependencias
Descripcin
Parmetros
tutoras
Expresiones de pre1: El usuario est debidamente identificado
pre2: Las tutoras no estn desactivadas anteriormente
precondicin
Expresiones de post1: Se ha modificado el atributo de estado de las tutorias del profesor
post2: Se ha modificado el motivo con el pasado por parmetro
postcondicin
post3: Se ha notificado de que se ha realizado correctamente
SOP-0009
activarTutorias
Versin
1.0 ( 04/10/2006 )
Autores
Dependencias
Descripcin
Parmetros
127
SOP-0010
realizarPeticionCita
Tipo del
resultado
Versin
1.0 ( 04/10/2006 )
Autores
Dependencias
Descripcin
Parmetros
cita
motivo : String -- descripcin del motivo por el que el quiere
realizar la cita
fecha : Date -- fecha que desea que realice la tutora
profesor : Profesor -- profesor al que se desea pedir una cita
Expresiones de pre1: El usuario alumno est debidamente identificado por el sistema
precondicin
Expresiones de post1: Se ha registrado la peticin
postcondicin post2: Se notifica al usuario que se ha realizado correctamente
Excepcin
realizarPeticionCita::excep1
Condicin
Expresin
SOP-0011
cancelarCitasActuales
Versin
1.0 ( 04/10/2006 )
Autores
Dependencias
Descripcin
Parmetros
128
desea cancelar
motivoCancelacion : String -- al motivo de la cancelacin
Expresiones de pre1: El usuario est identificado por el sistema
precondicin
Expresiones de post1: Se ha modificado motivoCancelacion de las peticiones con el
postcondicin introducido por parmetro
post2: Se ha modificado el estado del conjunto de peticiones a cancelado
post3: Se notifica al usuario que se ha realizado correctamente
SOP-0012
consultarEstadoPeticiones
Tipo del
resultado
Versin
1.0 ( 04/10/2006 )
Autores
Dependencias
Descripcin
Parmetros
peticiones
Expresiones de pre1: El usuario se ha identificado
precondicin
Expresiones de post1: El sistema ha mostrado las peticiones junto con su estado
postcondicin post2: Si la peticion ha sido modificada y el usuario la ha leido, el estado de
la lectura se modifica, es decir los atributos leidoProfesor o leidoAlumno
segun el usuario
SOP-0013
revisarPeticionCita
Tipo del
resultado
peticionCita
Versin
1.0 ( 04/10/2006 )
Autores
Dependencias
Descripcin
El usuario profesor desea revisar las peticiones de cita que le han sido
enviadas
Parmetros
129
Excepcin
revisarPeticionCita::excep1
Condicin
Expresin
se muestra el error
SOP-0014
consultarCitasActuales
Tipo del
resultado
Versin
1.0 ( 04/10/2006 )
Autores
Dependencias
Descripcin
Parmetros
asociadas
fecha : Date -- fecha en la que se desea consultar las peticiones de
cita
Expresiones de pre1: El usuario se ha identificado
precondicin
Expresiones de post1: Se ha mostrado las peticiones de cita por fecha, hora de inicio y el
postcondicin profesor
Excepcin
consultarCitasActuales::excep1
Condicin
Expresin
SOP-0015
consultarHorarioTutorias
Tipo del
resultado
Versin
1.0 ( 04/10/2006 )
Autores
130
Descripcin
Parmetros
tutoras
Expresiones de pre1: El usuario est identificado
precondicin
Expresiones de post1: El sistema ha mostrado las tutoras del profesor
postcondicin
SOP-0016
modificarTutorias
Tipo del
resultado
Versin
1.0 ( 04/10/2006 )
Autores
Dependencias
Descripcin
Parmetros
tutoras
Expresiones de pre1: El usuario esta autenticado
precondicin
Expresiones de post1: Se han aadido o modificado las tutoras
postcondicin post2: El sistema notifica que se ha realizado correctamente
Comentarios
Ninguno
Excepcin
modificarTutorias::excep1
Condicin
Expresin
131
132
Patrn DAO
El acceso a los datos vara dependiendo de la fuente de los datos. El acceso al
almacenamiento persistente, como una base de datos, vara en gran medida
dependiendo del tipo de almacenamiento (bases de datos relacionales, bases
de datos orientadas a objetos, ficheros planos, etc.) y de la implementacin del
vendedor.
El DAO implementa el mecanismo de acceso requerido para trabajar con la
fuente de datos. El DAO oculta completamente los detalles de implementacin
de la fuente de datos a sus clientes. Como el interface expuesto por el DAO no
cambia cuando cambia la implementacin de la fuente de datos subyacente,
este patrn permite al DAO adaptarse a diferentes esquemas de
almacenamiento sin que esto afecte a sus clientes o componentes de negocio.
Esencialmente, el DAO acta como un adaptador entre el componente y la
fuente de datos.
En este grfico se puede ver cmo es el funcionamiento del patrn:
133
Permite la Transparencia :
Los objetos de negocio puede utilizar la fuente de datos sin conocer los
detalles especficos de su implementacin. El acceso es transparente
porque los detalles de la implementacin se ocultan dentro del DAO.
Aplicacin en el proyecto
En nuestro caso, hemos aplicado el patrn aunque con unas leves diferencias
debido al uso de hibernate. Los DAO no acceden mediante JDBC directamente
como lo haran normalmente en una aplicacin similar, hay una capa
intermedia debido a que Hibernate media entre los dos. Por tanto en los DAO
se usa la funcionalidad de Hibernate, con una notable reduccin de cdigo.
Patrn Singleton
Est diseado para restringir la creacin de objetos pertenecientes a una clase
o el valor de un tipo a un nico objeto.
Su intencin consiste en garantizar que una clase slo tenga una instancia y
proporcionar un punto de acceso global a ella.
El patrn singleton se implementa creando en nuestra clase un mtodo que
crea una instancia del objeto slo si todava no existe alguna. Para asegurar
que la clase no puede ser instanciada nuevamente se regula el alcance del
constructor (con atributos como protegido o privado).
134
Patrn Estrategia
El patrn Strategy permite mantener un conjunto de algoritmos de los que el
objeto cliente puede elegir aquel que le conviene e intercambiarlo segn sus
necesidades.
Cuando tenemos un algoritmo que puede cambiar, por cualquier motivo, bien
en tiempo de ejecucin, bien cuando lo implementemos en otro sitio, y no
queremos modificar el cdigo que usa ese algoritmo, viene bien usar el patrn
estrategia.
Aplicacin
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
Esquema ERD
A continuacin, detallaremos las tablas de la base de datos creadas a partir
del ERD, mostrando cada uno de sus campos.
TABLA FICHA
Campo
idFicha
Tipo
Integer
Nulo
No
Predeterminado
-1
PK
X
FK
fechaActualizacion
Date
Si
telefono
Apellidos
movil
Integer
Varchar(255)
Integer
Si
Si
Si
Foto
Tynint
SI
fechaNacimiento
idDireccionA
Date
Integer
Si
Si
idDireccionB
Integer
Si
Comentario
Identificador de la
ficha
Fecha
de
actualizacin de la
ficha
Telfono del contacto
Apellidos del usuario
Numero de telfono
movil
Booleano
que
representa
si
el
usuario tiene foto
Fecha de nacimiento
Direccin
de
residencia
Direccin
de
residencia real
Tabla Ficha
TABLA DIRECCION
150
Tipo
Integer
Varchar(100)
Varchar(100)
Varchar(50)
Varchar(50)
Varchar(5)
Nulo
No
SI
SI
SI
SI
SI
Predeterminado
-1
PK
X
FK
Comentario
Identificador de direccion
Direccion de la ficha
Localizacin de la ficha
Pais de la ficha
Provincia de la ficha
Codigo postal
Tabla Direccion
TABLA USUARIO
Campo
idUsuario
Tipo
Integer
Nulo
No
Clave
Usuario
Varchar(20)
Varchar(20)
No
No
Correo
Varchar(50)
Si
Rol
Predeterminado
-1
PK
X
FK
Comentario
Identificador
de
direccion
Clave del usuario
Nombre
del
usuario
Correo
del
usuario
Tabla Usuario
TABLA ALUMNO
Campo
idUsuario
Nombre
idFicha
Tipo
Integer
Varchar(255)
Integer
Nulo
No
Si
Si
Predeterminado
-1
PK
X
FK
X
Comentario
Identificador del usuario
Nombre del usuario
Identificador de la ficha
X
Tabla Alumno
TABLA PROFESOR
Campo
idUsuario
Categora
Despacho
Web
Nombre
motivoTutorias
Tipo
Integer
Varchar(100)
Varchar(100)
Varchar(100)
Varchar(100)
Varchar(100)
tutoriaActivada
Tynint(1)
Nulo
No
Si
Si
Si
Si
Si
Predeterminado
-1
PK
X
FK
X
Comentario
Identificador del usuario
Categora de trabajo
Direccin del despacho
Pagina Web
Nombre del profesor
Motivo de cancelacin de
las tutoras
Booleano que indica si
estn
activadas
la
tutoras
Si
Tabla profesor
TABLA DEPARTAMENTO
Campo
idDepartamento
Tipo
Integer
Nulo
No
Nombre
Varchar(255)
Si
Web
Codigo
Varchar(255)
Integer(11)
Si
Si
Predeterminado
-1
PK
X
FK
Comentario
Identificador
del
departamento
Nombre
del
departamento
Pagina Web
Cdigo de departamento
Tabla departamento
TABLA ASIGNATURA
Campo
idAsignatura
Tipo
Integer(9)
Nulo
No
cuatrimestre
tinyint(1)
Si
Predeterminado
-1
PK
X
FK
Comentario
Identificador de
la asignatura
Cuatrimestre
151
varchar(100)
tinyint(1)
Integer(11)
Si
Si
Si
creditos
Duracion
float(9,3)
Enum (anual,
cuatrimestral)
Varchar(150)
Enum (optativa,
troncal, obligatoria,
libre configuracion)
Integer(9)
Si
Si
Web
tipoAsignatura
idDepartamento
Nombre
Curso
Cdigo de la
asignatura
Crditos
Duracin de la
asignatura
Pgina Web
Tipo
de
asignatura
Si
Si
Si
Tabla Asignatura
Departamento
TABLA APROBADAASIGNATURAS
Campo
idFicha
idAsignatura
Tipo
Integer(9)
Integer(9)
Nulo
No
No
Predeterminado
PK FK
X
X
X
X
Tabla aprobadaAsignaturas
Comentario
Identificador de la ficha
Identificador de asignatura
TABLA TITULACION
Campo
idTitulacion
Codigo
Nombre
Tipo
Integer(9)
Integer(11)
Varchar(255)
Nulo
No
Si
Si
Predeterminado
-1
PK
X
FK
Comentario
Identificador de titulacin
Cdigo de la titulacin
Nombre de la titulacin
Tabla Titulacion
TABLA ASIGNATURATITULACIONES
Campo
idTitulacion
idAsignatura
Tipo
Integer(9)
Integer(9)
Nulo
No
No
Predeterminado
PK
X
X
FK
X
X
Comentario
Identificador de titulacin
Identificador de asignatura
Tabla AsignaturaTitulaciones
TABLA IMPARTEASIGNATURA
Campo
profesor
idAsignatura
Cargo
Tipo
Integer(9)
Integer(9)
Varchar(255)
Nulo
No
No
Si
Predeterminado
PK
X
X
FK
X
X
Comentario
Identificador de profesor
Identificador de asignatura
Cargo del profesor en la
asignatura
Tabla ImparteAsignatura
TABLA NOTICIA
Campo
idNoticia
Titulo
Texto
fechaIni
fechaMod
Asignatura
Profesor
Tipo
Integer(9)
Varchar(100)
Text
Date
Date
Integer(9)
Integer(9)
Nulo
No
Si
Si
Si
Si
No
No
Predeterminado
-1
PK
X
FK
X
X
Comentario
Identificador de noticia
Titulo de la noticia
Contenido
Fecha de creacin
Fecha de modificacin
Identificador de noticia
Identificador de noticia
Tabla Noticia
TABLA PETICIONCITA
Campo
idCita
Tipo
Integer(9)
Motivo
Varchar(255)
Nulo
No
Predeterminado
-1
Si
PK
X
FK
Comentario
Identificador de
la cita
Motivo de la
152
Si
fechaCita
Enum(cancelada,
en
proceso,
aceptada)
Timestamp
motivoCancelacion
Varchar(255)
Si
leidoProfesor
Tinyint(1)
Si
leidoAlumno
Tinyint(1)
Si
Alumno
Integer(9)
No
Profesor
Integer(9)
No
Estado
Si
la
Fecha y hora de
la cita
Motivo
de
cancelacin
Booleano
que
indica si la cita
ha sido leda
por el profesor
Booleano
que
indica si la cita
ha sido leda
por el alumno
Identificador de
alumno
Identificador de
profesor
Tabla PeticionCita
TABLA RECIBEASIGNATURA
Campo
idAlumno
idAsignatura
Tipo
Integer(9)
Integer(9)
Nulo
No
No
Predeterminado
PK FK
X
X
X
X
Tabla recibeAsignatura
Comentario
Identificador de alumno
Identificador de asignatura
TABLA TUTORA
Campo
idTutoria
idUsuario
horaInicio
minInicio
horaFin
minFin
Tipo
Integer(9)
Integer(9)
Smallint(2)
Smallint(2)
Smallint(2)
Smallint(2)
Nulo
No
No
Si
Si
Si
Si
Predeterminado
-1
PK
X
FK
X
Comentario
Identificador de tutora
Identificador del profesor
Hora de inicio de la tutora
Minutos de inicio de la tutora
Hora de fin de la tutora
Minutos de fin de la tutora
Tabla Tutoria
153
154
155
156
157
158
159
160
Administracin BD
Navegadores Web
Gestor de Base de Datos
Contenedor Web
DETALLE
Eclipse Lomboz
Subversion
Amateras StrutsIDE
Amateras Eclipse HTML
Editor
Hibernate Tools
MySQL GUI Tools
Internet Explorer
Internet Explorer
Mozilla Firefox
MySQL Server
Apache Tomcat Server
VERSIN
3.2
1.4.3
2.0.2
2.0.2
3.1
1.1.20
6.0
7.0
2.0.0.1
5.0
5.5
Memoria RAM
Disco Duro
1 GB
75 GB
1GB
160 GB
2GB
100 GB
161
http://subclipse.tigris.org/install.html
162
163
164
165
Cabecera.jsp:
166
Pie.jsp:
Pie de la pgina que muestra la informacin de la aplicacin.
<div id="pie">
<p>Versión 1.0 Alpha - Noel Guillen Montilla, Fernando López
Iglesias</p>
</div>
Head.jsp:
s la parte del head del html, como es una parte comn se ha modularizado.
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Gestión de Fichas</title>
<link rel="stylesheet" type="text/css" href="estilos.css" title="default" />
</head>
Para las vistas hemos usado una pgina por defecto donde hemos introducido
el contenido.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<%@ include file="../include/head.jsp"%>
<body>
<div id="cuerpo">
<%@ include file="../include/cabecera.jsp"%>
<%@ include file="../include/menu.jsp"%>
<div id="contenido">
CONTENIDO DE LA PGINA
</div>
<%@ include file="../include/pie.jsp"%>
</div>
</body>
</html>
167
168
Internacionalizacin
Aunque la internacionalizacin la implementa Struts explicamos brevemente
su uso en la aplicacin. Tenemos un archivo Menssages_es.properties dnde
hay conjunto de claves y cada una tiene asociada un texto.
En la vista slo para usarlo solo hay que usar la taglib bean con su funcion
message como se muestra a continuacin.
<bean:message key="menu.verFicha"/>
..
169
<html:errors/>
170
171
2
3
http://validator.w3.org
http://jigsaw.w3.org/cssvalidator
172
Prueba
Resultados
Verificacin de contenidos
Sitio en construccin
Validacin HTML
Validacin CSS
Plug-ins necesarios
Consistencia de la
diagramacin
Ancho de diagramacin
Diagramacin vs. Browsers
Imgenes escaladas
173
174
Pruebas
Resultados
Campos obligatorios
Validaciones locales
Ingresos de datos
Reingreso y correccin de
datos
Elementos de interfaz
Multiplataforma
175
176
Consideraciones
Hay que tener en cuenta que la figura del administrador se ha excluido dado
que comparado con el uso que podra tener cualquiera de los otros dos tipos
de usuarios es inapreciable en el sistema.
Se ha realizado una prueba previa debido a que en la primera carga de un jsp,
el contenedor Tomcat lo compila y tarda un tiempo mayor del que tardara en
una segunda carga. Esto lo hemos hecho as porque queramos probarlo con el
entorno en produccin.
Resultados
177
Tabla de resultados
JMeter tambin genera un grafico como el que se puede ver a continuacin en el
cual se puede ver el comportamiento del rendimiento, la media, mediana, y
desviacin tpica a lo largo del eje X que representa al nmero de muestras.
Grfico de resultados
Como se puede observar en l, a mayor nmero de muestras va tendiendo ms
a lo que debera de ser el comportamiento de la aplicacin.
178
Versin con la cual ha sido desarrollada y probada, posiblemente funcione con versiones inferiores
179
Tenga en cuenta que en la instalacin de MySQL se crea por defecto la base de datos llamada Test que
se puede usar para probar el funcionamiento de la aplicacin
180
181
182
183
184
185
186
187
188
Nota: Las citas que aqu se muestran, son slo las que han sido aceptadas
previamente por el profesor. Para ms informacin ver: 2.6.
189
190
191
Aadir titulaciones.
Eliminar titulaciones.
Aadir Asignaturas.
Eliminar Asignaturas.
Aadir usuarios.
Eliminar usuarios.
Vincular una asignatura a una titulacin.
Desvincular una asignatura a una titulacin.
Vincular un usuario a una asignatura.
Desvincular un usuario de una asignatura.
Importar una lista de usuarios.
Importar una lista de asignaturas y titulaciones.
Vaciar lista de asignaturas.
Aadir departamentos
Modificar Departamentos
192
193
194
195
196
197
<usuarios>
<alumnos>
...
<alumno>
<dni></dni>
<contrasea></contrasea>
</alumno>
...
</alumnos>
<profesores>
...
<profesor>
198
199
<asignaturas>
...
<asignatura>
<codigo></codigo>
<nombre></nombre>
<curso></curso>
<cuatrimestre></cuatrimestre>
<departamento></departamento>
<web></web>
<creditos></creditos>
<duracin></duracin>
<tipo></tipo>
</asignatura>
...
</asignaturas>
Para un correcto funcionamiento de la aplicacin, el administrador debe
comprobar que el departamento existe en el sistema. En caso contrario la
asignatura ser descartada y no ser aadida al sistema.
200
<departamentos>
...
<departamento>
<nombre></nombre>
<codigo></codigo>
<web></web>
</departamento>
...
</departamentos>
A continuacin, se seleccionarn las titulaciones de la lista para que la lista de
asignaturas quede vinculada a estas.
Observacin: No es necesario garantizar por parte del administrador que la
asignatura y el departamento no se encuentren en el sistema, si estas ya han
sido insertadas se descartarn automticamente. Las asignaturas descartadas
s entrarn en el proceso de vinculacin.
Si la asignatura no existe en el sistema pero su cdigo s, ser descartada y no
ser aadida al sistema.
Se recomienda importar las asignaturas cuando las titulaciones ya se
encuentren en el sistema (ver punto 13.4.1).
b) Importar a partir de un fichero Excel
Para importar una lista de asignaturas a partir de un archivo Excel basta con
seleccionar en el men izquierdo la opcin importar asignaturas. A
continuacin se mostrar un campo solicitando el archivo a importar.
Posteriormente, se seleccionar la opcin Excel.
El archivo Excel deber seguir la siguiente estructura:
En el caso de no existir los departamentos de las asignaturas en el sistema, se
colocaran al principio del documento de la siguiente forma:
En
En
En
En
la
la
la
la
la
la
columna
columna
columna
columna
columna
columna
0
1
2
3
4
5
se
se
se
se
se
se
201
202
203
204
205
15.1 Planificacin
La planificacin es una estimacin del tiempo necesario para llevar a cabo las
distintas tareas que se realizan durante el desarrollo de un proyecto.
As, una estimacin es una prediccin que tiene la misma probabilidad de
estar por encima o por debajo del valor actual (Tom DeMarco). El principal
objetivo de la estimacin es reducir los costes.
Para nuestro estudio, realizaremos una estimacin inicial al comienzo del
proyecto y anotaremos el tiempo real empleado al finalizar el proyecto. A partir
de esos datos calcularemos el error relativo de estimacin de la siguiente
forma:
ER= (Valor Real - Valor Estimado)/Valor Real
Tambin calcularemos el error relativo medio:
Error Relativo Medio =(1/n) i=1..n ERi
A continuacin se muestran los resultados obtenidos:
Tarea
Estimacin Inicial Estimacin Final
ER
Bsqueda de la informacin
9 das
12 das
25%
Anlisis de tareas
4 das
2 das
-50%
Elicitacin de requisitos
14 das
17 das
17.64%
Anlisis de requisitos
12 das
15 das
20%
Instalacin de la plataforma
3 das
5 das
40%
Diseo del sistema
16 das
13 das
-23%
Prototipo del sistema
4 das
4 das
0%
Implementacin
65 das
78 das
16.6%
Pruebas
8 das
6 das
-33%
Rediseo
5 das
5 das
0%
Presentacin
5 das
3 das
66%
TOTAL
145 das
160 das
9.37%
Error relativo Medio
7.17%
Teniendo en cuenta que el proceso de estimacin, es un proceso muy difcil de
realizar, podemos considerar que la estimacin inicial realizada fue buena.
Tambin podemos ver que la estimacin inicial ha sido inferior al tiempo real
necesario para realizar el proyecto, echo que suele ocurrir en los procesos de
planificacin.
206
207
208
209
210
REFERENCIAS BIBLIOGRFICAS
16 Bibliografa y referencias
http://www.laliluna.de/tutorials.html
http://www.javahispano.com
http://www.monografias.com/
http://es.wikipedia.org/
http://www.guiaweb.gob.cl/guia/capitulos/cuatro/queprobar.htm
211