Inventario Hard Web
Inventario Hard Web
Inventario Hard Web
El proyecto se desarrollar a travs de una metodologa de desarrollo bsicamente estructurada, si bien se definirn diferentes fases en ste desarrollo, por lo que el resultado final tender a resultar evolutivo. Se pretende disear y programar una aplicacin siguiendo una arquitectura web a travs de la cual se pueda gestionar el inventario de equipos de una empresa de aproximadamente 200 usuarios, facilitando un acceso rpido a toda la informacin. Para cumplir el objetivo se desarrolla la aplicacin centrndose en la tecnologa JSP y disendose una base de datos (gestionada con MySQL) que recoja la informacin de los equipos y todos los cambios que estos puedan sufrir y todo ello empleando una infraestructura preexistente que facilitar la reduccin al mximo de los costes para la propia empresa.
La aplicacin ha de servir para, a travs de un nico interfaz y con un uso lo ms simplificado posible, permitir realizar toda la gestin de altas, modificaciones y bajas de equipos y usuarios, as como facilitar funciones de consulta de material que actualmente se realizan a travs de varias aplicaciones diferentes. Una vez creada la herramienta para ordenar el inventario, el objetivo primordial de la aplicacin ser el de agilizar determinadas bsquedas y rutinas propias de los empleados del grupo de informtica a la hora de atender las necesidades e incidencias del resto de usuarios de la empresa, as como servir de herramienta para obtener informes detallados, generados en funcin de diferentes parmetros y variables, a los que, antes de desarrollar la aplicacin, no se tiene acceso mediante ninguna de las herramientas en uso. Por otro lado, estos informes deben ser generados de tal forma que permitan su
posterior edicin en caso de necesitar ser personalizados, por lo que se incluye una forma fcil de exportarlos a herramientas de software tpicas de paquetes de oficina.
A travs de la siguiente memoria se explicarn los pasos seguidos desde el planteamiento inicial de la aplicacin hasta su implementacin definitiva, incidiendo en su anlisis y diseo, y acompaando los datos y archivos necesarios para su ejecucin final en el CD adjunto.
II
ndice General
1. Introduccin 1.1. Objetivo del proyecto 1.2. Aportaciones 1.3. Estructura de la memoria 2. Desarrollo 2.1. Identificacin de necesidades 2.1.1. Documento de Conceptos del Sistema 2.2. Anlisis de requisitos 2.2.1. Modelo Fsico Actual 2.2.2. Lista de requisitos 2.2.3. Modelo Lgico Nuevo 2.2.4. Modelo Conceptual de Datos 2.3. Estudio de Arquitectura 2.4. Diseo 2.4.1. Modelo Fsico del Nuevo Sistema 2.4.2. Diseo de Formularios e Informes 2.4.3. Especificacin de procesos 2.4.4. Modelo Logico de Datos 2.4.5. Modelo Fsico de Datos 2.5. Implementacin 2.5.1. Tcnicas y Herramientas 2.5.2. Estructura del cdigo 2.5.3. Ejemplos de cdigo 2.5.4. Detalles de implementacin 2.5.5. Implantacin final y conclusiones Apndices: A.1. Diccionario de datos del Modelo Fsico Actual A.2. Diccionario de datos del Modelo Lgico Nuevo A.3. Diccionario de datos del Modelo Entidad Relacin A.4. Diccionario de datos del Modelo Fsico Nuevo A.5. Manual de usuario A.6. Manual de instalacin Bibliografa
Pg. 1 2 2 3 4 5 5 8 8 14 29 42 45 47 48 64 87 95 98 116 116 117 122 125 127 129 130 133 151 153 170 177 178
III
1. Introduccin
Este proyecto es el producto de cubrir una necesidad en el departamento de informtica (Organizacin y Sistemas) de la empresa para la que trabajo desde hace ya casi un par de aos. El ya mencionado departamento se encarga de todo tipo de actividades relacionadas con el uso y explotacin de la informtica dentro de la empresa, algunas de las cuales son: - Gestin global de casi todos los sistemas de informacin de la empresa, excluyendo el control y mantenimiento de la red local y sus equipos especficos. - Instalacin, mantenimiento y explotacin de todo tipo de software, ya sea especifico del negocio (en este caso, una financiera) o general, incluyendo desde sistemas operativos a cualquier aplicacin tpica de uso en oficinas. - Instalacin y mantenimiento de hardware, tanto a nivel de PC de usuario como a nivel servidor. - Desarrollo de rutinas y pequeas aplicaciones destinadas a los diferentes grupos de trabajo de la empresa, as como de algunas herramientas de interconexin de diferentes sistemas. - Desarrollo de aplicaciones para uso interno del departamento. - Atencin de incidencias de usuarios. Entroncando con varias de estas funciones, surge la necesidad de obtener una herramienta que facilite llevar un inventario actualizable del material instalado, y que a la vez habilita un acceso mas eficiente a la informacin de los diferentes usuarios a la hora de resolver incidencias, pues siendo la tarea menos satisfactoria del departamento, es sin duda de las que mas tiempo toma.
1.2 Aportaciones
Las aportaciones del proyecto solo pueden ser determinadas en base a su funcin en la empresa. No consta de tecnologas punteras ni tiene un desarrollo basado en investigaciones propias, su aportacin se centra en cubrir una necesidad en la empresa para la que se destina la aplicacin. Pero se trata de una necesidad real y que, debido al crecimiento de la empresa tanto en numero de trabajadores como de equipos y aplicaciones instaladas, pretende reducir el tiempo que se emplea en recoger la informacin que se necesita a la hora de resolver incidencias. Igualmente, facilitara la gestin de la informtica dentro de la empresa al facilitar un acceso sencillo a la informacin , y permitir realizar estudios sobre las necesidades de equipamiento de los diferentes departamentos.
2. Desarrollo
PAG: 2 DE: 3
La creacin de la aplicacin implicara llevar a cabo las siguientes funciones: Extraccin, limpieza, validacin y carga de datos Se har un proceso de carga de los datos en la base de datos que consultara la aplicacin. Este proceso se realizar inicialmente de forma manual, y despus ser gestionado por la propia aplicacin. Acceso a la informacin Se dotara al usuario de las herramientas necesarias para permitir Anlisis de los datos mediante funcionalidades especificas para ello, pudiendo adems seguir la evolucin de un equipo en el tiempo, a travs de las modificaciones y cambios que haya sufrido en su vida laboral en la empresa. Realizacin de informes, predefinidos o personalizados por el usuario en funcin de diferentes parmetros, y en diferentes formatos. Acceso a la informacin a travs de navegador Web Establecimiento de nuevos protocolos Se establecern nuevos protocolos de manejo de la informacin para realizar una mejor gestin de los equipos desde su recepcin tras la compra hasta su baja. 3. TIPOLOGA DE USUARIOS Los usuarios del sistema sern todos los empleados del departamento de Organizacin y Sistemas. Opcionalmente, podr habilitarse acceso a la aplicacin al departamento de Auditoria Interna. 4. RESTRICCIONES La aplicacin partir para su desarrollo de otros sistemas empleados en la empresa anteriormente que no realizan ningn tipo de control histrico de los equipos. No existe forma de recuperar la informacin de seguimiento del material, por lo que se partir de 0 en el histrico al comienzo de la carga del material, y se dejara que la informacin se autoajuste en el tiempo a medida que se emplee la aplicacin. Por otro lado, existen una serie de restricciones tecnolgicas, impuestas por la actual infraestructura de la empresa, que limitarn el tipo de aplicacin que se puede desarrollar, as como la arquitectura de la misma. No se imponen restricciones de coste, aunque se pretende emplear en todo momento herramientas preexistentes. Por tanto, en principio el coste no puede ser alto, limitndose a la compra de manuales si fuera preciso.
PAG: 3 DE: 3
5. ORGANIZACIN Y FUNCIONES EMPRESARIALES Dentro del departamento de Organizacin y Sistemas hay un jefe de departamento y por debajo suyo una serie de empleados que sern realmente los usuarios de la aplicacin, pero que no estn explcitamente jerarquizados ni tienen sus funciones totalmente definidas y separadas. Las funciones del departamento van desde la instalacin de equipos a la gestin de todo tipo de software y hardware, mantenimiento bsico de los equipos, gestin de incidencias de usuarios... La aplicacin a desarrollar permitir a sus usuarios un acceso ms rpido a la informacin sobre los equipos y los usuarios de la empresa, susceptible de agilizar su rendimiento. 6. ANTECEDENTES Existen una serie de antecedentes a tener en cuenta en la realizacin del proyecto: En el sistema actual se emplean una serie de aplicaciones cada una de las cuales realiza diferentes funciones de la gestin del inventario. Se pretende seguir usando esas aplicaciones en usos concretos, pero tambin unificar la informacin que proveen en un nico sistema, y acceder a ella ms gilmente. No existe en la actualidad ninguna aplicacin que permita obtener informes de inventario predefinidos y filtrados de forma automtica. Se dan limitaciones de las aplicaciones actualmente empleadas a la hora de gestionar equipos presentes en diferentes redes corporativas. La aplicacin solventara este problema con una carga manual de los equipos. El departamento va adquiriendo cada vez ms responsabilidades y cargas de trabajo en el conjunto de la empresa, por lo que debe conseguir una forma de agilizar sus procesos ms bsicos.
Creado el Documento de Conceptos del Sistema, podemos pasar a la siguiente etapa del desarrollo, en la que partiremos de l para determinar los requisitos del sistema.
Los sistemas actuales no proporcionan ningn tipo de informacin histrica sobre los equipos o los usuarios incluidos en la empresa. No existe un verdadero control sobre los departamentos que hay en la empresa. Los usuarios del sistema sabemos por aprendizaje en que unidades departamentales estn cada uno de los usuarios, y podemos realizar muchas de nuestras tareas gracias a ese conocimiento. Es preciso regular esta situacin. En casos concretos de equipamiento, determinadas marcas y/o modelos han resultado ser sumamente insatisfactorias. Es preciso tener control sobre esos equipos de forma directa para gestionar su cambio.
As pues, se obtiene un Modelo Fsico Actual cuyas caractersticas principales son las siguientes (ver en Apndices el Diccionario de datos del Modelo Fsico Actual): DFD0. Diagrama de contexto del modelo: - Existe una nica entidad externa, origen y destino de los flujos de datos del sistema, constituida por los usuarios del Departamento de Organizacin y Sistemas. Estos usuarios son a su vez los encargados de mantener el sistema, aunque realmente en el estado actual no se trata de un sistema, sino de un conjunto de procesos mayoritariamente manuales y dispersos para ejecutar las diferentes tareas de gestin de las que se realizan.
DFD1. Diagrama Conceptual del modelo. Este diagrama muestra los diferentes tipos de elementos que se gestionan actualmente: CPUs, impresoras y usuarios. El flujo de Entrada de datos del DFD0 explosiona en las diferentes entradas de los procesos de este segundo diagrama. Los flujos empleados y los procesos son muy bsicos y prcticamente autoexplicativos. Se observa como faltan algunos elementos para gestionar, como ya se haba comentado.
10
DFD1.1. Explosin del proceso Gestionar CPUs, del DFD1. Este diagrama nos muestra como se realiza actualmente la gestin del inventario de CPUs. Existen dos tipos de flujos de datos para este proceso, uno que solicita la ejecucin de la aplicacin encargada de recopilar la informacin de los equipos y un segundo que incluye datos de equipos para realizar consultas sobre ellos. La aplicacin que realiza la recopilacin de datos inserta estos en un archivo, como datos de texto separados por comas. Pero es incapaz de entrar en todas las redes en las que tenemos equipos, y tampoco puede ser instalada en las mismas. Por otro lado, cuando se quiere sacar un informe de diferentes equipos es preciso coger los datos de las CPUs implicadas, volcarlas a una hoja de calculo y filtrar en esta la informacin, para despus formatearla. Son los resultados de esas consultas, formateadas o no en informes, las que se incluyen en el flujo de salida del proceso.
11
DFD1.2. Explosin del proceso Gestionar Impresoras, del DFD1. Este diagrama expone como se realiza la gestin de las impresoras en el sistema actual. Tanto para dar de alta como para eliminar una impresora es necesario recurrir a una hoja de calculo en la que se van incluyendo o eliminando las que entran o salen de la empresa. Y sobre esta hoja se filtran y formatean los datos para obtener el flujo de salida del diagrama destinado al usuario. Como se puede apreciar, el flujo Entrada datos impresoras, del DFD1 se ha dividido en los tres flujos de entrada de este diagrama.
12
DFD1.3. Explosin del proceso Gestionar usuarios del DFD1. - Este es el ltimo diagrama del Modelo Fsico Actual. Y muestra como se gestiona los usuarios. Dado que se dispone de un dominio con usuarios registrados y que la informacin de inters que se precisa de estos esta recogida en el Directorio Activo del sistema, se emplea ste como almacn de datos de los usuarios. Pero no resulta una herramienta apropiada para obtener informes ni datos histricos, por lo que si hay que realizar informes de usuarios se deben filtrar manualmente.
13
2.2.2 Lista de requisitos Obtenido el Modelo Fsico Actual, se elabora la lista de requisitos esenciales del nuevo sistema, a partir de la cual se proceder a desarrollar el Modelo Lgico del Nuevo Sistema. Se dispondrn diferentes requisitos separados en funcin de su naturaleza, separando aquellos con un origen funcional de los que tengan un enfoque tecnolgico, de seguridad, etc... Los requisitos principales de la aplicacin son los siguientes (presentados en el formato aprendido durante el curso):
HOJA DE REQUISITOS 1
PROYECTO: Gestin de Inventario JEFE PROY.: Pedro Soler FECHA: Nov-2005 VERSION: ESTADO: Final PG: 1 FUENTE: Usuarios PRIORIDAD: Alta CLIENTE: Depto. Organizacin y Sistemas IDENTIFICADOR REQUISITO: AR1 DESCRIPCIN REQUISITO Generacin de una base de datos de inventario
TIPO REQUISITO: Operativo BENEFICIOS Se centralizar todos los datos en un nico almacn de datos a disear, que recoja todas las marcas, modelos, departamentos, usuarios, CPUs, impresoras y monitores de la empresa, as como una tabla donde se pueda hacer un seguimiento histrico de cambios sobre los equipos y usuarios COMENTARIOS / SOLUCIONES SUGERIDAS Necesario realizar un inventario manual de todo los equipos y usuarios para ejecutar la primera carga del sistema a partir de la cual seguir incluyendo o eliminando los mismos. Se propone hacer este inventario como una de las primeras tareas, y mantenerlo manualmente hasta el comienzo de la explotacin del sistema, para poder disponer de datos de partida si fuera necesario durante las fases de diseo. DOCUMENTOS RELACIONADOS Todos los documentos actuales que recopilan datos de usuarios y equipos: listado de impresoras y equipos en formato .csv y datos de usuarios del Directorio Activo. REQUISITOS RELACIONADOS
14
HOJA DE REQUISITOS 2
PROYECTO: Gestin de Inventario JEFE PROY.: Pedro Soler FECHA: Nov-2005 VERSION: ESTADO: Final PG: 1 FUENTE: Usuarios PRIORIDAD: Alta CLIENTE: Depto. Organizacin y Sistemas IDENTIFICADOR REQUISITO: AR2 DESCRIPCIN REQUISITO Establecimiento de nuevas polticas de gestin de inventario
TIPO REQUISITO: Funcional BENEFICIOS Dado que hasta el momento no se ha procedido a realizar inventarios sistemticos de equipos, habr que definir un protocolo de introduccin de los datos en el inventario y desarrollar polticas de mantenimiento del mismo. COMENTARIOS / SOLUCIONES SUGERIDAS Crear un manual de usuario que defina, a parte de cmo se debe emplear la aplicacin, polticas de buen uso. DOCUMENTOS RELACIONADOS Manual de usuario (por desarrollar). REQUISITOS RELACIONADOS
15
HOJA DE REQUISITOS 3
PROYECTO: Gestin de Inventario JEFE PROY.: Pedro Soler FECHA: Nov-2005 VERSION: ESTADO: Final PG: 1 FUENTE: Usuarios PRIORIDAD: Alta CLIENTE: Depto. Organizacin y Sistemas IDENTIFICADOR REQUISITO: AR3 DESCRIPCIN REQUISITO Desarrollo de la aplicacin bajo una arquitectura cliente-servidor.
TIPO REQUISITO: Operativo/Tecnolgico BENEFICIOS Se emplear un modelo ya testado, y se implantar la aplicacin en un servidor que ya est en uso, por lo que no supondr un gasto extra para la empresa. COMENTARIOS / SOLUCIONES SUGERIDAS La aplicacin se desarrollar en formato WEB, de forma que el peso de la gestin recaer en el servidor. Tanto la gestin de los datos como la mayora de los procesos de la aplicacin recaern sobre el servidor, de forma que los clientes sern muy ligeros y solo se encargaran de la presentacin de los datos y de la introduccin de datos. DOCUMENTOS RELACIONADOS
16
HOJA DE REQUISITOS 4
PROYECTO: Gestin de Inventario JEFE PROY.: Pedro Soler FECHA: Nov-2005 VERSION: ESTADO: Final PG: 1 FUENTE: Usuarios PRIORIDAD: Alta CLIENTE: Depto. Organizacin y Sistemas IDENTIFICADOR REQUISITO: AR4 DESCRIPCIN REQUISITO Empleo de un software de servidor y de cliente determinado por lo preexistente en la empresa
TIPO REQUISITO: Operativo/Funcional BENEFICIOS Se emplearan versiones de software ya probadas en un servidor ya probado, por lo que la implantacin de la aplicacin ser muy sencilla. La instalacin de la aplicacin en los equipos cliente se realizar mediante el simple copiado de un enlace a la aplicacin. COMENTARIOS / SOLUCIONES SUGERIDAS Se desarrollara la aplicacin de forma que se pueda emplear en cualquier equipo con Internet Explorer, pues es el explorador instalado por defecto en todos los equipos de los usuarios. El interfaz de usuario se basar en un men que ofrezca las funciones a realizar y una pagina donde se puedan mostrar los diferentes formularios de entrada de datos y presentar informes. Eso si, el empleo de las versiones preexistentes impone asimilar la tecnologa de que disponen y, con ello, las carencias de la misma en cuanto al manejo de los datos. Las versiones de software a emplear en el servidor sern: Servidor de aplicaciones WEB Apache-Tomcat 5.0 Versin de J2DSK 1.4.2 Gestor de base de datos MySQL 4.0 DOCUMENTOS RELACIONADOS
17
HOJA DE REQUISITOS 5
PROYECTO: Gestin de Inventario JEFE PROY.: Pedro Soler FECHA: Nov-2005 VERSION: ESTADO: Final PG: 1 FUENTE: Usuarios PRIORIDAD: Alta CLIENTE: Depto. Organizacin y Sistemas IDENTIFICADOR REQUISITO: AR5 DESCRIPCIN REQUISITO Obtencin de informes de inventario parametrizables en funcin de las caractersticas de los elementos incluidos en el inventario
TIPO REQUISITO: Funcional/Operativo BENEFICIOS Poder obtener de forma casi inmediata los informes sobre el inventario de cualquier elemento. Adems, permitir acceder a los datos individualizados de cualquier elemento y a su histrico de actualizaciones/modificaciones. Con estos informes se prev un descenso en la carga de trabajo de todos los usuarios, as como un mejor empleo del tiempo y una mayor eficiencia en la atencin a los usuarios finales. COMENTARIOS / SOLUCIONES SUGERIDAS Desarrollo de paginas de consulta en las que se muestren los diferentes campos consultables de cada entidad o equipo, accesibles desde el propio men de la aplicacin. Diferentes tipos de consulta en funcin de que se desee informacin de un equipo en concreto, del histrico de un equipo o de un conjunto de equipos que obedezcan a un filtro. Adems, se dispondr de una forma de exportar los informes a hojas de calculo o procesadores de texto para reformatearlos en caso de que el tipo de informe predefinido no sea el deseado. DOCUMENTOS RELACIONADOS Manual de usuario. REQUISITOS RELACIONADOS
18
HOJA DE REQUISITOS 6
PROYECTO: Gestin de Inventario JEFE PROY.: Pedro Soler FECHA: Nov-2005 VERSION: ESTADO: Final PG: 1 FUENTE: Usuarios PRIORIDAD: Alta CLIENTE: Depto. Organizacin y Sistemas IDENTIFICADOR REQUISITO: AR6 DESCRIPCIN REQUISITO El sistema tendr paginas para introducir datos de altas y bajas de los diferentes elementos, as como para permitir modificaciones o actualizaciones y correcciones de los datos ya incluidos.
TIPO REQUISITO: Operativo BENEFICIOS Se integrara en una misma solucin todo la mecnica para gestionar el inventario y para obtener informes. Facilidad de acceso a la funcin de inventariado. COMENTARIOS / SOLUCIONES SUGERIDAS Partirn del men diferentes entradas de los diferentes tipos de elementos a gestionar, a saber: - Departamentos - Usuarios - Marcas - Modelos - Hardware: CPUs, Impresoras y Monitores Estos elementos tendrn todos entradas para dar de alta nuevos elementos. Pero no todos permitirn eliminar elementos (por ejemplo, no tiene sentido eliminar una marca, y podra adems dar lugar a inconsistencias en la base de datos). Adems, se podrn corregir cualquiera de los campos que se introdujeron al dar de alta el elemento, si se ha producido un error, y por otro lado se habilitara una forma de actualizar los datos de los campos actualizables (por ejemplo, el departamento al que pertenece un usuario o la cantidad de memoria de un equipo), de tal manera que cada actualizacin/modificacin pueda dar lugar a una entrada en la tabla del histrico. No todos los elementos tendrn campos actualizables, depender del tipo de elemento. DOCUMENTOS RELACIONADOS Manual de usuario REQUISITOS RELACIONADOS
19
HOJA DE REQUISITOS 7
PROYECTO: Gestin de Inventario JEFE PROY.: Pedro Soler FECHA: Nov-2005 VERSION: ESTADO: Final PG: 1 FUENTE: Usuarios PRIORIDAD: Alta CLIENTE: Depto. Organizacin y Sistemas IDENTIFICADOR REQUISITO: AR7 DESCRIPCIN REQUISITO El sistema deber ser accesible por todos los miembros del departamento indistintamente
TIPO REQUISITO: Seguridad/Funcional BENEFICIOS Permitir que todos los miembros del equipo accedan mediante un clic a los mdulos funcionales de la aplicacin, y facilitar la interaccin con el mismo a cualquiera que lo necesite. COMENTARIOS / SOLUCIONES SUGERIDAS Se toma la decisin de que se acceda libremente al sistema tras evaluar la opcin de establecer perfiles de usuario con accesos y capacidades definidas. Pero se determina que, dado que las diferentes tareas que va a facilitar el sistema son desarrolladas por igual por todos los miembros del departamento, no sera funcional. Sin embargo, se estudia la idea de realizarlo en caso de que el departamento crezca y acabe implantndose especializacin en tareas. DOCUMENTOS RELACIONADOS REQUISITOS RELACIONADOS
20
HOJA DE REQUISITOS
PROYECTO: Gestin de Inventario JEFE PROY.: Pedro Soler FECHA: Nov-2005 VERSION: ESTADO: Final PG: 1 FUENTE: Usuarios PRIORIDAD: Alta CLIENTE: Depto. Organizacin y Sistemas IDENTIFICADOR REQUISITO: AR8 DESCRIPCIN REQUISITO La distribucin de las personas en el sistema se har por departamentos
TIPO REQUISITO: Funcional BENEFICIOS Esto permitir obtener informes mas detallados segn se requiera en funcin de unidades departamentales, a las que si fuera necesario se podran asignar costes. COMENTARIOS / SOLUCIONES SUGERIDAS Se generar una tabla con los departamentos y dentro de estos, todos sus miembros. Se empleara para definir estos departamentos una estructura basada en la definicin sistematizada actualmente y a partir de la cual se estn estableciendo los nombres lgicos de los diferentes equipos dentro del sistema. Esto permitir seguir empleando la misma nomenclatura y compartimentalizar al mximo la gestin de equipos. DOCUMENTOS RELACIONADOS REQUISITOS RELACIONADOS AR9
21
HOJA DE REQUISITOS
PROYECTO: Gestin de Inventario JEFE PROY.: Pedro Soler FECHA: Nov-2005 VERSION: ESTADO: Final PG: 1 FUENTE: Usuarios PRIORIDAD: Alta CLIENTE: Depto. Organizacin y Sistemas IDENTIFICADOR REQUISITO: AR9 DESCRIPCIN REQUISITO El diseo del sistema debe ser similar a la distribucin de los equipos dentro de la empresa,
TIPO REQUISITO: Funcional BENEFICIOS Esto permitir una aproximacin mas intuitiva de los usuarios al sistema, un aprendizaje mas rpido de sus funciones y un mayos aprovechamiento de sus capacidades dentro de las necesidades del Departamento de Organizacin y Sistemas. COMENTARIOS / SOLUCIONES SUGERIDAS Se imitar la distribucin actual a la hora de relacionar los equipos entre si y con los usuarios. As, las CPUs dependern de usuarios, los monitores de CPUs y las impresoras de departamentos o de usuarios (las hay individuales y las hay de grupo). Por otro lado, los usuarios solo dependern de departamentos. DOCUMENTOS RELACIONADOS REQUISITOS RELACIONADOS AR8
22
HOJA DE REQUISITOS
PROYECTO: Gestin de Inventario JEFE PROY.: Pedro Soler FECHA: Nov-2005 VERSION: ESTADO: Final PG: 1 FUENTE: Usuarios PRIORIDAD: Alta CLIENTE: Depto. Organizacin y Sistemas IDENTIFICADOR REQUISITO: AR10 DESCRIPCIN REQUISITO Tipo de informacin que deber suministrar el sistema de los usuarios
TIPO REQUISITO: Funcional BENEFICIOS El acceso rpido de determinados datos de los usuarios y la posibilidad de relacionar estos con otros equipos es parte fundamental de la funcionalidad del sistema COMENTARIOS / SOLUCIONES SUGERIDAS Tras consultar con los miembros del departamento, se decide que la informacin referente a los usuarios que seria recomendable manejar es : - Nombre y Apellidos - Nombre lgico (el de acceso al sistema) - Departamento al que pertenece - Email - Telfono (extensin) - Estado - Fecha de creacin en el dominio DOCUMENTOS RELACIONADOS REQUISITOS RELACIONADOS
23
HOJA DE REQUISITOS
PROYECTO: Gestin de Inventario JEFE PROY.: Pedro Soler FECHA: Nov-2005 VERSION: ESTADO: Final PG: 1 FUENTE: Usuarios PRIORIDAD: Alta CLIENTE: Depto. Organizacin y Sistemas IDENTIFICADOR REQUISITO: AR11 DESCRIPCIN REQUISITO Tipo de informacin que deber suministrar el sistema sobre las CPUs
TIPO REQUISITO: Funcional BENEFICIOS El acceso rpido de determinados datos de las CPUs y la posibilidad de relacionar estas con otros equipos y con su usuario es parte fundamental de la funcionalidad del sistema COMENTARIOS / SOLUCIONES SUGERIDAS Tras consultar con los miembros del departamento, se decide que la informacin referente a las CPUs que seria recomendable manejar es : - Numero de serie - Nombre lgico - Modelo - Usuario al que pertenece - Tipo de procesador - Velocidad del procesador - Memoria RAM - Estado - Fecha de creacin en el dominio DOCUMENTOS RELACIONADOS REQUISITOS RELACIONADOS
24
HOJA DE REQUISITOS
PROYECTO: Gestin de Inventario JEFE PROY.: Pedro Soler FECHA: Nov-2005 VERSION: ESTADO: Final PG: 1 FUENTE: Usuarios PRIORIDAD: Alta CLIENTE: Depto. Organizacin y Sistemas IDENTIFICADOR REQUISITO: AR12 DESCRIPCIN REQUISITO Tipo de informacin que deber suministrar el sistema sobre las impresoras
TIPO REQUISITO: Funcional BENEFICIOS El acceso rpido de determinados datos de las impresoras y la posibilidad de relacionar estas con sus departamentos o con su usuario es parte fundamental de la funcionalidad del sistema COMENTARIOS / SOLUCIONES SUGERIDAS Tras consultar con los miembros del departamento, se decide que la informacin referente a las impresoras que seria recomendable manejar es : - Numero de serie - Nombre lgico - Modelo - Usuario al que pertenece, si es individual. - Departamento al que pertenece, si es departamental - Estado - Fecha de creacin en el dominio DOCUMENTOS RELACIONADOS REQUISITOS RELACIONADOS
25
HOJA DE REQUISITOS
PROYECTO: Gestin de Inventario JEFE PROY.: Pedro Soler FECHA: Nov-2005 VERSION: ESTADO: Final PG: 1 FUENTE: Usuarios PRIORIDAD: Alta CLIENTE: Depto. Organizacin y Sistemas IDENTIFICADOR REQUISITO: AR13 DESCRIPCIN REQUISITO Tipo de informacin que deber suministrar el sistema sobre los monitores
TIPO REQUISITO: Funcional BENEFICIOS El acceso rpido de determinados datos de los monitores y la posibilidad de relacionarlos con sus CPUs y usuarios es parte fundamental de la funcionalidad del sistema COMENTARIOS / SOLUCIONES SUGERIDAS Tras consultar con los miembros del departamento, se decide que la informacin referente a los monitores que seria recomendable manejar es: - Numero de serie - Modelo - CPU con la que se conecta. - Estado - Fecha de creacin en el sistema. DOCUMENTOS RELACIONADOS REQUISITOS RELACIONADOS
26
HOJA DE REQUISITOS
PROYECTO: Gestin de Inventario JEFE PROY.: Pedro Soler FECHA: Nov-2005 VERSION: ESTADO: Final PG: 1 FUENTE: Usuarios PRIORIDAD: Alta CLIENTE: Depto. Organizacin y Sistemas IDENTIFICADOR REQUISITO: AR14 DESCRIPCIN REQUISITO Tipo de informacin que deber suministrar el sistema sobre los diferentes modelos de equipos que se dan.
TIPO REQUISITO: Funcional BENEFICIOS Permitir establecer bsquedas en funcin de modelos concretos, lo cual facilitara determinadas actividades en la gestin del inventario. COMENTARIOS / SOLUCIONES SUGERIDAS La informacin a mostrar por los modelos diferir en funcin del tipo de modelo del que se trate. Para facilitar la diferenciacin y permitir trabajar con diferente informacin, se emplearan tres tablas con diferentes modelos en funcin de que estemos hablando de CPUs, impresoras o monitores. As, de los modelos de CPU y de Impresora, solo ser preciso conocer el nombre del modelo y la marca de la que provienen, pero en el caso de los monitores, estar ligado al modelo adems su tipo de tecnologa (CRT o TFT) y el numero de pulgadas. DOCUMENTOS RELACIONADOS REQUISITOS RELACIONADOS
27
El siguiente requisito es producto de una segunda fase de desarrollo de la aplicacin, tras una primera versin en la que los usuarios echaron en falta un modulo suplementario en la aplicacin. De ah su nomenclatura especial.
TIPO REQUISITO: Operativo/Funcional BENEFICIOS Se pretende dar un mayor valor a la aplicacin haciendo que contribuya a la localizacin de los equipos y las incidencias con un mayor grado de precisin. Reduce los tiempos de bsqueda de los usuarios del departamento a la hora de localizar a los usuarios. COMENTARIOS / SOLUCIONES SUGERIDAS Este modulo se desarrolla durante la segunda fase de desarrollo del sistema, despus de realizar pruebas con los usuarios finales del sistema y solicitar estos el desarrollo del mismo para facilitar su quehacer diario. Se implementara como una nueva entrada en el men bajo el epgrafe Relaciones, y dentro de este se permitir obtener relaciones tanto por usuario (dando sus datos, as como los de las CPUs y Monitores que emplea) o por monitor o CPU (encontrando el usuario que los emplea y viendo que equipos tiene enlazados). Los datos de las relaciones pueden ser exportados a procesadores de texto u hojas de calculo para crear informes de los mismos. DOCUMENTOS RELACIONADOS Manual de usuario REQUISITOS RELACIONADOS AR5
28
2.2.3 Modelo Lgico Nuevo El Modelo Lgico Nuevo, al igual que el Modelo Fsico Actual, se basa en representaciones de diagramas de flujo de datos. Como se podr observar, en este modelo habr varios diagramas que sern prcticamente iguales, aunque incluirn procesos y flujos diferentes especializados en los diferentes elementos que se gestionaran en el inventario. Esto se explica porque posteriormente se emplearan tambin diferentes funciones para programar cada elemento, por lo que se prefiri separar los procesos ya desde este mismo momento. Basndose en los requisitos del sistema y en mi propia experiencia dentro del departamento, y tras analizar aquellos, se realizan los siguientes diagramas (ver en Apndices el Diccionario de datos del Modelo Lgico Nuevo): DFD0. Diagrama de contexto del modelo: Este diagrama describe nicamente la entidad externa usuarios y unos flujos genricos de entrada y salida del proceso general de gestin de inventario. A partir de esta primera descripcin se profundizar en todos los procesos que definirn la aplicacin.
29
DFD1. Diagrama Conceptual del modelo. Este modelo define una separacin entre lo que a partir de este momento se incluir dentro de Entidades (Usuarios y Departamentos) y lo que se incluir como Equipos (Marcas, Modelos, CPUs, Monitores e Impresoras). Esta separacin se realiza porque dentro de lo que es el control del inventario, definir los usuarios y departamentos es necesario para realizar determinados tipos de consultas. Pero no pueden considerarse verdaderamente como un inventario. Los procesos posteriores definirn un tratamiento de ambos grupos bastante similar, pero su separacin en este punto es necesaria en atencin a sus diferentes usos en la aplicacin. Por ultimo, muestra el formateo de los datos de salida.
30
DFD1Bis. Diagrama Conceptual del modelo en su segunda fase. Al avanzar en el desarrollo del sistema, tras evaluar la primera versin, se detecto la falta de un modulo que estableciera relaciones (ver hoja de requisitos ARBis). El rediseo de la aplicacin condujo a incluir el modulo en este punto sobre el Modelo Lgico Nuevo.
31
DFD1.1. Explosin del proceso Gestionar Equipos del DFD1 o DFD1Bis. Este diagrama es un diagrama general de los procesos que se realizan dentro del proceso general Gestionar Equipos, para poder profundizar en ellos despus sin perder la coherencia del modelo.
32
DFD1.2. Explosin del proceso Gestionar Entidades del DFD1 o DFD1Bis. Este diagrama, al igual que el anterior y por el mismo motivo, es un diagrama general, en este caso de los procesos que se realizan dentro del proceso general Gestionar Entidades.
33
DFD1.3. Explosin del proceso Encontrar Relaciones, del DFD1Bis. Este diagrama define el proceso de encontrar relaciones para los usuarios y los equipos. Aparece separado porque no solo es un modulo desarrollado con posterioridad, sino porque tambin hace mencin a una funcin de bsqueda relacionada con la gestin del inventario, pero no directamente implicada en la gestin de los diferentes elementos. Como se puede ver, una vez recibida la solicitud, se determina por qu elemento se realiza la relacin, y se procede a buscar tanto ese elemento como el resto de elementos relacionados.
34
DFD1.1.1. Explosin del proceso Gestionar Marcas, del DFD1.1. Este diagrama define los procesos y flujos que intervienen en el proceso de gestionar las marcas de los equipos que entraran en el inventario. Incluye las funciones que se pueden realizar sobre ellas como procesos separados, pero la salida de datos es un flujo nico a formatear.
35
DFD1.1.2. Explosin del proceso Gestionar Modelos, del DFD1.1. Este diagrama, similar al anterior, define los procesos de gestin de modelos y sus entradas y salidas de datos para formatear.
36
DFD1.1.3. Explosin del proceso Gestionar CPUs, del DFD1.1. Este diagrama define las funciones de gestionar los datos de una CPU concreta. Como se puede observar, incluye procesos que no se dan en las marcas o los modelos. El motivo se explica en la hoja de requisitos AR6.
37
DFD1.1.4. Explosin del proceso Gestionar Monitores, del DFD1.1. Este diagrama es prcticamente idntico al anterior, y muestra la gestin de los monitores inventariados.
38
DFD1.1.5. Explosin del proceso Gestionar Impresoras, del DFD1.1. Otro diagrama prcticamente idntico, aunque necesario para definir las funciones a disear posteriormente. Define la gestin de las impresoras.
39
DFD1.2.1. Explosin del proceso Gestionar Usuarios, del DFD1.2 Este diagrama define los procesos que intervienen en la gestin de los usuarios. Como se puede ver, muy similares a los que se realizan sobre CPUs, monitores o impresoras.
40
DFD1.2.2. Explosin del proceso Gestionar Deptos, del DFD1.2 Por ultimo, este diagrama define los procesos que se realizan en la gestin de los departamentos, muy similares a los que se realizan sobre marcas y modelos.
41
Como se puede observar, la existencia del requisito ARBis y de los diagramas DFD1Bis y DFD1.3 del Modelo Lgico Nuevo son consecuencia de un desarrollo evolutivo, en el que se genero una primera versin de la aplicacin y despus, en una segunda fase, la versin definitiva del proyecto.
2.2.4. Modelo Conceptual de Datos En el modelo conceptual de datos se parte de una serie de modelos que, unidos a los modelos de procesos ya desarrollados, permitirn finalizar en una estructura final para la base de datos que finalmente servir para gestionar nuestro sistema en desarrollo. Las premisas de las que partiremos para realizar estos modelos, resumidas en una parte de los procesos ya descritos y en otra de las condiciones del propio sistema, son las siguientes: En nuestro sistema tendremos por un lado una gestin de usuarios y por otro lado una gestin de los equipamientos. La agrupacin mayor de personas en la empresa se realiza por departamentos, entidad que tiene adems importancia a la hora de distribuir alguno de los equipos. Las CPUs solo podrn ser asignadas a usuarios. No existen CPUs departamentales, por lo que solo se asignan a usuarios. En el caso de darse equipos de uso comn entre varios usuarios, se escoger el usuario al que asignrsele en funcin de la jerarqua o la experiencia. Los monitores dependern de CPUs. Esto es una convencin decidida para simplificar como se gestiona realmente en la empresa, aunque se considera la mas adecuada. En la realidad, puede darse tanto que un ordenador tenga conectados varios monitores como que haya un monitor conectado (mediante un switch de video, teclado y ratn) a varios ordenadores. Pero dado que no existen monitores que no se conecten a ningn equipo, se consider mas oportuno que los monitores dependieran exclusivamente de CPUs. Con ello se simplificar el diseo de la base de datos sin perjudicar la efectividad del diseo. Las impresoras son un caso especial. Pueden ser impresoras departamentales compartidas (la gran mayora) o impresoras individuales (en la mayora de los despachos, algunas secretarias, etc.). Por tanto habr que disear una forma de que se den ambos casos y sea interpretable por el sistema. Habr un registro de marcas para evitar que se produzcan redundancias en los modelos. En el caso de marcas que se asocien, se creara un registro nuevo con la marca resultante. Los modelos se diferenciaran en tres tipos, para poder as definir caractersticas de los equipos que estn ligadas a ellos y no son independientes de cada equipo. Por ejemplo, si un monitor es TFT o CRT, depende del modelo. Como consecuencia, habr tres tablas de modelos, que dependern de su marca, y que sern enlazadas por cada equipo individual. Puede darse el caso de que haya usuarios que no tengan CPUs introducidos, dado que a veces se les da de alta sin en la empresa para funciones temporales y emplean equipos de otros usuarios.
42
A partir de estas premisas se disea el siguiente modelo entidad relacin, con sus cardinalidades correspondientes:
43
Con el desarrollo de estos modelos y tras la definicin de los requisitos del sistema, finalizamos esta etapa del desarrollo. Tras ella comenzamos el estudio de la arquitectura del sistema, y de ah se pasar a la etapa de diseo de la aplicacin, si bien, como acabo de comentar, no existe una relacin exactamente temporal en el paso de una etapa a otra, pues el paradigma evolutivo escogido en el desarrollo implica la vuelta atrs a etapas superadas para desarrollar nuevas funciones.
44
En este caso especifico, la red del grfico es un segmento de la red local de la empresa a la que solo tienen acceso los usuarios del propio departamento de Organizacin y Sistemas, lo cual elimina problemas de riesgo de acceso. Arquitectura de aplicaciones: La arquitectura de aplicaciones escogida sigue un esquema cliente servidor de tres capas, datos, aplicacin y presentacin. Ms concretamente, tendremos una arquitectura distribuida de forma que la gestin de los datos y la aplicacin quedaran en el lado del servidor y la presentacin del interfaz de usuario y de los resultados, estarn en el lado cliente.
45
Especificacin de hardware y software: En cuanto al hardware empleado, ser preciso un equipo servidor sobre el que instalar tanto el gestor de base de datos como el servidor de aplicaciones, y una serie de equipos clientes que accedern a la aplicacin a travs del navegador web. Estos clientes no hace falta que sean equipos de alta categora, pues la presentacin no ser demasiado exigente en cuanto a su consumo de recursos, as que se emplearan los ya existentes en el departamento. Las especificaciones de los equipos son las siguientes: - Servidor: HP Proliant DL145, con procesador AMD Opteron 242 de 1,6 GHz, y 1 GB de memoria RAM. - Clientes: Equipos HP d330 y HP 5100c, ambos modelos con procesador Pentium 4, de velocidad comprendida entre 2,8 GHz y 3 GHz, y 1 GB de memoria RAM En cuanto al software, se empleara como gestor de base de datos MySQL, en su versin 4.0, y como servidor de aplicaciones Apache Tomcat, versin 5.0. La aplicacin estar optimizada para ser empleada sobre Internet Explorer 6.0, pues es el navegador instalado de serie sobre los equipos clientes. Todo el conjunto, servidor y clientes, estn en una plataforma Windows, y tiene instaladas las versiones 2003 Server y XP respectivamente.
46
2.4 Diseo
Una vez determinada la arquitectura del proyecto, entramos de lleno en el diseo de la aplicacin. Como hemos visto en las etapas anteriores, el desarrollo de la aplicacin se ha diferenciado bsicamente en dos fases distintas. En la segunda de estas fases, realizada tras haber implementado la mayora de la aplicacin, se disea un modulo que incluye una serie de procesos importantes de la aplicacin y que no eran cubiertas inicialmente. Estos procesos, denominados genricamente Relaciones pues bsicamente se encargan de mostrar las relaciones existentes entre diferentes elementos del inventario, aparecern en la descripcin de los diferentes modelos de esta etapa como parte integrada de la aplicacin. Lo cual quiere decir que no se especificaran sus formularios de entradas ni los DFDs que los identifican de manera separada, sino que se expresaran como parte del conjunto. La etapa de diseo representar el punto ms importante del desarrollo del proyecto, pues delimitar por completo las funciones que finalmente tendr la aplicacin, as como la forma en que se presentar al usuario, los informes que ser capaz de presentar, etc. En cierta forma, los resultados de esta fase debern ser una imagen clara del resultado final de la aplicacin, pendiente tan solo de la implementacin que se realice de los procesos descritos.. En esta etapa, seguiremos desarrollando la aplicacin tanto desde el punto de vista de los procesos como de la definicin de los datos, intentando profundizar hasta un punto tal en que la implementacin posterior se pueda hacer habiendo evaluado todas las posibles variantes del programa. As, en el caso de los procesos, obtendremos los siguientes hitos como resultado: el Modelo Fsico del Nuevo Sistema, el diseo de las ventanas de entrada y los informes que generar la aplicacin, y la especificacin de las funciones a programar. Para el primero, se usara la tcnica del DFD, ya desarrollada durante el anlisis, pero haciendo una mayor profundizacin en las funciones a desarrollar. En el caso del segundo, se obtendr una definicin en forma de ejemplo de cuales son las entradas de datos que finalmente se desarrollaran, as como los formatos en os que se producirn los informes de salida de datos. Y por ultimo, la especificacin de los procesos se realizara con una pequea descripcin de los mismos, definiendo los datos que accedern y los que obtendrn como resultado de cada proceso, as como el orden que se deban realizar esos accesos dentro del propio proceso.. Y en el caso de los datos, obtendremos como hitos los Modelos Lgico y Fsico de Datos. En el primer caso, se definirn los atributos y las relaciones de las diferentes tablas a las que se acceder. Y a partir de este modelo, se obtendrn unas fichas con la definicin fsica de las tablas, que compondrn el definitivo Modelo Fsico de Datos, a partir del cual se generaran las tablas definitivas en la base de datos.
47
2.4.1 Modelo Fsico del Nuevo Sistema El Modelo Fsico Nuevo se expresa en nuestro caso como un DFD que retoma los aspectos poco concretados del Modelo Lgico Nuevo y los define y especifica a medida de lo que ser el resultado final, y consecuentemente a la plataforma elegida durante el Estudio de la Arquitectura. As pues, en este desarrollo no incluiremos una serie de DFDs que ya se explicaron en la etapa de Anlisis y partiremos a especificar y profundizar, explosionando los DFDs, aquellos procesos que se considere que han quedado menos definidos. En todo momento, al hablar de explosin de procesos no definidos en este Modelo Fsico Nuevo, haremos referencia a DFDs del Modelo Lgico Nuevo. Por orden de profundidad y de nivel de explosin: DFD1.4. Explosin del proceso Formatear Datos del DFD1Bis - Este DFD muestra como se realiza de forma genrica el formateo de los datos que se consultan de tal forma que se generan los informes segn los datos de entrega. Aunque no obedece realmente a un modulo de programacin, explica de que forma se programara en todos los casos en cada pgina.
48
DFD1.3.1. explosin del proceso Relacionar por Usuario del DFD1.3 - Este DFD muestra como, a travs de las relaciones que tendrn cada elemento con los otros en las tablas datos finales, se accede de unos a otros configurando la relacin de CPUs y Monitores de un usuario, por el cual realizamos la bsqueda
49
DFD1.3.2. explosin del proceso Relacionar por CPU del DFD1.3 - Otro proceso en el que se accede a seleccionar los datos de un elemento a travs de los de sus elementos relacionados. Pero en este caso la relacin se establece en funcin de una CPU en concreto, que facilita el acceso a su usuario y a los monitores que tiene conectados
50
DFD1.3.3. Explosin del proceso Relacionar por Monitor del DFD1.3 - Este DFD hace exactamente lo mismo que los dos procesos anteriores, si bien accede a los elementos en funcin de un monitor. En este caso, dado que los monitores no tienen relacin directa con los usuarios, se accede a estos ltimos a travs de las CPUs.
51
DFD1.1.1.1. Explosin del proceso Rellenar Alta Marca del DFD1.1.1 - Con este DFD entramos ya a describir procesos de gestin de los elementos, para definir como entran en la base de datos, como sern consultados, etc. En concreto en este caso, veremos como se gestiona el alta de una marca.
DFD1.1.1.2 Explosin del proceso Corregir Marca del DFD1.1.1 - El siguiente proceso que se describir en el caso de las marcas es la correccin de la misma. En este proceso, se muestra el dato de la marca a corregir y se devuelve el resultado modificado. No se considera necesario profundizar en otros procesos relacionados con las marcas, dada su simplicidad.
52
DFD1.1.2.1. Explosin del proceso Rellenar Alta Modelodel DFD1.1.2 - Con este DFD entramos a explicar los procesos relativos a los modelos de los equipos. El alta se realiza consultando entre las marcas disponibles.
DFD1.1.2.1. explosin del proceso Corregir Modelo del DFD1.1.2 - La correccin del modelo implica mostrar el modelo a cambiar, con sus datos, consultando a la tabla correspondiente.
53
DFD1.1.2.3. explosin del proceso Consultar Modelo del DFD1.1.2 - A diferencia de las marcas, la consulta de los modelos requiere un formulario intermedio para insertar un filtro (en este caso, por Marca).
DFD1.1.3.1. Explosin del proceso Rellenar Alta CPU del DFD1.1.3 - Con este DFD entramos a describir los procesos sobre los CPUs. Se permite tanto corregir datos de la CPU como modificar, dar de alta o consultar. El caso del alta, definiendo su modelo y usuario:
54
DFD1.1.3.2. explosin del proceso Corregir CPU del DFD1.1.3 - Corregir un elemento implica modificar sus datos por error en la introduccin de estos. Las modificaciones, en cambio, son cambios reales sobre los elementos, permanentes, que se introducen en el histrico. No todos los datos son modificables, por lo que ambos procesos se consideraran distintos. La correccin de CPUs:
DFD1.1.3.3 explosin del proceso Consultar CPU del DFD1.1.3 - Las consultas de CPUs se hacen en funcin de muchos parmetros que deben ser recogidos para ejecutarse. Tendremos:
55
DFD1.1.3.4. explosin del proceso Modificar CPU del DFD1.1.3 - Ya se ha explicado la diferencia entre correcciones y modificaciones de elementos. Pese a lo cual el proceso es casi idntico. Las modificaciones de las CPUs:
DFD1.1.4.1. explosin del proceso Rellenar Alta Monitor del DFD 1.1.4 - Empezamos a describir los procesos referentes a los monitores. En este caso, el alta de un monitor:
56
DFD1.1.4.2. explosin del proceso Corregir Monitor del DFD 1.1.4 - Este DFD define el modo en que se realizaran las correcciones de monitores:
DFD1.1.4.3. explosin del proceso Consulta Monitor del DFD 1.1.4 - La consulta de monitores permite filtros como el tipo de monitor (CRT o TFT), el numero de pulgadas... El proceso que la define:
57
DFD1.1.4.4. explosin del proceso Modificar Monitor del DFD 1.1.4 - Igual que con las CPUs, pese a ser el proceso casi idntico, es necesario diferenciar la correccin de la modificacin:
DFD1.1.5.1 explosin del proceso Rellenar Alta Impresora del DFD 1.1.5 - Ahora comenzamos con la descripcin de procesos sobre las impresoras. En muchos aspectos similar a otros elementos, aun con diferencias:
58
DFD1.1.5.2. explosin del proceso Corregir Impresora del DFD 1.1.5 - El DFD de correccin de impresoras. Casi igual al del resto de elementos y al de sus propias modificaciones
DFD1.1.5.3. explosin del proceso Consultar Impresora del DFD 1.1.5 - Las consultas en el caso de las impresoras pueden hacerse segn el modelo, los usuarios, los departamentos. El DFD de consultas:
59
DFD1.1.5.4. explosin del proceso Modificar Impresora del DFD 1.1.5 - Habr parmetros de las impresoras, como por ejemplo su modelo, que no podrn ser modificadas, solo corregidas. El proceso:
DFD1.2.1.1. explosin del proceso Rellenar Alta Usuario del DFD 1.2.1 - Con este DFD entramos a describir los procesos referentes a los usuarios. Bsicamente permiten las mismas acciones que un elemento hardware. El alta:
60
DFD1.2.1.2. explosin del proceso Corregir Usuario del DFD 1.2.1 - El DFD de correccin de usuarios permite corregir sus datos mal insertados. Tendremos:
DFD1.2.1.3. explosin del proceso Consultar Usuario del DFD 1.2.1 - Las consultas sobre usuarios permiten sacar tablas en funcin de departamentos u otros parmetros, o simplemente conocer los datos de los usuarios.
61
DFD1.2.1.4. explosin del proceso Modificar Usuario del DFD 1.2.1 - La modificacin de usuarios permite actualizar datos como email o telfono, que quedaran en el histrico.
DFD1. 2.2.1. explosin del proceso Rellenar Alta Depto del DFD 1.2.2 - Los departamentos, al igual que las marcas, por la sencillez de su estructura y sus datos, solo tienen complejidad a la hora de explicar sus procesos de alta y correccin. Las consultas son simples listados. El alta:
62
DFD1. 2.2.2. explosin del proceso Corregir Depto del DFD 1.2.2 - Para finalizar con la descripcin de los procesos, la correccin de los departamentos queda como sigue:
Como ya se ha mencionado antes, estos DFDs presentan aquellos procesos cuya descripcin durante la etapa de Anlisis de Requisitos se considera que no quedo suficientemente precisada. Pero en la especificacin que se realice de los procesos, y durante el diseo de los formularios de entrada y los informes resultantes de la aplicacin, aparecern esas funciones no descritas ahora. Estos procesos son: Localizar y Consultar Marcas Localizar Modelos Localizar CPUs Localizar Monitores Localizar Impresoras Localizar Usuarios Localizar y Consultar Departamentos
Lo cierto es que las consultas de Marcas y Departamentos solo producen listados, y estn suficientemente descritos en el proceso descrito en el DFD1.4; y la localizacin de los diferentes elementos es tan simple como el acceso a sus tablas en funcin de su identificador, tal y como se muestra en el Modelo Lgico del Nuevo Sistema, durante la etapa de Anlisis de Requisitos.
63
2.4.2 Diseo de formularios e Informes Dado que se trata de una aplicacin web, el diseo de los formularios de la aplicacin ser esencial porque representar en realidad el propio diseo del interfaz del usuario con la aplicacin. Al empezar a definir el estilo de la aplicacin y la forma en que se generaran las pginas HTML que forman el interfaz de la misma, se decidi establecer una estructura global para toda la aplicacin que permitiera el acceso a sus diferentes funciones en cualquier momento desde un men inicial. Tras estudiar las diferentes opciones para establecer el susodicho men a travs de la comparacin de pginas web de diferente tipo, nos decidimos por establecer una estructura de presentacin de la pgina en tres marcos (frames), tal y como se observa en el siguiente grafico:
De esta forma, los marco de la cabecera y del men seran siempre fijos, mientras que el marco para la presentacin de los datos ira renovndose a medida que se fueran accediendo a las diferentes opciones del men. Posteriormente, la siguiente decisin que se tom fue la definicin de unos patrones de colores sobre los que trabajar la presentacin. Para tomar la decisin decidimos referirnos a los colores ms tpicos de los documentos corporativos de la empresa. Estos tienen normalmente una base de azul, por lo que se adopto ste como el color base de la aplicacin. El fondo de las pginas sera blanco, para facilitar la legibilidad de los informes en pantalla y la claridad de los mismos. Y siguiendo estos patrones se defini el diseo de todas las tablas y formularios que surgiran en la aplicacin.
64
El marco de la cabecera se decidi emplear para mostrar el nombre de la aplicacin y una imagen corporativa del smbolo de marca de la empresa. Adems, se aadi una caja en la que se mostrara un reloj indicando la fecha y la hora (posteriormente, a travs de una funcin JavaScript al desarrollar la pgina):
En cuanto al marco del men, deba mostrar una serie de entradas que se pudieran desplegar mostrando a partir de ellas las diferentes funciones de la aplicacin. Usando editores de HTML, se creo el siguiente men, cuya segunda versin (al aadir las relaciones) queda a la derecha:
Y para obtener una pgina inicial de la aplicacin, se creo una primera pgina HTML con la que adems podamos ver la estructura de la misma y tener un primer prototipo de su diseo:
65
Una vez definida la estructura y visto el primer prototipo, empezamos a crear los formularios necesarios para desarrollar todas las funciones de la aplicacin. Como se explic con anterioridad, los formularios aparecern en el marco de presentacin de datos. Por otro lado, dado que hay varios objetos con un tipo de informacin muy parecida y que esto provoca que muchos de los formularios sean muy similares entre si y que lo nico que cambie sea el titulo del formulario, se describirn varios formularios de forma conjunta: 1. Formulario de alta de Departamentos y de Marcas:
Este formulario nicamente tiene como entrada el nombre del departamento (o de la marca). La definicin de datos de estos objetos solamente ofrece dos atributos, el cdigo del mismo y el nombre. Ser la propia aplicacin la que establezca el cdigo (de forma secuencial). Un botn ejecuta la insercin del objeto en la base de datos. 2. Formulario de correccin de Departamentos y Marcas:
En este caso los objetos se ofrecen dentro de una caja de seleccin, para escoger el que queremos corregir. Despus, un botn nos llevara a modificar el nombre mal escrito.
66
Este formulario presenta una caja para seleccionar entre las marcas la del modelo de objeto. Y una caja de texto donde escribiremos el que queramos insertar. Despus, un botn ejecuta la funcin. 4. Formulario de insercin de Modelos de Monitor:
En el caso de los monitores, el modelo incluye la informacin sobre el tipo de tecnologa y el numero de pulgadas, seleccionables en cajas de seleccin. Y el nombre del modelo se introduce en la caja de texto. La insercin se ejecuta con el botn para ello. 5. Formularios para la correccin de Modelos de CPU o de Impresora:
EL formulario muestra una caja de seleccin de marca, y al seleccionar recarga la pgina mostrando la marca seleccionada y otra caja de seleccin con los modelos de objeto para esa marca en concreto. Se accede a la correccin con el botn para enviar la informacin.
67
6.
El formulario presenta una serie de cajas de texto para ingresar los datos necesarios sobre el usuario, y una caja de seleccin para escoger el departamento al que pertenezca. Luego, el botn para insertar el usuario en la base de datos. 7. Formularios de correccin de Usuarios:
La correccin de usuarios consta de tres sub-formularios. En el primero, se selecciona el departamento del que sea el usuario, luego se recarga la pgina ofreciendo adems los usuarios del departamento escogido (imagen superior) y, finalmente, el formulario en el que se pueden corregir atributos del usuario (imagen inferior).
68
Al igual que en el caso anterior, este formulario tiene tres sub-formularios, los dos primeros para seleccionar al usuario, como antes, y el ultimo para modificar los atributos actualizables. Como se ve en los grficos, los campos actualizables y los corregibles no son exactamente los mimos. 9. Formulario de insercin de CPUs:
Formulario que permite la insercin de las CPUs. Contiene una serie de campos de texto rellenables directamente por el usuario de la aplicacin y un campo de seleccin del tipo de uso que tendr el equipo. Y adems, hay dos campos de seleccin seguidos de botones, el de marca y el de departamento, en los que escogeremos el valor necesario y, al pulsar el botn, accederemos a escoger un modelo y un usuario concreto en la pgina recargada.
69
Al igual que en el caso de las CPUs, permite seleccionar una marca y un departamento, que recarga la pgina para escoger despus el modelo concreto y el usuario individual (si es que existe). El resto de campos se rellenan desde cajas de texto. 11. Formulario de insercin de Monitores:
Se introduce en texto el numero de serie, se selecciona la CPU a la que se conecta y se escoge la marca para que se recargue la pgina y podamos seleccionar el modelo concreto. Luego el botn permite insertar el monitor en la base de datos. 12. Formularios de correccin de CPUs:
Para localizar un equipo que se quiera corregir, se puede localizar bien por su numero de serie o por su nombre lgico . Al localizar el equipo pasamos al siguiente formulario para corregir sus datos:
70
El formulario de correccin muestra los datos del equipo seleccionado para corregir, con dos botones si es necesario cambiar su marca y modelo o asignrselo a un usuario de otro departamento. 13. Formularios de correccin de Impresoras:
Al igual que en el caso de las CPUs, para acceder a la impresora a corregir hay un formulario previo que permite escoger la impresora por numero de serie o por nombre lgico. Despus se llega a este formulario en el que se pueden corregir los datos con los que se creo la impresora.
71
En el caso de los monitores, se accede al que queremos corregir solo por su numero de serie (pues no tienen nombre lgico). El formulario permite modificar sus datos errneos, y posee un botn para enviar la correccin a la base de datos. 15. Formularios de actualizacin de datos de una CPU:
Igual que en el caso de la correccin, la actualizacin dispone de un formulario previo para localizar al equipo bien por numero de serie o por su nombre lgico. Una vez localizado, se abre este formulario, donde se puede acceder a actualizar los datos de varios de sus datos. El botn de actualizar enva los datos a la base de datos.
72
Tal y como suceda en el caso de las CPUs, aqu tambin hay un formulario previo que permite acceder a la impresora por numero de serie o nombre lgico. El botn de cambio de departamento recarga la pgina permitiendo modificar el departamento y sus usuarios. Y el botn de actualizacin se encarga de transmitir los datos de actualizacin a la base de datos.
Otra vez, como en el caso de la correccin de monitores, a este formulario se accede a partir de otro que recoge el numero de serie del monitor a actualizar. Lo nico actualizable en este caso es el equipo al que se conecta y el estado del equipo. La actualizacin se transmite a la base de datos por el botn del formulario.
73
Tanto para localizar usuarios concretos como para ver su histrico, se busca a partir de una caja de seleccin donde se selecciona los usuarios. Adems, hay otra caja de seleccin en la que se escoge el formato en el que se obtendrn los informes. 19. Formularios para el listado de Marcas y Departamentos:
En estos dos casos, el formulario solo ofrece el formato de salida para el informe. 20. Formularios para el listado de Modelos de CPUs, Monitores o Impresoras:
En todos estos casos, los listados de las marcas se hacen por marca, escogindose esta en la caja de seleccin, as como el formato de salida final.
74
Tanto para CPUs como para Impresoras, la bsqueda de un objeto concreto para ver sus datos o su histrico se puede realizar a travs de su nmero de serie o de su nombre lgico. Adems, se puede tambin definir el formato de salida del informe. 22. Formulario para la localizacin de Monitores:
Los monitores solo pueden localizarse, para ver sus datos o su histrico, a partir de su numero de serie. Se puede seleccionar tambin el formato de salida del informa. 23. Formulario de consulta filtrada de Usuarios:
La consulta de usuarios filtrada permite definir parmetros de consulta para sacar listados de usuarios que los cumplan. El botn para seleccionar fecha abre una ventana con un calendario, y el del formulario realiza la consulta para emitir el informe, que puede obtenerse en diferentes formatos.
75
La consulta por filtro de CPU permite escoger mltiples parmetros para configurar el informe resultante, la mayora a travs de cajas de seleccin, que se puede mostrar en distintos formatos de salida. 25. Formulario de consulta filtrada de Impresoras:
Mediante campos de texto y cajas de seleccin, se puede filtrar la bsqueda de impresoras para obtener listados e informes personalizados y en mltiples formatos.
76
Como en el caso de impresoras y CPUs, se pueden realizar consultas filtradas de monitores en funcin de varios parmetros definibles por el usuario, y mostrando los informes resultantes en diferentes formatos. Todo ello se selecciona a travs de cajas de texto o de seleccin predefinidas. 27. Formularios de bsqueda de relaciones por CPU o por Usuario:
En estos dos casos, se puede encontrar las relaciones de un objeto con los dems a travs de esta consulta, seleccionando el objeto en cuestin por nombre lgico en la caja de seleccin. La salida tambin se puede seleccionar en diferentes formatos 28. Formulario de bsqueda de relaciones por Monitor:
En cambio la bsqueda por monitor solo puede realizarse buscando por numero de serie. tambin permite diferentes formatos de salida.
77
El formulario de insercin de fechas permite seleccionar un da de un mes o un ao cualquiera para poder realizar las bsquedas filtradas con mayor facilidad. La seleccin del mes y el ao se realiza a travs de cajas de seleccin, y el da simplemente marcndolo con el ratn.
Por otro lado, la aplicacin tambin ha de sacar varios informes y consultas. Estos son los modelos de informe predefinidos, aunque como ya hemos visto son parametrizables para obtener diferentes resultados en funcin de diferentes filtros de bsqueda. Todos los informes pueden extraerse en formato Excel, Word o bien va Web como pgina HTML. Como en el caso de los formularios, se agruparan informes de estructura similar: 1. Consulta de Marcas y Departamentos:
En este caso el informe es muy simple, pues solo tiene que mostrar un listado de las marcas o los departamentos incluidos en la base de datos.
78
Se establece un informe en tres columnas, con la marca por la que se filtra y los modelos. 3. Consulta de Modelo de Monitor:
El informe de modelos de monitor incluye nuevas columnas para mostrar las caractersticas especificas de los modelos. 4. Consulta de datos de Usuarios especficos (localizados):
Muestra las caractersticas del usuario en formato ficha, especificando sus atributos.
79
El informe de histrico del usuario muestra por un lado la ficha del usuario como en la consulta anterior, y adems una tabla inferior con el historial de cambios que ha sufrido, a travs de un listado que seala el tipo de cambio, los valores anterior y final, y la fecha del cambio. 6. Consulta de Usuarios filtrados:
Este informe muestra la consulta de los usuarios que han entrado en el filtro impuesto al solicitarla. Se muestran todos los campos del usuario que ofrezcan alguna informacin relevante para el usuario de la aplicacin.
80
La consulta muestra un informe en formato de ficha de la CPU y con sus caractersticas detalladas. 8. Consulta de datos histricos de una CPU:
Como en el caso de los usuarios muestra la ficha de la CPU y el histrico de los cambios que ha sufrido
81
La consulta muestra los equipos filtrados por los atributos que sean necesarios, dando las caractersticas principales de los equipos encontrados.
De nuevo, como en el caso de los usuarios y las CPUs, se muestra la impresora en un informe en formato ficha, con sus datos principales listados.
82
El informe muestra los datos de la impresora como una ficha, y debajo hace un listado histrico de todas las actualizaciones que haya podido sufrir en el tiempo. 12. Consulta de Impresoras filtradas:
La consulta muestra las caractersticas de una serie de impresoras que responden a un filtro determinado
83
La consulta muestra los detalles de un monitor concreto, en forma de ficha. 14. Consulta de datos histricos de un Monitor:
Muestra la ficha del equipo y un listado histrico de las modificaciones sufridas. 15. Consulta filtrada de Monitores:
84
16. Consulta de las relaciones de las relaciones entre Usuarios, CPUs y Monitores buscadas por Usuario:
El informe resultante muestra todos las CPUs y los monitores asociadas a un determinado usuario, con los datos ms importantes de cada uno de los elementos mostrados. 17. Consulta de las relaciones de las relaciones entre Usuarios, CPUs y Monitores buscadas por CPU:
El informe muestra el usuario de una CPU y todos los monitores que pueda tener asociados, con todos sus datos importantes.
85
18. Consulta de las relaciones de las relaciones entre Usuarios, CPUs y Monitores buscadas por Monitor:
El informe muestra el equipo al que esta conectado el monitor y el usuario dueo de ese equipo en concreto, as como sus datos ms relevantes.
Las imgenes de los tres ltimos informes, as como los formularios implicados en la solicitud de los mismos, son producto de una segunda fase de diseo, determinada por la necesidad de ampliar la aplicacin para mostrar las relaciones entre los diferentes objetos. Es importante mencionar que todos y cada uno de los informes y consultas presentados debern tener su salida en cualquiera de los formatos posibles, tal y como se mostraba al comentar los diferentes formularios. El hecho de generar la pgina en HTML y la facilidad de su manejo por aplicaciones del paquete Office, hace que la presentacin en pantalla de los datos como pgina web resulte prcticamente idntica a la que muestran como documentos de Word o de Excel. Pero el obtener los datos en esos formatos permite que sean mucho ms fcilmente manejables y que se puedan modificar al gusto todos los resultados obtenibles por la aplicacin de un modo muy simple, lo cual aporta un gran valor aadido a la aplicacin a travs de unos cambios mnimos Con estos formularios y sus consultas queda en buena parte definido el diseo visual de la aplicacin. No solo se muestra como es la esttica de la misma, sino que adems sirve como una especie de paseo por las diferentes funciones que tendr la aplicacin a su finalizacin, y permite hacerse una clara idea del resultado final de la misma.
86
2.4.3 Especificacin de procesos Realizaremos la definicin de procesos agrupados segn el tipo de elemento al que implica:
a. Marcas. Dar de alta Marca Entradas: Peticin de formulario y Datos del Marca. 1. Abrir formulario de alta de marca. 2. Introducir nombre de la marca. 3. Generar cdigo de marca 4. Insertar marca generada en tabla marca 5. Mostrar resultado del proceso Corregir Marca Entradas: Peticin de formulario, marca a corregir y datos de correccin 1. Abrir formulario de correccin de marca 2. Introducir nombre marca a corregir 2.1 Acceder tabla de marcas 2.2 Seleccionar marca Enviar a formulario de correccin 3. Mostrar formulario correccin 4. Insertar datos correccin Enviar correccin a tabla marcas 5. Mostrar resultado del proceso. Consultar Marca Entradas: Peticin de formulario Salidas: Listado de marcas 1. Abrir formulario de consulta de marcas 2. Seleccionar tipo de salida 3. Acceder tablas marcas 3.1 Generar informe de marcas 4. Mostrar tabla de marcas
87
b. Departamentos. Dar de alta Departamento Entradas: Peticin de formulario y Datos del Departamento. 1. Abrir formulario de alta de departamento. 2. Introducir nombre del departamento. 3. Generar cdigo de departamento 4. Insertar departamento generada en tabla departamentos Corregir Departamento Entradas: Peticin de formulario, departamento a corregir y datos de correccin 1. Abrir formulario de correccin de departamento 2. Introducir departamento a corregir. 2.1 Acceder tabla de departamentos 2.2 Seleccionar departamento Enviar a formulario de correccin 3. Mostrar formulario correccin 4. Insertar datos correccin Enviar correccin a tabla departamentos 5. Mostrar resultado del proceso. Consultar Departamento Entradas: Peticin de formulario Salidas: Listado de departamentos 1. Abrir formulario de consulta de departamentos 2. Seleccionar tipo de salida 3. Acceder tablas departamentos 3.1 Generar informe de departamentos 4. Mostrar tabla de departamentos
88
c. Modelos. Dar de alta Modelo Entradas: Peticin de formulario y Datos del Modelo. 1. Abrir formulario de alta de modelo 2. Seleccionar marca de cuadro de seleccin 3. Introducir nombre del modelo. 4. Generar cdigo de modelo 5. Insertar modelo generada en tabla modelos Corregir Modelo Entradas: Peticin de formulario, modelo a corregir y datos de correccin 1. Abrir formulario de correccin de modelo 2. Introducir modelo a corregir 2.1 Acceder tabla de modelos 2.2 Seleccionar modelo Enviar a formulario de correccin 3. Mostrar formulario correccin 4. Insertar datos correccin Enviar correccin a tabla modelos 5. Mostrar resultado del proceso. Consultar Modelo Entradas: Peticin de formulario Salidas: Listado de modelos filtrados por marca 1. Abrir formulario de consulta de modelos 2. Seleccionar marca por la que filtrar y tipo de salida 3. Acceder tablas modelos 3.1 Generar informe de modelos 4. Mostrar tabla de modelos
89
d.CPUs. Dar de alta CPU Entradas: Peticin de formulario y Datos de la CPU. 1. Abrir formulario de alta de la CPU. 2. Introducir datos de la CPU. 3. Generar cdigo de la CPU 4. Insertar la CPU generada en tabla CPUs Corregir CPU Entradas: Peticin de formulario, CPU a corregir y datos de correccin 1. Abrir formulario de correccin de CPU 2. Introducir CPU a corregir 2.1 Acceder tabla de CPUs 2.2 Seleccionar CPU Enviar a formulario de correccin 3. Mostrar formulario correccin 4. Insertar datos correccin Enviar correccin a tabla CPU 5. Mostrar resultado del proceso.
Modificar CPU Entradas: Peticin de formulario, CPU a actualizar y datos de modificacin 1. Abrir formulario de modificacin de CPU 2. Introducir nombre CPU a modificar 2.1 Acceder tabla de CPUs 2.2 Seleccionar CPU Enviar a formulario de modificacin 3. Mostrar formulario modificacin 4. Insertar datos modificacin Enviar modificacin a tabla CPU. Enviar datos modificacin a tabla histrico 5. Mostrar resultado del proceso. Consultar CPU Entradas: Peticin de formulario Salidas: Listado de CPUs 1. Abrir formulario de consulta de CPUs 2. Rellenar filtros y seleccionar tipo de salida 3. Generar consulta 4. Acceder tabla CPUs 4.1 Generar informe de CPUs 5. Mostrar tabla de CPUs
90
e. Monitores Dar de alta monitor Entradas: Peticin de formulario y Datos del monitor. 1. Abrir formulario de alta de monitor. 2. Introducir datos del monitor. 3. Generar cdigo de monitor 4. Insertar monitor generada en tabla monitores Corregir monitor Entradas: Peticin de formulario, monitor a corregir y datos de correccin 1. Abrir formulario de correccin de monitor 2. Introducir nombre monitor a corregir 2.1 Acceder tabla de monitores 2.2 Seleccionar monitor Enviar a formulario de correccin 3. Mostrar formulario correccin 4. Insertar datos correccin Enviar correccin a tabla monitor 5. Mostrar resultado del proceso. Modificar monitor Entradas: Peticin de formulario, monitor a actualizar y datos de modificacin 1. Abrir formulario de modificacin de monitor 2. Introducir nombre monitor a modificar 2.1Acceder tabla de monitores 2.1 Seleccionar monitor Enviar a formulario de modificacin 3. Mostrar formulario modificacin 4. Insertar datos modificacin Enviar modificacin a tabla monitor. Enviar datos modificacin a tabla histrico 5. Mostrar resultado del proceso. Consultar monitor Entradas: Peticin de formulario Salidas: Listado de monitores 1. Abrir formulario de consulta de monitores 2. Rellenar filtros y seleccionar tipo de salida 3. Generar consulta 4. Acceder tabla monitores 4.1 Generar informe de monitores 5. Mostrar tabla de monitores
91
f. Impresoras Dar de alta impresora Entradas: Peticin de formulario y Datos de la impresora. 1. Abrir formulario de alta de impresora. 2. Introducir datos de la impresora. 3. Generar cdigo de impresora 4. Insertar impresora generada en tabla impresoras Corregir impresora Entradas: Peticin de formulario, impresora a corregir y datos de correccin 1. Abrir formulario de correccin de impresora 2. Introducir nombre impresora a corregir 2.1 Acceder tabla de impresoras 2.2 Seleccionar impresora Enviar a formulario de correccin 3. Mostrar formulario correccin 4. Insertar datos correccin Enviar correccin a tabla impresora 5. Mostrar resultado del proceso. Modificar impresora Entradas: Peticin de formulario, impresora a actualizar y datos de modificacin 1. Abrir formulario de modificacin de impresora 2. Introducir nombre impresora a modificar 2.1 Acceder tabla de impresoras 2.3 Seleccionar impresora Enviar a formulario de modificacin 3. Mostrar formulario modificacin 4. Insertar datos modificacin Enviar modificacin a tabla impresora. Enviar datos modificacin a tabla histrico 5. Mostrar resultado del proceso. Consultar impresora Entradas: Peticin de formulario Salidas: Listado de impresoras 1. Abrir formulario de consulta de impresoras 2. Rellenar filtros y seleccionar tipo de salida 3. Generar consulta 4. Acceder tabla impresoras 4.1 Generar informe de impresoras 5. Mostrar tabla de impresoras
92
g. Usuarios Dar de alta usuario Entradas: Peticin de formulario y Datos del usuario. 1. Abrir formulario de alta de usuario. 2. Introducir datos del usuario. 3. Generar cdigo de usuario 4. Insertar usuario generada en tabla usuarios Corregir usuario Entradas: Peticin de formulario, usuario a corregir y datos de correccin 1. Abrir formulario de correccin de usuario 2. Introducir nombre usuario a corregir 2.1 Acceder tabla de usuarios 2.2 Seleccionar usuario Enviar a formulario de correccin 3. Mostrar formulario correccin 4. Insertar datos correccin Enviar correccin a tabla usuario 5. Mostrar resultado del proceso.
Modificar usuario Entradas: Peticin de formulario, usuario a actualizar y datos de modificacin 1. Abrir formulario de modificacin de usuario 2. Introducir nombre usuario a modificar 2.1 Acceder tabla de usuarios 2.2 Seleccionar usuario Enviar a formulario de modificacin 3. Mostrar formulario modificacin 4. Insertar datos modificacin Enviar modificacin a tabla usuario. Enviar datos modificacin a tabla histrico 5. Mostrar resultado del proceso. Consultar usuario Entradas: Peticin de formulario Salidas: Listado de usuarios 1. Abrir formulario de consulta de usuarios 2. Rellenar filtros y seleccionar tipo de salida 3. Generar consulta 4. Acceder tabla usuarios 4.1 Generar informe de usuarios 5. Mostrar tabla de usuarios
93
h. Relaciones. Relacionar por Usuario Entradas: Peticin de formulario y Datos del Usuario. Salida: Informe con la relacin de CPUs, y monitores del usuario. 1. Abrir formulario relacionar usuario 2. Seleccionar usuario y formato de salida de cuadros de seleccin Enviar 2.1 Localizar CPUs del usuario 2.2 Localizar monitores de la CPU 2.3 Generar tablas de relaciones 3. Mostrar las relaciones Relacionar por CPU Entradas: Peticin de formulario y Datos de CPU. Salida: Informe con la relacin de usuario y monitores de la CPU 1. Abrir formulario relacionar CPU 2. Seleccionar CPU y formato de salida de cuadros de seleccin Enviar 2.1 Localizar usuario de la CPU 2.2 Localizar monitor de la CPU 2.3 Generar tablas de relaciones 3. Mostrar las relaciones
Relacionar por Monitor Entradas: Peticin de formulario y Datos del Monitor. Salida: Informe con la relacin del usuario y la CPU del monitor 1. Abrir formulario relacionar monitor 2. Seleccionar monitor por Serial Number y formato de salida de cuadro de seleccin Enviar 2.1 Localizar CPU del monitor 2.2 Localizar usuario de la CPU 2.3 Generar tablas de relaciones 3. Mostrar las relaciones
Estas definiciones de procesos sern la base para la programacin posterior de cada uno de las funciones de la aplicacin. Con el Modelo Fsico Nuevo, el diseo de todos los formularios que se aplicaran posteriormente en la aplicacin y la especificacin de los procesos que formaran parte de la misma, se puede dar por terminada la parte de la etapa de Diseo dedicada a los procesos. Pasamos ahora a describir los datos.
94
2.4.4 Modelo Lgico de Datos Con el diagrama conceptual del anlisis de requisitos, las premisas ya definidas y las necesidades de informacin para cada tipo de elemento representadas en los atributos de los mismos vistos en las hojas de requisitos, obtenemos las siguientes caractersticas lgicas para cada tabla a definir en la base de datos: Tabla de departamentos: - Cdigo de departamento: Cdigo con el que se relacionara con otras tablas. Numrico entero, secuencial. Clave primaria. - Nombre de departamento: 20 caracteres. Tabla de usuarios: - Cdigo de usuario: Cdigo con el que se relacionara con otras tablas. Numrico entero, secuencial. Clave primaria. - Nombre: 20 caracteres. - Apellidos: 40 caracteres. - Nombre lgico: Nombre asignado como usuario del dominio. 20 caracteres. - Email: 30 caracteres. - telfono: Extensiones normalmente. 15 caracteres. - Departamento: Su cdigo. Clave extranjera. - Estado: Alta o Baja. Numrico entero (se asignara un valor numrico a cada estado). - Fecha de creacin: Fecha de alta en el sistema. Timestamp, 17 caracteres Tabla de marcas: - Cdigo de marca: Cdigo con el que se relacionara con los modelos. Numrico entero y secuencial. Clave primaria. - Nombre de marca: 20 caracteres. Tabla de modelos de CPU: - Cdigo de modelo de CPU: Cdigo con el que se relacionara con las CPUs. Numrico entero y secuencial. Clave primaria. - Marca: Su cdigo. Clave extranjera. - Nombre del modelo: 20 caracteres. Tabla de modelos de impresora: - Cdigo de modelo de impresora: Cdigo con el que se relacionara con las impresoras. Numrico entero, secuencial. Clave primaria. - Marca: Su cdigo. Clave extranjera. - Nombre del modelo: 20 caracteres. Tabla de modelos de monitor: - Cdigo de modelo de monitor: Cdigo con el que se relacionara con los monitores. Numrico entero, secuencial. Clave primaria. - Marca: Su cdigo. Clave extranjera. - Nombre del modelo: 20 caracteres. - Tipo de tecnologa: CRT o TFT. 20 caracteres. - Numero de pulgadas de la pantalla: Numrico entero.
95
Tabla de CPUs - Cdigo de CPU: Cdigo de entrada en la base de datos. Numrico entero, secuencial. Clave primaria. - Numero de serie: 40 caracteres. - Modelo de CPU: Su cdigo - Nombre lgico: Nombre con el que aparece en el dominio. 20 caracteres. - Tipo de procesador: Pentium II, III, IV, Mobile, Sparc... 20 caracteres - Velocidad: En MHz.. Numrico entero. - Memoria RAM: En MB. Numrico entero. - Usuario: Cdigo del usuario. - Uso que se le da: Determina o bien una localizacin especial o una aplicacin especifica que corre sobre el, y permite identificarlo. 20 caracteres. - Estado: Alta, Baja, Almacn o Reparacin. Numrico entero. - Fecha de creacin: Fecha de entrada en el sistema. Timestamp, 17 caracteres. Tabla de monitores - Cdigo de monitor: Cdigo de entrada en la base de datos. Numrico entero, secuencial. Clave primaria. - Numero de serie: 40 caracteres. - Modelo de monitor: Su cdigo. Clave extranjera. - CPU asociada: Su cdigo - Estado: Alta, Baja, Almacn o Reparacin. Numrico entero. - Fecha de creacin: Fecha de entrada en el sistema. Timestamp 17 caracteres. Tabla de impresoras - Cdigo de impresora: Cdigo de entrada en la base de datos. Numrico entero, secuencial. Clave primaria. - Numero de serie: 40 caracteres. - Modelo de impresora: Su cdigo - Nombre lgico: El nombre con el que se le identifica en las colas de impresin. 20 caracteres. - Departamento: Su cdigo. Clave extranjera. - Usuario: Su cdigo. Clave extranjera. - Estado: Alta, Baja, Almacn o Reparacin. Numrico entero. - Fecha de creacin: Fecha de entrada en el sistema. Timestamp, 17 caracteres. Tabla de histricos - Tipo de objeto: Usuario, CPU, Impresora o Monitor. Numrico entero (se asignara un valor a cada posible objeto). - Cdigo del objeto concreto: El cdigo del objeto concreto actualizado - Tipo de modificacin: Tipo de actualizacin que sufre. Numrico entero (se definir un valor para cada tipo de modificacin posible). - Nuevo valor introducido: Nuevo valor introducido. 40 caracteres - Fecha de la actualizacin: Fecha en la que se realiza la actualizacin. Timestamp, 17 caracteres.
96
Y una vez definidas las caractersticas lgicas de las tablas, y a partir de lo que vimos en el Modelo Conceptual de Datos del Anlisis de Requisitos, obtenemos la siguiente lista de relaciones, cada una con su Cardinalidad y su moda aproximada en funcin de las estimaciones hechas segn los datos actuales de inventario. Departamentos - Impresoras: Cardinalidad: 1:N. Moda: 1. Departamentos - Usuarios: Cardinalidad: 1:N Moda: 5 Usuarios - Impresoras: Cardinalidad: 1,N Moda: 0 Usuarios - CPUs: Cardinalidad: 1:N Moda: 1 CPUs Monitores: Cardinalidad: 1:N Moda: 1 Modelos CPUs - CPUs: Cardinalidad: 1:N Moda: No hay. Cada modelo tiene un numero diferente. Modelos impresoras - Impresoras: Cardinalidad: 1:N Moda: 3. Modelos monitores - Monitores: Cardinalidad: 1:N Moda: No hay. Cada modelo tiene un numero diferente. Marcas - Modelos CPUs: Cardinalidad: 1:N Moda: No hay. Cada marca tiene un numero diferente. Marcas - Modelos monitores: Cardinalidad: 1 :N Moda: Cada marca tiene un numero diferente. Marcas - Modelos impresoras: Cardinalidad: 1 :N Moda: Cada marca tiene un numero diferente.
97
2.4.5 Modelo Fsico de Datos A partir de este modelo lgico obtenido, y teniendo en cuenta las diferentes peculiaridades de la propia aplicacin y de las entradas diseadas, obtenemos las siguientes estructuras fsicas para las tablas que compondrn nuestra base de datos, en forma de fichas de las diferentes tablas:
+++ ENTIDAD: Departamento Definicin Volumen Crecimiento Permanencia Informacin de los departamentos de la empresa 20-30 Ocurrencias Prcticamente nulo. Siempre
+ATRIBUTO: NumDep Definicin Rango Formato Longitud Tipo de clave Cdigo de departamento 1 al 99999999999 Numrico entero 11 Primaria
+ATRIBUTO: NomDep Definicin Rango Formato Longitud Tipo de clave Nombre del departamento Alfabtico 100 -
98
+++ ENTIDAD: Marcas Definicin Volumen Crecimiento Permanencia Informacin de las marcas de los equipos 15-25 Ocurrencias 5% anual Siempre
+ATRIBUTO: NumMarca Definicin Rango Formato Longitud Tipo de clave Cdigo de la marca 1 al 99999999999 Numrico entero, secuencial 11 Primaria
+ATRIBUTO: NomMarca Definicin Rango Formato Longitud Tipo de clave Nombre de la marca Alfabtico 100 -
99
+++ENTIDAD: ModCPu Definicin Volumen Crecimiento Permanencia Informacin de las modelos de las CPUs 10-155 Ocurrencias 5% anual Siempre
+ATRIBUTO: NumModCPU Definicin Rango Formato Longitud Tipo de clave Cdigo del modelo 1 al 99999999999 Numrico entero, secuencial 11 Primaria
+ATRIBUTO: ModeloCPU Definicin Rango Formato Longitud Tipo de clave Nombre del modelo de CPU Alfabtico 100 -
+ATRIBUTO: NumMarca Definicin Rango Formato Longitud Tipo de clave Cdigo de la marca 1 al 99999999999 Numrico entero 11 Extranjera
100
+++ENTIDAD: ModMon Definicin Volumen Crecimiento Permanencia Informacin de las modelos de los monitores 20-30 Ocurrencias 10% anual Siempre
ATRIBUTO: NumModMon Definicin Rango Formato Longitud Tipo de clave Cdigo del modelo 1 al 99999999999 Numrico entero, secuencial 11 Primaria
+ATRIBUTO: ModeloMon Definicin Rango Formato Longitud Tipo de clave Nombre del modelo de monitor Alfabtico 100 -
+ATRIBUTO: NumMarca Definicin Rango Formato Longitud Tipo de clave Cdigo de la marca 1 al 99999999999 Numrico entero 11 Extranjera
+ATRIBUTO: TipoMon Definicin Rango Formato Longitud Tipo de clave Tipo de tecnologa del monitor [CRT,TFT] Alfabtico 100 -
+ATRIBUTO: Pulgadas Definicin Rango Formato Longitud Tipo de clave Numero de pulgadas de la pantalla 1 al 99999999999 Numrico entero 11 101
102
+++ENTIDAD: ModImp Definicin Volumen Crecimiento Permanencia Informacin de las modelos de las impresoras 15-25 Ocurrencias 10% anual Siempre
+ATRIBUTO: NumModImp Definicin Rango Formato Longitud Tipo de clave Cdigo del modelo 1 al 99999999999 Numrico entero, secuencial 11 Primaria
+ATRIBUTO: ModeloImp Definicin Rango Formato Longitud Tipo de clave Nombre del modelo de impresora Alfabtico 100 -
+ATRIBUTO: NumMarca Definicin Rango Formato Longitud Tipo de clave Cdigo de la marca 1 al 99999999999 Numrico entero 11 Extranjera
103
+++ENTIDAD: CPUs Definicin Volumen Crecimiento Permanencia Informacin de cada CPU individualizada 400-500 Ocurrencias 25-30% Anual Siempre
+ATRIBUTO: ClaveCPU Definicin Rango Formato Longitud Tipo de clave +ATRIBUTO: Serial Definicin Rango Formato Longitud Tipo de clave Numero de serie de la CPU Alfabtico 100 Cdigo de cada CPU 1 al 9999999999 Numrico entero, secuencial 11 Primaria
+ATRIBUTO: NumModCPU Definicin Rango Formato Longitud Tipo de clave +ATRIBUTO: Estado Definicin Rango Formato Longitud Tipo de clave Es el estado en que se encuentra la CPU, alta, baja... [1,2,3,4] Numrico entero 1 Cdigo del modelo 1 al 99999999999 Numrico entero, secuencial 11 Extranjera
+ATRIBUTO: NumUsu Definicin Rango Formato Longitud Tipo de clave Cdigo de usuario 1 al 99999999999 Numrico entero 11 Extranjera.
104
+ATRIBUTO: Uso Definicin Rango Formato Longitud Tipo de clave Uso (y a veces localizacin) que se le da al equipo Alfabtico 100 -
+ATRIBUTO: NomLogico Definicin Rango Formato Longitud Tipo de clave Nombre lgico de la CPU en el sistema Alfabtico 100 -
+ATRIBUTO: Procesador Definicin Rango Formato Longitud Tipo de clave Indica el tipo de procesador de la CPU Alfabtico 100 -
+ATRIBUTO: Velocidad Definicin Rango Formato Longitud Tipo de clave +ATRIBUTO: RAM Definicin Rango Formato Longitud Tipo de clave +ATRIBUTO: Fecha Definicin Rango Formato Longitud Tipo de clave Fecha de creacin del equipo Timestamp 17 Cantidad de memoria RAM de la CPU, en MB 1 al 99999999999 Numrico entero 11 Velocidad de la CPU, en MHz 1 al 99999999999 Numrico entero 11 -
105
106
+++ENTIDAD: Monitores Definicin Volumen Crecimiento Permanencia Informacin de cada monitor individualizado 500-600 Ocurrencias 25-30% Anual Siempre
+ATRIBUTO: ClaveMon Definicin Rango Formato Longitud Tipo de clave +ATRIBUTO: Serial Definicin Rango Formato Longitud Tipo de clave Numero de serie del monitor Alfabtico 100 Cdigo de cada monitor 1 al 9999999999 Numrico entero, secuencial 11 Primaria
+ATRIBUTO: NumModMon Definicin Rango Formato Longitud Tipo de clave +ATRIBUTO: Estado Definicin Rango Formato Longitud Tipo de clave Es el estado en que se encuentra el monitor, alta, baja... [1,2,3,4] Numrico entero 1 Cdigo del modelo 1 al 99999999999 Numrico entero, secuencial 11 Extranjera
107
+ATRIBUTO: NumCPU Definicin Rango Formato Longitud Tipo de clave +ATRIBUTO: Fecha Definicin Rango Formato Longitud Tipo de clave Fecha de entrada del monitor en el sistema Timestamp 17 Cdigo de CPU 1 al 99999999999 Numrico entero 11 Extranjera.
108
+++ENTIDAD: Impresoras Definicin Volumen Crecimiento Permanencia Informacin de cada impresora individualizada 50-75 Ocurrencias 25-30% Anual Siempre
+ATRIBUTO: ClaveMon Definicin Rango Formato Longitud Tipo de clave +ATRIBUTO: Serial Definicin Rango Formato Longitud Tipo de clave Numero de serie del monitor Alfabtico 100 Cdigo de cada impresora 1 al 9999999999 Numrico entero, secuencial 11 Primaria
+ATRIBUTO: NumModImp Definicin Rango Formato Longitud Tipo de clave +ATRIBUTO: Estado Definicin Rango Formato Longitud Tipo de clave Es el estado en que se encuentra el monitor, alta, baja... [1,2,3,4] Numrico entero 1 Cdigo del modelo 1 al 99999999999 Numrico entero 11 Extranjera
109
+ATRIBUTO: NumDep Definicin Rango Formato Longitud Tipo de clave Cdigo del departamento 1 al 99999999999 Numrico entero 11 Extranjera
+ATRIBUTO: NumUsu Definicin Rango Formato Longitud Tipo de clave Cdigo del usuario 1 al 99999999999 Numrico entero 11 Extranjera
+ATRIBUTO: NomLogico Definicin Rango Formato Longitud Tipo de clave +ATRIBUTO: Fecha Definicin Rango Formato Longitud Tipo de clave Fecha de entrada de la impresora en el sistema Timestamp 17 Nombre lgico de la impresora en las colas de impresin Alfabtico 100 -
110
+++ENTIDAD: Usuarios Definicin Volumen Crecimiento Permanencia Contiene la informacin individualizada de cada usuario 250 10% Anual Siempre
+ATRIBUTO:NumUsu Definicin Rango Formato Longitud Tipo de clave Cdigo de usuario 1 al 99999999999 Numrico entero, secuencial 11 Primaria.
+ATRIBUTO: NumDep Definicin Rango Formato Longitud Tipo de clave +ATRIBUTO: Estado Definicin Rango Formato Longitud Tipo de clave Es el estado en que se encuentra el usuario, alta o baja [1,4] Numrico entero 1 Cdigo de departamento 1 al 99999999999 Numrico entero 11 Extranjera
+ATRIBUTO: Nombre Definicin Rango Formato Longitud Tipo de clave Nombre de pila del usuario Alfabtico 100 -
111
+ATRIBUTO: Apellidos Definicin Rango Formato Longitud Tipo de clave Apellidos del usuario Alfabtico 100 -
+ATRIBUTO: NomLogico Definicin Rango Formato Longitud Tipo de clave +ATRIBUTO: Email Definicin Rango Formato Longitud Tipo de clave +ATRIBUTO: Tel Definicin Rango Formato Longitud Tipo de clave +ATRIBUTO: Fecha Definicin Rango Formato Longitud Tipo de clave Fecha de creacin del usuario Timestamp 17 Telfono del usuario. Normalmente extensin, 1 o varias. Alfabtico 100 Email del usuario Alfabtico 100 Nombre lgico del usuario en el sistema Alfabtico 100 -
112
113
+++ENTIDAD: Histrico Definicin Volumen Crecimiento Permanencia Tabla encargada de recoger los datos de modificaciones pasadas Empieza en 0 10 ocurrencias al mes Siempre
+ATRIBUTO: NumClave Definicin Rango Formato Longitud Tipo de clave +ATRIBUTO: Objeto Definicin Rango Formato Longitud Tipo de clave +ATRIBUTO: Tipo Definicin Rango Formato Longitud Tipo de clave +ATRIBUTO: Modif Definicin Rango Formato Longitud Tipo de clave +ATRIBUTO: Fecha Definicin Rango Formato Longitud Tipo de clave Fecha en la que se realiza la modificacin Timestamp 17 Indica el nuevo valor introducido Alfabtico 100 Indica que tipo de modificacin se realiza sobre el objeto [1,2,3,4,5,6,7,8,9,10] Numrico entero 2 Indica el tipo de objeto tratado (Usuario, CPU, Monitor o Impresora) [1,2,3,4] Numrico entero 1 Cdigo del objeto modificado (Usuario, CPU, Monitor o Impresora) 1 al 99999999999 Numrico entero 11 Extranjera
114
Con estos documentos y modelos, damos por concluida la etapa de Diseo, y podemos pasar a la etapa de Implementacin, culminacin del desarrollo del proyecto.
115
2.5 Implementacin
En esta fase explicare como se ejecuto el paso del diseo de la aplicacin a su posterior programacin y, de ah, a su instalacin y puesta en funcionamiento definitiva. Partir como base de las tcnicas bsicas y las herramientas que se utilizaron para la implementacin, para pasar despus a explicar como se estructura el propio cdigo programado, sin exponerlo ms que en ejemplos que se consideren significativos, con la intencin de no sobrecargar la memoria. Se incluir, eso s, la aplicacin con todos sus archivos fuentes en un CD acompaando el texto, por lo que se podr consultar en aquel todo el cdigo desarrollado si se considerara necesario. Por otro lado, adems de lo relativo al cdigo, se definirn algunas de las convenciones empleadas a la hora de programar, y algunas decisiones tomadas respecto al empleo de la base de datos para mejorar el funcionamiento de la propia aplicacin. Y finalmente, se incorporarn en la seccin de apndices manuales de instalacin y uso de la aplicacin que permitirn su implantacin en un nuevo sistema si fuera necesario. 2.5.1 Tcnicas y Herramientas En cuanto a la tcnica empleada, realmente poco se puede aadir a lo que se ha visto hasta ahora en esta memoria. Se decidi emplear un sistema de generacin de modelos siguiendo una metodologa estructurada, aunque empleada de forma evolutiva, volviendo a etapas superadas para completar partes de la aplicacin. Y a partir de los modelos generados, se implemento el sistema a partir de una programacin de pginas web basadas en JSP. El motivo de decantarse por el JSP fue mltiple: por un lado, ya estaba implementada la plataforma adecuada para su uso, y por otro, el lenguaje Java es de fcil empleo, con cdigo fcilmente reutilizable y conocido por varias personas en el departamento susceptibles de tener que realizar un mantenimiento posterior. adems, las facilidades que aporta el HTML y el JavaScript y su ligereza en el equipo cliente resultaban muy adecuadas para la ejecucin de la aplicacin. Para el desarrollo se procur emplear siempre herramientas de software gratuito o contenido en paquetes ya presentes en la empresa. Aparte de lo ya definido en cuanto a la plataforma de implementacin (Apache Tomcat sobre MySQL), las herramientas de desarrollo tambin eran muy accesibles y no implicaron gasto de adquisicin. As, se dispuso de un IDE de desarrollo de software en lenguaje de programacin Java, concretamente NetBeans, en su versin 3.5. adems, y para generar algn diagrama de forma automtica, se empleo Jbuilder X, pero realmente no se aplic el uso de este ltimo ms que excepcionalmente. En cuanto al desarrollo HTML, se emplearon el CoffeeCup y el FrontPage. Todas las pginas jsp, as como el desarrollo del men de la aplicacin, se desarrollaron sobre el primero. El segundo quedo como herramienta opcional para realizar pequeas modificaciones y comprobaciones. Por ultimo, para el desarrollo de la memoria, se emplearon editores de texto (Word sobre todo, y a veces Notepad), generadores de hojas de clculo (Excel) y software generador de modelos y diagramas (Visio y SmartDraw). 116
2.5.2 Estructura del cdigo El cdigo programado se divide en dos tipos, siendo cada uno participe de forma diferente en las distintas capas en las que se estructura la aplicacin. Tenemos por un lado la parte de cdigo generada exclusivamente en Java, encargada de gestionar la conexin de la aplicacin a la base de datos, as como todos los accesos a la misma y las funciones bsicas que luego se llamaran durante la presentacin. Es cdigo que se ejecuta en el servidor para el propio funcionamiento de la aplicacin y para ser llamadas en las diferentes pginas jsp a peticin del usuario. Y por otro lado estn las propias pginas jsp, bsicamente pginas HTML en las que se emplea cdigo Java incrustado para permitir que, a partir de una misma estructura en el servidor, se puedan crear diferentes pginas finales (con diferentes datos) en el cliente. Estas pginas hacen uso tanto de las funciones Java propias de la API facilitada por la maquina virtual instalada como de las funciones que se hayan creado por el usuario y que sean importadas para su empleo. As, tendremos una serie de clases de Java generadas por el usuario y que se emplearan en las pginas jsp. Entre estas clases, algunas sern las que definan los diferentes tipos de elementos con los que trabajaremos (CPUs, Departamentos, Marcas, etc...). Pero adems habr otras dos clases que sern fundamentales en el desarrollo de la aplicacin: la clase ContextListener y la clase InventarioBD. - ContextListener: Permite al servidor de aplicaciones generar un objeto InventarioBD, lo que, explicado de forma somera, arranca la aplicacin web. - InventarioBD: Esta es la clase principal de la aplicacin, y cumple una doble utilidad: genera la conexin con la base de datos e incorpora todas las funciones que se emplearan despus para acceder desarrollar la presentacin de los datos correctamente en el cliente. En cierta forma, InventarioBD incorpora una especie de mini-API de la aplicacin, facilitando los mtodos que permitirn desarrollar despus todas las funciones que finalmente se expresan en las pginas jsp. En cuanto a las pginas jsp, estas se basan en formularios y pginas HTML. Incrustado en estas se encuentra el cdigo Java que es interpretado por el servidor de aplicaciones para generar la salida que se ofrece al cliente. En principio, el cdigo Java aplicado en estas pginas debe servir solo para gestionar la presentacin que se le va a ofrecer al cliente, modificando el contenido de las tablas y formularios HTML generados para incluir en su interior los datos consultados a la base de datos. Pero finalmente, en algunas de las pginas desarrolladas, esto ha sido difcil de cumplir y se tuvo que introducir algo de gestin, aunque procurando siempre que el procesamiento de las pginas fuera lo ms rpido posible. adems, existen casos en los que se decidi que la informacin contenida en la base de datos y que se pasara despus a los objetos de cada tipo estara codificada. Esto ocurre, por ejemplo, en el caso de la determinacin del estado de los diferentes elementos. Se prefiri utilizar un campo numrico, ya que sera un campo empleado para diferentes tipos de elementos (Usuarios, CPUs, etc.) de diferente modo, por lo que los distintos estados de los equipos son un valor numrico que ha de ser transformado en su valor real al formatear los datos de presentacin. As, un estado 1 corresponde al valor real Alta, y debe ser tenido en cuenta al presentar los datos finales, haciendo la conversin necesaria. Definiremos estos casos posteriormente.
117
Como se dijo antes, no creo adecuado mostrar el cdigo de la aplicacin en esta memoria. Pero parece oportuno mostrar una descripcin de las diferentes clases. Y aunque el desarrollo de la aplicacin no se ha realizado siguiendo una metodologa UML, he considerado que este tipo de diagramas son los ms adecuados para mostrar los atributos y funciones de cada clase de un golpe de vista. Tendremos: Clase ContextListener:
Clase Departamento:
Clase Marca:
118
Clase CPU:
119
Clase Monitor:
Clase Impresora:
Clase Usuario:
Clase Histrico:
120
Clase InventarioBD:
Como se puede observar, la clase InventarioBD esta repleta de funciones que se pueden aplicar para acceder a la base de datos y acceder a diferentes elementos segn sea necesario para la presentacin final. Lo cierto es que alguno de los mtodos que aparecen en el diagrama estn obsoletos y han sido sustituidos por otros mtodos ms completos que se desarrollaron despus, pero se decidi no retirarlos de la clase por si resultan tiles en posteriores desarrollos.
121
2.5.3 Ejemplos de cdigo Ya se indico antes que no se mostrara todo el cdigo de la aplicacin, pero que se explicaran algunos ejemplos de la misma. Se desarrollaran tres ejemplos de cmo se han empleado las funciones implementadas. Para ello se emplearan secciones de cdigo que se consideren representativas de la aplicacin: 1. Cdigo de acceso a los datos de todas las CPUs que cumplen una determinada condicin (funcin getCpusFinal(), de la clase InventarioBD): --------------------------------------------------------------------------------------------------public ArrayList getCpusFinal (String clausulaWhere) { cpus = new ArrayList (); try { this.getConnection (); PreparedStatement preparedStatement = this.connection.prepareStatement ("SELECT * FROM cpusfinal " + clausulaWhere); ResultSet resultSet = preparedStatement.executeQuery (); while (resultSet.next ()) { Cpu cpu = new Cpu( resultSet.getInt (1), resultSet.getString (2), resultSet.getInt (3), resultSet.getInt (4), resultSet.getInt(5), resultSet.getString (6), resultSet.getString (7), resultSet.getInt(8), resultSet.getInt (9), resultSet.getString (10),resultSet.getTimestamp (11)); cpus.add(cpu); } preparedStatement.close (); } catch (SQLException e) { return null; } this.releaseConnection (); return cpus; } --------------------------------------------------------------------------------------------------La funcin recibe una clusula SQL conteniendo las condiciones segn las cuales se realizar la bsqueda y devuelve un objeto (cpus) del tipo ArrayList conteniendo todas las CPUs que cumplen la condicin. La secuencia de cdigo hace lo siguiente: - Abrir la conexin con la base de datos (this.getConnection()). - Preparar la sentencia, incorporando la clausula de condicin recibida a la parte de la sentencia que escoge la tabla sobre la que consultamos (preparedStatement). - Recoger el resultado (resultSet) y recorrerlo (resultSet.next()) generando tantas CPUs como sean necesarias, aadindolas en el ArrayList (cpus.add(cpu)). - Devuelve el objeto ArrayList con todas las CPUs (cpus), o NULL si ha habido error. Esta funcin es un ejemplo de cmo se han realizado las consultas sobre las tablas, generando mtodos de acceso a diferentes tablas segn se precisase.
122
2. Cdigo inserto en una pgina jsp en el que se indica como se recogen los parmetros que pasa la pgina anterior y como se accede a las funciones de InventarioBD (extracto de la pgina Consultar_ModCPU.jsp): --------------------------------------------------------------------------------------------------InventarioBD inventarioBD = (InventarioBD) application.getAttribute ("Inventario"); ArrayList mods; int id_marca = Integer.parseInt(request.getParameter("marca").trim()); if (id_marca == 0) { mods = inventarioBD.getModCPUs(" ORDER BY NumMarca "); } else { String clausula = " WHERE NumMarca = " + id_marca + " ORDER BY NumModCPU "; mods = inventarioBD.getModCPUs(clausula); } --------------------------------------------------------------------------------------------------La funcin recoge los parmetros de filtro de la pgina anterior y genera diferentes consultas en funcin de estos. En este caso es la seleccin de modelos de CPU, que se realiza en funcin de la marca del modelo. La secuencia de cdigo hace lo siguiente: Crear un objeto de la clase InventarioBD (inventarioBD) para acceder a sus mtodos. Crear un objeto ArrayList de modelos (mods). Recoger el parmetro marca de la pgina anterior (request.getParameter("marca")), convirtindolo en el tipo de dato que le corresponde (Integer.parseInt()), y asignndoselo a la variable id_marca. Comprobar si pide todas las marcas (valor de marca 0) o solo una en concreto (cualquier valor distinto de 0) Generar la consulta. He escogido este fragmento de cdigo porque incluye ejemplos de cmo se ha realizado el paso de parmetros de una pgina a otra (en funcin del nombre pasado por la pgina anterior, en este caso, marca) y como, segn los parmetros recibidos, se puede generar un tipo de consulta u otro. En el caso de otros elementos (Usuarios, CPUs, etc...) la consulta debe tener en cuenta muchos otros parmetros sobre los que filtrar, pero el desarrollo es muy similar. Simplemente, se acumula sobre una variable de tipo String todas las condiciones de filtro que se van aadiendo y que se han recibido de la pgina anterior, y se pasa posteriormente la consulta generada en su conjunto desde el propio jsp. En este caso el cdigo explicado sirve solo para el acceso a los datos. Posteriormente, hay parte de cdigo que se encarga de la presentacin de los mismos. Esto se hace de forma que una vez recibida la consulta, se examina si esta contiene algn elemento o no, y se genera una tabla sobre la que cada elemento consultado es una lnea a presentar. Se da por supuesto que entre el cdigo Java, estn las etiquetas HTML que crean la tabla, sus filas, etc.
123
3. Cdigo inserto en una pgina jsp que permite realizar bsquedas de monitor por departamento: --------------------------------------------------------------------------------------------------String clausers= "WHERE NumUsu IN ("; if (request.getParameter("depto") != null) { int depto = Integer.parseInt(request.getParameter("depto").trim()); if (depto != 0) { ArrayList usuarios = inventarioBD.getUsuariosFinal("WHERE NumDep = " + String.valueOf(depto)); if( (usuarios != null) && !usuarios.isEmpty() ) { for( int i = 0 ; i < usuarios.size() ; i++) { Usuario usu = (Usuario) usuarios.get (i); clausers= clausers + String.valueOf(usu.getNumero()) + ","; } clausers = clausers + "-1) "; ArrayList cpus = inventarioBD.getCPUsFinal(clausers); if( (cpus != null) && !cpus.isEmpty() ) { clausula = clausula + " AND NumCPU IN ("; for( int i = 0 ; i < cpus.size() ; i++) { Cpu cpu = (Cpu) cpus.get(i); clausula = clausula + String.valueOf(cpu.getClave()) + ","; } clausula = clausula + "-1) "; } } } } --------------------------------------------------------------------------------------------------Antes de explicar esta funcin , es preciso explicar su funcin y porque se implemento. Este fragmento de cdigo permite realizar consultas de monitores en funcin del departamento al que pertenecen. Pero el departamento no es un campo de la tabla de monitores, y para acceder a el hay que hacerlo a travs del usuario dueo de la CPU a la que se conecta el monitor. Esto en principio se puede realizar de forma muy simple a travs de consultas subordinadas. Pero la versin de MySQL empleada no las permite, por lo que es necesario desarrollar el cdigo que facilite esa consulta.
124
En el cdigo empleado hay variables que no aparecen inicializadas. La ms importante de estas variables es clausula, que es un objeto de tipo String que recoge la clausula que se emitir despus para seleccionar los monitores. No se inicializa aqu porque es una variable que se usa en el filtrado de todos los parmetros del monitor, y debe ir pasando por todos los parmetros antes y despus de el departamento. La secuencia de cdigo hace lo siguiente: - Comprobar que el parmetro por el que se filtra (depto) tiene un valor valido. - Insertar su valor en una variable (request.getParameter("depto")). - Buscar los usuarios de ese departamento incluyndolos en un ArrayList (usuarios). - Recorrer el ArrayList usuarios recogiendo su cdigo de usuario para meterlo en un objeto String llamado clausers. Con esto tenemos todos los usuarios de un departamento en clausers. - Buscar las CPUs de esos usuarios incluyndolas en un ArrayList (cpus). - Recorrer el ArrayList cpus recogiendo todos sus cdigos de CPU para meterlo en el String clausula. Con esto tenemos todos los CPUs del departamento. - Posteriormente se empleara la clausula generada as como filtro, sumndole los que se generen de otros parmetro, de forma que se busquen los monitores que cumplan las condiciones seleccionadas y cuyo numero de CPU (que si es un atributo suyo) este en los incluidos en clausula. Y esto si se puede hacer con una nica consulta (sin SELECTs subordinadas). 2.5.4 Detalles de implementacin Como se expuso al comienzo del capitulo, existen algunos detalles en la implementacin de la aplicacin que es necesario comentar. Entre estos detalles, est la codificacin de algunas opciones de la base de datos como datos numricos. Tendremos las siguientes conversiones: 1. Conversin de tipos de elementos: A la hora de realizar modificaciones o actualizaciones e insertar estas en la tabla de Histricos, es necesario definir un tipo de elemento sobre el que se acta. Las modificaciones se pueden realizar tanto sobre usuarios como sobre CPUs, monitores o impresoras (ni marcas, ni departamentos, ni modelos permiten actualizaciones), por lo que se asigna: 1. Impresoras 2. CPUs 3. Monitores 4. Usuario 2. Conversin de los estados de un elemento: Tanto usuarios como CPUs, impresoras o monitores tienen un estado que lo sita como en uso o de alta, dado de baja, en reparacin o almacenado (evidentemente, estas dos ultimas no se aplican a los usuarios). Se asigna: 1. De alta / En uso 2. Almacenado 3. reparacin 4. Dado de baja.
125
3. Conversin de los tipos posibles de actualizaciones: A la hora de completar el histrico, se pueden tener diferentes tipos de modificaciones. Algunos tipos se comparten por varios elementos, otros no, as que se decidi darles valores numricos a cada tipo de modificacin: 1. Cambio de estado (usuarios, CPUs, monitores e impresoras). 2. Cambio de usuario (para los tres elementos HW) 3. Cambio de nombre lgico (para impresoras y CPUs) 4. Cambio de RAM (CPUs). 5. Cambio de procesador (CPUs). 6. Cambio de departamento (usuarios). 7. Cambio de CPU asignada (monitores). 8. Cambio de la velocidad del procesador (CPUs). 9. Cambio del email (usuarios) 10. Cambio del telfono (usuarios) 11. Cambio de uso (CPUs) Aparte de este tipo de asignaciones, es importante mencionar como se utiliza el histrico de actualizaciones y la implicacin que esto tiene sobre la base de datos. La tabla de datos histricos es nica para todos los tipos de elementos que pueden sufrir modificaciones. Su estructura es tal que solo le hace falta recoger el cdigo del elemento actualizado, su tipo de elemento, el tipo de modificacin y el nuevo valor introducido, as como la fecha. Con ello se evita tener varias tablas para los diferentes elementos, y facilita adems la programacin, pues no es preciso desarrollar funciones para la consulta de cada tipo de histrico. En un principio, se pens hacer un histrico que recogiera los cambios de forma que al solicitar cada equipo se recogieran los valores con los que se incluyo en el sistema y, consultando el histrico, se reconstruyera su estado final. Pero tras generar el cdigo que haca esto, se determino que el sistema era poco eficiente. Sobre todo porque a la hora de hacer listados de muchos equipos o usuarios se aumentaba en gran manera el numero de consultas necesarias para generar su estado final. Despus se pens en la va contraria, mantener el estado final y reconstruir el original a travs del histrico cuando fuera necesario. Pero tras analizar la situacin tampoco pareci una buena idea, pues realizar consultas histricas tambin resultaba costoso. Al final la decisin que se implemento fue la de duplicar las tablas de CPUs, monitores, impresoras y usuarios en la base de datos, de forma que se pudiera acceder directamente a los estados iniciales y finales de los equipos. Lo cual adems facilitaba la tarea de obtener el histrico. Aunque parezca una decisin poco limpia, pues no solo redunda datos sino que prcticamente redunda tablas enteras, lo cierto es que el consumo de espacio que hace la base de datos de todos los elementos es mnimo (algo ms de 200 KB al cargar todos los datos, con las tablas duplicadas), por lo que se determino que era la forma ms til, y as se desarrollo.
126
2.4.5 Implantacin final y conclusiones Tras el desarrollo de las funciones y las pginas jsp, se empez a probar la aplicacin por los miembros del departamento en enero de 2006. Las pruebas no siguieron ningn modelo ni fueron diseadas como tales, por lo que no se incluyen aparte en esta memoria. Fruto de las pruebas iniciales fue la decisin de ampliar la aplicacin con el desarrollo de las Relaciones, tal y como se ha venido comentando a lo largo de toda la memoria. Se realizo en una segunda fase de anlisis y diseo que se culmino con el desarrollo de un nuevo modulo incorporado a la aplicacin. Otras pequeas modificaciones tambin fueron fruto de las pruebas realizadas, pero afectan a aspectos menores como detalles de diseo de pginas y tablas o adicin de algunos parmetros de bsqueda. La implementacin final se realizo en el mes de febrero de 2006. Para realizar la instalacin, se incorpora en esta memoria un manual de instalacin que esta incluido en los apndices de la misma, junto con el manual de usuario. La aplicacin lleva funcionando desde entonces sin problemas mayores, sujeta a mi mantenimiento, que se ha limitado a corregir algunos bugs encontrados muy infrecuentemente. Las conclusiones obtenidas del desarrollo de la aplicacin fueron por tanto positivas. Se cumplieron la mayora de los objetivos planteados al iniciar la planificacin de la misma y todos los requerimientos aparecidos durante el anlisis. La aplicacin sirve no solo para crear un sistema de gestionar el inventario de muchos elementos de los cuales no se tenia ni registro, sino que adems facilita el acceso a los equipos cuando surge cualquier incidencia, estableciendo una forma de localizarlos ms rpida para acceder a ellos remotamente. Cubre en cierta medida varias necesidades del departamento de Organizacin y Sistemas. Y adems, personalmente, me ha servido para profundizar en mis conocimientos en varias tecnologas, iniciarme en el HTML y dar un primer paso en la programacin de aplicaciones web que probablemente pueda resultarme til a mi y a mis compaeros en prximos proyectos.
127
128
Apndices
129
Localizacin
DFD1.2
Definicin
Flujo de datos Flujo de datos Flujo de datos Flujo de datos Flujo de datos
Descripcin
Datos de una nueva impresora
Alta usuario
DFD1.3
Contiene los datos de alta de un usuario Contiene los datos de baja de un usuario
Baja usuario
DFD1.3
DFD1.3
DFD1.1
Contiene los datos de una o una serie de CPUs para consultar. Proceso manual de insercin de datos en el Directorio Activo para dar de alta un usuario Proceso que se encarga de dar de baja usuarios del Directorio Activo Flujo de datos que contiene una seleccin de los datos contenidos en el almacn de CPUs Flujo que renueva peridicamente todos los datos de las CPUs. Flujo con la peticin y los datos de insercin de una nueva impresora. Surge de la explosin del flujo Entrada datos impresoras Flujo que solicita la baja de una impresora concreta almacn de los datos de inventario de parte de los equipos, en formato de texto almacn que contiene un listado recopilado manualmente de las impresoras de la empresa.
DFD1.3
Proceso
DFD1.3
Proceso
DFD1.1
Flujo de datos
DFD1.1
Flujo de datos
DFD1.2
Flujo de datos
DFD1.2
Flujo de datos
Datos CPUs
DFD1.1
Almacn de datos
Datos Impresoras
DFD1.2
almacn de datos
130
Nombre
Directorio Activo
Localizacin
DFD1.3
Definicin
almacn de datos
Descripcin
Directorio Activo. almacn con los datos de los usuarios del sistema Proceso ejecutable de forma manual o automtica que ejecuta una aplicacin capaz de obtener datos de equipos de una determinada red. Proceso manual que ejecuta la eliminacin de una impresora Flujo que incorpora los datos de entrada para la gestin de CPUs, incluyendo sus altas y las consultas que se deseen hacer. Flujo que incorpora los datos de entrada para la gestin de impresoras, incluyendo sus altas y las consultas que se deseen hacer. Flujo que incorpora los datos de entrada para la gestin de usuarios, incluyendo sus altas y las consultas que se deseen hacer. Es el conjunto de los datos de entrada del sistema Proceso manual asistido por ordenador de filtrar los datos contenidos en el almacn de datos. Proceso manual de bsqueda de impresoras. Proceso manual que filtra las consultas de los usuarios del Directorio Activo Es el proceso general de gestin del inventario. Explosiona en el resto de procesos del sistema. Proceso que define la forma actual de gestionar las CPUs Proceso que define la forma actual de gestionar las impresoras
DFD1.1
Proceso
Eliminar impresora
DFD1.2
Proceso
DFD1, DFD1.1
Flujo de datos
DFD1
Flujo de datos
DFD1
Flujo de datos
Entrada de datos
DFD0
Flujo de datos
DFD1.1
Proceso
Filtrar Impresoras
DFD1.2
Proceso
Filtrar usuarios
DFD1.3
Proceso
Gestin de Inventario
DFD0
Proceso
DFD1
Proceso
DFD1
Proceso
131
Nombre
Gestionar usuarios Impresoras consultadas
Localizacin
DFD1
Definicin
Proceso
Descripcin
Proceso que define la forma actual de gestionar los usuarios. Conjunto de impresoras solicitadas para ser filtradas y formateadas. Proceso manual de insercin de datos de una nueva impresora en el almacn de impresoras. Contiene la peticin de alta de un nuevo usuario, y sus datos Contiene la peticin de baja de un nuevo usuario, y sus datos Es la peticin que realiza el usuario para ejecutar la aplicacin de inventario. Es el conjunto de datos de salida sobre CPUs del sistema
DFD1.2
Flujo de datos
Insertar impresora
DFD1.2
Proceso
DFD1.3
DFD1.3
peticin inventario
Flujo de datos
Salida de datos CPUs Salida de datos impresoras Salida de datos usuarios Solicitud consulta impresora Usuario consultado
Flujo de datos
Flujo de datos
Flujo de datos
DFD1.2
Flujo de datos
DFD1.3
Datos totales de un usuario consultado Son los usuarios del sistema, los que lo emplean y mantienen
Usuarios
DFD0
132
Descripcin
Recoge la consulta que se realiza sobre las CPUs Recoge la consulta que se realiza sobre los departamentos Recoge la consulta que se realiza sobre las impresoras Recoge la consulta que se realiza sobre las marcas Recoge la consulta que se realiza sobre los modelos Recoge la consulta que se realiza sobre los monitores Recoge la consulta que se realiza sobre los usuarios Proceso encargado de realizar consultas genricas sobre CPUs en funcin de distintos parmetros y variables configurables. Proceso encargado de realizar consultas genricas sobre departamentos en funcin de distintos parmetros y variables configurables.
Consulta CPUs
DFD1.1.3
Consulta Deptos
DFD1.2.2
Flujo de datos
Consulta Impresoras
DFD1.1.5
Flujo de datos
Consulta Marcas
DFD1.1.1
Flujo de datos
Consulta Modelos
DFD1.1.2
Flujo de datos
Consulta Monitores
DFD1.1.4
Flujo de datos
Consulta Usuarios
DFD1.2.1
Flujo de datos
Consultar CPU
DFD1.1.3
Proceso
Consultar Depto
DFD1.2.2
Proceso
133
Nombre
Localizacin
Definicin
Descripcin
Proceso encargado de realizar consultas genricas sobre impresoras en funcin de distintos parmetros y variables configurables. Proceso encargado de realizar consultas genricas sobre marcas en funcin de distintos parmetros y variables configurables. Proceso encargado de realizar consultas genricas sobre modelos en funcin de distintos parmetros y variables configurables. Proceso encargado de realizar consultas genricas sobre monitores en funcin de distintos parmetros y variables configurables. Proceso encargado de realizar consultas genricas sobre usuarios en funcin de distintos parmetros y variables configurables. Proceso que se encarga de corregir los datos mal insertados de las CPUs.
Consultar Impresora
DFD1.1.5
Proceso
Consultar Marca
DFD1.1.1
Proceso
Consultar Modelo
DFD1.1.2
Proceso
Consultar Monitor
DFD1.1.4
Proceso
Consultar Usuario
DFD1.2.1
Proceso
Corregir CPU
DFD1.1.3
Proceso
134
Nombre
Localizacin
Definicin
Descripcin
Proceso que se encarga de corregir los datos mal insertados de los departamentos. Proceso que se encarga de corregir los datos mal insertados de las impresoras. Proceso que se encarga de corregir los datos mal insertados de las marcas. Proceso que se encarga de corregir los datos mal insertados de los modelos. Proceso que se encarga de corregir los datos mal insertados de los monitores. Proceso que se encarga de corregir los datos mal insertados de los usuarios. Recoge la informacin de una CPU corregida. Recoge la informacin necesaria para crear una CPU. Recoge la informacin de una CPU previamente buscada.
Corregir Depto
DFD1.2.2
Proceso
Corregir Impresora
DFD1.1.5
Proceso
Corregir Marca
DFD1.1.1
Proceso
Corregir Modelo
DFD1.1.2
Proceso
Corregir Monitor
DFD1.1.4
Proceso
Corregir Usuario
DFD1.1.4
Proceso
CPU Corregida
DFD1.1.3
Flujo de datos
CPU Creada
DFD1.1.3
Flujo de datos
CPU Localizada
DFD1.1.3, DFD1.3
Flujo de datos
135
Nombre
Localizacin
Definicin
Descripcin
Recoge la informacin de una CPU modificada o dada de baja. Recoge los datos consultados sobre las CPUs para su formateo. Recoge la peticin al sistema de alta de una CPU Recoge la peticin al sistema de alta de un departamento Recoge la peticin al sistema de alta de una impresora Recoge la peticin al sistema de alta de una marca Recoge la peticin al sistema de alta de un modelo Recoge la peticin al sistema de alta de un monitor Recoge la peticin al sistema de alta de un usuario Recoge la peticin de consultas respecto a las CPUs. Recoge la peticin de consultas respecto a los departamentos.
CPU modificada/eliminada
DFD1.1.3
Flujo de datos
CPUs Consultadas
Flujo de datos
DFD1.1.3
Flujo de datos
DFD1.2.2
Flujo de datos
DFD1.1.5
Flujo de datos
DFD1.1.1
Flujo de datos
DFD1.1.2
Flujo de datos
DFD1.1.4
Flujo de datos
DFD1.2.1
Flujo de datos
DFD1.1.3
Flujo de datos
DFD1.2.2
Flujo de datos
136
Nombre
Localizacin
Definicin
Descripcin
Recoge la peticin de consultas respecto a las impresoras. Recoge la peticin de consultas respecto a las marcas. Recoge la peticin de consultas respecto a los modelos. Recoge la peticin de consultas respecto a los monitores. Recoge la peticin de consultas respecto a los usuarios. Recoge la peticin de corregir una CPU localizada Recoge la peticin de corregir un departamento localizado Recoge la peticin de corregir una impresora localizada Recoge la peticin de corregir una marca localizada Recoge la peticin de corregir un modelo localizado Recoge la peticin de corregir un monitor localizada
DFD1.1.5
Flujo de datos
DFD1.1.1
Flujo de datos
DFD1.1.2
Flujo de datos
DFD1.1.4
Flujo de datos
DFD1.2.1
Flujo de datos
DFD1.1.3
Flujo de datos
DFD1.2.2
Flujo de datos
DFD1.1.5
Flujo de datos
DFD1.1.1
Flujo de datos
DFD1.1.2
Flujo de datos
DFD1.1.4
Flujo de datos
137
Nombre
Datos Correccin Usuario
Localizacin
Definicin
Flujo de datos
Descripcin
Recoge la peticin de corregir un usuario localizada Es el flujo de datos inicial del que derivan todos los dems. Se descompone en diferentes peticiones de altas y bajas, correcciones y modificaciones, y entrada de datos para ejecutar estas, as como las peticiones para localizar y consultar los datos del inventario. Representa todos los informes y consultas ya formateadas que se pueden extraer del sistema. Flujo que recoge una actualizacin sobre cualquiera de los elementos del inventario y lo pasa al almacn de datos histricos Recoge la peticin para localizar a una CPU. Recoge la peticin para localizar a un departamento. Recoge la peticin para localizar a una impresora. Recoge la peticin para localizar a una marca.
DFD1.2.1
Datos de Entrada
DFD0
Flujo de datos
Datos de Salida
DFD0, DFD1
Flujo de datos
Datos Histrico
Flujo de datos
DFD1.1.3
Flujo de datos
DFD1.2.2
Flujo de datos
DFD1.1.5
Flujo de datos
DFD1.1.1
Flujo de datos
138
Nombre
Datos Localizacin Modelo
Localizacin
Definicin
Flujo de datos
Descripcin
Recoge la peticin para localizar a un modelo. Recoge la peticin para localizar a un monitor. Recoge la peticin para localizar a un usuario. Recoge la peticin para modificar o eliminar una CPU. Recoge la peticin para modificar o eliminar una impresora. Recoge la peticin para modificar o eliminar un monitor. Recoge la peticin para modificar o eliminar un usuario Recoge la informacin de un departamento corregido. Recoge la informacin necesaria para crear un departamento. Recoge la informacin de un departamento previamente buscado. Recoge los datos consultados sobre los departamentos para su formateo.
DFD1.1.2
DFD1.1.4
Flujo de datos
DFD1.2.1
Flujo de datos
DFD1.1.3
Flujo de datos
DFD1.1.5
Flujo de datos
DFD1.1.4
Flujo de datos
DFD1.2.1
Flujo de datos
Depto Corregido
DFD1.2.2
Flujo de datos
Depto Creado
DFD1.2.2
Flujo de datos
Depto Localizado
DFD1.2.2
Flujo de datos
Deptos Consultados
Flujo de datos
139
Nombre
Localizacin
Definicin
Descripcin
Proceso general de la bsqueda de relaciones. Explosiona en el DFD1.3 Flujo de datos que proviene de la explosin del flujo de datos Entrada Datos Equipos (DFD1) Flujo de datos que proviene de la explosin del flujo de datos Entrada Datos Entidades (DFD1) Flujo de datos que proviene de la explosin del flujo de datos Datos de Entrada (DFD0) Flujo de datos que proviene de la explosin del flujo de datos Datos de Entrada (DFD0) Flujo de datos que proviene de la explosin del flujo de datos Entrada Datos Equipos (DFD1) Flujo de datos que proviene de la explosin del flujo de datos Entrada Datos Equipos (DFD1) Flujo de datos que proviene de la explosin del flujo de datos Entrada Datos Equipos (DFD1)
Encontrar Relaciones
DFD1
Proceso
DFD1.1
Flujo de datos
DFD1.2
Flujo de datos
DFD1
Flujo de datos
DFD1
Flujo de datos
DFD1.1
Flujo de datos
DFD1.1
Flujo de datos
DFD1.1
Flujo de datos
140
Nombre
Localizacin
Definicin
Descripcin
Flujo de datos que proviene de la explosin del flujo de datos Entrada Datos Equipos (DFD1) Flujo de datos que proviene de la explosin del flujo de datos Entrada Datos Entidades (DFD1) Es el proceso encargado de formatear los datos de las consultas para emitir los diferentes tipos de salidas que pueden recibir los usuarios. Es el conjunto de procesos que realiza el sistema. Proceso de gestin general de las CPUs. Explosiona en el DFD1.1.3 Proceso de gestin general de los departamentos. Explosiona en el DFD1.2.2 Proceso general de la gestin de entidades personales. Explosiona en el DFD1.2 Proceso general de la gestin de equipos. Explosiona en el DFD1.1
DFD1.1
Flujo de datos
DFD1.2
Flujo de datos
Formatear Datos
DFD1, DFD1Bis
Proceso
Gestin de Inventario
DFD0
Proceso
Gestionar CPUs
DFD1.1
Proceso
Gestionar Deptos
DFD1.2
Proceso
Gestionar Entidades
DFD1
Proceso
Gestionar Equipos
DFD1
Proceso
141
Nombre
Localizacin
Definicin
Descripcin
Proceso de gestin general de las impresoras. Explosiona en el DFD1.1.5 Proceso de gestin general de las marcas. Explosiona en el DFD1.1.1 Proceso de gestin general de los modelos. Explosiona en el DFD1.1.2 Proceso de gestin general de los monitores. Explosiona en el DFD1.1.4 Proceso de gestin general de los usuarios. Explosiona en el DFD1.2.1 Recoge la informacin de una CPU corregida. Recoge la informacin necesaria para crear una impresora. Recoge la informacin de una Impresora previamente buscada. Recoge la informacin de una impresora modificada o dada de baja.
Gestionar Impresoras
DFD1.1
Proceso
Gestionar Marcas
DFD1.1
Proceso
Gestionar Modelos
DFD1.1
Proceso
Gestionar Monitores
DFD1.1
Proceso
Gestionar Usuarios
DFD1.2
Proceso
Impresora Corregida
DFD1.1.5
Flujo de datos
Impresora Creada
DFD1.1.5
Flujo de datos
Impresora Localizada
DFD1.1.5, DFD1.3
Flujo de datos
Impresora modificada/eliminada
DFD1.1.5
Flujo de datos
142
Nombre
Localizacin
Definicin
Descripcin
Recoge los datos consultados sobre las impresoras para su formateo. Proceso encargado de localizar CPUs concretas para realizar correcciones de sus datos, o actualizacionesbajas. Proceso encargado de localizar departamentos concretos para realizar correcciones de sus datos, o actualizacionesbajas. Proceso encargado de localizar impresoras concretas para realizar correcciones de sus datos, o actualizacionesbajas. Proceso encargado de localizar marcas concretas para realizar correcciones de sus datos, o actualizacionesbajas. Proceso encargado de localizar modelos concretos para realizar correcciones de sus datos, o actualizacionesbajas.
Impresoras Consultadas
Flujo de datos
Localizar CPU
DFD1.1.3
Proceso
Localizar Depto
DFD1.2.2
Proceso
Localizar Impresora
DFD1.1.5
Proceso
Localizar Marca
DFD1.1.1
Proceso
Localizar Modelo
DFD1.1.2
Proceso
143
Nombre
Localizacin
Definicin
Descripcin
Proceso encargado de localizar monitores concretos para realizar correcciones de sus datos, o actualizacionesbajas. Proceso encargado de localizar usuarios concretos para realizar correcciones de sus datos, o actualizacionesbajas. Recoge la informacin de una marca corregida. Recoge la informacin necesaria para crear un marca. Recoge la informacin de una marca previamente buscada. Recoge los datos consultados sobre las marcas para su formateo. Recoge la informacin de un modelo corregido. Recoge la informacin necesaria para crear un modelo. Recoge la informacin de un modelo previamente buscada.
Localizar Monitor
DFD1.1.4
Proceso
Localizar Usuario
DFD1.2.1
Proceso
Marca Corregida
DFD1.1.1
Flujo de datos
Marca Creada
DFD1.1.1
Flujo de datos
Marca Localizada
DFD1.1.1
Flujo de datos
Marcas Consultadas
DFD1.1.1,DFD1.1,DFD1Bis, DFD1
Flujo de datos
Modelo Corregido
DFD1.1.2
Flujo de datos
Modelo Creado
DFD1.1.2
Flujo de datos
Modelo Localizado
DFD1.1.2
Flujo de datos
144
Nombre
Localizacin
Definicin
Descripcin
Recoge los datos consultados sobre los modelos para su formateo. Proceso que se encarga de actualizar los datos de una CPU segn se producen cambios en su situacin, o bien darle de baja. Proceso que se encarga de actualizar los datos de una impresora segn se producen cambios en su situacin, o bien darle de baja. Proceso que se encarga de actualizar los datos de un monitor segn se producen cambios en su situacin, o bien darle de baja. Proceso que se encarga de actualizar los datos de un usuario segn se producen cambios en su situacin, o bien darle de baja. Recoge la informacin de un monitor corregido. Recoge la informacin necesaria para crear un monitor.
Modelos Consultados
DFD1.1.2,DFD1.1,DFD1Bis, DFD1
Flujo de datos
DFD1.1.3
Proceso
DFD1.1.5
Proceso
DFD1.1.4
Proceso
DFD1.1.4
Proceso
Monitor Corregido
DFD1.1.4
Flujo de datos
Monitor Creado
DFD1.1.4
Flujo de datos
145
Nombre
Localizacin
Definicin
Descripcin
Recoge la informacin de un monitor previamente buscado. Recoge la informacin de un monitor modificado o dado de baja. Recoge los datos consultados sobre los monitores para su formateo. Recoge los datos consultados sobre los usuarios para su formateo. Proceso encargado de localizar las relaciones de una CPU. Proceso encargado de localizar las relaciones de un monitor. Proceso encargado de localizar las relaciones de un usuario. Contiene las relaciones obtenidas para una CPU. Contiene las relaciones obtenidas para un monitor. Contiene las relaciones obtenidas para un usuario.
Monitor Localizado
DFD1.1.4, DFD1.3
Flujo de datos
Monitor modificado/eliminado
DFD1.1.4
Flujo de datos
Monitores Consultadas
Flujo de datos
Monitores Usuarios
Flujo de datos
DFD1.3
Proceso
DFD1.3
Proceso
DFD1.3
Proceso
Relaciones CPU
DFD1.3 ,DFD1Bis
Flujo de datos
Relaciones Monitor
DFD1.3, DFD1Bis
Flujo de Datos
Relaciones Usuario
DFD1.3, DFD1Bis
Flujo de datos
146
Nombre
Localizacin
Definicin
Descripcin
Proceso encargado de recoger los datos de alta de una CPU y enviarlo al almacn de datos de CPUs Proceso encargado de recoger los datos de alta de un departamento y enviarlo al almacn de datos de departamentos Proceso encargado de recoger los datos de alta de una impresora y enviarlo al almacn de datos de impresoras Proceso encargado de recoger los datos de alta de una marca y enviarlo al almacn de datos de marcas Proceso encargado de recoger los datos de alta de un modelo y enviarlo al almacn de datos de modelos Proceso encargado de recoger los datos de alta de un monitor y enviarlo al almacn de datos de monitores Proceso encargado de recoger los datos de alta de un usuario y enviarlo al almacn de datos de usuarios
DFD1.1.3
Proceso
DFD1.2.2
Proceso
DFD1.1.5
Proceso
DFD1.1.1
Proceso
DFD1.1.2
Proceso
DFD1.1.4
Proceso
DFD1.2.1
Proceso
147
Nombre
Localizacin
Definicin
Descripcin
Recoge la peticin de una CPU concreto para modificar, corregir o dar de baja. Recoge la peticin de un departamento concreta para modificar, corregir o dar de baja. Recoge la peticin de una Impresora concreto para modificar, corregir o dar de baja. Recoge la peticin de una marca concreta para modificar, corregir o dar de baja. Recoge la peticin de un modelo concreta para modificar, corregir o dar de baja. Recoge la peticin de un monitor concreto para modificar, corregir o dar de baja. Flujo de datos que proviene de la explosin del flujo de datos Datos de Entrada (DFD0) Recoge la peticin de un usuario concreto para modificar, corregir o dar de baja.
Solicitud CPU
DFD1.1.3, DFD1.3
Flujo de datos
Solicitud Depto
DFD1.2.2
Flujo de datos
Solicitud Impresora
DFD1.1.5, DFD1.3
Flujo de datos
Solicitud Marca
DFD1.1.1
Flujo de datos
Solicitud Modelo
DFD1.1.2
Flujo de datos
Solicitud Monitor
DFD1.1.4, DFD1.3
Flujo de datos
Solicitud Relacin
DFD1.3, DFD1Bis
Flujo de datos
Solicitud Usuario
DFD1.2.1
Flujo de datos
148
Nombre
Localizacin
Definicin
Descripcin
Se corresponder con una tabla real. Cada registro es una CPU y recoge su informacin bsica. Se corresponder con una tabla real. Cada registro es un departamento y recoge su informacin bsica. Se corresponder con una tabla real. Cada registro es una entrada histrica y recoge la informacin del cambio sufrido. Se corresponder con una tabla real. Cada registro es una Impresora y recoge su informacin bsica. Se corresponder con una tabla real. Cada registro es una marca y recoge su informacin bsica. Se corresponder con una tabla real. Cada registro es un modelo y recoge su informacin bsica. Se corresponder con una tabla real. Cada registro es un monitor, y recoge su informacin bsica.
Tabla CPUs
DFD1.1.3, DFD1.3
Almacn de datos
Tabla Deptos
DFD1.2.2
Proceso
Tabla Histrico
Almacn de datos
Tabla Impresoras
DFD1.1.5, DFD1.3
Almacn de datos
Tabla Marcas
DFD1.1.1
Proceso
Tabla Modelos
DFD1.1.2
Proceso
Tabla Monitores
DFD1.1.4, DFD1.3
Almacn de datos
149
Nombre
Localizacin
Definicin
Descripcin
Se corresponder con una tabla real. Cada registro es un usuario y recoge su informacin bsica. Recoge la informacin de un usuario corregido. Recoge la informacin necesaria para crear un usuario. Recoge la informacin de un usuario previamente buscada. Recoge la informacin de un usuario modificado o dado de baja. Es el conjunto de usuarios que mantendr y a la vez explotar el sistema. Recoge los datos consultados sobre Usuarios para su formateo.
Tabla Usuarios
DFD1.2.1
Proceso
Usuario Corregido
DFD1.2.1
Flujo de datos
Usuario Creado
DFD1.2.1
Flujo de datos
Usuario Localizado
DFD1.2.1
Flujo de datos
Usuario modificado/eliminado
DFD1.2.1
Flujo de datos
Usuarios
DFD0
Entidad externa
Usuarios Consultados
Flujo de datos
150
Localizacin
ER1
Definicin
Entidad
Descripcin
Entidad que agrupa a todos las CPUs de la empresa. Entidad que engloba los departamentos de la empresa. Entidad que define a las impresoras. Entidad que engloba las marcas de cualquier tipo de elemento. Entidad que agrupa modelos exclusivamente de CPUs. Entidad que agrupa modelos exclusivamente de impresoras. Entidad que agrupa modelos exclusivamente de monitores. Entidad que agrupa a todos los monitores de la empresa. Son los empleados de la empresa. Relacin que se da entre cualquier modelo de equipo, su marca y el propio equipo. Cada equipo es de una marca y modelo determinada. Y cada modelo tambin es de una marca determinada. Pero hay marcas que no fabrican determinados equipos (monitores, por ejemplo), lo que desemboca en que haya marcas sin algn tipo de modelos y equipos. Aunque cada equipo es de un nico modelo y marca, y cada modelo solo de una marca. Relacin entre los departamentos y los usuarios. Uno o ms usuarios son miembros de un nico departamento, y cada departamento dispone de usuarios que solo dependen de l.
Departamentos
ER1
Entidad
Impresora
ER1
Entidad
Marca
ER1
Entidad
Modelo CPU
ER1
Entidad
Modelo Impresora
ER1
Entidad
Modelo Monitor
ER1
Entidad
Monitor
ER1
Entidad
Usuarios
ER1
Entidad
Es de
ER1
Relacin
Es miembro
ER1
Relacin
151
Nombre
Localizacin
Definicin
Descripcin
Relacin entre los departamentos y las impresoras. A un departamento pertenecen 0, 1 o ms impresoras. Pero cada impresora es de un nico departamento. Y cada departamento tiene 1 o ms impresoras. Relacin entre las impresoras y los usuarios individuales. Un usuario individual puede tener 0, 1 o varias impresoras para el solo. Pero las impresoras solo pueden tener 0 o 1 usuarios individuales (si pertenece a un departamento, no pertenece a usuarios). Cada registro de impresoras solo puede pertenecer a un usuario. Relacin entre CPUs y Monitores. Por las peculiaridades de la empresa, una CPU puede estar conectada a varios monitores, y un monitor tambin conectado a varias CPUs. Pero por conveniencia, se adopta la convencin de que cada monitor pertenece siempre a un nico equipo, y que cada CPU puede tener conectados 0, 1 o varios monitores. Relacin entre usuarios y CPUs. Cada usuario usa 0, 1 o varias CPUs, mientras que cada CPU pertenece a 1 y siempre 1 usuario.
Pertenece
ER1
Relacin
Posee
ER1
Relacin
Se conecta
ER1
Relacin
Usa
ER1
Relacin
152
DFD1.1.3.1
Proceso
DFD1.2.2.1
Proceso
DFD1.1.5.1
Proceso
DFD1.1.1.1
Proceso
DFD1.1.2.1
Proceso
DFD1.1.4.1
Proceso
DFD1.2.1.1
Proceso
DFD1.1.2.3
Proceso
153
Nombre
Localizacin
Definicin
Descripcin
Proceso que presenta el formulario de correccin de CPUs. Proceso que presenta el formulario de correccin de departamentos. Proceso que presenta el formulario de correccin de Impresoras. Proceso que presenta el formulario de correccin de marcas. Proceso que presenta el formulario de correccin de Modelos. Proceso que presenta el formulario de correccin de Monitores. Proceso que presenta el formulario de correccin de Usuarios. Proceso que presenta el formulario de modificacin de CPUs. Proceso que presenta el formulario de modificacin de Impresoras.
DFD1.1.3.2
Proceso
DFD1.2.2.2
Proceso
DFD1.1.5.2
Proceso
DFD1.1.1.2
Proceso
DFD1.1.2.2
Proceso
DFD1.1.4.2
Proceso
DFD1.2.1.2
Proceso
DFD1.1.3.4
Proceso
DFD1.1.5.4
Proceso
154
Nombre
Localizacin
Definicin
Descripcin
Proceso que presenta el formulario de modificacin de Monitores. Proceso que presenta el formulario de modificacin de Usuarios. Proceso que asigna el cdigo de CPU Proceso que asigna el cdigo de departamento Proceso que asigna el cdigo de Impresora Proceso que asigna el cdigo de marca Proceso que asigna el cdigo de modelo Proceso que asigna el cdigo de Monitor Proceso que asigna el cdigo de usuario Flujo que enva la cabecera del informe en funcin de los datos consultados.
DFD1.1.4.4
Proceso
DFD1.2.1.4
Proceso
DFD1.1.3.1
Proceso
DFD1.2.2.1
Proceso
DFD1.1.5.1
Proceso
Asignar Cdigo Marca Asignar Cdigo Modelo Asignar Cdigo Monitor Asignar Cdigo Usuario
DFD1.1.1.1
Proceso
DFD1.1.2.1
Proceso
DFD1.1.4.1
Proceso
DFD1.2.1.1
Proceso
Cabecera
DFD1.4
Flujo de datos
Cambiar Valores
DFD1.1.1.2, DFD1.1.2.2, DFD1.1.3.2, DFD1.1.3.4, DFD1.1.4.4, DFD1.1.5.4, DFD1.2.1.4, DFD1.1.5.2, DFD1.2.1.2, DFD1.2.2.2
Proceso
155
Nombre
Cdigo CPU
Localizacin
DFD1.1.3.1
Definicin
Flujo de datos Flujo de datos Flujo de datos Flujo de datos Flujo de datos Flujo de datos Flujo de datos
Descripcin
Flujo con el cdigo de la CPU Flujo con el cdigo del departamento Flujo con el cdigo de la Impresora Flujo con el cdigo de la marca Flujo con el cdigo del modelo Flujo con el cdigo del Monitor Flujo con el cdigo del usuario Recoge la consulta que se realiza sobre las CPUs Flujo que contiene la consulta diseada Recoge la consulta que se realiza sobre las impresoras Recoge la consulta que se realiza sobre los modelos Recoge la consulta que se realiza sobre los monitores Recoge la consulta que se realiza sobre los usuarios Flujo que solicita las CPUs por monitor
Cdigo Dep
DFD1.2.2.1
Cdigo Impresora
DFD1.1.5.1
Cdigo Marca
DFD1.1.1.1
Cdigo Modelo
DFD1.1.2.1
Cdigo Monitor
DFD1.1.4.1
Cdigo Usuario
DFD1.2.1.1
Consulta CPUs
DFD1.1.3, DFD1.1.3.3
Flujo de datos
Consulta Creada
Flujo de datos
Consulta Impresoras
DFD1.1.5, DFD1.1.5.3
Flujo de datos
Consulta Modelos
DFD1.1.2, DFD1.1.2.3
Flujo de datos
Consulta Monitores
DFD1.1.4, DFD1.1.4.3
Flujo de datos
Consulta Usuarios
DFD1.2.1, DFD1.2.1.3
Flujo de datos
DFD1.3.3
Flujo de datos
156
Nombre
CPU Buscada Usuario
Localizacin
DFD1.3.1
Definicin
Flujo de datos
Descripcin
Flujo que solicita las CPUs por usuario Recoge la informacin de una CPU corregida. Recoge la informacin necesaria para crear una CPU. Recoge la informacin de una CPU previamente buscada. Recoge la informacin de una CPU modificada o dada de baja. Flujo que solicita la CPU del Monitor. CPUs encontradas para la relacin Proceso que recibe las tablas y las modificaciones del tipo de salida y crea el informe final. Flujo con los datos consultados para incorporar a tablas. Recoge la peticin al sistema de alta de una CPU Recoge la peticin al sistema de alta de un departamento Recoge la peticin al sistema de alta de una impresora
CPU Corregida
DFD1.1.3, DFD1.1.3.2
Flujo de datos
CPU Creada
DFD1.1.3, DFD1.1.3
Flujo de datos
CPU Localizada
Flujo de datos
CPU modificada/eliminada
DFD1.1.3, DFD1.1.3.4
Flujo de datos
CPU-Monitor
DFD1.1.4.1
CPUs Relacin
Crear Informes
DFD1.4
Proceso
Datos a Formatear
DFD1.4
Flujo de datos
DFD1.1.3.1, DFD1.1.3
Flujo de datos
DFD1.2.2, DFD1.2.2.1
Flujo de datos
DFD1.1.5, DFD1.1.5.1
Flujo de datos
157
Nombre
Localizacin
Definicin
Flujo de datos
Descripcin
Recoge la peticin al sistema de alta de una marca Recoge la peticin al sistema de alta de un modelo Recoge la peticin al sistema de alta de un monitor Recoge la peticin al sistema de alta de un usuario Recoge la peticin de consultas respecto a las CPUs. Recoge la peticin de consultas respecto a las impresoras. Recoge la peticin de consultas respecto a los modelos. Recoge la peticin de consultas respecto a los monitores. Recoge la peticin de consultas respecto a los usuarios. Flujo proveniente de la funcin de las entradas en el proceso "Formatear Datos", del DFD1Bis Recoge la peticin de corregir una CPU localizada
DFD1.1.1, DFD1.1.1.1
DFD1.1.2, DFD1.1.2.1
Flujo de datos
DFD1.1.4, DFD1.1.4.1
Flujo de datos
DFD1.2.1, DFD1.2.1.1
Flujo de datos
DFD1.1.3, DFD1.1.3.3
Flujo de datos
DFD1.1.5, DFD1.1.5.3
Flujo de datos
DFD1.1.2, DFD1.1.2.3
Flujo de datos
DFD1.1.4, DFD1.1.4.3
Flujo de datos
DFD1.2.1, DFD1.2.1.3
Flujo de datos
Datos Consultados
DFD1.4
Flujo de datos
DFD1.1.3, DFD1.1.3.2
Flujo de datos
158
Nombre
Localizacin
Definicin
Descripcin
Recoge la peticin de corregir un departamento localizado Recoge la peticin de corregir una impresora localizada Recoge la peticin de corregir una marca localizada Recoge la peticin de corregir un modelo localizado Recoge la peticin de corregir un monitor localizado Recoge la peticin de corregir un usuario localizada Representa todos los informes y consultas ya formateadas que se pueden extraer del sistema. Flujo que recoge una actualizacin sobre cualquiera de los elementos del inventario y lo pasa al almacn de datos histricos Recoge la peticin para modificar o eliminar una CPU. Recoge la peticin para modificar o eliminar una impresora.
DFD1.2.2, DFD1.2.2.2
Flujo de datos
DFD1.1.5, DFD1.1.5.2
Flujo de datos
DFD1.1.1, DFD1.1.1.2
Flujo de datos
DFD1.1.2, DFD1.1.2.2
Flujo de datos
DFD1.1.4, DFD1.1.4.2
Flujo de datos
DFD1.2.1, DFD1.2.1.2
Flujo de datos
Datos de Salida
Flujo de datos
Datos Histrico
Flujo de datos
DFD1.1.3, DFD1.1.3.4
Flujo de datos
DFD1.1.5, DFD1.1.5.4
Flujo de datos
159
Nombre
Datos modificacin Monitor
Localizacin
Definicin
Flujo de datos
Descripcin
Recoge la peticin para modificar o eliminar un monitor. Recoge la peticin para modificar o eliminar un usuario Proceso encargado de seleccionar los campos a mostrar en funcin del tipo de dato que entra. Recoge la informacin de un departamento corregido. Recoge la informacin necesaria para crear un departamento. Flujo que incorpora el departamento a la impresora Flujo que solicita el departamento del usuario. Proceso encargado de encontrar las CPUs de un monitor Proceso encargado de encontrar las CPUs de un usuario Proceso encargado de encontrar los monitores de una CPU Proceso encargado de encontrar el usuario de una CPU
DFD1.1.4, DFD1.1.4.4
DFD1.2.1, DFD1.2.1.4
Flujo de datos
Definir Campos
DFD1.4
Proceso
Depto Corregido
DFD1.2.2, DFD1.2.2.2
Flujo de datos
Depto Creado
DFD1.2.2, DFD1.2.2.1
Flujo de datos
Depto-Impresora
DFD1.1.5.1
Flujo de datos
Depto-Usuario
DFD1.2.1.1
Flujo de datos
DFD1.3.3
Proceso
Proceso
Proceso
DFD1.3.2, DFD1.3.3
Proceso
160
Nombre
Localizacin
DFD1.2.2.1, DFD1.1.1.1, DFD1.1.2.1, DFD1.2.1.1, DFD1.1.3.1, DFD1.1.4.1, DFD1.1.5.1, DFD1.1.1.2, DFD1.1.2.2, DFD1.1.3.2, DFED1.1.4.2, DFD1.1.5.2, DFD1.2.1.2, DFD1.2.2.2, DFD1.1.2.3, DFD1.1.3.3, DFD1.1.4.3, DFD1.1.5.3, DFD1.1.3.4, DFD1.1.4.4, DFD1.1.5.4, DFD1.2.1.4
Definicin
Descripcin
Enviar Formulario
Proceso
Proceso genrico que incorpora las modificaciones realizadas sobre un usuario y enva el formulario.
Escoger Salida
DFD1.4
Proceso
Proceso que define el tipo de salida que tendr el informe final. Flujo que recoge los campos por los que se filtrar Proceso que construye la consulta a realizar. Proceso que agrupa los datos para pedir la consulta Proceso que agrupa los datos para pedir la consulta Proceso que agrupa los datos para pedir la consulta Proceso que recoge los datos consultados, establece las cabeceras segn los campos escogidos y crea las tablas adecuadas para cada informe. Recoge la informacin de una Impresora corregida.
Filtro Escogido
Flujo de datos
Generar Consulta
Proceso
DFD1.3.3
Proceso
DFD1.3.1
Proceso
DFD1.3.2
Proceso
Generar Tablas
DFD1.4
Proceso
Impresora Corregida
DFD1.1.5, DFD1.1.5.2
Flujo de datos
161
Nombre
Localizacin
Definicin
Descripcin
Recoge la informacin necesaria para crear una impresora. Recoge la informacin de una impresora modificada o dada de baja. Proceso de insercin de datos de la CPU Proceso de insercin de datos de la Impresora. Proceso de insercin de datos del modelo Proceso de insercin de datos del Monitor Proceso de insercin de datos del usuario Proceso de insercin del nombre del departamento Proceso de insercin del nombre de la marca Flujo con la llamada al formulario de relaciones de CPU Flujo con la llamada al formulario de relaciones de usuario Flujo con la llamada al formulario de relaciones de usuario
Impresora Creada
DFD1.1.5, DFD1.1.5.1
Flujo de datos
Impresora modificada/eliminada
DFD1.1.5, DFD1.1.5.4
Flujo de datos
DFD1.1.3.1
Proceso
DFD1.1.5.1
Proceso
DFD1.1.2.1
Proceso
DFD1.1.4.1
Proceso
DFD1.2.1.1
Proceso
DFD1.2.2.1
Proceso
DFD1.1.1.1
Proceso
DFD1.3.2
Flujo de datos
DFD1.3.3
Flujo de datos
DFD1.3.1
Flujo de datos
162
Nombre
Localizacin
Definicin
Flujo de datos
Descripcin
Recoge la informacin de una marca corregida. Recoge la informacin necesaria para crear un marca. Flujo que contiene todos los valores de la marca para la que se listaran modelos.. Flujo que solicita la marca del modelo. Recoge la informacin de un modelo corregido. Recoge la informacin necesaria para crear un modelo. Flujo que incorpora el modelo de CPU en la CPU. Flujo que incorpora el modelo de Impresora en la Impresora. Flujo que incorpora el modelo de Monitor en el Monitor. Flujo que busca los monitores de una CPU Recoge la informacin de un monitor corregido.
Marca Corregida
DFD1.1.1, DFD1.1.1.2
Marca Creada
DFD1.1.1, DFD1.1.1.1
Flujo de datos
Marca Seleccionada
DFD1.1.2.3
Flujo de datos
Marca-Modelo
DFD1.1.2.1
Flujo de datos
Modelo Corregido
DFD1.1.2, DFD1.1.2.2
Flujo de datos
Modelo Creado
DFD1.1.2, DFD1.1.2.1
Flujo de datos
Modelo-CPU
DFD1.1.3.1
Flujo de datos
Modelo-Impresora
DFD1.1.5.1
Flujo de datos
Modelo-Monitor
DFD1.1.4.1
Flujo de datos
DFD1.3.1, DFD1.3.2
Flujo de datos
Monitor Corregido
DFD1.1.4, DFD1.1.4.2
Flujo de datos
163
Nombre
Localizacin
Definicin
Descripcin
Recoge la informacin necesaria para crear un monitor. Recoge la informacin de un monitor previamente buscado. Recoge la informacin de un monitor modificado o dado de baja. Usuario buscado en la relacin Proceso que muestra los campos por los que se puede filtrar la consulta.
Monitor Creado
DFD1.1.4, DFD1.1.4.1
Flujo de datos
Monitor Localizado
Flujo de datos
Monitor modificado/eliminado
DFD1.1.4, DFD1.1.4.4
Flujo de datos
Monitores Relacin
Flujo de datos
Mostrar Filtro
Proceso
Nombre CPU
DFD1.1.3.1, DFD1.1.3.2, DFD1.1.3.4, DFD1.1.4.3, DFD1.1.4.1 DFD1.2.2.1, DFD1.2.1.1, DFD1.1.5.1, DFD1.2.2.2, DFD1.2.1.3, DFD1.1.5.3 DFD1.1.5.1, DFD1.1.5.2, DFD1.1.5.4 DFD1.1.1.1, DFD1.1.1.2, DFD1.1.2.3, DFD1.1.2.1 DFD1.1.2.1, DFD1.1.2.2, DFD1.1.3.3, DFD1.1.4.3, DFD1.1.5.3, DFD1.1.3.1, DFD1.1.4.1, DFD1.1.5.1 DFD1.1.4.1, DFD1.1.4.2, DFD1.1.4.4 DFD1.2.1.1, DFD1.1.3.1, DFD1.1.5.1, DFD1.2.1.2, DFD1.1.3.3, DFD1.1.5.3, DFD1.2.1.4
Flujo de datos
Nombre Dep
Flujo de datos
Nombre Impresora
Nombre Marca
Nombre Modelo
Flujo de datos
Nombre Monitor
Flujo de datos
Nombre Usuario
Flujo de datos
164
Nombre
Localizacin
Definicin
Descripcin
Proceso encargado de mostrar las CPUs para realizar la relacin Proceso encargado de mostrar los monitores para realizar la relacin Proceso encargado de mostrar los usuarios para realizar la relacin Contiene las relaciones obtenidas para una CPU. Contiene las relaciones obtenidas para un monitor. Contiene las relaciones obtenidas para un usuario. Escoge la CPU a relacionar. Proceso manual de seleccionar la marca a consultar Escoge el monitor a relacionar. Escoge el usuario a relacionar.
DFD1.3.2
Proceso
DFD1.3.3
Proceso
DFD1.3.1
Proceso
Relaciones CPU
Flujo de datos
Relaciones Monitor
Flujo de datos
Relaciones Usuario
Flujo de datos
Seleccionar CPUs
DFD1.3.2
Proceso
Seleccionar Marca
DFD1.1.2.3
Proceso
Seleccionar Monitores
DFD1.3.3
Proceso
Seleccionar Usuarios
DFD1.3.1
Proceso
Solicitud CPU
Flujo de datos
Recoge la peticin de una CPU concreto para modificar, corregir o dar de baja.
165
Nombre
Localizacin
Definicin
Descripcin
Recoge la peticin de un monitor concreto para modificar, corregir o dar de baja. Recoge la peticin de un usuario concreto para modificar, corregir o dar de baja. Se corresponder con una tabla real. Cada registro es una CPU y recoge su informacin bsica. Se corresponder con una tabla real. Cada registro es un departamento y recoge su informacin bsica. Se corresponder con una tabla real. Cada registro es una impresora y recoge su informacin bsica. Se corresponder con una tabla real. Cada registro es una marca y recoge su informacin bsica. Se corresponder con una tabla real. Cada registro es un modelo y recoge su informacin bsica. Se corresponder con una tabla real. Cada registro es un monitor y recoge su informacin bsica.
Solicitud Monitor
Flujo de datos
Solicitud Usuario
Flujo de datos
Tabla CPUs
Almacn de datos
Tabla Deptos
Almacn de datos
Tabla Impresoras
Almacn de datos
Tabla Marcas
Almacn de datos
Tabla Modelos
Almacn de datos
Tabla Monitores
Almacn de datos
166
Nombre
Localizacin
DFD1.2.1, DFD1.1.3.1, DFD1.1.5.1, DFD1.2.1.2, DFD1.1.3.3, DFD1.1.5.3, DFD1.2.1.4
Definicin
Descripcin
Se corresponder con una tabla real. Cada registro es un usuario y recoge su informacin bsica. Flujo que enva las tablas HTML generadas para crear el informe definitivo. Flujo que solicita buscar relaciones. Flujo que identifica la salida de datos Flujo que solicita el usuario de la CPU Recoge la informacin de un usuario corregido. Recoge la informacin necesaria para crear un usuario. Recoge la informacin de un usuario previamente buscado. Recoge la informacin de un usuario modificado o dado de baja. Usuario buscado en la relacin Flujo que solicita el usuario de la CPU. Flujo que solicita el usuario de la Impresora.
Tabla Usuarios
Almacn de Datos
Tablas generadas
DFD1.4
Flujo de datos
Tipo Relacin
Tipo Salida
DFD1.4
DFD1.3.2, DFD1.3.3
Usuario Corregido
DFD1.2.1, DFD1.2.1.2
Flujo de datos
Usuario Creado
DFD1.2.1
Flujo de datos
Usuario Localizado
Flujo de datos
Usuario modificado/eliminado
DFD1.2.1, DFD1.2.1.4
Flujo de datos
Usuario Relacin
Usuario-CPU
DFD1.1.3.1
Usuario-Impresora
DFD1.1.5.1
Flujo de datos
167
Nombre
Localizacin
DFD1.3.1, DFD1.3.2, DFD1.3.3
Definicin
Flujo de datos
Descripcin
Usuarios encontrados para la relacin Flujo con todos los atributos de la CPU Flujo que contiene todos los valores corregidas de la CPU. Flujo que contiene todos los valores actualizados de la CPU. Flujo con todos los atributos del departamento Flujo que contiene todos los valores corregidos del departamento. Flujo con todos los atributos de la Impresora Flujo que contiene todos los valores corregidos de la Impresora. Flujo que contiene todos los valores actualizados de la Impresora. Flujo con todos los atributos de la marca Flujo que contiene todos los valores corregidos de la marca. Flujo con todos los atributos del modelo
Usuarios Relacin
Valores CPU
DFD1.1.3.2, DFD1.1.3.4
Flujo de datos
DFD1.1.3.2
Flujo de datos
DFD1.1.3.4
Flujo de datos
Valores Depto
DFD1.2.2.2
Flujo de datos
DFD1.2.2.2
Flujo de datos
Valores Impresora
DFD1.1.5.2, DFD1.1.5.4
Flujo de datos
DFD1.1.5.2
Flujo de datos
DFD1.1.5.4
Flujo de datos
Valores Marca
DFD1.1.1.2, DFD1.1.2.3
Flujo de datos
DFD1.1.1.2
Flujo de datos
Valores Modelo
DFD1.1.2.2
Flujo de datos
168
Nombre
Localizacin
Definicin
Descripcin
Flujo que contiene todos los valores corregidos del modelo. Flujo con todos los atributos del Monitor Flujo que contiene todos los valores corregidas del Monitor. Flujo que contiene todos los valores actualizados del Monitor. Flujo con todos los atributos del Usuario Flujo que contiene todos los valores corregidos del Usuario. Flujo que contiene todos los valores actualizados del Usuario. Flujo que define las variaciones del documento para formatos Office Flujo que define las variaciones del documento para formatos Office
DFD1.1.2.2
Flujo de datos
Valores Monitor
DFD1.1.4.2, DFD1.1.4.4
Flujo de datos
DFD1.1.4.2
Flujo de datos
DFD1.1.4.4
Flujo de datos
Valores Usuario
DFD1.2.1.2, DFD1.2.1.4
Flujo de datos
DFD1.2.1.2
Flujo de datos
DFD1.2.1.4
Flujo de datos
Variaciones HTML
DFD1.4
Flujo de datos
Variaciones Office
DFD1.4
Flujo de datos
169
Esta pagina muestra por un lado un marco principal donde se podrn ver la informacin que en cada momento solicitemos, un marco de cabecera, que siempre estar presente y que, a parte de cabecera, nos dar informacin en todo momento de la hora y fecha del sistema, y un marco lateral, a la izquierda, donde se nos presentara un men con todas las opciones que podremos emplear en la aplicacin.
170
Men de la aplicacin El men de la aplicacin muestra la siguiente estructura: Al seleccionar cualquiera de los cuadros, ste aparecer resaltado, y si contiene algn submen expandible, mostrara los datos del submen. Los elementos finales de cada rama del men sern funciones accesibles por el usuario.
Por ejemplo, si se pulsa sobre el cuadro Inicio, se volver siempre a la pagina de inicio, ya que no tiene ningn submen. Pero si se pulsa sobre Marcas, se expandir un submen con la siguiente informacin. Donde los cuadros del submen abrirn las paginas correspondientes a las funciones indicadas. El rbol de funciones que se pueden realizar con la aplicacin son las siguientes: 1. Inicio 2. Marcas 2.1 Introducir nueva 2.2 Corregir Marca 2.3 Consultar Marca 3. Modelos 3.1 CPUs 3.1.1 Alta 3.1.2 Corregir 3.1.3 Consultar 3.2 Monitores 3.2.1 Alta 3.2.2 Corregir 3.2.3 Consultar 3.3 Impresoras 3.3.1 Alta 3.3.2 Corregir 3.3.3 Consultar
171
4. Deptos. 4.1 Introducir nuevo 4.2 Corregir Depto. 4.3 Consultar Depto. 5. Usuarios 5.1 Alta 5.2 Corregir 5.3 Actualizar 5.4 Consultar 5.4.1 Localizado 5.4.2 Histrico 5.4.3 Por filtro 6. Hardware 6.1 CPUs 6.1.1 Alta 6.1.2 Corregir 6.1.3 Actualizar 6.1.4 Consultar 6.1.4.1 Localizado 6.1.4.2 Histrico 6.1.4.3 Por filtro 6.2 Impresoras 6.2.1 Alta 6.2.2 Corregir 6.2.3 Actualizar 6.2.4 Consultar 6.2.4.1 Localizado 6.2.4.2 Histrico 6.2.4.3 Por filtro 6.3 Monitores 6.3.1 Alta 6.3.2 Corregir 6.3.3 Actualizar 6.3.4 Consultar 6.3.4.1 Localizado 6.3.4.2 Histrico 6.3.4.3 Por filtro 7. Relaciones 7.1 Por Usuario 7.2 Por CPU 7.3 Por Monitor Solo los puntos finales de cada ramificacin corresponden a una funcin de la aplicacin mostrada por una pagina o un formulario. Es decir, para acceder a la consulta histrica de un monitor, ser preciso ir a la opcin Hardware del men, pulsarla, y navegar dentro del men, accediendo por los submens correspondientes a las opciones de Monitores y Consultar hasta llegar a pulsar la opcin Histrico.
172
El uso de la aplicacin es sumamente intuitivo. Una vez accedida la funcin a la que se quiere acceder, se mostrara la pagina que la ofrezca. En el caso de consultas que se puedan realizar directamente (consultas de marcas o de departamentos), solo con pulsar sobre la opcin del men se ofrecer el listado solicitado. Pero lo habitual es que se abra un formulario que solicite informacin necesaria para ejecutar las funciones. La informacin solicitada ser siempre muy intuitiva, por lo que probablemente es mejor ver el funcionamiento a travs de ejemplos: Ejemplo 1: Alta de un usuario: El formulario de alta de un usuario es el siguiente:
Se solicitan datos referentes al nombre del usuario, su apellido, el nombre lgico del usuario, el email asignado, la extensin telefnica y el departamento al que pertenece. Como se puede observar, la informacin del departamento se accede desde un cuadro de seleccin. El usuario se creara con el departamento que este escogido en la casilla al pulsar el botn Aadir Usuario. Cada formulario de alta de los elementos de la aplicacin presentara una solicitud de datos diferentes, que habr que rellenar para poder realizar la insercin del elemento en la base de datos. La aplicacin mantiene un control de los datos que se introduce, de forma que si lo que se solicitan son datos numricos (como la velocidad del procesador, a la hora de crear una CPU), no aceptara una cadena de caracteres para rellenar el campo. Adems, no es posible dejar campos sin contestar. Si alguno de los campos se deja en blanco por error, al querer ejecutar la insercin aparecer un mensaje avisndonos y se solicitara que se rellene.
173
En este caso, se puede acceder a la informacin buscando por cualquiera de los dos parmetros facilitados, el numero de serie o el nombre lgico. Si se sabe el nombre lgico de la impresora (bastante mas sencillo que saberse los nmeros de serie), bastar seleccionarlo en su cuadro de seleccin y pulsar Consultar para acceder a los datos. Igualmente, si por cualquier motivo desconocemos el nombre lgico pero podemos acceder a su numero de serie, tambin se podr ejecutar la bsqueda. En este tipo de casos, el escoger una casilla u otra depender del usuario, y no se exigir cumplimentar todas las casillas para acceder a la informacin, no aparecern mensajes de alerta. Siempre que los formularios permitan este tipo de bsquedas en funcin de dos campos, se indicara en el propio formulario, para que el uso de la aplicacin sea lo mas intuitiva posible. En este ejemplo podemos ver adems que todas las consultas que se realizan y todos los informes que se solicitan pueden ser emitidos en diferentes formato. Efectivamente, si el tipo de salida escogido es HTML (seleccionado por defecto), se mostrara la informacin en formato pagina web, dentro de la aplicacin. Sin embargo, tambin podemos escoger las opciones WORD y EXCEL, que abrirn documentos en los respectivos formatos cuando as sea requerido. Esta utilidad, aparte de integrar el empleo de la aplicacin con el paquete de aplicaciones Office, pretende facilitar la modificacin de los informes predefinidos para eliminar campos o filas a gusto del usuario.
174
Ejemplo 3: Consulta de CPUs por filtro Se accede a la misma mediante el siguiente formulario:
El acceso a la informacin de los diferentes elementos a travs de filtros, se realiza en funcin de los atributos correspondientes a ese elemento, pudiendo hacerlos en todos los rangos de valores que permita. Los filtros se aplican de tal forma que si no se rellenan sus casillas no se tendrn en cuenta. Adems, una vez introducido un valor en cualquiera de los parmetros de bsqueda, la condicin establecida restringe la bsqueda para los siguientes parmetros. Es decir, la bsqueda por los diferentes parmetros se realiza en con una consulta de tipo AND, y los equipos que se muestren finalmente sern la respuesta de un filtro total que sume todas las condiciones escogidas. En este formulario y en alguna otra consulta, se ofrece la opcin de realizar bsquedas en funcin de fechas. Cuando esto sea as se podr poner la fecha de dos formas diferentes: - Introduciendo la fecha en formato dd/mm/aaaa - O bien pulsando el botn Seleccione Fecha, lo cual abrir una ventana donde se podr seleccionar la fecha escogida de un calendario que se mostrara, simplemente haciendo clic sobre ella.
175
Este es un ejemplo de cmo se muestra la informacin consultada en la aplicacin. En este caso se ha realizado una consulta de monitores segn la marca de los mismos, y se puede observar como la informacin se ordena en filas de equipos con unas columnas que ofrecen informacin relativa a los monitores que cumplen la consulta solicitada. Como se puede observar, los nmeros de serie de los monitores estn aparentemente subrayados. En realidad lo que sucede es que esos campos remiten a enlaces a paginas que permiten corregir los monitores pulsando directamente sobre su numero de serie. Esto sucede as en varias de las paginas de la aplicacin. Con estos ejemplos se cubren en realidad todas las particularidades de la aplicacin. Se ha pretendido que un simple paseo por la misma sea suficiente para poder empezar a utilizarla. Evidentemente hay una gran cantidad de paginas que no se han mostrado. Pero su empleo resulta absolutamente intuitivo, y no se ha considerado necesario explicar cada una de ellas especficamente para no hacer este manual demasiado pesado
176
177
Copiaremos el fichero Inventario.xml en C:\Archivos de programa\Apache Software Foundation\Tomcat 5.0\conf\Catalina\localhost. Crear una variable de entorno nueva en el sistema, denominada CLASSPATH, o modificaremos la existenete si fuera el caso, para asignarle la siguiente ruta: C:\Archivos de programa\Apache Software Foundation\Tomcat 5.0\common\lib\mysql-connector-java-3.0.11stable\com\mysql\jdbc;C:\Archivos de programa\Apache Software Foundation\Tomcat 5.0\common\lib\mysql-connector-java-3.0.11stable\org\gjt\mm\mysql;C:\Archivos de programa\Apache Software Foundation\Tomcat 5.0\common\lib\mysql-connector-java-3.0.11stable\mysql-connector-java-3.0.11-stable-bin.jar;C:\Archivos de programa\Apache Software Foundation\Tomcat 5.0\src\jakartaservletapi-5\jsr154\src\share\javax\servlet
Una vez instalado el software, ser preciso activar la aplicacin siguiendo los siguientes pasos: 1. Activacin del Servidor de Base de Datos MySQL Ejecutaremos winmysqladmin.exe situado en C:\MySql, nos pedir un usuario y password. Los valores a introducir son: - Usuario: inventario - Password: inventario Ahora nos pedir un usuario de base de datos: - Usuario: root - Host: localhost - Password: Dejar en blanco Pulsaremos Test y aceptaremos. 2. Creacin de la Base de Datos Abriremos MySQL Control Center y crearemos una nueva base de datos llamada inventario. Una vez hecho esto. Crearemos un nuevo usuario llamado: - Usuario: inventario - Host: localhost - Password: inventario Y le daremos permiso de control total con opcin grant sobre la base de datos biblioteca. Pulsaremos Add y Apply y cerraremos. Ahora abriremos la base de datos inventario haciendo doble click sobre ella y pulsaremos el botn SQL, abriremos el fichero crea_tablas.sql y ejecutaremos su contenido. 3. Arranque de la Aplicacin Pararemos el Servidor Tomcat y lo rearrancaremos. Con ello habr terminado el proceso de instalacin y se podr arrancar desde el cliente.
178
Bibliografa
179
[PRESS88]
S. Pressman, Roger. Ingeniera del software. Un enfoque prctico. McGraw Hill, Madrid 1988. Barranco de Areba, Jess. Metodologa del anlisis estructurado de sistemas, UPCO, Madrid 2002. Sommervile, I. Software Engineering, Addison-Wesley, USA, 1996.
[BARRA02]
[SOMME96]
180