Operating systems and drivers
6.5 Working with OpenCL
6.5.2 Basic kernels
Para lograr una descripción de la solución propuesta primero se analiza el contexto donde se desarrolla el sistema. Para ello existen dos métodos fundamentales, Modelo del Negocio, que está dirigido a entender el funcionamiento del negocio dentro de la organización, y Modelo del Dominio, que se utiliza para capturar los objetos más importantes en el contexto del sistema.
De los métodos que propone la metodología empleada para presentar el entorno del sistema, se seleccionó el Modelo del Dominio, que reúne los objetos más relevantes del sistema y su relación; la justificación de dicha selección es uno de los temas discutidos en este capítulo.
Los límites del sistema quedan definidos con la descripción de los casos de uso, que responden a los requerimientos que debe cumplir el sistema y que también son abordados en el presente capítulo.
3.1- ¿Por qué Modelo del Dominio?
El sistema está diseñado para ser empleado por los especialistas en información y gestión de contenidos de la UEB Servicios Web de CITMATEL. Existen tres roles: Administrador, Gestor de contenidos y Gestor de estructura; pero no es posible identificar un flujo organizacional que permita describir el entorno actual del sistema mediante el modelo del negocio, ya que este explica cómo se realiza un proceso por un conjunto de trabajadores que usan unas entidades y unidades de trabajo [Jacobson, 1999].
Se fundamenta el empleo del Modelo del Dominio para representar los objetos principales que conforman el sistema a desarrollar, sobre la base de que no se cumplen los siguientes factores que permiten la modelación del negocio:
Capítulo III. Descripción de la solución propuesta
9 Entender los problemas actuales e identificar mejoras potenciales.
9 Asegurarse de que los clientes, usuarios finales y desarrolladores tengan una idea común de la organización.
9 Derivar los requerimientos del sistema a partir del modelo de negocio que se obtenga.
3.2- Glosario de términos del Dominio
Documento XML: Documento con una estructura lógica que garantiza la organización del contenido, y una estructura física compuesta por entidades.
DTD: Definición de los elementos que puede incluir un documento XML. Puede estar incluida dentro de este o con una referencia hacia un fichero externo.
DOM: Representación interna estándar de la estructura de un documento XML. Se puede graficar, en forma de árbol, para una mejor comprensión de la estructura y contenido del documento XML.
XML Válido: Son documentos XML que además de estar bien formados (que cumplen con las especificaciones del lenguaje), siguen una estructura y una semántica determinada por un DTD.
Documento XML Importado: Documento XML tomado de un sitio Web de Internet y almacenado en la base de datos del sistema.
Documento XML Publicado: Documento XML almacenado en la base de datos del sistema y publicado en un sitio Web.
Administradores: Son los usuarios que tienen todos los privilegios para trabajar con el sistema.
Gestores de contenido: Son los usuarios que se ocupan de trabajar con los contenidos XML. Tienen permisos solamente para importar y validar documentos XML.
Gestores de estructura: Son los usuarios que se encargan de trabajar con la estructura de los documentos XML, con la posibilidad de crear ficheros DTD, ver la estructura DOM de un documento XML, publicarlo, importarlo y validarlo.
3.3- Reglas del negocio
Las reglas del negocio son aquellas condiciones o restricciones que existen en el negocio o entorno del sistema, que deben ser tenidas en cuenta en las etapas de desarrollo, ya que representan políticas a seguir para que el sistema cumpla con los requerimientos planteados [Ortín, 2004]. A continuación se reúnen las reglas identificadas para el presente proyecto:
El sistema permite a los Administradores del mismo trabajar con todas sus funcionalidades; sin embargo, los Gestores de contenido solo pueden importar y validar documentos XML y los Gestores de estructura, además de estas dos funcionalidades, pueden crear DTD, ver la estructura DOM y publicar los documentos XML.
Para importar XML se requiere de una conexión suficientemente rápida a Internet. Una vez importados los documentos, son almacenados en una ubicación física única, sin permitir al usuario modificarla. Cuando se importa un documento cuyo nombre es igual al de algún fichero previamente importado, se le concatena a su nombre un número para diferenciarlo.
Para crear un DTD se hace siempre a partir de un documento XML almacenado en la base de datos y no se permite al usuario que escoja un XML de otra ubicación.
Para publicar un documento XML en un sitio Web se requiere de permiso de escritura en el mismo.
Para las funcionalidades que requieren trabajar con documentos XML, se garantiza la existencia de estos listando los almacenados en la base de datos para que el usuario escoja el que desea.
Capítulo III. Descripción de la solución propuesta
3.4- Representación del Modelo del Dominio
Administradores Gestores de contenido Gestores de estructura DTD GraficaDOM PublicaDoc Usuarios Documento XML 1 1 1 1 1 1 1 1 1 1 1 1 0..n 1 0..n 1 XMLValidador 1 1 1 1 ImportaDoc 1..n 1 1..n 1 0..1 1 0..1 1
Figura 5. Representación del Modelo del Dominio.
3.5- Requerimientos funcionales
Los requisitos funcionales son capacidades o condiciones que el sistema debe cumplir, expresando más detalladamente las responsabilidades del mismo. Con ellos se pretende determinar de manera clara y concisa lo que debe hacer el sistema siguiendo un enfoque funcional [Jacobson, 2000].
Seguidamente se enumeran los requerimientos funcionales del sistema propuesto:
1. Importar documentos XML de otros sitios Web.
2. Mostrar, gráficamente, el Modelo de Objetos de un documento XML.
3. Validar un documento XML.
9 Dada su ubicación física.
9 Seleccionado de la base de datos. 9 Dado el contenido del fichero.
4. Crear una DTD a partir de un documento XML existente.
9 Seleccionado de la base de datos. 5. Publicar documentos XML.
9 Listar documentos publicados.
9 Publicar documentos XML por copia interna. 6. Administrar documentos XML.
9 Listar. 9 Insertar. 9 Modificar. 9 Eliminar.
9 Buscar documentos XML por distintos criterios. 7. Administrar Usuarios. 9 Listar. 9 Insertar. 9 Modificar. 9 Eliminar. 8. Administrar Grupos. 9 Listar. 9 Insertar. 9 Modificar. 9 Eliminar. 9. Administrar Módulos. 9 Listar. 9 Insertar. 9 Modificar. 9 Eliminar. 10. Administrar Opciones.
Capítulo III. Descripción de la solución propuesta
9 Listar. 9 Insertar. 9 Modificar. 9 Eliminar.
11. Administrar Sitios de Publicación.
9 Listar. 9 Insertar. 9 Modificar. 9 Eliminar.
12. Administrar Privilegios de los grupos de usuarios.
9 Listar. 9 Insertar. 9 Modificar. 9 Eliminar.
13. Autenticar usuarios registrados en el sistema.
3.6- Requerimientos no funcionales
Los requerimientos no funcionales especifican las propiedades o cualidades que el producto debe tener, añadiéndole funcionalidad al sistema, pues hacen que sea fácil de usar, seguro o interactivo [Jacobson, 2000].
Apariencia o interfaz externa
La interfaz del sistema debe ser sencilla y de fácil manejo, para agilizar el trabajo con la información por los especialistas que manipularán el sistema. Debe respetar los estándares de diseño Web, sin uso excesivo de recursos, para aumentar la velocidad
de carga de las páginas; ser un sitio consistente, es decir, que tenga el mismo aspecto y diseño en todas sus páginas.
Usabilidad
Por la sencillez de la interfaz y la fácil navegación, el sistema debe alcanzar una gran aceptación por parte de los diferentes usuarios. A esto contribuirán también las facilidades que se brindan a los Gestores de contenido y de estructura, para los que está concebido el sistema, para gestionar los documentos XML de forma sencilla y rápida; permitiéndoles crear DTD, mostrar el DOM, importar, validar y publicar documentos XML. Además deben existir usuarios en el rol de Administradores con todos los privilegios para trabajar con las funcionalidades antes mencionadas y para administrar la información de la base de datos del sistema.
Rendimiento
La interfaz Web implementa el manejo de sesiones para reducir el tiempo de respuesta a las solicitudes de los diferentes usuarios. El sistema será utilizado por la UEB Servicios Web de CITMATEL, por lo que la audiencia del mismo será reducida, influyendo positivamente en su rendimiento. A esto además contribuye la rápida conexión de la Intranet de la empresa, donde será utilizado.
Soporte
La asistencia y mantenimiento del sistema es responsabilidad de los administradores del mismo. Se implementan las funcionalidades más importantes del sistema pero se prevé, en los próximos años, incorporar otras más a la solución para el trabajo con documentos XML y RSS (Really Simple Syndication), entre otras, por lo que la implementación actual del sistema debe ser lo suficientemente flexible para este propósito. Por ello se utilizan las facilidades que brinda la arquitectura multicapas, que garantizan la independencia de los datos, la presentación y la lógica del negocio.
El sistema debe ser compatible con los sistemas operativos Windows, Unix y Linux.
Capítulo III. Descripción de la solución propuesta
La aplicación se debe poder ejecutar sobre cualquier plataforma, por lo que la portabilidad no será limitada, esto se basa en las herramientas de desarrollo seleccionadas para la implementación del sistema.
Seguridad
La seguridad del sistema debe ser garantizada con la debida autenticación de los usuarios, con distintos privilegios según el grupo de usuarios al que pertenezcan. Los roles: Administrador, Gestor de contenido y Gestor de estructura, se corresponden con los grupos en que están divididos los usuarios del sistema.
Se deben verificar los datos antes de su envío y/o almacenamiento. El sistema gestor de base de datos realiza el control de acceso de usuarios y permisos.
Confiabilidad
El sistema debe notificar al usuario en caso de que no exista conexión a la base de datos.
Ayuda y documentación en línea
El sistema debe contar con una ayuda en línea que sirva de manual de usuario y que incluya las instrucciones necesarias para el trabajo con el mismo.
Software
El sistema requiere de la instalación de PHP 5 con soporte para XML; para el trabajo con la base de datos, de MySQL Server y de un servidor Web, que puede ser Apache o IIS.
La máquina cliente debe tener como sistema operativo Windows 98 o superior; con los navegadores Internet Explorer 5.5 o superior, Opera, o NetScape 7 como mínimo.
Hardware
Se recomienda emplear para el servidor donde se instale el sistema:
9 Plataforma Unix: Pentium III o superior, 256 MB o más de memoria RAM, 1 GHz, 10 GB de disco duro como mínimo.
9 Plataforma Windows: Pentium IV o superior, 256 MB o más de memoria RAM, d2 GHz, 10 GB de disco duro como mínimo.
La máquina cliente debe tener como requerimientos de hardware: Pentium II o superior y 128 MB o más de memoria RAM.
Políticos culturales
El sistema debe responder a los intereses y convicciones de la empresa que representará (CITMATEL) y del país, mostrando información acorde a los principios de los mismos.
3.7- Actores del sistema
Tabla 1. Descripción de los actores del sistema.
Nombre del Actor Descripción
Administrador Se le asocian todos los requerimientos funcionales del sistema.
Gestor de estructura Es el que se encarga de trabajar con la estructura de los documentos XML, con la posibilidad de crear ficheros DTD, ver la estructura DOM de un documento XML y publicarlo. Los Administradores también pueden jugar este rol.
Gestor de contenidos Rol que juegan los Administradores y los Gestores de estructura al autenticarse en el sistema, así como al importar o validar documentos XML.
Capítulo III. Descripción de la solución propuesta
3.8- Paquetes y sus relaciones
Administración
Autenticación Gestión de
contenidos XML
Figura 6. Paquetes y sus relaciones.
3.9- Diagrama de casos de uso del sistema
3.9.1- Paquete Autenticación Gestor de estructura (f rom Actores) Administrador (f rom Actores) Autenticarse Gestor de contenidos (f rom Actores)
3.9.2- Paquete Gestión de Contenidos XML Administrador (from Actores) Importar XML Validar XML <<extend>> Gestor de contenidos (from Actores) Publicar XML Crear DTD
Mostrar DOM graficamente Gestor de
estructura
(from Actores)
Figura 8. Diagrama de casos de uso. Paquete Gestión de Contenidos XML.
3.9.3- Paquete Administración Administrar documentos XML Administrar usuarios Administrar grupos Administrar modulos Administrar opciones
Administrar sitios de publicacion
Administrar privilegios Administrador
(from Actores)
Capítulo III. Descripción de la solución propuesta
3.10- Descripción de los casos de uso
3.10.1- Paquete Autenticación
Tabla 2. Descripción del caso de uso Autenticarse.
Nombre del caso de uso
Autenticarse
Gestor de contenidos Actores
Resumen El caso de uso se inicia cuando el Gestor de contenidos desea entrar al sistema, especificando su usuario y contraseña. El sistema chequea en la base de datos que el usuario exista y se culmina el caso de uso mostrando la página principal con las opciones disponibles en dependencia de los privilegios del Gestor de contenidos.
En caso de que la información suministrada por el Gestor de contenidos sea incorrecta, se muestra una página de error notificando que el usuario o la contraseña son incorrectos, con la opción de regresar a la página de autenticación nuevamente.
Que exista el Gestor de contenidos en la base de datos con sus privilegios definidos.
Precondiciones
El Gestor de contenidos entra al sistema con sus privilegios establecidos.
Poscondiciones
- Requisitos especiales
3.10.2- Paquete Gestión de Contenidos XML
Tabla 3. Descripción del caso de uso Importar XML.
Nombre del caso de uso
Importar XML
Gestor de contenidos Actores
Resumen El caso de uso se inicia cuando el Gestor de contenidos desea importar documentos XML de sitios Web determinados; indicando la cantidad de documentos que desea importar, la URL desde donde lo hará y si desea importar o no el XSL asociado. El sistema valida que la URL esté escrita correctamente y que se trate de un documento XML.
Se importan los XML y sus DTD hacia una ubicación específica, registrándose en la base de datos. En caso de que la operación no se haya podido realizar esto se notifica al Gestor de contenidos.
Capítulo III. Descripción de la solución propuesta
documentos XML importados, así como de importar más.
El caso de uso culmina cuando se han importado y/o validado los documentos.
Debe existir conexión a Internet. Precondiciones
Se importan los documentos XML, sus DTD y, opcionalmente, sus XSL, hacia una ubicación específica y quedan registrados en la base de datos.
Poscondiciones
- Requisitos especiales
Prototipo
Tabla 4. Descripción del caso de uso Mostrar DOM gráficamente.
Nombre del caso de uso
Mostrar DOM gráficamente
Resumen El caso de uso se inicia cuando el Gestor de estructura desea ver la estructura DOM de un documento XML, gráficamente. El sistema muestra los documentos disponibles de la base de datos y el Gestor de estructura selecciona el que desea ver. Se lleva el documento al formato adecuado para mostrarlo y se muestran gráficamente los diferentes niveles del árbol DOM: la raíz y los nodos de los diferentes niveles con sus atributos y contenido.
El caso de uso culmina cuando se muestra el gráfico del DOM.
Debe existir el documento XML en la base de datos.
Precondiciones
Se obtiene la estructura gráfica del DOM con los diferentes nodos y sus atributos.
Poscondiciones
- Requisitos especiales
Capítulo III. Descripción de la solución propuesta
Tabla 5. Descripción del caso de uso Validar XML.
Nombre del caso de uso
Validar XML
Gestor de contenidos Actores
El caso de uso se inicia cuando el Gestor de contenidos desea validar un documento XML. El sistema muestra tres opciones para validar un documento XML: de una ubicación específica o almacenado en la base de datos, y una tercera opción para introducir el código del documento a validar. El Gestor de contenidos selecciona la opción que va a utilizar y el sistema valida el documento XML contra su DTD y verifica que esté bien formado. El caso de uso termina cuando se muestra el resultado de estas operaciones, especificando, en caso necesario, los errores del XML.
Resumen
Debe existir el documento XML que se quiere validar.
Precondiciones
Se conoce si el documento seleccionado es válido y bien formado.
Poscondiciones
- Requisitos especiales
Tabla 6. Descripción del caso de uso Crear DTD.
Nombre del caso de uso
Crear DTD
Gestor de estructura Actores
El caso de uso se inicia cuando el Gestor de estructura desea crear un DTD a partir de un documento XML existente. El sistema muestra los documentos disponibles de la base de datos y el Gestor de estructura selecciona el que desea. El sistema crea el fichero DTD y lo almacena en la misma ubicación física del XML, referenciándolo dentro de este; culminándose el caso de uso.
Resumen
Debe existir el documento XML en la base de datos.
Precondiciones
Se almacena el fichero DTD y se referencia en el XML correspondiente.
Poscondiciones
- Requisitos especiales
Capítulo III. Descripción de la solución propuesta
Tabla 7. Descripción del caso de uso Publicar XML.
Nombre del caso de uso
Publicar XML
Gestor de estructura Actores
Resumen El caso de uso se inicia cuando el Gestor de estructura desea publicar un documento XML. Para ello se listan los documentos XML disponibles, así como los sitios Web en los cuales se pueden publicar.
Además el Gestor de estructura tiene la posibilidad de conocer los documentos XML que ya están publicados, mediante una lista de los mismos con sus correspondientes sitios de publicación.
El caso de uso termina cuando se escribe el fichero XML en un directorio específico del sitio Web de publicación seleccionado.
Precondiciones Que exista el documento XML en la base de datos y que haya sitios Web de publicación disponibles. El Gestor de estructura debe tener permiso de escritura en el directorio donde se publicará el XML.
Se publica el documento XML. Poscondiciones - Requisitos especiales Prototipo 3.10.3- Paquete Administración
Tabla 8. Descripción del caso de uso Administrar documentos XML.
Nombre del caso de uso
Administrar documentos XML
Administrador Actores
Resumen El caso de uso se inicia cuando el Administrador desea insertar, eliminar o modificar un documento XML. Para ello se listan los documentos registrados en la base de datos.
También se puede iniciar cuando el Administrador desea buscar documentos XML almacenados en la base de datos. La búsqueda se puede realizar por distintos criterios.
Capítulo III. Descripción de la solución propuesta
Para modificar o eliminar un documento XML, este debe existir en la base de datos.
Precondiciones
Poscondiciones Se actualiza la base de datos por la inserción, eliminación o modificación del documento XML.
Se elimina, inserta o modifica el fichero XML físicamente.
Si se realizó una búsqueda de documentos XML, se muestra la lista de los que cumplen con los parámetros especificados.
- Requisitos especiales
Prototipo
Tabla 9. Descripción del caso de uso Administrar usuarios.
Nombre del caso de uso
Administrar usuarios
Administrador Actores
Resumen El caso de uso se inicia cuando el Administrador desea insertar, eliminar o modificar un usuario. Para ello se listan los usuarios registrados.
Para modificar o eliminar un usuario, este debe existir en la base de datos.
Precondiciones
Se actualiza la base de datos por la inserción, eliminación o modificación del usuario.
Poscondiciones
- Requisitos especiales
Prototipo
Tabla 10. Descripción del caso de uso Administrar grupos.
Nombre del caso de uso
Administrar grupos
Administrador Actores
El caso de uso se inicia cuando el Administrador desea insertar, eliminar o modificar un grupo. Para ello se listan los grupos existentes.
Resumen
Precondiciones Para modificar o eliminar un grupo, este debe existir en la base de datos.
Capítulo III. Descripción de la solución propuesta
Se actualiza la base de datos por la inserción, eliminación o modificación del grupo.
Poscondiciones
- Requisitos especiales
Prototipo
Tabla 11. Descripción del caso de uso Administrar módulos.